Skip to content

nextbegindifference should equal begindifference of next syllable, but sometimes doesn't #1723

@davidweichiang

Description

@davidweichiang

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.

  1. 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).
  2. 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)
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions