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
Constructor and Description |
---|
GlyphPositioningTable(GlyphDefinitionTable gdef,
java.util.Map lookups,
java.util.List subtables)
Instantiate a
GlyphPositioningTable object using the specified lookups
and subtables. |
Modifier and Type | Method and Description |
---|---|
static GlyphSubtable |
createSubtable(int type,
java.lang.String id,
int sequence,
int flags,
int format,
GlyphCoverageTable coverage,
java.util.List entries)
Create a positioning subtable according to the specified arguments.
|
static GlyphSubtable |
createSubtable(int type,
java.lang.String id,
int sequence,
int flags,
int format,
java.util.List coverage,
java.util.List entries)
Create a positioning subtable according to the specified arguments.
|
static int |
getLookupTypeFromName(java.lang.String name)
Map a lookup type name to its constant (integer) value.
|
static java.lang.String |
getLookupTypeName(int type)
Map a lookup type constant (integer) value to its name.
|
boolean |
position(GlyphSequence gs,
java.lang.String script,
java.lang.String language,
int fontSize,
int[] widths,
int[][] adjustments)
Perform positioning processing using all matching lookups.
|
addSubtable, assembleLookups, findLookupTables, freezeSubtables, getGlyphDefinitions, getLookups, getLookupTable, getLookupTables, getTableTypeFromName, 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, java.util.Map lookups, java.util.List subtables)
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(java.lang.String name)
name
- lookup type namepublic static java.lang.String getLookupTypeName(int type)
type
- lookup typepublic static GlyphSubtable createSubtable(int type, java.lang.String id, int sequence, int flags, int format, GlyphCoverageTable coverage, java.util.List entries)
type
- subtable typeid
- subtable identifiersequence
- subtable sequenceflags
- subtable flagsformat
- subtable formatcoverage
- subtable coverage tableentries
- subtable entriespublic static GlyphSubtable createSubtable(int type, java.lang.String id, int sequence, int flags, int format, java.util.List coverage, java.util.List entries)
type
- subtable typeid
- subtable identifiersequence
- subtable sequenceflags
- subtable flagsformat
- subtable formatcoverage
- list of coverage table entriesentries
- subtable entriespublic boolean position(GlyphSequence gs, java.lang.String script, java.lang.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 1999-2012 The Apache Software Foundation. All Rights Reserved.