mike <at> mikesolomon.org <mike <at> mikesolomon.org> writes:
> On 5 nov. 2012, at 11:15, Werner LEMBERG <wl <at> gnu.org> wrote: > > > > So the answer is yes: The height (resp. the depth) is larger for > > outside-staff glyphs. > > > > So we officially have a circular dependency: in order to know the height > (for collision resolution) we need to know the extent, but in order to > know the extent (because of the glyph) we need to know the height. Just to be clear, rest-collision.cc breaks the circular dependency by setting positioning-done := true, so the glyphs used to figure how far to move rests are those for their natural staff-positions. For example, in \new Staff << \new Voice {\voiceOne r2 } \new Voice {\voiceThree r4 } \new Voice {\voiceTwo r4 } >> the half-rest in the upper voice is moved so that its glyph /without/ the ledger line clears the quarter-rest, with the motion rounded up to the next staff-position. (Potentially, the lower portion of the ledger of the half-rest could overlap the quarter-rest, if someone adjusts staff-space to a borderline case.) If the rest being moved has a ledger at its natural staff-position \with { \override StaffSymbol #'line-count = 3 } then the glyph with the ledger is used -- which is a tiny bit inconsistent. Mike's suggestion to omit ledgers in Rest::generic_extent_callback() would simplify things and make them more consistent. _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel