Huw Davies : Revert "gdi32: Do not use VDMX for mapping of negative font heights, based on a test case .".
Module: wine Branch: master Commit: bb5aa8862c737d875ea05722bbcd0f3dfd77c9d0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb5aa8862c737d875ea05722bb... Author: Huw Davies <huw(a)codeweavers.com> Date: Wed Aug 28 14:21:11 2013 +0100 Revert "gdi32: Do not use VDMX for mapping of negative font heights, based on a test case.". This reverts commit 7d3cb53cf1a5f40094fbc3332524ec98781d3779. --- dlls/gdi32/freetype.c | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index 2a2bde1..3f3b480 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -4577,6 +4577,25 @@ static LONG load_VDMX(GdiFont *font, LONG height) ppem = 0; TRACE("ppem not found for height %d\n", height); } + } else { + ppem = -height; + if(ppem < startsz || ppem > endsz) + goto end; + + for(i = 0; i < recs; i++) { + USHORT yPelHeight; + yPelHeight = GET_BE_WORD(vTable[i * 3]); + + if(yPelHeight > ppem) + break; /* failed */ + + if(yPelHeight == ppem) { + font->yMax = GET_BE_WORD(vTable[(i * 3) + 1]); + font->yMin = GET_BE_WORD(vTable[(i * 3) + 2]); + TRACE("ppem %d found; yMax=%d yMin=%d\n", ppem, font->yMax, font->yMin); + break; + } + } } end: HeapFree(GetProcessHeap(), 0, vTable);
participants (1)
-
Alexandre Julliard