Class DefaultScriptProcessor

  • Direct Known Subclasses:
    ArabicScriptProcessor, IndicScriptProcessor

    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).

    • Field Detail

      • GSUB_FEATURES

        private static final java.lang.String[] GSUB_FEATURES
        features to use for substitutions
      • GPOS_FEATURES

        private static final java.lang.String[] GPOS_FEATURES
        features to use for positioning
    • Constructor Detail

      • DefaultScriptProcessor

        DefaultScriptProcessor​(java.lang.String script)
    • Method Detail

      • getSubstitutionFeatures

        public java.lang.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
      • getPositioningFeatures

        public java.lang.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
      • reorderCombiningMarks

        public GlyphSequence reorderCombiningMarks​(GlyphDefinitionTable gdef,
                                                   GlyphSequence gs,
                                                   int[] unscaledWidths,
                                                   int[][] gpa,
                                                   java.lang.String script,
                                                   java.lang.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)