Class GlyphSubstitutionTable
java.lang.Object
org.docx4j.fonts.fop.complexscripts.fonts.GlyphTable
org.docx4j.fonts.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).
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGlyphSubstitutionTable.LigatureTheLigatureclass implements a ligature lookup result in terms of a ligature glyph (code) and the N+1...static classGlyphSubstitutionTable.LigatureSetTheLigatureSetclass implements a set of ligatures.Nested classes/interfaces inherited from class org.docx4j.fonts.fop.complexscripts.fonts.GlyphTable
GlyphTable.ChainedClassSequenceRule, GlyphTable.ChainedCoverageSequenceRule, GlyphTable.ChainedGlyphSequenceRule, GlyphTable.ClassSequenceRule, GlyphTable.CoverageSequenceRule, GlyphTable.GlyphSequenceRule, GlyphTable.HomogeneousRuleSet, GlyphTable.LookupSpec, GlyphTable.LookupTable, GlyphTable.Rule, GlyphTable.RuleLookup, GlyphTable.RuleSet, GlyphTable.UseSpec -
Field Summary
Fields Modifier and Type Field Description static intGSUB_LOOKUP_TYPE_ALTERNATEalternate substitution subtable typestatic intGSUB_LOOKUP_TYPE_CHAINED_CONTEXTUALchained contextual substitution subtable typestatic intGSUB_LOOKUP_TYPE_CONTEXTUALcontextual substitution subtable typestatic intGSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTIONextension substitution substitution subtable typestatic intGSUB_LOOKUP_TYPE_LIGATUREligature substitution subtable typestatic intGSUB_LOOKUP_TYPE_MULTIPLEmultiple substitution subtable typestatic intGSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLEreverse chained contextual single substitution subtable typestatic intGSUB_LOOKUP_TYPE_SINGLEsingle substitution subtable typeFields inherited from class org.docx4j.fonts.fop.complexscripts.fonts.GlyphTable
GLYPH_TABLE_TYPE_BASELINE, GLYPH_TABLE_TYPE_DEFINITION, GLYPH_TABLE_TYPE_JUSTIFICATION, GLYPH_TABLE_TYPE_POSITIONING, GLYPH_TABLE_TYPE_SUBSTITUTION, processors -
Constructor Summary
Constructors Constructor Description GlyphSubstitutionTable(GlyphDefinitionTable gdef, java.util.Map lookups, java.util.List subtables, java.util.Map<java.lang.String,ScriptProcessor> processors)Instantiate aGlyphSubstitutionTableobject using the specified lookups and subtables. -
Method Summary
Modifier and Type Method Description static GlyphSubtablecreateSubtable(int type, java.lang.String id, int sequence, int flags, int format, java.util.List coverage, java.util.List entries)Create a substitution subtable according to the specified arguments.static GlyphSubtablecreateSubtable(int type, java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)Create a substitution subtable according to the specified arguments.static intgetLookupTypeFromName(java.lang.String name)Map a lookup type name to its constant (integer) value.static java.lang.StringgetLookupTypeName(int type)Map a lookup type constant (integer) value to its name.java.lang.CharSequencepreProcess(java.lang.CharSequence charSequence, java.lang.String script, MultiByteFont font, java.util.List associations)GlyphSequencesubstitute(GlyphSequence gs, java.lang.String script, java.lang.String language)Perform substitution processing using all matching lookups.Methods inherited from class org.docx4j.fonts.fop.complexscripts.fonts.GlyphTable
addSubtable, assembleLookups, findLookupTables, freezeSubtables, getGlyphDefinitions, getLookups, getLookupTable, getLookupTables, getTableTypeFromName, hasFeature, matchLookups, matchLookupSpecs, resolveLookupReferences, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
GSUB_LOOKUP_TYPE_SINGLE
public static final int GSUB_LOOKUP_TYPE_SINGLEsingle substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_MULTIPLE
public static final int GSUB_LOOKUP_TYPE_MULTIPLEmultiple substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_ALTERNATE
public static final int GSUB_LOOKUP_TYPE_ALTERNATEalternate substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_LIGATURE
public static final int GSUB_LOOKUP_TYPE_LIGATUREligature substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_CONTEXTUAL
public static final int GSUB_LOOKUP_TYPE_CONTEXTUALcontextual substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL
public static final int GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUALchained contextual substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION
public static final int GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTIONextension substitution substitution subtable type- See Also:
- Constant Field Values
-
GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE
public static final int GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLEreverse chained contextual single substitution subtable type- See Also:
- Constant Field Values
-
-
Constructor Details
-
GlyphSubstitutionTable
public GlyphSubstitutionTable(GlyphDefinitionTable gdef, java.util.Map lookups, java.util.List subtables, java.util.Map<java.lang.String,ScriptProcessor> processors)Instantiate aGlyphSubstitutionTableobject using the specified lookups and subtables.- Parameters:
gdef- glyph definition table that applieslookups- a map of lookup specifications to subtable identifier stringssubtables- a list of identified subtables
-
-
Method Details
-
substitute
public GlyphSequence substitute(GlyphSequence gs, java.lang.String script, java.lang.String language)Perform substitution processing using all matching lookups.- Parameters:
gs- an input glyph sequencescript- a script identifierlanguage- a language identifier- Returns:
- the substituted (output) glyph sequence
-
preProcess
public java.lang.CharSequence preProcess(java.lang.CharSequence charSequence, java.lang.String script, MultiByteFont font, java.util.List associations) -
getLookupTypeFromName
public static int getLookupTypeFromName(java.lang.String name)Map a lookup type name to its constant (integer) value.- Parameters:
name- lookup type name- Returns:
- lookup type
-
getLookupTypeName
public static java.lang.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, java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)Create a substitution subtable according to the specified arguments.- Parameters:
type- subtable typeid- subtable identifiersequence- subtable sequenceflags- subtable flagsformat- subtable formatcoverage- subtable coverage tableentries- subtable entries- Returns:
- a glyph subtable instance
-
createSubtable
public static GlyphSubtable createSubtable(int type, java.lang.String id, int sequence, int flags, int format, java.util.List coverage, java.util.List entries)Create a substitution subtable according to the specified arguments.- Parameters:
type- subtable typeid- subtable identifiersequence- subtable sequenceflags- subtable flagsformat- subtable formatcoverage- list of coverage table entriesentries- subtable entries- Returns:
- a glyph subtable instance
-