Learning a Manifold of Fonts

Neill D.F. Campbell
University College London, University of Bath
Jan Kautz
University College London, NVIDIA


The design and manipulation of typefaces and fonts is an area requiring substantial expertise; it can take many years of study to become a proficient typographer. At the same time, the use of typefaces is ubiquitous; there are many users who, while not experts, would like to be more involved in tweaking or changing existing fonts without suffering the learning curve of professional typography packages.

Given the wealth of fonts that are available today, we would like to exploit the expertise used to produce these fonts, and to enable everyday users to create, explore, and edit fonts. To this end, we build a generative manifold of standard fonts. Every location on the manifold corresponds to a unique and novel typeface, and is obtained by learning a non-linear mapping that intelligently interpolates and extrapolates existing fonts. Using the manifold, we can smoothly interpolate and move between existing fonts. We can also use the manifold as a constraint that makes a variety of new applications possible. For instance, when editing a single character, we can update all the other glyphs in a font simultaneously to keep them compatible with our changes.


The manifold of fonts. On the left, we show a 2D manifold learnt from 46 fonts. Every point in the manifold corresponds to a complete font; as you move across the manifold the corresponding font smoothly changes by interpolating and extrapolating the the original training fonts. We demonstrate this effect with the text on the right; each character is created from a different 2D location in the manifold that is obtained by moving along the straight line shown on the left. The colored dots match up with the colored words. The heatmap of the manifold is indicative of the likelihood of a location containing a good font.
Typography samples of the test word `hamburgefon' over the learned joint manifold of fonts. We can observe many changes over the manifold including variations in the presence of serifs; the stroke contrast, thickness and angle; and the aspect ratio.

Interactive 2D Font Manifold Demonstration

Please drag the black and white circle around the heat map to explore the 2D font manifold!

Select Character:    

Unlikely Probability Likely

Different characters may be selected from the drop-down menu. There are two types of manifold:

The manifold is a probabilistic embedding and the heat-map provides an indication of the probability of finding a reasonable font. Regions in red have a low predictive variance (high probability) while regions in blue have a high variance (low probability) and are less likely to produce representative characters. The darkest blue regions (away from the manifold) will return the average font.

Please note that the manifolds have been restricted to two dimensions for visualisation. The natural dimension of some of the manifolds may be higher and this can lead to separated islands. When performing other tasks with the manifold the natural dimensionality would be used. The grey dots indicate the embedded locations of the original fonts.

Browser Compatibility: We have tested with the latest versions of Safari (7.0.1) and Chrome (32.0.1700.77).


Learning a Manifold of Fonts,
Neill D. F. Campbell and Jan Kautz,
ACM Transactions on Graphics (SIGGRAPH), vol. 33, no. 4, 2014
[pdf] [supplemental]


We would like to thank Andrew Fitzgibbon for insightful discussions about optimization philosophy and techniques. This work was funded by EPSRC grant EP/I031170/1.