如何在iPhone应用程序中包含字体?

时间:2009-02-19 16:19:35

标签: iphone cocoa-touch

我已经看过这篇文章:

Can I embed a custom font in an iPhone application?

这很有用,但我很乐意通过以下方式加载字体:

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];

有些人报告说这可能,但它不适合我。有人可以确认如何将自定义字体与iphone应用程序捆绑在一起吗?

另外,在上述帖子中,有一个答案说明:字体的“名称”不一定是文件名。

如何确定UIFont可识别的字体“名称”?我可能没有使用正确的名称。

2 个答案:

答案 0 :(得分:13)

您需要采取以下几个步骤:

1)确保您有权分发字体。大多数字体 - 甚至是免费字体 - 都不允许您分发它们。将它们放入你的应用程序很可能构成“分发”,并被视为非法。

2)将字体复制到应用中的Resources文件夹。确保它位于“复制文件”构建阶段。

3)在plist文件中添加“应用程序提供的字体”键,并添加字体的完整文件名(包括扩展名)

4)通过输入一行临时代码来获取字体的“名称”:

NSLog(@"%@",[UIFont familyNames]);

构建并运行应用程序。这将在控制台上打印设备上所有字体的系列名称。找到与您的字体匹配的那个。

然后,您可以在fontWithName:方法中使用该字体名称。

答案 1 :(得分:5)

要添加到8月份的答案,您需要在plist文件中添加“由应用程序提供的字体”键,并添加字体的完整文件名(包括扩展名)。然后字体将出现在族打印输出中,您可以使用该名称来设置字体。