Font Management
Install and manage fonts from Google Fonts directly from the CLI. Fonts are cached locally and automatically available during compilation.
Overview
The nova-font module gives you access to 1500+ Google Fonts without leaving your terminal. Installed fonts are cached locally and automatically discovered by the Typst compiler — no manual font path configuration needed.
Searching Fonts
Search by name or filter by category:
# Search by name
$ nova font search inter
Found 3 fonts matching "inter":
Inter sans-serif 18 variants
Inter Tight sans-serif 18 variants
Interstate sans-serif 10 variants
# Search by category
$ nova font search --category monospace
Found 42 monospace fonts:
JetBrains Mono monospace 16 variants
Fira Code monospace 10 variants
Source Code Pro monospace 14 variants
...
Available categories: serif, sans-serif, display, handwriting, monospace.
Installing Fonts
Install all variants
# Install a font with all weights and styles
$ nova font install "Inter"
Installing Inter...
✓ Inter-Regular.ttf
✓ Inter-Medium.ttf
✓ Inter-SemiBold.ttf
✓ Inter-Bold.ttf
✓ Inter-Italic.ttf
... (18 variants)
Installed successfully.
Install specific variants
# Only install the variants you need
$ nova font install "EB Garamond" --variants regular,bold,italic
Get font details
$ nova font info "JetBrains Mono"
Font: JetBrains Mono
Category: monospace
Version: v18
Subsets: latin, latin-ext, cyrillic
Variants: 16 (8 weights × normal/italic)
Installed: yes
Font Bundles
Install curated font collections with a single command:
# List available bundles
$ nova font bundle list
Available bundles:
academic EB Garamond, Libre Baskerville, Source Serif Pro, Crimson Text
modern Inter, Roboto, Open Sans, Lato
monospace JetBrains Mono, Fira Code, Source Code Pro, Roboto Mono
classic Playfair Display, Merriweather, Lora, PT Serif
minimal Inter, Source Serif Pro, JetBrains Mono
# Install a bundle
$ nova font bundle academic
| Bundle | Fonts | Use Case |
|---|---|---|
academic |
EB Garamond, Libre Baskerville, Source Serif Pro, Crimson Text | Academic papers, theses |
modern |
Inter, Roboto, Open Sans, Lato | Reports, presentations |
monospace |
JetBrains Mono, Fira Code, Source Code Pro, Roboto Mono | Code-heavy documents |
classic |
Playfair Display, Merriweather, Lora, PT Serif | Books, editorial |
minimal |
Inter, Source Serif Pro, JetBrains Mono | General purpose (one per category) |
Managing Installed Fonts
# List all installed fonts
$ nova font list
Installed fonts:
Inter sans-serif 18 variants 1.2 MB
JetBrains Mono monospace 16 variants 0.9 MB
EB Garamond serif 10 variants 1.8 MB
Total: 3 fonts, 3.9 MB
# Uninstall a font
$ nova font uninstall "EB Garamond"
# Cache management
$ nova font cache info
$ nova font cache clear
Using Fonts in Documents
Installed fonts are automatically available. Simply reference them by name in your Typst document:
// Use an installed Google Font
#set text(font: "Inter", size: 11pt)
// Different fonts for different elements
#show heading: set text(font: "Playfair Display")
#show raw: set text(font: "JetBrains Mono")
You can also configure fonts in your document frontmatter:
---
title: "My Document"
[fonts]
main = "Inter"
heading = "Playfair Display"
mono = "JetBrains Mono"
---
Cache Location
Fonts are stored in a platform-specific cache directory:
| Platform | Cache Path |
|---|---|
| Linux | ~/.local/share/nova-fonts |
| macOS | ~/Library/Application Support/nova-fonts |
| Windows | %APPDATA%\nova-fonts |
Fonts installed with nova font install are shared across all your NovaType projects. Install once, use everywhere.
Additional Font Paths
If you have local font files (not from Google Fonts), you can add custom directories via the CLI or nova.toml:
# Via CLI
$ nova compile main.typ --font-path ./fonts/
# Via nova.toml
[fonts]
paths = ["./fonts", "./assets/fonts"]