GsubGlyph

class GsubGlyph(var gid: Int, var cluster: Int, var features: Set<String> = emptySet(), val isMark: Boolean = false, val ignorable: GsubGlyph.Ignorable? = null)(source)

One glyph of a run that OpenTypeGsub.substitute reshapes.

Constructors

Link copied to clipboard
constructor(gid: Int, cluster: Int, features: Set<String> = emptySet(), isMark: Boolean = false, ignorable: GsubGlyph.Ignorable? = null)

Types

Link copied to clipboard

The default ignorable characters a lookup may pass over, as HarfBuzz tells them apart.

Properties

Link copied to clipboard

The index of the first character this glyph stands for. A ligature takes the cluster of its first component, and so do the marks between its components; the glyphs of a multiple substitution keep the cluster of the glyph they replace.

Link copied to clipboard

The ligature component this glyph belongs to, as HarfBuzz's lig_comp counts it: for a mark a ligature passed over, the component of the ligature it attaches to; for a part of a multiple substitution, its index among the parts; 0 for a ligature and any other glyph.

Link copied to clipboard

How many glyphs a ligature joined into this one, 1 for any other glyph.

Link copied to clipboard

The features that reach this glyph besides the global ones, such as the joining form of an Arabic letter.

Link copied to clipboard
var gid: Int

The glyph id.

Link copied to clipboard

The kind of default ignorable character this glyph stands for, which a lookup may pass over, or null for any other glyph. CGJ, the Mongolian free variation selectors and the tag characters stay null, because HarfBuzz does not pass over them in GSUB.

Link copied to clipboard

True for a glyph a shaper inserted, such as a dotted circle. Until a substitution replaces it, it has no glyph class, so no lookup flag passes over it, as in HarfBuzz.

Link copied to clipboard

True for a combining mark. A lookup flag reads it when the font has no GDEF glyph classes of its own.

Link copied to clipboard

True once a ligature substitution produced this glyph. A shaper may clear it.

Link copied to clipboard

True when a multiple substitution produced this glyph and no ligature has joined it since. A shaper may clear it.

Link copied to clipboard

Free for the shaper: the category and position an Indic shaper keeps with each glyph.

Link copied to clipboard

True once any substitution replaced this glyph. A lookup no longer passes over it. A shaper may clear it, as HarfBuzz clears it between the stages of its Universal Shaping Engine to see what the next stage substitutes.

Link copied to clipboard

The syllable of the glyph, which a per-syllable lookup does not match across.