Context.showTextGlyphs

This operation has rendering effects similar to cairo.context.Context.showGlyphs but, if the target surface supports it, uses the provided text and cluster mapping to embed the text for the glyphs shown in the output. If the target does not support the extended attributes, this function acts like the basic cairo.context.Context.showGlyphs as if it had been passed glyphs and num_glyphs.

The mapping between utf8 and glyphs is provided by an array of <firstterm>clusters</firstterm>. Each cluster covers a number of text bytes and glyphs, and neighboring clusters cover neighboring areas of utf8 and glyphs. The clusters should collectively cover utf8 and glyphs in entirety.

The first cluster always covers bytes from the beginning of utf8. If cluster_flags do not have the cairo.types.TextClusterFlags.Backward set, the first cluster also covers the beginning of glyphs, otherwise it covers the end of the glyphs array and following clusters move backward.

See #cairo_text_cluster_t for constraints on valid clusters.

Parameters

utf8 string

a string of text encoded in UTF-8

utf8Len int

length of utf8 in bytes, or -1 if it is NUL-terminated

glyphs cairo.glyph.Glyph

array of glyphs to show

numGlyphs int

number of glyphs to show

clusters cairo.text_cluster.TextCluster

array of cluster mapping information

numClusters int

number of clusters in the mapping

clusterFlags cairo.types.TextClusterFlags

cluster mapping flags