# gnome-glyphlist

## Name

gnome-glyphlist --

## Synopsis

    struct      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

### >struct GnomeGlyphList

    struct GnomeGlyphList;

### >gnome_glyphlist_new ()

    GnomeGlyphList* gnome_glyphlist_new         (void);

Returns : |

### >gnome_glyphlist_ref ()

    GnomeGlyphList* gnome_glyphlist_ref         (GnomeGlyphList *gl);

gl : |
Returns : |

### >gnome_glyphlist_unref ()

    GnomeGlyphList* gnome_glyphlist_unref       (GnomeGlyphList *gl);

gl : |
Returns : |

### >gnome_glyphlist_duplicate ()

    GnomeGlyphList* gnome_glyphlist_duplicate   (GnomeGlyphList *gl);

gl : |
Returns : |

### >gnome_glyphlist_check ()

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

gl : |
rules : |
Returns : |

### >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

font : |
color : |
kerning : |
letterspace : |
text : |
Returns : |

### >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

font : |
color : |
kerning : |
letterspace : |
text : |
length : |
Returns : |

### >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.

gl : |
advance : |

### >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)

gl : |
kerning : |

### >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)

gl : |
letterspace : |

### >gnome_glyphlist_font ()

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

Specify the font to be used for the glyphs that follow

gl : |
font : |

### >gnome_glyphlist_color ()

    void        gnome_glyphlist_color           (GnomeGlyphList *gl,
                                                 guint32 color);

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

gl : |
color : |

### >gnome_glyphlist_moveto ()

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

Position manually the glyph following

gl : |
x : |
y : |

### >gnome_glyphlist_rmoveto ()

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

Position the glyph following relative to current pen position

gl : |
x : |
y : |

### >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

gl : |
glyph : |

### >gnome_glyphlist_glyphs ()

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

Append a string of glyphs

gl : |
glyphs : |
num_glyphs : |

### >gnome_glyphlist_text_dumb ()

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

See _text_sized_dumb

gl : |
text : |

### >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

gl : |
text : |
length : |

### >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

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