alternative to METAFONT

I have used Metafont to create several calligraphic fonts (bookhands on CTAN) based on writing between Roman times and the 15th century. Later I used FontForge to convert some of them to type 1 fonts, as well as adding a few tweaks like accenting some letters.

FontForge is free software with a graphical user interface rather than a textual one. I know it runs on Linux systems but don't know about the others.


I've been thinking about this problem, and came up with a (very) beginning basic solution using lualatex and the luamplib package.

\documentclass{article}
\usepackage{luamplib}
\def\a{%
    \begin{mplibcode}
        beginfig(1);
        fudge := normaldeviate;
        fudge := normaldeviate;
        w = 12pt; h = 20pt;
        pickup pencircle scaled 2;
        fudge := normaldeviate;
        z0 = (0+fudge,2h/3+fudge);
        fudge := normaldeviate;
        z1 = (w/2+fudge,h+fudge);
        fudge := normaldeviate;
        z2 = (w+fudge,2h/3+fudge);
        fudge := normaldeviate;
        z3 = (w+fudge,0+fudge);
        fudge := normaldeviate;
        z4 = (w+fudge,h/8+fudge);
        fudge := normaldeviate;
        z5 = (w/3+fudge,0+fudge);
        fudge := normaldeviate;
        z6 = (0+fudge,h/3+fudge);
        fudge := normaldeviate;
        z7 = (w+fudge,h/2+fudge);
        draw z0..z1..z2..z3;
        draw z4..z5..z6..tension 2..z7;
        endfig;
    \end{mplibcode}
}
\begin{document}
\a \a \a \a
\end{document}

This defines a macro, \a, which draws a very simple lowercase "a," but does it with all the points subject to some degree of randomization (between -1 and 1 Postscript points). This solution lacks both precision and generalization, but does show that what the OP wants is possible in some form of LaTeX. One run of this document produced the following:

four randomized lowercase "a"

I defined a macro here, but it's possible (though probably rather difficult) that this might be done entirely in active characters, so that one might type simply "a a a a" rather than "\a \a \a \a". It would probably be best to limit this to an environment, though, as otherwise it would wreak havoc with your other macros. I have neither the time nor the expertise to define such an environment, but it seems to me that it would be possible.

I do hope that if you make any progress along these lines, you'll make them publicly available. I don't have the personal drive to do this myself, but I'm quite interested to see broader results.


Iff you want your font to be widely usable (i.e. to be used by other programs than TeX), it must be an OpenType font, as that is the standard font format in use today. The best tool used to create them by the TeX community is MetaType1; I strongly suggest to contact the Poles.

And of course FontForge is an indispensable tool.

Tags:

Fonts

Metafont