In macOS 13 Ventura, the Font Book application has a new feature that it can sort fonts by different language in sidebar, such like English, Japanese, Traditional Chinese, Korean and so on. (It’s not Smart Collection / Collections which can be customized, it’s a built-in feature.)
The built-in fonts have be classified into correct language, however, the user installed font doesn’t, even it is a Japanese / Chinese font, the Font Book still classify it into English category.
I’m confuse about the mechanism. In macOS 12 Monterey, there’s a “LanguageAlphabets.plist” file in Font Book package to recognize the language of font by matching the glyphs whether the font file contains or not.
However, in macOS 13 Ventura, the Font Book application has been redesigned and i can’t find the *.plist file anymore. I think Font Book in these two version have different definition of “launguage”. Here’s my question,
Does anyone know the mechanism of language category in Ventura’s new Font Book application?
Can I set it in Glyphs metric or font info?
or I need to compile the *.ttx (XML format of depackaged *.ttf and *.otf) files?
Thank you very much.
The old .plist has been removed because FontBook now uses the CLDR and CoreText APIs to examine the cmap to identify languages supported.
This is augmented by any data found in the font’s ‘meta’ table. Metadata Table - TrueType Reference Manual - Apple Developer
If a font is designed to support a language, but has a few characters missing from the CLDR exemplar string, then add a ’slng’ tag in the meta table for each missing supported language
e.g. the CLDR exemplar string for Chinese is about 2000 characters. CLDR Survey Tool
If any of these are missing, CLDR won’t report Chinese as one of the supported languages.
Your choice is then to either add the missing characters to automatically classify as Chinese via the CLDR ‘Main Letters’ string; or to add a ‘slng’ tag to the ‘meta’ table to patch the CLDR result.
From the Apple tech spec: “… for Chinese fonts, “Hans” and “Hant” should normally be used to distinguish between Simplified and Traditional orthographies rather than the more generic declaration “Hani”. Region-specific variations such as “Hant-HK” can also be declared. In some cases, it may be appropriate to describe a font capability (but probably not design target) using the generic declaration “Hani” (Han (Hanzi, Kanji, Hanja)).”
I got some useful information via your reference.
Thank you very much!