I use a "textured" font on my website (https://fonts.google.com/specimen/IM+Fell+English, see https://maya.land) and it bothers me all the time that the deformations repeat across letters -- like cracked stone ones where the cracks are the same on every "a"? Because I think mine's simple enough, eventually I'm going to figure out how to get a similar effect with an SVG filter like the "xerox" one on https://endtimes.dev/.
I hate fonts that have textural imperfections that are repeatedly perfectly on every instance of the same character, destroying the illusion.
When I wrote my book "Crafting Interpreters", I hand-lettered every single word in every illustration separately so that it would be as imperfect as it appeared.
Your hand lettering is excellent by the way. Thanks for taking the time to do that. It's a lost art.
The only works of comparable quality I am aware of are classics like the Moosewood Cookbook[0] (famously completely hand typeset), Allen and Mikes Really Cool Backcountry Ski Book[1], and Anybody's Bike Book[2].
Hand illustrating technical content is so much better than sterile diagrams, and it lends a sense of personalization, especially if the illustrator is also the author, which is a rarity.
> I hand-lettered every single word in every illustration separately so that it would be as imperfect as it appeared.
Good lord, I'm going to think about this every time I consider dedication to craft.
Seriously, wow. That's impressive. I'm sorry this isn't more substantive of a comment, but I really wanted you to know how amazing that is (as you probably already do).
Character alternates have been a feature in OpenType for a while. They can be triggered contextually or manually with CSS. Usually these and ligatures are enough to create natural-looking variations.
It's possible in PostScript to dynamically modify each glyph. Long long ago, I saw a small collection of typewriter and handwriting fonts that did this. This would have been back in the mid 90's or so.
I used a handwriting font with dynamic variations ~99-00 to generate address labels for someone entering competitions because printed labels were considered somewhat "cheating". Wasn't entirely convincing if you looked hard but miles better than 50 identical Times New Romans.
I'd read this long ago, but my impression was that all the hinting stuff is auto stripped out of loaded web fonts for security/performance these days (maybe after some of those early font vulnerabilities that caused NoScript to block fonts), so most of us can't use it.
That's why I was wondering if ligatures might be a reasonable hack.
You may not have an explicit rand(), but with the ligatures & substitution rules, you can add so much context sensitivity that no one will ever spot any duplications.
I think this is probably true to most people, and therefore good advice, but boy howdy do I still notice the repeats in e.g. "handwriting" fonts with extensive alternates -- the worse the quirkier the glyphs are supposed to be.
Back in the day, I created a font called "Scribble Flinger" that would put smudges and stains throughout if you enabled the contextual alternates. I came up with several alternates for each glyph, and was pretty pleased with the result.
It's a free font, and I occasionally see it used in posters for rock shows or other "alternate" events.
But your point is right on. I only created three alternates per glyph, if I remember correctly, so if you were to try to use it for an entire page of text, it would reveal its tricks pretty quickly. For just a title or header, I think it holds up.
They definitely work better for short text, primarily titles and logotypes. If you only have a few instances of, say, lowercase "a", then it's going to be fine if you only have a few alternate glyphs.
(Having said that, there's definitely a bit of craft, if not art, in choosing the right glyphs and getting the kerning right.)
It especially stands out when you see repeated letters after each other in the same word, like "egg". Seems like a situation where font ligatures could be used to automatically fix it.
Do you know fonts that feature character alternates prominently? I cannot think of type that I've seen used which used variations on characters to lead to the appearance of natural looking hand written text.
The most (in)famous font that's chock-full of character alternates is Zapfino. Whether it'll look naturally hand-written is up for debate -- once you recognize Zapfino, you're going to recognize Zapfino -- but you can get some pretty expressive variants. The downside of recognizing Zapfino is always being permanently disappointed in how few people actually take advantage of those alternates, though.
You'll sometimes find them in other fonts, though; Hoefler Text's italics have a whole bunch of "swash" alternates, for instance, which can be a lot of fun for titles. (Both Zapfino and Hoefler Text are standard fonts on macOS.)
Note how in the 'Dungeons & Dragons' example none of the repeated characters look alike. It only uses ligatures though, not contextual alternates, so words like 'egg' will still look mechanical.