cart

Variable fonts

Consider the font property of weight, the thickness of a letter's strokes. As an aid to categorisation it was once decided to put numerical values to font weights. This was implemented on a scale of 100 - 900 and it was decided, somewhat arbitrarily, to attribute a value of 400 to 'regular' weights and 700 to 'bold'. These magic numbers still have significance in certain areas but it is the principle that concerns us here.

Font makers will generally utilise a system of variable masters in their designs with the lightest version at one end of the scale (1) and the heaviest at the other (1000). This allows them to interpolate their character shapes between these extremes to create the weights they think best.

Variable fonts extend this interpolation ability to font users. The advantages are obvious: not only can users decide for themselves just what weight of letter they want but they can do so from a single font file. Each glyph in the font is described just once, with a set of mathematical instructions describing their behaviours. To save the poor designer having to make too many decisions, the fonts generally contain a number of preset 'instances' which usually correspond to the weights of the standard set of fonts.

It's taking a while for software manufacturers to incorporate variable fonts but, unlike earlier similar techniques (multiple masters), variable fonts seem to be here to stay.

And it's not just weights. If the font maker's masters are compatible - if the vector shapes that describe them share similar points and curves - then they can be interpolated. So all that's needed are some names for these gymnastic routines. Here, once again, some standards have been set.

Standard interpolation properties are:

Weight wght
Width wdth
Italic ital
Slant slnt
Optical Size opsz

Custom interpolation properties are expressed like this:

Serif SERF
x-height XHGT

In fact any attribute that the designer cares to make variable can be given an arbitrary name and implemented within a font file. It just needs a 4-letter code (in caps) and a short description.

More than one variable property can be included. Many fonts will possess a weight and a width axis, perhaps an optical size axis as well. Where italic is included in the font file, this is an on-off option and this gets round the fact that most true italic letters do not possess compatible shapes with their upright counterparts. Often the italic is presented in a separate file and will itself share the weight, width and any other variable properties of its upright counterpart.