Google App Engine上的PIL可以使用哪些系统字体?

时间:2013-03-11 18:18:02

标签: google-app-engine fonts python-imaging-library python-unicode

App Engine上的PIL可以使用哪些字体?

我知道我可以上传一个字体作为应用程序的一部分,但我基本上想要的是一个系统提供的sans-serif,可以使用unicode字符,这是一个很好看的Helvetica(或替代)。谷歌服务器可能已经安装了一些字体,这是我想要深入了解的内容。

我想找到一个可以使用unicode的字体,这样日语和其他字符就可以使用PIL正确呈现。

我有一个网页,可以使用font-family正确呈现unicode字符:'Helvetica Neue',Helvetica,Arial,sans-serif;

当我使用PIL渲染相同的unicode字符时,它们无法正确呈现。我作为应用程序的一部分上传的字体没有字体中必需的unicode字符。

以下是我现在使用的相关python代码行。

import Image, ImageDraw, ImageFont  

draw = ImageDraw.Draw(my_output)  
font = ImageFont.truetype("FontIAmUsing.otf", font_size, encoding="utf-8")  
draw.text((5, 51), 'abc', fill='#2A2A2A', font=font)

1 个答案:

答案 0 :(得分:4)

考虑到PIL只附带一个默认的位图字体(丑陋且可能不包含非常广泛的unicode字符),并且因为你必须提供字体文件的完整路径而且你无法进入沙盒环境之外GAE,您最好只需将字体与应用程序一起上传即可。如果您没有指定路径,它将查看您的Web应用程序的根目录。我正在使用GoogleAppEngineLauncher for OSX,在部署时上传所有找到的文件(包括我在ImageDraw中使用的.ttf)。

http://effbot.org/imagingbook/imagefont.htm州的文件:( 1.1.4中的新内容)加载"总比没有好"默认字体。我刚刚确认GAE上有默认字体。