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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 20 Nov 2022 19:29:29 +0200

> Date: Sun, 20 Nov 2022 16:59:00 +0000
> From: Gregory Heytings <[email-masked]>
> cc: [email-masked], [email-masked]
> 
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59347#65
> >
> 
> Thanks.  What he describes there looks like a workaround more than a 
> solution to me.  The actual problem is that
> 
> -misc-fixed-*-r-semicondensed-*-13-*-*-*-*-*-*-*
> 
> selects
> 
> -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
> 
> in which you see the 'medium' height.

You mean weight, not height, right?

Does this font have a 'regular' weight?  If it does, why didn't Emacs choose
the 'regular' variant?

In any case, I don't understand how asking for a specific foundry can work
around the problem with weight.  If you do understand that, please tell the
details.

> > If we don't make font_score consistent with the change you made, we will 
> > have other weird problems.  Maybe not in this particular case (although 
> > I'm not sure even in this), but in others.
> 
> Thanks, I think I see what you mean now.  I overlooked the fact that 
> font_select_entity is called with attrs and not with work, so indeed 
> font_score called in font_sort_entities might reject (?) a legitimate 
> font.  Is that what you mean?

Yes.  We need to make sure the scoring will not now sometimes prefer the
medium weight where the regular weight exists and is a better match.  Not
only should it not reject a legitimate font, but also not prefer another
font due to this change.  IOW, the change should ideally only affect the
cases where the 'medium' weight doesn't exist, and we therefore prefer to
use 'regular' rather than reject the family.