Justification Script Table

A Justification Script (JstfScript) table describes the justification information for a single script. It consists of an offset to a table that defines extender glyphs (ExtenderGlyph), an offset to a default justification table for the script (DefJstfLangSys), and a count of the language systems that define justification data (JstfLangSysCount).

If a script uses the same justification information for all language systems, the font developer defines only the DefJstfLangSys table and sets the JstfLangSysCount to zero (0). However, if any language system has unique justification suggestions, JstfLangSysCount will be a positive value, and the JstfScript table must include an array of records (JstfLangSysRecord), one for each language system. Each JstfLangSysRecord contains a language system tag (JstfLangSysTag) and an offset to a justification language system table (JstfLangSys). In the JstfLangSysRecord array, records are ordered alphabetically by JstfLangSysTag.

Note: No JstfLangSysRecord is defined for the default script data; the data is stored in the DefJstfLangSys table instead.

Example 2 at the end of the chapter shows a JstfScript table for the Arabic script and a JstfLangSysRecord for the Farsi language system.

JstfScript table

Type

Name

Description

Offset

Ž ExtenderGlyph

Offset to ExtenderGlyph table

—from beginning of JstfScript table

—may be NULL

Offset

Ž DefJstfLangSys

Offset to Default JstfLangSys table

—from beginning of JstfScript table

—may be NULL

uint16

JstfLangSysCount

Number of JstfLangSysRecords in this table

— may be zero (0)

struct

JstfLangSysRecord

Array of JstfLangSysRecords

[JstfLangSysCount]

—in alphabetical order, by JstfLangSysTag


JstfLangSysRecord

Type

Name

Description

Tag

JstfLangSysTag

4-byte JstfLangSys identifier

Offset

Ž JstfLangSys

Offset to JstfLangSys table

—from beginning of JstfScript table