Skip to content
Back to learn

Reference · 6 formats

Export formats.

Patens exports six formats. Each maps to a specific downstream audience — design apps, web, Windows-first screen rendering, type-tool interop, backup, collaborator handoff. This page is the canonical reference for which format to pick when.

Open the export panel at /project/[id]/export (Cmd+Shift+E from anywhere in the editor). Pick the format that matches your downstream consumer.

OTF

OpenType (CFF)
Audience
Print, design apps, install-on-machine workflows
Pipeline
opentype.js, in-browser, ~150ms for Latin
Typical size
~80–200 KB for a Latin font
Good for
  • Universal: Adobe apps, Office, system installs, every modern browser
  • Compact CFF outlines (smaller than TTF for the same shapes)
  • No autohinting pipeline needed — print + design apps don't use it
Trade-offs
  • Larger than WOFF2 over the wire (~30% bigger)
  • No built-in font compression in HTTP transports

WOFF2

Web Open Font Format 2
Audience
Web @font-face — production websites
Pipeline
OTF first, then woff2 compression in-browser via WASM, ~200ms
Typical size
~30–80 KB for a Latin font
Good for
  • Brotli-compressed: typically 30% smaller than the source OTF
  • Universal browser support since 2017
  • CDN-friendly — most CDNs ship .woff2 with the right Content-Type
  • CSS font-display: swap works out of the box
Trade-offs
  • Web-only — Adobe + Office still want OTF/TTF
  • Some legacy proxies strip the brotli header; serve uncompressed as fallback

TTF

TrueType + autohinting
Audience
Small-size screen rendering, Windows-first, embedded
Pipeline
Pyodide + fontTools + ttfautohint, first run ~7MB Pyodide load, then ~2s
Typical size
~120–280 KB for a Latin font (TT outlines + hinting tables)
Good for
  • Built-in autohinting via ttfautohint — sharper at body text sizes on Windows
  • Mandatory on some platforms (older Windows + embedded contexts)
  • Variable fonts ship as TTF with gvar/HVAR tables
Trade-offs
  • TT outlines are quadratic; Patens converts cubic → quadratic on export (lossy at extreme curves)
  • First export pays the Pyodide download cost (~7MB, cached after)
  • 95% of users never need autohinting

UFO

Unified Font Object
Audience
Designers handing off to FontLab / Glyphs / RoboFont
Pipeline
XML-based directory tree, packaged as .zip by Patens
Typical size
~50–500 KB depending on glyph count
Good for
  • The lingua franca for type design tool interop
  • Round-trips cleanly between FontLab 8, Glyphs 3, RoboFont, Fontra
  • Human-readable XML — diffable in git
  • Separates source design from binary export
Trade-offs
  • Not directly installable — must compile to OTF/TTF first
  • No web/app usage

.font.json

Patens source format
Audience
Backup, hand-off to another Patens user, version control
Pipeline
Single JSON file — entire project schema
Typical size
~50–500 KB depending on glyph count
Good for
  • Lossless: every project field round-trips (kerning, classes, palettes, brief, decisions)
  • Drop on patens.design home page to import
  • Diffable in git — works as a real source of truth for the project
  • Tiny dependency surface — just the Patens schema
  • Includes design intent (brief, decisions, samples) that UFO doesn't carry
Trade-offs
  • Patens-specific — other tools won't open it directly (export UFO first)
  • Schema can evolve; old .font.json files migrate forward on import

.zip bundle

Designer bundle
Audience
Sending a finished font to a client / collaborator
Pipeline
OTF + WOFF2 + .font.json + DESIGN.md + LICENSE in one .zip
Typical size
~200 KB – 2 MB
Good for
  • One file with every artifact a designer / dev / lawyer needs
  • DESIGN.md captures the project brief + decisions log alongside the binaries
  • LICENSE file ensures distribution terms travel with the font
  • A foundry would call this "the deliverable"
Trade-offs
  • Larger than any single format — overkill for casual sharing

Quick recipes

Just shipping a website
WOFF2. Done.
Client wants to install + use in Word
OTF. Send TTF too if the client is on older Windows.
Hand-off to a foundry for finishing
UFO + .font.json. The UFO is the tool-portable source; the .font.json preserves your design brief + decisions.
Backing up your work
.font.json. Drop it on the home page to restore.
Sending a finished font to a stranger
Designer bundle .zip. Has the file, the brief, and the license in one place.

Related

The first-font tutorial covers the workflow that ends at export. The OpenType features guide explains what the export pipeline emits in the GSUB + GPOS tables.

Patens is in private alpha. Request an invite →