Everyone knows a bit about fonts, but understanding them in more detail is a bit of a niche subject. Niche subjects tend to come with their own language, and fonts are no exception – here’s a few common confusions about font terminology.
Font vs. Typeface
Simply put, ‘Times New Roman’ is a typeface, and ‘TimesNewRoman.otf’ is a font. A typeface is the visual appearance of the letters, and a font is an implementation which creates them.
You might also come across the term ‘font-face’, which is the CSS feature for including non-standard fonts in web pages.
Glyph vs. Character
The difference between a glyph and a character is similar to the difference between a typeface and a font. A character is what can be held in a ‘char’ in programming languages – not a specific visual instance of a letter, but the letter itself. A glyph is a specific visual form of a character.
You might also see the word ‘glyf’ floating around the font world – this is the name for the part of a TrueType (or TrueType based OpenType) font file which contains the glyph descriptions.
Font File vs. Font Program
Confusingly, you can more or less use Font File and Font Program interchangeably – both refer to the files on disk which are, as previously discussed, actually programs.
To add to the confusion, TrueType (or TrueType based OpenType) font files also have a table called the Font Program, which holds part of the data required for hinting.
Are you still finding fonts complex? We have gathered together our best blog posts on the topic to provide a developers guide to PDF fonts:
Introductory Font articles
What is font hinting? The basics explained.
Useful Tools
6 tools for making fonts work in browsers
Opinion article
Should Type 3 Font support be dropped from the PDF Specification?
Technical articles
TrueType Hinting – Big Screens for Small Details
Are your Truetype CMAP tables lying to you?
How do custom font encodings work?