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