【问题标题】:Special characters not working with custom font特殊字符不适用于自定义字体
【发布时间】:2012-08-23 05:37:42
【问题描述】:

在我的应用中使用自定义字体时,我遇到了特殊字符(如 â é ü)的问题。

出于某种原因,它用看似随机的字符替换了重音字符。我正在尝试将 UILabel 的文本设置为 Château 一词,但这两者都是:

myLabel.text = [NSString stringWithFormat:@"Château"];

和(

myLabel.text = [NSString stringWithFormat:@"Ch\u00E1teau"];

正在将标签文本设置为 Ch,teau。这仅在使用自定义字体时发生,当我在控制台中记录结果时,会显示正确的字符。我尝试设置不同的字符串编码。这些字符存在于字体中(如果我在 TextEdit、MS Word 等中键入相同的单词,它会显示得很好),我还验证并检查了 FontBook 中的字体。这是一个 .OTF 字体。

有什么想法吗?

【问题讨论】:

标签: objective-c ios unicode fonts special-characters


【解决方案1】:

并非所有字体集都包含所有字符。在 windows 中打开字符映射加载您的自定义字体并查看它是否存在。可能是字体的作者有意将其置于错误的代码中。

【讨论】:

  • 正如我在原始消息中所建议的,我已经在 FontBook(mac equiv.)中检查了这一点,并且这些字符确实存在。无论如何感谢您的帮助
  • 你的权利,对不起。我没有注意标签。不知道 Fontbook 是什么应该让我转向 Apple 的方向。我们是否应该删除答案,因为它在线程中明显是噪音?
  • 字体确实被错误地映射为某些字符。要去寻找一种替代字体...谢谢@Joe
  • 如果它在 Word 和其他程序中工作,它是如何错误映射的?你能详细说明一下吗,我在这里遇到同样的问题!
【解决方案2】:

试试:

[NSString stringWithFormat:@"Ch\u00E1teau"]

注意正斜杠已更改为反斜杠。

PS:在实际程序中验证。

【讨论】:

  • 哎呀,我在上面的消息中输入错误,但我在程序中使用了正确的斜杠。好地方
  • 将您的字体发布到人们可以查看的 Dropbox。
猜你喜欢
  • 2014-08-09
  • 2016-03-03
  • 1970-01-01
  • 2020-02-09
  • 1970-01-01
  • 2016-09-13
  • 2019-09-17
  • 1970-01-01
  • 2012-10-28
相关资源
最近更新 更多