Make stock fonts independent of mapping mode.
System font should only be bold for Win31.

diff --git a/objects/gdiobj.c b/objects/gdiobj.c
index 9c10b7e..70a7231 100644
--- a/objects/gdiobj.c
+++ b/objects/gdiobj.c
@@ -25,6 +25,7 @@
 #include "region.h"
 #include "debugtools.h"
 #include "gdi.h"
+#include "tweak.h"
 
 DEFAULT_DEBUG_CHANNEL(gdi)
 
@@ -97,7 +98,7 @@
 static FONTOBJ OEMFixedFont =
 {
     { 0, FONT_MAGIC, 1 },   /* header */
-    { 12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, OEM_CHARSET,
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, OEM_CHARSET,
       0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, "" }
 };
 /* Filler to make the location counter dword aligned again.  This is necessary
@@ -108,7 +109,7 @@
 static FONTOBJ AnsiFixedFont =
 {
     { 0, FONT_MAGIC, 1 },   /* header */
-    { 12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
       0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, "" }
 };
 static UINT16 align_AnsiFixedFont = 1;
@@ -116,7 +117,7 @@
 static FONTOBJ AnsiVarFont =
 {
     { 0, FONT_MAGIC, 1 },   /* header */
-    { 12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
       0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, "MS Sans Serif" }
 };
 static UINT16 align_AnsiVarFont = 1;
@@ -124,7 +125,7 @@
 static FONTOBJ SystemFont =
 {
     { 0, FONT_MAGIC, 1 },
-    { 16, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, ANSI_CHARSET,
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
       0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, "System" }
 };
 static UINT16 align_SystemFont = 1;
@@ -132,7 +133,7 @@
 static FONTOBJ DeviceDefaultFont =
 {
     { 0, FONT_MAGIC, 1 },   /* header */
-    { 12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
       0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, "" }
 };
 static UINT16 align_DeviceDefaultFont = 1;
@@ -140,7 +141,7 @@
 static FONTOBJ SystemFixedFont =
 {
     { 0, FONT_MAGIC, 1 },   /* header */
-    { 12, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, ANSI_CHARSET,
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
       0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, "" }
 };
 static UINT16 align_SystemFixedFont = 1;
@@ -148,8 +149,8 @@
 /* FIXME: Is this correct? */
 static FONTOBJ DefaultGuiFont =
 {
-    { 9, FONT_MAGIC, 1 },   /* header */
-    { 12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
+    { 0, FONT_MAGIC, 1 },   /* header */
+    { 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET,
       0, 0, DEFAULT_QUALITY, VARIABLE_PITCH | FF_SWISS, "MS Sans Serif" }
 };
 static UINT16 align_DefaultGuiFont = 1;
@@ -207,6 +208,9 @@
 {
     char  key[256];
 
+    /* In order for the stock fonts to be independent of 
+     * mapping mode, the height (& width) must be 0
+     */
     sprintf(key, "%s.Height", fontName);
     font->logfont.lfHeight =
 	PROFILE_GetWineIniInt("Tweak.Fonts", key, defHeight);
@@ -231,7 +235,6 @@
     return;
 }
 
-
 /***********************************************************************
  *           GDI_Init
  *
@@ -239,6 +242,8 @@
  */
 BOOL GDI_Init(void)
 {
+    BOOL systemIsBold = (TWEAK_WineLook == WIN31_LOOK);
+
     /* Kill some warnings.  */
     (void)align_OEMFixedFont;
     (void)align_AnsiFixedFont;
@@ -249,11 +254,13 @@
     (void)align_DefaultGuiFont;
 
     /* TWEAK: Initialize font hints */
-    ReadFontInformation("OEMFixed", &OEMFixedFont, 12, 0, 0, 0, 0);
-    ReadFontInformation("AnsiFixed", &AnsiFixedFont, 12, 0, 0, 0, 0);
-    ReadFontInformation("AnsiVar", &AnsiVarFont, 12, 0, 0, 0, 0);
-    ReadFontInformation("System", &SystemFont, 16, 1, 0, 0, 0);
-    ReadFontInformation("SystemFixed", &SystemFixedFont, 12, 1, 0, 0, 0);
+    ReadFontInformation("OEMFixed", &OEMFixedFont, 0, 0, 0, 0, 0);
+    ReadFontInformation("AnsiFixed", &AnsiFixedFont, 0, 0, 0, 0, 0);
+    ReadFontInformation("AnsiVar", &AnsiVarFont, 0, 0, 0, 0, 0);
+    ReadFontInformation("System", &SystemFont, 0, systemIsBold, 0, 0, 0);
+    ReadFontInformation("DeviceDefault", &DeviceDefaultFont, 0, 0, 0, 0, 0);
+    ReadFontInformation("SystemFixed", &SystemFixedFont, 0, systemIsBold, 0, 0, 0);
+    ReadFontInformation("DefaultGui", &DefaultGuiFont, 0, 0, 0, 0, 0);
 
     /* Initialize drivers */