Skip to: Navigation | Content | Sidebar | Footer

Weblog Entry

A Typeface Fantasy

October 19, 2003

And this is where we dive right in to the pressing issues, the questions that matter by god! The burning quandry at the forefront of all of our minds is, of course, where in the world did they pull a generic font family like ‘fantasy’ from for CSS?

It’s been around since CSS1, but the CSS2 spec explains far better what exactly a fantasy font is:

Fantasy fonts, as used in CSS, are primarily decorative while still containing representations of characters (as opposed to Pi or Picture fonts, which do not represent characters). Examples include:

Latin fonts: Alpha Geometrique, Critter, Cottonwood, FB Reactor, Studz

Okay, sure. Let’s face it, no one has ever implemented precisely that. Unless a particularly keen user has overridden their settings, no browser has ever rendered it properly according to the spec. Comic Sans is not a decorative typeface. So in the wide world of fonts, why was it considered a priority, or even a good idea to introduce something so vaguely impractical?

Not only is this quirky font family a design nightmare, but accessibility suffers for it. A default font size that is considered more than generous using, say, Verdana, Georgia, or even Times could be completely indistinguishable given the intricate detail that goes into a pictographic or decorative letter.

No one in their right mind uses it (a complaint from 1997 that wasn’t addressed then, and 6 years later still remains completely valid). It’s an unpredictable time bomb on any page that dares. It’s cruft in the spec, it’s been suggested that it should be dropped, but it’s not going anywhere in CSS3. Of course, we’ll have WebFonts to look forward to once that’s out (which includes some font selection capabilities that will make your head spin), but there in the middle, right amongst all the forthcoming goodness is useless old fantasy.

So who did it? Where did the idea come from, and who considered it important enough to sit in the comparitively small CSS1 spec? I had not a clue, so it was time to turn to Google. Dredging back to the early years of CSS proved quite a task, thanks no doubt due to web rot and decentralization (we’re talking 1995 and 1996 here, when things were a lot smaller).

I browsed the relevant www-style archive from its inception to the release of CSS1 as an official recommendation. No luck. I Googled newgroups and the web as far back as I could go. Nothing. I haven’t been able to find a single word anywhere on the public web toward explaining why this was a good idea at one point.

I have a hunch my answer might be found within the yellowing pages of Cascading Style Sheets: Designing for the Web (1997) by Lie and Bos. I haven’t read it, and no one carries it anymore. If you have a copy, or have any clue whatsoever on how this came to be, please, reply in the comments. We’re all on the edge of our seats.

Reader Comments

tm says:
October 19, 07h

Seriously, why the fuss? Perhaps I don’t fully comprehend the relevance.

October 20, 01h

I quickly skimmed through Cascading Style Sheets, Designing for the Web. There is no further info about the generic font family fantasy…it is just mentioned.

October 20, 01h

The book doesn’t really illuminate the question of “why.”

Under “Classifying Font Families,” Lie and Bos say:

Font families are often classified into a few general categories. The number and names of categories vary from one typographic tradition to another. Here are the questions CSS asks when classifying a font family:

* does it have serifs (defined shortly) or is it sans-serif?
* is it proportional-spaced (variable-width) or monospaced (fixed-width)?
* was it designed to resemble handwriting?
* is it intended primarily for decorative purposes rather than for use in running text and headings?

And later:

Some fonts are seldom used for large amounts of text because their appearance is too unique to be read easily in large amounts. Typically they are reserved for display, and to some extent headline, purposes. Some don’t even have full alphabets; they just have capital letters. They may be strangely decorated, irregular in shape or very fancy.

The book has a whole chapter on web fonts and font descriptions, so I guess the authors of CSS envisioned a much richer set of fonts available to web authors than we have today.

It’s a great book, by the way. I still use it all the time.

Bernard F says:
October 20, 03h

If you should still want that book, try Apparently there are two places indexed by that have copies.

Hero A says:
October 20, 04h

After this entry prompted me to re-read my own copy of Lie & Bos, I’ve been formulating a theory of how this came about.

Considering the amount of typographic control in CSS, its creators no doubt read up on typographic specifications in the context of functional nomenclature, but apart from the nuanced context of graphic design. Perhaps they were just trying to cover all the bases when they included the “cursive” and “fantasy” generic font family categories.

Chapter 10 of Robert Bringhurst’s The Elements of Typographic Style uses the following general type classifications: serifed text faces, unserifed text faces, blackletters, uncials, script types, Greeks, Cyrillics, and inscriptional & calligraphic capitals. How should these categories be tranlated for the less typographically inclined?

Non-designing web developers, many of whom diminish the value of visual design, would still no doubt know the distinction between serif and san-serif, possibly in connection with functional readability issues (i.e., the eternal debate over which is more readable). The distinction between proportional and monospaced is functionally necessary for web developers to set, at the very least, aligned tabular numerical data.

Monospaced and, arguably, san-serif and serif are still practical, functional categories to a non-designing web developer.

So then, how would someone include the other less functional classifications for such developers to use and understand? ASCII and ANSI don’t deal with Greek and Cyrillic alphabets, which are left to Unicode to handle. Script types resemble handwriting, but “cursive” is only seven characters long while a “script” involves programming code. That leaves blackletters, uncials, and inscriptional & calligraphic capitals, all of which resemble the letterforms found by many developers (yes, it’s a gross generalization) in _fantasy_ literature and genre movies. And since a monitor is a “display” device, where could the rest of the existing alphanumeric fonts be classified (especially with “miscellaneous” being a disaster to spell)?

Cursive and fantasy seem to be accommodating catch-all categories which seem to have been included without really understanding their presentational nature. There isn’t really much reason to use either category in everyday CSS, although cursive is the somewhat more presentationally functional of the two with fantasy being too broad in scope to be useful.

Of course, all this early-morning (EST) rambling is purely hypothetical until proven otherwise.

(Yes, that’s my real name below. Non-western parents– ‘nuff said.)

October 20, 05h

I suspect if you dig enough, you will get to ISO 9541, a standard for describing fonts. This thread at points in that direction:

But ISO standards are not available online (way to encourage adoption!), and are generally so obtusely constructed and written that they are hard to adopt anyway.

Here’s a hint of what might have been in 9541:

If you clump all the serif designs into “serif”, then you have basically the CSS font scheme.

Ages ago I actually served as a representative from Digital to this standards committee, working on these and related standards. Those are months of my life I’m not getting back…

October 20, 05h

BTW: if you want to see more type classification schemes, check out

and particularly PANOSE:

which delights in reducing the entire subject to a huge array of quantitative measurements.

October 20, 06h

A scan of the page in ‘Cascading Style Sheets: Designing for the Web - Second Edition’ with examples of the five generic font families can be found at:

By the way, you might want to try to gettting yourself a (second-hand) copy. It’s still one of the best books on CSS.

Dave S. says:
October 20, 09h

Excellent, thanks Thijs.

Ned, Panose is planned for CSS3 - - see the first example.

Hero - I came across a few classification musings on www-style in my journey, mostly published after CSS1 had become a recommendation. The tone was more or less as you theorize, ie. ‘What makes font x different from font y?’ No concrete answers.

And the question lingers on! Something tells me it’s going to take someone with access to the W3 member archives to crack this nut.

October 20, 10h

“Okay, sure. Letís face it…”

Nice pun, Dave.

October 21, 01h

I’m fairly certain (though I wasn’t involved at the time) that the CSS1 font families are based on the Windows GDI font families.

Notice how the definitions feel oddly familiar.

Of course the names were changed:

* Decorative -> fantasy
* Modern -> monospace
* Roman -> serif
* Script -> cursive
* Swiss -> sans-serif

The CSS1 names in general make more sense since they are more descriptive.

However, I have no idea why “decorative” was renamed “fantasy”, since “decorative” is a more descriptive name.

Perhaps *all* the names were changed in order to hide the origin of the taxonomy.

October 23, 08h

The only problem with PANOSE showing up in CSS3 is that HP has an exclusive license to the technology. While it seems like a useful addition, the web’s typography would be at HP’s mercy.