ios - 如何(或是否)在 iOS 应用程序中使用 Skia(或任何未知)字体

标签 ios xcode fonts sprite-kit

我正在设计一个 iOS (SpriteKit) 应用程序,如果我将 SKLabelNode 添加到现场。但是,当我在模拟器中运行该应用程序时,会出现替代字体。

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

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

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

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

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

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

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

最佳答案

Skia 不是 iOS 附带的字体的一部分。您可以从 iosfonts.com 获得所有预装 iOS 字体的列表。或 wptechonlogy.com

您可以通过执行以下操作列出设备上所有已安装的字体:

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. 在您的应用程序 plist 中包含您的 iOS 自定义字体。
  5. 使用 UIFont 并指定字体的名称。

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

关于ios - 如何(或是否)在 iOS 应用程序中使用 Skia(或任何未知)字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878102/

相关文章:

css - Rails Awesome 字体

ios - NSInternalInconsistencyException tableView 行删除

ios - Swift:在子类中声明一个常量但在父类(super class)中仍然有对它的引用?

ios - 加密 NSString

xcode - UIImagePickerController 的相机覆盖 View 未正确显示?

html - 在 svg 文件中嵌入带有 @font-face 的 base 64 truetype 字体,在 IE 中不起作用

Javascript获取浏览器的默认字体大小

ios - 自动续订订阅在 iTunes Connect 中不可见

ios - 如何编辑亮度、对比度和饱和度并为已创建的保存在库中的视频添加字幕?

ios - 在 xcode 中组织代码,其中相同的代码用于多个应用程序