5.5.3 stencils verändern

Alle Layout-Objekte haben eine stencil-(Stempel-)Eigenschaft, die ein Teil von grob-interface ist. Diese Eigenschaft ist normalerweise als eine Funktion definiert, die auf das jeweilige Objekt angepasst ist und das Symbol erstellt, dass dann im Druckbild erscheint. Beispielsweise die Standardeinstellung für die stencil-Eigenschaft von MultiMeasureRest (Ganztaktpausenobjekt) ist ly:multi-measure-rest::print.

Das Standardsymbol für jedes Objekt kann ersetzt werden, indem man die stencil-Eigenschaft verändert, sodass sie auf eine andere, speziell geschriebene Prozedur verweist. Das erfordert einen hohen Grad an Kenntnis der LilyPond-Interna, aber es gibt einen einfacheren Weg, mit dem man oft vergleichbarere Ergebnisse erzielen kann.

Dieser Weg besteht darin, die stencil-Eigenschaft auf die Prozedur zu verweisen, die Text ausgibt: ly:text-interface::print und eine text-Eigenschaft zu dem Objekt hinzuzufügen, in welcher dann die Textbeschriftung definiert wird, mit der das entsprechende Symbol dargestellt wird. Aufgrund der Flexibilität der Textbeschriftung ist hier sehr viel möglich. Siehe zu Details insbesondere Graphische Notation innerhalb einer Textbeschriftung.

Das folgende Beispiel zeigt diese Methode, indem das Symbol der Notenköpfe in ein Kreuz innerhalb eines Kreises umgewandelt wird.

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]

Alle Schriftzeichen in der Feta-Glyphe können mit dem \musicglyph-Befehl erreicht werden. Siehe auch Die Emmentaler-Schriftart.

Siehe auch

Notationsreferenz: Graphische Notation innerhalb einer Textbeschriftung, Text formatieren, Textbeschriftungsbefehle, Die Emmentaler-Schriftart.


LilyPond Benutzerhandbuch v2.25.22 (development-branch).