4.2.2 Proprietà presenti nelle interfacce

Supponiamo ora di voler produrre un testo vocale in corsivo. Che tipo di comando \override ci serve? Consultiamo prima la pagina della guida al Funzionamento interno che elenca ‘All layout objects’, come prima, e cerchiamo un oggetto che potrebbe controllare il testo (in inglese lyrics). Troviamo LyricText, che sembra quello giusto. Clicchiamo su di esso e troviamo le proprietà del testo. Queste comprendono font-series e font-size, ma niente che possa dare una forma corsiva. Ciò è dovuto al fatto che la proprietà della forma è comune a tutti gli oggetti di tipi di carattere (font). Quindi, invece di includerla in ogni oggetto di formattazione, viene raggruppata insieme ad altre simili proprietà comuni e inserita in un’Interfaccia: font-interface.

Ora dobbiamo capire come trovare le proprietà delle interfacce e come scoprire quali oggetti usano queste proprietà.

Torna a vedere la pagina che descrive LyricText. In fondo alla pagina c’è una lista di interfacce cliccabili supportate da LyricText. La lista ha molti elementi, incluso font-interface. Cliccando su di essa arriviamo alle proprietà associate con questa interfaccia, che sono anche le proprietà di tutti gli oggetti che la supportano, tra cui LyricText.

Vediamo tutte le proprietà configurabili dall’utente che controllano i tipi di carattere, compresa font-shape(symbol), dove symbol può essere impostato su upright, italic o caps.

Puoi notare che lì sono elencate anche font-series e font-size. Ti potresti chiedere: perché le proprietà comuni dei tipi di carattere font-series e font-size fanno parte sia dell’oggetto LyricText sia dell’interfaccia font-interface mentre font-shape è presente solo nell’interfaccia? Ciò è dovuto al fatto che i valori globali predefiniti di font-series e font-size cambiano quando viene creato un oggetto LyricText, mentre i valori di font-shape non cambiano. Gli elementi in LyricText indicano quali sono i valori per queste due proprietà che si applicano a LyricText. Altri oggetti che supportano font-interface imposteranno queste proprietà in modo diverso quando vengono creati.

Vediamo se ora riusciamo a costruire il comando \override per rendere il testo corsivo. L’oggetto è LyricText, la proprietà è font-shape e il valore è italic. Come in precedenza, ometteremo il contesto.

Per inciso, è importante notare che i valori di font-shape, essendo dei simboli, devono essere preceduti da un apostrofo singolo, '. Questo è il motivo per cui gli apostrofi sono necessari prima di thickness nell’esempio precedente e prima di font-shape in questo esempio. Entrambi sono simboli. I simboli vengono letti internamente da LilyPond. Alcuni sono nomi di proprietà, come thickness o font-shape, altri sono usati come valori da assegnare alle proprietà, come italic. Nota che sono diversi dalle stringhe di testo arbitrarie, che appaiono nella forma "una stringa di testo"; maggiori informazioni sui simboli e le stringhe si trovano in Scheme tutorial.

Quindi il comando \override che rende il testo corsivo è:

\override LyricText #'font-shape = #'italic

Deve essere posizionato proprio di fronte al testo che vogliamo modificare, in questo modo:

{
  \key es \major
  \time 6/8
  {
    r4 bes8 bes[( g]) g |
    g8[( es]) es d[( f]) as |
    as8 g
  }
  \addlyrics {
    \override LyricText #'font-shape = #'italic
    The man who | feels love's sweet e -- | mo -- tion
  }
}

[image of music]

e tutto il testo è in corsivo.

Specificare il contesto nella modalità testo (\lyricmode)

Nel caso del testo, se cerchi di specificare il contesto nel formato usato prima, il comando non funzionerà. Una sillaba inserita in modalità testo (lyricmode) può essere terminata da uno spazio, una nuova linea o un numero. Tutti gli altri caratteri vengono considerati come parte della sillaba. Per questo motivo uno spazio o una nuova linea devono apparire prima del } finale per impedire che esso sia incluso nella sillaba finale. Analogalmente, bisogna inserire degli spazi prima e dopo la virgola o il punto, ‘.’, separando il nome del contesto dal nome dell’oggetto: altrimenti, i due nomi verranno considerati insieme e l’interprete non sarà in grado di distinguerli. Dunque il comando sarà:

\override Lyrics . LyricText #'font-shape = #'italic

Nota: Nel testo bisogna lasciare sempre uno spazio bianco tra l’ultima sillaba e la parentesi graffa che chiude il blocco.

Nota: Nelle sovrascritture (override) del testo ci devono essere sempre degli spazi intorno al punto tra il nome del contesto e quello dell’oggetto.

Vedi anche

Estendere: Scheme tutorial.


Other languages: English, česky, deutsch, español, français, 日本語, nederlands.
About automatic language selection.

LilyPond — Learning Manual