lilypond-user-fr
[Top][All Lists]
Advanced

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

Re: Choix des fontes et Staff Size


From: Xavier Scheuer
Subject: Re: Choix des fontes et Staff Size
Date: Wed, 14 Mar 2012 23:06:51 +0100

2012/3/10 Loïc Chahine <address@hidden>:
> Bonsoir à tous !
> En cherchant un peu, il y a une ‘issue’ qui se rapporte à ça.
> http://code.google.com/p/lilypond/issues/detail?id=1129
> Mais je ne sais pas voir si ça a été corrigé !

Bonsoir,

Ce n'est pas corrigé mais Neil a donné un workaround ici :
http://www.mail-archive.com/address@hidden/msg16599.html

%%%% LilyPond code

#(define-public (layout-set-staff-size staff-size)

  (define (calc-line-thickness staff-space pt)
    (let* ((x1 (* 4.125 pt))
           (x0 (* 5 pt))
           (f1 (* 0.47 pt))
           (f0 (* 0.50 pt)))

      (/
       (+
        (* f1 (- staff-space x0))
        (* f0 (- x1 staff-space)))
       (- x1 x0))))

  (let* ((module (current-module))
         (pt (eval 'pt module))
         (staff-height (* pt staff-size))
         (ss (/ staff-height 4))
         (factor (/ staff-height (* 20 pt)))
         (setm! (lambda (sym val)
                  (module-define! module sym val)))
         (parser (eval 'parser module))
         (pap (ly:parser-lookup parser '$defaultpaper))
         (pango-fonts (ly:output-def-lookup pap 'pango-font-list #f)))

    (setm! 'text-font-size (* 12 factor))
    (setm! 'output-scale ss)
    (setm! 'fonts (if pango-fonts
                      (make-pango-font-tree (car pango-fonts)
                                            (cadr pango-fonts)
                                            (caddr pango-fonts)
                                            factor)
                      (make-century-schoolbook-tree factor)))
    (setm! 'staff-height staff-height)
    (setm! 'staff-space ss)
    (setm! 'line-thickness (calc-line-thickness ss pt))
    (setm! 'ledger-line-thickness (+ (* 0.5 pt) (/ ss 10)))
    (setm! 'blot-diameter (* 0.4 pt))))

#(define-public (pango-font-tree-wrapper roman sans typewriter factor)
  "Call make-pango-font-tree, binding the result to 'fonts
and cache the font names in a paper variable (pango-font-list)."
  (let ((parser (eval 'parser (current-module))))

    (ly:parser-define! parser 'pango-font-list (list roman sans typewriter))
    (ly:parser-define! parser 'fonts
                       (make-pango-font-tree roman sans typewriter factor))))

\paper {
  #(pango-font-tree-wrapper "Adobe Garamond Pro"
                            "Nimbus Sans"
                            "Luxi Mono"
                             (/ 20 20))
}

%%%% End of LilyPond code

Cordialement,
Xavier

-- 
Xavier Scheuer <address@hidden>



reply via email to

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