2

我写了一些吐出图像的代码。在我的本地机器上运行的代码产生了这个图像:

本地 http://img32.yfrog.com/img32/9476/local.png

在我的虚拟主机上,它看起来像这样:

主机 http://img32.imageshack.us/img32/858/hoste.png

如您所见,它们是不同的。顶部更漂亮。两者都使用相同的代码、相同的字体文件 (VeraMoBd.ttf)、相同版本的 PIL (1.1.6) 和相同的 Python 版本 (2.6)。

我四处搜索,似乎没有任何与 PIL 如何呈现字体相关的全局设置......什么可能导致不同的结果?

4

1 回答 1

4

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

不幸的是,存在软件专利问题,这意味着提示字节码功能并非在所有二进制版本上都可用。这就是为什么它不是一个可以启用和禁用的简单运行时功能,而是在编译时决定的原因。如果您编译自己的 FreeType 副本,您可以通过#define在 TT_CONFIG_OPTION_BYTECODE_INTERPRETER 中添加标志来启用该功能config/ftoption.h ——如果您的律师认为这是个好主意。

于 2009-09-19T23:54:51.210 回答