diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2007-08-15 19:23:54 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2007-08-15 19:23:54 +0000 |
commit | f90163fecc2f1e10ea1c800c2ac3045b485398bd (patch) | |
tree | 4c0f0455ee3eabf4b09de5142a15fa1c194c9838 /pango/pango-renderer.c | |
parent | cb816fe9b636b832e8383acc03654f92edb583d3 (diff) | |
download | pango-f90163fecc2f1e10ea1c800c2ac3045b485398bd.tar.gz |
Bug 467056 – Shape attribute handling is not consistent
2007-08-15 Behdad Esfahbod <behdad@gnome.org>
Bug 467056 – Shape attribute handling is not consistent
* pango/pango-impl-utils.h:
* pango/pango-layout.c (pango_layout_line_index_to_x), (shape_run),
(pango_layout_line_x_to_index), (pango_layout_run_get_extents),
(update_run):
* pango/pango-renderer.c (pango_renderer_draw_layout_line):
* pango/pango-utils.c (_pango_shape_shape),
(_pango_shape_get_extents):
Fix handling of extents for shaped runs. Previsouly a shaped run
with more than one character was not correctly positioned.
svn path=/trunk/; revision=2401
Diffstat (limited to 'pango/pango-renderer.c')
-rw-r--r-- | pango/pango-renderer.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pango/pango-renderer.c b/pango/pango-renderer.c index 9dc1198f..6d134118 100644 --- a/pango/pango-renderer.c +++ b/pango/pango-renderer.c @@ -427,6 +427,7 @@ draw_shaped_glyphs (PangoRenderer *renderer, } } + /** * pango_renderer_draw_layout_line: * @renderer: a #PangoRenderer @@ -490,11 +491,14 @@ pango_renderer_draw_layout_line (PangoRenderer *renderer, if (shape_attr) { - ink_rect = shape_attr->ink_rect; - logical_rect = shape_attr->logical_rect; ink = &ink_rect; logical = &logical_rect; - glyph_string_width = shape_attr->logical_rect.width; + _pango_shape_get_extents (run->glyphs->num_glyphs, + &shape_attr->ink_rect, + &shape_attr->logical_rect, + ink, + logical); + glyph_string_width = logical->width; } else { |