Archivi tag: font

Set di icone monocromatiche? Praticamente un font…

inkscape-icon

Purtroppo è da parecchio che non sto più tanto dietro allo sviluppo web, e quindi alcune “novità” tendono ad arrivarmi tardi (leggero eufemismo). La tendenza di usare icone monocromatiche su applicazioni web non è cosa recente, e la somiglianza tra la lettera di un font e un’icona monocromatica è stata notata da tempo, tanto che almeno dal 2010 c’è chi ha avuto l’idea di realizzare “font di icone” per utilizzarle come “icone vettoriali” sul web.
A me questa cosa è arrivata soltanto cinque o sei mesi fa quando mi è stato mostrato Font-Awesome. Mea culpa.

Set di font come se piovesse

Non è mai facile stabilire se sia nato prima l’uovo o la gallina, di certo c’è che le icone sono sempre più monocromatiche, e di set di font con icone di ogni genere ce ne sono ormai una marea. Purtroppo regala’ è morto, e l’utilizzo della maggior parte di questi pacchetti impone il pagamento di licenze o l’inserimento degli autori nei credits/ringraziamenti, a meno di non utilizzare quei set rilasciati con licenza Creative commons che sono originali come l’acqua calda.

Font custom, Inkscape e Icomoon

Tra gli strumenti per realizzare immagini vettoriali uno dei più usati è Inkscape (gratuito e open-source), ma non tutti sanno che in Inkscape è presente anche un editor di font con cui è possibile “raggruppare” dei glifi assegnando a ciascuno un “carattere”, realizzando di fatto un font.
Qui una bella guida sul tema, mentre qui si può trovare un progetto Github con risorse utili per crearsi i propri font.
inkscape-font-editor

Ricapitolando: con Inkscape – partendo da immagini vettoriali – si può arrivare a creare un “font svg” convertibile poi in TrueType (ttf) tramite strumenti esterni. E se non si ha voglia di fare tutti questi passaggi? Come è logico aspettarsi ci sono delle alternative.
Una strada è quella di installarsi un editor di font come FontForge, importarsi i propri glifi svg (opportunamente modificati), e crearsi il font a mano.
Strada più semplice è quella di rivolgersi a un servizio online. Ne ho provati alcuni (tra cui Fontastic), e alla fine l’unico che mi ha sempre importato gli svg e esportato i font correttamente senza distorsioni o ridimensionamenti strani è stato IcoMoon.
icomoon
IcoMoon è di una semplicità disarmante: si selezionano delle icone prese da librerie gratuite/a pagamento messe a disposizione dal sito o tra quelle importate da noi stessi e le si esportano in un pacchetto contenente il font in vari formati più tutte le risorse utili, con possibilità di configurarne anche i codici/nomi delle classi css e adattarne le dimensioni.

“Icone vettoriali” in Titanium

Veniamo alle origini di quest’articolo, visto che come dicevo all’inizio lo sviluppo web purtroppo l’ho abbandonato da un po’ di tempo.
Nel mondo dello sviluppo mobile un problema piuttosto sentito è quello della preparazione di icone e immagini alle varie risoluzioni per una buona resa su tutti i dispositivi che si ha intenzione di gestire. Il problema è ancora più marcato nello sviluppo multipiattaforma perché android e ios (per dirne due) seguono convenzioni dei nomi che non c’entrano niente l’una con l’altra, oltre a girare su dispositivi che gestiscono risoluzioni diverse.
Da un’esigenza nasce (quasi) sempre una soluzione, e in Titanium una parziale soluzione l’ha proposta uno degli sviluppatori di riferimento per questa piattaforma – Fokke Zandbergen – che ha dato alla luce TiCons.
Con TiCons si possono generare le icone dell’app e gli splash screens per tutti i dispositivi, ma la gestione delle immagini usate “all’interno” dell’app resta responsabilità nostra. Per far questo bisogna solitamente ingegnarsi con ImageMagick, che permette di fare velocemente elaborazioni anche complesse a grosse quantità di immagini tramite scripts. Questa cosa però è noiosa e così spesso si finisce per usare immagini con risoluzioni non adatte.

In una delle applicazioni di esempio corporate-directory si vede come sia possibile utilizzare “icone vettoriali” al posto di quelle raster semplicemente aggiungendo il nostro “font contenente le icone” all’interno della directory app/assets/fonts, impostando la proprietà font.fontFamily uguale al nome del font che abbiamo aggiunto e settando la proprietà testuale (es: “text” per le Label o “value” per i TextField) uguale al codice del carattere che rappresenta la nostra icona… più difficile a dirsi che a farsi, basta guardare l’esempio.

Un "esempio riepilogativo" con tutti i pezzi

Un “esempio riepilogativo” con tutti i pezzi

Gli effetti positivi di questa soluzione sono evidenti:

  • miglior renderizzazione delle immagini
  • minor dimensione delle applicazioni
  • possibilità di modificare dimensioni e colori delle icone velocemente e anche a runtime
  • nessun problema in caso di installazione su dispositivi non previsti inizialmente
  • possibilità di cambiare tutto il set di icone anche a runtime semplicemente modificando il nome del font in una classe tss
  • probabilmente ce ne saranno altri che non mi vengono

Un limite è che questa cosa si può fare solo su quel tipo di componenti dove il font (e quindi il font-family) è modificabile, questo significa che per i Tab e forse anche altrove purtroppo bisogna continuare a usare delle immagini raster.

Imparata questa tecnica mi è venuta voglia di usarla dappertutto… non appena sbatterò il muso da qualche parte aggiornerò quest’articolo, per il momento mi godo tutti i punti di cui sopra.

Fondamenti di tipografia

Il mese scorso – approfittando di un abbonamento a prezzo di favore – mi sono fatto una scorpacciata di corsi sul veramente ben fatto CodeSchool, recente piattaforma di apprendimento online orientata alle tecnologie per lo sviluppo web. Quel Code sul nome del sito dovrebbe chiarire le finalità principali del sito, ma i fondatori non hanno mancato di offrire anche qualche nozione di design, perché è noto che la stragrande maggioranza di noi programmatori non è molto sensibile a queste tematiche (per usare un eufemismo).
Ecco quindi che – consapevole della mia carenza nella capacità di abbellimento del prodotto – ho completato anche il corso Fundamentals of design. Il primo livello, che può essere svolto anche senza abbonamento, parla di tipografia. Se avete un’oretta vi consiglio di registrarvi e completarlo, e poi magari date anche una guardata al resto dell’offerta perché è veramente di alta qualità.

Grazie o non grazie

Lasciando da parte i font di tipo Script, che simulano la scrittura in corsivo e dovrebbero essere usati con parsimonia (o meglio mai… odio il corsivo), il principale carattere distintivo di un font è la presenza o meno delle “grazie”.
La differenza tra caratteri serif e sans-serif è o dovrebbe essere nota a tutti: i serif (“grazie” in italiano) sono quegli abbellimenti stilistici che alcuni caratteri (quelli appartenenti alla famiglia dei font serif) hanno nelle parti terminali delle lettere, mentre i sans-serif ne sono sprovvisti.

Font “serif”, le grazie sono evidenziate in rosso


Font “sans-serif”

Classificazioni

Qui il discorso si fa più complicato, ma conviene comunque fare un po’ di chiarezza perché per avere “armonia tipografica” è importante scegliere e combinare i font in base alle loro caratteristiche.
CodeSchool, Wikipedia e I Love Typography raggruppano i font con criteri simili ma non proprio uguali, quindi cercherò di fare una breve sintesi, di spiegare un po’ la terminologia, e poi sarà compito di ciascuno approfondire.
La fonte più interessante e completa che ho trovato in rete è questa serie di articoli:
History of typography: Humanist
History of typography: Old Style
History of typography: Transitional
A brief history of type: Modern/Didone
A brief history of type: Slab Serif/Egyptian

I love typography segue un percorso “storico” della tipografia e suggerisce una classificazione basata sul tempo: l’antico e illeggibile Blackletter, i più leggeri Humanist, e da qui il passaggio ai più recenti e “squadrati” Modern e Slab Serif passando per gli Old Style e Transitional. Tutte queste classificazioni ricadono però nella tipologia dei Serif, e a lettere il primo articolo della serie sembrerebbe che i Sans-Serif vengano dopo e facciano classificazione a parte. In realtà ciascuna di queste classificazioni è definita da particolari caratteristiche, caratteristiche che possono essere traslate anche nella “macro-classificazione” dei Sans-Serif. Ecco quindi che forse è più corretto classificare i font in modo un po’ più gerarchico:

  • Serif
    • Humanist
    • Old Style
    • Transitional
    • Modern
    • Slab Serif
  • Sans-Serif

    • Humanist
    • Transitional
    • Geometric
  • Script

Humanist e Old Style

I font Humanist sono caratterizzati dalla lettere “o” ed “e” minuscole molto inclinate, dal corpo dei caratteri minuscoli piuttosto basso, dalla poca differenza tra i tratti più sottili e quelli più spessi (caratteristica ben visibile sulle “A” maiuscole), da serif piuttosto inclinati.

Eleganza un po' retrò

Eleganza un po’ retrò


Gli Humanist di tipo serif sono i più “classici” tra i font, e sembrerebbero maggiormente indicati nei settori accademici e legali. Quelli Sans-Serif sono consigliati invece in ambiti educativi e governativi.

Transitional

Con i Transitional si fa un bel balzo in avanti rispetto agli Humanist, e in questa famiglia si possono facilmente notare il generale “raddrizzamento” dei caratteri e delle linee (vedi la “o” minuscola), il grande contrasto tra linee sottili e spesse (vedi la “M” maiuscola) e un “livellamento” dei serif.

Tratti distintivi dei font Transitional

Tratti distintivi dei font Transitional


I Transitional rappresentano un mondo moderno, e sono consigliati nel giornalismo (Serif) e nel mondo della tecnologia (Sans-Serif).

Geometric

I Geometric hanno senso soltanto nel mondo dei Sans-Serif, perché estremamente “severi” e minimali. Come si può vedere ogni qualvolta la lettera (minuscola o maiuscola) può essere approssimata a una forma geometrica (cerchio, triangolo, quadrato) questa caratteristica viene enfatizzata.

La "geometricità" dei font geometrici

La “geometricità” dei font geometrici


Consigliati nel mondo delle scienze.

Modern

Naturali successori dei (serif)font Transitional sono i Modern, caratteri in cui le linee orizzontali e verticali sono portate all’estremo, sia nelle lettere che nelle grazie, e i caratteri tendono ad essere “stirati” in verticale.

Ortogonalità portata all'estremo

Ortogonalità portata all’estremo


Sono considerati i più eleganti tra i font, e di solito utilizzati nel mondo dell’arte e della moda.

Slab Serif

Figli della rivoluzione industriale questa è la classe di font più “grassa”: i tratti eleganti e sottili dei Modern e dei Transitional lasciano il posto a linee spesse sempre e comunque, con grazie non più così “aggraziate”.

Il font dell'abbondanza

Il font dell’abbondanza


Sono considerati adatti al mondo del marketing, forse per la loro opulenza.

Come sceglierli

A dispetto del detto “Non è bello ciò che è bello ma è bello ciò che piace” da sempre gli esperti del bello ci dicono cosa va con cosa, e nel mondo della tipografia non si fa eccezione.

Bello o non bello

Bello o non bello


Gli esperti forniscono quindi delle linee guida che è meglio seguire per evitare che le diverse sezioni del nostro sito o della nostra applicazione si lascino dopo qualche mese e per scongiurare spiacevoli risatine alle spalle:

  • se non si è designer esperti meglio evitare di mescolare diverse classi di font, perché un solo font usato bene è più che sufficiente per ottenere un bel risultato in ogni prodotto
  • per diversificare lo stile dei font, se ne possono usare diversi per diversi scopi (testata, corpo, menù, …) evitare miscugli all’interno della stessa sezione
  • mai usare due font con lo stesso stile (ad esempio due diversi Humanist Serif)
  • evitare di accostare due font della stessa classe (due font Serif per esempio), meglio dei contrasti più netti
  • utilizzare due font con stile simile ma diversa classe può dare un bell’effetto (ad esempio un Humanist Serif e un Humanist Sans-Serif)

Regola aurea: armonia totale o forte contrasto, meglio evitare spiacevoli casi intermedi.