Il formato Ufo

Unified Font Object (Ufo) è un formato per immagazzinare i dati dei font. A quanto ho capito non si tratterebbe di un formato utilizzabile dalle applicazioni, ma solo di un modo per memorizzare i dati mentre si disegna, e per passare le informazioni da un software di disegno all’altro.
È qualcosa di mai sentito prima, almeno dal grande pubblico, ma FontForge permette di esportare il file in questo formato, al momento in cui si va a creare il font a partire dal progetto: quando si clicca su “Crea i font” e si deve scegliere tra Ps Type 1, TrueType, OpenType, Svg eccetera, c’è anche l’opzione Unified Font Object.
La cosa strana è che il risultato dell’operazione non è un solo file, ma una cartella di file, con una sottocartella in cui le singole lettere sono immagazzinate separatamente. E non c’è solo questo: aprendo il file di ciascuna lettera con Blocco Note, quello che viene fuori è comprensibile dall’essere umano perché non si tratta di dati binari. Tutte le misurazioni dei punti di controllo delle linee di contorno sono inserite in una struttura xml. L’intestazione fornisce fornisce versione ed encoding. Poi c’è il nome del glifo e il formato; la larghezza, il codice Unicode e infine le coordinate di tutti i punti delle varie linee, contorno per contorno. Ciascuno introdotto e concluso dall’apposito tag.

Il contenuto di un file contenente due contorni di una A sommariamente disegnata, aperto con un editor di testi. Le informazioni sono visibili anche aprendolo con Blocco Note, ma in quel caso vengono mostrate tutte sulla stessa riga e non si può apprezzare il modo in cui sono state divise e indentate automaticamente da FontForge. Inserire un punto o un contorno manualmente nel testo, o alterare i numeri in questa visualizzazione andrà poi ad influire nel disegno che verrà visualizzato riaprendo l'intero font con FontForge.

Così come può salvare la cartella contenente tutti i file, FontForge è anche in grado ci caricarla. Aprendola, sul tabellone compaiono soltanto le lettere che uno ha già disegnato. Per ripristinare il tabellone completo bisogna cliccare su Encoding e poi su Reencode e scegliere lo standard desiderato.
L’idea di salvare i dati di un font in maniera leggibile dall’essere umano non è certo inedita. I file in formato .sfd, quello in cui vengono salvati automaticamente tutti i progetti di FontForge, possono essere aperti con un editor di testo e sono comprensibili ad un programmatore. Solo che la struttura è più complessa, il formato non è multipiattaforma, e soprattutto i dati di tutte le lettere sono salvati all’interno di un unico file anziché separatamente.

Gli stessi dati relativi alla stessa lettera vista in precedenza, ma visualizzati all'interno di un file .sfd, ovvero un normale progetto realizzato con FontForge e poi aperto in un editor di testi. Si nota una sintassi più macchinosa, come per esempio le coordinate del punto (242,471) ripetute due volte per poter chiudere il contorno. Inoltre per arrivare a questi dati bisogna cercare all'interno del lungo testo contenente le informazioni di tutte le lettere, messe non in ordine alfabetico ma nell'ordine in cui sono state disegnate. Nel formato Ufo invece ogni lettera è un file a sé, rapidamente accessibile e riordinabile secondo criteri diversi (nome, data, dimensione...).

Commenti

Post più popolari