Style of dash doesn't follow lyrics style

• May 26, 2013 - 09:21
S4 - Minor

The lyrics dash (to separate sylables) doesn't use the dash of the font used for lyrics, but draws a (short) line instead.
This can be seen if one mixes Ctrl+'-' and the 'normal '-': they look different.

Looks pretty ugly when you want more than one dash between sylables (as common on on long melismas, spanning multiple notes, e.g. "Glo - - - - - ria"), as the Ctrl+'-' trick's apparearence doesn't mix and match that of the regular dash. What does "Behind Bars" say about this (Sorry, ~75€ to buy this is beyond my budget)?

See also


Finale, capella, Primus, Sibelius, Lilypond allow for multiple dashes in long melismatic parts.
Not sure whether these are even mandatory?

Would this multiple dash problem be another issue?

Hello Jojo,
while I was loitering in the French forum I found out how to treat the dash (tiret):
Ctrl + Alt - or Ctrl + Shift _
Sorry if this is not relevant perhaps is already known

Regarding the appearance of the lyrics dash, Gould's Behind Bars says the following:

  • You should "separate [syllables] by inserting hyphens" (p.439)
  • Hypens are "a short line centred between two syllables" (p.448)
  • They are "placed midway between the base and top of a lower-case letter" (p.448)

Gould never explicitly says which font characters to use, but looking closely at the notation examples in Behind Bars, it appears that she does indeed use the same character for hyphens in lyrics as she uses for hyphenated words in the main text of the book.

Gould also talks about another special character in lyrics, the elision sign, which has the appearance of a small slur between neighbouring lyric syllables. Gould says the elision sign has two purposes in sheet music:

  1. When placed between two syllables under separate notes, it indicates that the performer should not breathe between these syllables. [Behind Bars, p.436]

  2. When placed between two syllables under a single note, it indicates that the syllables are to be merged (or "elided") into one sound. [Behind Bars, p.446]

This is very similar to how hyphens can appear between lyrics or within them, and it poses the same question about which character to use in each case.

For elision case 2 (single note), we would almost certainly use the undertie character ‿ (U+203F) from the text font, which has a fixed width. However, for case 1 (separate notes) Gould indicates that the elision sign should grow and shrink to fully occupy the region between the lyrics regardless of the spacing in the measure (see "hi-ther‿go" example bottom of p.436). This would appear to suggest that a custom symbol must be used for case 2, but it may be possible to write "font hacking" code that can grow and shrink the text character U+203F horizontally on the fly without causing too much visual distortion.

Returning to the hyphen, we currently use a text character (fixed width) within lyrics and a custom symbol (variable width) between them. We currently allow the custom symbol to shrink very slightly to fit between tightly packed syllables, but if we want to use the text character in both cases then we will have to decide whether to keep it a fixed width, or use the font hacking technique to force it to shrink. Note that Behind Bars doesn't say whether the hyphen should shrink, only that it may be omitted in certain cases (p.448).

> Actually it uses a (variable width) line, not a character, between syllables.

That's what I said, or at least what I was trying to say.

> That’s why replacing this with a font character is so tricky

That's exactly the point I was making.

> Looks pretty ugly when you want more than one dash between sylables (as common on on long melismas, spanning multiple notes, e.g. "Glo - - - - - ria"), as the Ctrl+'-' trick's apparearence doesn't mix and match that of the regular dash.

Perhaps this feature didn't exist back in 2013, but these days it is possible to get MuseScore to draw more dashes by going to Format > Style > Lyrics and reducing Max. hyphen distance from the default value (16sp) to something smaller. Gould doesn't give an explicit recommendation in Behind Bars, but her examples use a distance that corresponds to about 5sp for this setting.

In reply to by shoogle

Incidentally, after first setting LYRICS_DASH_DEFAULT_STEP to 8 (instead of the default 16) in a local patch against 2.3.2, when the feature was added as a style option in 3.x I played with the various values and also arrived at setting lyricsDashMaxDistance to 5 as most pleasing, most well-round value (especially since commit 2c78cd4 was merged).

In reply to by shoogle

Regarding shrinking: that probably should be an option, together with which character from the font should be used (U+2011 would be the sensible default, but some fonts may not carry it and need U+002D instead, or it may be too short).

Again using gothic script as an example: the hyphen looks like an equals sign there, except it goes slightly diagonal (the right end is higher than the left end for both lines) and is cut off differently at the ends. This one may not be shrunk.

So, perhaps two style options: character to use (radio button for simple line like before, or font character, plus an input field expecting a codepoint number for the latter), and whether to shrink it (radio button for: yes, no but drop it, no and extend note spacing accordingly).

It might even make sense to allow overriding this for individual melismata. (This is going to be tricky as their presence is currently implicit from the data model, not explicit, but the starting syllable could be the place to style it.)