GlyphJustificationInfo class represents information
about the justification properties of a glyph. A glyph is the visual
representation of one or more characters. Many different glyphs can
be used to represent a single character or combination of characters.
The four justification properties represented by
GlyphJustificationInfo are weight, priority, absorb and
limit.
Weight is the overall 'weight' of the glyph in the line. Generally it is proportional to the size of the font. Glyphs with larger weight are allocated a correspondingly larger amount of the change in space.
Priority determines the justification phase in which this glyph is used. All glyphs of the same priority are examined before glyphs of the next priority. If all the change in space can be allocated to these glyphs without exceeding their limits, then glyphs of the next priority are not examined. There are four priorities, kashida, whitespace, interchar, and none. KASHIDA is the first priority examined. 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.
| Modifier and Type | Field and Description |
|---|---|
| public final boolean | growAbsorb
If |
| public final float | growLeftLimit
The maximum amount by which the left side of this glyph can grow. |
| public final int | growPriority
The priority level of this glyph as it is growing. |
| public final float | growRightLimit
The maximum amount by which the right side of this glyph can grow. |
| public static final int | PRIORITY_INTERCHAR
The second lowest justification priority. |
| public static final int | PRIORITY_KASHIDA
The highest justification priority. |
| public static final int | PRIORITY_NONE
The lowest justification priority. |
| public static final int | PRIORITY_WHITESPACE
The second highest justification priority. |
| public final boolean | shrinkAbsorb
If |
| public final float | shrinkLeftLimit
The maximum amount by which the left side of this glyph can shrink (a positive number). |
| public final int | shrinkPriority
The priority level of this glyph as it is shrinking. |
| public final float | shrinkRightLimit
The maximum amount by which the right side of this glyph can shrink (a positive number). |
| public final float | weight
The weight of this glyph. |
| Access | Constructor and Description |
|---|---|
| public | GlyphJustificationInfo(float
the weight of this glyph when allocating space. Must be non-negative. weight, boolean if growAbsorb, int true this glyph absorbs
all extra space at this priority and lower priority levels when it
growsthe priority level of this glyph when it
grows growPriority, float the maximum amount by which the left side of this
glyph can grow. Must be non-negative. growLeftLimit, float the maximum amount by which the right side of this
glyph can grow. Must be non-negative. growRightLimit, boolean if shrinkAbsorb, int true, this glyph absorbs all
remaining shrinkage at this and lower priority levels when it
shrinksthe priority level of this glyph when
it shrinks shrinkPriority, float the maximum amount by which the left side of this
glyph can shrink. Must be non-negative. shrinkLeftLimit, float the maximum amount by which the right side
of this glyph can shrink. Must be non-negative. shrinkRightLimit)Constructs information about the justification properties of a glyph. |
| Modifier and Type | Method and Description |
|---|---|
| private static boolean |
| growAbsorb | back to summary |
|---|---|
| public final boolean growAbsorb If | |
| growLeftLimit | back to summary |
|---|---|
| public final float growLeftLimit The maximum amount by which the left side of this glyph can grow. | |
| growPriority | back to summary |
|---|---|
| public final int growPriority The priority level of this glyph as it is growing. | |
| growRightLimit | back to summary |
|---|---|
| public final float growRightLimit The maximum amount by which the right side of this glyph can grow. | |
| PRIORITY_INTERCHAR | back to summary |
|---|---|
| public static final int PRIORITY_INTERCHAR The second lowest justification priority. | |
| PRIORITY_KASHIDA | back to summary |
|---|---|
| public static final int PRIORITY_KASHIDA The highest justification priority. | |
| PRIORITY_NONE | back to summary |
|---|---|
| public static final int PRIORITY_NONE The lowest justification priority. | |
| PRIORITY_WHITESPACE | back to summary |
|---|---|
| public static final int PRIORITY_WHITESPACE The second highest justification priority. | |
| shrinkAbsorb | back to summary |
|---|---|
| public final boolean shrinkAbsorb If | |
| shrinkLeftLimit | back to summary |
|---|---|
| public final float shrinkLeftLimit The maximum amount by which the left side of this glyph can shrink (a positive number). | |
| shrinkPriority | back to summary |
|---|---|
| public final int shrinkPriority The priority level of this glyph as it is shrinking. | |
| shrinkRightLimit | back to summary |
|---|---|
| public final float shrinkRightLimit The maximum amount by which the right side of this glyph can shrink (a positive number). | |
| weight | back to summary |
|---|---|
| public final float weight The weight of this glyph. | |
| GlyphJustificationInfo | back to summary |
|---|---|
| public GlyphJustificationInfo(float weight, boolean growAbsorb, int growPriority, float growLeftLimit, float growRightLimit, boolean shrinkAbsorb, int shrinkPriority, float shrinkLeftLimit, float shrinkRightLimit) Constructs information about the justification properties of a glyph.
| |
| priorityIsValid | back to summary |
|---|---|
| private static boolean priorityIsValid(int priority) | |