ranges.json

ranges.json provides information about the way glyphs are presented in discrete ranges in this specification. Here is an excerpt of this file:

{
  ...
  "analytics": {
    "description": "Analytics",
    "glyphs": [
      "analyticsHauptstimme",
      "analyticsNebenstimme",
      "analyticsStartStimme",
      "analyticsEndStimme",
      "analyticsTheme",
      "analyticsThemeRetrograde",
      "analyticsThemeRetrogradeInversion",
      "analyticsThemeInversion",
      "analyticsTheme1",
      "analyticsInversion1"
    ],
    "range_end": "U+E86F",
    "range_start": "U+E860"
  }
  ...
}

This file uses a unique identifier for each range as the primary key, and within each structure the “description” specifies the human-readable range name (as it appears in this specification), “glyphs” is an array listing the canonical names of the glyphs contained within the range, and the “range_start” and “range_end” key/value pairs specify the first and last code point allocated to this range respectively.

The current versions of glyphnames.json, classes.json and ranges.json are available for download at www.smufl.org/download.

It is further recommended that SMuFL-compliant fonts also contain font-specific metadata JSON files, which are described below.