Justification Modification List Tables

The Justification Modification List tables (JstfGSUBModList and JstfGPOSModList) contain lists of indices into the lookup lists of either the GSUB or GPOS tables. The client can enable or disable the lookups to justify text. For example, to increase line length, the client might disable a GSUB ligature substitution.

Each JstfModList table consists of a count of Lookups (LookupCount) and an array of lookup indices (LookupIndex).

To justify a line of text, a text-processing client enables or disables the specified lookups in a JstfModList table, reassembles the lookups in the LookupList order, and applies them to each glyph in the string one after another.

Note: If any JSTF suggestion at any priority level modifies a GSUB or GPOS lookup previously applied to the glyph string, then the text-processing client must apply the JSTF suggestion to an unmodified version of the glyph string.

Example 3 at the end of this chapter shows JstfGSUBModList and JstfGPOSModList tables with data for shrinking and extending text line lengths.

JstfGSUBModList table

Type

Name

Description

uint16

LookupCount

Number of lookups for this modification

uint16

GSUBLookupIndex

Array of LookupIndex identifiers in GSUB

 

[LookupCount]

—in increasing numerical order


JstfGPOSModList table

Type

Name

Description

uint16

LookupCount

Number of lookups for this modification

uint16

GPOSLookupIndex

Array of LookupIndex identifiers in GPOS

 

[LookupCount]

—in increasing numerical order