From fcd0f6b0749b6827ee466a620e0198abe8a387f5 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sun, 14 Aug 2016 23:52:16 +0300 Subject: [PATCH] gdi32: Append "TrueType" suffix to registry key names. Signed-off-by: Nikolay Sivov Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/gdi32/freetype.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index d989b67b929..0e82e5e6ff2 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -3131,20 +3131,21 @@ static void update_reg_entries(void) LIST_FOR_EACH_ENTRY( family, &font_list, Family, entry ) { LIST_FOR_EACH_ENTRY( face, &family->faces, Face, entry ) { char *buffer; + WCHAR *name; + if (!(face->flags & ADDFONT_EXTERNAL_FONT)) continue; - if(face->FullName) - { - len = strlenW(face->FullName) + sizeof(TrueType) / sizeof(WCHAR) + 1; - valueW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); - strcpyW(valueW, face->FullName); - } - else - { - len = strlenW(family->FamilyName) + sizeof(TrueType) / sizeof(WCHAR) + 1; - valueW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); - strcpyW(valueW, family->FamilyName); - } + name = face->FullName ? face->FullName : family->FamilyName; + + len = strlenW(name) + 1; + if (face->scalable) + len += sizeof(TrueType) / sizeof(WCHAR); + + valueW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + strcpyW(valueW, name); + + if (face->scalable) + strcatW(valueW, TrueType); buffer = strWtoA( CP_UNIXCP, face->file ); path = wine_get_dos_file_name( buffer );