Raw framework for choosing type, or making custom typefaces – I use it to guide personal reflection and discussions while teaching typography and type design. Currently it is not meant to work in isolation. (work in progress, last edit: 07.2017)
A good decision is heavily dependend on its context. There are many typefaces which are amazing in one context and totally out of place in another.
What is the text about? The more specific, the better.
Inline hierachies?, relation towards other elements, complexity,
Professional typographer ——— developer ——— most basic user
What makes a typeface good or bad?
Exciting! In many cases the main reason why you are looking for another typeface, as Helvetica just doesn’t feel right for the job ;)
The basis, yet it can be real hard work to push it towards perfection.
Is it adequate for the specific typographic context?
Tabular figures, superscript, subscript, smallcaps, ..., level of differentiation (e.g. italics),
variation font ———— hand lettering
unicode, clean feature code, no bugs, hints, ...
This is the compilation in our heads of what a certain script, style or character looks like, a blurry image which the type designer transforms into precise shapes manifestating a specific interpretation.
This is the raw material – every letter consists of at least one character pattern to be identified with. The character “o” for examples does have exactly one. Yet, there are many letters which have more than one distinctive pattern, such as “R”, “r”, “r”. When it comes to interpolation there is close to zero benefit trying to interpolate from one pattern to another.
As long as additions such as serifs, drops and swashes do not result in an entirely new identification pattern they should be considers a variation and not as a sparate pattern.
Every script has its tradition of proportions, certain treatments and stereotypes which feel more natural to the native reader than others. All so called neutral designs fall somewhere into this area. From here on it is up to the type designer to bring new interpretations, new voices into the play.
In theory there can be infinite many type designs and therefore infinite many variable interpolation axes. To bring structure into this vast design space, the following formal categories should give some guidance. Every typeface across all scripts consists of a certain configuration of these aspects forming their specific formal character. The resulting atmosphere, the quality and the aspect of reading comfort needs to be seen on top of all of it, as any formal change does affect them, while their specific evaluation can be rather complex and sensible.
Aiding clarity there are no other sub-hierarchies but then directly interactive examples of specific variables/axes.
In the following each top-level variable is briefly described, followed by a set of axes and possible settings.
The weight specifies the color/darkness of a font. It determines the relation between black and white.
There are many ways to increase the weight. Changing the overall thickness of all strokes is the simplest way to manipulate it. Boldening the thick stems has the largest effect in Latin. But also a change of spacing or width does affect the weight.
A change of color does entail in most cases a change of overall width. (sometimes also a change of size) But there are also so called “uniwidth” typefaces which keep the overall width along the whole weight axes, to not cause any reflows.
The texture is determined by the distribution of black and white on a macro level. Next to size and weight it is the most important aspect for differentiation. Secondary typefaces are the best example when it comes to texture. They need to clearly differentiate while not jumping out at first glance, keeping a similar weight and in most cases even a similar proportion. There are many ways to manipulate the texture, such as a change in construction, proportion, inclination, modulation and others. While a change in construction can provide the best results it must be applied with huge care and sensibility for the script to not decrease the legibility more than anticipated.
Difficulty note: It is quite hard to make all the designs along this axes usable and pleasing. If the texture changes significant it might be only possible with many manual adjustments (master or brace layers) along the axes and probably even hard steps (bracket layer / rules).
The complexity variable is the variable but at a micro-level. It is as if the texture is the raw sketch which you can either fill with plain black ink or with patterns, modules, outline effects, etc. – which means within the same texture there is an infinite number of possibilities waiting to be explored.
Difficulty note: To interpolate along this axes can be rather difficult. The more complex the design on one extreme, the more difficult it is to control all the points along the axes, eventually having many nodes on top of each other at the simplistic extreme.
Hierarchy note: This could be also rearranged to be a subordinate of texture. But it felt necessary to separate them to have a bridge in between texture and optical sizes.
The optical size axis specifies the intended type size. It is there to adapt a typeface design made for a specific size towards a range of sizes. It is called optical, as it is referring to the size of the type rendered on the retina within the readers eye. Which means that the physical type size (e.g. x-height) is only important in its relation to the approximate reading distance.
Optical compensation is especially necessary for very light or bold designs, or ones with high contrast as the very thin lines or spaces become indistinguishable at small sizes. If those parts are crucial to identify the letter it can cause a great loss of legibility. This means that the core intention is to optically adapt a design with as little change of the original intended atmosphere as possible. At best the typeface should feel the same at any size, while keeping a similar legibility.
Yet it needs to be mentioned that there are also families which take a more artistic approach where the design changes considerably across the optical axes, e.g. to amplify typographic hierarchies.
The rhythm variable only exists as a relation between different elements or glyphs. If elements are treated exactly the same a consistent pattern is build. If any part of those elements is then emphasized or faded the pattern changes and a different rhythm becomes visible. It is not a formal variable that can be described within a single element, the relation counts. Therefore it is not only a variable but also a criteria affected by any formal change.
This category includes all changes that happen wihtin a character along the horizontal dimensions of a typeface, including width variation and positioning of loose elements. After the height of a character this variable has to biggest influence on the perceived size of typeface.
Hierarchy note:Width and height could be grouped together under skeleton > proportion
With this variable the focus lies on the spacing inbetween the characters and respectively their total width. As the spacing is a rather important variable it has its own position even though it could be grouped under width.
Currently this is controlled within the typesetting software. But simple tracking can distort the balance of the fitting immensely, especially negative tracking. A spacing axes baked into the font by the designer would make it possible to supply an evenly distributed tight and loose typesetting alike.
This category includes all changes that happen within a character along the vertical dimensions of a typeface, including positioning. The character height has the biggest influence towards the size perception. (especially the x-height) This could be duo the fact that it is perpendicular towards the reading direction and therefore even small changes stand out more than a similar change in width. A change in height is often actually a change in size to preserve the character proportion: e.g. a change of the x-height is usually done proportionally along height and width to not end up with a condensed or extended typeface.
Hierarchy note: Height and width could be grouped together under skeleton > proportion
The most prominent use of inclination is applied in the realm of secondary styles (italics). The simple forward leaning slant causes an immediate change of texture and can be applied to any design.
The less popular vertical slants causing a continously shifting baseline are most prominent in handwritten styles, inspired by calligraphy and lettering.
Hierarchy note: Inclination could be also put under the width and height proportion, but as its effect is very distinctive it got its own place.
Difficulty note: While artificial inclinations are tempting, almost all resulting outlines need to be manually corrected or entirely redrawn to gain perfect results. While the process of slanting seems like a simple process it does cause significant problems and is more complex than usually anticipated.
The curvature is describing the modulation of the stroke, while keeping the relation between the outlines consistent. Typically it is used it describes an already existing curve, but it is equally applicable in the opposite direction, introducing curvature where onto straight strokes.
The contrast intensity is determined by the relation between thicks and thins. To supply an optimal control to the user it could be helpful if the overall weight stays consistent while manipulating the contrast slider. Another option would be to let the contrast slider only control the weight of the thin strokes, leaving the thicks entirely to the weight slider.
This variable describes the outline modulation, which can only be modulated if there is some contrast in the type design existent. The kind of modulation can be either inspired by analog tools, digital tools, imaginary tools or even drawn completely freehand.
This describes all changes applied to joints, terminals, or any other inner and outer edges.
Most serifs, drops, dots, ... in typefaces are not describable with simple strokes or the behaviour of a specific lettering tools. While some are definitely inspired by tools, almost all of them are freely drawn following their own specific logic.
This is a very complex and sensible aspect, in most cases you need to choose/create another typeface, or a typeface which has axes addressing certain atmospheres. On the other hand interpolation between entirely different fonts is possible, yet this needs to be specifically engineered and most importantly the path between the two needs to be designed, which can be a very complex endavour.
Especially typefaces with high contast need different optical adjustements across different sizes. Sans-serif designs at a regular weight in most cases only need a tighter/looser spacing.
Be cautious, keep in mind that very narrow type does also cause a decrease in reading comfort.
The longer the line length the larger the line-height to preserve a similar reading comfort.
e.g.: regular + bold / allcaps / large small caps
e.g.: sans + italic / slant / serif / small caps
(On basis of a base character of each script)
(digital and analog rendering
This structure evolved during my studies between 2012 and 2015. The descriptions and illustrations are unfortunately not listed here. When I find the time I will translate my (german) writing and add them.
In most scripts this is defined by the base character height, e.g. the x-height for Latin scripts.
Status: “Formal variables (flat)” is almost done. Rest in progress.