From c5d07b7c228e3243e39859669b66a50c8871952b Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Mon, 7 Apr 2008 21:23:55 +0900 Subject: [PATCH] gdi32: Fix lfWidth before caching the font to avoid duplicate entries in the cache. --- dlls/gdi32/freetype.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index be8688a1d91..b00bc71a449 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -3120,6 +3120,8 @@ GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont) LeaveCriticalSection( &freetype_cs ); return NULL; } + lf.lfWidth = abs(lf.lfWidth); + can_use_bitmap = GetDeviceCaps(dc->hSelf, TEXTCAPS) & TC_RA_ABLE; TRACE("%s, h=%d, it=%d, weight=%d, PandF=%02x, charset=%d orient %d escapement %d\n", @@ -3382,7 +3384,7 @@ found: TRACE("Chosen: %s %s (%s/%p:%ld)\n", debugstr_w(family->FamilyName), debugstr_w(face->StyleName), face->file, face->font_data_ptr, face->face_index); - ret->aveWidth = height ? abs(lf.lfWidth) : 0; + ret->aveWidth = height ? lf.lfWidth : 0; if(!face->scalable) { /* Windows uses integer scaling factors for bitmap fonts */