diff options
Diffstat (limited to 'pango/pangofc-font.c')
-rw-r--r-- | pango/pangofc-font.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c index a7e35ebf..0f9cdbc6 100644 --- a/pango/pangofc-font.c +++ b/pango/pangofc-font.c @@ -304,11 +304,21 @@ get_face_metrics (PangoFcFont *fcfont, FT_Vector_Transform (&vector, &ft_matrix); metrics->ascent = PANGO_UNITS_26_6 (vector.y); } - else + else if (hinting) { metrics->descent = - PANGO_UNITS_26_6 (face->size->metrics.descender); metrics->ascent = PANGO_UNITS_26_6 (face->size->metrics.ascender); } + else + { + FT_Fixed ascender, descender; + + descender = FT_MulFix (face->descender, face->size->metrics.y_scale); + metrics->descent = - PANGO_UNITS_26_6 (descender); + + ascender = FT_MulFix (face->ascender, face->size->metrics.y_scale); + metrics->ascent = PANGO_UNITS_26_6 (ascender); + } /* Versions of FreeType < 2.1.8 get underline thickness wrong * for Postscript fonts (always zero), so we need a fallback |