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