Class GlyphSubstitutionTable.SingleSubtable

All Implemented Interfaces:
Comparable, GlyphSubstitution
Direct Known Subclasses:
GlyphSubstitutionTable.SingleSubtableFormat1, GlyphSubstitutionTable.SingleSubtableFormat2
Enclosing class:
GlyphSubstitutionTable

private abstract static class GlyphSubstitutionTable.SingleSubtable extends GlyphSubstitutionSubtable
  • Constructor Details

  • Method Details

    • 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 IllegalArgumentException
      Obtain glyph for coverage index.
      Parameters:
      ci - coverage index
      gi - original glyph index
      Returns:
      substituted glyph value
      Throws:
      IllegalArgumentException - if coverage index is not valid
    • create

      static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)