{}OPF
DocsSchema referenceView source

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…

Schema $id
https://openpresentation.org/schema/opf-language/v1
Type
object
Source
spec/schemas/language.schema.json
Fields
13 · 4 required

Field index

FieldTypeReq.DefaultDescription
$schemaconstyesIdentifies this record as a language in the openpresentation.org catalog.
idstringyesStable slug used by OPF documents to reference this language via language. Lowercase kebab-case.
namestringyesHuman-readable language name.
codestringISO 639-3 (or 639-2) three-letter language code. Carried for engines that prefer ISO codes.
bcp47stringyesBCP-47 language tag for this record. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form.
directionenumBase text direction for the language.
scriptstringISO 15924 script code when the writing system should be explicit.
fontSchemestringDefault font-scheme id for this language when targeting PowerPoint output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does.
googleFontSchemestringDefault 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.
summarystringOne-sentence note about coverage or font defaults.
descriptionstringLonger prose describing the language record and any font-pairing rationale.
tagsarray<string>Free-form labels for filtering and search.
previewobjectVisual 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

typeconstrequiredyesdefault

Identifies this record as a language in the openpresentation.org catalog.

$schema.json
{
  "$schema": "https://openpresentation.org/schema/opf-language/v1"
}

id

typestringrequiredyesdefaultpattern^[a-z][a-z0-9-]*$

Stable slug used by OPF documents to reference this language via language. Lowercase kebab-case.

id.json
{
  "id": "english"
}

name

typestringrequiredyesdefault

Human-readable language name.

name.json
{
  "name": "English"
}

code

typestringrequirednodefault

ISO 639-3 (or 639-2) three-letter language code. Carried for engines that prefer ISO codes.

code.json
{
  "code": "ENG"
}

bcp47

typestringrequiredyesdefault

BCP-47 language tag for this record. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form.

bcp47.json
{
  "bcp47": "en"
}

direction

typeenumrequirednodefault

Base text direction for the language.

direction.json
{
  "direction": "ltr"
}

script

typestringrequirednodefault

ISO 15924 script code when the writing system should be explicit.

script.json
{
  "script": "Latn"
}

fontScheme

typestringrequirednodefault

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.json
{
  "fontScheme": "aptos"
}

googleFontScheme

typestringrequirednodefault

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.json
{
  "googleFontScheme": "roboto"
}

summary

typestringrequirednodefault

One-sentence note about coverage or font defaults.

summary.json
{
  "summary": "English language preset using a Latin-script font scheme."
}

description

typestringrequirednodefault

Longer prose describing the language record and any font-pairing rationale.

description.json
{
  "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."
}

tags

typearray<string>requirednodefault

Free-form labels for filtering and search.

tags.json
{
  "tags": [
    "latin",
    "default"
  ]
}

preview

typeobjectrequirednodefault

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.json
{
  "preview": {}
}