A font is a database with drawings in it
A .ttf or .otf file is a container of tables. Five of them decide everything you experience.
glyforCFF: the outlines. TrueType (glyf) stores quadratic Béziers: one handle per segment. PostScript/OpenType-CFF stores cubic Béziers: two handles, the same curves your drawing program uses.cmap: the map from character codes to glyphs.U+0041→ glyph 36. Without this, the font has shapes but nobody can type them.hmtx: advance widths. How far the pen moves after each glyph.kernorGPOS: the adjustments between specific pairs.GSUB: substitutions: ligatures, small caps, alternates, and all the conjunct machinery that complex scripts depend on.
Plus OS/2, which carries the licensing flags, and name, which carries the family and style names the print shop will see in a font list.
Cubic versus quadratic, and why it matters once
Convert a TrueType glyph to outlines and you get quadratic curves expressed as cubics: more nodes than the designer drew, with handles at positions nobody chose. Convert a CFF glyph and the nodes come across as they were drawn.
For body text this is invisible. For a wordmark you are about to edit by hand, it is the difference between eight nodes on an o and fourteen. If you have the choice, take the OTF.
Hinting, and why outlining changes the shape slightly
A TrueType font carries hints: small programs that nudge outlines onto the pixel grid at small sizes so stems stay the same width and baselines stay flat. Hinting is why body text is legible at 11 px on a screen.
Hints are a rendering instruction. Convert text to outlines and they are discarded, because there is no longer any text to hint. On paper this does not matter; a press has no pixel grid. On screen it does, which is why an outlined SVG logo can look subtly muddier at 16 px than live text would.
Formats you will meet
- TTF: TrueType. Quadratic. Universal.
- OTF: OpenType, usually with CFF cubic outlines. Preferred for print.
- TTC: a collection, several fonts in one file. Some applications import only the first.
- WOFF / WOFF2: compressed wrappers for the web. Not installable on most systems as-is; convert with
fonttoolsif you own the licence to do so. - Type 1 (.pfb): the old PostScript format. Adobe ended support in January 2023, and current Illustrator and InDesign no longer render them. If you inherit a 2005 archive, this is why the text is missing.
- Variable fonts: one file with continuous axes, covered later in this module.
Read a font from the command line, free
fonttools is a Python package and the fastest way to answer questions the font menu will not.
pip install fonttools
ttx -l Poppins-SemiBold.ttf # list the tables
ttx -t name -o - Poppins-SemiBold.ttf | head -40 # family, style, licence URL
ttx -t OS/2 -o - Poppins-SemiBold.ttf | grep fsTypefsType is the embedding permission bit, and it is worth understanding because your PDF export obeys it:
0: installable, no restriction2: restricted: embedding not permitted4: preview and print embedding allowed8: editable embedding allowed
A font with fsType 2 will refuse to embed and your export dialog will complain. Nearly everything commercial and everything under the SIL Open Font Licence is 0 or 4.
And to see what is inside a PDF you have already made:
pdffonts job.pdfEvery font, whether it is embedded, and whether it is subset. A line with an empty “emb” column is the failure this whole area exists to prevent.
The practical consequence
When a shop says “we do not have that font”, the honest answers are: send a PDF with it embedded, send outlines, or send them the font file, and the third is a licensing act, not a technical one. Which of those you may do is the next lesson.
One more thing worth knowing about embedding: what goes into a PDF is normally a subset, containing only the glyphs you actually used, renamed with a six-letter prefix like ABCDEF+Mukta-Regular. That prefix in a pdffonts listing is how you tell a subset from a full embed at a glance. Subsetting keeps files small and is why a 40-page document in a 400-glyph face adds a few tens of kilobytes rather than a megabyte. It also means nobody can extract a usable font from your PDF, which is part of why foundries permit it.
Every lesson here is open. Your progress is recorded once you pass the Editing an Image exam.
Check your understanding
A designer converts a headline set in a TrueType font to outlines and notices the letterforms look very slightly different at small sizes on screen, though the printed result is fine. What changed?
Pick the one you would defend. Your answer stays private.
Stuck on something?Ask Nazia, your AI tutor