[08/12] gdi32: Don't cache glyph metrics if they have a custom transformation
Dmitry Timoshkov
dmitry at codeweavers.com
Tue Jun 24 02:12:14 CDT 2008
Hello,
Changelog:
gdi32: Don't cache glyph metrics if they have a custom transformation.
---
dlls/gdi32/freetype.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 4782d66..01c9530 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -4473,7 +4473,12 @@ DWORD WineEngGetGlyphOutline(GdiFont *incoming_font, UINT glyph, UINT format,
lpgm->gmptGlyphOrigin.x = left >> 6;
lpgm->gmptGlyphOrigin.y = top >> 6;
- if(format == GGO_METRICS || format == GGO_BITMAP || format == WINE_GGO_GRAY16_BITMAP)
+ TRACE("%u,%u,%s,%d,%d\n", lpgm->gmBlackBoxX, lpgm->gmBlackBoxY,
+ wine_dbgstr_point(&lpgm->gmptGlyphOrigin),
+ lpgm->gmCellIncX, lpgm->gmCellIncY);
+
+ if ((format == GGO_METRICS || format == GGO_BITMAP || format == WINE_GGO_GRAY16_BITMAP) &&
+ (!lpmat || is_identity_MAT2(lpmat))) /* don't cache custom transforms */
{
FONT_GM(font,original_index)->gm = *lpgm;
FONT_GM(font,original_index)->adv = adv;
--
1.5.5.4
More information about the wine-patches
mailing list