-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Thin" instance not selectable in macOS Pages #8
Comments
I've rebuilt my split VFs, and found an issue that seemed like it might be causing this ... but it isn't. The issue: Encode Sans has its lightest instance as "Thin," but FontMake is building the
However, even after TTXing the TTF, then manually changing the nameID 1 to |
I've just found that
|
GlyphsApp-generated variable font testsTL;DR: so far, I haven't found exactly what is making the Glyphs-generated VF allow the "Thin" styled to be selected in Pages, but I have also found that if the style names are corrected in the Glyphs-generated VF, it once again introduces the broken behavior. The GlyphsApp-generated variable font initially fixes part of this issue. The "Thin" style becomes selectable, but it has the style name "Regular." This may point out what specific difference could be applied in a fontmake-generated VF to enable the Thin weight to be selected. Differences between GlyphsApp-generated and FontMake-generated VF
TestsTTX and change nameID 1 & 4 to "Encode Sans Condensed Thin"Results:
TTX and change nameID 1 & 4 to "Encode Sans Condensed Thin" give nameID 16 "Encode Sans Condensed" & 17 "Thin"Results:
This made me wonder if removing nameIDs 16 & 17 from the FontMake-generated VF would allow Thin to be selected in Pages. It doesn't. Remove
|
The fact that the Glyphs-generated VF worked (partly) when it had just the simple family name in nameIDs 1 and 4 made me wonder if simplifying Encode like this could make the Thin style accessible. I changed nameID 1 to |
The problem
As originally described in the docs of this repo (Problem: in split VFs, it is impossible to select "Thin" in Apple Pages) and then re-flagged by @m4rc1e, it is impossible to select the "Thin" weight of Encode Sans in macOS Pages.
One issue that this helped me catch: the name IDs weren't quite as they should have been, in the Encode Sans variable fonts. These should follow this format:
This fix does allow the Thin style to be selected in MS Word:
However, even after changing this and triple-checking that the STAT table is made to correctly link to all instance values and names, "Thin" remains unselectable in macOS Pages.
It's not just Encode Sans
@mjlagatutta has pointed out that Hepta Slab also has a similar issue: it's "Hairline" weight is also unselectable, and instead shows up as the Medium weight.
Deliberate testing with a test font
I wanted to reduce the number of variables and see whether a simpler font still demonstrated the issue. So, I made a quick test font and built it into a variable font with FontMake, from scratch and with no build process other than
fontmake -o variable -g <file_path>
.The test fonts and other files are located at https://github.com/thundernixon/Encode-Sans/tree/master/docs/tests/macos-pages-vf-test-thin-2018-02-11.
However, when a font has both "Thin" at
100
and "Medium" at500
, Pages won't allow the user to access a thin.The actual "Thin" for this font should be this weight:
I wanted to push on this a bit, to understand when, exactly, Pages would respect a Light style. Given that Hepta Slab fails, while things work for fonts like Comfortaa or Signika with "Light" styles at
300
, my guesses were:300
, it would fail.Hypothesis: A "weight" axis is lower than
300
causes failure❌Nope. ❌
It's not a weight value issue, based on tests of fonts with their minimum weights at 100, 200, and 300.
100–900 weight range:
200-900 weight range:
300–900 weight range (the Regular looks light, because the thin master is now set to 300, so 400 is very close to that):
Hypothesis: unsupported font style naming causing failure
❌Nope. ❌
It's not that using the name "Light" rather than "Thin" or "Hairline" makes things work, even if the lightest weight value is 300:
Hypothesis: A font having both "Thin" and "Medium" weight names causes failure
❌Nope. ❌
It also fails if there is no "Medium" font name, but now the Thin value calls the "Regular" instance instead:
With these tests failing, I'm not quite sure what to test next ... Could it be that Pages somehow measures the weight / density of fonts, and simply won't allow something that is too light?
The text was updated successfully, but these errors were encountered: