Automatic Feature Code must include vert in vrt2

My friend @monokano is absolutely correct.

The ‘vert’ GSUB feature includes everything but the substitutions for the pre-rotated glyphs, which is effectively everything that is not full-width. The ‘vrt2’ GSUB feature should inherit all ‘vert’ substitutions, then specifies additional substitutions for the pre-rotated glyphs.

An app or layout engine must choose between ‘vert’ and ‘vrt2’. Both cannot be enabled.

At this point, due to UAX #50, Unicode Vertical Text Layout, the ‘vrt2’ GSUB feature is effectively deprecated. Fonts that do not include pre-rotated glyphs, such as the Source Han, Noto CJK, and Ten Mincho families, still include the ‘vrt2’ GSUB feature, because Microsoft apps depend on its mere presence for vertical layout to work correctly. For such fonts, the ‘vrt2’ GSUB feature is either a clone of the ‘vert’ feature, or a subset. The reason why it would be a subset is that the ‘vrt2’ feature is constrained to include only one lookup, whereas the ‘vert’ feature has no such constraint.

3 Likes