iOS应用程序上的自定义字体 - 在模拟器中工作但不在iPad上工作

vem*_*oxy 11 fonts objective-c ipad

在这里遇到一个奇怪的问题.我正在为我的学校项目(非商业)开发游戏,我正在使用自定义字体Black Chancery(在GNU GPL下免费).我按照多个来源的说明进行操作,其中包括:

  • 将字体添加到项目(TTF).
  • 修改app-Info.plist以向其添加字体("应用程序提供的字体").
  • [UIFont fontWithName:@"BlackChancery" size:30]在需要字体时使用.

我可以在Simulator中显示字体,但是当我将其加载到iPad时,会使用默认的系统字体.我很确定字体本身没有问题,因为它在模拟器中显示,我使用FontForge打开字体而没有任何警告(从本问题开始).

任何帮助是极大的赞赏.谢谢!:)

Ano*_*mie 39

我只能猜测你没有发布plist的内容或bundle的目录列表,但很多情况下"资源在模拟器上工作但在设备上没有"是因为OS X文件系统是通常配置为不区分大小写,而设备上的文件系统区分大小写.例如,如果您的文件名为"BlackChancery.TTF"并且您的plist将其称为"BlackChancery.ttf",则它将在模拟器上找到,但不会在设备上找到.


iph*_*nic 11

我遇到了字体无法识别的问题,我通过通过" 获取信息"选项检查字体文件的信息来检查字体的正确名称来修复它.在我的情况下,文件名是xyzfont.ttf写的,但实际上它是信息中的XyzFont.TTF,我替换它并且它工作.

希望,它可以帮助某人.

另一种方法 我找到了另一种找到正确名称的方法,就是在FontBook中安装字体.

只需从Finder打开FontBook并从File-> Add Fonts中选择要立即选择要添加到应用程序中的字体,经过少量处理后,FontBook将显示使用正确名称列出的Font,在FontBook中使用名称忽略您导入的实际ttf文件名,或添加到plist ..它应该工作..