gregorio-project / gregorio

The Gregorio Project
http://gregorio-project.github.io
Other
164 stars 43 forks source link

clivis stem length #803

Closed eroux closed 8 years ago

eroux commented 8 years ago

Clivis stem length may vary according to books, squarize.py needs to be able to output different types of stem length.

henryso commented 8 years ago

I don't understand what you're asking me to do in the C code for the PorrectusLongqueueDeminutus. If it's the switch to .alt, that's a purely TeX/Lua thing.

In terms of the inversion of ambitus one clivis and quadratum, I'll try to get to it within a few hours.

eroux commented 8 years ago

Sorry, it wasn't clear:

this is to be able to tune the queues for the .alt version, but it's not relevant to the C code indeed. What's relevant is that the C code must call the Longqueue version of all porrectus deminutus, not just when the first ambitus is 1. Is it clearer?

henryso commented 8 years ago

The Porrectus*OneYDeminutus are drawn with short and long inverted (I think). Even though the names are not right, it has to stay this way for the glyphs to be interchangeable, unless you want the non-.alt glyphs to also have inverted names.

henryso commented 8 years ago

The changes you requested are now in the branch, but I have not done anything regarding the question in my previous comment.

eroux commented 8 years ago

Hmmm, good point... I'll take a closer look later tonight and I'll tell you.

eroux commented 8 years ago

So, right now I think everything's fine on the font side, there are still two small things on the C side:

I've updated https://gist.github.com/eroux/9ff5147101525415ad3b with tests for this. Also, I can't thank your work for this, it's really a great improvement!

henryso commented 8 years ago

I'll open a separate issue for the heuristic change. I don't want to further cloud this (already very long) issue.

henryso commented 8 years ago

For dcd[ll:1], the algorithm is checking for a ledger line below the note of queue determination, so you would need to use d[ll:1]cd instead. If this is not what the algorithm should be doing, then we need to think carefully about what it should do instead.

eroux commented 8 years ago

Ok, I see... Well, I'll just change my test then, we can open a separate issue for this: maybe if one note gets [ll:x] the whole glyph could be impated? This is not really a priority, as long as it's documented like this (which I'll do in next commit, the last before a pull request, I hope)

eroux commented 8 years ago

Hmm, modifying the test file, I really think the current way is just weird to explain, it would have to detail the different cases (pes quadratum, virga, porrectus, flexus, ancus, scandicus, etc.) giving for each case the note the [ll:x] thing should be associated with... So I'll just document it in a more simple way, as I've started, even if it's a bit off...

eroux commented 8 years ago

Sorry, running the tests, it seems there are two bugs left:

henryso commented 8 years ago

The C part should be fixed. I will deal with the heuristics after I'm done with #697 unless someone gets to it before me.

henryso commented 8 years ago

I think this one is done.