Subject: bug#37473: 27.0.50; antialias setting is not preserved by, inheriting

From: Eli Zaretskii <[email-masked]>
Date: Sun, 19 Jun 2022 22:14:53 +0300

> Cc: Lars Ingebrigtsen <[email-masked]>
> Date: Sun, 19 Jun 2022 18:43:33 +0200
> From: David Ponce <[email-masked]>
> 
> The below related today's commit to xface.c breaks antialiasing:
> 
>  From b2d11d69dd49864874f8fe53669b4049e83bfce9 Mon Sep 17 00:00:00 2001
> From: Po Lu <[email-masked]>
> Date: Sun, 19 Jun 2022 21:57:11 +0800
> Subject: More conservative fix for bug#37473
> 
> * src/xfaces.c (realize_gui_face): Add more conservative fix,
> since the last change makes C-x C-+ lead to weight weirdness on
> my machine.

FWIW, I understand neither that commit nor the one it attempted to
fix.

First, why is :antialiasing being singled out? won't the same happen
for any attribute in FONT_EXTRA_INDEX, like :hinting, :hintstyle, and
whatnot?

And if indeed the issue is with FONT_EXTRA_INDEX, then I'd first ask
why the right value is not in attrs[] in the first place?  Because if
it is there, why not just use it directly, instead of via Ffont_put?

And in addition, why does it make sense to reset foundry, family,
registry, and adstyle of the font in attrs[]? don't we want the same
font, for example, when resizing the text?

IOW, do we really understand the reason for bug#37473?  Not the commit
which introduced it, but the reason why :antialiasing is being reset
and doesn't appear in attrs[] and in the realized face?  If so, could
someone please spell that out?