¿Tipo MIME para fuentes WOFF?

556

¿A qué tipo de mime se deben servir las fuentes WOFF?

Estoy sirviendo fuentes truetype (ttf) como font/truetypey opentype (otf) como font/opentype, pero no puedo encontrar el formato correcto para las fuentes WOFF.

He intentado font/woff, font/webopeny font/webopentype, pero Chrome todavía se queja:

"Recurso interpretado como fuente pero transferido con la aplicación de tipo MIME / octet-stream".

Alguien sabe?

Nico Burns
fuente
1
¿Entonces no hay forma de evitar que Chrome se queje?
John Mee el
1
Aquí está la solución Node.js / Meteor: npm install mime
Eric Leroy
también tenga en cuenta la otra configuración que finalmente solucionó mi problema en IIS stackoverflow.com/questions/12458444/…
Iman
1
font/woffahora es el tipo MIME correcto para woff y Chrome no se queja.
Mikael Dúi Bolinder el

Respuestas:

737

Actualización del comentario de Keith Shaw el 22 de junio de 2017:

A partir de febrero de 2017, RFC8081 es el estándar propuesto. Define un tipo de medio de nivel superior para las fuentes, por lo tanto, el tipo de medio estándar para WOFF y WOFF2 son los siguientes:

font/woff

font/woff2


En enero de 2011 se anunció que, mientras tanto, Chromium reconocerá

application/x-font-woff

como el tipo mimo para WOFF. Sé que este cambio ahora está en Chrome beta y, si aún no es estable, no debería estar muy lejos.

Marcel
fuente
8
a partir de Chromium 18.0, 30/08/2012, debe usar application / x-font-woff
cc young
66
Como dijo cc young, para deshacerse de la advertencia de Chrome "Recurso interpretado como fuente pero transferido con la aplicación de tipo MIME / font-woff", debe usar "application / x-font-woff"
Jamie
99
La versión 24.0.1312.52 de Chrome parece responder con el "Recurso interpretado como fuente pero transferido ..." si usa application / font-woff. Parece que todavía necesita usar "application / x-font-woff" por ahora.
Nicholi
44
De acuerdo con el siguiente compromiso de Webkit, font/woffy application/x-font-woffserá eliminado a favor de application/font-woff. Además, la advertencia se ha degradado a un mensaje de registro. trac.webkit.org/changeset/144763/trunk/Source/WebCore/inspector/…
Jorrit Schippers
66
¿Qué hay de lo nuevo .woff2?
The Muffin Man
135

Para mí, el siguiente ha sido trabajar en un archivo .htaccess.

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
AddType font/woff2 .woff2   
joiggama
fuente
2
No puedo creer que más personas no hayan encontrado esto útil. Este es el único que funcionó para mí.
Tim Joyce
44
En el momento de hacer esta pregunta, 'font / woff' no funcionaba. ¿Alguien puede confirmar que ahora lo hace?
Nico Burns
55
En IIS Express, puede agregar un elemento mimeMap a web.config en configuration / system.webServer / staticContent:<mimeMap fileExtension=".woff" mimeType="font/woff" />
shovavnik
66
a partir de Chrome 18, dejó de funcionar. ahora la aplicación / x-font-woff parece funcionar.
cc joven
44
Para el registro, Google Fonts usa font/woffy font/woff2.
DisgruntledGoat
55

Lo será application/font-woff.

ver http://www.w3.org/TR/WOFF/#appendix-b (Recomendación del candidato del W3C 04 de agosto de 2011)

y http://www.w3.org/2002/06/registering-mediatype.html

De Mozilla css font-face notes

En Gecko, las fuentes web están sujetas a la misma restricción de dominio (los archivos de fuente deben estar en el mismo dominio que la página que los usa), a menos que se usen controles de acceso HTTP para relajar esta restricción. Nota: Debido a que no hay tipos MIME definidos para las fuentes TrueType, OpenType y WOFF, no se considera el tipo MIME del archivo especificado.

fuente: https://developer.mozilla.org/en/CSS/@font-face#Notes

jflaflamme
fuente
3
Pero como señaló Marcel después, Chromium reconocerá application / x-font-woff según RFC 2048 hasta que se acepte application / font-woff.
jflaflamme
2
La especificación WOFF ahora es una recomendación y no cambiará de application / font-woff w3.org/TR/WOFF/#appendix-b
Steve Workman el
26

Referencia para agregar tipos de fuentes MIME a .NET / IIS

a través de web.config

<system.webServer>
  <staticContent>
     <!-- remove first in case they are defined in IIS already, which would cause a runtime error -->
     <remove fileExtension=".woff" />
     <remove fileExtension=".woff2" />
     <mimeMap fileExtension=".woff" mimeType="font/woff" />
     <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

a través de IIS Manager

captura de pantalla de agregar tipos de mimo woff a IIS

JeremyWeir
fuente
19

A partir de febrero de 2017, RFC8081 es el estándar propuesto. Define un tipo de medio de nivel superior para las fuentes, por lo tanto, el tipo de medio estándar para WOFF y WOFF2 son los siguientes:

font/woff
font/woff2
Keith Shaw
fuente
10

Nota: Esta respuesta fue correcta en su momento, pero quedó desactualizada en 2017 cuando se lanzó RFC 8081

¡No hay fonttipo MIME! Por lo tanto, font/xxxSIEMPRE está mal.

K. Rice
fuente
@UmarFarooqKhawaja esta respuesta está incompleta, pero no está mal. Lo único que cambió entre esta respuesta y su comentario application/font-wofffue agregado al estándar, reemplazando cosas como application/x-font-woff(la actualización real del software en la práctica es otra cuestión). Nada ha hecho válidos los tipos de contenido inventados del formulario font/xxx.
Jon Hanna
5

Agregue lo siguiente a su .htaccess

AddType font/woff woff

buena suerte

Nick321
fuente
4

@Nico ,

Actualmente no existe un estándar definido para el tipo mime de fuente woff. Utilizo un servicio de entrega de fuente cdn y utiliza font / woff y recibo la misma advertencia en Chrome.

Referencia: La Autoridad de Números Asignados de Internet

Chris_O
fuente
2

Sé que esta publicación es un poco antigua, pero después de pasar muchas horas tratando de hacer que las fuentes funcionen en mi máquina local nginx y probando toneladas de soluciones, finalmente obtuve la que me funcionó de maravilla.

location ~* \.(eot|otf|ttf|woff|woff2)$ {
    add_header Access-Control-Allow-Origin *;
}

Dentro del paréntesis puede colocar las extensiones de sus fuentes o, en general, los archivos que desea cargar. Por ejemplo, también lo usé para fuentes y para imágenes (png, jpg, etc.), así que no se confunda de que esta solución solo se aplica a las fuentes.

Simplemente colóquelo en su archivo de configuración nginx, reinicie y espero que funcione también para usted.

pr1nc3
fuente
1

Quizás esto ayude a alguien. Vi que en IIS 7 .ttfya es un tipo mime conocido. Está configurado como:

application/octet-stream

Así que me acaba de agregar que para todos los tipos de fuentes CSS ( .oet, .svg, .ttf, .woff) e IIS empezaron a servir ellos. Las herramientas de desarrollo de Chrome tampoco se quejan de reinterpretar el tipo.

Saludos, Michael

Michael Kennedy
fuente
8
'application / octet-stream' es el equivalente del servidor web de decir "No sé qué es esto".
Sincronización
1
Sí, lo sé. Pero el punto clave fue que funcionó, mientras que muchas de las opciones más específicas no parecían dar lugar a que las fuentes se usaran sobre IIS7. Mi comentario fue más pragmático que tratar de ser el más correcto (porque eso no estaba funcionando).
Michael Kennedy
1

Para toda la solución index.php, elimine el formulario url y el archivo woff permitido. para escribir el código a continuación en el archivo .htaccess y hacer esta alternancia a su archivo application / config / config.php: $ config ['index_page'] = '';

Solo para servidor de alojamiento Linux. Detalles del archivo .htaccess

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>
Hussy Borad
fuente
0

IIS definió automáticamente .ttf como application / octet-stream que parece funcionar bien y fontshop recomienda que .woff se defina como application / octet-stream

diente de aguja
fuente
0

WOFF:

  1. Formato de fuente abierto web
  2. Se puede compilar con contornos TrueType o PostScript (CFF)
  3. Actualmente es compatible con FireFox 3.6+

Intenta agregar eso:

AddType application/vnd.ms-fontobject .eot
AddType application/octet-stream .otf .ttf
Adalarasan Sachithanantham
fuente
-1

He tenido el mismo problema, font / opentype funcionó para mí

oshimin
fuente
OpenType no es para woff?
Mikael Dúi Bolinder el
-1

El tipo Mime podría no ser su único problema. Si el archivo de fuente está alojado en S3 u otro dominio, también puede tener el problema de que Firefox no cargará fuentes de diferentes dominios. Es una solución fácil con Apache, pero en Nginx, he leído que es posible que deba codificar sus archivos de fuente en base-64 e incrustarlos directamente en su archivo CSS de fuente.

Ringo
fuente