代码之家  ›  专栏  ›  技术社区  ›  Keith Fitzgerald

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

  •  7
  • Keith Fitzgerald  · 技术社区  · 17 年前

    我已经看过这篇文章:

    Can I embed a custom font in an iPhone application?

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

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

    有些人说这是可能的,但对我来说不起作用。有人能确认如何将自定义字体与iPhone应用程序捆绑在一起吗?

    另外,在前面的文章中,有一个答案是:字体的“名称”不一定是文件名。

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

    2 回复  |  直到 13 年前
        1
  •  13
  •   rjmunro    13 年前

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

    1)确保您有权分发字体。大多数字体——甚至是免费字体——都不允许分发它们。把它们放在你的应用程序中很可能会被认为是“发行版”,并且被认为是非法的。

    2)将字体复制到应用程序的资源文件夹中。确保它处于复制文件构建阶段。

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

    4)输入临时代码行,获取字体的“名称”:

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

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

    然后可以在 fontWithName: 方法。

        2
  •  5
  •   Ned    15 年前

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