org.apache.fop.complexscripts.fonts

## Interface Positionable

- All Known Implementing Classes:
    CFFToType1Font, CustomFontMetricsMapper, Font, LazyFont, MultiByteFont

      public interface Positionable

  Optional interface which indicates that glyph positioning is supported and, if supported, can perform positioning.

  This work was originally authored by Glenn Adams (gadams@apache.org).

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int[][]` | `performPositioning(CharSequence cs, String script, String language)` Perform glyph positioning using an implied font size.
    `int[][]` | `performPositioning(CharSequence cs, String script, String language, int fontSize)` Perform glyph positioning.
    `boolean` | `performsPositioning()` Determines if font performs glyph positioning.

- - ### Method Detail

    - #### performsPositioning

          boolean performsPositioning()

      Determines if font performs glyph positioning.
      Returns:
        true if performs positioning

    - #### performPositioning

          int[][] performPositioning(CharSequence cs,
                                     String script,
                                     String language,
                                     int fontSize)

      Perform glyph positioning.
      Parameters:
        `cs` - character sequence to map to position offsets (advancement adjustments)
        `script` - a script identifier
        `language` - a language identifier
        `fontSize` - font size
      Returns:
        array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order, with one 4-tuple for each element of glyph sequence, or null if no non-zero adjustment applies

    - #### performPositioning

          int[][] performPositioning(CharSequence cs,
                                     String script,
                                     String language)

      Perform glyph positioning using an implied font size.
      Parameters:
        `cs` - character sequence to map to position offsets (advancement adjustments)
        `script` - a script identifier
        `language` - a language identifier
      Returns:
        array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order, with one 4-tuple for each element of glyph sequence, or null if no non-zero adjustment applies

Copyright © 2023 Apache Software Foundation. All rights reserved.