Language
Schema for language records in the pptx.gallery library. Each record names a presentation language, carries a BCP-47 language tag, and pairs it with sensible default font schemes for PowerPoint and Google Slid…
https://openpresentation.org/schema/opf-language/v1
spec/schemas/language.schema.json
Field index
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| $schema | const | yes | — | Identifies this record as a language in the openpresentation.org catalog. |
| id | string | yes | — | Stable slug used by OPF documents to reference this language via language. Lowercase kebab-case. |
| name | string | yes | — | Human-readable language name. |
| code | string | — | — | ISO 639-3 (or 639-2) three-letter language code. Carried for engines that prefer ISO codes. |
| bcp47 | string | yes | — | BCP-47 language tag for this record. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form. |
| direction | enum | — | — | Base text direction for the language. |
| script | string | — | — | ISO 15924 script code when the writing system should be explicit. |
| fontScheme | string | — | — | Default font-scheme id for this language when targeting PowerPoint output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does. |
| googleFontScheme | string | — | — | Default font-scheme id for this language when targeting Google Slides output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does. |
| summary | string | — | — | One-sentence note about coverage or font defaults. |
| description | string | — | — | Longer prose describing the language record and any font-pairing rationale. |
| tags | array<string> | — | — | Free-form labels for filtering and search. |
| preview | object | — | — | Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available. |
$schema
Type: const · Required · Default: —
Identifies this record as a language in the openpresentation.org catalog.
{
"$schema": "https://openpresentation.org/schema/opf-language/v1"
}id
Type: string · Required · Default: — · Pattern: ^[a-z][a-z0-9-]*$
Stable slug used by OPF documents to reference this language via language. Lowercase kebab-case.
{
"id": "english"
}name
Type: string · Required · Default: —
Human-readable language name.
{
"name": "English"
}code
Type: string · Optional · Default: —
ISO 639-3 (or 639-2) three-letter language code. Carried for engines that prefer ISO codes.
{
"code": "ENG"
}bcp47
Type: string · Required · Default: —
BCP-47 language tag for this record. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form.
{
"bcp47": "en"
}direction
Type: enum · Optional · Default: —
Base text direction for the language.
{
"direction": "ltr"
}script
Type: string · Optional · Default: —
ISO 15924 script code when the writing system should be explicit.
{
"script": "Latn"
}fontScheme
Type: string · Optional · Default: —
Default font-scheme id for this language when targeting PowerPoint output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does.
{
"fontScheme": "aptos"
}googleFontScheme
Type: string · Optional · Default: —
Default font-scheme id for this language when targeting Google Slides output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does.
{
"googleFontScheme": "roboto"
}summary
Type: string · Optional · Default: —
One-sentence note about coverage or font defaults.
{
"summary": "English language preset using a Latin-script font scheme."
}description
Type: string · Optional · Default: —
Longer prose describing the language record and any font-pairing rationale.
{
"description": "English (US) preset. Defaults to Aptos for PowerPoint output and Roboto for Google Slides output. Use this entry as a baseline; override fontScheme on individual decks when brand fonts differ."
}preview
Type: object · Optional · Default: —
Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
{
"preview": {}
}