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 }
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.