不使用自定义字体的特殊字符

时间:2012-08-28 16:48:30

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

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

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

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

和(

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

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

任何想法发生了什么?

2 个答案:

答案 0 :(得分:3)

并非所有字体集都包含所有字符。在Windows中打开字符映射加载自定义字体并查看它是否存在。可能是该字体的作者广告中将其放在错误的代码中。 See the differences in these two fonts

答案 1 :(得分:1)

尝试:

[NSString stringWithFormat:@"Ch\u00E1teau"]

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

PS:在真实程序中验证。