Legature e programmazione

Nel Fira Code sono disponibili delle legature specifiche che possono essere utili ai programmatori, che scattano in automatico quando c'è una sequenza di caratteri che può assumere un particolare significato. Visto che la sequenza != significa diverso da, viene sostituita dal simbolo matematico della diversità, ossia un uguale sbarrato in obliquo. Oppure il trattino seguito dal simbolo maggiore di, ->,  viene sostituito da una freccia che punta a destra. 

L'autore del sito Practical Typography, Matthew Butterick, è anche disegnatore di font, e ha realizzato un monospace chiamato Triplicate, ma si è sempre rifiutato di inserirci legature del genere, anche se gliele hanno chieste. 

Questo perché, ha spiegato, legature del genere sono "stupide", scattano anche quando non dovrebbero scattare, e rischiano di creare delle ambiguità e di stravolgere il significato di quello che c'è nel codice. Un software è in grado di riconoscere se nel testo c'è il carattere Unicode corrispondente alla freccetta o la sequenza ->, ma un lettore umano no. E può essere che nel testo ci si riferiva ai due segni separatamente, non al segno sostitutivo.

Ad esempio, dovendo visualizzare una sequenza di caratteri in cui compaiono di seguito i segni !=, questi verrebbero in automatico fusi nel simbolo della disuguaglianza anche se in quel caso non si riferiscono a quel concetto. E non ci sarebbe modo di disattivare questa funzionalità solo in quel caso. 

Insomma, non solo Butterick si rifiuta di aggiungere questa funzionalità al suo font, ma sconsiglia l'uso di font che la includono, per evitare equivoci. 

Segnala anche un problema simile che riguarda le virgolette o gli apostrofi. Scrivendo in Word, l'apostrofo indifferenziato viene sostituito con quello ricurvo, che piega verso sinistra se non preceduto da uno spazio, altrimenti piega a destra. Ma anche questa è una cosa che può creare delle ambiguità, in quei linguaggi di programmazione che accettano input UTF-8 anziché solo ASCII. 

Il Fira Code è un font che può essere scaricato gratuitamente da Google Fonts. E nell'anteprima disponibile sul sito è possibile vedere come esegue in automatico le sostituzioni. In alcuni casi i segni che fanno parte della sequenza vengono soltanto incorporati in un unico glifo, in altri casi vengono sostituiti da un segno diverso. 

Ad esempio digitando ?= l'uguale viene avvicinato e adattato al punto interrogativo, con l'estremità di sinistra del trattino superiore che segue la curvatura del tratto che lo precede. 

Dice Butterick che lo scopo delle legature di solito non dovrebbe essere quello di attirare l'attenzione su sé stesse, ma semplicemente di risolvere le eventuali collisioni che potrebbero esserci tra glifi diversi.

Nessun problema quando si creano legature che coinvolgono la lettera f, notoriamente un po' problematica, mentre già la legatura Th gli dà fastidio perché non sarebbe necessaria. Eppure è attivata di default in molti font Adobe.

Tra le varie legature incluse nel Fira Code c'è anche quella tra tre w, che si usa negli indirizzi web: le tre lettere vengono fuse insieme in un unico glifo zigzagante. 

Commenti

Post più popolari