Constructor GlyphClusterMap
GlyphClusterMap(int, int, string, IReadOnlyList<ushort>)
Initializes one cluster mapping entry.
public GlyphClusterMap(int clusterStart, int clusterLength, string unicodeText, IReadOnlyList<ushort> glyphIds)
Parameters
clusterStartintThe UTF-16 start index in the run text.
clusterLengthintThe UTF-16 length of the source segment.
unicodeTextstringThe Unicode text represented by the cluster.
glyphIdsIReadOnlyList<ushort>The shaped glyph IDs that realize this cluster.
GlyphClusterMap(int, int, string, IReadOnlyList<ushort>, IReadOnlyList<GlyphPlacement>?)
Initializes a cluster whose glyphs carry their own placements: the advance and the offsets the shaper gave each glyph, one entry per glyph id, or null when every glyph sits at its nominal advance. A combining mark is a glyph with a zero advance and an offset back over its base; a pair adjustment is an advance that is not the width.
public GlyphClusterMap(int clusterStart, int clusterLength, string unicodeText, IReadOnlyList<ushort> glyphIds, IReadOnlyList<GlyphPlacement>? glyphPlacements)
Parameters
clusterStartintThe cluster's first UTF-16 index in the run's text.
clusterLengthintThe number of UTF-16 code units the cluster covers.
unicodeTextstringThe cluster's text.
glyphIdsIReadOnlyList<ushort>The glyphs, in drawing order.
glyphPlacementsIReadOnlyList<GlyphPlacement>One placement per glyph, or null for nominal placement.