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 org.apache.fop.complexscripts.fonts.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 GlyphPositioningSubtable
create
(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) abstract GlyphPositioningTable.MarkAnchor
getMark1Anchor
(int ciMark1, int giMark1) Obtain mark 1 anchor associated with mark 1 coverage index.abstract GlyphPositioningTable.Anchor
getMark2Anchor
(int giBase, int markClass) Obtain anchor associated with mark 2 glyph index and mark 1 class.int
getType()
boolean
isCompatible
(GlyphSubtable subtable) Determine if a glyph subtable is compatible with this glyph subtable.boolean
Perform glyph positioning at the current index, mutating the positioning state object as required.Methods inherited from class org.apache.fop.complexscripts.fonts.GlyphPositioningSubtable
getTableType, getTypeName, position, position, usesReverseScan
Methods inherited from class org.apache.fop.complexscripts.fonts.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:
getType
in 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:
isCompatible
in 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:
position
in interfaceGlyphPositioning
- Overrides:
position
in 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)
-