我写了一些吐出图像的代码。在本地计算机上运行的代码生成此图像:
local http://img32.yfrog.com/img32/9476/local.png
在我的虚拟主机上,它看起来像这样:
host http://img32.imageshack.us/img32/858/hoste.png
正如你所看到的,它们是不同的。顶部更好。两者都使用相同的代码,相同的字体文件(VeraMoBd.ttf),相同版本的PIL(1.1.6)和相同的Python版本(2.6)。
我google了一下,似乎没有任何关于PIL如何渲染字体的全局设置......可能导致不同结果的是什么?
答案 0 :(得分:4)
我猜测顶层图像是在启用了TrueType提示字节码VM的情况下渲染的,其中底部仅使用FreeType的自动提示。 (我个人更喜欢底部!)
不幸的是,software patent问题意味着暗示字节码功能在所有二进制构建中都不可用。这就是为什么它不是一个简单的运行时功能,你可以启用和禁用,但这是在编译时决定的。如果您编译自己的FreeType副本,则可以#define
在config/ftoption.h
中使用标记TT_CONFIG_OPTION_BYTECODE_INTERPRETER启用该功能 - 如果您的律师认为这是一个好主意。