org.apache.batik.gvt.text
public class GlyphLayout extends Object implements TextSpanLayout
Field Summary | |
---|---|
static double | eps |
static Attribute | FLOW_EMPTY_PARAGRAPH |
static Attribute | FLOW_LINE_BREAK |
static Attribute | FLOW_PARAGRAPH |
static Attribute | GVT_FONT |
static Attribute | HORIZONTAL_ORIENTATION_ANGLE |
static Attribute | LINE_HEIGHT |
protected static Set | runAtts |
protected static Set | szAtts |
static Attribute | VERTICAL_ORIENTATION |
static Attribute | VERTICAL_ORIENTATION_ANGLE |
Constructor Summary | |
---|---|
GlyphLayout(AttributedCharacterIterator aci, int[] charMap, Point2D offset, FontRenderContext frc)
Creates the specified text layout using the
specified AttributedCharacterIterator and rendering context.
|
Method Summary | |
---|---|
static void | addPtsToPath(GeneralPath shape, Float[] topPts, Float[] botPts, int numPts) |
protected void | adjustTextSpacing()
Does any spacing adjustments that may have been specified. |
protected void | applyStretchTransform(boolean stretchGlyphs)
Stretches the text so that it becomes the specified length.
|
protected void | doExplicitGlyphLayout()
Explicitly lays out each of the glyphs in the glyph
vector. |
protected void | doPathLayout()
If this layout is on a text path, positions the characters
along the path. |
protected Point2D | doSpacing(Float kern, Float letterSpacing, Float wordSpacing)
Performs any spacing adjustments required and returns the new advance
value.
|
void | draw(Graphics2D g2d)
Paints the text layout using the
specified Graphics2D and rendering context. |
static boolean | epsEQ(double a, double b) |
Point2D | getAdvance2D()
Returns the current text position at the completion
of glyph layout. |
Rectangle2D | getBounds2D()
Returns the rectangular bounds of the completed glyph layout. |
int | getCharacterCount(int startGlyphIndex, int endGlyphIndex)
Returns the number of chars represented by the glyphs within the
specified range.
|
double | getComputedOrientationAngle(int index)
Return the angle value according to the orientation
of the character. |
Shape | getDecorationOutline(int decorationType)
Returns the outline of the specified decorations on the glyphs, |
protected GVTFont | getFont()
Returns the GVTFont to use when rendering the specified
character iterator. |
Rectangle2D | getGeometricBounds()
Returns the rectangular bounds of the completed glyph layout,
inclusive of "decoration" (underline, overline, etc.) |
float[] | getGlyphAdvances() |
int | getGlyphCount()
Returns the number of glyphs in this layout. |
int | getGlyphIndex(int charIndex)
Returns the index of the first glyph that has the specified char index.
|
GVTGlyphMetrics | getGlyphMetrics(int glyphIndex) |
protected int | getGlyphOrientationAngle()
Returns the value of the vertical glyph orientation angle. |
GVTGlyphVector | getGlyphVector() |
Shape | getHighlightShape(int beginCharIndex, int endCharIndex)
Returns a Shape which encloses the currently selected glyphs
as specified by the character indices.
|
int | getLastGlyphIndex(int charIndex)
Returns the index of the last glyph that has the specified char index.
|
GVTLineMetrics | getLineMetrics() |
Point2D | getOffset()
Returns the current text position at the beginning
of glyph layout, before the application of explicit
glyph positioning attributes. |
Shape | getOutline()
Returns the outline of the completed glyph layout. |
protected Shape | getOverlineShape()
Returns a shape describing the overline decoration for a given ACI. |
protected Shape | getStrikethroughShape()
Returns a shape describing the strikethrough line for a given ACI. |
Point2D | getTextPathAdvance()
Returns the position to used when drawing a text run after this one.
|
protected Shape | getUnderlineShape()
Returns a shape describing the undeline decoration for a given ACI. |
boolean | hasCharacterIndex(int index)
Return true is the character index is represented by glyphs
in this layout.
|
TextHit | hitTestChar(float x, float y)
Perform hit testing for coordinate at x, y.
|
boolean | isAltGlyph()
Return true if this text run represents
an alt glyph. |
protected boolean | isGlyphOrientationAuto()
Returns whether or not the vertical glyph orientation value is "auto". |
protected boolean | isLatinChar(char c)
Returns true if the specified character is within one of the Latin
unicode character blocks.
|
boolean | isLeftToRight()
Returns true if the text direction in this layout is from left to right. |
boolean | isOnATextPath()
Returns true if this layout in on a text path. |
boolean | isVertical()
Returns true if the advance direction of this text is vertical. |
static int | makeConvexHull(Float[] pts, int numPts) |
static void | mergeAreas(GeneralPath shape, Area[] shapes, int nShapes) |
void | setOffset(Point2D offset)
Sets the text position used for the implicit origin
of glyph layout. |
void | setScale(float xScale, float yScale, boolean adjSpacing)
Sets the scaling factor to use for string. if ajdSpacing is
true then only the spacing between glyphs will be adjusted
otherwise the glyphs and the spaces between them will be
adjusted. |
Parameters: aci the AttributedCharacterIterator whose text is to be laid out charMap Indicates how chars in aci map to original text char array. offset The offset position of this text layout frc the FontRenderContext to use for generating glyphs.
Parameters: stretchGlyphs if true xScale, yScale will be applied to each glyphs transform.
Parameters: kern The kerning adjustment to apply to the space between each char. letterSpacing The amount of spacing required between each char. wordSpacing The amount of spacing required between each word.
Parameters: g2d the Graphics2D to use
Parameters: startGlyphIndex The index of the first glyph in the range. endGlyphIndex The index of the last glyph in the range.
Returns: The number of chars.
Parameters: decorationType an integer indicating the type(s) of decorations included in this shape. May be the result of "OR-ing" several values together: e.g. DECORATION_UNDERLINE | DECORATION_STRIKETHROUGH
Returns: The GVTFont to use.
Parameters: charIndex The original index of the character in the text node's text string.
Returns: The index of the matching glyph in this layout's glyph vector, or -1 if a matching glyph could not be found.
Parameters: beginCharIndex the index of the first char in the contiguous selection. endCharIndex the index of the last char in the contiguous selection.
Returns: The highlight shape or null if the spacified char range does not overlap with the chars in this layout.
Parameters: charIndex The original index of the character in the text node's text string.
Returns: The index of the matching glyph in this layout's glyph vector, or -1 if a matching glyph could not be found.
Parameters: index index of the character in the ACI.
Returns: true if the layout represents that character.
Parameters: x the x coordinate of the point to be tested. y the y coordinate of the point to be tested.
Returns: a TextHit object encapsulating the character index for successful hits and whether the hit is on the character leading edge.
Parameters: c The char to test.
Returns: True if c is latin.
Parameters: xScale Scale factor to apply in X direction. yScale Scale factor to apply in Y direction. adjSpacing True if only spaces should be adjusted.