[smufl-discuss] Glyph registration proposal

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[smufl-discuss] Glyph registration proposal

Joseph Berkovitz
Daniel,

I have had two items on my SMuFL to-do list for a while: propose standardized glyph registration w/r/t left edge and baseline, and propose an external metadata file format. The nature of the external metadata depends on the registration, since it only need supply whatever information the registration lacks. So registration is the best place to begin.

I acknowledge that there are some differences between this proposal and the actual glyph registration found in Bravura today. However, in light of the lack of discussion so far on this subject I felt that it was best to begin by taking my best shot at a set of consistent principles even if this required some adjustments to Bravura. You may have good reasons for the current registration that I don't know yet. But I ask that we not move too quickly to freeze the de facto registration in Bravura, and instead examine the issues in some detail. I've tried to keep the changes to a minimum.

It's also true that some of these issues could instead be addressed by leaving the registration as-is and requiring quite a lot of external metadata describing each glyph, but I think that is not a good idea (any more than it would be for regular alphabetic glyphs). We already have the useful concepts of a font baseline and a left edge, and I think it is worth maximizing their utility.

I hope this is helpful in kicking off an important discussion of this aspect of the specification.

Best,

.            .       .    .  . …Joe

------------------------

GENERAL PRINCIPLES

- A standard staff line spacing occupies 0.25 em in the font design space. For example, if a font is rendered at, say, a 100-pixel size in device coordinates, then the exact size of a standard staff line spacing is 25 pixels.

- Unless otherwise stated, all glyphs shall be horizontally registered so that their leftmost point coincides with X=0 in font design space.

- Unless otherwise stated, no glyph shall contain blank space to its left or right.

- Glyphs for movable notations that apply to some vertical staff position (e.g. note heads, accidentals) shall be registered such that the font baseline lies exactly at that position. For example, a typical quarter-note head or a sharp glyph would be registered so that it is vertically centered around the baseline.

- Glyphs that can apply to a staff as a whole (e.g. bar lines, clefs) shall be registered such that the font baseline lies at the nominal Y position of the bottom line of a 5-line staff. If the glyph is specific to a staff other than a regular 5-line staff, then for registration purposes that staff's vertical center shall be exactly aligned with the vertical center of a 5-line staff.

STAVES

Currently, the registration roughly centers each staff vertically (within a half staff line) with respect to the center line of a 5-line staff, but takes an unclear approach for staves with an even number of lines that seems to round off the vertical placement. The glyphs for 2-, 4- and 6-line staves should be adjusted so the staff line symbols all have their vertical center aligned with the center of the middle line of the 5-line staff glyph.

Note that because staff lines have a nonzero thickness, the bounding box of a 5-line staff glyph will be slightly larger than the size of the font in device units.

CLEFS

The glyph name should explicitly reference this as an Alto C Clef (this is obvious from looking at it but may as well call it out).

TIME SIGNATURES

The spec needs to stipulate that time signature digits are sized to fit

The glyphs E08A and E08B (common/cut time) and E08F (open meter) are really whole-staff symbols, not quasi-digits. They should be registered relative to a 5-line staff, much as clefs are. Consider that their sizing in some fonts (e.g. script style music fonts) is quite dissimilar to the size of time signature digits, even through Bravura has opted to make the sizes identical.

SLASH NOTEHEADS (E0D0-DF)
ROUND/SQUARE NOTEHEADS (E0E0-EF)

These should be vertically centered on the baseline as with all the other note heads, since they nominally apply to some staff line even though they are taller.

NOTES (U+E100–U+E11F)

These should be vertically centered on the baseline. Currently only the breve and semibreve are centered.

FLAGS (U+E140–U+E15F)

Currently flags' vertical position is dependent on their outline, which will vary unpredictably from font to font. Note that it is not possible to algorithmically determine the stem attachment point from a flag's bounding box.

- All flags shall be vertically positioned so that the stem attachment point lies exactly on the font baseline at X=0. T (Note that it is possible for part of a flag to lie to the left of X=0 if it's drawn in a cursive fashion.)

ACCIDENTALS (U+E160–U+E17F)

Accidentals are staff-line-relative movable notations like note heads. Thus, all accidentals should be vertically positioned as per the corresponding note heads, with the font baseline located at the imaginary staff line to which the accidental would apply. Currently these are all positioned with respect to the bottommost staff *space* of a 5-line staff which is inconsistent with other note-related glyphs.

RESTS (U+E1C0–U+E1DF)

Rests are relative to an imaginary staff position, typographically speaking (usually the centerline of a 5-line staff in which the rest assumes its default position). The font baseline should represent this staff position. It is not possible to compute this position from a rest's bounding box, since it may not be the vertical center of the glyph. This implies that most of the rests will move vertically relative to where they are now so that the baseline provides information on where they appear relative to this "reference staff" line.  (If this list allowed attachments, I'd supply a figure here.)

MENSURAL NOTATION (U+E570–U+E59F)
Gregorian notation (U+E5E0–U+E5FF)

As for note heads above.

Mensural rests (U+E5A0–U+E5AF)

As for rests, above.

Mensural prolations (U+E5B0–U+E5CF)

As for cut/common time -- these are whole-staff symbols and cannot be assumed to be vertically symmetric.

Arel-Ezgi-Uzdilek (AEU) accidentals (U+E660…)

As for accidentals above.

OPEN QUESTIONS

- Should the vertical line at X=0 in design space be used to define the nominal alignment point of ornaments, articulations, stem decorations (such as single note tremolos), much as the baseline is used to align note heads etc.? Note that it's quite common to have glyphs that have bits to the left of X=0, such as the "combining diacritical marks" range of Unicode.


#############################################################
This message is sent to you because you are subscribed to
  the mailing list <[hidden email]>.
To unsubscribe, E-mail to: <[hidden email]>
To switch to the DIGEST mode, E-mail to <[hidden email]>
To switch to the INDEX mode, E-mail to <[hidden email]>
Send administrative queries to  <[hidden email]>