防止TrueType字体的抗锯齿(或子像素渲染)

Now*_*ayz 11 truetype cleartype fontforge

这是.ttf字体的呈现方式:

如何呈现字体

我使用FontForge创建了这个仅向量的TrueType字体.我想在需要基于矢量的字形的应用程序上使用此字体,并且不支持加载.ttf嵌入式位图(似乎没有此问题).

在某些颜色方案中,Windows执行此子像素渲染会使字体完全无法读取.大多数ttf字体都会出现这种效果,但对于像我这样的像素完美边缘的字体来说效果要强得多.

有没有人知道任何可编程的提示技巧或字体设置,允许字体呈现像素完美而不是这个红色/蓝色光环?我希望字体在没有操作系统修改的情况下正常工作以禁用ClearType或类似功能.

为了澄清,这是一个关于利用TrueType指令集,或者更改我可能忽略设置的TrueType字体设置(不是系统/应用程序设置)的问题,以使字体呈现清晰(如果可能).

Now*_*ayz 6

工作方案

幸得布赖恩·尼克松张贴的解决方案URL,以及埃里克Olofsson的用于研究和发布在自己的博客解决方案.

Erik Olofsson提供了一种解决方案,可强制Windows字体API优先使用.ttf嵌入式位图,以便在渲染时优先使用字形.

该解决方案可在http://www.electronicdissonance.com/2010/01/raster-fonts-in-visual-studio-2010.html上找到.


解决方案摘要

  1. 将"繁体中文"代码页添加到OS/2 Panpose表中.
  2. 使用"ISO 106046-1"(Unicode,UCS-2)编码.
  3. 包括以下看似随机的平假名字符的字形:
    • い - U + 3044
    • う - U + 3046
    • か - U + 304B
    • ひ - U + 3057
    • の - U + 306E
    • ん - U + 3093

这个清单不是开玩笑