Guida alla Notazione di LilyPond: 5.2.2 Interfacce di formattazione

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

#### LilyPond — Guida alla Notazione v2.24.4 (ramo stabile).