Class GlyphSubstitutionTable.MultipleSubtable

    • Constructor Detail

      • MultipleSubtable

        public MultipleSubtable​(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
      • getGlyphsForCoverageIndex

        public abstract int[] getGlyphsForCoverageIndex​(int ci,
                                                        int gi)
                                                 throws java.lang.IllegalArgumentException
        Obtain glyph sequence for coverage index.
        Parameters:
        ci - coverage index
        gi - original glyph index
        Returns:
        sequence of glyphs to substitute for input glyph
        Throws:
        java.lang.IllegalArgumentException - if coverage index is not valid