[PATCH 1/3] gdi32: Use correct name for elfFullName.
Grazvydas Ignotas
notasas at gmail.com
Tue Aug 23 15:11:57 CDT 2011
elfFullName (returned by EnumFontFamilies) usually matches FamilyName,
but not for all fonts, we need to use FullName instead.
---
dlls/gdi32/freetype.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 426dc05..716a37f 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -4085,7 +4085,7 @@ static void GetEnumStructs(Face *face, LPENUMLOGFONTEXW pelf,
(WCHAR*)((char*)font->potm + (ULONG_PTR)font->potm->otmpFamilyName),
LF_FACESIZE);
lstrcpynW(pelf->elfFullName,
- (WCHAR*)((char*)font->potm + (ULONG_PTR)font->potm->otmpFaceName),
+ (WCHAR*)((char*)font->potm + (ULONG_PTR)font->potm->otmpFullName),
LF_FULLFACESIZE);
lstrcpynW(pelf->elfStyle,
(WCHAR*)((char*)font->potm + (ULONG_PTR)font->potm->otmpStyleName),
@@ -4098,7 +4098,10 @@ static void GetEnumStructs(Face *face, LPENUMLOGFONTEXW pelf,
pntm->ntmTm.ntmSizeEM = pntm->ntmTm.tmHeight - pntm->ntmTm.tmInternalLeading;
lstrcpynW(pelf->elfLogFont.lfFaceName, face->family->FamilyName, LF_FACESIZE);
- lstrcpynW(pelf->elfFullName, face->family->FamilyName, LF_FULLFACESIZE);
+ if (face->FullName)
+ lstrcpynW(pelf->elfFullName, face->FullName, LF_FULLFACESIZE);
+ else
+ lstrcpynW(pelf->elfFullName, face->family->FamilyName, LF_FULLFACESIZE);
lstrcpynW(pelf->elfStyle, face->StyleName, LF_FACESIZE);
}
--
1.7.0.4
More information about the wine-patches
mailing list