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.