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.
Did you have problems with any of these? Are there any other bits of font terminology giving you trouble? Feel free to ask any questions below in the comments.
This post is part of our “Fonts Articles Index” in these articles we explore Fonts.
Do you need to write or read JPEG in Java?
We have an easy guide on how to write JPEG in Java using ImageIO and JDeli.
You can learn how to read/write most of the image files in ImageIO. However, it gives little control over the process.
JDeli is easy to use and offers complete support, so why don't you give a try?