Per seguire, ho finito per usare le opzioni avanzate del generatore @ font-face per sottoinsieme i miei caratteri, quindi ho caricato solo i caratteri necessari.
Una delle opzioni era di Base64 codificare i caratteri (che mi ha permesso di incorporarli nel mio file CSS). Se la memoria serve, Base64 codifica .woff
il .ttf
carattere e.
Mentre mi piace supportare il maggior numero possibile di utenti con il maggior numero di browser, ho deciso che non valeva la pena rallentare gli utenti dei browser moderni con dati extra, probabilmente ridondanti, quindi ho usato Modernizr (che utilizza yep / nope.js) per caricare in modo asincrono un CSS
file separato con riferimenti a tutti i formati di carattere secondo la sintassi della faccia del carattere a prova di proiettile rinforzata .
Sono andato avanti e indietro tra Base64 codificando il .woff
carattere e includendo il resto delle dichiarazioni dei caratteri nel CSS
file primario o includendo solo Base64 codificato .woff
nel primario CSS
e quindi includendo gli altri formati in un CSS
file che ho caricato in modo asincrono tramite Modernizr.load
.
Preferisco i tempi di caricamento rapidi all'estetica, quindi la FOUC non è stata una grande preoccupazione, ma noterò che la maggior parte dei browser ha "sbattuto le palpebre" sui caratteri quando sono stati caricati (che era dopo che i caratteri codificati in Base64 CSS
erano stati caricati) asincroni.
Tra i lati positivi, una volta caricati e archiviati i caratteri nella cache (le intestazioni a lunga scadenza impostate sul server) il "battito di ciglia" è stato eliminato e sono stato in grado di caricare set estesi di caratteri in modo che gli utenti che parlavano altre lingue (e usavano il Il widget di traduzione di Google che è stato incluso) vedrebbe comunque il testo stilizzato.
Dato che questo era il mio sito, sono stato in grado di sperimentare, ma lo facevo in gran parte per "mettermi in mostra", sono più conservatore con i siti dei clienti.
Un'altra tecnica che ho implementato è stata quella di mettere tutti i .svg
font in un singolo file e identificandoli ciascuno con il proprio ID invece di averli ciascuno in un file separato come produce il generatore @ font-face.