According to SIL, the font Gentium Basic --- which is a subset of Gentium Plus --- supports "literacy alternates". Consulting the font documentation (for Gentium plus, anyway), the literacy alternates are shown to have a OpenType feature ID of "ss01".

So, why does the following XeTeX code fail in selecting the literacy alternates?

\setmainfont{Gentium Basic}[StylisticSet=01]

This is a test of literacy álternàtes.

The analogous code works perfectly for Gentium Plus. But with Gentium Basic, I get the following error:

OpenType feature 'Variant=01'(+ss01) not available for 'Gentium Basic'.

I tried also [StylisticSet=1], [StylisticSet=0], [StylisticSet=ss01]. None of them work.

Perhaps the literacy alternates are encoded differently in Gentium Basic than in Gentium Plus? Or perhaps there is another feature of fontspec that I should be using instead? Does anyone know?

  • Try aalt rather than ss01. – cfr Apr 17 '16 at 3:28
  • Note that Graphite stuff is probably not supported at all and certainly not on anything other than OS X. – cfr Apr 17 '16 at 3:34

As it happens, the stylistic alternative sets are not accessible as a font feature. If the code chosen as the answer to this question is run for Gentium Basic, the following features are discovered:

aalt, ccmp, mark, mkmk.

Running the same code with Gentium Plus results in:

aalt, c2sc, ccmp, kern, mark, mkmk, smcp, liga, ss01, ss04, ss05, ss06, ss07

So, it is clear that stylistic sets are available as font features for Gentium Plus, but not for Gentium Basic.

The "literacy alternates" stylistic set does exist in Gentium Basic, as we can get that feature by including +aalt as an option when loading the font, as @cfr suggested. However, when doing so, all the alternates are selected as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.