2012-02-29 15 views
7

¿Alguien puede dar un ejemplo de cómo descomprimir un kit de webfont? El generador me proporcionó este código ... ¿qué necesidades cambiaron?¿Cómo gzip @ font-face example?

@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; 
} 

Respuesta

9

¿Está utilizando Apache y tiene acceso a httpd.conf? Si es así, ¿la compresión gzip ya está habilitada?

Puede buscar esta línea:

AddOutputFilterByType DEFLATE 

O

SetOutputFilter DEFLATE 

Si es lo primero, usted debe ser capaz de añadir los siguientes tipos MIME por lo que la directiva y los parámetros de parecerse a la abajo. Los tipos MIME declarados aquí son para .EOT, .TTF y .SVG. Los saqué del archivo mime.types en mi carpeta Apache conf. Creo que .WOFF ya está comprimido, por lo que no es necesario que tenga gzip.

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

Este último SetOutputFilter Directiva gzips todos los archivos dentro del contenedor se afirma. Si esta ubicación incluye sus ficheros, que ya deberían estar gzip cuando se entrega al cliente.

+0

Mi servidor está utilizando Apache pero no tengo acceso a httpd.conf ya que estoy en alojamiento compartido. ¿Hay una alternativa? –

+3

Puede usar/crear un archivo .htaccess y verificar si el mod_deflate está o no habilitado en su servidor. Puede intentar pegar lo siguiente en él y verificar a través de encabezados http para ver si el contenido se está comprimiendo. 'AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript' – waynethec

+0

@waynethec Si las directivas AddOutputFilterByType o SetOutputFilter no están ya allí en el archivo httpd.conf, donde se puede agregar? ¿Podemos agregarlo en cualquier lugar o tenemos que tener cuidado con dónde lo ponemos? – user961627

0

enviar algunas parámetros (falsos), el servidor va a tratar estas respuestas como text/plain, y simplemente comprimir como de text/plain si DESINFLE se encuentra en 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; 
} 

¡Funciona bien!