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

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.


Guida alla Notazione di LilyPond v2.25.21 (ramo di sviluppo).