在Windows中,我们可以收集有关Font Family支持的脚本的信息。
即。
姓氏:AdobeArabic-Regular
剧本:西方
脚本:阿拉伯语
脚本:Mac
如何在Mac中知道同样的事情?
获取样式(粗体,粗体斜体等...)我们可以使用NSFontManager支持。
NSArray * familyFonts = [[NSFontManager sharedFontManager] availableMembersOfFontFamily:" AdobeArabic-Regular"];
但没有获得有关Scripts的任何信息..
任何解决方案?
答案 0 :(得分:0)
我不知道这是否有帮助,因为它可能不是最简单的方法,但我希望这能让你朝着正确的方向前进:
您正在寻找的是OpenType布局标签(有时也称为“功能标签”),其中这些标签的子集也定义了支持的脚本。这些是四字符代码,如阿拉伯语脚本的“arab”(扩展列表见下文)。由于NSFontManager
afaik不支持阅读这些标记,我将查看CoreText的CTFont
框架,它提供了阅读字体属性的深入功能。在那里,我会看一下CTFontCopyFeatures
或CTFontCopyAvailableTables
和CTFontCopyAttribute
。我没有测试过,但希望其中一个也能够阅读布局/功能标签。
您可以在此处找到OpenType layout tags,TrueType layout tags和CoreText Reference的列表。
答案 1 :(得分:0)
CTFontDescriptorCopyAttribute(ctFontDescriptor,kCTFontLanguageAttribute)将是最接近的一个,但遗憾的是这是关于语言而不是脚本......