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
Tip

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"]