From 09cbe37854c3544dc72d82f49a9e542fd02cefc1 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Sat, 7 May 2005 17:32:43 +0000 Subject: [PATCH] Fixed leading. Simplified a bit the code git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12591 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/FontFamily.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/servers/app/FontFamily.cpp b/src/servers/app/FontFamily.cpp index 4db2b6b23a..c046f413c9 100644 --- a/src/servers/app/FontFamily.cpp +++ b/src/servers/app/FontFamily.cpp @@ -53,14 +53,15 @@ FontStyle::FontStyle(const char *filepath, FT_Face face) fbounds.Set(0,0,0,0); fFace=TranslateStyleToFace(face->style_name); fID=0; - fHeight.ascent=face->ascender; - fHeight.descent=face->descender; + fHeight.ascent = face->ascender; + + // FT2's descent numbers are negative. Be's is positive + fHeight.descent = -face->descender; // FT2 doesn't provide a linegap, but according to the docs, we can // calculate it because height = ascending + descending + leading - fHeight.leading=face->height-( face->ascender + (face->descender>0)? - face->descender : face->descender * -1); - fHeight.units_per_em=face->units_per_EM; + fHeight.leading = face->height - (fHeight.ascent + fHeight.descent); + fHeight.units_per_em = face->units_per_EM; } /*! @@ -91,12 +92,9 @@ font_height FontStyle::GetHeight(const float &size) // font units are 26.6 format, so we get REALLY big numbers if // we don't do some shifting. - fh.ascent=(fHeight.ascent * size) / fHeight.units_per_em; - - // FT2's descent numbers are negative. Be's is positive - fh.descent=(fHeight.descent * size * -1) / fHeight.units_per_em; - - fh.leading=(fHeight.leading * size) / fHeight.units_per_em; + fh.ascent = (fHeight.ascent * size) / fHeight.units_per_em; + fh.descent = (fHeight.descent * size) / fHeight.units_per_em; + fh.leading = (fHeight.leading * size) / fHeight.units_per_em; return fh; }