{"id":365,"date":"2013-04-02T16:18:54","date_gmt":"2013-04-02T14:18:54","guid":{"rendered":"https:\/\/alistapart.com\/it\/article\/era-dei-symbol-font\/"},"modified":"2013-04-02T16:18:54","modified_gmt":"2013-04-02T14:18:54","slug":"era-dei-symbol-font","status":"publish","type":"article","link":"https:\/\/alistapart.com\/it\/article\/era-dei-symbol-font\/","title":{"rendered":"L&#8217;era dei symbol font"},"content":{"rendered":"<div class=\"paragrafo\">\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2013\/04\/sketch2222911.png\" border=\"0\" width=\"220\" style=\"float: left;\" \/>Migliorare la performance \u00e8 un processo costante. Per prima cosa abbiamo abbandonato le tabelle, le spacer gif e il markup inline come l&#8217;elemento <code>&lt;font&gt;<\/code> in favore dei CSS, riducendo la dimensione delle pagine e separando lo stile dal layout. Poi abbiamo preso coscienza delle richieste DNS, del caching e del numero totale di files dei nostri siti, e abbiamo cominciato ad usare le sprite CSS, rimuovendo cos\u00ec molte piccole immagini dall&#8217;HTML, mettendole in una singola immagine di background.<\/p>\n<p>Adesso \u00e8 il momento di accogliere a braccia aperte la terza epoca dell&#8217;ottimizzazione della performance: i symbol font.<\/p>\n<p>Inserire un symbol font ci permette di spostare alcune di quelle piccole icone in un singolo file di font piuttosto che in una prite. Questo ha gli stessi vantaggi di caching e di dimensione del file di una sprite CSS, cos\u00ec come alcuni altri benefici che stiamo solo cominciando a realizzare con i display ad alta risoluzione. In questo articolo, vi guider\u00f2 attraverso alcuni vantaggi e problemi che incontrerete quando userete un symbol font.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Una tranquilla esperienza<\/h2>\n<p>Al crescere del numero di font progettati per essere utilizzati come icone, glifi e decorazioni, molti siti web ad alto traffico hanno sostituito tutte le immagini del proprio sito con un singolo symbol font. Uno degli esempi pi\u00f9 noti \u00e8 GitHub, che ha migliorato sia la sua velocit\u00e0 sia la user experience preferendo <a href=\"https:\/\/github.com\/blog\/1106-say-hello-to-octicons\">Octicons<\/a>, un singolo symbol font file personalizzato, a tutti i suoi file con le piccole icone.<\/p>\n<p>I symbol font scambiano le immagini raster rettangolari con immagini vettoriali pi\u00f9 &#8220;smooth&#8221; all&#8217;interno del HTML. Questo \u00e8 importante perch\u00e9 le immagini raster sono progettate per lavorare ad una specifica risoluzione, quindi a densit\u00e0 di pixel pi\u00f9 alte, come quelle che si trovano oggi nei display ad alta risoluzione, le immagini devono essere ingrandite per apparire della stessa dimensione. Questo risulta in qualcosa che d\u00e0 maggiormente l&#8217;idea di qualcosa di quadrato. I vettoriali non hanno mai questo problema, potendosi ingrandire o rimpicciolire illimitatamente per ciascuna risoluzione.<\/p>\n<p>In passato, inserire la grafica vettoriale nel HTML ha posto delle limitazioni. \u00c8 possibile usare PDF e SVG, ma creano dei problemi di interoperabilit\u00e0. I font sono vettori e tutti i browser web, perfino IE6, hanno la capacit\u00e0 di rendere i font embedded in una pagina HTML. Questa convergenza di tecnologie &#8211; l&#8217;embed di font, i display ad alta risoluzione e il supporto dei browser &#8211; ha creato una nuova opportunit\u00e0 per ottimizzare ulteriormente la performance e la user experience.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Accessibilit\u00e0<\/h2>\n<p>Quando si tratta di accessibilit\u00e0, i symbol font sono in una situazione di conflitto: funzionano male come immagini ma piuttosto bene come testo.<\/p>\n<p>Molti dei primi servizi di symbol font mappavano la grafica a una lettera nell&#8217;intervallo ASCII. Scrivere a tastiere la lettera &#8220;w&#8221; avrebbe prodotto l&#8217;immagine di un globo, la lettera &#8220;m&#8221; una busta. Questo rese semplice vedere la conversione carattere-a-simbolo semplicemente usando una tastiera. I problemi cominciano quando l&#8217;embed del font fallisce, producendo una serie di strane lettere in posti a caso senza alcun senso. Per esempio, se il vostro markup voleva mostrare una freccia e poi il testo &#8220;Next&#8221;, il vostro HTML poteva essere:<\/p>\n<pre><code>&lt;div&gt;&lt;span class=\"icon\"&gt;L&lt;\/span&gt; Next&lt;\/div&gt;<\/code><\/pre>\n<p>Ma se il CSS, il JavaScript o il caricamento del font non fossero riusciti, si sarebbe visto il carattere &#8220;L&#8221; invece che il simbolo della freccia a sinistra. Potete mettere in atto tutti i meccanismi di fallback, fare code inject con JavaScript o con <code>:before<\/code> o <code>:after<\/code> in CSS, ma alla fine, gli spider dei motori di ricerca potrebbero ancora indicizzare il testo come &#8220;L Next&#8221;.<\/p>\n<p>C&#8217;\u00e8 un modo migliore.<\/p>\n<p>Siamo maturati, abbiamo imparato pi\u00f9 cose riguardo a tali questioni e abbiamo risolto il problema usando un&#8217;area ad uso privato in <a href=\"http:\/\/en.wikipedia.org\/wiki\/Private_Use_(Unicode)\">Unicode<\/a>. I glifi in quest&#8217;area non sono connessi alla semantica di alcuna lettera dell&#8217;alfabeto: se un font non \u00e8 disponibile o non si carica, allora apparir\u00e0 semplicemente un box vuoto al posto di una lettera.<\/p>\n<p>Ma aspettate, possiamo migliorare ancora!<\/p>\n<p>I font hanno anche degli speciali caratteri chiamati &#8220;legature&#8221;: sottili, spesso difficilmente visibili, aggiustamenti alle &#8220;letterform&#8221; che vengono usate per facilitare la lettura. Prendete, ad esempio, il carattere composto da due &#8220;f&#8221; consecutive. Un buon font convertir\u00e0 quella &#8220;ff&#8221; in una singola legatura, in cui le &#8220;f&#8221; si collegheranno facilmente. Ci sono molte legature standard, che comprendono &#8220;ff&#8221;, &#8220;fl&#8221; e &#8220;fi&#8221;. Ma non c&#8217;\u00e8 motivo per cui voi non dobbiate definire le vostre. In un file di font, si tratta di una semplice sostituzione: tutto quello che cercano le legature \u00e8 la giusta sequenza di lettere. Quando le inseriamo, vengono sostituite con un altro glifo. Questo vuol dire che potete avere una stringa come &#8220;A List Apart&#8221; e convertirla in un singolo symbol icon del logo.<\/p>\n<p>I browser che non supportano il font embedding, ossia gli spider dei motori di ricerca, indicizzeranno il testo puro, cio\u00e8 quello senza legature, ma i device in grado di rendere il font e la legatura vi mostreranno invece quel bel simbolo vettoriale. \u00c8 il meglio di entrambe i mondi, preparato ad un livello molto pi\u00f9 alto di HTML e CSS.<\/p>\n<p>Una volta che avrete capito come funzionano le legature, vi si aprir\u00e0 un mondo pieno di nuove possibilit\u00e0! Tutte quelle icone misteriose usate nella navigazione potrebbero essere simboli in un font, ma oltre a ci\u00f2 potrebbero essere delle legature. Pertanto, il vostro markup potrebbe essere cos\u00ec:<\/p>\n<pre><code>&lt;ul&gt;\n\t&lt;li&gt;Home&lt;\/li&gt;\n\t&lt;li&gt;Contact&lt;\/li&gt;\n\t&lt;li&gt;About&lt;\/li&gt;\n\t&lt;li&gt;Cart&lt;\/li&gt;\n&lt;\/ul&gt;<\/code><\/pre>\n<p>Ma le legature risultanti rese a video potrebbero apparire cos\u00ec:<\/p>\n<div class=\"illustration full left\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2013\/04\/glyphs.png\" border=\"0\" width=\"100%\" \/><\/div>\n<p><a href=\"http:\/\/symbolset.com\">Symbolset<\/a> sta facendo esperimenti con le legature e i symbol font da un po&#8217; e ora vende dei pacchetti di symbol font con le icone pi\u00f9 comunemente utilizzate. Ha anche un notevole supporto per le legature e una demo in cui potete semplicemente inserire delle parole chiave e guardarle diventare un simbolo immediatamente. Non dovete stupirvi se tutto questo d\u00e0 il via a una serie di idee nella vostra mente!<\/p>\n<p>Utilizzare le legature come sostitute dei glifi ha delle applicazioni pratiche. Per esempio, il sito web di BBC News prima mostrava un <a href=\"http:\/\/www.bbc.co.uk\/blogs\/webdeveloper\/2010\/04\/good-news-the-clock-has.shtml\">orologio<\/a> nell&#8217;angolo della homepage. L&#8217;orologio avrebbe potuto usare Flash, ma sarebbe stata una scelta errata data la mancanza di supporto e l&#8217;esistenza di alternative. Un&#8217;altra opzione sarebbe stata quella di usare CSS per rotare le immagini con un po&#8217; di temporizzazione JavaScript. Al contrario, la BBC scelse HTML5, utilizzando Canvas e JavaScript per ridisegnare continuamente l&#8217;orologio.<\/p>\n<p>Ma entrambe queste soluzioni non-Flash utilizzavano le immagini raster che non sarebbero apparse troppo bene sui display ad alta risoluzione. Ci sono delle librerie JavaScript, come Raphaelis, che possono creare oggetti SVG o VML che apparirebbero belli e vettoriali, ma dal momento che vengono caricati e creati in JavaScript, risulterebbero invisibili agli spider dei motori di ricerca o ad altri browser non-JavaScript.<\/p>\n<div class=\"illustration full left\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2013\/04\/clock.png\" border=\"0\" \/><\/div>\n<p>Utilizzando un symbol font al contrario ci darebbe il meglio di entrambe i mondi: accessibilit\u00e0 e vettori. Scrivere 12:00 richiama una legatura, che verr\u00e0 convertita in un orologio con entrambe le lancette alle 12. Scrivere 12:01 richiamerebbe una differente legatura per la corrispondente configurazione dell&#8217;orologio. Sebbene ci sarebbero molte legature da creare, l&#8217;orologio risultante sarebbe una grafica vettoriale progettata in maniera fantastica e che funzionerebbe su tutte le piattaforme. In effetti, ci sono gi\u00e0 alcuni typeface orologio che fanno proprio questo: <a href=\"http:\/\/timepiece.inostudio.de\">http:\/\/timepiece.inostudio.de<\/a> ne ha svariati esempi. Coraggio, guardate il sorgente e vi renderete conto della sua semplicit\u00e0. <em>[Nota dell&#8217;Editore: abbiamo ripristinato il link a inostudio.de dopo aver saputo dal proprietario del sito che questa questione era stata gestita e dopo aver fatto il nostro controllo.]<\/em><\/p>\n<p>Pensate a tutti i piccoli dettagli di una pagina web che potrebbero diventare symbol font. Aprite la mente alle possibilit\u00e0. Qualunque cosa a partire dai punti elenco e dalle frecce per arrivare ai feed e alle icone dei social media potrebbe essere inserita in un singolo e piccolo font file che pu\u00f2 essere messo in cache e reso a varie dimensioni senza il bisogno di avere pi\u00f9 immagini o pi\u00f9 colori.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Creare il proprio symbol font<\/h2>\n<p>I web developer e designer si sono fatti le ossa su applicazioni come Photoshop, Fireworks e altre. Per noi, passare alle sprite CSS o alle immagini di background non \u00e8 stato un gran problema perch\u00e9 i tool non erano cambiati. Con i symbol font, entra in gioco un nuovo programma: il font editor. Si tratta di un nuovo mostro da conoscere, ma non \u00e8 cos\u00ec difficile.<\/p>\n<p>Ancora meglio, stanno uscendo molti tool che aiutano nella creazione di symbol font. Per esempio, <a href=\"http:\/\/icomoon.io\/\">Icomoon<\/a> vi permette di caricare i vostri file SVG, mapparli ai caratteri unicode ed esportare un font per l&#8217;uso online.<\/p>\n<p>Come si fa se si vuole essere pi\u00f9 specifici e modificare leggermente il design oltre i display di default? Ci sono molti tool a disposizione per crearsi il proprio font. Alcuni sono a pagamento, sono app professionali, ma il pi\u00f9 comune tool gratuito \u00e8 <a href=\"http:\/\/fontforge.org\/\">FontForge<\/a>. \u00c8 un po&#8217; scomodo, ma ci sono molti tutorial in giro per aiutarvi ad usarlo.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Problemi con i font<\/h2>\n<p>Come ogni bravo designer vi dir\u00e0, un&#8217;icona o un logo avr\u00e0 dei design leggermente diversi per diverse dimensioni, come il cambiamento dello spessore del tratto o addirittura l&#8217;eliminazione di alcuni dei suoi dettagli alle dimensioni pi\u00f9 piccole. Tuttavia, con un symbol font, non si possono avere design alternativi per diversi font size. Il vostro design a 20 punti sar\u00e0 lo stesso a 120 punti o a 6 punti.<\/p>\n<p>Se volete design diversi per differenti dimensioni del font, allora dovete duplicare l&#8217;icona nel file del font e selezionare il glifo appropriato a seconda dell&#8217;uso. Anche questo \u00e8 problematico, perch\u00e9 non avete idea del modo in cui l&#8217;utente finale visualizzer\u00e0 effettivamente il vostro design. Aumentare la dimensione del font nel browser in maniera nativa non cambier\u00e0 il vostro design del simbolo. Per la maggior parte di noi, questo non \u00e8 un problema, dal momento che molte delle icone che usiamo oggi per i feed e i social network scalano piuttosto bene.<\/p>\n<p>L&#8217;altro grande problema con l&#8217;utilizzo dei symbol font \u00e8 che si ha solo un colore. Potete aggiungere un po&#8217; di magia con i colori di background e i gradienti per i font per emulare un logo a due colori, ma se le vostre icone hanno pi\u00f9 colori, allora il setup attuale del symbol font non funzioner\u00e0 per voi.<\/p>\n<p>Per rimediare a questo, Apple sta proponendo i font multicolore, che dovrebbero permettere di creare e inserire grafiche puramente vettoriali in qualsiasi pagina web. La prima incursione in questo campo \u00e8 il font <a href=\"http:\/\/en.wikipedia.org\/wiki\/Apple_Color_Emoji\">Apple Color Emoji<\/a>, che potreste gi\u00e0 avere sulla vostra macchina se usate OSX Lion. Lo svantaggio dell&#8217;introduzione di un nuovo formato di font \u00e8 la mancanza di supporto per il browser e di tool necessari per la creazione di font, il che vuol dire che potrebbe volerci un po&#8217; prima che diventino una realt\u00e0.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Benvenuti in una nuova era<\/h2>\n<p>I symbol font solo il prossimo passo in avanti nella progettazione e nell&#8217;ottimizzazione dei siti web e dovete comprenderli per lavorarci da subito sul web. Con la pratica, potrete creare i vostri symbol font con loghi, icone e branding da inserire nei vostri siti web. Non solo questi piccoli extra stupiscono il vostro audience, ma nel contempo ottimizzano anche la performance del vostro sito web. \u00c8 ora di cominciare ad usare i symbol font e contribuire a migliorare gli strumenti, gli standard e le tecniche per crearli.<\/p>\n<p>Illustrazioni: {carlok}<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Benvenuti nella terza era dell&#8217;ottimizzazione della performance web: i symbol font. Qualsiasi cosa, i punti elenco e le frecce, le icone per i feed per i social media, possono ora essere raggruppate in un singolo piccolo file di font che pu\u00f2 essere messo in cache e reso a diverse dimensioni senza la necessit\u00e0 di avere pi\u00f9 immagini o colori. Si tratta di un file con gli stessi benefici di caching e di dimensioni di una sprite CSS, con in pi\u00f9 i vantaggi che stiamo solo cominciando a realizzare con i display ad alta risoluzione. Scopriamo i vantaggi ed esploriamo le sfide che si incontrano quando si usano i symbol font.<\/p>\n","protected":false},"author":818,"featured_media":7000693,"comment_status":"open","ping_status":"open","template":"","categories":[258,88,275],"tags":[],"coauthors":[305],"class_list":["post-365","article","type-article","status-publish","has-post-thumbnail","hentry","category-graphic-design","category-numero-71-2-aprile-2013","category-tipografia-web-font"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article\/365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/users\/818"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/comments?post=365"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media\/7000693"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media?parent=365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/categories?post=365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/tags?post=365"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/coauthors?post=365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}