APIdia Launch Partner
Top Description Fields Constructors Methods
java.awt.font

public final Class GlyphJustificationInfo

extends Object
Class Inheritance

The 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.

Field Summary

Modifier and TypeField and Description
public final boolean
growAbsorb

If true, this glyph absorbs all extra space at this and lower priority levels when it grows.

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 true, this glyph absorbs all remaining shrinkage at this and lower priority levels as it shrinks.

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.

Constructor Summary

AccessConstructor and Description
public
GlyphJustificationInfo(float
the weight of this glyph when allocating space. Must be non-negative.
weight
,
boolean
if true this glyph absorbs all extra space at this priority and lower priority levels when it grows
growAbsorb
,
int
the 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 true, this glyph absorbs all remaining shrinkage at this and lower priority levels when it shrinks
shrinkAbsorb
,
int
the 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.

Method Summary

Modifier and TypeMethod and Description
private static boolean
priorityIsValid(int priority)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

growAbsorbback to summary
public final boolean growAbsorb

If true, this glyph absorbs all extra space at this and lower priority levels when it grows.

growLeftLimitback to summary
public final float growLeftLimit

The maximum amount by which the left side of this glyph can grow.

growPriorityback to summary
public final int growPriority

The priority level of this glyph as it is growing.

growRightLimitback to summary
public final float growRightLimit

The maximum amount by which the right side of this glyph can grow.

PRIORITY_INTERCHARback to summary
public static final int PRIORITY_INTERCHAR

The second lowest justification priority.

PRIORITY_KASHIDAback to summary
public static final int PRIORITY_KASHIDA

The highest justification priority.

PRIORITY_NONEback to summary
public static final int PRIORITY_NONE

The lowest justification priority.

PRIORITY_WHITESPACEback to summary
public static final int PRIORITY_WHITESPACE

The second highest justification priority.

shrinkAbsorbback to summary
public final boolean shrinkAbsorb

If true, this glyph absorbs all remaining shrinkage at this and lower priority levels as it shrinks.

shrinkLeftLimitback to summary
public final float shrinkLeftLimit

The maximum amount by which the left side of this glyph can shrink (a positive number).

shrinkPriorityback to summary
public final int shrinkPriority

The priority level of this glyph as it is shrinking.

shrinkRightLimitback to summary
public final float shrinkRightLimit

The maximum amount by which the right side of this glyph can shrink (a positive number).

weightback to summary
public final float weight

The weight of this glyph.

Constructor Detail

GlyphJustificationInfoback 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.

Parameters
weight:float

the weight of this glyph when allocating space. Must be non-negative.

growAbsorb:boolean

if true this glyph absorbs all extra space at this priority and lower priority levels when it grows

growPriority:int

the priority level of this glyph when it grows

growLeftLimit:float

the maximum amount by which the left side of this glyph can grow. Must be non-negative.

growRightLimit:float

the maximum amount by which the right side of this glyph can grow. Must be non-negative.

shrinkAbsorb:boolean

if true, this glyph absorbs all remaining shrinkage at this and lower priority levels when it shrinks

shrinkPriority:int

the priority level of this glyph when it shrinks

shrinkLeftLimit:float

the maximum amount by which the left side of this glyph can shrink. Must be non-negative.

shrinkRightLimit:float

the maximum amount by which the right side of this glyph can shrink. Must be non-negative.

Method Detail

priorityIsValidback to summary
private static boolean priorityIsValid(int priority)