5.5.3 Modifica degli stampi

Tutti gli oggetti della formattazione hanno una proprietà stencil che fa parte dell’interfaccia grob-interface. Per impostazione predefinita, questa proprietà è solitamente impostata su una funzione specifica per l’oggetto per cui è concepita in modo da creare il simbolo che lo rappresenta nell’output. Per esempio, l’impostazione standard della proprietà stencil dell’oggetto MultiMeasureRest è ly:multi-measure-rest::print.

Il simbolo standard di qualsiasi oggetto può essere sostituito modificando la proprietà stencil perché faccia riferimento a una procedura diversa e scritta appositamente. Ciò richiede una profonda conoscenza del funzionamento interno di LilyPond, ma esiste un modo più semplice che spesso è in grado di produrre risultati accettabili.

Si tratta di impostare la proprietà stencil sulla procedura che stampa testo – ly:text-interface::print – e aggiungere una proprietà text all’oggetto impostato per contenere il testo markup che produce il simbolo richiesto. Grazie alla flessibilità di markup, si può ottenere molto – vedi in particolare Notazione grafica nel blocco markup.

L’esempio seguente illustra questa procedura cambiando il simbolo della testa di nota con una croce iscritta in un cerchio.

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]

Qualsiasi glifo Feta usato nel font Emmentaler può essere passato al comando markup \musicglyph – vedi Il font Emmentaler.

I file EPS e i comandi Postscript possono essere inseriti entrambi nel corpo del testo con i comandi markup \epsfile e \postscript – vedi Graphical markup.

Vedi anche

Guida alla notazione: Notazione grafica nel blocco markup, Formattazione del testo, Comandi per markup, Il font Emmentaler, Graphical markup.


Guida alla Notazione di LilyPond v2.25.22 (development-branch).