Class IndicScriptProcessor
java.lang.Object
org.apache.fop.complexscripts.scripts.ScriptProcessor
org.apache.fop.complexscripts.scripts.DefaultScriptProcessor
org.apache.fop.complexscripts.scripts.IndicScriptProcessor
- Direct Known Subclasses:
DevanagariScriptProcessor,GujaratiScriptProcessor,GurmukhiScriptProcessor,KhmerScriptProcessor,TamilScriptProcessor
The IndicScriptProcessor class implements a script processor for
performing glyph substitution and positioning operations on content associated with the Indic script.
This work was originally authored by Glenn Adams (gadams@apache.org).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classDefault syllabizer.protected static classSyllabic segment.protected static classAbstract syllabizer. -
Method Summary
Modifier and TypeMethodDescriptionprotected intFind pre-base matra in sequence.protected intfindPreBaseMatraTarget(GlyphSequence gs, int source) Find pre-base matra target in sequence.protected intFind reph in sequence.protected intfindRephTarget(GlyphSequence gs, int source) Find reph target in sequence.String[]Obtain script specific optional positioning features.String[]Obtain script specific optional substitution features.Obtain script specific positioning context tester.String[]Obtain script specific required positioning features.Obtain script specific substitution context tester.String[]Obtain script specific required substitution features.protected Class<? extends IndicScriptProcessor.Syllabizer> Get script specific syllabizer class.static ScriptProcessormakeProcessor(String script) Make script specific flavor of Indic script processor.booleanposition(GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct) Perform positioning processing using a specific set of ordered glyph table use specifications.substitute(GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct) Perform substitution processing using a specific set of ordered glyph table use specifications.Methods inherited from class org.apache.fop.complexscripts.scripts.DefaultScriptProcessor
isReorderedMark, reorderCombiningMarksMethods inherited from class org.apache.fop.complexscripts.scripts.ScriptProcessor
assembleLookups, getInstance, getScript, position, preProcess, substitute
-
Method Details
-
makeProcessor
Make script specific flavor of Indic script processor.- Parameters:
script- tag- Returns:
- script processor instance
-
getSubstitutionFeatures
Obtain script specific required substitution features.- Overrides:
getSubstitutionFeaturesin classDefaultScriptProcessor- Returns:
- array of suppported substitution features or null
-
getOptionalSubstitutionFeatures
Obtain script specific optional substitution features.- Overrides:
getOptionalSubstitutionFeaturesin classScriptProcessor- Returns:
- array of suppported substitution features or null
-
getSubstitutionContextTester
Obtain script specific substitution context tester.- Overrides:
getSubstitutionContextTesterin classDefaultScriptProcessor- Returns:
- substitution context tester or null
-
getPositioningFeatures
Obtain script specific required positioning features.- Overrides:
getPositioningFeaturesin classDefaultScriptProcessor- Returns:
- array of suppported positioning features or null
-
getOptionalPositioningFeatures
Obtain script specific optional positioning features.- Overrides:
getOptionalPositioningFeaturesin classScriptProcessor- Returns:
- array of suppported positioning features or null
-
getPositioningContextTester
Obtain script specific positioning context tester.- Overrides:
getPositioningContextTesterin classDefaultScriptProcessor- Returns:
- positioning context tester or null
-
substitute
public GlyphSequence substitute(GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct) Perform substitution processing using a specific set of ordered glyph table use specifications.- Overrides:
substitutein classScriptProcessor- Parameters:
gs- an input glyph sequencescript- a script identifierlanguage- a language identifierusa- an ordered array of glyph table use specssct- a script specific context tester (or null)- Returns:
- the substituted (output) glyph sequence
-
getSyllabizerClass
Get script specific syllabizer class.- Returns:
- a syllabizer class object or null
-
findPreBaseMatra
Find pre-base matra in sequence.- Parameters:
gs- input sequence- Returns:
- index of pre-base matra or -1 if not found
-
findPreBaseMatraTarget
Find pre-base matra target in sequence.- Parameters:
gs- input sequencesource- index of pre-base matra- Returns:
- index of pre-base matra target or -1
-
findReph
Find reph in sequence.- Parameters:
gs- input sequence- Returns:
- index of reph or -1 if not found
-
findRephTarget
Find reph target in sequence.- Parameters:
gs- input sequencesource- index of reph- Returns:
- index of reph target or -1
-
position
public boolean position(GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct) Perform positioning processing using a specific set of ordered glyph table use specifications.- Overrides:
positionin classScriptProcessor- Parameters:
gs- an input glyph sequencescript- a script identifierlanguage- a language identifierfontSize- size in device unitsusa- an ordered array of glyph table use specswidths- array of default advancements for each glyph in fontadjustments- accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order, with one 4-tuple for each element of glyph sequencesct- a script specific context tester (or null)- Returns:
- true if some adjustment is not zero; otherwise, false
-