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

From: Stefan Monnier <[email-masked]>
Date: Fri, 18 Nov 2022 15:55:43 -0500

Stefan Monnier [2022-11-18 14:46:46] wrote:

>> So this recipe is something that stopped working recently?
>
> I think so, yes (at least a similar setup in my config did).
>
>> Can you tell when, or bisect?
>
> Not sure when, yet.  Presumably within the last 2 months.
> I'll try to bisect.

`git bisect` says:

    6b1ed2f2c99a1c2da56c5f434570c438cad6576d is the first bad commit
    commit 6b1ed2f2c99a1c2da56c5f434570c438cad6576d
    Author: Eli Zaretskii <[email-masked]>
    Date:   Sat Aug 27 13:13:48 2022 +0300
    
        Fix antialias face attribute when text is scaled
        
        This restores the code we had in realize_gui_face before commit bf0d3f7.
        The problem described in bug#17973, which led to that commit, only
        happens if one uses a specific (misc-fixed) font family, not for
        the usual default fonts used by Emacs, and I'm not sure what's
        described there is a bug at all.  At least for the purposes of
        text-scale-adjust, it makes no sense to ignore the
        foundry/family/adstyle of the original font, because we _want_ the
        same (or very similar) font, just of a different size.
        
        And likely in other use cases: if the :font attribute of a face
        specifies some font properties, we want to keep them all, not
        arbitrarily to ignore some of them.  And definitely catering to an
        obscure use case such as the one cited in bug#17973 is NOT a good
        reason to make such radical changes in face-realization behavior.
        
        So I think backing out that part of commit bf0d3f7 is TRT, and if
        we decide that this causes bug#17973 in too many situations we care
        about, I'd rather find a kludge for that specific case than do that
        for every face realization.
        * src/xfaces.c (realize_gui_face): Preserve face attributes when
        text is scaled.  This reverts part of the changes installed in
        commit bf0d3f7.  (Bug#37473)
    
     src/xfaces.c | 27 +++------------------------
     1 file changed, 3 insertions(+), 24 deletions(-)

:-(

> The only way I know is to set font-log to nil before you do this, and
> then look at the log.  But I have never learned anything useful from
> that log.

:-(

> Anyway, can you confirm that using other fonts instead of DejaVu Sans
> does work?

I just tried with `Noto Sans`, `Verdana`, `STIX`, and `Courier New` and
none of them works (although they work with Emacs-28), so no
I can't confirm.

        Stefan