How is the aalt set constructed?

Theunis de Jong's picture

Examining existing OTFs, I cannot find a decent definition of the aalt feature.

If you dissect an OTF, it seems all features supported by it are concatenated into a single large list (perhaps two; although the 2nd usually looks suspiciously like the first). Should one reconstruct the aalt table by looking up every possible 'complete' list in the rest of the features? Even then, the MinionPro.fea sample from Adobe (revision 2.012) shows some additional lookups added to the aalt table.

Perhaps this was never meant to be re-engineered :-)

Miguel Sousa's picture

> I cannot find a decent definition of the aalt feature.

Here's *the* definition: 8.a. The all alternates ('aalt') feature

> Perhaps this was never meant to be re-engineered :-)

You mean reverse engineered? There's no need to do that. Go to http://www.adobe.com/devnet/opentype/afdko/ and download ExampleRomanFonts.zip, or get it at http://www.adobeforums.com/webx/.3bb58628

Theunis de Jong's picture

Thanks, Miguel. I read the entire specs before, but seem to have missed this exact definition ...

As for the reverse-engineering, well yeah, I have seen the Minion Pro feature file. What I'm hoping for is the reverse: given any font, get a (reasonably) correct feature file out of it. The MinionPro-Regular.fea is my target output, and I'd like to produce a comparable file by reading and parsing MinionPro.otf.

Reading the specs, it sounds it's possible by including all tags which define any single glyph input substitution. That would (correctly) exclude 'frac' in the Minion sample, as this does not contain single input glyphs at all, as well as 'ss02' (that one has an explicitly mentioned workaround).

Syndicate content Syndicate content