lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Modifying Stencil for Clef


From: David Kastrup
Subject: Re: Modifying Stencil for Clef
Date: Fri, 22 Feb 2019 18:58:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Richard Shann <address@hidden> writes:

> On Fri, 2019-02-22 at 18:03 +0100, David Kastrup wrote:
>> Richard Shann <address@hidden> writes:
>> 
>> > Thank you very much for this explanation - I can now go from the
>> > entry
>> > 
> [...]
>> > which I was expecting to find the italic 8 replaced by the
>> > character T
>> > [...]
>> 
>> A markup is not a finished stencil but can be converted to one in a
>> variety of ways.  ly:text-interface::print uses whatever properties
>> are
>> set in the text-interface related grob properties, and ClefModifier
>> has
>> things like
>> 
>>         (color . ,(grob::inherit-parent-property
>>                    X 'color))
>>         (font-shape . italic)
>>         (font-size . -4)
>> 
>> in its definition.  You can override those, or you can use stuff like
>> 
>>     \once \override Staff.ClefModifier.text = \markup \normal-text
>> "T"
>> 
>> in order to override the defaults in the grob definition.
>
> I'm baffled now - if I compile
>
> \version "2.18.2"
>
>   c'
>  \once \override Staff.ClefModifier.text = \markup \normal-text "T"
>  \clef "bass_8"
>   c'
> }
>
> The italic 8 is printed as usual - the default text is not overwritten.

Sorry for that.  The reason is that there is some
clefTranspositionFormatter function that completely bypasses the text
callback (and the stencil callback apparently).  I have no idea what the
point with that should be.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]