{}OPF
DocsObject referenceEdit on GitHub

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

Definition

#/$defs/FontScheme

Type

object

Source

spec/schemas/opf.schema.json

Fields

FieldTypeReqDescription
idstringFont 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…
majorstringHeading (major) font family — mirrors the OOXML majorFont entry. Pairs with 'minor'.
minorstringBody (minor) font family — mirrors the OOXML minorFont entry. Pairs with 'major'.
typeenumHigh-level typographic class of the scheme.
appenumTarget application this font pairing is intended for.
languageFamilyenumOOXML font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' for East Asian scripts, 'cs' for Complex Scripts.
headingref:FontAbstract role: font used for slide titles and headings. Maps onto the OOXML major slot when serializing.
bodyref:FontAbstract role: font used for body copy. Maps onto the OOXML minor slot when serializing.
accentref:FontAbstract role: font used for accent text such as quotes or callouts. No direct OOXML slot.
coderef:FontAbstract 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.json
{
  "id": "aptos"
}

major

Type: string · Optional · Default:

Heading (major) font family — mirrors the OOXML majorFont entry. Pairs with 'minor'.

major.json
{
  "major": "Aptos Display"
}

minor

Type: string · Optional · Default:

Body (minor) font family — mirrors the OOXML minorFont entry. Pairs with 'major'.

minor.json
{
  "minor": "Aptos"
}

type

Type: enum · Optional · Default:

High-level typographic class of the scheme.

type.json
{
  "type": "sans-serif"
}

app

Type: enum · Optional · Default:

Target application this font pairing is intended for.

app.json
{
  "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.json
{
  "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.json
{
  "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.json
{
  "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.json
{
  "accent": "accent-value"
}

code

Type: ref:Font · Optional · Default:

Abstract role: monospaced font used for code blocks. No direct OOXML slot.

code.json
{
  "code": "code-value"
}