Class GlyphPositioningTable.CursiveSubtable
- java.lang.Object
-
- org.apache.fop.complexscripts.fonts.GlyphSubtable
-
- org.apache.fop.complexscripts.fonts.GlyphPositioningSubtable
-
- org.apache.fop.complexscripts.fonts.GlyphPositioningTable.CursiveSubtable
-
- All Implemented Interfaces:
java.lang.Comparable
,GlyphPositioning
- Direct Known Subclasses:
GlyphPositioningTable.CursiveSubtableFormat1
- Enclosing class:
- GlyphPositioningTable
private abstract static class GlyphPositioningTable.CursiveSubtable 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
Constructors Constructor Description CursiveSubtable(java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) static GlyphPositioningSubtable
create(java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)
abstract GlyphPositioningTable.Anchor[]
getExitEntryAnchors(int ci1, int ci2)
Obtain exit anchor for first glyph with coverage indexci1
and entry anchor for second glyph with coverage indexci2
.int
getType()
boolean
isCompatible(GlyphSubtable subtable)
Determine if a glyph subtable is compatible with this glyph subtable.boolean
position(GlyphPositioningState ps)
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 Detail
-
CursiveSubtable
CursiveSubtable(java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)
-
-
Method Detail
-
getType
public int getType()
- Specified by:
getType
in classGlyphSubtable
- Returns:
- this subtable's type
-
isCompatible
public boolean isCompatible(GlyphSubtable subtable)
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
public boolean position(GlyphPositioningState ps)
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.
-
getExitEntryAnchors
public abstract GlyphPositioningTable.Anchor[] getExitEntryAnchors(int ci1, int ci2)
Obtain exit anchor for first glyph with coverage indexci1
and entry anchor for second glyph with coverage indexci2
.- Parameters:
ci1
- coverage index of first glyph (may be negative)ci2
- coverage index of second glyph (may be negative)- Returns:
- array of two anchors or null if either coverage index is negative or corresponding anchor is missing, where the first entry is the exit anchor of the first glyph and the second entry is the entry anchor of the second glyph
-
create
static GlyphPositioningSubtable create(java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)
-
-