PIL不能跨机器统一渲染字体

时间:2009-09-19 22:14:30

标签: python python-imaging-library

我写了一些吐出图像的代码。在本地计算机上运行的代码生成此图像:

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如何渲染字体的全局设置......可能导致不同结果的是什么?

1 个答案:

答案 0 :(得分:4)

猜测顶层图像是在启用了TrueType提示字节码VM的情况下渲染的,其中底部仅使用FreeType的自动提示。 (我个人更喜欢底部!)

不幸的是,software patent问题意味着暗示字节码功能在所有二进制构建中都不可用。这就是为什么它不是一个简单的运行时功能,你可以启用和禁用,但这是在编译时决定的。如果您编译自己的FreeType副本,则可以#defineconfig/ftoption.h中使用标记TT_CONFIG_OPTION_BYTECODE_INTERPRETER启用该功能 - 如果您的律师认为这是一个好主意。