Use hard-coded font name bindings only with the ANSI_CHARSET (non-US
charsets with no font name shouldn't be bound to US charset).

diff --git a/graphics/x11drv/xfont.c b/graphics/x11drv/xfont.c
index 64b863e..ab81a5e 100644
--- a/graphics/x11drv/xfont.c
+++ b/graphics/x11drv/xfont.c
@@ -2602,6 +2602,17 @@
 }
 
 /***********************************************************************
+ *	XFONT_is_ansi_charset
+ *
+ *  returns TRUE if the given charset is ANSI_CHARSET.
+ */
+static BOOL XFONT_is_ansi_charset( UINT charset )
+{
+	return ((charset == ANSI_CHARSET) ||
+		(charset == DEFAULT_CHARSET && GetACP() == 1252));
+}
+
+/***********************************************************************
  *          XFONT_MatchDeviceFont
  *
  * Scan font resource tree.
@@ -2619,7 +2630,9 @@
 
     pfm->pfi = NULL;
 
-    if( !fm.plf->lfFaceName[0] )
+    /* the following hard-coded font binding assumes 'ANSI_CHARSET'. */
+    if( !fm.plf->lfFaceName[0] &&
+	XFONT_is_ansi_charset(fm.plf->lfCharSet) )
     {
         switch(fm.plf->lfPitchAndFamily & 0xf0)
 	{