Font Scheme
Typography selections used by the design system. The pair fields (major, minor) and refinement fields (type, app, languageFamily) mirror font-scheme.schema.json (https://openpresentation.org/schema/opf-font-sc…
Metadata
#/$defs/FontScheme
object
spec/schemas/opf.schema.json
Fields
| Field | Type | Req | Description |
|---|---|---|---|
| id | string | — | Font scheme reference. Resolves to the 'id' of a 'fontSchemes' catalog record. Accepts a bare id (lowercase kebab-case, e.g. 'aptos'), an HTTPS URL pointing at a record file, or a 'pkg:' reference. Field overrides on the surrounding FontScheme object take precedence over the res… |
| major | string | — | Heading (major) font family — mirrors the OOXML majorFont entry. Pairs with 'minor'. |
| minor | string | — | Body (minor) font family — mirrors the OOXML minorFont entry. Pairs with 'major'. |
| type | enum | — | High-level typographic class of the scheme. |
| app | enum | — | Target application this font pairing is intended for. |
| languageFamily | enum | — | OOXML font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' for East Asian scripts, 'cs' for Complex Scripts. |
| heading | ref:Font | — | Abstract role: font used for slide titles and headings. Maps onto the OOXML major slot when serializing. |
| body | ref:Font | — | Abstract role: font used for body copy. Maps onto the OOXML minor slot when serializing. |
| accent | ref:Font | — | Abstract role: font used for accent text such as quotes or callouts. No direct OOXML slot. |
| code | ref:Font | — | Abstract role: monospaced font used for code blocks. No direct OOXML slot. |
id
Type: string · Optional · Default: —
Font scheme reference. Resolves to the 'id' of a 'fontSchemes' catalog record. Accepts a bare id (lowercase kebab-case, e.g. 'aptos'), an HTTPS URL pointing at a record file, or a 'pkg:' reference. Field overrides on the surrounding FontScheme object take precedence over the res…
{
"id": "aptos"
}major
Type: string · Optional · Default: —
Heading (major) font family — mirrors the OOXML majorFont entry. Pairs with 'minor'.
{
"major": "Aptos Display"
}minor
Type: string · Optional · Default: —
Body (minor) font family — mirrors the OOXML minorFont entry. Pairs with 'major'.
{
"minor": "Aptos"
}type
Type: enum · Optional · Default: —
High-level typographic class of the scheme.
{
"type": "sans-serif"
}app
Type: enum · Optional · Default: —
Target application this font pairing is intended for.
{
"app": "PowerPoint"
}languageFamily
Type: enum · Optional · Default: —
OOXML font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' for East Asian scripts, 'cs' for Complex Scripts.
{
"languageFamily": "latin"
}heading
Type: ref:Font · Optional · Default: —
Abstract role: font used for slide titles and headings. Maps onto the OOXML major slot when serializing.
{
"heading": "heading-value"
}body
Type: ref:Font · Optional · Default: —
Abstract role: font used for body copy. Maps onto the OOXML minor slot when serializing.
{
"body": "body-value"
}accent
Type: ref:Font · Optional · Default: —
Abstract role: font used for accent text such as quotes or callouts. No direct OOXML slot.
{
"accent": "accent-value"
}code
Type: ref:Font · Optional · Default: —
Abstract role: monospaced font used for code blocks. No direct OOXML slot.
{
"code": "code-value"
}