Skip to main content

Overview

Individual font configurations define a single typeface with all necessary metadata for loading it from a font provider (typically Google Fonts). Each font includes provider information, variable names, weights, and character subsets.

Schema Structure

Root Fields

name
string
required
Unique identifier for the font, typically the font family name in lowercase with hyphensExamples: "inter", "roboto", "source-code-pro"
type
string
required
Registry type identifier. Always "registry:font" for individual fonts.
title
string
required
Human-readable font name, typically the proper font family nameExamples: "Inter", "Roboto", "Source Code Pro"
description
string
required
Brief description of the font, typically including classificationFormat: "{Title} — {Classification} font."Examples:
  • "Inter — Sans Serif font."
  • "Roboto — Sans Serif font."
  • "Playfair Display — Serif font."

Font Configuration

font
object
required
Complete font configuration for loading and usage
family
string
required
The font family name as it should appear in CSSExamples: "Inter", "Roboto", "Source Code Pro"
provider
string
required
Font provider serviceValue: "google" (Google Fonts is the primary provider)
import
string
required
Import name for loading the font from the providerTypically matches the family fieldExamples: "Inter", "Roboto", "Source_Code_Pro"
variable
string
required
CSS custom property name for the fontFormat: "--font-{name}"Examples: "--font-inter", "--font-roboto", "--font-source-code-pro"
weight
string[]
required
Array of available font weightsValues: Weight values from "100" to "900" in increments of 100Example: ["100", "200", "300", "400", "500", "600", "700", "800", "900"]Not all fonts include all weights. Some fonts may only have:
  • ["400"] — Single regular weight
  • ["400", "700"] — Regular and bold
  • ["300", "400", "500", "600", "700"] — Common range
subsets
string[]
required
Array of character subsets supported by the fontCommon subsets:
  • "menu" — Basic menu characters
  • "latin" — Latin alphabet
  • "latin-ext" — Extended Latin characters
  • "cyrillic" — Cyrillic alphabet
  • "cyrillic-ext" — Extended Cyrillic
  • "greek" — Greek alphabet
  • "greek-ext" — Extended Greek
  • "vietnamese" — Vietnamese characters
  • "arabic" — Arabic script
  • "hebrew" — Hebrew script
  • "japanese" — Japanese characters
  • "korean" — Korean characters
  • "chinese-simplified" — Simplified Chinese
  • "chinese-traditional" — Traditional Chinese
  • "devanagari" — Devanagari script
  • "thai" — Thai script
  • "math" — Mathematical symbols
  • "symbols" — Additional symbols

Complete Examples

Inter Font

A popular sans-serif font with extensive language support:

Roboto Font

Google’s ubiquitous Android font with comprehensive subset support:

Source Code Pro (Monospace)

A monospace font designed for coding:

Usage in Next.js

Basic Font Loading

Dynamic Font Loading with next/font/google

Loading Multiple Fonts for a Pairing

Font Classification

Fonts in the registry are typically classified as:

Weight Ranges

Full Range (100-900)

Most variable fonts and comprehensive font families:

Standard Range (300-700)

Common for many sans-serif fonts:

Basic (400, 700)

Minimal font files with regular and bold:

Single Weight

Display or specialized fonts:

Common Subset Combinations

Western Languages

Western + European

Comprehensive (Most Google Fonts)

With Symbols

Fetching Font Data

Direct API Call

See Also

Pairing Schema

Schema for complete font pairings

API Endpoints

Complete endpoint reference with examples