Schemas / Font (UFO / variable)

rig.font.face

v1.0.0 · stable maturity: stable 19 fields 0 required

Fields

FieldTypeMeaning
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"
}

Seen in

font-ufo.json · font-var.json