Class GlyphJustificationInfo
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
FieldsModifier and TypeFieldDescriptionfinal booleanIftrue, this glyph absorbs all extra space at this and lower priority levels when it grows.final floatThe maximum amount by which the left side of this glyph can grow.final intThe priority level of this glyph as it is growing.final floatThe maximum amount by which the right side of this glyph can grow.static final intThe second lowest justification priority.static final intThe highest justification priority.static final intThe lowest justification priority.static final intThe second highest justification priority.final booleanIftrue, this glyph absorbs all remaining shrinkage at this and lower priority levels as it shrinks.final floatThe maximum amount by which the left side of this glyph can shrink (a positive number).final intThe priority level of this glyph as it is shrinking.final floatThe maximum amount by which the right side of this glyph can shrink (a positive number).final floatThe weight of this glyph. -
Constructor Summary
ConstructorsConstructorDescriptionGlyphJustificationInfo(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. -
Method Summary
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Field Details
-
PRIORITY_KASHIDA
public static final int PRIORITY_KASHIDAThe highest justification priority.- See Also:
-
PRIORITY_WHITESPACE
public static final int PRIORITY_WHITESPACEThe second highest justification priority.- See Also:
-
PRIORITY_INTERCHAR
public static final int PRIORITY_INTERCHARThe second lowest justification priority.- See Also:
-
PRIORITY_NONE
public static final int PRIORITY_NONEThe lowest justification priority.- See Also:
-
weight
public final float weightThe weight of this glyph. -
growPriority
public final int growPriorityThe priority level of this glyph as it is growing. -
growAbsorb
public final boolean growAbsorbIftrue, this glyph absorbs all extra space at this and lower priority levels when it grows. -
growLeftLimit
public final float growLeftLimitThe maximum amount by which the left side of this glyph can grow. -
growRightLimit
public final float growRightLimitThe maximum amount by which the right side of this glyph can grow. -
shrinkPriority
public final int shrinkPriorityThe priority level of this glyph as it is shrinking. -
shrinkAbsorb
public final boolean shrinkAbsorbIftrue, this glyph absorbs all remaining shrinkage at this and lower priority levels as it shrinks. -
shrinkLeftLimit
public final float shrinkLeftLimitThe maximum amount by which the left side of this glyph can shrink (a positive number). -
shrinkRightLimit
public final float shrinkRightLimitThe maximum amount by which the right side of this glyph can shrink (a positive number).
-
-
Constructor Details
-
GlyphJustificationInfo
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- the weight of this glyph when allocating space. Must be non-negative.growAbsorb- iftruethis glyph absorbs all extra space at this priority and lower priority levels when it growsgrowPriority- the priority level of this glyph when it growsgrowLeftLimit- the maximum amount by which the left side of this glyph can grow. Must be non-negative.growRightLimit- the maximum amount by which the right side of this glyph can grow. Must be non-negative.shrinkAbsorb- iftrue, this glyph absorbs all remaining shrinkage at this and lower priority levels when it shrinksshrinkPriority- the priority level of this glyph when it shrinksshrinkLeftLimit- the maximum amount by which the left side of this glyph can shrink. Must be non-negative.shrinkRightLimit- the maximum amount by which the right side of this glyph can shrink. Must be non-negative.
-