Subject: bug#57555: 29.0.50; variable-pitch font issue with medium weight default font

From: Amin Bandali <[email-masked]>
Date: Mon, 05 Sep 2022 14:19:14 -0400

Eli Zaretskii writes:

>> From: Amin Bandali <[email-masked]>
>> Cc: [email-masked]
>> Date: Mon, 05 Sep 2022 11:08:10 -0400
>> 
>> (when (display-graphic-p)
>>   (set-fontset-font t 'arabic "Vazir"))
>> 
>> And further down:
>> 
>> (when (display-graphic-p)
>>   (with-eval-after-load 'faces
>>     (let ((grey "#e7e7e7"))
>>       (set-face-attribute 'fixed-pitch nil :family "Source Code Pro")
>>       (set-face-attribute 'mode-line nil
>>                           :background grey
>>                           :inherit 'fixed-pitch))))
>
> Does it change anything if you remove the customization of fixed-pitch
> face?

Removing that did not change anything.

[...]
>
> Even if you set the face's font explicitly by its full XLFD name, not
> implicitly via :family?
>

Ha, so I just tried with the following XLFD:

    (set-face-font 'variable-pitch
                   "-GNU -FreeSans-*-*-*-*-14-*-*-*-*-0-iso10646-1")

And it works, somewhat.  Emacs now uses GNU FreeSans, but seemingly
only its regular variant.  Based on the '*' I specified for the third
and fourth fields (WEIGHT_NAME and SLANT), I would expect it to pick
GNU FreeSans's other variants (bold, oblique, or bold oblique) where
needed, but it doesn't seem to.

Here's a screenshot from Gnus, using the above set-face-font call to
set the above XLFD:

https://kelar.org/~bandali/tmp/20220903/gnus-after-xlfd.png

And here's a screenshot from Gnus without that call to set-face-font,
without the 6b1ed2f2c99a1c2da56c5f434570c438cad6576d emacs.git commit
that introduced this change:

https://kelar.org/~bandali/tmp/20220903/gnus-before.png

Notice how Emacs used to pick the bold and bold oblique variants for
those headers (gnus-before.png), but doesn't do so anymore
(gnus-after-xlfd.png).