我正在研究Javascript中的TrueType字体解析/呈现引擎。源可以找到这里。
我的问题是,space字形几乎总是以零宽度的形式在loca表中索引,这意味着当我在loca偏移量中查找字形时,会得到exclam字形的偏移量。loca表的规范说:
space
loca
exclam
如果字体不包含缺失字符的大纲,则第一和第二偏移量应该具有相同的值。这也适用于没有大纲的任何其他字符,例如空格字符。如果一个字形没有轮廓,它的长度应该是零。
因此,看起来这个空格字符没有轮廓,但我不想画.notdef字形。如果没有字形轮廓集,我如何决定画什么(或者至少水平偏移)?
.notdef
发布于 2012-09-25 22:35:05
字符的这个宽度是在hmtx表中设置的,无论是否为其定义了大纲,字形必须在该宽度中呈现。
hmtx
发布于 2013-07-07 19:07:31
字形不是零宽度,它是由零字节定义的.你什么都没画。高级宽度在其他表中定义,通常是hmtx。高级排版控件可以修改此预置宽度,就像其他图形一样。
https://stackoverflow.com/questions/12591439
相似问题