如何获取为给定角色手动设置的字形?

R. *_*des 7 c++ unicode adobe-indesign

我可以使用" 字形"面板来使用具有手动选择的替代字形的字符.但是,如何以编程方式检索该字形ID?

选择替代字形的示例

我目前正在使用IDrawingStyle::GetSpecialGlyph,但它仅在基础角色没有Unicode表示时才有效.但是,比方说,如果我使用"字形"面板在文档中删除字符U + 0041ʟᴀᴛɪɴᴄᴀᴘɪᴛᴀʟsome的某个替代字形,则基础字符将为U + 0041,因此IDrawingStyle::GetSpecialGlyph不起作用.如何以编程方式检索该字形ID?

R. *_*des 3

您可以通过导航蜡来获得此信息。使用 迭代蜡线CallbackWaxIterator,然后,对于蜡线上的每个蜡运行凸台,获取接口IWaxGlyphs并使用PeekGlyphArrayMapCharsToGlyphs与 结合使用GetGlyphAt