Package org.apache.fop.text.linebreak
Class LineBreakStatus
- java.lang.Object
-
- org.apache.fop.text.linebreak.LineBreakStatus
-
public class LineBreakStatus extends java.lang.Object
This class is meant for supporting the Unicode line breaking algorithm. See: UTR 14
-
-
Field Summary
Fields Modifier and Type Field Description static byte
COMBINING_INDIRECT_BREAK
Constant indicating a Combining Indirect Breakstatic byte
COMBINING_PROHIBITED_BREAK
Constant indicating a Combining Prohibited Breakstatic byte
DIRECT_BREAK
Constant indicating a Direct Breakstatic byte
EXPLICIT_BREAK
Constant indicating a Explicit Breakprivate boolean
hadSpace
static byte
INDIRECT_BREAK
Constant indicating an Indirect Breakprivate byte
leftClass
static byte
PROHIBITED_BREAK
Constant indicating a Prohibited Break
-
Constructor Summary
Constructors Constructor Description LineBreakStatus()
Resets the class to the same state as if new LineBreakStatus() had just been called.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte
nextChar(char c)
Check whether a line break may happen according to the rules described in the Unicode Line Breaking Algorithm.void
reset()
Reset the status.
-
-
-
Field Detail
-
DIRECT_BREAK
public static final byte DIRECT_BREAK
Constant indicating a Direct Break- See Also:
- Constant Field Values
-
INDIRECT_BREAK
public static final byte INDIRECT_BREAK
Constant indicating an Indirect Break- See Also:
- Constant Field Values
-
COMBINING_INDIRECT_BREAK
public static final byte COMBINING_INDIRECT_BREAK
Constant indicating a Combining Indirect Break- See Also:
- Constant Field Values
-
COMBINING_PROHIBITED_BREAK
public static final byte COMBINING_PROHIBITED_BREAK
Constant indicating a Combining Prohibited Break- See Also:
- Constant Field Values
-
PROHIBITED_BREAK
public static final byte PROHIBITED_BREAK
Constant indicating a Prohibited Break- See Also:
- Constant Field Values
-
EXPLICIT_BREAK
public static final byte EXPLICIT_BREAK
Constant indicating a Explicit Break- See Also:
- Constant Field Values
-
leftClass
private byte leftClass
-
hadSpace
private boolean hadSpace
-
-
Method Detail
-
reset
public void reset()
Reset the status. This method will reset the status to the initial state. It is meant for recycling objects.
-
nextChar
public byte nextChar(char c)
Check whether a line break may happen according to the rules described in the Unicode Line Breaking Algorithm. The function returns the line breaking status of the point before the given character. The algorithm is the table-driven algorithm, as described in Unicode Technical Report #14. The pair table is taken fromLineBreakUtils
. TODO: Better handling for AI, SA, SG and XX line break classes.- Parameters:
c
- the character to check- Returns:
- the break action to be taken
one of:
DIRECT_BREAK
,INDIRECT_BREAK
,COMBINING_INDIRECT_BREAK
,COMBINING_PROHIBITED_BREAK
,PROHIBITED_BREAK
,EXPLICIT_BREAK
-
-