1

我已将自定义字体图标 TTF 文件下载到设备。我还有字体图标名称及其字体代码的映射。

对于某些字体代码,显示的是问号而不是字体图标。字体代码点以十进制数字格式从服务器接收。我这样做是为了显示字体图标:

 unichar decimal = [iconMap.fontCode unsignedShortValue];//fontCode is an NSNumber
 NSString *charStr = [NSString stringWithFormat:@"%C", decimal];
 [self.button setTitle:charStr forState:UIControlStateNormal];

一切正常,我看到了字体图标,但对于某些字体代码,我看到了一个问号。

在此处输入图像描述

在我的字体图标 TTF 文件中,有 369 个图标,范围从字体代码E800E9A7

字体代码范围E800E902的字体图标显示正确

但是对于字体代码范围E903E9A7的字体图标显示为问号

编辑:将@"\uE903" 之类的直接字符串文字设置为标签也会显示一个问号。

注意:我确认所有图标(字体代码范围从E800E9A7)都存在于字体图标 TTF 文件中。

我不知道这里有什么问题?请帮忙。

4

1 回答 1

1

对不起,是我的错。

我没有注意到项目中已经添加了 TTF 文件。我从服务器下载的文件没有被创建,因为 TTF 文件的名称相同。已经添加到项目中的 TTF 文件缺少 E903 到 E9A7 范围内的图标,并且这个过时的字体图标文件正在被使用。

我正在验证我正在下载的 TTF 文件,它是最新的并且包含所有字体图标。所以我从项目中删除了旧的 TTF 文件,并确保新下载的文件正确保存到磁盘。

现在我可以正确看到图标了。

于 2016-12-25T08:01:47.963 回答