5.2.2 Interfacce di formattazione
La pagina HTML che abbiamo incontrato nella sezione precedente descrive l’oggetto di formattazione chiamato Fingering. Tale oggetto è un simbolo interno alla partitura. Ha delle proprietà che contengono numeri (come gli spessori e le direzioni), ma anche collegamenti a oggetti correlati. Un oggetto di formattazione viene chiamato anche Grob, che è un diminutivo di Graphical Object (oggetto grafico). Maggiori dettagli sui Grob si trovano in grob-interface.
La pagina relativa al grob Fingering elenca le definizioni per l’oggetto
Fingering. Per esempio, la pagina dice
padding(dimension, in staff space):
0.5
che significa che il numero verrà tenuto a una distanza di almento 0.5 spazi rigo dalla testa della nota.
Ogni oggetto di formattazione può avere varie funzioni come elemento della notazione o tipografico. Per esempio, l’oggetto Fingering ha i seguenti aspetti
- La sua dimensione è indipendente dalla spaziatura orizzontale, diversamente da legature di portamento o travature.
- È un frammento testuale, solitamente molto breve.
- Questo frammento di testo viene rappresentato con un tipo di carattere, diversamente da legature di portamento o travature.
- Orizzontalmente, il centro del simbolo deve essere allineato al centro della testa della nota.
- Verticalmente, il simbolo viene posto accanto alla nota e sul rigo.
- La posizione verticale viene coordinata anche con altri simboli di apici o pedici.
Ognuno di questi aspetti viene registrato nelle cosiddette interfacce (interface), che sono elencate in fondo alla pagina Fingering:
This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.
Facendo clic su uno di questo collegamenti si arriva alla pagina dell’interfaccia del rispettivo oggetto. Ogni interfaccia ha una serie di proprietà. Alcune non sono a disposizione dell’utente (‘Internal properties’), ma altre possono essere modificate.
Abbiamo parlato dell’oggetto Fingering, ma in realtà non si tratta
di niente di troppo complesso. Il file di inizializzazione (vedi
Altre fonti di informazione)
‘scm/define-grobs.scm’ mostra l’anima di questo “oggetto”,
(Fingering
. ((padding . 0.5)
(avoid-slur . around)
(slur-padding . 0.2)
(staff-padding . 0.5)
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
(stencil . ,ly:text-interface::print)
(direction . ,ly:script-interface::calc-direction)
(font-encoding . fetaText)
(font-size . -5) ; don't overlap when next to heads.
(meta . ((class . Item)
(interfaces . (finger-interface
font-interface
text-script-interface
text-interface
side-position-interface
self-alignment-interface
item-interface))))))
Come si può vedere, l’oggetto Fingering non è niente più di un insieme
di impostazioni di variabili e la pagina web nella Guida al funzionamento interno
è generata direttamente da questa definizione.