Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F TD2000 DOCUMENTS 04 / opentype noncontextual gsub ordered glyph substitution

Reconstruct glyph sequences after supplied noncontextual OpenType GSUB lookups.

POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-04/opentype-noncontextual-gsub-ordered-glyph-substitution

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact"
  ],
  "properties": {
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "openTypeSubstitute"
      ],
      "properties": {
        "openTypeSubstitute": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "glyphs",
                "lookups",
                "order"
              ],
              "properties": {
                "glyphs": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  },
                  "maxItems": 256,
                  "minItems": 0
                },
                "lookups": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "flags",
                      "subtables"
                    ],
                    "properties": {
                      "flags": {
                        "const": 0
                      },
                      "subtables": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "kind",
                                "rules"
                              ],
                              "properties": {
                                "kind": {
                                  "const": "single"
                                },
                                "rules": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "from",
                                      "to"
                                    ],
                                    "properties": {
                                      "from": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 65535
                                      },
                                      "to": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 65535
                                      }
                                    }
                                  },
                                  "maxItems": 128,
                                  "minItems": 0
                                }
                              }
                            },
                            {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "kind",
                                "rules"
                              ],
                              "properties": {
                                "kind": {
                                  "const": "multiple"
                                },
                                "rules": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "from",
                                      "to"
                                    ],
                                    "properties": {
                                      "from": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 65535
                                      },
                                      "to": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "minimum": 0,
                                          "maximum": 65535
                                        },
                                        "maxItems": 16,
                                        "minItems": 1
                                      }
                                    }
                                  },
                                  "maxItems": 128,
                                  "minItems": 0
                                }
                              }
                            },
                            {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "kind",
                                "rules"
                              ],
                              "properties": {
                                "kind": {
                                  "const": "ligature"
                                },
                                "rules": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                      "components",
                                      "to"
                                    ],
                                    "properties": {
                                      "components": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "minimum": 0,
                                          "maximum": 65535
                                        },
                                        "maxItems": 16,
                                        "minItems": 2
                                      },
                                      "to": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 65535
                                      }
                                    }
                                  },
                                  "maxItems": 128,
                                  "minItems": 0
                                }
                              }
                            }
                          ]
                        },
                        "maxItems": 16,
                        "minItems": 1
                      }
                    }
                  },
                  "maxItems": 32,
                  "minItems": 1
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 31
                  },
                  "maxItems": 32,
                  "minItems": 1
                }
              }
            },
            "claim": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "glyphs",
                    "substitutions"
                  ],
                  "properties": {
                    "glyphs": {
                      "type": "array",
                      "maxItems": 4096,
                      "items": {
                        "type": "number",
                        "minimum": -1000000000000,
                        "maximum": 1000000000000
                      }
                    },
                    "substitutions": {
                      "type": "array",
                      "maxItems": 4096,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "after",
                          "before",
                          "index",
                          "lookup",
                          "subtable"
                        ],
                        "properties": {
                          "after": {
                            "type": "array",
                            "maxItems": 4096,
                            "items": {
                              "type": "number",
                              "minimum": -1000000000000,
                              "maximum": 1000000000000
                            }
                          },
                          "before": {
                            "type": "array",
                            "maxItems": 4096,
                            "items": {
                              "type": "number",
                              "minimum": -1000000000000,
                              "maximum": 1000000000000
                            }
                          },
                          "index": {
                            "type": "number",
                            "minimum": -1000000000000,
                            "maximum": 1000000000000
                          },
                          "lookup": {
                            "type": "number",
                            "minimum": -1000000000000,
                            "maximum": 1000000000000
                          },
                          "subtable": {
                            "type": "number",
                            "minimum": -1000000000000,
                            "maximum": 1000000000000
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  }
}

Originalschema öffnen

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →