From 6ce8121cc5b7ad6e5eb14cae75dc8faf98b296dc Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Wed, 22 Sep 2004 20:31:54 +0000 Subject: Use get_glyph_extents_raw() when hinting is disabled as well as when we Wed Sep 22 16:15:40 2004 Owen Taylor * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Use get_glyph_extents_raw() when hinting is disabled as well as when we are transforming. (#152529, Vincent Noel) * pango/pangofc-font.c (pango_fc_font_get_raw_extents): Duplicate the fix for non-scalable fonts from get_face_metrics() here as well. --- ChangeLog | 10 ++++++++++ ChangeLog.pre-1-10 | 10 ++++++++++ ChangeLog.pre-1-6 | 10 ++++++++++ ChangeLog.pre-1-8 | 10 ++++++++++ pango/pangofc-font.c | 3 ++- pango/pangoxft-font.c | 2 +- 6 files changed, 43 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index e0c96adb..898b955e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Wed Sep 22 16:15:40 2004 Owen Taylor + + * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Use + get_glyph_extents_raw() when hinting is disabled as well + as when we are transforming. (#152529, Vincent Noel) + + * pango/pangofc-font.c (pango_fc_font_get_raw_extents): Duplicate + the fix for non-scalable fonts from get_face_metrics() here as + well. + Wed Sep 22 15:57:30 2004 Owen Taylor * pango/pango-layout.c (pango_layout_get_ellipsize): Fix diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index e0c96adb..898b955e 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,13 @@ +Wed Sep 22 16:15:40 2004 Owen Taylor + + * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Use + get_glyph_extents_raw() when hinting is disabled as well + as when we are transforming. (#152529, Vincent Noel) + + * pango/pangofc-font.c (pango_fc_font_get_raw_extents): Duplicate + the fix for non-scalable fonts from get_face_metrics() here as + well. + Wed Sep 22 15:57:30 2004 Owen Taylor * pango/pango-layout.c (pango_layout_get_ellipsize): Fix diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index e0c96adb..898b955e 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,13 @@ +Wed Sep 22 16:15:40 2004 Owen Taylor + + * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Use + get_glyph_extents_raw() when hinting is disabled as well + as when we are transforming. (#152529, Vincent Noel) + + * pango/pangofc-font.c (pango_fc_font_get_raw_extents): Duplicate + the fix for non-scalable fonts from get_face_metrics() here as + well. + Wed Sep 22 15:57:30 2004 Owen Taylor * pango/pango-layout.c (pango_layout_get_ellipsize): Fix diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index e0c96adb..898b955e 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,13 @@ +Wed Sep 22 16:15:40 2004 Owen Taylor + + * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Use + get_glyph_extents_raw() when hinting is disabled as well + as when we are transforming. (#152529, Vincent Noel) + + * pango/pangofc-font.c (pango_fc_font_get_raw_extents): Duplicate + the fix for non-scalable fonts from get_face_metrics() here as + well. + Wed Sep 22 15:57:30 2004 Owen Taylor * pango/pango-layout.c (pango_layout_get_ellipsize): Fix diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c index a26d2da2..71c81bc2 100644 --- a/pango/pangofc-font.c +++ b/pango/pangofc-font.c @@ -747,7 +747,8 @@ pango_fc_font_get_raw_extents (PangoFcFont *fcfont, { logical_rect->x = 0; logical_rect->width = PANGO_UNITS_26_6 (gm->horiAdvance); - if (fcfont->is_hinted) + if (fcfont->is_hinted || + (face->face_flags & FT_FACE_FLAG_SCALABLE) == 0) { logical_rect->y = - PANGO_UNITS_26_6 (face->size->metrics.ascender); logical_rect->height = PANGO_UNITS_26_6 (face->size->metrics.ascender - face->size->metrics.descender); diff --git a/pango/pangoxft-font.c b/pango/pangoxft-font.c index d7c6bf3a..9834ba6b 100644 --- a/pango/pangoxft-font.c +++ b/pango/pangoxft-font.c @@ -542,7 +542,7 @@ pango_xft_font_get_glyph_extents (PangoFont *font, } else if (glyph) { - if (!fcfont->is_transformed) + if (!fcfont->is_transformed && fcfont->is_hinted) get_glyph_extents_xft (fcfont, glyph, ink_rect, logical_rect); else get_glyph_extents_raw (xfont, glyph, ink_rect, logical_rect); -- cgit v1.2.1