OpenType/TrueType 中复合字形的组成部分
Posted
技术标签:
【中文标题】OpenType/TrueType 中复合字形的组成部分【英文标题】:Components of Compund Glyphs in OpenType/TrueType 【发布时间】:2017-08-01 09:55:54 【问题描述】:我在OpenType/TrueType glyf 表的规范中找不到任何信息,该表说明复合字形的组件是否始终是简单字形,或者它们是否可以是复合字形他们自己(即递归复合字形)。
由于规范没有明确禁止复合字形作为组件,我认为理论上是可能的。但我的问题是:是否有任何字体实际上包含递归复合字形?是否有任何主要的字体工具支持这一点?
背景是我正在编写一个简单的字体解析器,我想知道我是否需要了解递归复合字形,因为这会使算法更加复杂。
更新:我在 maxp table 的规范中找到了一些信息。这定义了 maxComponentDepth,它是复合字形的最大递归级别。这向我表明递归复合字形是可能的。但它们真的被使用了吗?
【问题讨论】:
【参考方案1】:我发现在标准 Arial 字体中有四个复合字形,其中有另一个复合字形作为组件。一个例子是索引 471 处的字形,它用于 unicode U+01FB(拉丁小写字母 a,上面有圆环和锐音)。它由Acute glyph(简单字形)和上面带环的小拉丁字母a(复合字形)组成。
TrueType 字体 Arial 中字形 471 的组成:
所以由此得出的结论是:
-
在 TrueType/OpenType 字体中可以使用递归复合字形。
这些字形以常见字体存在。
【讨论】:
很好的研究!我自己也想知道。顺便说一句,你的解析器进展如何?以上是关于OpenType/TrueType 中复合字形的组成部分的主要内容,如果未能解决你的问题,请参考以下文章
自定义 OpenType / TrueType 字体不起作用且难以调试