我正在做一些字体工作,目前使用 TTF(True Type Font)文件格式。我知道该字形有一个笔尖位置和一个advance width
参数指定在绘制下一个字形之前我们应该向右移动的距离(假设这里的字体是从左到右并且是水平的)。我的问题:
EDIT
我找到了我的问题的部分答案:
-
hhea
包含整个字体的信息
- 尽管此信息并不真正适用。您需要从以下位置读取数据
htmx
表包含字体中每个字形的数据(左侧轴承和前进宽度)。
我仍然对笔的位置以及如何正确使用字距调整数据感兴趣。
希望这可以帮助将来的人们。我发现了什么:
-
hhea
包含整个字体的信息
- 尽管此信息并不真正适用。您需要从以下位置读取数据
html
表包含字体中每个字形的数据(左侧轴承和前进宽度)。通常,该表包含与字体包含字形一样多的条目。每个条目指定字形左侧轴承和前进宽度。
我没有找到有关笔位置的任何信息,但我假设字形的 xmin 值是相对于 EM 方块的原点而言的。因此,要找到笔的位置(在 x 中),您需要执行以下操作:
pos_pos_x = glyph->leftSideBearing - glyph->min.x
绘制字形后,您需要移动glyph->advanceWidth
并对绘制的字形重复该过程。我不知道这是否100%准确,但至少这是我到目前为止所进行的逆向工程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)