glyphAdvanceWidths
The optional "glyphAdvanceWidths" structure describes the advance width of each glyph. The advance width is defined as the width of a glyph as measured from its origin to the origin of the next glyph on the line. In text fonts for many languages, glyphs normally have positive left and right side-bearings, i.e. space to either side of the glyph, so that a string of glyphs will show the expected letter spacing. The advance width includes these side-bearing values. If a glyph's path protrudes beyond the width defined for the glyph in the font, however, these protrusions to the left or the right – which can be termed negative side-bearings – are not included in the advance width.
In SMuFL fonts, glyphs typically have zero left and right side-bearings, and some glyphs may have negative side-bearings. For example, stemSulPonticello has a very narrow width, and large negative side-bearings to accommodate the sul ponticello sign that is centered on the stem.
Values in the "glyphAdvanceWidths" structure are expressed as a single value in staff spaces, to any required degree of precision.
Below is an excerpt from a dummy font metadata file for Bravura, with a section of the "glyphAdvanceWidths" structure filled in:
{
...
"glyphAdvanceWidths":
{
"analyticsNebenstimme": 2.836,
"figbass9": 0.944,
"pictBeaterSoftBassDrumDown": 1.28,
"wiggleCircularEnd": 0.648,
...
}
}
For each glyph, the "glyphAdvanceWidths" structure provides the glyph’s name and its advance width.