Daniel Roelfs' Design Manual

Fonts & Typefaces

Typography is a really powerful way to attach certain "vibes" to your content, whether it's published online or in print. Picking the right typeface and font can dramatically change the feel of the text. For example a CV set in a typeface like Lobster or Caveat Brush would not be taken very seriously while a poster for a children's theatre play set in either typeface may look quite appealing. On a more serious scale, serif typefaces (e.g. Source Serif ) bring also different connotations than sans-serifs do (e.g. Neue Haas Grotesk or Helvetica ). Generally speaking I prefer serif typefaces for text that is meant to be printed or longer bodies of text online. But I don't always stick to those rules. As always in design: context matters.

While there is a difference between a typeface and a font, the terms are used interchangibly, and anyone who'd complain about semantics here would not just be an enthusiast, but an obnoxious enthusiast. Even type designers acknowledge that the difference is meaningless in day-to-day use.

This is Helvetica
Helvetica
This is Neue Frutiger
Neue Frutiger
This is Source Serif
Source Serif
This is EB Garamond
EB Garamond

There are definitely wrong and right choices to make when selecting a typeface. As someone who is slightly passionate about design, it always hurts a bit when I see default fonts being used. Sometimes, not making a choice is worse than making the wrong choice. But when in doubt, making a safe choice is probably the best choice. As it comes to "safe choices", Helvetica or Frutiger are probably the most mentioned. Helvetica is over-used in both text and branding, but it is an excellent typeface and due to its versatility there's few situations where Helvetica is the obvious wrong choice. Frutiger is an old typeface, but it is excellent in any situations.

As for serif typefaces, Source Serif is a typeface that I really like as a serif font that works well in both online or print media. As for exclusively print, particularly for serious documents like academic theses and long-form essays and writing, I use whatever variant of Garamond is most readily available. For example, for my PhD thesis I used the LaTeX implementation of EB Garamond through the ebgaramond package (\usepackage{ebgaramond}), with the ebgaramond-maths package for mathematical symbols in the same typeface. These would be my primary recommendations to get started. Below I'll describe a bit more in depth more specific preferences.

For body text

As the main font in your document, choosing the right typeface for the body text is essential to communicate the characteristic quality of the document. Choosing the right font is an art, and if it "looks" or "feels" good, then it's most likely at least an acceptable choice. The easiest litmus test is to read a small paragraph set in a particular typeface and if your eyes get even slightly tired or you feel the smallest onset of a headache, you should perhaps continue looking. A body typeface should be "invisible", that is the typeface itself should not be noticed, but the reader should sense that a document is "pleasant" to read without being able to specify why.

Below are a few examples of typefaces I use and reuse quite a lot as the typeface for the main body text in different contexts.

Lyset er på, men ingen er hjemme
Source Sans
Lyset er på, men ingen er hjemme
Open Sans
Lyset er på, men ingen er hjemme
Helvetica
Lyset er på, men ingen er hjemme
Neue Frutiger
Lyset er på, men ingen er hjemme
Source Serif
Lyset er på, men ingen er hjemme
Plantin
Lyset er på, men ingen er hjemme
EB Garamond

For maximum accessibility, a typeface developed by the Braille Institute of America is designed with ease of legibility in mind for people with all kinds of vision impairment or dyslexias. Read their description here for why this typeface works better for people with low vision.

Lyset er på, men ingen er hjemme
Atkinson Hyperlegible Next

Take for example the following example with a number of characters and the difference in the ease of distrimination between them.

illij!llijlji!illi!ljill!jli!jjlijl
Atkinson Hyperlegible Next
illij!llijlji!illi!ljill!jli!jjlijl
Helvetica

This isn't to say that Atkinson Hyperlegible Next is automatically the best choice, but it should be a major contender when accessiblity and legibility are the highest priority (e.g. medical documents).

For headers

One can take a lot more creative liberty when typesetting the headers. I personally set almost all headers in a bold (700) or black (900) sans-serif typeface. The choice of typeface here can more easily be used to communicate a message, e.g. a modern, sleek, classical, timeless, or nostalgic feel. I personally also like to typset top-level headers in all uppercase characters. Below are a few of my favorite typefaces for headers.

Header Two - THE TITLE
Akzidenz Grotesk
Header Two - THE TITLE
Cooper Hewitt
Header Two - THE TITLE
Helvetica
Header Two - THE TITLE
Franklin Gothic URW
Header Two - THE TITLE
Neue Haas Grotesk Display
Header Two - THE TITLE
Futura PT

For code

Code should always be typeset in a monospace font. Code is rarely presented in a printed document, and even in digital format code is rarely presented in a format where the author can pick the typeface. Think for example about code on GitHub where Microsoft picks the default, and where every user has their VSCode set up with their personal preferences. For typesetting code the most important feature is if it help you write code more easily and without causing strain. Therefore the suggestions below are more my personal preferences than recommendations. When presenting code digitally (e.g. on a personal website) the suggestions below are also easily accessible through Adobe Fonts or Google Fonts. Some monospace typefaces come with italics and boldface fonts, which may be useful in some contexts (e.g. as used in the Colors section of this website). Some monospace typefaces come with their language-specific ligatures which may be useful.

import polars as pl
Source Code
import polars as pl
Input Mono
import polars as pl
Fira Code
import polars as pl
IBM Plex Mono
import polars as pl
Courier

If you're typesetting specifically R code, it may evoke a sense of familiarity if you typeset it in Regular Monaco since it is the default font in RStudio on Mac.

library(tidyverse)
Monaco

Typefaces to avoid

Some typefaces are terrible and/or overused and should be avoided at any cost. The list below names a few of the most commonly used bad fonts.

Decorative typefaces

Sometimes you really want to evoke a certain style. For example when you write about typewriters or electrical systems from the 1950s and 60s you may like to use a font like Routed Gorton for the headers to simulate that aesthetic. However, decorative fonts should be used sparingly and never for main body text where legibility is key. Your content may look aesthetically beautiful, but if the typeface is prevent the reader from effectively reading your text, it's defeating the purpose. This article on the Gorton typeface is an nice example of a decorative typeface used sparingly to enhance the story. A font that is very similar and equally cool, called National Park was created as a font resembling the typeface on signs in the National Parks in the US. It looks very similar to Routed Gorton but is more flexible.

Module 3 on Typewriter No. 7
Routed Gorton
Entering Crater Lake National Park
National Park

There are of lot of really cool and exciting fonts out there if you're willing to spend some time searching and browsing. Designers make the coolest things, for example Jon Hicks who created a typeface called Bryan based on his father's handwritten notes he made on the architectural drawings.

5½" by 7 ft for the main panel
Bryan

Licensing

Many fonts mentioned above are available through Adobe Fonts or Google Fonts. I pay a monthly fee to Adobe for access to their catalogue and the right to use the fonts. All typefaces on Google Fonts are released under open-source licenses such as the SIL Open Font License and are free to use in any situation. Always make sure to check the license of the font and if you're allowed to use it for your use-case. It should also be mentioned, as for most things on the internet, that the good stuff is rarely free. Paying 1000 NOK for a typeface might sound like a lot, but a good typeface will be versatile and timeless enough to last a long time, so if you find a typeface you really like, maybe support creators and actually buy the good font instead of the free knock-off. I, for one, have long had my eye on one of Matthew Butterick's typefaces, like Valkyrie which at $119 isn't even an especially expensive typeface. Until then, I'm also very happy to have Adobe Fonts included in my subscription plan. I know it's fairly easy to download any .ttf or .woff2 file from a website, but using it anywhere without paying for the licensing is both ethically reprehensible and illegal. Support small creators, and respect the license.