Closed eroux closed 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.
Sorry, it wasn't clear:
PorrectusLongqueueOneYDeminutus
PorrectusLongqueueXYDeminutus
are presentthis 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?
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.
The changes you requested are now in the branch, but I have not done anything regarding the question in my previous comment.
Hmmm, good point... I'll take a closer look later tonight and I'll tell you.
So, right now I think everything's fine on the font side, there are still two small things on the C side:
dcd[ll:1]
should have the long formb!dv
should have a long form by default. I think notes separated by a /0
space should be counted tooI'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!
I'll open a separate issue for the heuristic change. I don't want to further cloud this (already very long) issue.
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.
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)
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...
Sorry, running the tests, it seems there are two bugs left:
Longqueue
version for all ambitus should be for Porrectus only, not PorrectusFlexus, so PorrectusFlexusLongqueueTwoTwoOneDeminutus
shouldn't be output by the C code, only PorrectusFlexusTwoTwoOneDeminutus
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.
I think this one is done.
Clivis stem length may vary according to books,
squarize.py
needs to be able to output different types of stem length.