On Oct 6, 2011, at 3:36 AM, Keith OHara wrote: > <mtsolo <at> gmail.com> writes: > >> However, [barlines] do not block accidentals hanging >> over, and furthermore, this extra height blocks some lyrics but not >> others. > > Accidentals hanging over didn't seem to bother anybody, and we do want > other things tied to note-columns to cross over bar-lines, such as > text markup. >
True. What bugs me about the accidental overlap is that it is not consistent - higher accidentals are allowed to overlap, whereas lower ones aren't. What'd be best is if someone could checkout Behind Bars on this (I don't have a copy) to see if accidental overlap is Kosher and, if so, how much is Kosher. The big problem, though, comes from an inconsistency in lyric handling. To wit: \relative c''' { a2 b a b } \addlyrics { fooobar f foobar f } \relative c' { a2 b a b } \addlyrics { fooobar f foobar f } > The case of lyrics passing under the bar line should be very rare > <http://lists.gnu.org/archive/html/lilypond-devel/2011-02/msg00481.html> > It happens in short test files, though, and might cause confusion and > wasted time. > >> The pure height of barlines should correspond to the height of >> neighboring grobs in the VerticalAlignment, > > I'm assuming "pure height" means the height estimate used before > line-breaking, Yup > and neighboring means nearest-neighbors on each side. Yup - neighbors until an arbitrary point to the right and the left (in the patch, neighbors until the next grob that takes its pure height estimate from a neighbor - so, basically, the combined pure heights of all grobs in the measure). > > What is a VerticalAlignment, and which grobs does it contain? > A VerticalAlignment is more or less synonymous with certain contexts. All grobs in a Staff belong to a vertical alignment, idem for Lyrics, idem for Dynamics, etc.. >> 1) It allows lyrics to recede all the way back to the StaffStartBar > > The staff start bar doesn't seem to get a horizontal skyline. If we > want lyrics to get padding from the start bar, we would need to compute > a horizontal skyline for it, so that *_paper_column:minimum_distance() > finds the collision and returns the right distance to make a rod to > enforce the padding. The issue with this is that the SystemStartBar is a spanner that is created once and thus cannot enter into the spacing equation. The LeftEdge grobs seems promising, but they get suicided. If I could find a way to have them stick around and if I could figure out how the spacing engine treats breakable grobs (i.e. is there a way to tell the spacing engine "only use an Item's horizontal skyline if it is at the beginning of a line" during the preprocessing phase - I'm sure this is possible, as this is how clefs and time signatures at line breaks must get spaced...I just don't know how), then I could give these horizontal skylines. Ideas? > >> Furthermore, it seems like the horizontal skylines are outta whack, > > They are drawn as if the staves, lyrics lines, etc, are all compressed > vertically, because they get used before line breaking and thus before > things get vertically stretched. > > Got it. _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel