Build Design Systems With Penpot Components
Penpot's new component system for building scalable design systems, emphasizing designer-developer collaboration.

Giant Robots Smashing Into Other Giant Robots | Joshua Ogle
Typography has a very long history,
from ink and brush through the printing press,
but type on the web starts with the advent of digital type.
A “typeface” is a group of all the letters
of a specific family, style, and weight,
like “Helvetica Bold Italic”.
A “font” is a file that contains the typeface.
When we’re talking about digital usage,
these terms are fairly interchangeable,
so don’t feel bad
about getting them mixed up.
We’ll mostly be talking about Latin typefaces
(for languages with letters like English),
but there is a whole wide world
of categories and details
for other languages
that I encourage you to explore.
Early fonts were simple bitmap images
of each character very quickly
became the vectorized shapes
that we know and use today.
These scale better, obviously,
but the vector format also allows
for better control over
what are essentially just elaborate shapes.
In some ways,
the details of those shapes matter
so much more in typography
than in iconography or illustration
because they form the personality and voice
of the content.
Even though the computer revolutionized the way
we create and use typefaces,
you’d be surprised how little has changed
in the styles and categories of type.
The anatomy of the characters,
the names we give typefaces,
and the terminology around how they work
almost all go back hundreds of years or more.
There’s a lot of terminology to learn
if you’re going to impress your designer friends,
so let’s get down to it.
Serif typefaces have a very long history,
starting in ancient Rome
where they were commonly carved
or written with pen and ink.
Serifs are the flat ends
that are added to the ends
of certain strokes,
which aids in legibility
and also serves to tidy the rough stroke ends
when using these primitive writing techniques.
These features were used in various kinds of writing systems
for thousands of years,
and they aren’t going away any time soon.
Types of serifs:
Because of their classical roots,
serif typefaces are associated
with tradition and stability,
so serifs in branding are particularly popular
in the finance, education, and publishing industries.
Serif typefaces haven’t received
as much appreciation as those without serifs,
but they have too rich a history
and too many strengths to ignore.
They give a visual anchor to the characters
that make them feel sturdy and solid.
Serifs can also seem cold and imposing,
but leveraging their good qualities
can give a professional and trustworthy impression.
They also improve legibility of long strings of text,
giving the eye some stability
as the serifs differentiate similar characters.
So if you are designing
for news articles, books or something dominated by lots of text,
buck the trend and pick a nice serif.
Sans-serif types are a much more recent development
relative to the long history of type.
They became popular around the start of the 1800s
and coincided with the start of modernism.
Like we discussed with abstraction,
design was moving toward a universal style
and focusing on human-centered thinking.
Sans-serif typefaces strip down the traditional letterforms
to their essential parts,
and are usually classified according
to how far they take that goal.
Sans-serif fonts come in a few different classifications:
Popular sans-serif typefaces
like Helvetica, Proxima Nova, and Open Sans
are everywhere on the web these days
because they fit right in with the modern aesthetic.
That makes them a great choice
for branding, marketing and user interfaces,
but because they’re so ubiquitous
they may not have the kind of impact you want.
The typeface that you choose
can have a big impact on your web project,
so take the time to make sure the typeface you have in mind
has a personality that matches your project’s personality.
If you can’t decide between a serif
and sans-serif typeface,
don’t worry,
we’ll cover combining typefaces in a bit.
Display typefaces are meant to grab attention.
Some look like various forms of handwriting,
others are more graphical,
and some push the limits of what a typeface can be.
The typefaces vary wildly,
so categories of display typefaces
are more about style
than specific anatomical parts.
While many of them have classical roots
in calligraphy and formal handwriting,
these days display typefaces are mostly used sparingly
for visual impact,
taking advantage of their interesting visual characteristics.
You will find display fonts used in brands and marketing,
but they’re not likely to show up
in a user interface elements or long-form articles.
Sometimes you need the big guns,
just be sure you use them responsibly.
Serif and sans-serif types appear in other writing systems too,
not just the Latin alphabet,
and are classified with many of the same terms.
Try out your favorite serif font
with support for Greek and Cyrillic characters
and you probably won’t be too surprised to see
that the characters look very similar
to their Latin counterparts.
Chinese and Japanese typefaces can have the same features
with the same features even though
they have a very different history.
The digital age has influenced the styles
of these different writing systems
and the more they are used
in combination with western type,
the more obvious the influence becomes.
Now that we know the strengths and weaknesses
of these kinds of typefaces,
we can use each to its advantages.
There’s absolutely no reason to stick
to just serifs or just sans-serifs,
so use whatever combination fits your brand the best.
Combining typefaces isn’t easy,
and deserves some careful consideration of their parts
to create a theme,
and gives your project
a much more unique look
than you can get from one typeface alone.
One of the typefaces you choose
should be chosen as the foundation.
I recommend starting with your body text,
since this will probably be the simplest typeface to choose
and arguably is the most important.
Use the characteristics like a large or small x-height,
the angle of the stems,
and roundness of the bowls
to build your other other typefaces around.
If you want some variety,
but the idea of picking out specific typefaces
gives you a panic attack,
you can ease into things
by sticking to one typeface family.
Some typefaces will include a few variations
that are all related
(like “Tungsten”, “Tungsten Narrow”, and “Tungsten Rounded”).
They were designed by the same type foundry
to work well together,
and give you just enough variation
without worrying about the details.
The most common typeface pairing on the web
is to match a serif for headings
and a sans-serif for body text.
It’s hard to go wrong with this combination,
especially if you find a set
from a foundry designed to work together.
I like to make sure there’s a mixture
of similar and disparate elements
between them to provide a good balance.
Still too boring?
See how far you can push things
by bringing in some display typefaces
or combining 3 or more fonts.
Just keep in mind
that your different font treatments
should communicate to the user
what the purpose of that text is,
so if you have headings in more than one typeface
or your UI elements don’t look similar,
it will be confusing.
There’s one more category of font
that almost doesn’t count as a typeface,
but is very useful on the web.
Symbol and Icon fonts are packaged
just like other fonts,
but they aren’t used for the same purpose at all.
Symbols have always been used in combination with writing,
so it makes sense to have fonts
for this purpose (remember Wingdings?).
On the web they have been adapted to provide icons
for user interface elements
where creating individual image assets would be a hassle.
This also gives them the advantage
of being easy to style in CSS just like fonts,
and icon sets can come prepackaged as font files
to make it easy to keep your symbols consistent.
The example below is simply single characters of the font,
just like you might type out a sentence,
but what you get back is a collection of symbols instead.
As you can imagine,
this would be a terrible way
to use an icon font (“What was ‘q’ again?”),
so they usually come with a CSS stylesheet
as well so you can just add a class to an element
and the stylesheet will take care of adding the icon for you.
All you would have to do is something like this:
<i class="fa fa-question-circle-o"></i>
This is an example from Font Awesome,
which cleverly uses the <i>
tag
not to mean italics
(as originally intended),
but to imply icon
.
Because icon fonts are so easy to implement this way,
icon fonts have become very popular among developers
and people who don’t want the mess
of styling image icons.
If you have an app project that will make heavy use of symbols,
icon fonts can be a great choice.
There are more
than a few great Icon Fonts
to choose from.
As we’ll discuss in the next section,
Icon Fonts can create a performance problem
by being yet another asset to fetch from your server,
so you’ll have to weight the pros and cons
for your particular project whether it’s worth it
to use a font or something fancier
like [inline SVG icons] instead.
The ability to easily use web fonts with CSS
has improved dramatically over the last few years,
but because these depend on loading files
into the browser after the page loads
there are some performance issues to consider.
Maybe more importantly for the design,
it can lead to a momentary delay
where your preferred font isn’t loaded
and the dreaded “Flash of Unstyled Text”
creates a jarring effect for your user.
There are a few ways to combat this:
– Use a hosted service like Google Fonts or Typekit for your typefaces.
– Make sure you’re doing everything you can to optimize and cache your locally hosted fonts.
– Make sure your fonts get loaded before other blocking scripts that could be loaded later.
– Use some fancy JavaScript to hide the text until the font is loaded.
I suggest using a service
like Google Fonts or Typekit
for your typefaces
(especially if they happen to be freely hosted by Google).
This means not having to host it yourself
and they have easy integration instructions.
The biggest benefit though
is that there’s a decent chance your user
has already come across this asset
on another website and
will have it cached in their browser.
Not having to make another request
for the font file will speed up the page load,
and the font will load almost instantly if it’s in cache.
AI-driven updates, curated by humans and hand-edited for the Prototypr community