最近 FreeType 2.2.1 刚刚发布,尽管由于 API 的变化 (许多内部函数被隐藏起来了),多数的 distro 并未把系统使用的 FreeType 升级到这一版本——我相信要过很长一段时间才有可能这 么做。但使用源代码编译的版本,我做了一点小小的对比分析。
因为精力有限,只对 FreeType 2.1.10 (目前绝大多数发行版正在使用的版本) 进行了比较,试图给出基于 FreeType 的程序 (如 fontconfig) 应当如何配置字体 才能获得最好的效果的一点建议。而事实上,font rasterizer (字体光栅化工具) 必须和其他的 rasterizer 比较才能看出明显的区别来,例如 ATSUI, Win32 GDI 等等。
同时,我也只对随 Windows 附的 simsun.ttc 做了测试。如果你有兴趣,欢迎分享 更多的测试结果。
测试的截图在 flickr 上。
经过比较,我们可以给出这样一些建议:
- 必须打开 anti-alias,gamma 才会起作用。
- gamma = 0.0 时启用 sRGB (次像素反锯齿) 模式,这种模式要比默认的 gamma = 1.0 显示得更清晰锐利一些。
- 绝大多数情况下,打开 hinting 能达到更好的效果。
- 小于 12px 的情况下,关闭 anti-alias,打开 hinting 能使字体勉强可读, 但仍然建议绝对不要使用这么小的字体。
- 12px 以上,即 12-16px, 18px 的汉字必须使用嵌入的 bitmap。事实上,AA + hinting 的汉字要到 28px 以上才可以称为比较可读。
29 Comments