org.jfree.layouting.renderer.model
Class RenderableText
public
class
RenderableText
extends RenderNode
The renderable text is a text chunk, enriched with layouting information,
such as break opportunities, character sizes, kerning information and spacing
information.
Text is given as codepoints. Break opportunities are given as integer values,
where zero forbids breaking, and higher values denote better breaks. Spacing
and glyph sizes and kerning is given in micro-points; Spacing is the 'added'
space between codepoints if text-justification is enabled.
The text is computed as grapheme clusters; this means that several unicode
codepoints may result in a single /virtual/ glyph/codepoint/character.
(Example: 'A' + accent symbols). If the font supports Lithurges, these
lithurges may also be represented as a single grapheme cluster (and thus
behave unbreakable).
Grapheme clusters with more than one unicode char have the size of that char
added to the first codepoint, all subsequence codepoints of the same cluster
have a size/kerning/etc of zero and are unbreakable.
This text chunk is perfectly suitable for horizontal text, going either from
left-to-right or right-to-left. (Breaking mixed text is up to the
textfactory).
Author: Thomas Morgner
protected RenderableText()
public RenderableText(
ExtendedBaselineInfo baselineInfo,
Glyph[] glyphs, int offset, int length, int script, boolean forceLinebreak)
Returns the baseline info for the given node. This can be null, if the node
does not have any baseline info.
Returns:
public
Glyph[] getGlyphs()
public int getLength()
public long getMinimumWidth()
public int getOffset()
public long getPreferredWidth()
public String getRawText()
public int getScript()
protected void initialize(
Glyph[] glyphs, int offset, int length,
ExtendedBaselineInfo baselineInfo, int script, boolean forceLinebreak)
public boolean isDiscardable()
public boolean isEmpty()
public boolean isForceLinebreak()
public boolean isLtr()