"Dancing letters" effect using opentype function

Hi everybody !
It’s been a long… And I need your help !

I’m on a new Condensed Rounded font project and I would like to allow the user to enable a “Dancing letters” option.

Thanks to @GeorgSeifert :wink:, I use an opentype function with this code :

pos @DEFAULT' <0 -20 0 0> @DEFAULT' <0 20 0 0>;
pos @DEFAULT' <0 20 0 0> @DEFAULT' @DEFAULT' <0 -20 0 0>;
pos @DEFAULT' @DEFAULT' <0 -20 0 0>;

The “Dancing letters” effect appears as expected in InDesign, but nothing in Photoshop or Illustrator :sweat:
DancingOrNotDancing

Do you guys know what’s happening ?

And please give me your opinon :
As a font user, what opentype function would you prefer in order to enable this option ? (right now, I’ve chosen the Titling feature)

Thanks !

Different apps have different implementations, and… well, bugs. I believe it depends on the composer you choose in Adobe software. Not sure if AI and PS allow switching of composers.

I’d expect it in a stylistic set. But possible that some apps will only allow substitutions and ignore positioning lookups.

Thanks @mekkablue.
So I’ve tested a lot of different options (stylistic set, Stylistic alternates, Contextual alternates) and there is no way to have the positioning lookups in every app…

I’m surprised, nobody ever tried that kind of dancing effect ?

The other way would be to duplicate all the characters and move their position, then use opentype substitution, but as @GeorgSeifert told me, it would blow up the file size…

There used to be a mekkablue script exactly for that (now it’s a GitHub gist), and it worked everywhere except Adobe apps. I believe even the classic composer in InDesign refused the positioning feature.

:sweat_smile:

So I think I have to use the “Duplicate all the glyphs” option…
In your opinion, what opentype feature would be the appropriate one for users ?

I just tried it in the smcp feature and is does work in all three Adobe apps. So it is just a question of finding a feature that can be accessed in all three apps. Putting it in “salt” for illustrator and photoshop and “ss01” for Indesign is working fine for me.

So best to put it in an ssXX.