org.apache.fop.text.linebreak

## Class LineBreakStatus

- java.lang.Object
- - org.apache.fop.text.linebreak.LineBreakStatus

-     public class LineBreakStatus
      extends Object

  This class is meant for supporting the Unicode line breaking algorithm. See: UTR 14

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static byte` | `COMBINING_INDIRECT_BREAK` Constant indicating a Combining Indirect Break
    `static byte` | `COMBINING_PROHIBITED_BREAK` Constant indicating a Combining Prohibited Break
    `static byte` | `DIRECT_BREAK` Constant indicating a Direct Break
    `static byte` | `EXPLICIT_BREAK` Constant indicating a Explicit Break
    `static byte` | `INDIRECT_BREAK` Constant indicating an Indirect Break
    `static byte` | `PROHIBITED_BREAK` Constant indicating a Prohibited Break

  - ### Constructor Summary

    Constructors
    Constructor and 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 and 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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

  - ### Constructor Detail

    - #### LineBreakStatus

          public LineBreakStatus()

      Resets the class to the same state as if new LineBreakStatus() had just been called.

  - ### 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 from `LineBreakUtils`. 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`

Copyright © 2023 Apache Software Foundation. All rights reserved.