The mapping between utf8 and glyphs is provided by an array
of clusters. 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_TEXT_CLUSTER_FLAG_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.
The mapping between utf8 and glyphs is provided by an array of clusters. 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_TEXT_CLUSTER_FLAG_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.