Class GlyphPositioningTable.MarkToMarkSubtable
java.lang.Object
org.apache.fop.complexscripts.fonts.GlyphSubtable
org.apache.fop.complexscripts.fonts.GlyphPositioningSubtable
org.apache.fop.complexscripts.fonts.GlyphPositioningTable.MarkToMarkSubtable
- All Implemented Interfaces:
Comparable, GlyphPositioning
- Direct Known Subclasses:
GlyphPositioningTable.MarkToMarkSubtableFormat1
- Enclosing class:
GlyphPositioningTable
private abstract static class GlyphPositioningTable.MarkToMarkSubtable
extends GlyphPositioningSubtable
-
Field Summary
Fields inherited from class GlyphSubtable
LF_IGNORE_BASE, LF_IGNORE_LIGATURE, LF_IGNORE_MARK, LF_INTERNAL_USE_REVERSE_SCAN, LF_MARK_ATTACHMENT_TYPE, LF_RESERVED, LF_RIGHT_TO_LEFT, LF_USE_MARK_FILTERING_SET -
Constructor Summary
ConstructorsConstructorDescriptionMarkToMarkSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) -
Method Summary
Modifier and TypeMethodDescription(package private) static GlyphPositioningSubtablecreate(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) abstract GlyphPositioningTable.MarkAnchorgetMark1Anchor(int ciMark1, int giMark1) Obtain mark 1 anchor associated with mark 1 coverage index.abstract GlyphPositioningTable.AnchorgetMark2Anchor(int giBase, int markClass) Obtain anchor associated with mark 2 glyph index and mark 1 class.intgetType()booleanisCompatible(GlyphSubtable subtable) Determine if a glyph subtable is compatible with this glyph subtable.booleanPerform glyph positioning at the current index, mutating the positioning state object as required.Methods inherited from class GlyphPositioningSubtable
getTableType, getTypeName, position, position, usesReverseScanMethods inherited from class GlyphSubtable
compareTo, equals, getClasses, getCoverage, getCoverageIndex, getCoverageSize, getEntries, getFlags, getFlags, getFormat, getGDEF, getLookupId, getSequence, getTable, hashCode, resolveLookupReferences, setTable, usesReverseScan
-
Constructor Details
-
MarkToMarkSubtable
MarkToMarkSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)
-
-
Method Details
-
getType
public int getType()- Specified by:
getTypein classGlyphSubtable- Returns:
- this subtable's type
-
isCompatible
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:
isCompatiblein classGlyphPositioningSubtable- 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
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:
positionin interfaceGlyphPositioning- Overrides:
positionin classGlyphPositioningSubtable- 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.
-
getMark1Anchor
Obtain mark 1 anchor associated with mark 1 coverage index.- Parameters:
ciMark1- mark 1 coverage indexgiMark1- input glyph index of mark 1 glyph- Returns:
- mark 1 anchor or null if none applies
-
getMark2Anchor
Obtain anchor associated with mark 2 glyph index and mark 1 class.- Parameters:
markClass- class number of mark 1 glyphgiMark2- input glyph index of mark 2 glyph- Returns:
- anchor or null if none applies
-
create
static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)
-