GNU bug report logs - #36288
27.0.50; Cannot use menu-set-font

Previous Next

Package: emacs;

Reported by: Robert Pluim <rpluim <at> gmail.com>

Date: Wed, 19 Jun 2019 07:49:01 UTC

Severity: normal

Found in version 27.0.50

Done: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: 36288 <at> debbugs.gnu.org
Subject: bug#36288: 27.0.50; Cannot use menu-set-font
Date: Sun, 23 Jun 2019 15:34:23 +0900
On Thu, 20 Jun 2019 11:54:21 +0900,
YAMAMOTO Mitsuharu wrote:
> 
> On Wed, 19 Jun 2019 16:48:04 +0900,
> Robert Pluim wrote:
> > 
> > emacs -Q
> > M-x menu-set-font
> > select Ubuntu Mono Regular =>
> > 
> > "set-face-attribute: Font not available: #<font-spec xft nil Ubuntu\ Mono nil nil normal normal nil 10.0 nil nil nil ((:name . "Ubuntu Mono"))>"
> > 
> > I can select Ubuntu Mono using M-x customize-face. Why does
> > menu-set-font try to use an xft spec?
> > 
> > (frame-parameter nil 'font-backend) =>
> > (xfthb x)
> 
> Maybe better to use the first entry of the font-backend frame
> parameter rather than hardcoded one?

On second thought, it seems to be better to leave the font type
unspecified.  Hard-coding the wanted font type was introduced as a
"fix" for Bug#3228, but I suspect its reasoning is no longer valid (I
couldn't find fonts.alias in the Type1 font directory in CentOS or
Linux Mint).  Also, probably we should set the :family font property
instead of :name.

				     YAMAMOTO Mitsuharu
				mituharu <at> math.s.chiba-u.ac.jp

diff --git a/src/gtkutil.c b/src/gtkutil.c
index dccee159254..1d15aec253e 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -2277,26 +2277,19 @@ xg_get_font (struct frame *f, const char *default_name)
 
       if (desc)
 	{
-	  const char *name   = pango_font_description_get_family (desc);
+	  const char *family = pango_font_description_get_family (desc);
 	  gint        size   = pango_font_description_get_size (desc);
 	  PangoWeight weight = pango_font_description_get_weight (desc);
 	  PangoStyle  style  = pango_font_description_get_style (desc);
 
-#ifdef USE_CAIRO
-#define FONT_TYPE_WANTED (Qftcr)
-#else
-#define FONT_TYPE_WANTED (Qxft)
-#endif
 	  font = CALLN (Ffont_spec,
-			QCname, build_string (name),
+			QCfamily, build_string (family),
 			QCsize, make_float (pango_units_to_double (size)),
 			QCweight, XG_WEIGHT_TO_SYMBOL (weight),
-			QCslant, XG_STYLE_TO_SYMBOL (style),
-			QCtype,
-                        FONT_TYPE_WANTED);
+			QCslant, XG_STYLE_TO_SYMBOL (style));
 
 	  pango_font_description_free (desc);
-	  dupstring (&x_last_font_name, name);
+	  dupstring (&x_last_font_name, family);
 	}
 
 #else /* Use old font selector, which just returns the font name.  */




This bug report was last modified 6 years and 21 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.