gpt4 book ai didi

c - 操作系统 : CGGlyph to UniChar

转载 作者:太空狗 更新时间:2023-10-29 16:12:58 29 4
gpt4 key购买 nike

我目前正在使用 CoreGraphics 和 CoreText 编写一个简单的位图字体生成器。我正在检索字体的字距调整表:

CFDataRef kernTable = CTFontCopyTable(m_ctFontRef, kCTFontTableKern, kCTFontTableOptionNoOptions);

然后解析它,效果很好。字距调整对为我提供了字距调整对的字形索引(即 CGGlyph),我需要将它们转换为 unicode(即 UniChar),不幸的是,这似乎并不容易。我得到的最接近的是使用:

CGFontCopyGlyphNameForGlyph

检索 CGGlyph 的字形名称,但我不知道如何将名称转换为 unicode,因为它们实际上只是字符串,例如 quoteleft。我想做的另一件事是自己解析 kCTFontTableCmap 以手动完成从字形到 unicode id 的映射,但这似乎是这项任务的大量额外工作。有什么简单的方法可以做到这一点吗?

谢谢!

最佳答案

我不知道获取给定字形的 Unicode 的直接方法,但你可以按照以下方式构建映射:

  • 使用CTFontCopyCharacterSet()获取字体的所有字符。
  • 使用 CTFontGetGlyphsForCharacters() 将所有这些 Unicode 字符映射到它们的字形。
  • 对于每个 Unicode 字符及其字形,存储映射 glyph -> Unicode在字典里。

关于c - 操作系统 : CGGlyph to UniChar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238804/

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