- java.lang.Object
-
- java.awt.font.GlyphJustificationInfo
-
public final class GlyphJustificationInfo extends Object
TheGlyphJustificationInfo
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 byGlyphJustificationInfo
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
Fields Modifier and Type Field and Description boolean
growAbsorb
Iftrue
, this glyph absorbs all extra space at this and lower priority levels when it grows.float
growLeftLimit
The maximum amount by which the left side of this glyph can grow.int
growPriority
The priority level of this glyph as it is growing.float
growRightLimit
The maximum amount by which the right side of this glyph can grow.static int
PRIORITY_INTERCHAR
The second lowest justification priority.static int
PRIORITY_KASHIDA
The highest justification priority.static int
PRIORITY_NONE
The lowest justification priority.static int
PRIORITY_WHITESPACE
The second highest justification priority.boolean
shrinkAbsorb
Iftrue
,this glyph absorbs all remaining shrinkage at this and lower priority levels as it shrinks.float
shrinkLeftLimit
The maximum amount by which the left side of this glyph can shrink (a positive number).int
shrinkPriority
The priority level of this glyph as it is shrinking.float
shrinkRightLimit
The maximum amount by which the right side of this glyph can shrink (a positive number).float
weight
The weight of this glyph.
-
Constructor Summary
Constructors Constructor and Description 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.
-
-
-
Field Detail
-
PRIORITY_KASHIDA
public static final int PRIORITY_KASHIDA
The highest justification priority.- See Also:
- Constant Field Values
-
PRIORITY_WHITESPACE
public static final int PRIORITY_WHITESPACE
The second highest justification priority.- See Also:
- Constant Field Values
-
PRIORITY_INTERCHAR
public static final int PRIORITY_INTERCHAR
The second lowest justification priority.- See Also:
- Constant Field Values
-
PRIORITY_NONE
public static final int PRIORITY_NONE
The lowest justification priority.- See Also:
- Constant Field Values
-
weight
public final float weight
The weight of this glyph.
-
growPriority
public final int growPriority
The priority level of this glyph as it is growing.
-
growAbsorb
public final boolean growAbsorb
Iftrue
, this glyph absorbs all extra space at this and lower priority levels when it grows.
-
growLeftLimit
public final float growLeftLimit
The maximum amount by which the left side of this glyph can grow.
-
growRightLimit
public final float growRightLimit
The maximum amount by which the right side of this glyph can grow.
-
shrinkPriority
public final int shrinkPriority
The priority level of this glyph as it is shrinking.
-
shrinkAbsorb
public final boolean shrinkAbsorb
Iftrue
,this glyph absorbs all remaining shrinkage at this and lower priority levels as it shrinks.
-
shrinkLeftLimit
public final float shrinkLeftLimit
The maximum amount by which the left side of this glyph can shrink (a positive number).
-
shrinkRightLimit
public final float shrinkRightLimit
The maximum amount by which the right side of this glyph can shrink (a positive number).
-
-
Constructor Detail
-
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
- iftrue
this 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.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/awt/font/GlyphJustificationInfo.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.