Subject: Re: bug#59347: 29.0.50; `:family` face setting ignored

From: Eli Zaretskii <[email-masked]>
Date: Thu, 08 Dec 2022 17:13:46 +0200

> Date: Thu, 08 Dec 2022 14:59:25 +0000
> From: Gregory Heytings <[email-masked]>
> cc: [email-masked], [email-masked]
> 
> And also note that, should a user really want a specific ultra-bold font 
> for a certain face, that is already possible with the existing 
> infrastructure, by making that choice explicit, e.g. (set-face-attribute 
> 'bold nil :font "Desired Font" :weight 'ultra-bold).  And it is also 
> possible, with the existing infrastructure, to list the available fonts 
> with given attribute values, e.g. with (list-fonts (font-spec :weight 
> 'ultra-bold)), and to select the best one in that list with an appropriate 
> fourth argument to list-fonts.

The use case which bothers me is similar to bug#51768, where users
specify certain weight or width because they like the appearance of
the resulting font, and expect Emacs to come up with the exact match,
not the best approximation.  When the family value actually names a
font (i.e., it is a very "narrow" family), that should work even if we
relax the numerical attributes, but if the family is much more
general, like "Sans Serif", the result could be different because we
still return whenever we find a first valid "approximation".