Tipo MIME adecuado para fuentes .woff2

279

Hoy actualicé el paquete Font Awesome a 4.3.0 y noté que se agregó la fuente woff2 . Ese archivo está vinculado en CSS, así que necesito configurar nginx para que sirva los archivos woff2 correctamente.

Actualmente tengo este bloque en la configuración de nginx para fuentes:

location ~* \.(otf|eot|woff|ttf)$ {
    types     {font/opentype otf;}
    types     {application/vnd.ms-fontobject eot;}
    types     {font/truetype ttf;}
    types     {application/font-woff woff;}
}

¿Cuál es el tipo mime adecuado para las fuentes woff2?

Limon Monte
fuente
1
Aquí se explica cómo almacenar en caché los archivos woff2 en Apache: <IfModule mod_mime.c> AddType font/woff2 woff2y <IfModule mod_expires.c> ExpiresActive On ExpiresByType font/woff2 "access plus 1 month". (Etiquetas de cierre y nuevas líneas omitidas).
Chloe

Respuestas:

437

En IIS, puede declarar el tipo mime para los archivos de fuente WOFF2 agregando lo siguiente a la web.config de su proyecto:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

Actualización : El tipo mime puede estar cambiando de acuerdo con la última especificación del borrador del W3C del editor W3C . Consulte el Apéndice A: Registro de tipos de medios de Internet, sección 6.5. WOFF 2.0 que establece el último formato propuesto esfont/woff2

Steven Anderson
fuente
66
Ahora los tipos MIME en IIS 10 eran compatibles con .woff2. Con IIS 10 no necesita cambiar nada en web.config.
Kevin
77
¿Para qué sirve la <remove>etiqueta aquí? No parece estar documentado en la referencia de IIS ( iis.net/configreference )
Patógeno el
18
@Pathogen A veces, IIS arroja un error si el mimeMap ya existe. Eliminarlo antes de agregarlo corrige ese error.
Allan
214

font/woff2

Para nginx agregue lo siguiente al mime.typesarchivo:

font/woff2 woff2;


Vieja respuesta

El tipo mime (a veces escrito como mimetype) para las fuentes WOFF2 se ha propuesto como application/font-woff2.

Además, si hace referencia a la especificación ( http://dev.w3.org/webfonts/WOFF2/spec/ ) verá que font/woff2se está discutiendo. Sospecho que el tipo filal mime para todas las fuentes eventualmente será el más lógico font/*( font/ttf, font/woff2etc.) ...

NB WOFF2 todavía está en estado de 'Borrador de trabajo', aún no adoptado oficialmente.

atwright147
fuente
38
Esto ha sido actualizado. La especificación lo deja muy claro. El tipo es font y el subtipo es woff2, lo que hace que sea font / woff2. Esto también es lo que utiliza Google Fonts.
Raivo Laanemets
Todavía no puedo ver nada definitivo en la especificación. Aunque hablan de querer introducir un font/*tipo de nivel superior. Creo que en interés de la información completa, agregaré eso a mi respuesta.
atwright147
@ atwright147 los tipos de mimos están cubiertos en el apéndice A, para Woff2 es la sección 6.5 del apéndice A.
Richard
3
Actualizado en marzo de 2016: ahora es una recomendación de candidato y font / woff2 es el mimetype w3.org/TR/WOFF2/#IMT
Chris F Carroll
36

apache

En Apache, puede agregar el woff2tipo mime a través de su .htaccessarchivo como se indica en este enlace .

AddType  application/font-woff2  .woff2

IIS

En IIS, simplemente agregue la siguiente mimeMapetiqueta en su web.configarchivo dentro de la staticContentetiqueta.

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
Fizzix
fuente
¿qué pasaapplication/x-font-woff2
Nerdroid
1
Hola @Moes :) Acutalmente, application/x-font-woff2es el tipo antiguo para cuando woff2 era muy nuevo. La especificación W3C ahora recomienda usar application/font-woff2ya que es ampliamente compatible. Si buscas compatibilidad con versiones anteriores, no dudes en incluirlo también x-font-woff2.
Fizzix
En IIS, tenga cuidado de eliminar las entradas de extensión definidas previamente en caso de que estén definidas en otro lugar del servidor. ¡Esto le dará errores muy confusos si lo encuentra! <remove fileExtension=".woff2" />y luego definirlo como arriba :)
jocull
Tenga en cuenta que la propuesta y que muy probablemente se acepte es font / woff2
Syakur Rahman
1
La Recomendación W3C para el formato de archivo WOFF 2.0 ahora recomienda usar font/woff2como tipo MIME, pero la lista IANA de tipos de medios oficiales (todavía) no incluye WOFF2.
Anthony Geoghegan
17

http://dev.w3.org/webfonts/WOFF2/spec/#IMT

Parece que w3c lo cambió a font/woff2

Veo que hay una discusión sobre el tipo de mimo adecuado. En el enlace leemos:

Este documento define una "fuente" de tipo MIME de nivel superior ...

... los subtipos de IANA oficialmente definidos como "application / font-woff" ...

Los miembros del W3C WebFonts WG creen que el uso del tipo de nivel superior de "aplicación" no es ideal.

y después

6.5. WOFF 2.0

    Type name:

        font
    Subtype name:

        woff2

Entonces, la propuesta del W3C difiere de la IANA.

Podemos ver que también difiere del tipo woff: http://dev.w3.org/webfonts/WOFF/spec/#IMT donde leemos:

Type name:

    application
Subtype name:

    font-woff

cual es

application/font-woff

http://www.w3.org/TR/WOFF/#appendix-b

fantastory
fuente
1
No veo nada en esa página que sugiera que se haya cambiado a font/woff2¿puedes calrificar por favor?
atwright147
Tal vez lo entiendo mal. Me refiero al Apéndice A, '6.5. WOFF 2.0 '
fantastory
1
No puedo imaginar que esto sea rechazado. La especificación lo deja muy claro. El tipo es font y el subtipo es woff2, lo que hace que sea font / woff2. Esto también es lo que utiliza Google Fonts.
Raivo Laanemets
2
Inicialmente voté por esto, pero pensé que podría obtener una publicación de blog de esto. Tal como está, esta publicación está en línea con la especificación WOFF2, pero todavía es un Borrador de trabajo y aún no se ha movido al Estado de recomendación . Esto significa que woff2 técnicamente no tiene un mimo ya font/woff2que no es válido hasta que se apruebe, pero el documento de especificaciones ha revocado la aprobación de application/font-woff2dejarnos sin uno oficial. Por lo tanto, creo que en este punto voy a usar application/font-woff2.
rtpHarry
2
@rtpHarry He votado anteriormente tanto esta respuesta como tu comentario. A partir de febrero de 2017, el W3C publicó el Standard Track RFC 8081, convirtiéndolo en font/woff2el tipo de medio oficial. Ver stackoverflow.com/a/43321601/1640661
Anthony Geoghegan