Here is what I've found so far about the importance of the OpenType feature order.
When I test your fonts in Internet Explorer (IE11) it is clear the feature order is indeed important!
- preview1.png (29.43 KiB) Viewed 21416 times
- preview2.png (28.73 KiB) Viewed 21416 times
Mozilla Firefox (which uses HarfBuzz) seems to process features based on the order in the font as well. Other OpenType layout engines might behave different mainly because of unclear, incorrect, or outdated parts of the OpenType specifications which leads to different interpretations.
Erwin Denissen wrote:I just came around this topic, and don't understand it as I thought the order of features is always alphabetical (the order of lookups in a feature can be important though). Maybe a bug in a old version of FontCreator caused the confusion, but maybe I need some rest
The order of features in the FeatureList table is stored alphabetically by FeatureTag as this is a requirement by the specs. However the LangSys table contains indexes to the FeatureList table in an arbitrary order. See specs:
http://www.microsoft.com/typography/otspec/chapter2.htm
It seems the order of the feature indexes in the LangSys table is of importance, but I understood the engine decides the processing order of the features, while it looks like even though the specs describe the order, it is up to the font designer to order the features
Regardless of the model an application chooses for supporting layout of complex scripts, Uniscribe requires a fixed order for executing features within a run of text to consistently obtain the proper basic form. The feature order is different for each script or language system and is described within those documents.
Source:
Microsoft -> OpenType Development Specification
For standard scripts (e.g. Latin) the processing order is as follows:
- order for standard scripts.png (15.11 KiB) Viewed 21416 times
Source:
Microsoft -> Developing OpenType Fonts for Standard Scripts
Not a word about the order of other features though. So maybe this is not a required but a recommended order?
I either still don't understand this part "The feature order is different for each script or language system and is described within those documents." or it is plain wrong.
Conclusion, you are right, the order can be important.