fop 2.0

org.apache.fop.area.inline
Class WordArea

java.lang.Object
  extended by org.apache.fop.area.AreaTreeObject
      extended by org.apache.fop.area.Area
          extended by org.apache.fop.area.inline.InlineArea
              extended by org.apache.fop.area.inline.WordArea
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class WordArea
extends InlineArea

A string of characters without spaces

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.fop.area.inline.InlineArea
InlineArea.InlineAdjustingInfo
 
Field Summary
protected  int[][] gposAdjustments
          An array of glyph positioning adjustments to apply to each glyph 'char' in word (optional)
protected  int[] letterAdjust
          An array of width for adjusting the individual letters (optional)
protected  int[] levels
          An array of resolved bidirectional levels corresponding to each character in word (optional)
protected  boolean reversed
          A flag indicating whether the content of word is reversed in relation to its original logical order.
protected  java.lang.String word
          The text for this word area
 
Fields inherited from class org.apache.fop.area.inline.InlineArea
adjustingInfo, blockProgressionOffset
 
Fields inherited from class org.apache.fop.area.Area
bidiLevel, bpd, CLASS_ABSOLUTE, CLASS_BEFORE_FLOAT, CLASS_FIXED, CLASS_FOOTNOTE, CLASS_MAX, CLASS_NORMAL, CLASS_SIDE_FLOAT, effectiveIPD, ipd, log, ORIENT_0, ORIENT_180, ORIENT_270, ORIENT_90, traits
 
Fields inherited from class org.apache.fop.area.AreaTreeObject
extensionAttachments, foreignAttributes
 
Constructor Summary
WordArea(int blockProgressionOffset, int level, java.lang.String word, int[] letterAdjust, int[] levels, int[][] gposAdjustments)
          Create a word area
WordArea(int blockProgressionOffset, int level, java.lang.String word, int[] letterAdjust, int[] levels, int[][] gposAdjustments, boolean reversed)
          Create a word area
 
Method Summary
 int bidiLevelAt(int position)
          Obtain per-character (glyph) level at a specified index position.
 java.util.List collectInlineRuns(java.util.List runs)
          Collection bidi inline runs.
 int[] getBidiLevels()
          Obtain per-character (glyph) bidi levels.
 int[] getBidiLevels(int start, int end)
          Obtain per-character (glyph) bidi levels over a specified subsequence.
 int[][] getGlyphPositionAdjustments()
          Obtain per-character (glyph) position adjustments.
 int[] getLetterAdjustArray()
           
 java.lang.String getWord()
           
 int[] glyphPositionAdjustmentsAt(int position)
          Obtain per-character (glyph) position adjustments at a specified index position.
 boolean isReversed()
          Determined if word has been reversed (in relation to original logical order).
 void mirror()
          Perform mirroring on mirrorable characters.
 void reverse(boolean mirror)
          Reverse characters and corresponding per-character levels and glyph position adjustments.
 
Methods inherited from class org.apache.fop.area.inline.InlineArea
addChildArea, applyVariationFactor, getAdjustingInfo, getBlockProgressionOffset, getParentArea, handleIPDVariation, hasLineThrough, hasOverline, hasUnderline, increaseIPD, isAncestor, isAncestorOrSelf, isBlinking, notifyIPDVariation, setAdjustingInfo, setAdjustingInfo, setAdjustment, setBlockProgressionOffset, setParentArea
 
Methods inherited from class org.apache.fop.area.Area
activateEffectiveIPD, addTrait, clone, getAllocBPD, getAllocIPD, getAreaClass, getBidiLevel, getBorderAndPaddingWidthAfter, getBorderAndPaddingWidthBefore, getBorderAndPaddingWidthEnd, getBorderAndPaddingWidthStart, getBPD, getEffectiveAllocIPD, getEffectiveIPD, getIPD, getSpaceAfter, getSpaceBefore, getSpaceEnd, getSpaceStart, getTrait, getTraitAsBoolean, getTraitAsInteger, getTraits, hasTrait, hasTraits, resetBidiLevel, setAreaClass, setBidiLevel, setBPD, setIPD, setTraits, setWritingModeTraits, toString
 
Methods inherited from class org.apache.fop.area.AreaTreeObject
addExtensionAttachment, getExtensionAttachments, getForeignAttributes, getForeignAttributeValue, hasExtensionAttachments, setExtensionAttachments, setForeignAttribute, setForeignAttributes
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

word

protected java.lang.String word
The text for this word area


letterAdjust

protected int[] letterAdjust
An array of width for adjusting the individual letters (optional)


levels

protected int[] levels
An array of resolved bidirectional levels corresponding to each character in word (optional)


gposAdjustments

protected int[][] gposAdjustments
An array of glyph positioning adjustments to apply to each glyph 'char' in word (optional)


reversed

protected boolean reversed
A flag indicating whether the content of word is reversed in relation to its original logical order.

Constructor Detail

WordArea

public WordArea(int blockProgressionOffset,
                int level,
                java.lang.String word,
                int[] letterAdjust,
                int[] levels,
                int[][] gposAdjustments,
                boolean reversed)
Create a word area

Parameters:
blockProgressionOffset - the offset for this area
level - the bidirectional embedding level (or -1 if not defined) for word as a group
word - the word string
letterAdjust - the letter adjust array (may be null)
levels - array of per-character (glyph) bidirectional levels, in case word area is heterogenously leveled
gposAdjustments - array of general position adjustments or null if none apply
reversed - true if word is known to be reversed at construction time

WordArea

public WordArea(int blockProgressionOffset,
                int level,
                java.lang.String word,
                int[] letterAdjust,
                int[] levels,
                int[][] gposAdjustments)
Create a word area

Parameters:
blockProgressionOffset - the offset for this area
level - the bidirectional embedding level (or -1 if not defined) for word as a group
word - the word string
letterAdjust - the letter adjust array (may be null)
levels - array of per-character (glyph) bidirectional levels, in case word area is heterogenously leveled
gposAdjustments - array of general position adjustments or null if none apply
Method Detail

getWord

public java.lang.String getWord()
Returns:
Returns the word.

getLetterAdjustArray

public int[] getLetterAdjustArray()
Returns:
the array of letter adjust widths

getBidiLevels

public int[] getBidiLevels()
Obtain per-character (glyph) bidi levels.

Returns:
a (possibly empty) array of levels or null (if none resolved)

getBidiLevels

public int[] getBidiLevels(int start,
                           int end)

Obtain per-character (glyph) bidi levels over a specified subsequence.

If word has been reversed, then the subsequence is over the reversed word.

Parameters:
start - starting (inclusive) index of subsequence
end - ending (exclusive) index of subsequence
Returns:
a (possibly null) array of per-character (glyph) levels over the specified sequence

bidiLevelAt

public int bidiLevelAt(int position)

Obtain per-character (glyph) level at a specified index position.

If word has been reversed, then the position is relative to the reversed word.

Parameters:
position - the index of the (possibly reversed) character from which to obtain the level
Returns:
a resolved bidirectional level or, if not specified, then -1

collectInlineRuns

public java.util.List collectInlineRuns(java.util.List runs)
Description copied from class: InlineArea
Collection bidi inline runs.

Overrides:
collectInlineRuns in class InlineArea
Parameters:
runs - current list of inline runs
Returns:
modified list of inline runs, having appended new run

getGlyphPositionAdjustments

public int[][] getGlyphPositionAdjustments()
Obtain per-character (glyph) position adjustments.

Returns:
a (possibly empty) array of adjustments, each having four elements, or null if no adjustments apply

glyphPositionAdjustmentsAt

public int[] glyphPositionAdjustmentsAt(int position)

Obtain per-character (glyph) position adjustments at a specified index position.

If word has been reversed, then the position is relative to the reversed word.

Parameters:
position - the index of the (possibly reversed) character from which to obtain the level
Returns:
an array of adjustments or null if none applies

reverse

public void reverse(boolean mirror)

Reverse characters and corresponding per-character levels and glyph position adjustments.

Parameters:
mirror - if true, then perform mirroring if mirrorred characters

mirror

public void mirror()

Perform mirroring on mirrorable characters.


isReversed

public boolean isReversed()

Determined if word has been reversed (in relation to original logical order).

If a word is reversed, then both its characters (glyphs) and corresponding per-character levels are in reverse order.

Note: this information is used in order to process non-spacing marks during rendering as well as provide hints for caret direction.

Returns:
true if word is reversed

fop 2.0

Copyright 1999-2015 The Apache Software Foundation. All Rights Reserved.