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: