From a6fe52707123c883b7d78d15429c93363ec24c4b Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Mon, 25 Apr 2016 23:31:34 -0500
Subject: [PATCH] gdi32: add a [fonts] section to win.ini

---
 dlls/gdi32/gdiobj.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/dlls/gdi32/gdiobj.c b/dlls/gdi32/gdiobj.c
index 237544d..6acedaf 100644
--- a/dlls/gdi32/gdiobj.c
+++ b/dlls/gdi32/gdiobj.c
@@ -650,6 +650,11 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
 {
     const struct DefaultFontInfo* deffonts;
     int i;
+    static const WCHAR courefonW[] = {'c','o','u','r','e','.','f','o','n',0};
+    static const WCHAR equalW[] = {'=',0};
+    static const WCHAR fontsW[] = {'f','o','n','t','s',0};
+    static const WCHAR systemfontW[] = {'S','y','s','t','e','m','F','o','n','t',0};
+    WCHAR *data;
 
     if (reason != DLL_PROCESS_ATTACH) return TRUE;
 
@@ -699,6 +704,17 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
         __wine_make_gdi_object_system( stock_objects[i], TRUE );
     }
 
+    /* FIXME: maybe it should get system default font */
+    data = HeapAlloc(GetProcessHeap(), 0, sizeof(systemfontW) + sizeof(equalW) + sizeof(courefonW));
+    if (data) {
+        lstrcpyW(data, systemfontW);
+        lstrcatW(data, equalW);
+        lstrcatW(data, courefonW);
+
+        TRACE("using %s\n", debugstr_w(data));
+        WriteProfileSectionW(fontsW, data);
+    }
+
     return TRUE;
 }
 
-- 
2.8.0.rc3

