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
public class IndicScriptProcessor extends DefaultScriptProcessor
The
IndicScriptProcessorclass 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 Classes Modifier and Type Class Description protected static classIndicScriptProcessor.DefaultSyllabizerDefault syllabizer.protected static classIndicScriptProcessor.SegmentSyllabic segment.protected static classIndicScriptProcessor.SyllabizerAbstract syllabizer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intfindPreBaseMatra(GlyphSequence gs)Find pre-base matra in sequence.protected intfindPreBaseMatraTarget(GlyphSequence gs, int source)Find pre-base matra target in sequence.protected intfindReph(GlyphSequence gs)Find reph in sequence.protected intfindRephTarget(GlyphSequence gs, int source)Find reph target in sequence.java.lang.String[]getOptionalPositioningFeatures()Obtain script specific optional positioning features.java.lang.String[]getOptionalSubstitutionFeatures()Obtain script specific optional substitution features.ScriptContextTestergetPositioningContextTester()Obtain script specific positioning context tester.java.lang.String[]getPositioningFeatures()Obtain script specific required positioning features.ScriptContextTestergetSubstitutionContextTester()Obtain script specific substitution context tester.java.lang.String[]getSubstitutionFeatures()Obtain script specific required substitution features.protected java.lang.Class<? extends IndicScriptProcessor.Syllabizer>getSyllabizerClass()Get script specific syllabizer class.static ScriptProcessormakeProcessor(java.lang.String script)Make script specific flavor of Indic script processor.booleanposition(GlyphSequence gs, java.lang.String script, java.lang.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.GlyphSequencesubstitute(GlyphSequence gs, java.lang.String script, java.lang.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, reorderCombiningMarks
-
Methods inherited from class org.apache.fop.complexscripts.scripts.ScriptProcessor
assembleLookups, getInstance, getScript, position, preProcess, substitute
-
-
-
-
Method Detail
-
makeProcessor
public static ScriptProcessor makeProcessor(java.lang.String script)
Make script specific flavor of Indic script processor.- Parameters:
script- tag- Returns:
- script processor instance
-
getSubstitutionFeatures
public java.lang.String[] getSubstitutionFeatures()
Obtain script specific required substitution features.- Overrides:
getSubstitutionFeaturesin classDefaultScriptProcessor- Returns:
- array of suppported substitution features or null
-
getOptionalSubstitutionFeatures
public java.lang.String[] getOptionalSubstitutionFeatures()
Obtain script specific optional substitution features.- Overrides:
getOptionalSubstitutionFeaturesin classScriptProcessor- Returns:
- array of suppported substitution features or null
-
getSubstitutionContextTester
public ScriptContextTester getSubstitutionContextTester()
Obtain script specific substitution context tester.- Overrides:
getSubstitutionContextTesterin classDefaultScriptProcessor- Returns:
- substitution context tester or null
-
getPositioningFeatures
public java.lang.String[] getPositioningFeatures()
Obtain script specific required positioning features.- Overrides:
getPositioningFeaturesin classDefaultScriptProcessor- Returns:
- array of suppported positioning features or null
-
getOptionalPositioningFeatures
public java.lang.String[] getOptionalPositioningFeatures()
Obtain script specific optional positioning features.- Overrides:
getOptionalPositioningFeaturesin classScriptProcessor- Returns:
- array of suppported positioning features or null
-
getPositioningContextTester
public ScriptContextTester getPositioningContextTester()
Obtain script specific positioning context tester.- Overrides:
getPositioningContextTesterin classDefaultScriptProcessor- Returns:
- positioning context tester or null
-
substitute
public GlyphSequence substitute(GlyphSequence gs, java.lang.String script, java.lang.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
protected java.lang.Class<? extends IndicScriptProcessor.Syllabizer> getSyllabizerClass()
Get script specific syllabizer class.- Returns:
- a syllabizer class object or null
-
findPreBaseMatra
protected int findPreBaseMatra(GlyphSequence gs)
Find pre-base matra in sequence.- Parameters:
gs- input sequence- Returns:
- index of pre-base matra or -1 if not found
-
findPreBaseMatraTarget
protected int findPreBaseMatraTarget(GlyphSequence gs, int source)
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
protected int findReph(GlyphSequence gs)
Find reph in sequence.- Parameters:
gs- input sequence- Returns:
- index of reph or -1 if not found
-
findRephTarget
protected int findRephTarget(GlyphSequence gs, int source)
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, java.lang.String script, java.lang.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
-
-