Class GlyphSubstitutionTable.ContextualSubtable

All Implemented Interfaces:
Comparable, GlyphSubstitution
Direct Known Subclasses:
GlyphSubstitutionTable.ContextualSubtableFormat1, GlyphSubstitutionTable.ContextualSubtableFormat2, GlyphSubstitutionTable.ContextualSubtableFormat3
Enclosing class:
GlyphSubstitutionTable

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

    • ContextualSubtable

      public ContextualSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)
  • 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
    • getLookups

      public abstract GlyphTable.RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv)
      Obtain rule lookups set associated current input glyph context.
      Parameters:
      ci - coverage index of glyph at current position
      gi - glyph index of glyph at current position
      ss - glyph substitution state
      rv - array of ints used to receive multiple return values, must be of length 1 or greater, where the first entry is used to return the input sequence length of the matched rule
      Returns:
      array of rule lookups or null if none applies
    • create

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