

The ‘subs’ feature may replace a default glyph with a subscript glyph, or it may combine a glyph substitution with positioning adjustments for proper placement. What? Two different OpenType features for subscripts? In the official wording, subs (subscript) is for:

So, our feature code is OK, and that is why we recommend this method whole-heartedly. There are, however, a few exceptions, and luckily, sups is one of them. The magic word here is ‘change of semantic value.’ OpenType features usually are not supposed to do that, i.e., change the Unicode value, and thus, change the semantic value. Besides the original character codes, the application should store the code for the new character. This can include a change of semantic value. According to the official spec, that is OK: Thus, the feature will mess with the characters. Please note that with this method, the superior glyphs will receive separate Unicode values.
