我的代码仓库中有一些字体文件用于字体 Nubian 和 Nubian-Alt。它们已获得许可并已付费,并且需要使用。但是,我无法在 iOS 中使用此字体,并且即使字体在 Finder 中预览正常并被识别为 Truetype 字体,我也无法使用 Font Book 打开字体。
我首先尝试将 Nubian-Medium 添加到 iOS 应用程序 - 使用应用程序的 Info.plist 中的键“应用程序提供的字体”。该字体未出现在使用以下命令生成的列表中:
for (NSString *familyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"%@", fontName);
}
}
我检查了目标的“复制捆绑资源”构建阶段,看到字体已添加到列表中。
我尝试添加我在另一个应用程序中使用过的另一种字体“chess-merida-unicode.ttf”,以检查我是否正确添加了字体 - 我将它复制到应用程序并将其添加到应用程序提供的字体数组中,看到它出现在“复制捆绑资源”列表中,使用上面的代码片段报告为可用。
接下来,我查看了 OS X 中的字体——双击确实打开了 Font Book,但没有打开或添加字体。当我尝试将所有 Nubian 字体作为新集合拖入 Font Book 时,它报告了所有文件的问题,特别是在字体文件中包含的表格中。
选择所有字体,然后选择继续没有做任何事情。
我下载了一个名为 Font Agent Pro 的第三方应用程序的试用版,它也无法加载这些字体。
我找到了一个名为 fonts.com 的粗略站点并下载了另一个 Nubian-Medium ("ufonts.com_nubian-medium_1_.ttf") - Xcode 能够识别该文件。
我检查了这些文件的权限,并确保它们都是 rw 的,没有变化。
此时,您会怀疑文件只是损坏或损坏,但它们正在网页上使用(这也是项目的一部分)并且工作正常。我还可以采取哪些其他步骤?我该怎么做才能将这些文件添加到 iOS 项目中?如果有某些类型的 TTF 不能在 iOS 项目中使用,我如何检查这些是否属于那种类型?