最终能够在我的自定义字体构建中获得一些错误消息。他们是:
- kATSFontTestMessageTextKey sfnt:字体包含'sfnt'数据,但没有可识别的字形数据。
- kATSFontTestMessageTextKey hhea:上升(200)小于em(1000)的40.00
- kATSFontTestMessageTextKey hhea:下降(100)大于或等于零
- kATSFontTestMessageTextKey'name':PostScript名称(foo)具有无效的平台/脚本组合(0,4)
- kATSFontTestMessageTextKey'name':该表没有PostScript名称,平台/脚本/语言组合为1/0/0或3/1/1033,这是必需的。
- kATSFontTestMessageTextKey hmtx:字形1的宽度为90;应该为零
深思这些需要做什么。主要是name
个。 hhea
是“次要”错误,因此字体可能仍然可以正常使用。 sfnt
我不确定这是因为上的名称已损坏,还是因为我的字体只是可能没有 close 的曲线。实际上,我不认为它们是闭合的,因为我没有将其构建为我不认为的轮廓。所以想知道这是否可能是问题所在。
如果我尝试仅添加平台1(mac),脚本0,语言0的name
记录,则验证程序崩溃,因此不再使用。我不确定为什么它不接受0/4组合(0 = unicode平台)。
如果我添加3/1/1033
name
记录,则会出现此错误:
'name':名称条目1(名称类型6,平台3,脚本1033,语言1)不能转换为Unicode。
好吧,它可以与1/0/0
一起使用,但是现在出现了以下其他错误:
- “名称”:两个名称条目重叠:名称条目0(字节66-69)和名称条目1(字节66-69)
- ...一些具有不同条目号的类似条目,例如下一个:
- “名称”:两个名称条目重叠:名称条目4(字节66-72)和名称条目2(字节69-72)
看起来sfnt
表1确实是真正需要修复的唯一表,它没有很好的错误消息。
我在那里有CFF2表,所以不确定这是什么意思。