在询问我之前的问题about Uniscribe glyph kerning,但尚未收到答案,再加上谷歌等的进一步阅读后,似乎Uniscribe可能不支持从字体中提取字形字距调整信息。
因此我有一个简单的后续问题 - 是否有任何好的例子(最好有一些C ++代码)从字体中提取指定字符串的字形字距调整信息?
Pango,QT或ICU都可以在各个地方提到这一点,但文档在实际上有点薄,我很难知道从哪里开始。
任何帮助我指向正确方向的感激之情。我已经有了代码来以所需的方式呈现字形,我只是在扩展的字距调整信息之后,所以我可以更好地定位字形。
谢谢,
答案 0 :(得分:2)
OpenType字体有两种不同的方式来指定字距调整信息,两者都是可选的:
kern表,继承自TrueType。此表提供字距调整对信息(即,您应该在多大程度上水平偏移特定字符对)。 Microsoft提供specs for this table并提供一些Windows API函数,例如GetKerningPair()
和GetFontData()
,可以帮助您提取值。
GPOS表,一个OpenType表,显然处理每个可想到的字形定位形式。微软也有一些specs用于此表,但说实话,我甚至不知道你从哪里开始......你可能想看看ICU如何处理这类东西。
< / LI> 醇>我没有找到任何代码样本的方式,但我想从kern表中获取字距值远比GPOS表简单。