2014-07-04 24 views
1

在Windows中,我們可以收集有關Font Family支持的腳本的信息。如何知道OS X系列字體支持的字體腳本?

即 姓:AdobeArabic正規
腳本:西方 腳本:阿拉伯語 腳本:蘋果

如何知道的Mac同樣的事情?

要獲得樣式(粗體,粗斜體等...)我們可以使用NSFontManager支持。

NSArray * familyFonts = [[NSFontManager sharedFontManager] availableMembersOfFontFamily:「AdobeArabic-Regular」];

,但沒有得到有關腳本任何信息..

任何解決方案?

回答

0

我不知道如果這能幫助,因爲它可能不是最簡單的方法,但我希望這可以讓你在正確的方向:

你正在尋找的東西是/是OpenType佈局標籤(有時也稱爲「功能標籤」),其中這些標籤的子集還定義了受支持的腳本。這些是四字符代碼,如阿拉伯文腳本的「阿拉伯」(擴展列表見下文)。作爲NSFontManager afaik不支持閱讀這些標籤,我會看看CoreText的CTFont框架,它提供了深入閱讀字體屬性的能力。在那裏我會看看CTFontCopyFeatures或者CTFontCopyAvailableTablesCTFontCopyAttribute。我沒有測試過,但希望其中的一個也能讀取佈局/特徵標籤。

在這裏您可以找到OpenType layout tagsTrueType layout tagsCoreText Reference的列表。

0

CTFontDescriptorCopyAttribute(ctFontDescriptor,kCTFontLanguageAttribute)將是最接近的一個,但可悲的是,這是關於語言,但不是腳本...