Source LOCL Test is a special-purpose 12-font OpenType/CFF Collection (OTC) that is intended to be used to test the extent to which applications and other text-handling environments support the 'locl' (Localized Forms) GSUB feature and language tagging, to include localized 'name' table and named Stylistic Set 'GSUB' feature strings, in terms of supporting common East Asian regions/languages, specifically Japanese (JP), Korean (KR), Simplified Chinese (CN), Traditional Chinese for Taiwan (TW), Traditional Chinese for Hong Kong SAR (HK), and Traditional Chinese for Macao SAR (MO).
The OpenType/CFF Collection itself, SourceLOCLTest-Regular.ttc, is available as a pre-built and easily-downloadable binary in the Latest Release of this project.
The following are the characteristics of the OpenType/CFF Collection:
-
The glyph set includes the mandatory .notdef glyph at CID+0, along space glyphs at CIDs 1 and 2, which map from U+0020/U+00A0 *(250-unit horizontal advance) and U+2003/U+3000 (1000-unit horizontal advance), respectively.
-
CIDs 3 through 65534 are digraph glyphs with 1000-unit horizontal advances that correspond to the six supported East Asian regions/languages: "JP" for Japan, "KR" for South Korean (ROK), "CN" for China (PRC), "TW" for Taiwan (ROC), "HK" for Hong Kong SAR, and "MO" for Macao SAR. CIDs 3 through 32768 are in Sans Serif style, and CIDs 32769 through 65534 are in Serif style.
-
The 'locl' GSUB feature can be used to substitute the glyphs that correspond to the default region/language of a font with the glyphs for one of the five other supported regions/languages. This requires using an app that supports language tagging at the character, paragraph, or document level.
-
The named 'ss01' ("Serif") and 'ss02' ("Sans Serif") Stylistic Set GSUB features can be used to substitute between the two typeface styles, Serif and Sans Serif, and both include localized names for the six supported regions/languages.
-
The English-language font menu names include two-letter region codes. The localized font menu names instead use the localized form of the style name that implies a language, and in some cases, a region.
-
All 1,111,998 code points that are supported by the Format 12 (UTF-32) 'cmap' subtable map to one of the 12 digraphs, depending on the default region/language and style of the font.
-
The 'vmtx' and 'VORG' tables specify overrides for CIDs 3 through 65534 so that the glyphs are centered in vertical writing mode.
-
The following 'sfnt' tables are completely shared by the 12 fonts in the OpenType/CFF Collection: 'CFF ', 'VORG', 'hhea', 'hmtx', 'maxp', 'post', 'vhea', and 'vmtx'. The following 'sfnt' tables have more than one instance (the number of instances is provided in parentheses): 'BASE' (2), 'OS/2' (4), 'GSUB' (6), 'cmap' (12), 'head' (12), and 'name' (12).
-
The 'CFF ' table includes three FDArray elements.
The table below provides additional technical details about the 12 fonts:
Region/Language/Digraph | JP | KR | CN | TW | HK | MO |
---|---|---|---|---|---|---|
Sans Serif CIDs | 3–5463 | 5464–10924 | 10925–16385 | 16386–21846 | 21847–27307 | 27308–32768 |
Serif CIDs | 32769–38229 | 38230–43690 | 43691–49151 | 49152–54612 | 54613–60073 | 60074–65534 |
Windows Language ID | 0x0411 | 0x0412 | 0x0804 | 0x0404 | 0x0C04 | 0x1404 |
Language System Tag | JAN | KOR | ZHS | ZHT | ZHH | ZHTM* |
'ss01' String | 明朝 | 명조 | 宋体 | 宋體 | 宋體 香港 | 宋體 澳門 |
'ss02' String | 角ゴシック | 고딕 | 黑体 | 黑體 | 黑體 香港 | 黑體 澳門 |
* The 'ZHTM' Language System Tag is not yet registered, but is in the process of being registered.
The image below illustrates the 12 functional glyphs that are present in the font, and for which 5,461 instances are included in order to fill all 65,535 CIDs:
The glyphs that are used in this font are derived from the Regular weight of Source Han Sans and Source Han Serif.
To build the binary font file from source, you need to have installed the Adobe Font Development Kit for OpenType (AFDKO). The AFDKO tools are widely used for font development today, and are part of most font editor applications.
In this repository, all necessary files are in place for building the component OpenType/CFF fonts and the 12-font OpenType/CFF Collection, and the COMMANDS.sh script provides the command lines that are used.
For any suggestions for changes, please create a new issue for consideration.