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

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

> Date: Sun, 20 Nov 2022 17:43:23 +0000
> From: Gregory Heytings <[email-masked]>
> cc: [email-masked], [email-masked]
> 
> > Does this font have a 'regular' weight?  If it does, why didn't Emacs 
> > choose the 'regular' variant?
> 
> Because the spec specified that it should find a medium variant.  So 
> regular variants are rejected (because of 65fd3ca84f).

No, the spec was -misc-fixed-*-r-semicondensed-*-13-*-*-*-*-*-*-*, so any
weight should be okay.  See Stefan's original recipe.

> > 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.
> 
> I'd have to investigate this, is it really worth the effort given that a 
> proper fix has already been found?

I'd like to hear Stefan say that this is fixed on his system as well.  And
yes, I'd still be interested in understanding why asking for another foundry
fixed or worked around the problem.

> > 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.
> >
> 
> I don't think the case you have in mind could happen in the scenario of 
> this bug or bug#57555 (if a regular weight exists and is a better match 
> the loop in font_find_for_lface will exit with that better match), but 
> indeed with some other call sequence this could perhaps happen.  I'll see 
> what I can do.

Thanks, it's indeed the other cases that I worry about.  We had a lot of
changes in this area which solved one problem only to create others.