Subject: bug#54685: 28.0.92; incorrect font on new frame after menu-set-font (Win32)

From: Eli Zaretskii <[email-masked]>
Date: Sun, 03 Apr 2022 19:12:07 +0300

> From: Corwin Brust <[email-masked]>
> Date: Sun, 3 Apr 2022 10:53:05 -0500
> Cc: [email-masked]
> 
> On Sun, Apr 3, 2022 at 10:03 AM Eli Zaretskii <[email-masked]> wrote:
> >
> > What other variants of this font do you have there?
> 
> Here are all of the variants I have for the "Fira Sans" font.

(Why are we suddenly talking about Fira Sans, when your original
report was about Robot?)

> Thin**
> Thin Italic**
> UltraLight**
> UltraLight Italic**
> ExtraLight Italic**
> ExtraLight**
> Light**
> Light Italic**
> Semi Light**
> Semi Light Italic**
> Regular
> Italic
> Medium
> Medium Italic
> SemiBold**
> SemiBold Italic**
> Bold
> Bold Italic
> ExtraBold**
> ExtraBold Italic**
> Heavy**
> Heavy Italic**
> 
> All variants appear correctly after I select them as default in the
> initial frame.  Those followed by ** exhibit the problem: they aren't
> used in the new frame after the variant was selected as default in the
> initial frame.

If so, then this is expected.  The APIs we use on MS-Windows to
enumerate fonts in a font family consider only 4 font varieties to
belong to the same family: Regular, Italic, Bold, and Bold-Italic.
All the other varieties aren't returned by those APIs when we request
to list all the fonts in a family.  (I don't know if this is just the
deficiency of the APIs we use, or a general issue with how fonts are
managed on Windows.)  So any font variety that is not one of those 4
will cause trouble sooner or later.  (Medium is special, because we
have an extra-special kludge to allow Medium when Regular is being
sought.)

So I think what you see is expected: on Windows one cannot select a
Light (or Thin, or UltraLight, or SemiBold, or ...) font for the
default face and hope that it will work as expected.