To compute the space between the current syllable and the next, the syllable spacing code has to predict the begindifference of the next syllable (how much the notes extend to the left of the text). There are a number of cases where this prediction is not correct, which leads to the syllable spacing being slightly off. In extreme cases, this can lead to collisions.
I don't think these are worth fixing, since I'm hoping to move the syllable spacing code into Lua. But I'm documenting them here because they will be test failures.
- When the next syllable is just an alteration with no note, e.g.,
(gx). Gregorio emits an alignment and alteration type of {0}{0} (punctum and no alteration) but it should probably be {18}{1} (no note and flat).
- When the next syllable has NABC but no note, e.g.,
(|pu). Gregorio emits {0}{0} (punctum and no alteration) but it should probably be {18}{0} (no note and no alteration)
- When the next syllable has a soft alteration, e.g.,
(gXg). There are missing cases to check for an alteration type of 7 (soft flat) so it is treated as no alteration.
To compute the space between the current syllable and the next, the syllable spacing code has to predict the
begindifferenceof the next syllable (how much the notes extend to the left of the text). There are a number of cases where this prediction is not correct, which leads to the syllable spacing being slightly off. In extreme cases, this can lead to collisions.I don't think these are worth fixing, since I'm hoping to move the syllable spacing code into Lua. But I'm documenting them here because they will be test failures.
(gx). Gregorio emits an alignment and alteration type of{0}{0}(punctum and no alteration) but it should probably be{18}{1}(no note and flat).(|pu). Gregorio emits{0}{0}(punctum and no alteration) but it should probably be{18}{0}(no note and no alteration)(gXg). There are missing cases to check for an alteration type of7(soft flat) so it is treated as no alteration.