Class GlyphPositioningTable.ChainedContextualSubtable

java.lang.Object
org.apache.fop.complexscripts.fonts.GlyphSubtable
org.apache.fop.complexscripts.fonts.GlyphPositioningSubtable
org.apache.fop.complexscripts.fonts.GlyphPositioningTable.ChainedContextualSubtable
All Implemented Interfaces:
Comparable, GlyphPositioning
Direct Known Subclasses:
GlyphPositioningTable.ChainedContextualSubtableFormat1, GlyphPositioningTable.ChainedContextualSubtableFormat2, GlyphPositioningTable.ChainedContextualSubtableFormat3
Enclosing class:
GlyphPositioningTable

private abstract static class GlyphPositioningTable.ChainedContextualSubtable extends GlyphPositioningSubtable
  • Constructor Details

    • ChainedContextualSubtable

      ChainedContextualSubtable(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 GlyphPositioningSubtable
      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
    • position

      public boolean position(GlyphPositioningState ps)
      Perform glyph positioning at the current index, mutating the positioning state object as required. Only the context associated with the current index is processed.
      Specified by:
      position in interface GlyphPositioning
      Overrides:
      position in class GlyphPositioningSubtable
      Parameters:
      ps - glyph positioning state object
      Returns:
      true if the glyph subtable applies, meaning that the current context matches the associated input context glyph coverage table; note that returning true does not mean any position adjustment occurred; it only means that no further glyph subtables for the current lookup table should be applied.
    • getLookups

      public abstract GlyphTable.RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, 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
      ps - glyph positioning 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 GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)