Glyph Storage Structures for storing information about glyphs. pango_shape() produces a string of glyphs which can be measured or drawn to the screen. The following structures are used to store information about glyphs. The #PangoGlyph structure represents a single glyph in the output form of a string. It contains the following fields. #PangoGlyphIndex glyph; the index of the glyph into the font. (Rendering system dependent). #PangoCFont *font; the rendering-system-specific font information for this glyph. The #PangoGlyphIndex type is an integral type used to store glyph indices. The #PangoGlyphGeometry structure contains width and positioning information for a single glyph. Distances are in 1/64ths of a point. #PangoGlyphUnit width; the logical width to use for the the character. #PangoCFont *x_offset; horizontal offset from nominal character position. #PangoCFont *y_offset; vertical offset from nominal character position. The #PangoGlyphUnit type is used to store dimensions within Pango. Dimensions are stored in 1/64ths of a point. The PangoGlyphVisAttr is used to communicate information between the shaping phase and the rendering phase. It's contents are still evolving. #guint is_cluster_start : 1; set for the first logical glyph in each cluster. (Clusters are stored in visual order, within the cluster, glyphs are always ordered in logical order, since visual order is meaningless; that is, in Arabic text, accent glyphs follow the glyphs for the base character.) The #PangoGlyphString structure is used to store strings of glyphs with geometry and visual attribute information. The storage for the glyph information is owned by the structure which simplifies memory management. #PangoGlyphString contains the following publically accessible fields gint #num_glyphs; the number of glyphs in the string. PangoGlyph *#glyphs; an array of glyphs of length num_glyphs. PangoGlyphGeometry *#geometry; an array of #PangoGlyphGeometry structures corresponding to glyphs. PangoGlyphVisAttr *#attrs; an array of #PangoGlyphVisAttr structures corresponding to glyphs. gint *#log_clusters; for each glyph, the character index (should this be byte index?) of the starting character for the cluster. @Returns: @string: @new_len: @string: