提取字形字符串信息C ++

时间:2009-08-10 09:33:38

标签: c++ qt fonts pango kerning

在询问我之前的问题about Uniscribe glyph kerning,但尚未收到答案,再加上谷歌等的进一步阅读后,似乎Uniscribe可能不支持从字体中提取字形字距调整信息。

因此我有一个简单的后续问题 - 是否有任何好的例子(最好有一些C ++代码)从字体中提取指定字符串的字形字距调整信息?

Pango,QT或ICU都可以在各个地方提到这一点,但文档在实际上有点薄,我很难知道从哪里开始。

任何帮助我指向正确方向的感激之情。我已经有了代码来以所需的方式呈现字形,我只是在扩展的字距调整信息之后,所以我可以更好地定位字形。

谢谢,

1 个答案:

答案 0 :(得分:2)

OpenType字体有两种不同的方式来指定字距调整信息,两者都是可选的:

  1. kern表,继承自TrueType。此表提供字距调整对信息(即,您应该在多大程度上水平偏移特定字符对)。 Microsoft提供specs for this table并提供一些Windows API函数,例如GetKerningPair()GetFontData(),可以帮助您提取值。

  2. GPOS表,一个OpenType表,显然处理每个可想到的字形定位形式。微软也有一些specs用于此表,但说实话,我甚至不知道你从哪里开始......你可能想看看ICU如何处理这类东西。

    < / LI>

    我没有找到任何代码样本的方式,但我想从kern表中获取字距值远比GPOS表简单。