summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2006-06-05 18:16:30 +0000
committerHans Breuer <hans@src.gnome.org>2006-06-05 18:16:30 +0000
commitbfcae3ac7e2426925f671b42843fb7e88003deee (patch)
tree0448c04f64f64c0da193c437e574367d6882942d
parent88790d7e97caa9a9674cc938dcce7f6b1cb840ed (diff)
downloadpango-bfcae3ac7e2426925f671b42843fb7e88003deee.tar.gz
[merged from HEAD] not only handle PANGO_GLYPH_EMPTY but also
2006-06-05 Hans Breuer <hans@breuer.org> [merged from HEAD] * pango/pangocairo-win32font.c(compute_glyph_extents) : not only handle PANGO_GLYPH_EMPTY but also PANGO_GLYPH_UNKNOWN_FLAG. The latter is needed to have proper sizing of the "hex box" for missing glyphs. It also stops cairo complaining about unknown glyphs. Fixes part of bug #343796.
-rw-r--r--ChangeLog8
-rw-r--r--pango/pangocairo-win32font.c11
2 files changed, 18 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index dc94e68e..24b5c6d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-06-05 Hans Breuer <hans@breuer.org>
+ [merged from HEAD]
+ * pango/pangocairo-win32font.c(compute_glyph_extents) : not only
+ handle PANGO_GLYPH_EMPTY but also PANGO_GLYPH_UNKNOWN_FLAG.
+ The latter is needed to have proper sizing of the "hex box" for
+ missing glyphs. It also stops cairo complaining about unknown glyphs.
+ Fixes part of bug #343796.
+
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
diff --git a/pango/pangocairo-win32font.c b/pango/pangocairo-win32font.c
index 1a14a205..c564bbb4 100644
--- a/pango/pangocairo-win32font.c
+++ b/pango/pangocairo-win32font.c
@@ -212,7 +212,16 @@ compute_glyph_extents (PangoFont *font,
logical_rect->width = 0;
logical_rect->height = (font_extents.ascent + font_extents.descent) * PANGO_SCALE;
- if (glyph != PANGO_GLYPH_EMPTY)
+ if (glyph == PANGO_GLYPH_EMPTY)
+ {
+ /* already initialized above */
+ }
+ else if (glyph & PANGO_GLYPH_UNKNOWN_FLAG)
+ {
+ /* space for the hex box */
+ _pango_cairo_get_glyph_extents_missing(cfont, glyph, ink_rect, logical_rect);
+ }
+ else
{
cairo_glyph.index = glyph;
cairo_glyph.x = 0;