Re: pango layout in irregular (non-rectangular) bounding shape
- From: alissa_sabre yahoo co jp (Alissa Sabre)
- To: gtk-i18n-list gnome org
- Subject: Re: pango layout in irregular (non-rectangular) bounding shape
- Date: Sun, 01 Mar 2009 20:22:44 +0900
august,
> I
> can already render stuff to screen and bound a text segment by width
> and height
I guess you tried PangoLayout and friends.
> how to render text within a non-rectangular bounding shape?
> Can someone point me in the right direction?
If I were you, I'd be using PangoItem, PangoGlyphString, and friends.
They are lower layer interface to pango, and you need to write more
codes than using PangoLayout, but it gives you better control over
layout. (There may be some easier ways if you only needs fill texts
ina non rectangular area, but I don't know.)
The following outlines what you need to do:
(1) Call pango_itemize() once for your text,
(2) Call pango_break() for your entire text,
(3) Call pango_shape() for each PangoItem you got,
(4) Fold the text into lines, scanning the list of PangoItems, calling
pango_glyph_string_get_width() for each PangoGlyphString you got,
also breaking several PangoItem in a middle, referring to
PangoLogAttr array you got (This will be the most complicated step),
(5) Either call pango_reorder_items() for each folded line and somehow
refrect the results to your list of PangoGlyphString (or does an
equivalent processing manually as suggested by pango document...), and
(6) Call pango_cairo_show_glyph_string() for each PangoGlyphString,
moving the cairo current point appropriately.
Hope this helps,
Alissa
--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]