Skip to content

Font Concepts

Understanding font terminology is essential for working with Fontist effectively. This section explains the core concepts and how they relate to Fontist, Fontisan, and Formulas.

Core Hierarchy

Font Family (e.g., "Open Sans")
├── Font Style (e.g., "Regular", "Bold", "Italic")
│   ├── Font Weight (e.g., 400, 700)
│   └── Variable Font Axes (e.g., weight, width, slant)
│       └── Font File (physical file on disk)
│           ├── Font Format (OTF, TTF, PS)
│           └── Font Container (TTC, OTC, dfont)

Topics

Fonts & Styles

Font families, styles, and weights—the fundamental building blocks.

Variable Fonts

Modern variable fonts with adjustable axes for weight, width, and more.

Formats & Containers

File formats (TTF, OTF, WOFF) and container formats (TTC, dfont).

Licenses

Font licensing and how Fontist handles license requirements.

Requirements

Specifying what fonts your project needs via manifests.

How Fontist, Fontisan, and Formulas Connect

┌─────────────────────────────────────────────────────────┐
│                      FONTIST                            │
├─────────────────────────────────────────────────────────┤
│  Font Requirements (Manifest)                           │
│         │                                               │
│         ▼                                               │
│  ┌──────────────┐     ┌──────────────┐                  │
│  │   Formulas   │────▶│   Downloads  │                  │
│  │ (Recipes)    │     │   & Installs │                  │
│  └──────────────┘     └──────────────┘                  │
│         │                    │                          │
│         ▼                    ▼                          │
│  ┌──────────────┐     ┌──────────────┐                  │
│  │ License      │     │ System Index │                  │
│  │ Management   │     │ (Detection)  │                  │
│  └──────────────┘     └──────────────┘                  │
│                              │                          │
│                              ▼                          │
│                    Returns Font Paths                   │
└─────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────┐
│                      FONTISAN                           │
├─────────────────────────────────────────────────────────┤
│  Input: Font files (from Fontist or elsewhere)          │
│         │                                               │
│         ▼                                               │
│  ┌──────────────┐     ┌──────────────┐                  │
│  │   Convert    │     │    Subset    │                  │
│  │  TTF↔OTF↔WOFF│     │  Glyphs only │                  │
│  └──────────────┘     └──────────────┘                  │
│         │                    │                          │
│         ▼                    ▼                          │
│  ┌──────────────┐     ┌──────────────┐                  │
│  │   Validate   │     │  Instantiate │                  │
│  │   Check      │     │  Variable→   │                  │
│  │   Issues     │     │  Static      │                  │
│  └──────────────┘     └──────────────┘                  │
│                              │                          │
│                              ▼                          │
│                    Output: Processed Fonts              │
└─────────────────────────────────────────────────────────┘

Quick Reference

File Extensions

ExtensionMeaning
.ttfTrueType Font
.otfOpenType Font
.ttcTrueType Collection
.otcOpenType Collection
.woffWeb Open Font Format
.woff2Web Open Font Format 2
.dfontmacOS Data Fork Font
.pfbPostScript Font Binary

Common Tasks

TaskToolCommand
Install fontsFontistfontist install "Font Name"
Check installedFontistfontist status "Font Name"
Define requirementsFontistCreate manifest.yml
Convert formatsFontisanfontisan convert input.ttf output.woff2
Subset glyphsFontisanfontisan subset font.ttf --glyphs "ABCabc"
Create formulaFontistfontist create-formula font.ttf

Fontist is riboseopen