我正在使用CoreText CTFontGetGlyphsForCharacters
获取与Unicode字符对应的字形,即UniChar
。现在,我想检索连字,例如fi。有什么方法可以从CoreText中检索连字字形(例如,通过应合并的一系列单字符)?
谢谢,
Mocha
最佳答案
在从Core Text邮件列表中获得了一些有用的建议之后,以下是解决方案:
您无法直接从CTFont获取连字,因为没有API可以这样做。
相反,您将执行以下操作:
CTLineCreateWithAttributedString()
从您要获取其连字的字符序列创建文本行。 kCTLigatureAttributeName
设置为1或2以获得连字。 CTLine
的CTRun
,其中一个CGGlyph
将包含您要查找的连字形! 如果您不想沿这条路线走,唯一的另一种方法似乎是自己解析Open-/ True Type字体表,我不建议这样做。
希望有帮助!
关于macos - CoreText:获取连字标志符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26770894/