|
From: | Gregory Heytings |
Subject: | bug#59347: 29.0.50; `:family` face setting ignored |
Date: | Thu, 08 Dec 2022 14:59:25 +0000 |
Do you mean that if a user chooses a font for the default face that has a single variant (say 'regular'), then the 'bold' face (which does not specify any family) should be realized with another font which has a bold variant? And that the 'italic' face should likewise be realized with another font which has an italic variant?I don't think these situations are possible, at least not all of them, because Emacs will not use a font for the default face if that font doesn't have at least the bold or italic variant.
Hmmm... here at least it does. With Fixedsys500c.ttf in http://www.ler.is.edu.ro/~ema/proiecte/soft/2005/apm/+predesign/fonts/fixedsys500c.zip (which has no variants) and (set-face-attribute 'default nil :font "FixedSysTTF"), the bold, italic and bold-italic faces are identical.
FWIW, I don't think either of these options are reasonable.You keep saying that, but you don't explain why this must be the truth. A user or a Lisp program can reasonably want an ultra-bold font and consider that more important than keeping the family. You never explained why you thought this to be an unreasonable request.
It's only my opinion, indeed. I don't think it's a completely unreasonable request, but it's not what Emacs has been doing so far, and I do think that it's not what Emacs should do by default. It is better to preserve a visual coherence / uniformity. Also note that allowing that would mean that Emacs would need to consider all fonts when realizing a face, instead of what it does now, namely to relax the family/... attributes only when necessary, that is, to consider more fonts only when necessary.
And also note that, should a user really want a specific ultra-bold font for a certain face, that is already possible with the existing infrastructure, by making that choice explicit, e.g. (set-face-attribute 'bold nil :font "Desired Font" :weight 'ultra-bold). And it is also possible, with the existing infrastructure, to list the available fonts with given attribute values, e.g. with (list-fonts (font-spec :weight 'ultra-bold)), and to select the best one in that list with an appropriate fourth argument to list-fonts.
[Prev in Thread] | Current Thread | [Next in Thread] |