org.apache.batik.ext.awt.font

Class TextPathLayout

public class TextPathLayout extends Object

PathLayout can layout text along a Shape, usually a Path object.

There are a number of improvements that could be made to this class. I'll try to list some of them:

Field Summary
static intADJUST_GLYPHS
Use the entire glyph to adjust for textLength.
static intADJUST_SPACING
Use the spacing between the glyphs to adjust for textLength.
static intALIGN_END
Align the text at the end of the path.
static intALIGN_MIDDLE
Align the text at the middle of the path.
static intALIGN_START
Align the text at the start of the path.
Method Summary
static ShapelayoutGlyphVector(GlyphVector glyphs, Shape path, int align, float startOffset, float textLength, int lengthAdjustMode)
Wraps the GlyphVector around the given path.
static ShapelayoutGlyphVector(GlyphVector glyphs, Shape path, int align)
Wraps the GlyphVector around the given path.
static ShapelayoutGlyphVector(GlyphVector glyphs, Shape path)
Wraps the GlyphVector around the given path.

Field Detail

ADJUST_GLYPHS

public static final int ADJUST_GLYPHS
Use the entire glyph to adjust for textLength.

ADJUST_SPACING

public static final int ADJUST_SPACING
Use the spacing between the glyphs to adjust for textLength.

ALIGN_END

public static final int ALIGN_END
Align the text at the end of the path.

ALIGN_MIDDLE

public static final int ALIGN_MIDDLE
Align the text at the middle of the path.

ALIGN_START

public static final int ALIGN_START
Align the text at the start of the path.

Method Detail

layoutGlyphVector

public static Shape layoutGlyphVector(GlyphVector glyphs, Shape path, int align, float startOffset, float textLength, int lengthAdjustMode)
Wraps the GlyphVector around the given path. The results are mostly quite nice but you need to be careful choosing the size of the font that created the GlyphVector, as well as the "curvyness" of the path (really dynamic curves don't look so great, abrupt changes/vertices look worse).

Parameters: glyphs The GlyphVector to layout. path The path (or shape) to wrap around align The text alignment to use. Should be one of ALIGN_START, ALIGN_MIDDLE or ALIGN_END. startOffset The offset from the start of the path for the initial text position. textLength The length that the text should fill. lengthAdjustMode The method used to expand or contract the text to meet the textLength.

Returns: A shape that is the outline of the glyph vector wrapped along the path

layoutGlyphVector

public static Shape layoutGlyphVector(GlyphVector glyphs, Shape path, int align)
Wraps the GlyphVector around the given path.

Parameters: glyphs The GlyphVector to layout. path The path (or shape) to wrap around align The text alignment to use. Should be one of ALIGN_START, ALIGN_MIDDLE or ALIGN_END.

Returns: A shape that is the outline of the glyph vector wrapped along the path

layoutGlyphVector

public static Shape layoutGlyphVector(GlyphVector glyphs, Shape path)
Wraps the GlyphVector around the given path.

Parameters: glyphs The GlyphVector to layout. path The path (or shape) to wrap around

Returns: A shape that is the outline of the glyph vector wrapped along the path

Copyright B) 2008 Apache Software Foundation. All Rights Reserved.