【问题标题】:How (or if) to use the Skia (or any unknown) font in an iOS app如何(或是否)在 iOS 应用程序中使用 Skia(或任何未知)字体
【发布时间】:2015-04-26 13:14:20
【问题描述】:

我正在设计一个 iOS (SpriteKit) 应用程序,如果我在场景中添加 SKLabelNode,我在字体选择器的可用字体列表中找到了 Skia(用它替换任何未知字体)字体。但是,当我在模拟器中运行应用程序时,会出现替代字体。

据我所知,这种字体是 Xcode 自带的。我当然没有买它,尽管它可能是作为另一个应用程序的一部分。

使用像 Chalkduster 这样的字体似乎可以正常工作,并且不需要额外的工作。

所以我想知道这种字体是否需要任何特殊操作才能使其被识别(例如,它是否像自定义字体)或者是否存在其他问题。

此外,如果这不是标准的 Xcode 字体,我会因为在商业应用程序中使用而遇到麻烦吗?

编辑:如果答案能说明(a)这种字体在他们的 Xcode 版本中是否可见以及(b)它是否有效,将不胜感激。

EDIT2:好的,所以再做一点研究。我下载并安装了一个真正的(免费)自定义字体,现在它出现在字体选择器中,但它实际上并没有由我的应用程序呈现。

因此,Xcode 似乎显示了系统上安装的所有字体,无论您的应用程序/目标设备是否可以访问它们。但是,您只能按照以下答案中描述的程序来使用它。这可能是一件好事,因为它会阻止您意外使用您已获得且您可能没有许可证的字体。但是字体选择器中提供了您无法使用的字体,这有点烦人。

【问题讨论】:

  • Skia 字体似乎没有在iosfonts.com 上列出,因此我不认为它与 iOS 捆绑在一起。可能是 Xcode 中的错误。

标签: ios xcode fonts sprite-kit


【解决方案1】:

Skia 不属于 iOS 所包含的字体。您可以从iosfonts.comwptechonlogy.com 获取所有预装iOS 字体的列表

您可以通过以下方式列出设备上所有已安装的字体:

NSArray *fontFamilies = [UIFont familyNames];

for (int i = 0; i < [fontFamilies count]; i++) {
    NSString *fontFamily = [fontFamilies objectAtIndex:i];
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
    NSLog (@"%@: %@", fontFamily, fontNames);
}

(source for above code)

要安装字体,您可以使用iOS Font Maker 之类的应用程序,也可以使用代码自行安装。涉及的步骤是:

  1. 在您的 Xcode 项目中包含您的字体。
  2. 确保它们包含在目标中。
  3. 检查您的字体是否作为资源包含在您的捆绑包中。
  4. 在您的应用程序列表中包含您的 iOS 自定义字体。
  5. 使用 UIFont 并指定字体名称。

Codewithchris.com 有一个关于如何添加自定义字体的分步教程。

【讨论】:

  • 所以我仍然想知道为什么我可以在 Xcode 字体选择器中看到它。 Xcode 是否显示所有 O/S 字体,无论它们是如何获取的?其他人可以在 Xcode 中看到这种字体吗?
【解决方案2】:

关于你的最后一个问题,是的。如果该字体未作为 iOS 字体的一部分提供,则您必须获得其许可证(有些是免费的,但有些不是,因此请确保安全)。

检查 this Skia 的许可页面

【讨论】:

  • 是的 - 我看到了那个页面。但这提出了这个字体是否是 Xcode 的一部分的问题,因此我可能可以安全地假设我已获得使用它的许可,或者它是否来自其他地方,在这种情况下我可能处于危险之中。
  • 最好的方法是联系 Apple 支持。该网站说许可证是“一次性付款”,因此请检查以确保。
【解决方案3】:

所以我还是想知道为什么我可以在 Xcode 字体选择器中看到它

Xcode 正在您的计算机上运行。一旦您在 Interface Builder 中选择 Custom 作为界面对象(例如 UILabel 或如您所见的 SKLabelNode)的 Font 弹出窗口选择,Family 弹出窗口将显示所有字体在您的计算机上

【讨论】:

  • 如果您不喜欢这个,请向 Apple 提交错误报告。
  • 是的 - 谢谢。我想我很困惑,因为我不记得自己安装了任何字体,而且它实际上是一种 Apple 字体。所以我想知道它是否应该可用。
猜你喜欢
  • 1970-01-01
  • 2011-12-03
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-07
相关资源
最近更新 更多