Skip to content

Improve SmuFL spec compliance #1949

Open
Open
@Danielku15

Description

@Danielku15

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)

Metadata

Metadata

Assignees

Labels

area-renderingEverything related to the renderingplatform-allAffects all platformsstate-acceptedThis is a valid topic to work on.

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions