I am looking for alternatives to hand-lettering a Comic. One attractive alternative would be building a custom font. (I'll be asking about details on that in a separate question.)

However, I would like add variation to the characters in order to make it feel more natural. Meaning that a character would have to have several, subtly differing definitions. Which definition to use would be determined randomly.

Does any current mainstream font format support this?

If not, what methods exist to produce digital text with such variations?

Or is this simply insane for building the first custom font?

  • Is your lettering all caps?
    – e100
    Mar 2, 2011 at 15:57
  • @e100 yes, all caps all the way
    – Pekka
    Mar 4, 2011 at 18:07
  • If you don't mind to use TeX, see this answer which refers to Donald Knuth's punk font. Read also this article on dynamic fonts. Mar 5, 2020 at 13:52

5 Answers 5


Opentype fonts allow for many contextual alternate forms of each glyph, and rules to determine when they are automatically substituted for the default glyph form.

As far as I am aware any application which supports OT fonts will support these features.

While you'd normally have only a few letters with a contextual alternate, it's theoretically possible to have several forms per letter. But I don't believe you can really randomise their appearance, only cycle through them (so, if you had three forms of 'a', they'd be used in sequence and start repeating in 'the black cat sat on the mat')

Here's a nice demo page showing automatic contextual alternate substitution for House Industries' Studio Lettering fonts. This includes cycling between forms in order to emulate handpainted text, but I don't think it includes alternate forms for every letter.

To create a font like this yourself, you'd need to not only design the glyphs but add the substitution code. Not sure how difficult this is, but it's not something supported by all font editing apps.

  • The potentially most useful OpenType feature, rand – to render a random glyph out of a set per character – is almost 10 uears still not supported by any OpenType-aware software I know.
    – Jongware
    Mar 5, 2020 at 8:44

Given you only want to use caps in your comic, a simple solution to add a little variation could be:

  • create two different uppercase forms for each letter
  • assign one to the letter's uppercase slot, and the other to the letter's lowercase slot
  • create your lettering using a mix of uppercase and lowercase characters

You could probably randomise thE mIx to An exTEnt bY hammering on the shift key as you type directly in your design app, but I'd be tempted to write a script in my favoured environment to randomise the case of a string of text and then paste that in. You'd probably want to ensure that where there's a pair of repeating letters, eg 'tt' in 'letter' or 'oo' in 'moon', that they always use differing forms, rather than being truly random.

This approach also has the advantage that you don't need a full-featured font editor or delve into the inner workings of the OpenType format.

  • 1
    Oooh, very interesting workaround. Excellent, thanks! (I hate switching accepted answers but in this case, it's really justified.)
    – Pekka
    Mar 4, 2011 at 18:56

Not only would you need to use a font which has multiple glyphs for the same character but your application would need to support this feature too.

InDesign and Illustrator both have a Glyphs palette that allow you to manually select an alternate glyph for any character in your text. However this would be quite a labour intensive process if you were setting a lot of type.

I don’t know of any software that will select an alternative glyph at random, and relatively few fonts provide them. Those that do are often limited to a subset of characters, usually to provide swashes and ligatures.

Creating a custom font and then manually tweaking all the glyphs (or writing code to do it for you) would not be a trivial undertaking. It would probably be easier to hand-letter your comic :)

  • Good points. Plus there'd be a lot of pairing/kerning to be done as well, for each imaginable pair... I think I'll experiment with build a single-glyph font and see whether I get decent results with that first.
    – Pekka
    Feb 21, 2011 at 0:06
  • But OpenType fonts can also automate substitution of contextual alternates, and this is sometimes used in production fonts to emulate hand lettering.
    – e100
    Mar 4, 2011 at 19:18

You are aiming on contextual and stylistic alternate character forms, which is supported by opentype:



There are several SaaS solutions which offer exactly this. Often times, no real fonts are used, but a special software that does randomization to a level where it is almost impossible to make a difference if it was actual handwriting or computer-generated document. Sometimes a person really does every letter by hand.

You can find such services through online platforms like fiverr or just through Google .

Disclaimer: I work for one such service, which I would obviously recommend.

  • 1
    Please see our guidelines for promoting off-site links and add a disclaimer in your answer
    – curious
    Mar 4, 2020 at 14:08
  • Unfortunately, it looks like promoting an off-site link, and I have just checked promoting guidelines, but I was really not trying to do that (although it is indeed my product). What would be the best way to not get downvoted then? Should I delete my previous answer altogether, or is there a way that I can edit its content? I don't have any intentions to spam the system as I am a regular user of StackExchange and StackOverflow Mar 4, 2020 at 16:22
  • 1
    You need to edit your answer to add the disclaimer that this is your product. I can't do anything about the downvotes but it would probably help if you explained the process more and added other providers...
    – curious
    Mar 4, 2020 at 16:29
  • Hi aleksandaril. I took the liberty of editing your answer to make the self-promotion a little less blatant. I've added other providers, removed the name of your service (but kept the link), and put the generic info about the services on top. You can always edit your answer if you think you can improve it further.
    – PieBie
    Mar 5, 2020 at 7:46
  • Thank you both for your assistance. The answer is good as it is now, so I wouldn't change it. Once again, thank you. I really appreciate it. Mar 5, 2020 at 12:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.