On Tue, Jun 2, 2020 at 11:18 PM Kieren MacMillan <
[email protected]> wrote:
> Hi Paolo,
>
> > how exactly do I have to call \absFontSize
>
> %%%%
> \version "2.19.83"
>
> allowGrobCallback =
> #(define-scheme-function (parser location syms) (symbol-list?)
> (let ((interface (car syms))
> (sym (cadr syms)))
> #{
> \with {
> \consists #(lambda (context)
> `((acknowledgers .
> ((,interface . ,(lambda (engraver grob
> source-engraver)
> (let ((prop (ly:grob-property
> grob sym)))
> (if (procedure? prop)
> (ly:grob-set-property! grob sym (prop grob)))
> ))))
> ))
> )
> }
> #}))
>
> absFontSize =
> #(define-scheme-function (parser location pt)(number?)
> (lambda (grob)
> (let* ((layout (ly:grob-layout grob))
> (ref-size (ly:output-def-lookup (ly:grob-layout grob)
> 'text-font-size 12)))
> (magnification->font-size (/ pt ref-size))
> )))
>
> % LilyBin
> \score {
>
> { c'1^"foobar" d'2-> \once \override Script.font-size = \absFontSize
> #72 2-> }
>
> \layout {
> \context {
> \Score
> \allowGrobCallback font-interface.font-size
> \override TextScript.font-size = \absFontSize #22
> }
> }
> }
> %%%%
>
>
Just tested, it works greatly!
Thanks