如何在ttf中渲染零宽字形?

时间:2012-09-25 21:38:44

标签: true-type-fonts typography

我正在使用Javascript中的TrueType字体解析/渲染引擎。可以找到来源here

我的问题是space字形几乎总是在loca表中被索引为零宽度,这意味着当我查找loca偏移中的字形时,我获取exclam字形的偏移量。 spec for the loca table说:

  

如果字体不包含缺失字符的轮廓,则第一个和第二个偏移应具有相同的值。这也适用于没有轮廓的任何其他角色,例如空格字符。如果字形没有轮廓,则其长度应为零。

所以,看起来空格字符没有轮廓,但我不想绘制.notdef字形。如果没有设置字形轮廓,我该如何决定绘制(或至少水平偏移)?

2 个答案:

答案 0 :(得分:1)

字符的宽度在hmtx表中设置,并且必须以该宽度呈现字形,无论是否为其定义了轮廓。

答案 1 :(得分:1)

字形不是零宽度 - 它由零字节定义。你没有为它画任何东西。提前宽度在其他表中定义,通常为hmtx。与其他字形一样,高级排版控件可以修改此前进宽度。