Subject: bug#57962: 29.0.50; Odd font choices

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 14 Oct 2022 14:13:22 +0200

Po Lu <[email-masked]> writes:

> What happens if you try setting it to each of the following in order?
> (The list below was taken straight from xfns.c.)
>
> #if defined USE_CAIRO || defined HAVE_XFT
> 	    /* This will find the normal Xft font.  */
>  	    "monospace-10",
> #endif
> 	    "-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1",
> 	    "-misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-1",
> 	    "-*-*-medium-r-normal-*-*-140-*-*-c-*-iso8859-1",
> 	    /* This was formerly the first thing tried, but it finds
> 	       too many fonts and takes too long.  */
> 	    "-*-*-medium-r-*-*-*-*-*-*-c-*-iso8859-1",
> 	    /* If those didn't work, look for something which will
> 	       at least work.  */
> 	    "-*-fixed-*-*-*-*-*-140-*-*-c-*-iso8859-1",
> 	    "fixed",
>
> It's a long shot, but if it still doesn't work then I'm really out of
> ideas.

Well, the font Emacs has chosen for `default' is "-DAMA-Ubuntu
Mono-regular-normal-normal-*-45-*-*-*-m-0-iso10646-1", so if I say

(defface fixed-pitch
  '((t :font "-DAMA-Ubuntu Mono-regular-normal-normal-*-45-*-*-*-m-0-iso10646-1"))
  "The basic fixed-pitch face."
  :group 'basic-faces)

then things look fine, of course.  But we want that to happen
automatically (if `default' is using a fixed pitch font).

I.e., if something like this was possible:

(defface fixed-pitch
  '((fixed-width-p default) :inherit default)
    (t :family "Monospace"))
  "The basic fixed-pitch face."
  :group 'basic-faces)

then that is what we'd want, I think?  But I don't think we can say
something like that, can we?

Hm, I should remind myself how those defface predicates work...