From 85ae8421055f51eac48cb3d8acce47a7cd715982 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Wed, 25 Oct 2017 18:10:36 +0900 Subject: [PATCH] [WIN32SS] fix font extent. CORE-13840 --- win32ss/gdi/ntgdi/freetype.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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; } -- 2.17.1