aboutsummaryrefslogtreecommitdiffstats
path: root/src/xfns.c
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1993-07-24 07:23:16 +0000
committerRichard M. Stallman <[email protected]>1993-07-24 07:23:16 +0000
commite5e548e338cae173b7a994390a5af5822ee23e6b (patch)
treebba639f8fa661af3c206d4e6ef6f9fb969906c10 /src/xfns.c
parent82411f65a3b71b89f9357eadf882b86f4687b843 (diff)
(Fx_create_frame): Don't look for default font
if the caller has specified a valid font. Try several alternative font patterns.
Diffstat (limited to 'src/xfns.c')
-rw-r--r--src/xfns.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 43dbabbc80..ade94e129b 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -1753,13 +1753,27 @@ be shared by the new frame.")
{
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);
}