Correct usage of superior/subscript features

I read the tutorial on sups and subs but still want to clarify something:

I have a set of figures with .sups and .subs suffixes for the sups and subs features, but as far as i understand it’s good to have zerosuperior and zeroinferior etc. with unicode points as well.

Now the good practice for using OpenType Features would be to not fiddle with the character (unicode) and only use glyph substitution – is that true?

Glyphs does add superior and inferior figures to the features automatically though.

But the .sinf feature finds .subs nicely and uses them instead of inferior.

What would be the best solution to this? I don’t mind coding the features myself if it’s better.


I have a look.

An exception applies for subs and sups:

For GIDs found in the subs coverage table, the application passes a GID to the feature and gets back a new GID. Note: This is a change of semantic value. Besides the original character codes, the application should store the code for the new character.


I see. So this seems harmless.

What do you think?

That exception is there because it’s good to substitute characters in this situation or would it be better to have superior and inferior characters as well as .subs and .sups? What about ordfeminine and ordmasculine mentioned in another topic, they are normally entered from the keyboard but i also want the .ordn feature – is adding something like ordfeminine.ordn an overkill?

I don’t understand. Why would you do that? What would be the difference?

To keep OpenType Features from changing the character codes.

Then you would need a.ordn.

But why? In this case, it is supposed to do that, and up to the app/system to handle the codes.

Adobe recommends not to add ordfeminine and ordmasculine to ordinal feature.
They did it for a few decades before realizing it was a bad idea.

@LucasFonts – Except in one instance:

In any font with both ordinals and a/o.superior, where those forms are
not identical:
– In ‘ordn’:
sub a by ordfeminine;
sub o by ordmasculine;
– In ‘sups’:
sub a by a.superior;
sub o by o.superior;

Bearing in mind that the information is ten years old, it may have changed again. The entire post about it is here:

Can you give a source? The spec says the opposite.

I jut found this unfinished post:
There are two options to name the superiors. ‘one.sups’ or ‘onesuperior’. The latter has a Unicode. The difference is, if you use the Unicode you have the superscript numbers encoded in plain text and that is semantically better an saver when copy pasting and such.

1 Like

Thomas Phinney wrote in the OpenType mailing list about a decade ago:

“Seeing David Lemon’s post on subscript handling, it occurs to me that I should point out that I just blogged yesterday about a small change in our handling of ordinals, with regards to the Spanish/Portuguese ordfeminine and ordmasculine characters no longer be accessed by the ‘ordn’ feature.”

Writers of those languages are used to keyboarding the characters directly, anyway. Also, with the many fonts that have this substitution and no other ordinalized (sic) letters, having only these two letters affected by the ordinals feature confuses the heck out the users of all the other western languages.

1 Like