Module: wine Branch: master Commit: bb5aa8862c737d875ea05722bbcd0f3dfd77c9d0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb5aa8862c737d875ea05722bb...
Author: Huw Davies huw@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);