如何知道OS X中字体系列支持的字体脚本?

时间:2014-07-04 12:33:04

标签: macos fonts

在Windows中,我们可以收集有关Font Family支持的脚本的信息。

即。  姓氏:AdobeArabic-Regular
剧本:西方 脚本:阿拉伯语 脚本:Mac

如何在Mac中知道同样的事情?

获取样式(粗体,粗体斜体等...)我们可以使用NSFontManager支持。

NSArray * familyFonts = [[NSFontManager sharedFontManager] availableMembersOfFontFamily:" Adob​​eArabic-Regular"];

但没有获得有关Scripts的任何信息..

任何解决方案?

2 个答案:

答案 0 :(得分:0)

我不知道这是否有帮助,因为它可能不是最简单的方法,但我希望这能让你朝着正确的方向前进:

您正在寻找的是OpenType布局标签(有时也称为“功能标签”),其中这些标签的子集也定义了支持的脚本。这些是四字符代码,如阿拉伯语脚本的“arab”(扩展列表见下文)。由于NSFontManager afaik不支持阅读这些标记,我将查看CoreText的CTFont框架,它提供了阅读字体属性的深入功能。在那里,我会看一下CTFontCopyFeaturesCTFontCopyAvailableTablesCTFontCopyAttribute。我没有测试过,但希望其中一个也能够阅读布局/功能标签。

您可以在此处找到OpenType layout tagsTrueType layout tagsCoreText Reference的列表。

答案 1 :(得分:0)

CTFontDescriptorCopyAttribute(ctFontDescriptor,kCTFontLanguageAttribute)将是最接近的一个,但遗憾的是这是关于语言而不是脚本......