public class GlyphPositioningTable extends GlyphTable
The GlyphPositioningTable
class is a glyph table that implements
GlyphPositioning
functionality.
This work was originally authored by Glenn Adams (gadams@apache.org).
Modifier and Type | Class and Description |
---|---|
static class |
GlyphPositioningTable.Anchor
The
Anchor class implements a anchor record, comprising an X,Y coordinate pair,
an optional anchor point index (or -1), and optional X or Y device tables (or null if absent). |
static class |
GlyphPositioningTable.DeviceTable
The
DeviceTable class implements a positioning device table record, comprising
adjustments to be made to scaled design units according to the scaled size. |
static class |
GlyphPositioningTable.MarkAnchor
The
MarkAnchor class is a subclass of the Anchor class, adding a mark
class designation. |
static class |
GlyphPositioningTable.PairValues
The
PairValues class implements a pair value record, comprising a glyph id (or zero)
and two optional positioning values. |
static class |
GlyphPositioningTable.Value
The
Value class implements a positioning value record, comprising placement
and advancement information in X and Y axes, and optionally including device data used to
perform device (grid-fitted) specific fine grain adjustments. |
GlyphTable.ChainedClassSequenceRule, GlyphTable.ChainedCoverageSequenceRule, GlyphTable.ChainedGlyphSequenceRule, GlyphTable.ClassSequenceRule, GlyphTable.CoverageSequenceRule, GlyphTable.GlyphSequenceRule, GlyphTable.HomogeneousRuleSet, GlyphTable.LookupSpec, GlyphTable.LookupTable, GlyphTable.Rule, GlyphTable.RuleLookup, GlyphTable.RuleSet, GlyphTable.UseSpec
Modifier and Type | Field and Description |
---|---|
static int |
GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL
chained contextual positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_CONTEXTUAL
contextual positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_CURSIVE
cursive positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_EXTENSION_POSITIONING
extension positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_MARK_TO_BASE
mark to base positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE
mark to ligature positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_MARK_TO_MARK
mark to mark positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_PAIR
multiple positioning subtable type
|
static int |
GPOS_LOOKUP_TYPE_SINGLE
single positioning subtable type
|
GLYPH_TABLE_TYPE_BASELINE, GLYPH_TABLE_TYPE_DEFINITION, GLYPH_TABLE_TYPE_JUSTIFICATION, GLYPH_TABLE_TYPE_POSITIONING, GLYPH_TABLE_TYPE_SUBSTITUTION, processors
Constructor and Description |
---|
GlyphPositioningTable(GlyphDefinitionTable gdef,
Map lookups,
List subtables,
Map<String,ScriptProcessor> processors)
Instantiate a
GlyphPositioningTable object using the specified lookups
and subtables. |
Modifier and Type | Method and Description |
---|---|
static GlyphSubtable |
createSubtable(int type,
String id,
int sequence,
int flags,
int format,
GlyphCoverageTable coverage,
List entries)
Create a positioning subtable according to the specified arguments.
|
static GlyphSubtable |
createSubtable(int type,
String id,
int sequence,
int flags,
int format,
List coverage,
List entries)
Create a positioning subtable according to the specified arguments.
|
static int |
getLookupTypeFromName(String name)
Map a lookup type name to its constant (integer) value.
|
static String |
getLookupTypeName(int type)
Map a lookup type constant (integer) value to its name.
|
boolean |
position(GlyphSequence gs,
String script,
String language,
int fontSize,
int[] widths,
int[][] adjustments)
Perform positioning processing using all matching lookups.
|
addSubtable, assembleLookups, findLookupTables, freezeSubtables, getGlyphDefinitions, getLookups, getLookupTable, getLookupTables, getTableTypeFromName, hasFeature, matchLookups, matchLookupSpecs, resolveLookupReferences, toString
public static final int GPOS_LOOKUP_TYPE_SINGLE
public static final int GPOS_LOOKUP_TYPE_PAIR
public static final int GPOS_LOOKUP_TYPE_CURSIVE
public static final int GPOS_LOOKUP_TYPE_MARK_TO_BASE
public static final int GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE
public static final int GPOS_LOOKUP_TYPE_MARK_TO_MARK
public static final int GPOS_LOOKUP_TYPE_CONTEXTUAL
public static final int GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL
public static final int GPOS_LOOKUP_TYPE_EXTENSION_POSITIONING
public GlyphPositioningTable(GlyphDefinitionTable gdef, Map lookups, List subtables, Map<String,ScriptProcessor> processors)
GlyphPositioningTable
object using the specified lookups
and subtables.gdef
- glyph definition table that applieslookups
- a map of lookup specifications to subtable identifier stringssubtables
- a list of identified subtablespublic static int getLookupTypeFromName(String name)
name
- lookup type namepublic static String getLookupTypeName(int type)
type
- lookup typepublic static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries)
type
- subtable typeid
- subtable identifiersequence
- subtable sequenceflags
- subtable flagsformat
- subtable formatcoverage
- subtable coverage tableentries
- subtable entriespublic static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, List coverage, List entries)
type
- subtable typeid
- subtable identifiersequence
- subtable sequenceflags
- subtable flagsformat
- subtable formatcoverage
- list of coverage table entriesentries
- subtable entriespublic boolean position(GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments)
gs
- an input glyph sequencescript
- a script identifierlanguage
- a language identifierfontSize
- size in device unitswidths
- array of default advancements for each glyphadjustments
- 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 sequenceCopyright © 2025 Apache Software Foundation. All rights reserved.