Schemas / Font (UFO / variable)

rig.font.glyph

v0.31.0 · draft 2 fields 1 required

Fields

FieldTypeMeaning
unicodes array<uint32> optional Optional. Unicode code points; absent or empty = unencoded
width float required Advance width in font units

One glyph in a face. Format when present.

Compose rig.meta.named - stableId is the UFO glyph name (A, space, a.ss01). Do not re-declare name here.

Contours compose rig.geometry.path on the same entity (font-unit space, y-up, origin on the baseline). Absent path = empty glyph (space, .notdef with no outline). Never put command streams on this schema.

Parent the glyph to a rig.font.layer with rig.spatial.relationship. Composites are child entities with rig.font.component. Named points are child entities with rig.font.anchor.

Left / right sidebearings are not stored - they follow from path bounds and width.

JSON Schema

Resolves at https://rig.works/schemas/rig.font.glyph.schema.jsonraw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.font.glyph.schema.json",
  "title": "rig.font.glyph",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "unicodes": {
      "type": "array",
      "items": {
        "$ref": "./_defs.schema.json#/$defs/uint32"
      }
    },
    "width": {
      "$ref": "./_defs.schema.json#/$defs/float"
    }
  },
  "required": [
    "width"
  ]
}

Seen in

font-ufo.json · font-var.json