I Need My Generic Font Medicine




Bookman L

Avant Garde

Zapf Chancery

New Century Schoolbook


In short: We present a release of UFO source files for the Ghostscript fonts, a set of typefaces created to replace (and mimic) the proprietary typefaces present in the specification of Adobe PostScript. Download them as a zip, together with installable fonts, or fork them on GitHub. Let me explain.

I want my generic medication

Like medication for which the patents have expired, popular typefaces sprout generic sisters and brothers. For Helvetica: Swiss 721, CG Triumvirate, Pragmatica, Nimbus Sans.

All of this is possible because copyright protection on fonts is not very strong, especially in the United States. The thing that is copyrightable, though, is the series of points contained in an actual font file, i.e. the digital artefact that constitutes the typeface. That is why, in any End User License Agreement, the legal language refers always to the font as a program: a program, as a series of written instructions, is copyrightable.

The DNA of the 1990ies

Desktop Publishing is what happened when personal computers got powerful enough to create layouts for print publications. If you want to find one document that represents the DNA of Desktop publishing, the Adobe Postscript specification would be a good candidate. PostScript, as a language that describes page layouts, and the vector drawings and typefaces used in these layouts. In the late 1980ies, it is the glue that binds together layout programs such as Aldus Pagemaker, Adobe Illustrator and printers such as the Apple Laserwriter.

In the 1990ies, virtually all graphic designers find themselves moving to the desktop computer. Yet even if its production has moved to the screen, the image of Graphic Design in the 1990ies is still tightly coupled to print. David Carson’s ‘Print is Dead’ is a book, not a website or a tv show. Designers make their name with magazines and record covers. And even if Truetype, a format developed by Apple & Microsoft, makes a lot of progress in adapting vector typefaces for the screen, it is Emigre’s and Fontshop’s typefaces, designed for print and executed in PostScript, that seem to capture the design aesthetic of the era.

It is also in this time that we see a number of auto-reflexive typefaces, that deal with the nature of the vector curve in general and PostScript in particular. Neville Brody’s FF Autotrace is a reflection of the passage from the analog to the digital, and more precisely, from raster to vector. Simulating the effect of a rushed automatic ‘vectorisation’ script on a bitmap of a Helvetica like grotesk, it is a meditation on the kind of transformations that are performed over and over again in the process of Desktop Publishing.
An analogue drawing might first be scanned to get it into the computer, which produces a raster image, then transformed into vectors to be able to scale it in dimensions. To make the image visible though, it will need to be rasterised again, first on the screen of the designer, and finally by the printing device.

Letterror dives into the very fabric of PostScript when creating FF Beowolf, what they call a RandomFont. Just van Rossum and Erik van Blokland have added an extra command to the PostScript language: freakto. Instead of the more predictable curveto and moveto commands of regular PostScript, the points are slightly random. Letteror says ‘Beowolf demonstrated that digital fonts are data and code, and therefore instructions that can modify themselves.’. Pierre H. tells me, it used to get you banned from printshops (the PostScript execution taking place in the printer, printing a document in Beowolf takes significantly more time and computing resources then printing a regular document).

It is only today, when every design agency also produces websites and mobile applications, PostScript has lost its position of the central language. When designing for the screen, a ‘page description language’ is not flexible enough. The defining language of today is probably the markup language HTML, which trades in the (typo)graphic precision of PostScript for the kind of flexibility screen based media require. The main standard for eBooks, ePUB, is based upon it.

The ghost in the shell

Every language needs interpreters. Early laser printers had their own PostScript interpreter, translating the vector image into a rasterisation. You also need an interpreter when you want to rasterise a PostScript document to the screen. A PostScript interpreter that is Free and Open Source (and who’s history also goes back to the 1980ies) is Ghostscript.

As part of the specification for PostScript, Adobe specifies a set of 35 fonts each PostScript capable device should be able to handle. Because these typefaces are not available under an open source license, GhostScript has a problem creating a Linux version. The solution: the company developing GhostScript convinces the Hamburg based font design company URW to license a set of their generic typefaces under the GPL license:

The copyright holder of these fonts, URW++ Design and Development Incorporated (the successor to the former well-known URW company), was willing to release the fonts with the GPL and the AGFPL because they judged (correctly in my opinion) that these particular fonts have become such a commodity item, with such low profit margins, that the value to URW++ of having URW++`s name widely visible and appreciated on the net is now greater than the loss of profit from those future sales that the free licenses will cause not to occur.

If PostScript is the DNA of Desktop Publishing, these 35 fonts represent its typographic genes. Thus, while none of the fonts are extremely interesting in their own right, they form a great backdrop for showing procedural transformations on typefaces. Examples are OSP’s NotCourierSans (chopping the serifs of the Nimbus Mono), Patin Helvète (adding serifs to the Nimbus Sans) and Limousine (attempting to maximally change the character of Nimbus Sans through minimal modifications). And it is because of the free and open source license of the GhostScript fonts, that these alterations and their redistributions are allowed.

What’s the fuss

You can get the original release of the Ghostscript Fonts on Sourceforge. These are PostScript Type 1 fonts. If you want to continue building on them, the UFO font format is more suitable. That is why we prepared a release of all these font files in this format (an added convenience: less cryptic filenames). We see these fonts as finished, but there are some technical implementation details that could still be improved: you can find more info in the README.txt. More importantly, you might find ways to abuse them for your own ends—if you were formed in the 1990ies, PostScript is in your blood: and these are the fonts you will feel all Oedipal about.


While it is true that the technologies used today for the digital definition of typefaces such as PostScript have some qualities of software and programming languages, there is little evidence that the file formats that describe typefaces such as Type 1 and OpenType actually take advantage of this flexibility. PostScript is a page description language developed by Adobe Systems Inc. In order to offer the greatest flexibility and future scalability, it was designed as a full programming language. Type 1 is the type-specific aspect of this language, and just like the rest of PostScript, typefaces in PostScript are formulated as sequences of program code. But since these codes describe graphical shapes and lists of sizes and spacing between characters, there is little reason that it really should be considered software. The recent introduction of a new open font format named Unified Font Object (UFO) that is entirely based on XML descriptions, proves that all this information can bes stored without being written as software, since XML is a descriptive markup language like HTML, not a programming language.

Jürg Lehni, in Typeface as Program p. 89 — an updated version of the text is available online

It is true that PostScript Type 1 files hardly benefit from the more advanced programmatic features of the PostScript language. Letterror’s Beowulf is a PostScript 3 font. The PostScript 3 format is more free than the PostScript 1 format, in the sense that every glyph is basically a little PostScript drawing, allowing access to the whole bag of tricks that PostScript offers. 

One of the reasons that PostScript 3 is not as popular as PostScript 1 for ‘professional fonts’, is that it does not cover the hinting subsystem of PostScript 1. PostScript’s successor as a type format, OpenType only allows the restricted definitions of Type 1. It does add a sort of programming language, OpenType features, that allow to specify behaviours relevant to fonts. But it lacks the expressivity of a real programming language. For the OpenType re-edition of Beowulf, LettError writes:

A modern version of Beowolf, now in compatible OpenType format can be licensed at FontFont.com. These fonts do not contain the original random instructions: the modern font format just does not allow for such silliness.

It might be so that definition languages for typeface have become more static, but interest in algorithmic design seems to have considerably risen these days—Typeface as program being an example.

At this point the strictly static UFO does not seem to able to contain what is the font. In these current experiments, Donald Knuth’s 1970ies algorithmic type design language, Metafont seems to be still the most elaborated exponent of this paradigm. In Metaflop, Simon Egli, manages to repackage all the 1970ies software that is Metafont into an interface that works on the web, allowing you to tweak the parameters of the font with live visual feedback.

Even if it is not made explicit what kind of system is being used ‘behind the scenes’, Bill, the typeface of the new Sandberg visual identity (Carvalho Bernau) seems to use a similar logic as MetaFont.

A strictly generative approach to typesetting is of course limiting in its own ways. This style of type design in which a font is created through a formalised ‘recipe’ might work very well for creating some kind of fonts, but can not account—I think—for all the possible formal richness we get when drawing and glitching directly on the curves.

That is why I like LetError’s assumption that: ‘digital fonts are data and code, and therefore instructions that can modify themselves’.

In their 1990 article for Emigre:

We could release a typeface that deteriorates over time, slowly turning into a Beowolf-like face, scaring the hell out of its users. We could create letters that wear out through frequent use, combined with a feature that uses up certain often used letters.

With OSP we tried to exploit Postscript’s potential as a programming language in a visual identity for a research group on cryptography.

If you download these EPS files cards-page001.eps and cards-page002.eps each time you open them they will look different. In Evince, the standard document viewer in Linux, it even changes every time you zoom, because the EPS is rerendered based on random values. These images can even be embedded in Word templates, and the output will be different every time the document is printed.

Well if you open it up in a text editor it looks the same every time :)

You are on the trolly side of life today, bnf

That i in Helvetica looks a bit jumpy


Leave a comment