Cell. +39 3479684755
Il Blog di Instant Websites
Guida all’uso di font non di sistema con la proprietà @font-face
Una delle novità più interessanti introdotte con i CSS3 è costituita dalla proprietà @font-face, tramite la quale è possibile caricare nel browser dell’utente che visualizza il nostro sito un font non di sistema, vale a dire non pre-esistente nel suo PC o Mac.
Prima di analizzare come procedere, è opportuno dare qualche indicazione di base:
1) evitiamo di trasformare le pagine web in … guazzabugli di caratteri di ogni tipo e specie.
Ciò per salvaguardare la leggibilità dei contenuti, nonché il buon gusto!
2) ogni font aggiuntivo comporta il caricamento di un file, quindi richiede qualche istante (soprattutto in Internet Explorer).
Occorre stare attenti a non usare font troppo pesanti e a non caricarne troppi nella stessa pagina.
3) è indispensabile testare la resa del carattere nei diversi browser, anche rispetto alle dimensioni.
Questo passo è fondamentale anche se si usa un foglio di stile di reset che uniforma la risposta dei browser alle dimensioni, appunto, del font.
4) bisogna prevedere sempre un’alternativa di tipo standard, per i browser meno recenti che non supportano la proprietà font-face ed in generale, se qualcosa va storto.
Occorre inoltre controllare che le dimensioni del font alternativo siano compatibili con quelle del font principale.
Posti questi principi di base, vediamo dunque due modi per procedere:
LA PROPRIETA’ fontface: USO DI FONT NON STANDARD NELLE PAGINE WEB
Una delle limitazioni tecniche più stringenti avvertite, diciamo pure sofferte, dagli sviluppatori web è sempre stata quella di dover usare solo i font c.d. di sistema, cioè quelli presenti su qualsiasi sistema operativo Windows o Mac all’uscita dalla fabbrica (elencati in questa pagina: http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html con le rispettive denominazioni).
L’impiego di un set di caratteri diverso da quelli standard avrebbe quasi inevitabilmente comportato la mancata visualizzazione da parte della maggior parte degli utenti, tutti quelli senza il set stesso installato nel proprio computer, pur tenendo conto della possibilità di specificare più alternative nel dichiarare la proprietà font-family nel foglio CSS e quindi di controllare la degradazione.
Una delle novità che saranno introdotte nei CSS3 è costituita dalla proprietà fontface, già da ora supportata da tutti i browser in circolazione e persino – udite! udite! – da Internet Explorer versioni 4 e successive.
Tramite questa proprietà è in pratica possibile usare qualsiasi font non di sistema, caricando sul server il relativo file nei vari formati gestiti e determinandone il caricamento nel browser dell’utente.
La complicazione è determinata dal fatto che, oltre al noto formato TrueType (TTF), bisogna renderne disponibili altri e cioè: Web Open Font Format (WOFF), Microsoft (EOT) e Mobile Safari (SVG).
Esiste però un servizio online gratuito sul sito Font Squirrel che consente di creare un kit di questi formati partendo da un proprio font TrueType, ovvero di scaricarne uno basato su un carattere freeware e liberamente utilizzabile, anche per scopi commerciali.
Già perché bisogna fare bene attenzione al fatto che l’utilizzo di un dato font per il web non sempre è libero: il fatto cioè che tale font sia fornito insieme ad un software, ad esempio, deriva dal pagamento di licenze dello sviluppatore che non prevedono un riutilizzo per applicazioni commerciali. Occhio dunque alla licenza che accompagna ogni font!
La prassi è dunque questa:
– scegliere un certo font TrueType ed accertarsi della possibilità di poterlo utilizzare liberamente, ovvero pagare quanto richiesto dal titolare dei diritti (una tantum o su base annua);
– andare alla pagina http://www.fontsquirrel.com/fontface/generator, caricare il font, generare il kit e scaricarlo;
– copiare i file relativi ai diversi formati nella root del sito oppure in una cartella apposita, ad esempio /type;
– aggiungere al foglio di stile quanto segue, supponendo che il font si chiami MyFont:
@font-face {
font-family: ‘MyFont’;
src: url(‘../type/MyFont-webfont.eot’);
src: local(‘☺’), url(‘../type/MyFont-webfont.woff’) format(‘woff’), url(‘../type/MyFont-webfont.ttf’) format(‘truetype’), url(‘../type/MyFont-webfont.svg#webfontbQkoO1Mm’) format(‘svg’);
font-weight: normal;
font-style: normal;
}
Si noti che scaricando il kit da Font Squirrel, questo codice CSS è già fornito nel file stylesheet.css (attenzione al percorso per raggiungere i file ovviamente).
Sempre nel foglio di stile, posso dunque utilizzare il carattere:
h1 {
font-family: MyFont, Geneva, Arial, sans-serif;
…
}
senza dimenticarmi di prevedere come sempre delle alternative.
Il simbolo dello smiley nella proprietà fontface è un trucco per evitare che il browser dell’utente carichi una versione eventualmente già esistente del font dalla cartella dei font di sistema (potrebbe trattarsi di una versione più vecchia e non idonea al web).
Dalla pagina http://www.fontsquirrel.com/fontface è poi possibile scegliere tra numerosi font di libero utilizzo, suddivisi per categorie, ed ottenere il relativo kit.
Quanto sopra esaurisce il discorso puramente tecnico. Resta aperto quello creativo, nel senso che il rendere possibile utilizzare potenzialmente qualsiasi tipo di font sembra spalancare porte fino a poco tempo fa inimmaginabili per i web designer e gli sviluppatori.
Ma …
Innanzitutto, ogni carattere caricato tramite la proprietà fontface comporta un peso per il browser: ciascun file pesa qualche decina di Kb quindi prevederne più di uno può determinare un rallentamento nel caricamento della pagina.
Inoltre grande attenzione deve essere dedicata al mantenimento della leggibilità del testo, requisito fondamentale di fruibilità – oltre che di accessibilità – di un sito.
La nuova versione dei CSS fornirà diversi strumenti agli sviluppatori ma come sempre accade, solo un uso ragionato ed intelligente può far sì che una risorsa diventi un’opportunità e non un semplice esercizio di stile fine a se stesso.