3

我有一个图标字体在 iOS 12 上不显示的问题(它在 iOS <= 11 上工作得很好)。关于我发现的内容以及我们如何使用字体的更多细节:

1)字体正确包含在项目中,并且在 NSlogging[UIFont familyNames][UIFont fontNamesForFamilyName:iconFontFamilyName]

2)我正在使用 \u 符号访问图标:label.text = @"\uXXXX"当字体中不存在XXXX 时,应用会显示“方块中的问号”,表示(正确)该代码不存在。但是,如果字体中确实存在代码,则应用程序将不显示任何内容 - 相应的元素显示为空白。

我们在这里缺少什么吗?

4

1 回答 1

2

总而言之,这个问题很可能与 Icomoon 的字体生成有关;特别是cmap编码子表的类型。我建议两个行动:

  1. 通过使用字体转换工具(例如https://onlinefontconverter.com)将您的ttf文件转换为otf(iOS 也支持)来测试这个假设。
  2. 如果您的字形显示,则继续使用您的新otf文件,同时直接向 IcoMoon 提出问题。

我记得在我的MinimumRubber 项目中使用设备上的字体生成时遇到了类似的问题。UILabel我发现,UITextView为了显示字形,都需要仔细选择平台标识符和特定于平台的编码标识符。Apple 对这部分代码进行了重构并不令我感到惊讶

于 2018-07-24T11:40:51.973 回答