In Font Flowers, all of the curved segments in a font are rearranged so that they radiate out from a central point. This visual experiment results in a complex pattern that reveals some overall properties of a font: proportional relationships, modularity, curve complexity, and evidence of the many minor visual adjustments made by the font designer. Font Flowers invites comparison between fonts from a new, abstracted perspective that is independent of the recognizable graphemes of the language.

On mobile devices, rotate your screen for a better view.

Garamond Pro
Bauer Bodoni
Bell Centennial
Century Expanded
Century Old Style
Clearface Gothic
DIN Engschrift
Franklin Gothic
Goudy Text

The letterforms in a well-crafted font are deceptively simple. Font design involves an enormous number of small decisions that, in most cases, are intended to go unnoticed. Every shape and each adjustment to every curve affects the legibility, character, and overall visual impact of a font. In normal use, fonts support the content that they embody, without drawing too much attention to themselves.

Studying typography and font design has opened up to me a world of subtle visual decisions. I've become fascinated with both the aesthetic considerations and the technical construction of fonts. I set out to find a way to "condense" the letterforms of an entire font into one image. The goal was to visualize the font data in a way that focuses on the formal properties of all the shapes in a font simultaneously. The resulting shapes provide a perspective "through" an entire typeface as it is embodied in a font file.

You can order a copy of the Font Flowers book. Fine art prints are also available.

framed prints of Font Flowers


This project involved some FontLab python macros and Processing with NanoXML and AWMartin's AIExport package. The FontLab macros were made to batch export XML files containing the outline data of the fonts (although I later found that Letterror's RoboFab does something similar). A Processing sketch batch processes the xml files to produce the flowers as vector files. NanoXML was used to parse the xml files, as explained by toxi here. AIExport was used to export vector files from Processing.