I was reading another question on this site, and this was a sample of a cursive font from that discussion:


I really like it, but immediately noticed that it could not have been written by a human, because of how perfectly similar all of the t's and d's looked.

I think that creating convincing "dynamic" typefaces would be an interesting challenge. I don't know of any particularly good applications for it, other than to help out those folks with terrible handwriting, who don't have artistic skill, or who have disabilities (hooray for speech recognition!).

There should be a set of several glyphs for each character, so that they may be randomly chosen when typeset.

In order to get letters to flow together (as they should when using a cursive style) it seems like there needs to be ways to specify "regions" where lines can be bent to accomodate different combinations.

When not dealing with cursive, it is a much simpler problem, but I still don't know of any systems which focus on facilitating the creation of "variable" print. It would be dead simple: an extended font file, and a RNG.

So what I want to know is, has anybody else ever been bothered by this issue, where no cursive font has ever looked convincing? Are there any typographical systems which do these things I describe?

  • 1
    The OpenType font format can do this: ascenderfonts.com/info/designerstoolbox/august2009.aspx. I don't think this can be used directly in (La)TeX, though.
    – Jake
    Sep 25, 2011 at 2:55
  • The problem is more about a good font has all these features, for example, Zapfino. However, as far as I know there seems no such systems of creating glyphs dynamically. Using a fonts like Zapfino requires substantial typographical skills (you won't really want to use its glyphs randomly)
    – Yan Zhou
    Sep 25, 2011 at 3:03

3 Answers 3


Both Apple Advanced Typography and OpenType fonts can do this. Like Yan Zhou said, what you need is a good font that has variants and contextual alternates (such as Zapfino or Bickham Script Pro), and then to use XeTeX (or LuaTeX with OpenType) with the fontspec package to make use of these features.

See for example this question and the XeTeX showcase.

This example also makes use of contextual alternates to produce old-style typography.

Here are examples of Bickham Script Pro and Zapfino in action:

Bickham Script Pro



MetamorFont may be of interest to you. See luc.devroye.org/desruisseaux/.

In OpenType, the free font 0850 Carolina undulata would repay study. As otfinfo -i reports, “If Stylistic Set 7 is activated, the lines go in waves (16 levels), imitating the progressive emptying of the quill. Each sequence is accompanied by a gentle crescendo and descrescendo of the letter dimensions. The ‘pen’ goes back to the base line for every new sentence with a new ink filling.”

Here is an example, compiled with luatex:

\setmainfont{0850 Carolina undulata}[

output of the MWE


The Punk Nova font uses the opentype randomize feature to select glyphs from a list of alternate glyphs. See the example provided along with the font, which clearly shows the same letter with different shapes.

See Chapter XXIV of the ConTeXt MkII to MkIV manual for a much more drastic example that explains how to generate a randomized virtual font.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .