Subject: bug#67810: 29.1; fonts use synthetic bold on Linux / pgtk

From: Tim Ruffing <[email-masked]>
Date: Thu, 14 Dec 2023 10:54:45 +0100

@Po Lu:
Oh, thanks for pointing that out! I wasn't aware of the "overstrike"
term. I had grepped the code base for "bold" but I couldn't find
anything...

Okay, yes, so my use case is that I (or actually doom) uses this to
enable the display of icons:
  
(dolist (range '((#xe000 . #xf8ff) (#xf0000 . #xfffff)))
  (set-fontset-font t range "Symbols Nerd Font Mono"))

While overstriking is typically appropriate for normal fonts, it's
rather undesirable for others such as icons. For example, if the icon
contains a square, then the borders of the square are strechted
horizontally but not vertically. Moreover, this makes some glyphs to
wide and then their right side will be clipped. 

Removing the weight attribute from the face will only work in some
cases, e.g., for UI elements controlled by some package. If the user
inserts an icon in a bold org headline, we can't change the face on the
fly. (Well I'm sure, we could, but that sounds like the wrong
approach.)  

So I think whether overstriking is performed should ideally be a
property of the font. Having some variable similar to the existing 
vertical-centering-font-regexp would be great, and this would also make
it possible to turn off overstriking globally.

Do you think that's a reasonable thing to add?