Class GlyphSubstitutionTable

java.lang.Object
org.apache.fop.complexscripts.fonts.GlyphTable
org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable

public class GlyphSubstitutionTable extends GlyphTable

The GlyphSubstitutionTable class is a glyph table that implements GlyphSubstitution functionality.

This work was originally authored by Glenn Adams (gadams@apache.org).

  • Field Details

    • GSUB_LOOKUP_TYPE_SINGLE

      public static final int GSUB_LOOKUP_TYPE_SINGLE
      single substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_MULTIPLE

      public static final int GSUB_LOOKUP_TYPE_MULTIPLE
      multiple substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_ALTERNATE

      public static final int GSUB_LOOKUP_TYPE_ALTERNATE
      alternate substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_LIGATURE

      public static final int GSUB_LOOKUP_TYPE_LIGATURE
      ligature substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_CONTEXTUAL

      public static final int GSUB_LOOKUP_TYPE_CONTEXTUAL
      contextual substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL

      public static final int GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL
      chained contextual substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION

      public static final int GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION
      extension substitution substitution subtable type
      See Also:
    • GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE

      public static final int GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE
      reverse chained contextual single substitution subtable type
      See Also:
  • Constructor Details

    • GlyphSubstitutionTable

      public GlyphSubstitutionTable(GlyphDefinitionTable gdef, Map lookups, List subtables, Map<String,ScriptProcessor> processors)
      Instantiate a GlyphSubstitutionTable object using the specified lookups and subtables.
      Parameters:
      gdef - glyph definition table that applies
      lookups - a map of lookup specifications to subtable identifier strings
      subtables - a list of identified subtables
  • Method Details

    • substitute

      public GlyphSequence substitute(GlyphSequence gs, String script, String language)
      Perform substitution processing using all matching lookups.
      Parameters:
      gs - an input glyph sequence
      script - a script identifier
      language - a language identifier
      Returns:
      the substituted (output) glyph sequence
    • preProcess

      public CharSequence preProcess(CharSequence charSequence, String script, MultiByteFont font, List associations)
    • getLookupTypeFromName

      public static int getLookupTypeFromName(String name)
      Map a lookup type name to its constant (integer) value.
      Parameters:
      name - lookup type name
      Returns:
      lookup type
    • getLookupTypeName

      public static String getLookupTypeName(int type)
      Map a lookup type constant (integer) value to its name.
      Parameters:
      type - lookup type
      Returns:
      lookup type name
    • createSubtable

      public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)
      Create a substitution subtable according to the specified arguments.
      Parameters:
      type - subtable type
      id - subtable identifier
      sequence - subtable sequence
      flags - subtable flags
      format - subtable format
      coverage - subtable coverage table
      entries - subtable entries
      Returns:
      a glyph subtable instance
    • createSubtable

      public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, List coverage, List entries)
      Create a substitution subtable according to the specified arguments.
      Parameters:
      type - subtable type
      id - subtable identifier
      sequence - subtable sequence
      flags - subtable flags
      format - subtable format
      coverage - list of coverage table entries
      entries - subtable entries
      Returns:
      a glyph subtable instance