There are four priorities, kashida, whitespace, interchar, and none. NONE is the last priority examined. Absorb determines whether a glyph absorbs all change in space. Within a given priority, some glyphs may absorb all the change in space. If any of these glyphs are present, no glyphs of later priority are examined.
Limit determines the maximum or minimum amount by which the glyph can change.
Left and right sides of the glyph can have different limits. Each GlyphJustificationInfo represents two sets of metrics, which are growing and shrinking . Growing metrics are used when the glyphs on a line are to be spread apart to fit a larger width. Shrinking metrics are used when the glyphs are to be moved together to fit a smaller width. If true , this glyph absorbs all extra space at this and lower priority levels when it grows.