Huw Davies : Revert "gdi32: Do not use VDMX for mapping of negative font heights, based on a test case .".
Alexandre Julliard
julliard at winehq.org
Wed Aug 28 14:03:10 CDT 2013
Module: wine
Branch: master
Commit: bb5aa8862c737d875ea05722bbcd0f3dfd77c9d0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb5aa8862c737d875ea05722bbcd0f3dfd77c9d0
Author: Huw Davies <huw at 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);
More information about the wine-cvs
mailing list