org.apache.fop.complexscripts.scripts

## Class DefaultScriptProcessor

- java.lang.Object
- - org.apache.fop.complexscripts.scripts.ScriptProcessor
  - - org.apache.fop.complexscripts.scripts.DefaultScriptProcessor

- Direct Known Subclasses:
    ArabicScriptProcessor, HebrewScriptProcessor, IndicScriptProcessor, ThaiScriptProcessor

      public class DefaultScriptProcessor
      extends ScriptProcessor

  Default script processor, which enables default glyph composition/decomposition, common ligatures, localized forms and kerning.

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

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ScriptContextTester` | `getPositioningContextTester()` Obtain script specific positioning context tester.
    `String[]` | `getPositioningFeatures()` Obtain script specific required positioning features.
    `ScriptContextTester` | `getSubstitutionContextTester()` Obtain script specific substitution context tester.
    `String[]` | `getSubstitutionFeatures()` Obtain script specific required substitution features.
    `protected boolean` | `isReorderedMark(GlyphDefinitionTable gdef, int[] glyphs, int[] unscaledWidths, int index, int[] pa)`
    `GlyphSequence` | `reorderCombiningMarks(GlyphDefinitionTable gdef, GlyphSequence gs, int[] unscaledWidths, int[][] gpa, String script, String language)` Reorder combining marks in glyph sequence so that they precede (within the sequence) the base character to which they are applied.

    - ### Methods inherited from class org.apache.fop.complexscripts.scripts.ScriptProcessor

      `assembleLookups, getInstance, getOptionalPositioningFeatures, getOptionalSubstitutionFeatures, getScript, position, position, preProcess, substitute, substitute`

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

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

- - ### Method Detail

    - #### getSubstitutionFeatures

          public String[] getSubstitutionFeatures()

      Description copied from class: `ScriptProcessor`
      Obtain script specific required substitution features.
      Specified by:
        `getSubstitutionFeatures` in class `ScriptProcessor`
      Returns:
        array of suppported substitution features or null

    - #### getSubstitutionContextTester

          public ScriptContextTester getSubstitutionContextTester()

      Description copied from class: `ScriptProcessor`
      Obtain script specific substitution context tester.
      Specified by:
        `getSubstitutionContextTester` in class `ScriptProcessor`
      Returns:
        substitution context tester or null

    - #### getPositioningFeatures

          public String[] getPositioningFeatures()

      Description copied from class: `ScriptProcessor`
      Obtain script specific required positioning features.
      Specified by:
        `getPositioningFeatures` in class `ScriptProcessor`
      Returns:
        array of suppported positioning features or null

    - #### getPositioningContextTester

          public ScriptContextTester getPositioningContextTester()

      Description copied from class: `ScriptProcessor`
      Obtain script specific positioning context tester.
      Specified by:
        `getPositioningContextTester` in class `ScriptProcessor`
      Returns:
        positioning context tester or null

    - #### reorderCombiningMarks

          public GlyphSequence reorderCombiningMarks(GlyphDefinitionTable gdef,
                                                     GlyphSequence gs,
                                                     int[] unscaledWidths,
                                                     int[][] gpa,
                                                     String script,
                                                     String language)

      Description copied from class: `ScriptProcessor`
      Reorder combining marks in glyph sequence so that they precede (within the sequence) the base character to which they are applied. N.B. In the case of RTL segments, marks are not reordered by this, method since when the segment is reversed by BIDI processing, marks are automatically reordered to precede their base glyph.
      Overrides:
        `reorderCombiningMarks` in class `ScriptProcessor`
      Parameters:
        `gdef` - the glyph definition table that applies
        `gs` - an input glyph sequence
        `unscaledWidths` - associated unscaled advance widths (also reordered)
        `gpa` - associated glyph position adjustments (also reordered)
        `script` - a script identifier
        `language` - a language identifier
      Returns:
        the reordered (output) glyph sequence

    - #### isReorderedMark

          protected boolean isReorderedMark(GlyphDefinitionTable gdef,
                                            int[] glyphs,
                                            int[] unscaledWidths,
                                            int index,
                                            int[] pa)

Copyright © 2023 Apache Software Foundation. All rights reserved.