changeset 4259:085095792d99

(Fx_create_frame): Don't look for default font if the caller has specified a valid font. Try several alternative font patterns.
author Richard M. Stallman <rms@gnu.org>
date Sat, 24 Jul 1993 07:23:16 +0000
parents 8f02e992e4dc
children e0713a13f2d7
files src/xfns.c
diffstat 1 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfns.c	Sat Jul 24 05:49:51 1993 +0000
+++ b/src/xfns.c	Sat Jul 24 07:23:16 1993 +0000
@@ -1753,13 +1753,27 @@
   {
     Lisp_Object font;
 
-    /* Try out a font which we know has bold and italic variations.  */
+    font = x_get_arg (parms, Qfont, "font", "Font", string);
     BLOCK_INPUT;
-    font = x_new_font (f, "-*-*-medium-r-*-*-*-*-*-*-c-*-iso8859-1");
+    /* First, try whatever font the caller has specified.  */
+    if (STRINGP (font))
+      font = x_new_font (f, XSTRING (tem)->data);
+    /* Try out a font which we hope has bold and italic variations.  */
+    if (!STRINGP (font))
+      font = x_new_font (f, "-misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-1");
+    if (! STRINGP (font))
+      font = x_new_font (f, "-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-1");
+    if (! STRINGP (font))
+      /* This was formerly the first thing tried, but it finds too many fonts
+	 and takes too long.  */
+      font = x_new_font (f, "-*-*-medium-r-*-*-*-*-*-*-c-*-iso8859-1");
+    /* If those didn't work, look for something which will at least work.  */
+    if (! STRINGP (font))
+      font = x_new_font (f, "-*-fixed-*-*-*-*-*-120-*-*-c-*-iso8859-1");
     UNBLOCK_INPUT;
     if (! STRINGP (font))
-      font = build_string ("-*-fixed-*-*-*-*-*-120-*-*-c-*-iso8859-1");
-    
+      font = build_string ("fixed");
+
     x_default_parameter (f, parms, Qfont, font, 
 			 "font", "Font", string);
   }