我的代码存储库中有一些字体文件,分别是Nubian和Nubian-Alt字体。它们已获得许可并已付费,需要使用。但是,我无法在iOS中使用此字体,即使字体在Finder中显示为“OK”并被标识为Truetype字体,也无法使用“字体书”打开该字体。

我首先尝试将Nubian-Medium添加到iOS应用程序-使用应用程序的Info.plist中的键“应用程序提供的字体”。字体未出现在使用以下命令生成的列表中:

 for (NSString *familyName in [UIFont familyNames]) {
   for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
     NSLog(@"%@", fontName);
   }
 }

我检查了Target的“Copy Bundle Resources”构建阶段,看到该字体已添加到列表中。

我尝试添加在另一个应用程序中使用过的另一种字体“chess-merida-unicode.ttf”,以检查是否正确添加了字体-我将其复制到应用程序中并将其添加到应用程序提供的字体数组中,它出现在“复制包资源”列表中,并使用上述代码段报告为可用。

接下来,我看一下OS X中的字体-双击确实会打开“字体簿”,但是没有打开或添加字体。当我尝试将所有Nubian字体作为新集合拖到Font Book中时,它报告了所有文件的问题,特别是字体文件中包含的表中的问题。

选择所有字体,然后选择继续执行任何操作。

我下载了名为Font Agent Pro的第三方应用程序的试用版,它也无法加载这些字体。

我发现了一个名为fonts.com的粗略网站,并下载了另一个Nubian-Medium(“ufonts.com_nubian-medium_1_.ttf”)-Xcode能够识别该文件。

我检查了这些文件的权限,并确保所有文件均为rw,没有任何更改。

在这一点上,您可能会怀疑这些文件只是损坏或损坏,但是它们正在网页上使用(也是项目的一部分),并且可以正常工作。我还能采取什么其他步骤?我该怎么做才能将这些文件添加到iOS项目中?如果某些类型的TTF无法在iOS项目中使用,我如何检查这些类型的TTF?

最佳答案

步骤1:从以下位置下载Nubian字体:http://www.fontpalace.com/font-download/Nubian-Thin/

步骤2:在项目中添加字体.ttf文件

第3步:使用应用程序注册字体,在Fonts provided by application文件中设置info.plist密钥,有关详细信息,请参见ScreenShot。

步骤4:创建一个标签并为其分配字体,如下所示

UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)];
[lbl setText:@"I am Nubian-Thin"];
[lbl setFont:[UIFont fontWithName:@"Nubian-Thin" size:26.0f]];

[self.view addSubview:lbl];

10-08 07:02
查看更多