ElstobP — an experimental parametric font

This page previews and tests a parametric version of Elstob, a font for medievalists. As the parametric font is experimental, its character set is a subset of that of the current version of Elstob, its collection of OpenType features is much reduced, and it has no italic face. As development continues, the missing glyphs and features will be restored.

A parametric font is a variable font in which each axis controls a single aspect of the design. By contrast, the axes of most variable fonts control several aspects.

For example, changing the Optical Size in the current version of Elstob changes the x-height, the character width, the descender depth, and the relationship between thick stems and thin stems. In ElstobP, those five aspects of the font’s design can be controlled separately, though optical sizes can still be selected via the font’s named instances (that is, preselected combinations of axis values, each one corresponding to a traditional static font file).

A parametric font offers at least two advantages over static fonts and even other variable fonts. The first of these is flexibility. You can use the font’s eight axes to create a custom instance—like the header on this page, in which the characters have been narrowed and the ascenders and descenders of letters like d and p have been lengthened. The second advantage, less visible but still important, is a sturdier infrastructure for the font: for it turns out that breaking a font’s design into separate components produces, in the end, higher quality outlines and a correspondingly better reading experience.

These advantages come at a cost: a parametric font is more challenging for users than a static font, or even another variable font. But the font’s numerous named instances provide easy access to the most common combinations of axis values and can also serve as starting points for your own customized version of the font.

This page works like the main specimen page for Elstob: select a text to display (or type or paste in your own) and play with the sliders to get a feel for how a parametric font works. The font’s eight axes are explained below.




Size: 1.5em
Capital Height: 0
Character Width: 0
Figure Height: 0
Ascender Height: 0
Descender Depth: 0
x-Height: 0
Thick Stroke Width: 0
Thin Stroke Width: 0

ElstobP’s parametric axes

Illustration of ascender heights

A variable font axis has three key values: a minimum, a maximum, and a default value somewhere in between. In ElstobP, the default value for each axis is zero, while the minimum can be no less than -1000 and the maximum no more than 1000. For example, the Ascender height axis has a minimum of -1000 and a maximum of 562 because the minimum height of an ascender is almost twice as far from the default as the maximum height, as illustrated with the letter b (right). When all the axes are set to zero, the result is what in a conventional font is called “Regular.”

Malformed letter eth

The eight axes can be combined in any way you like, and the number of combinations in this font’s multidimensional design space is, for practical purposes, infinite. Experiment with ElstobP on this page or in an application like FontGoggles to discover combinations that please you. A couple of caveats. First, and one hopes obviously, not every combination of parameters is guaranteed to look good. Second, and more importantly, outlines can become distorted when two or more axes are set at or near extreme values. This has happened with the ð (“eth”) on the right (where both the x-height and the Thick stroke axes are set to the maximum). Decrease either or both of these a little and the distortion where the stroke closing the top of the bowl meets the right-hand stem disappears.

Elstob's axes

Elstob’s axes (except for Figure height, which applies only to the font’s default numbers) are here illustrated with the Icelandic letter thorn. The following list adds some details. Apps that, like the Adobe Creative Suite, are aware of variable fonts will display the English names of the axes. If you are writing the CSS for a web page, you will need the four-letter tags, which are used by the makers of most parametric fonts. (For easy CSS access to the font’s instances, copy the “Instance Classes” from the style sheet for this page.)

Ascender height (YTAS)
Range -1000–562. Changes the height of the ascenders on letters like b, d, þ. Affects only lowercase letters and some old-style figures.
Capital height (YTUC)
Range -1000–588. Changes the height of capitals (and capital-like symbols such as the Euro sign) by vertically expanding or contracting the white space within the letter. The width of stems is unchanged.
Character width (XTRA)
Range -1000–1000. Changes the width of all characters in the font by horizontally expanding or contracting the white space within the letter. The width of stems is unchanged. Characters without interior white space are usually unchanged.
Descender depth (YTDE)
Range -602–1000. Changes the length of the descenders on letters like j, p, q. Lower numbers make the descender longer, higher numbers shorter. A few uppercase and small cap letters (like J) are also affected by this axis, and a few symbols (like the Tironian et sign )
Figure height (YTFI)
Range -1000–588. Changes the height of lining figures (like 01234) by varying the amount of interior white space. Old-style figures (like 01234) are not affected, since these should harmonize with lowercase letters.
Thick stroke width (XOPQ)
Range -456–1000. Changes the width of thick strokes. These are usually verticals (in letters like d, f, H, O), but sometimes diagonals in letters like x, A, or even thick horizontals in letters like 2.
Thin stroke width (YOPQ)
Range -1000–600. Changes the width of thin strokes. These are usually horizontals (in letters like p, H), but also diagonals in letters like x, A, and occasionally even verticals (e.g. in N). This axis also changes the width of serifs in upper- and lowercase letters.
x-height (YTLX)
Range -895–1000. Changes the x-height of lowercase and small cap letters—that is, the height of the letter x and portions of letters (for example, the bowl of b) at that same height. The absolute height or depth of ascenders and descenders is not affected. This axis also affects old-style numbers like 01234.