AJ1 GSUB files does not match AJ1 CMap

AJ1 CMap is provided separately for JIS90 and JIS04. The AJ1 GSUB released by Adobe is also provided separately for JIS90 and JIS04. If CMap is for JIS04, GSUB must also be for JIS04.

What is the current state of Glyphs? Glyphs uses only one CMap file for AJ1 and can be found at the following location. All CMaps for AJ1 fonts exported by Glyphs are generated from this file.

Glyphs.app/Contents/PlugIns/OTF.glyphsFileFormat/Contents/Resources/cmapAdobe-Japan1.txt

This CMap file is for JIS04. Therefore, GSUB must be used for JIS04. However, in Glyphs, the only GSUB file for JIS04 is “gsubAdobe-Japan1-3+.txt”. All other GSUB files are for JIS90 and these are wrong.

Glyphs has two types of AJ1-3 GSUB files for JIS90 and JIS04. This is wrong. Since CMap is for JIS04, the GSUB file only needs to be for JIS04. No need for JIS90. When setting ROS with custom parameters, the pop-up menu displays “Adobe-Japan1-3” and “Adobe-Japan1-3+”. This is wrong. We only need one.

If Glyphs will support Adobe-Japan1-7 in the future, the table below is the correct GSUB files.

Adobe GSUB files Glyphs GSUB files
aj13-gsub-reiwa-jp04+145.fea gsubAdobe-Japan1-3.txt
aj14-gsub-reiwa-jp04+83.fea gsubAdobe-Japan1-4.txt
aj15-gsub-reiwa-jp04+12.fea gsubAdobe-Japan1-5.txt
aj17-gsub-jp04.fea <- Not a mistake gsubAdobe-Japan1-6.txt
aj17-gsub-jp04.fea gsubAdobe-Japan1-7.txt

And there is another important point in AJ1-7 support.
For all AJ1-3 to AJ1-7, the ROS information in the CFF table must be unified to the same “Adobe, 1, 7”. This is because AJ1-3 to AJ1-6 also contain the glyphs added in Supplement 7.

1 Like

v2.6.6 (1348)
AJ1-7 has been added. The GSUB file for 1-7 is incorrect.

The GSUB file must match the CMap. There are two types of AJ1 CMap, JIS04 and JIS90.

There is no JIS04 feature in GSUB for JIS04. This is because the default is JIS04. You misunderstand this point. You misunderstand that a GSUB file with JIS04 features is for JIS04, and mistakenly include a GSUB file for JIS90.

You have to understand correctly.

1 Like