From one random problem to another

After a random hiatus, here is where the Randomize OpenType feature stands in browsers today.

OpenType features documentation often says the Randomize feature isn’t supported, and shows a Contextual Alternates example instead. Or, it omits the feature entirely, like I did.

For type designers, there isn’t a lot of recent documentation on implementing the rand OpenType feature, either.

John Butler wrote about how it wasn’t supported in rendering environments in 2001. That hadn’t changed when Tal Leming released the The Unofficial OpenType Cookbook in 2014.

Both of their approaches use the Contextual Alternates feature instead.

I didn’t expect this to change, and for the Randomize feature to get any attention—so I was surprised to see that both Chrome and Firefox now support it.

This is a contrived an example font that uses the rand feature to switch between three possible “A”s.

A screenshot of Firefox, showing three lines of text, with the “rand” OpenType feature applied. Each line of text has a few more letters, and demonstrates that the “randomness” is actually a repeatable sequence.

This could be applied in a much more practical way, but it’s pretty clear that this is the same sequence over and over.

This isn’t quite random, but this is also an unrealistic example, where the same letter is repeated many times. But you can see it is actually a sequence: if you write out the exact same thing, you will get the exact same alternates.

Well, unless you use a different browser.

A quirk which does add some unpredictability: Chrome and Firefox don’t seem to interpret the guidelines in the OpenType Layout Tag Registry the same way either.

The same website demo, switching between Chrome and Firefox to show the differences.
In the last line, the interputd sequence of “A”s is handled differently in different browsers.
  • Firefox seems to start the sequence over when you re-use the letter again
  • Chrome seems to try pick up the sequence where it left off

So you do actually end up with different results in different browsers, which I suppose is approaching random. But it’s really just a different interpretation of when the sequence should re-start.

Chrome’s approach looks much more promising once applied to something realistic that isn’t just “A”s. But for either, if you write the same word as a headline on its own, they will use the exact same alternates, which doesn’t really: “emulate the irregularity and variety of handwritten text.” 

It’s promising to see an old feature get some attention, but I think we’ll still be using pseudo-randomization via Contextual Alternates for the foreseeable future.

Until next time,
Kenneth