gpt4 book ai didi

macos - 核心文本 : Get ligature glyph

转载 作者:行者123 更新时间:2023-12-02 08:31:00 26 4
gpt4 key购买 nike

我正在使用 CoreText CTFontGetGlyphsForCharacters 来获取对应于 unicode 字符的字形,即 UniChar。现在,我想检索连字字符,例如 fi。有什么方法可以从 CoreText 中检索连字字形(例如,通过一系列应该组合的 unichars)?

谢谢,摩卡

最佳答案

根据 Core Text 邮件列表的一些有用建议,这里是解决方案:

您不能直接从 CTFont 获取连字,因为不存在执行此操作的 API。

您要做的是:

  1. 使用 CTLineCreateWithAttributedString() 从要获取其连字的字符序列创建文本行。
  2. 确保在属性字符串上将 kCTLigatureAttributeName 设置为 1 或 2 以获得连字。
  3. 如果操作正确,使用字体中存在的连字,您应该得到一个 CTLine,其中包含一个 CTRun,其中包含一个 CGGlyph,它将成为您正在寻找的连字形!

如果您不想走这条路,唯一的其他方法似乎是自己解析 Open -/True Type 字体表,我不推荐这种方法。

希望对您有所帮助!

关于macos - 核心文本 : Get ligature glyph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com