Schemas / Font (UFO / variable)
rig.font.face
v1.0.0 · stable maturity: stable 19 fields 0 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
family |
string | optional | Optional. Family name (UFO familyName) |
style |
string | optional | Optional. Style name (UFO styleName); absent = Regular |
unitsPerEm |
float | optional | Optional. Font units per em; absent = 1000 |
ascender |
float | optional | Optional. Ascender in font units |
descender |
float | optional | Optional. Descender in font units (typically negative) |
capHeight |
float | optional | Optional. Cap height in font units |
xHeight |
float | optional | Optional. x-height in font units |
italicAngle |
float | optional | Optional. Slant in degrees, counter-clockwise from vertical (UFO italicAngle); absent = 0 |
version |
string | optional | Optional. Face version string (1.000) |
copyright |
string | optional | Optional. Copyright statement (UFO copyright) |
trademark |
string | optional | Optional. Trademark statement (UFO trademark) |
designer |
string | optional | Optional. Designer name (UFO openTypeNameDesigner) |
designerUrl |
string | optional | Optional. Designer URL (UFO openTypeNameDesignerURL) |
manufacturer |
string | optional | Optional. Foundry name (UFO openTypeNameManufacturer) |
manufacturerUrl |
string | optional | Optional. Foundry URL (UFO openTypeNameManufacturerURL) |
licence |
string | optional | Optional. Licence description (UFO openTypeNameLicense) |
licenceUrl |
string | optional | Optional. Licence URL (UFO openTypeNameLicenseURL) |
note |
string | optional | Optional. Free-form note (UFO note) |
features |
entity | optional | Optional. rig.media.code buffer; language fea (AFDKO) |
Editable typeface metrics. Format when present.
This is the source face - UFO / GLIF meaning. A compiled file on disk is rig.media.asset_ref kind font. A positioned canvas run is rig.media.text. Do not grow text or asset_ref with outline fields.
Compose rig.meta.named for the face label. .ufo / .ufoz stay host encodings - ufo.md.
Name-table strings stay these UFO meanings; a structured rights graph on other works is rig.rights.statement - do not dual-author both on a face.
Layers, glyphs, kern pairs, groups, and design axes are other entities. Containment is rig.spatial.relationship parent under this face (layers, axes) or under a layer (glyphs).
Variable design space: child entities with rig.font.axis (+ optional rig.font.avar). Authoring masters are layers composing rig.font.master; live lattice deltas on a glyph are rig.font.cell. Hinting and colour-font tables are fulfillment / later schemas.
JSON Schema
Resolves at https://rig.works/schemas/rig.font.face.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.font.face.schema.json",
"title": "rig.font.face",
"type": "object",
"additionalProperties": false,
"properties": {
"family": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"style": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"unitsPerEm": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"ascender": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"descender": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"capHeight": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"xHeight": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"italicAngle": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"version": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"copyright": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"trademark": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"designer": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"designerUrl": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"manufacturer": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"manufacturerUrl": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"licence": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"licenceUrl": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"note": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"features": {
"$ref": "./_defs.schema.json#/$defs/entity"
}
},
"x-rig-maturity": "stable"
}