Not right at the moment, but I could probably put a few together without too much difficulty. I'll try to find a spare moment to do that at some point.
eta: Done; here you go.
It's a bit blocky, because it's a low-res font designed for a game played in 320×240 VGA. (And it's almost embarrassingly '90s-gamer-bling in its aesthetic, but then I originally dreamed up the font design in the '90s for a game.) You can see the multiple styles of character in a few places, notably the N and the H. The line at the bottom with the CHEEESE illustrates the global effect: add another E at the end of the string, and the connections between Es flip round and end up with the H going the other way.
Looking at this demo text, actually, I'm not so impressed with the optimisation; QUICK looks particularly nasty to my eye. Partly that's because the Q just isn't very good (I don't think I've had occasion to use it before now!) but also I think the I would have been better extended downwards rather than upwards; I should have had my value function reward a good balance of upward and downward extensions. Still, that's just a small tweak in the optimisation goal and doesn't invalidate the basic approach.
Cool! Oooh, I thought of a use for it! On a modern computer, you could have it in real time, dynamically morphing the characters, having constantly slowly shifting but constantly well designed text...
Do you have screen caps of the output, out of interest?
eta: Done; here you go.
It's a bit blocky, because it's a low-res font designed for a game played in 320×240 VGA. (And it's almost embarrassingly '90s-gamer-bling in its aesthetic, but then I originally dreamed up the font design in the '90s for a game.) You can see the multiple styles of character in a few places, notably the N and the H. The line at the bottom with the CHEEESE illustrates the global effect: add another E at the end of the string, and the connections between Es flip round and end up with the H going the other way.
Looking at this demo text, actually, I'm not so impressed with the optimisation; QUICK looks particularly nasty to my eye. Partly that's because the Q just isn't very good (I don't think I've had occasion to use it before now!) but also I think the I would have been better extended downwards rather than upwards; I should have had my value function reward a good balance of upward and downward extensions. Still, that's just a small tweak in the optimisation goal and doesn't invalidate the basic approach.