Is there a way to find out what pairs of contextual alternatives of characters of an OpenType font through luatex (and possibly other packages such as luaotfload and fontspec)?

The question is a little vague. For example, the contextual alternative feature calt will cause a variant glyph being used, but only in a certain context. I am wondering if it is possible to programmatically find all such "context", or at least character pairs that will cause one of them to use an alternative glyph.


This is not a question about how to get a list of features. It is more of how to inspect the substitution table of a specific table such as calt

  • @HenriMenke Not really. I edited the question to make it clear – Yan Zhou Jan 6 '17 at 17:11
  • @HenriMenke Just noticed that the question you thought are duplicated, were actually asked by myself years ago. They are different in that this question is about the exact working of contextual features – Yan Zhou Jan 6 '17 at 17:42
  • Sorry about that. To find substitutions for single glphys you can just open the font in FontForge and look at the glyph properties. – Henri Menke Jan 6 '17 at 17:44
  • @HenriMenke thanks for the hint. I am looking for a way to programmatically list all such pairs. Right now I am looking at fontforge command line documents. otfino can print the GSUB table easily but I can't find any document on its format. The output seems to be a binary format – Yan Zhou Jan 6 '17 at 18:00

Your Answer

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

Browse other questions tagged or ask your own question.