Hey pals! I’m gonna do a short little video series here on the OpenType features inside Womprat so you can learn how to use them!

Buy the font here → http://womprat.xyz/

First up— Ligatures.

Womprat: “The font you’re looking for.”

Womprat is an ultrabold display font inspired by Star Wars for use on posters and headlines.

Next— Contextual Alternates.
Onto Discretionary Ligatures!
Arbitrary fractions. Neat!
Alright— Ordinals. Those little letters that appear after numbers.

This is where the fun begins!

SS01: Special Edition

SS02: Empire
SS03: Jedi
SS04: Squadron
Wait— Stylistic Sets are not mutually exclusive?!
SS05: Desiljic
SS06: Wanga
SS07: X-Wing
SS08: Mortis
SS09: Director’s Cut

SS10: Youngling

...we’re now halfway through the Stylistic Sets.

Yeah man, this font is crazy.

Gonna take a little break before I do the second half. Thanks for watching and learning about Womprat (the most complicated font I’ll ever make)!

Also if you wonder *how* all of this works, @AurekFonts wrote extensive code for all these features into the font.

Okay! Back at it.

SS11: Lubalin Ligatures

SS12: Avant
SS13: Vavnt
Reminder! You can stack Stylistic Sets.

SS14: Roman Numerals

Ender (@AurekFonts) engineered all of the stuff you see in these videos, but this one is especially fun.

@louie @AurekFonts this is mental to me. I had no idea fonts could do this. Is there like a table in the font of all reasonable Roman numeral combinations? Is there executable logic happening? As you’ve gone through this, my mental conception of fonts has been BLASTED INTO OBLIVION (<- would probably look great in Womprat).

@skoda @louie

This is a good question! The basic principle is to use "contextual lookups"—basically, the font itself checks the context around a symbol and decides whether to replace it.

In this case, I created three groups (lists) of glyphs:

- Letters to replace with roman numerals
- Roman numerals
- & EVERY OTHER LATIN/GREEK/CYRILLIC LETTER

1/

@skoda @louie

Now the next part went through some drafts. The first looked something like this:

- Find a letter that could be a roman numeral
- Check the surrounding context (forward and backwards), to see if the current word contains any letters that cannot become roman numerals; ignore those
- If none of the "ignore" conditions are met, replace with a roman numeral

2/

@skoda @louie

The next draft (the one we actually used) might be a little less efficient, but it's less verbose.

(Also, due to a weird technical constraint, this version worked better on our font tester webpage.)

This one is similar to the last but does things in a different order, and swaps the letters twice:

- Replace every letter with the roman numeral equivalent
- Then check context to replace the roman numerals with letters again

3/

@louie I love your work on that.
@louie most impressive. Very satisfying to see your work in action and see the how and why. 👍👍