Jonathan

On 8/11/2015 5:15 PM, jonathan.scholbach [via Lilypond] wrote:
> (Setting the font-sizes manually is necessary since for some unknown
> reason, the font-size decreases.)

This is because virtually everything that has any kind of font property 
is scaled relative to the staff-height. So, at 20pt staff-height, a 12pt 
font looks just right, but at 17pt staff-height, it ends up being scaled 
down to 12*(17/20) = 10.2pt. There are ways around this, though. Markups 
have the \abs-fontsize macro, but there isn't a built-in one for 
anything else, like Lyrics. A really nice macro was put together by Mike 
Solomon so the "absolute" nature of font size can be applied to any 
other kind of text object. Here's the code for it:

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))
        )))

\layout {
   \context {
     \Score
     \allowGrobCallback font-interface.font-size
   }
}

which you then can use like this:

\override LyricText.font-size = \absFontSize 11.5

Without this, then to get back up to 12pt you'd need to manually 
increase the font-size, which is what you've learned already.

Regards,
Abraham






--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/problem-with-installed-font-when-set-global-staff-size-is-changed-tp179484p179539.html
Sent from the User mailing list archive at Nabble.com.
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to