2

在问了我之前关于 Uniscribe glyph kerning的问题之后,还没有收到答案,再加上在 google 等上的进一步阅读,似乎 Uniscribe 可能不支持从字体中提取字形字距调整信息。

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

很多地方都提到过 Pango、QT 或 ICU 都能够做到这一点,但是文档有点薄,我很难知道从哪里开始。

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

谢谢,

4

1 回答 1

2

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

  1. 紧排表,继承自 TrueType。该表提供字距调整对信息(即您应该水平偏移多少特定字符)。Microsoft为该表提供了规范,还提供了一些 Windows API 函数,例如GetKerningPair()GetFontData()可以帮助您提取值。

  2. GPOS 表,一个 OpenType 表,它显然可以处理所有可能的字形定位形式。微软也有这张桌子的一些规格,但老实说,我什至不知道你会从哪里开始......你可能想看看 ICU 是如何处理这类事情的。

我没有找到太多的代码示例,尽管我想从紧缩表中获取紧缩值比 GPOS 表简单得多。

于 2009-08-14T05:28:31.323 回答