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:
name 1: Encode Sans Thin # (default instance is "Thin"), so this should show up in apps that don't support VFs
name 2: Regular
name 16: Encode Sans
name 17: Thin
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" at 500, 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:
- It could be an issue of instance weight value – if the "weight" axis is lower than
300, it would fail.
- It could be an issue of font style naming – if the name isn't a recognized value like "Regular" or "Light", maybe it wouldn't work
- It could be a combination of the above two factors.
- It could be that fonts only fail when there is a Thin and a "Medium" instance.
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 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
100and "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
300causes 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?