From: Katayama Hirofumi MZ Date: Wed, 25 Oct 2017 09:10:36 +0000 (+0900) Subject: [WIN32SS] fix font extent. X-Git-Tag: 0.4.8-dev~7 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=85ae8421055f51eac48cb3d8acce47a7cd715982;ds=sidebyside [WIN32SS] fix font extent. CORE-13840 --- diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c index ca1af462c54..eb2fc7756da 100644 --- a/win32ss/gdi/ntgdi/freetype.c +++ b/win32ss/gdi/ntgdi/freetype.c @@ -3570,6 +3570,7 @@ TextIntGetTextExtentPoint(PDC dc, PMATRIX pmxWorldToDevice; LOGFONTW *plf; BOOL EmuBold, EmuItalic; + LONG ascender, descender; FontGDI = ObjToGDI(TextObj->Font, FONT); @@ -3676,13 +3677,12 @@ TextIntGetTextExtentPoint(PDC dc, previous = glyph_index; String++; } + ascender = (face->size->metrics.ascender + 32) >> 6; /* Units above baseline */ + descender = (32 - face->size->metrics.descender) >> 6; /* Units below baseline */ IntUnLockFreeType; Size->cx = (TotalWidth + 32) >> 6; - Size->cy = (plf->lfHeight == 0 ? - dc->ppdev->devinfo.lfDefaultFont.lfHeight : - abs(plf->lfHeight)); - Size->cy = EngMulDiv(Size->cy, dc->ppdev->gdiinfo.ulLogPixelsY, 72); + Size->cy = ascender + descender; return TRUE; }