## gnome-glyphlist gnome-glyphlist |

## Synopsis

                        GnomeGlyphList;
    GnomeGlyphList *    gnome_glyphlist_new                 (void);
    GnomeGlyphList *    gnome_glyphlist_ref                 (GnomeGlyphList *gl);
    GnomeGlyphList *    gnome_glyphlist_unref               (GnomeGlyphList *gl);
    GnomeGlyphList *    gnome_glyphlist_duplicate           (GnomeGlyphList *gl);
    gboolean            gnome_glyphlist_check               (const GnomeGlyphList *gl,
                                                             gboolean rules);
    GnomeGlyphList *    gnome_glyphlist_from_text_dumb      (GnomeFont *font,
                                                             guint32 color,
                                                             gdouble kerning,
                                                             gdouble letterspace,
                                                             const guchar *text);
    GnomeGlyphList *    gnome_glyphlist_from_text_sized_dumb
                                                            (GnomeFont *font,
                                                             guint32 color,
                                                             gdouble kerning,
                                                             gdouble letterspace,
                                                             const guchar *text,
                                                             gint length);
    void                gnome_glyphlist_advance             (GnomeGlyphList *gl,
                                                             gboolean advance);
    void                gnome_glyphlist_kerning             (GnomeGlyphList *gl,
                                                             gdouble kerning);
    void                gnome_glyphlist_letterspace         (GnomeGlyphList *gl,
                                                             gdouble letterspace);
    void                gnome_glyphlist_font                (GnomeGlyphList *gl,
                                                             GnomeFont *font);
    void                gnome_glyphlist_color               (GnomeGlyphList *gl,
                                                             guint32 color);
    void                gnome_glyphlist_moveto              (GnomeGlyphList *gl,
                                                             gdouble x,
                                                             gdouble y);
    void                gnome_glyphlist_rmoveto             (GnomeGlyphList *gl,
                                                             gdouble x,
                                                             gdouble y);
    void                gnome_glyphlist_glyph               (GnomeGlyphList *gl,
                                                             gint glyph);
    void                gnome_glyphlist_glyphs              (GnomeGlyphList *gl,
                                                             gint *glyphs,
                                                             gint num_glyphs);
    void                gnome_glyphlist_text_dumb           (GnomeGlyphList *gl,
                                                             const guchar *text);
    void                gnome_glyphlist_text_sized_dumb     (GnomeGlyphList *gl,
                                                             const guchar *text,
                                                             gint length);
    ArtDRect *          gnome_glyphlist_bbox                (const GnomeGlyphList *gl,
                                                             const gdouble *transform,
                                                             gint flags,
                                                             ArtDRect *bbox);

## Description

## Details

### GnomeGlyphList

    typedef struct _GnomeGlyphList GnomeGlyphList;

### gnome_glyphlist_new ()

    GnomeGlyphList *    gnome_glyphlist_new                 (void);

### gnome_glyphlist_ref ()

    GnomeGlyphList *    gnome_glyphlist_ref                 (GnomeGlyphList *gl);

### gnome_glyphlist_unref ()

    GnomeGlyphList *    gnome_glyphlist_unref               (GnomeGlyphList *gl);

### gnome_glyphlist_duplicate ()

    GnomeGlyphList *    gnome_glyphlist_duplicate           (GnomeGlyphList *gl);

### gnome_glyphlist_check ()

    gboolean            gnome_glyphlist_check               (const GnomeGlyphList *gl,
                                                             gboolean rules);

### gnome_glyphlist_from_text_dumb ()

    GnomeGlyphList *    gnome_glyphlist_from_text_dumb      (GnomeFont *font,
                                                             guint32 color,
                                                             gdouble kerning,
                                                             gdouble letterspace,
                                                             const guchar *text);

See _from_text_sized_dumb

### gnome_glyphlist_from_text_sized_dumb ()

    GnomeGlyphList *    gnome_glyphlist_from_text_sized_dumb
                                                            (GnomeFont *font,
                                                             guint32 color,
                                                             gdouble kerning,
                                                             gdouble letterspace,
                                                             const guchar *text,
                                                             gint length);

Appends utf8 text, converting it to glyphs and connecting it as specified by rules. You cannot expect anything about language-specific typesetting rules, so if the given script does not use trivial placement, you should better avoid this

### gnome_glyphlist_advance ()

    void                gnome_glyphlist_advance             (GnomeGlyphList *gl,
                                                             gboolean advance);

Whether or not to move the pen position by the font standard advance vector. Advancing happens immediately after glyph is sent through pipeline.

### gnome_glyphlist_kerning ()

    void                gnome_glyphlist_kerning             (GnomeGlyphList *gl,
                                                             gdouble kerning);

Amount of kerning to add between glyphs connected by an advance rule. It is specified as fraction of a full kerning value If a glyph is manually positioned, the kerning value is ignored Kerning will be added immediately before placing a new glyph FIXME: What does the last sentence mean? (Chema)

### gnome_glyphlist_letterspace ()

    void                gnome_glyphlist_letterspace         (GnomeGlyphList *gl,
                                                             gdouble letterspace);

Amount of white space to add between glyphs connected by an advance rule. It is specified in font units (i.e. 12 for 12pt font is the width of an em square). If glyph is manually positioned, letterspace value will be ignored. Letterspace will be added immediately before placing a new glyph FIXME: what does the last sentence mean? (Chema)

### gnome_glyphlist_font ()

    void                gnome_glyphlist_font                (GnomeGlyphList *gl,
                                                             GnomeFont *font);

Specify the font to be used for the glyphs that follow

### gnome_glyphlist_color ()

    void                gnome_glyphlist_color               (GnomeGlyphList *gl,
                                                             guint32 color);

Specify the color as RRGGBBAA to be used for the glyphs that follow

### gnome_glyphlist_moveto ()

    void                gnome_glyphlist_moveto              (GnomeGlyphList *gl,
                                                             gdouble x,
                                                             gdouble y);

Position manually the glyph following

### gnome_glyphlist_rmoveto ()

    void                gnome_glyphlist_rmoveto             (GnomeGlyphList *gl,
                                                             gdouble x,
                                                             gdouble y);

Position the glyph following relative to current pen position

### gnome_glyphlist_glyph ()

    void                gnome_glyphlist_glyph               (GnomeGlyphList *gl,
                                                             gint glyph);

Appends a single glyph to the glyphlist. It will be connected to the previous glyphs by the previously defined rules

### gnome_glyphlist_glyphs ()

    void                gnome_glyphlist_glyphs              (GnomeGlyphList *gl,
                                                             gint *glyphs,
                                                             gint num_glyphs);

Append a string of glyphs

### gnome_glyphlist_text_dumb ()

    void                gnome_glyphlist_text_dumb           (GnomeGlyphList *gl,
                                                             const guchar *text);

See _text_sized_dumb

### gnome_glyphlist_text_sized_dumb ()

    void                gnome_glyphlist_text_sized_dumb     (GnomeGlyphList *gl,
                                                             const guchar *text,
                                                             gint length);

The 'dumb' versions of glyphlist creation It just places glyphs one after another - no ligaturing etc. text is utf8, of course

### gnome_glyphlist_bbox ()

    ArtDRect *          gnome_glyphlist_bbox                (const GnomeGlyphList *gl,
                                                             const gdouble *transform,
                                                             gint flags,
                                                             ArtDRect *bbox);

Get ink dimensions of transformed glyphlist Flags are to specify user preferences, should be 0 for now

`flags` : | should be 0 for now
Returns : | bbox, NULL on error