2012-02-29 13 views
7

Qualcuno può fornire un esempio di come gzip un kit webfont? Il generatore mi ha fornito questo codice ... che cosa è cambiato in giro?Come esempio gzip @ font-face?

@font-face { 
    font-family: 'DesigersBold'; 
    src: url('desib__-webfont.eot'); 
    src: url('desib__-webfont.eot?#iefix') format('embedded-opentype'), 
     url('desib__-webfont.woff') format('woff'), 
     url('desib__-webfont.ttf') format('truetype'), 
     url('desib__-webfont.svg#DesigersBold') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

risposta

9

Si sta utilizzando Apache e si ha accesso a httpd.conf? In tal caso, la compressione gzip è già abilitata?

Si può guardare per questa linea:

AddOutputFilterByType DEFLATE 

O

SetOutputFilter DEFLATE 

Se è la prima, si dovrebbe essere in grado di aggiungere i seguenti tipi MIME in modo che la direttiva e parametri di essere simile a quello sotto. I tipi MIME dichiarati qui sono per . EOT, .TTF e .SVG. Li ho estratti dal file mime.types nella mia cartella conf di Apache. Credo. WOFF è già compresso, quindi non è necessario averlo gzip.

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf image/svg+xml 

La direttiva SetOutputFilter Quest'ultimo gzip tutti i file all'interno del contenitore si afferma. Se questa posizione include i file dei font, dovrebbero già essere compressi con gzip al momento della consegna al cliente.

+0

Il mio server utilizza Apache ma non ho accesso a httpd.conf poiché sono in hosting condiviso. C'è un'alternativa? –

+3

È possibile utilizzare/creare un file .htaccess e verificare se mod_deflate è abilitato o meno sul server. Puoi provare ad incollare quanto segue e verificare tramite le intestazioni http per vedere se il contenuto viene gzip. 'AddOutputFilterByType DEFLATE testo/testo testo/testo html/testo semplice/testo xml/applicazione css/applicazione x-javascript/javascript' – waynethec

+0

@waynethec Se le direttive AddOutputFilterByType o SetOutputFilter non sono già presenti nel file httpd.conf, dove può essere aggiunto? Possiamo aggiungerlo ovunque o dobbiamo fare attenzione a dove lo mettiamo? – user961627

0

inviare alcune parametri (falsi), il server tratterà queste risposte come text/plain, e proprio come la compressione di text/plain se DEFLATE è impostato su text/plain.

@font-face { 
    font-family: 'DesigersBold'; 
    src: url('desib__-webfont.eot?v=1'); 
    src: url('desib__-webfont.eot?v=1#iefix') format('embedded-opentype'), 
     url('desib__-webfont.woff?v=1') format('woff'), 
     url('desib__-webfont.ttf?v=1') format('truetype'), 
     url('desib__-webfont.svg?v=1#DesigersBold') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

Funziona perfettamente!