I have a typeface I've developed that comes in two variations, one spans horizontally whilst the other vertically. At the moment they sit as two OTFs. What I would like to do is create an OpenType feature that would allow for variations between the horizontal and vertical in the same usage. E.G. I type a word, the first letter is vertical, the second horizontal, the third vertical etc etc.

The reason I ask this is to avoid having 4 separate faces which you would have to switch between to get the same effect, rather than an on/off option. What level of scripting is possible inside OpenType to do this? Is is possible or am I still looking at having a set of 4 fonts with which to implement this with.

  • This is a really complex question and unfortunately I don't have an answer for you but I'd like to point out Adobe's OpenType resource page and suggest reading up on the Open Type specifications to see if this is even possible. Also take a look at Adobe's Glyphlet Development Kit as perhaps you might be able to use the Gaiji SING technology to work around the problem.
    – bemdesign
    Commented Jan 23, 2015 at 11:30

1 Answer 1


I haven’t tested this, but I this should be possible with contextual chaining substitutions. You roughly need to do the following (the details probably depend on the program you are using), taking the alternation between vertical and horizontal as an example:

  1. Make your default letters vertical.
  2. Create a single-substitution feature that replaces each vertical letter with its horizontal analogue (V→H). This feature can also be used to switch every letter to vertical. It should not be activated by default.
  3. Create a contextual-chaining-substitution feature with two back classes: one containing all vertical letters (BV) and one containing everything else. If the back class (i.e., the preciding letter) is BV, apply the V→H feature to the current letter.

This way, the first letter of a word is untouched (because it is not preceded by a vertical letter) and thus vertical. The second letter is preceded by a vertical letter, thus the back class is BV and V→H is applied to this letter and it becomes horizontal. For the third letter, the back class is everything else again and thus it does not get transformed. And so forth …

  • There are allready fonts that do this. Even ones that have three letter chains exist to my knowlege.
    – joojaa
    Commented Jan 23, 2015 at 13:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.