在问了我以前的问题之后 about Uniscribe glyph kerning ,但还没有收到答案,加上谷歌等的进一步阅读,似乎Uniscribe不支持从字体中提取字形紧排信息。
因此,我有一个简单的后续问题——是否有任何好的例子(最好是用C++代码)从字体中提取指定字符串的字形标记信息?
在不同的地方都有人提到,无论是Pango、Qt还是ICU都有能力做到这一点,但文档资料有点稀薄,我很难知道从哪里开始。
感谢您为我指明正确方向的任何帮助。我已经有了以所需方式呈现glyph的代码,我只是在扩展紧排信息之后,所以我可以更好地定位glyph。
谢谢,
OpenType字体有两种不同的方式来指定紧排信息,这两种方式都是可选的:
从TrueType继承的kern表。此表提供紧排对信息(即应水平偏移特定字符对的量)。微软提供 specs for this table 还提供一些Windows API函数,例如 GetKerningPair() 和 GetFontData() 这可以帮助您提取值。
GetKerningPair()
GetFontData()
gpos表,一个OpenType表,显然可以处理所有可能的字形定位形式。微软也有一些 specs 对于这张桌子,但老实说,我甚至不知道你从哪里开始…你可能想看看重症监护室是如何处理这类事情的。
虽然我认为从kern表中获取紧排值要比gpos表简单得多,但我并没有找到任何这类代码的代码示例。