5.4.10 Modification des stencils

Tout objet de rendu dispose d’une propriété stencil attachée à la grob-interface. En règle générale, cette propriété référence par défaut une fonction spécifique à l’objet et taillée sur mesure pour fournir le symbole qui va le représenter dans l’output. Par exemple, le réglage standard de la propriété stencil de l’objet MultiMeasureRest est ly:multi-measure-rest::print.

Le symbole standard d’un objet quel qu’il soit peut être remplacé à partir du moment où la propriété stencil référence une procédure différente et écrite à cet effet. Ceci requiert une bonne maîtrise du fonctionnement interne de LilyPond, mais est grandement facilité dans bien des cas et permet d’obtenir le résultat escompté.

En effet, rien ne nous interdit, à partir de la propriété stencil, d’appeler la procédure qui génère du texte, ly:text-interface::print en l’occurrence, et d’adjoindre à l’objet une propriété text qui contiendra, sous forme de markup, le symbole à dessein. Grâce à l’extrême flexibilité des markups, vous pourrez parvenir à bien des choses – voir à ce sujet Éléments graphiques dans du texte formaté.

C’est la technique employée ici, où l’une des têtes de note est remplacée par une croix inscrite dans un cercle :

XinO = {
  \once \override NoteHead.stencil = #ly:text-interface::print
  \once \override NoteHead.text = \markup {
    \combine
      \halign #-0.7 \draw-circle #0.85 #0.2 ##f
      \musicglyph "noteheads.s2cross"
  }
}
\relative {
  a' a \XinO a a
}

[image of music]

Tous les glyphes Feta de la fonte Emmentaler sont accessibles à l’aide de la commande de markup \musicglyph – voir La fonte Emmentaler.

L’insertion de fichier EPS ou d’instructions Postscript sont accessibles par les commandes de markup \epsfile et \postscript respectivement – voir l’annexe Graphisme.

Voir aussi

Manuel de notation : Commandes pour markup, Éléments graphiques dans du texte formaté, Graphisme, La fonte Emmentaler, Mise en forme du texte.


GNU LilyPond – Manuel de notation v2.25.22 (development-branch).