On Wed, Oct 12, 2016 at 2:04 PM, Rutger Hofman <rut...@cs.vu.nl> wrote: > On 10/12/2016 06:17 PM, David Nalesnik wrote: >> >> On Wed, Oct 12, 2016 at 8:48 AM, David Nalesnik >> <david.nales...@gmail.com> wrote: >>> >>> Harm, >>> >>> On Wed, Oct 12, 2016 at 8:13 AM, Thomas Morley <thomasmorle...@gmail.com> >>> wrote: >>> >>>> >>>> in this thread >>>> >>>> http://lilypond.1069038.n5.nabble.com/Alternate-scheme-text-spanner-ignores-spacers-td195195.html >>>> you researched the cause for problems while attaching TextSpanner to >>>> spacers using custom-scheme-engravers. >>>> >>>> May it be possible the problem is present in the original .cc-coded as >>>> well? >>>> >>>> At least I don't see any problem with attached TextSpanners as soon as >>>> I change a spacer to a real note-event in Rutger's code: >>>> >>> >>> It appears to be related to the X-position of the right-bound text: >>> if it's too far to the left, it won't be printed. >>> >>> Change the right-padding override in your example to 10, and the text >>> will also disappear. >>> >> >> ly:line-spanner::print considers the properties left-bound-info and >> right-bound-info. It returns '() if the sum of left.padding and >> right.padding is greater than the distance between the left and right >> ends of the spanner (as determined from "X" and "Y" stored in >> bound-details). I can't say I follow the thinking, but that's what >> causes nothing to be printed when right.padding is set too high. >> >> (The variable for padding is confusingly named "gaps" in the code, by the >> way.) >> >> David >> > > For starters: thanks to you all for thinking along, and searching for an > analysis (and hopefully fix). > > The 'solution' of suppressing the spanner under these conditions doesn't > sound immediately logical to me. And this suppression only struck my eye for > spanners that cross a line break; which doesn't imply that it cannot occur > otherwise of course. >
The point I'm making is that the spanner was only suppressed in your original example because the value you chose for right.padding was too large -- large enough to put the right text before the left endpoint, which roughly is why the program gave you nothing. If you use \override TextSpanner.bound-details.right.padding = #2 the text is moved out from under the TextScript. You can then override TextScript.staff-padding and TextSpanner.staff-padding to force an alignment. As far as I know, you will have to align them yourself this way because the TextSpanner and TextScript are not grouped. The inner-texts enhancement does offer a grouping of sorts. David _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user