Re: text size in pango

I think you need something like this:

PangoLayout *layout;
PangoFontDescription *font;
create Pango layout and font
pango_layout_set_font_description(layout, font);
PangoRectangle pos;
pango_layout_set_text(layout, s, len);
/* s should be in UTF8 I think */
pango_layout_index_to_pos(layout, len, &pos);
int width = PANGO_PIXELS(pos.x);
return width;

I admit this is a bit convoluted compared to gdk_text_width() but there
might be a simpler way which I do not know about (IANAPE *)

The Pango guys can give you a better idea if the above does not work, so
CC-ing them.


(*) I am not a Pango expert :-)

Am Mit, 2003-05-07 um 07.23 schrieb Evan Martin:
On Wed, May 07, 2003 at 02:08:06AM +0200, Fritz Ganter wrote:
I draw my text with gdk_draw_layout_with_colors, but need to know the
size of the string. In GTK-1.2 I did this with
k = gdk_text_width (smalltextfont, txt, strlen (txt));
I need the same in pango, to draw a box around it and to position the
text on the graphic.

Look at the "Text Handling in GTK 2" section of
I read it, but can't find the functions:
If found here
When asking for text metrics, such as the size of a PangoLayout, you'll
notice that all Pango objects have a "logical size" and an "ink size."
The logical size corresponds to the font metrics (ascent and descent),
and should be used to position text. The logical size for a line of

But with which function to use?

People, GTK2 is really cool, but documentation of this pango stuff is
3 lines of example code would save hours of searching for docu. In
gtk-demo is nothing about it.

Fritz "der mit dem Linux tanzt" Ganter
 Key fingerprint = 555A DDBB 3985 16FF CD41  2031 C485 1783 BF34 728F

gtk-app-devel-list mailing list
gtk-app-devel-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]