From 4dc04ae867155ba734c2a8edbe816c31e09703a1 Mon Sep 17 00:00:00 2001 From: Kusanagi Kouichi Date: Tue, 21 Feb 2012 20:14:18 +0900 Subject: [PATCH] gdi32: Initialize font signature of "System" font link. --- dlls/gdi32/freetype.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index ea0da85e0a..8a0c0961fa 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -2212,6 +2212,7 @@ skip_internal: system_font_link = HeapAlloc(GetProcessHeap(), 0, sizeof(*system_font_link)); system_font_link->font_name = strdupW(System); list_init(&system_font_link->links); + memset(&fs, 0, sizeof(fs)); face = find_face_from_filename(tahoma_ttf, Tahoma); if(face) @@ -2219,6 +2220,8 @@ skip_internal: child_font = HeapAlloc(GetProcessHeap(), 0, sizeof(*child_font)); child_font->face = face; child_font->font = NULL; + fs.fsCsb[0] |= face->fs.fsCsb[0]; + fs.fsCsb[1] |= face->fs.fsCsb[1]; TRACE("Found Tahoma in %s index %ld\n", child_font->face->file, child_font->face->face_index); list_add_tail(&system_font_link->links, &child_font->entry); } @@ -2233,11 +2236,21 @@ skip_internal: new_child = HeapAlloc(GetProcessHeap(), 0, sizeof(*new_child)); new_child->face = font_link_entry->face; new_child->font = NULL; + fs.fsCsb[0] |= font_link_entry->face->fs.fsCsb[0]; + fs.fsCsb[1] |= font_link_entry->face->fs.fsCsb[1]; list_add_tail(&system_font_link->links, &new_child->entry); } break; } } + family = find_family_from_name(system_font_link->font_name); + if(family) + { + LIST_FOR_EACH_ENTRY(face, &family->faces, Face, entry) + { + face->fs_links = fs; + } + } list_add_tail(&system_links, &system_font_link->entry); return ret; } -- 2.32.0.93.g670b81a890