Class GlyphSubstitutionTable.SingleSubtable

    • Constructor Detail

      • SingleSubtable

        SingleSubtable​(java.lang.String id,
                       int sequence,
                       int flags,
                       int format,
                       GlyphCoverageTable coverage,
                       java.util.List entries)
    • Method Detail

      • getType

        public int getType()
        Specified by:
        getType in class GlyphSubtable
        Returns:
        this subtable's type
      • isCompatible

        public boolean isCompatible​(GlyphSubtable subtable)
        Determine if a glyph subtable is compatible with this glyph subtable. Two glyph subtables are compatible if the both may appear in a single lookup table.
        Overrides:
        isCompatible in class GlyphSubstitutionSubtable
        Parameters:
        subtable - a glyph subtable to determine compatibility
        Returns:
        true if specified subtable is compatible with this glyph subtable, where by compatible is meant that they share the same lookup type
      • substitute

        public boolean substitute​(GlyphSubstitutionState ss)
        Perform glyph substitution at the current index, mutating the substitution state object as required. Only the context associated with the current index is processed.
        Specified by:
        substitute in interface GlyphSubstitution
        Overrides:
        substitute in class GlyphSubstitutionSubtable
        Parameters:
        ss - glyph substitution state object
        Returns:
        true if the glyph subtable was applied, meaning that the current context matches the associated input context glyph coverage table
      • getGlyphForCoverageIndex

        public abstract int getGlyphForCoverageIndex​(int ci,
                                                     int gi)
                                              throws java.lang.IllegalArgumentException
        Obtain glyph for coverage index.
        Parameters:
        ci - coverage index
        gi - original glyph index
        Returns:
        substituted glyph value
        Throws:
        java.lang.IllegalArgumentException - if coverage index is not valid