Text
Rendering text and glyphs
Cairo has two sets of text rendering capabilities:
The functions with text in their name form cairo's
toy text API. The toy API takes UTF-8 encoded
text and is limited in its functionality to rendering simple
left-to-right text with no advanced features. That means for example
that most complex scripts like Hebrew, Arabic, and Indic scripts are
out of question. No kerning or correct positioning of diacritical marks
either. The font selection is pretty limited too and doesn't handle the
case that the selected font does not cover the characters in the text.
This set of functions are really that, a toy text API, for testing and
demonstration purposes. Any serious application should avoid them.
The functions with glyphs in their name form cairo's
low-level text API. The low-level API relies on
the user to convert text to a set of glyph indexes and positions. This
is a very hard problem and is best handled by external libraries, like
the pangocairo that is part of the Pango text layout and rendering library.
Pango is available from http://www.pango.org/.
#cairo_font_face_t
#cairo_scaled_font_t
cairo_text_path()
cairo_glyph_path()
@index:
@x:
@y:
@CAIRO_FONT_SLANT_NORMAL:
@CAIRO_FONT_SLANT_ITALIC:
@CAIRO_FONT_SLANT_OBLIQUE:
@CAIRO_FONT_WEIGHT_NORMAL:
@CAIRO_FONT_WEIGHT_BOLD:
@num_bytes:
@num_glyphs:
@CAIRO_TEXT_CLUSTER_FLAG_BACKWARD:
@cr:
@family:
@slant:
@weight:
@cr:
@size:
@cr:
@matrix:
@cr:
@matrix:
@cr:
@options:
@cr:
@options:
@cr:
@font_face:
@cr:
@Returns:
@cr:
@scaled_font:
@cr:
@Returns:
@cr:
@utf8:
@cr:
@glyphs:
@num_glyphs:
@cr:
@utf8:
@utf8_len:
@glyphs:
@num_glyphs:
@clusters:
@num_clusters:
@cluster_flags:
@cr:
@extents:
@cr:
@utf8:
@extents:
@cr:
@glyphs:
@num_glyphs:
@extents:
@family:
@slant:
@weight:
@Returns:
@font_face:
@Returns:
@font_face:
@Returns:
@font_face:
@Returns:
@num_glyphs:
@Returns:
@glyphs:
@num_clusters:
@Returns:
@clusters: