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.


lilypond-user mailing list

Reply via email to