Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple \gresethyphen{force} from maximumspacewithoutdash #705

Closed
rpspringuel opened this issue Dec 10, 2015 · 5 comments
Closed

Decouple \gresethyphen{force} from maximumspacewithoutdash #705

rpspringuel opened this issue Dec 10, 2015 · 5 comments
Assignees
Milestone

Comments

@rpspringuel
Copy link
Contributor

As is, the following will lead to different hyphenation patterns for the first and last occurrences of the score test (which can be most any score with polysyllabic words):

\grechangestaffsize{20}% this could also be \grechangedim{maximumspacewithoutdash}...
\gregorioscore{test}
\gresethyphen{force}
\gregorioscore{test}
\gresethyphen{auto}
\gregorioscore{test}

This is because \gresethyphen{force} currently changes maximumspacewithoutdash to a very large negative number and \gresethyphen{manual} changes it back to the value found in gsp-default.tex. However, in the above code block, maximumspacewithoutdash does not have that default value in the first score because the change in staff size has scaled it up.

The fix is to create a flag for \gresethyphen to manipulate rather then maximumspacewithoutdash.

I'm already working on this, I'm simply creating this issue so that I can reference it in CHANGELOG.md (instead of trying to explain everything there).

@rpspringuel rpspringuel self-assigned this Dec 10, 2015
@rpspringuel rpspringuel added this to the 4.1 milestone Dec 10, 2015
@rpspringuel
Copy link
Contributor Author

Okay, a potentially related issue that I came across while working on this one:

Right now the sequence se(h[cs:c]g)den-(fhg[cs:c]e~)tes,(fe__) produces a double hyphen between "den" and "tes": once for the one explicitly written in the lyrics and once from the automatic algorithm. What I think should happen is that the sequence -( (i.e. an explicit hyphen in the gabc right before the opening parentheses for a note sequence) should insert \GreForceHyphen into the score and remove the - from the lyrics. This will allow the hyphen to always appear after that syllable, but never be doubled. Good idea or not? If so, should I open a new issue for it, or simply roll it into this one?

Also, since this new issue will require some modification of the command-line tool code, I'm going to need some help getting it done.

@henryso
Copy link
Contributor

henryso commented Dec 11, 2015

I can help with this. Would it be OK to change all hyphens to \GreForceHyphen or must it only be one at the end of a syllable? Which of your branches should I work against?

@rpspringuel
Copy link
Contributor Author

If you could, work against hyphen. I just pushed a copy of it from my repository to the main one.

I would only convert a hyphen to \GreForceHyphen at the end of the syllable. Otherwise there would be a problem with, for example, hyphenated words underneath a punctum cavum: all-powerful(hr). In this case converting the hyphen to \GreForceHyphen would result in "allpowerful-" being printed in the lyrics, which isn't correct.

@henryso
Copy link
Contributor

henryso commented Dec 11, 2015

I pushed my changes into the hyphen branch. This breaks the SalveReginaOP test in a good way, but I'll let you confirm and accept that change.

@rpspringuel
Copy link
Contributor Author

Fixed #709

rpspringuel added a commit to rpspringuel/gregorio that referenced this issue Dec 12, 2015
* develop:
  Typo
  Converted the final hyphen in a syllable to \GreForceHyphen Part of the implementation of gregorio-project#705.
  Debug messages and missing `\global`
  Add issue reference to CHANGELOG
  Decouple `\gresethyphen` from `maximumspacewithoutdash`
  Reset custos-blocking at the beginning of each score inclusion. Fixes gregorio-project#703.
  Fixing overzelous find and replace
  Progress 4.0 deprecated functions to obsolete
  Remove obsolete code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants