Subject: Re: Choix des fontes et Staff Size

From: Loïc Chahine <[email-masked]>
Date: Sat, 10 Mar 2012 22:57:28 +0100

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é !
L.

-------- Message original --------

Bonjour à tous !
J'ai découvert tout récemment comment changer les fontes globalement 
pour une partition :

\paper {

myStaffSize = #20

#(define fonts

(make-pango-font-tree "Adobe Garamond Pro"

"Nimbus Sans"

"Luxi Mono"

(/ myStaffSize 20)))

}

À part "Adobe Garamond Pro", c'est /exactement/ ce qu'il y a dans le manuel.
Mais si je veux aussi changer la taille des portées, ben ça veut pas. 
J'ai essayé de mettre myStaffSize = #18, et aussi à l'avant dernière 
ligne de mettre (/ 18 18))) --- soit dit en passant j'ai pas tout 
compris de cette ligne...
J'ai aussi essayé d'ajouter ailleurs un #(set-global-staff-size 18), 
mais ça annule le changement de fontes !

Merci d'avance pour votre aide !
L.

PS : Je termine en ce moment le trio de Telemann TWV 42:d4 pour flûte, 
hautbois et b.c., numéro 11 dans les /Essercizi Musici/, si jamais ça 
intéresse quelqu'un...

---

From: Xavier Scheuer <[email-masked]>
Date: Wed, 14 Mar 2012 23:06:51 +0100

2012/3/10 Loïc Chahine <[email-masked]>:
> Bonsoir à tous !
> En cherchant un peu, il y a une ‘issue’ qui se rapporte à ça.

Bonsoir,

Ce n'est pas corrigé mais Neil a donné un workaround ici :
http://www.mail-archive.com/[email-masked]/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 <[email-masked]>

---

From: Loïc Chahine <[email-masked]>
Date: Sat, 17 Mar 2012 14:57:37 +0100

Le 14/03/12 23:06, Xavier Scheuer a écrit :
> 2012/3/10 Loïc Chahine<[email-masked]>:
>> Bonsoir à tous !
Alors je crois que je n’ai rien compris car je n’arrive pas du tout à 
modifier quoique ce soit avec ce code. Je travaille avec la version 
2.14.2. Un workaround, ça veut dire une sorte de “patch”, un bidouillage 
pour arriver à ses fins malgré tout, non ?
Bien à vous,
L.C.