I have a font that I made based on my own handwriting that does this. Three variants is really not enough to feel organic, five or six is.
Spending a while tweaking kerning in Glyphs helps too. When I’m using it in something, then every time I notice some bad kerning, I’ll dump the text into Glyph’s preview window and tweak things. It is an ongoing process. Still needs a bunch of characters, too, I think it’s missing numbers and some important punctuation...
The "programmatically generate a lot of ligature pairs with random choices as to which variant" is clever, but I feel like it's gonna be pretty obvious - you'd get the same ligas a lot in common words like 'the' and the eye would pick that out very quickly!
(also man this font I was working on has some crazy ideas in it, I really like the 'switch to italic glyphs by putting a slash at the front of the word' idea. No faffing around with a separate font. Very weird but very useful for the case of "lettering my comics".)
One major difference in how I approached this problem was to work from an existing corpus of letters drawn with the natural rhythms of handwriting, too. I took a bunch of hand-lettering I'd done and worked from that instead of drawing each letter in a little box for a program to parse...
Interesting. I immediately thought of ligatures to generate variation but hadn't clued that the common ones would be obviously similar. As someone who can't repeat my own signature the same way twice a handwritten font is something I really want for filling in forms "by hand".
> switch to italic glyphs by putting a slash at the front of the word
Wait, are you saying it might be possible to implement typesetting rules by creating a font that interprets syntax?! As in egypturnashs-markdown-renderer-font.ttf??? That is both horrifying and wondrous.
OpenType can do some very very complicated things; I would honestly be surprised if it's not Turing-complete. But it is also one of those languages where a lot of things are possible but actually doing them is pretty tedious. Take a look at some of the links at the end of my notes on this font and you'll see what kind of repetitive horrors have to be generated to do Weird Stuff.
Spending a while tweaking kerning in Glyphs helps too. When I’m using it in something, then every time I notice some bad kerning, I’ll dump the text into Glyph’s preview window and tweak things. It is an ongoing process. Still needs a bunch of characters, too, I think it’s missing numbers and some important punctuation...
(Also looking at my blog the last time I fucked with it was probably around 2015. https://egypt.urnash.com/blog/tag/font/ )