First, I don't know much about creating fonts.

I work with a childrens book author and want to create a font from her handwriting. This means that I have to have more then one character per letter and use them at random.

I've found ways of creating a font from your handwriting (googled) – but not that has this capability. Anyone with ideas??


  • 2
    I don't know of any font which will pick a random glyph, ever. You would have to create an OpenType font with a wide range of glyphs and then manually change the glyphs.
    – Scott
    Commented Jan 31, 2014 at 10:26
  • 7
    I think when font makers do this, they do it by creating loads and loads and loads of ligatures - so the a in ...sa... might be different to in ...ta... to ...ma... to ...ssa... to ...sau... etc etc - but two identical words would look identical. Fonts also allow variants on letters that can be applied manually, which you could use to 'fix' repeated words near each other so they aren't identical on the same page (or, you could skip some ligatures). I can't remember a source for this though, think it was an interview with a handwriting font maker on MyFonts from about a year ago Commented Jan 31, 2014 at 10:33
  • 1
    Still can't find that source, but for a great example of opentype trickery making handwriting fonts look lively and real, check out Aya Script by Crystal Kluge (the live demo on that page only shows a small amount of the trickery in that font - look at the samples) Commented Jan 31, 2014 at 10:48
  • 1
    ligatures are probably the way to go as @user568458 suggests: many typeface already have them, many programs already support them (like indesign), and support is usually transparent. If you type fi and the f is tucked over the i and the dot on the i is gone, then it is probably an automatic ligature replacement.
    – horatio
    Commented Jan 31, 2014 at 15:00
  • Yep. Other than that - I don't know any font format that would support randomization of characters. Commented Feb 1, 2014 at 10:29

8 Answers 8


OpenType technology doesn't allow randomness so ‘randomness’ must be simulated.

OpenType ‘randomness’ can be simulated using groups of letters know as alternates. The idea that you could have 3 groups or more of the same letters that rotate; you’d expect to never see the same letter more than once in a word. Unfortunately due to letter combinations, repetitions will appear.

It might not be quite the font you are looking for but a good example of how some people have tried to solve this is during the development of Liza (Explained really well here: http://www.underware.nl/case-studies/random-vs-clever/)

They have a 1-2-3 grouping system of letters that they call the rotator. However, they also created the Swapper to work on top of the Rotator.

The Swapper looks back along the line to check if unlucky repetitions appear. If so, it'll correct the repetition of identical glyphs (in direct neighbourhood).

If this isn’t enough they also mention OpenType randomness based on language and stylistic alternates too.

This is probably the most complete example I know of for simulated randomness unless anyone else knows anything better!?

  • Lisa is a good example. LettErrors Flipper uses the same technique and is a bit older. They also mention the rotate tables: letterror.org/content/nypels/flipper.html
    – allcaps
    Commented Feb 17, 2014 at 19:32
  • This Typophile thread is a good starting point for rotation lookups and subtables: typophile.com/node/19625
    – allcaps
    Commented Feb 17, 2014 at 20:13
  • @allcaps Thats weird because I was going to mention LettError but I couldn’t find a good link! Nice typophile link!!
    – Stuart
    Commented Feb 18, 2014 at 22:41
  • This is another nice one! letterror.com/dev/css3/kosmik You could... Try it yourself :)
    – allcaps
    Commented Feb 18, 2014 at 23:31
  • Sorry, OpenType does allow and has got a feature, even named "Randomize". Some details and links in my answer. Commented Nov 11, 2018 at 15:22

Randomness is possible.*

You just have to be really smart and really dedicated to make it happen. Serious programming chops required.

Most of the very natural looking handwriting fonts you'll find use contextual alternates and complicated ligature substitution. This actually achieves a more natural result than randomization.

Some great examples of consistent substitutions can be seen in the script fonts from by Sudtipos. Their recent release Rolling Pen is an excellent specimen.

Rolling Pen is another cup of mine that runneth over with alternates, swashes, ligatures, and other techy perks. To explore its full potential, please use it in a program that supports OpenType features for advanced typography.

enter image description here

* History lesson

For those of you who remember the great Beowolf font from Just van Rossum and Erik van Blokland, it's back. Kind of.

enter image description here

Here's the story from FontFont:

FF Beowolf was born at the end of the dark and murky 1980s when Just van Rossum and Erik van Blokland found a way to change the programming in PostScript fonts. When printed, each point in each letter in every word on the page would move randomly, giving the letters a shaken, distraught appearance. Initially dubbed “RandomFont”, van Blokland and van Rossum created three versions with increasing degrees of potential randomness and FontShop released it as FF Beowolf, the first typeface with a mind of its own.

The technology in FF Beowolf wasn’t what computer and printer manufacturers had in mind for desktop publishing. So, while it worked great (if a tad slow) through most of the 1990s, FF Beowolf was eventually barred from performing its magic: pesky things like printer drivers and operating systems learned to ignore the non-standard. FF Beowolf seemed relegated to mere recollection.

But OpenType technology brought new hope, forging paths in the typetech continuum which would eventually lead to a new generation of RandomFonts. Each glyph in each font has ten alternates and a massive Faustian brain to control the mayhem. Specially developed and hellishly complex software, nearly ninety thousand glyphs, and an army of purpose-built ’bots took days to forge the OpenType features no ordinary type tool could have assembled.

[...] The randomness performs on screen in any application on MacOS and Windows which supports OpenType.

  • I would like to say that randomness was possible. It no longer is possible in the same way as it was when we used postscript fonts. The font program engines of today are more limited than the engines of past because many rarely used features have been removed for ease of implementation. What you describe is not randomness but complicated lookup that appears random, true randomness was possible. Although succession context wasn't, I'm not sure which is better. The other certainly was underutilized.
    – joojaa
    Commented Oct 1, 2015 at 7:42

Some OpenType fonts have several designs for a particular character and randomly show one so the text looks more naturally handwritten. For example http://fontfeed.com/archives/upcoming-fontfont-mister-k-pro/

enter image description here

  • Does it really randomly choose the character? I can't see how it would do that. It does have many alternates and ligature so you could it manually though.
    – Yokel
    Commented Feb 10, 2014 at 12:27
  • Not sure if they're strictly random, but that's a great example of a font that does a really good job of appearing like natural handwriting using character variants and ligatures. The ll and three types of i in "indiscriminada" in the sample are great examples. Commented Feb 11, 2014 at 11:41

I have been working in a random replacement script and my conclusion is there are not a magic recipe with a single script, instead this, the programming must be the result of multiple scripts that will change the result multiple times by using several lookups. The answers above is just the first part to obtain the random replacement but these need to be improoved with many other classes and lookups. I'm sure the result I obtained work fine and you can see it here: enter image description here

If you meed more information about how to programm randomly your font please feel free to contact me at my fan page on FB: Corradine Fonts.


Luc Devroye has the best list I've ever seen of "random" fonts. I remember reading his paper Random fonts for the simulation of handwriting several years ago and being fascinated. In fact, I was searching for that paper when I found this question.

Some of the links are defunct, but you can find for example MyFont on the Wayback Machine. I have never tried MyFont and do not endorse it etc., but it seems to be basically what you want.


Opentype allows for randomized texts.

Not many commercial fonts offer this feature, but it does exist:

Font Variations is integrated into OpenType 1.8 in a comprehensive manner, allowing most previously-existing capabilities to be used in combination with variations. In particular, variations are supported for both TrueType or CFF glyph outlines, for TrueType hinting, and also for the OpenType Layout mechanisms.


There is a dedicated feature for handwriting simulation, based on random rendering of variant glyphs:

Ligation and alternate forms features intended for all scripts

Randomize rand S3 Replaces character with random forms (meant to simulate handwriting)


Now for purchasing/licensing a suitable font, here is just an example from myfonts.com: Use advanced search and use two lines: tags include "handwritten" AND OpenType features include "Randomize"

You will find stuff like "Salted" and "Salted Sweet" or "Hand It".

You might want to sort by price and start with the expensive ones. Providing handwriting simulation is a huge effort.

Please also look at "Interconnected" and read the description to learn more ideas about simulating handwriting without using actual randomization (this goes beyond your actual question, but I believe you are more interested in the visual results than the technology "randomization"): https://www.myfonts.com/fonts/myhandwritings/interconnected/


There is a perfect example of a truly randomizing font: punk by Donald Knuth. It can be easily used in any TeX package e.g. in ConTeXt (see: Hans Hagen, The Punk Module).


Pseudo randomness with OpenTypes calt feature

Real randomness is not possible. There is a part in the OpenType specification but support for this is non existing. But you can create a pretty random looking font with the OpenType calt feature.

This chapter from the OpenType Cookbook describes (at the bottom) three different strategies: http://opentypecookbook.com/common-techniques.html

The following tutorial has another description: https://glyphsapp.com/tutorials/features-part-3-advanced-contextual-alternates

Depending on the strategy you choose creating the feature file for randomness by hand might be a frustrating experience. Programming a script to build the feature file is a more realistic way.

Edit: In the meantime I finished a project of mine (Calligraphr) which enables even complete font novices to create a font with randomized letters.

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