Jan-Peter Voigt <jp.vo...@gmx.de> writes:

> Hello David,
> thanks for your hint :)
>
> Hello Kieren,
> how do you like this solution?
> It uses an engraver which acknowledges text-interface and
> font-interface (maybe we only need font-interface)
> and then wraps found markups in 'text and 'long-text (for
> InstrumentName grob) in (markup #:abs-fontsize ... /text/)
> It uses a property 'abs-font-size ... now lilypond complains about the
> unknown grob-property, but that doesn't matter for now ;)
>
> * For instrumentName one could use different sizes for the short and
> the long version.
> * If we only need to acknowledge the font-interface, this little piece
> could be simplified a little bit.
> * We also could use the existing font-size property and use another
> method to "mark" it an absolute size

Shrug.  You can just have your acknowledger check for font-size being a
procedure and replace it by the result from the respective call.

And then you just use your originally failing code.  No need to invent
yet another internal interface, just make your original code work.

If you want an interface to the internals, it can look like

\allowGrobCallback font-interface.font-size

as a context mod.  Something like

allowGrobCallback =
#(define-scheme-function (parser location syms) (symbol-list?)
  #{ \with { \consists #(make-engraver ...

-- 
David Kastrup


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to