Description
alphaTab currently does not follow the SmuFL specification very well. We use the glyphs from SmuFL fonts, but the whole sizing aspect is either hard-coded or relies on graphical measuring (measureText).
Most music notation software, and also SmuFL define special units, typically based on the five-line staff spacing.
Dividing the em in four provides an analogue for a five-line staff: if a font uses 1000 upm (design units per em), as is conventional for a PostScript font, one staff space is equal to 250 design units; if a font uses 2048 upm, as is conventional for a TrueType font, one staff space is equal to 512 design units.
https://w3c.github.io/smufl/latest/specification/scoring-metrics-glyph-registration.html
In this work item we adjust alphaTab to respect the SmuFL metadata and units accordingly and even allow passing in external metadata for the use of custom fonts.
This should bring following benefits:
- We can eliminate a lot of the custom spacings and alignment corrections we do in alphaTab.
- We can introduce mechanisms to place additional "glyph annotations" where alphaTab doens't understand the semantics (e.g used in capella and MusicXML).
- End users can use custom SmuFL fonts in their apps.
- The visual display elements is better (e.g no stem overlaps)