public abstract class GlyphPositioningSubtable extends GlyphSubtable implements GlyphPositioning
The GlyphPositioningSubtable
implements an abstract base of a glyph subtable,
providing a default implementation of the GlyphPositioning
interface.
This work was originally authored by Glenn Adams (gadams@apache.org).
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
Modifier | Constructor and Description |
---|---|
protected |
GlyphPositioningSubtable(String id,
int sequence,
int flags,
int format,
GlyphCoverageTable coverage)
Instantiate a
GlyphPositioningSubtable . |
Modifier and Type | Method and Description |
---|---|
int |
getTableType() |
String |
getTypeName() |
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.
|
static boolean |
position(GlyphPositioningState ps,
GlyphPositioningSubtable[] sta,
int sequenceIndex)
Apply positioning using specified state and subtable array.
|
static boolean |
position(GlyphSequence gs,
String script,
String language,
String feature,
int fontSize,
GlyphPositioningSubtable[] sta,
int[] widths,
int[][] adjustments,
ScriptContextTester sct)
Apply positioning.
|
boolean |
usesReverseScan() |
compareTo, equals, getClasses, getCoverage, getCoverageIndex, getCoverageSize, getEntries, getFlags, getFlags, getFormat, getGDEF, getLookupId, getSequence, getTable, getType, hashCode, resolveLookupReferences, setTable, usesReverseScan
protected GlyphPositioningSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage)
GlyphPositioningSubtable
.id
- subtable identifiersequence
- subtable sequenceflags
- subtable flagsformat
- subtable formatcoverage
- subtable coverage tablepublic int getTableType()
getTableType
in class GlyphSubtable
public String getTypeName()
getTypeName
in class GlyphSubtable
public boolean isCompatible(GlyphSubtable subtable)
isCompatible
in class GlyphSubtable
subtable
- a glyph subtable to determine compatibilitypublic boolean usesReverseScan()
usesReverseScan
in class GlyphSubtable
public boolean position(GlyphPositioningState ps)
position
in interface GlyphPositioning
ps
- glyph positioning state objectpublic static final boolean position(GlyphPositioningState ps, GlyphPositioningSubtable[] sta, int sequenceIndex)
sequenceIndex
is non-negative, then apply subtables only when current position
matches sequenceIndex
in relation to the starting position. Furthermore, upon
successful application at sequenceIndex
, then discontinue processing the remainingps
- positioning statesta
- array of subtables to applysequenceIndex
- if non negative, then apply subtables only at specified sequence indexpublic static final boolean position(GlyphSequence gs, String script, String language, String feature, int fontSize, GlyphPositioningSubtable[] sta, int[] widths, int[][] adjustments, ScriptContextTester sct)
gs
- input glyph sequencescript
- taglanguage
- tagfeature
- tagfontSize
- the font sizesta
- subtable arraywidths
- arrayadjustments
- array (receives output adjustments)sct
- script context testerCopyright © 2025 Apache Software Foundation. All rights reserved.