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: