Hacker News new | past | comments | ask | show | jobs | submit login

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.

[0] https://www.baumanrarebooks.com/rare-books/katzen-mollie/moo...

[1] https://skimo.co/allen-mikes-backcountry-ski-book

[2] https://archive.org/details/anybodysbikebook00cuth


Don't forget the Forrest Mims electronics books that were in every Radio Shack back in the day.


Oh, thanks for that recommendation. I’ll be sure to read them soon.


Thanks, that bike repair book is nice!


> 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).


There is almost certainly a pathological component to how much effort I sunk into the book but once I started... I kinda just kept doing it.

Also, lettering was sort a of a nice peaceful zen break from the harder work of writing prose.


You'll probably enjoy his writeup (and a video) on his process: http://journal.stuffwithstuff.com/2020/04/05/crafting-crafti...


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.


TIL postscript has an rng in the form of the rand function.

Assuming it’s widely implemented, it’d be hilarious to distribute files that replace their contents with a 4koma 1% of the time.


Is this related?

https://itnext.io/typescript-and-turing-completeness-ba8ded8...

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.

That's how you can do things like https://litherum.blogspot.com/2019/03/addition-font.html https://pagedout.institute/download/PagedOut_002_beta2.pdf#p... https://aftertheflood.com/journal/the-worlds-first-code-free... https://www.coderelay.io/fontemon.html (most of these will work in a browser). I've also suggested that you can create 'prank fonts' which add in subtle typos sporadically.

Less evilly, this is what calligraphy handwriting fonts do to get convincing variation.


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.)


I found this one recently: https://ifonts.xyz/mythshire-font.html

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.


You might be interested in Fredrick Brennan's TT2020 which is designed to explicitly address this

https://ctrlcctrlv.github.io/TT2020/docs/


Your website design is delightful!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: