Mike, Now that we understand that we can adjust 'extra-spacing-height for note-spacing, without messing up line-breaking or page-spacing, let's revisit the big picture.
On Fri, 04 Nov 2011 00:12:01 -0700, m...@apollinemike.com <m...@apollinemike.com> wrote:
On Nov 3, 2011, at 11:39 PM, k-ohara5...@oco.net wrote:What is the overall plan for the new engravers?Currently, LilyPond has no mechanism to calculate the Y-extents of Itemsin a relative way. You can't say "make the height of grob X such thatit is always Y larger than that of grob Z."
So far, so good.
This is necessary for grobs (like barlines) that need to block certain grobs that fall above and below them. Idem for Staves, idem for time signatures.Currently, LilyPond accomplishes this through hardcoded values (check out the extra-spacing-height for TimeSignature, for example), which potentially catches unwanted fuzz (a text script with '(0 . 0) for extra-spacing-width and low padding will be shifted over numerical time signatures but notcommon time).
Well, it depends on /why/ we need the blocking. If the goal is to avoid collisions, we use the extents plus extra-spacing-* For horizontal spacing based on the meaning of the grobs, we have the 'space-alist. Grobs that need prominence relative to their non-colliding neighbors can benefit from your pure-from-neighbor-interface. Span Bars need space to avoid collisions. Separating SpanBars into segments, as you did for issue 910, seems wise because in the case of issue 910 they can print as segments. Using the "as tall as my neighbor" concept for SpanBarStubs, seems unwise. \new PianoStaff << \new Staff { R1*5 } \new Staff { e'1 | b'16 <e'' cis''' dis'''>4.. r2 | e''16 <c' dis fis gis>4.. r2 | <e'' cis''' dis'''>2 r2 | <c' fis gis>2 r2 } >>
In general, I'd like to see the Pure_from_neighbor_engraver take care of theextra spacing heights for all grobs that are ordered by break alignments, asall of them should prevent overhang. This patch already does a good chunk of work for that.
But that is issue 1955.
<<attachment: neighbory.png>>
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel