Tarin Gamberini

A software engineer and a passionate java programmer

Scegli il tuo font oppure lui sceglierà te

La settimana scorsa, un mio collega si è seduto alla mia postazione di lavoro per insegnarmi come risolvere un problema che aveva avuto nell'utilizzare una (non molto intuitiva) interfaccia client. Era divertito dall'aspetto dei caratteri nella mio IDE e trovava divertente che avessi scelto il font Dejavu Sans Mono per scrivere programmi.

Penso che ogni programmatore avrebbe dovuto pensare a quale font utilizzare, almeno una volta nella propria vita professionale, sia per essere più produttivo, sia per ridurre errori di lettura, e anche per alleviare l'affaticamento degli occhi.

Interferenza emotiva

Se non avete mai pensato a quale font utilizzare per programmare, è probabile che stiate usando il font di default fornito dal vostro editor di testo o IDE preferito. Ecco cosa intendo con:

se non scegli il tuo font, sarà lui a scegliere te

Perciò considerate come vi sentite pensando al vostro editor preferito, e pensate che tale sensazione potrebbe essere ancora migliore se faceste una scelta deliberata riguardo al font che userete in futuro. Non permettete che le vostre emozioni riguardo al vostro editor preferito vi facciano pensare che scegliere un font sia una cosa di poca importanza. Alla fine potreste comunque preferire il font di default, ma in tal caso lo avreste scelto voi.

La prima volta che ho realizzato che i sistemi operativi basati su finestre stavano rallentando la mia produttività ho iniziato ad usare la finestra del terminale. Inizialmente ho impostato un font verde su sfondo nero perché mi faceva sentire come un hacker vecchia scuola :-) Ma non è passato molto tempo prima che abbandonassi questa sensazione piacevole, perché ho realizzato che una colorazione basata sulla sintassi mi avrebbe fatto diventare ancora più produttivo.

Perciò, concedetevi qualche istante per scegliervi un font, oppure lui sceglierà te.

Progettato per la programmazione

Alcuni font sono ben leggibili, il che li rende preferibili per uno scrittore. Altri sono leggibili e specificatamente progettati per la programmazione, perciò vi consentono di distinguere molto bene caratteri simili, come alcuni tondeggianti:

il numero zero    0
o maiuscola       O
O minuscola       o

alcuni caratteri affilati:

il numero uno     1
L minuscola       l
i maiuscola       I
pipe              |
punto esclamativo !

o alcuni caratteri quali:

singolo apice     '
back thick        `
due singoli apici ''
doppio apice      "

o quali:

punto di domanda  ?
il numero sette   7

Inoltre, alcune lettere sono chiaramente differenti se rappresentate in maiuscolo o in minuscolo, come a A, ma altre lettere sono molto simili perciò dovrebbero essere, di nuovo, ben distinguibili:

c C   k K   m M   o O   s S   u U   v V   w W   x X   w W  z Z

Normalmente i programmi sono scritti usando caratteri a larghezza fissa, perché questo permette di indentare il testo in modo da rappresentare meglio la struttura del codice. Per evidenziare strutture in blocco si usano parentesi di ogni tipo, e dovreste scegliere un font che vi permetta di allineare elegantemente le parentesi con gli altri caratteri:

() [] {} <>

Scalabilità

Un font è rappresentato da un file che contiene un insieme di glifi: numeri, caratteri, simboli. Tale file archivia i dati principalmente in tre formati:

  • i font bitmap consistono di una matrice di punti o pixel che rappresentano l'immagine di ciascun glifo per ogni tipo di carattere e dimensione
  • i font outline (anche chiamati font vettoriali) usano curve di Bézier, istruzioni di disegno e formule matematiche per descrivere ogni glifo
  • i font stroke che usano una serie di linee specifiche e informazioni aggiuntive per definire il profilo

I font outline e stroke scalano bene ad ogni dimensione, ma richiedono elaborazioni ulteriori per essere renderizzati. D'altra parte i font bitmap sono renderizzati molto velocemente, ma potrebbero non scalare sempre bene.

Nei computer e nei sistemi operativi moderni la potenza di elaborazione non è più un problema, perciò i font outline sono ampiamente diffusi ed adottati. Inoltre tecniche quali l'anti-aliasing hanno reso possibile una buona visualizzazione dei caratteri a larghezza fissa quasi ad ogni dimensione, ma si potrebbe percepire qualche problema alle dimensioni più piccole.

Alcune famiglie di font sono progettate per essere usate sui piccoli schermi dei dispositivi mobili, altre sono ottimizzate per i video moderni ed impiegate nella applicazione e nel web.

Perciò, quando scegliete il vostro font pensate a dove lo userete:

  • finestre di editing per scrivere testi e programmi
  • finestre di editing con divise verticalmente (potreste preferire font più stretti)
  • finestre di terminale per visualizzare log (potreste preferire dimensioni ridotte, o bitmap, per uno scorrimento più veloce)
  • in un ambiente desktop
  • in un ambiente mobile

Altre questioni minori

Ci sono alcune altre questioni che potrebbe interessarvi esplorare, per poter trovare il vostro font preferito.

Aspetto Grassetto o Corsivo

Alcuni editor di testo sono in grado di riconoscere il formato del testo che state scrivendo, migliorando la leggibilità con l'applicazione di colorazione e aspetto basati sulla sintassi. Ad esempio i caratteri possono apparire in grassetto o in corsivo.

Sperimentate scrivendo un semplice file markdown e prestate attenzione a come sono resi i caratteri a seconda di come cambiate il font.

Spaziatura

La spaziatura orizzontale tra caratteri consecutivi e la spaziatura verticale tra righe consecutive influenzano a loro volta la leggibilità. Perciò provate vari font e scegliete quello che preferite.

Sistema operativo

I font più popolari non sono disponibili su tutti i sistemi operativi. Perciò se lavoraste su più sistemi operativi dovreste scegliere un font disponibile per tali sistemi operativi, o dovreste trovare un modo per installare il font nel sistema operativo in cui manca.

Supporto ad Unicode

Non tutti i font hanno gli stessi simboli. Alcuni font supportano molto bene Unicode, altri lo supportano solo per pochi simboli. Per avere un'idea della copertura nei vari font, date uno sguardo a:

(Per favore, come programmatori dovreste usare UTF-8 ovunque).

Licenza

Un font è una tipologia di software. Perciò, come spesso accade con il software, una licenza lo accompagna. Una licenza relativa ad un font potrebbe regolamentare il modo in cui esso può essere usato (renderizzato su schermo o su stampante), modificato (è necessario il codice sorgente), incluso come parte di un software più esteso (incluso in un PDF), ecc…

Solitamente la licenza di un font non costituisce un problema quando un programmatore è interessato solamente a leggere caratteri su uno schermo o su un foglio stampato. Al contrario, una licenza di un font è più importante se lavorate come graphic designer.

Ad ogni modo, dare un'occhiata al tipo di licenza (proprietaria, libera, open-source, creative commons, ecc…), senza addentrarsi in questioni legali, ci rende più consapevoli del software che stiamo usando.

Scegli il tuo font

Ora è tempo di scegliere il vostro font preferito!

Esplorate Internet alla ricerca di esempi di font: molto è stato (e sarà) scritto riguardo ai migliori font per programmare.

2 Commenti a “Scegli il tuo font oppure lui sceglierà te”

Postato da Tarin Gamberini # Tarin Gamberini

Ciao Marco,

Il libro non lo conoscevo e ti ringrazio veramente molto per avermelo consigliato, mo lo segno.

Ciao,
Tarin

Invia un commento

Un commento è inviato attraverso una normalissima e-mail. Il tuo indirizzo e-mail non sarà pubblicato o diffuso.

Questo blog è moderato, per cui alcuni commenti potrebbero non essere pubblicati. I commenti sono solitamente approvati dal moderatore in uno/tre giorni.