Type MIME approprié pour les polices .woff2

279

Aujourd'hui, j'ai mis à jour le package Font Awesome en 4.3.0 et j'ai remarqué que la police woff2 avait été ajoutée. Ce fichier est lié en CSS, j'ai donc besoin de configurer nginx pour servir correctement les fichiers woff2.

Actuellement, j'ai ce bloc dans la configuration nginx pour les polices:

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

Quel est le type mime approprié pour les polices woff2?

Limon Monte
la source
1
Voici comment mettre en cache les fichiers woff2 dans Apache: <IfModule mod_mime.c> AddType font/woff2 woff2et <IfModule mod_expires.c> ExpiresActive On ExpiresByType font/woff2 "access plus 1 month". (Balises de fermeture et nouvelles lignes omises.)
Chloé

Réponses:

437

Dans IIS, vous pouvez déclarer le type MIME pour les fichiers de police WOFF2 en ajoutant ce qui suit au web.config de votre projet:

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

Mise à jour : le type mime peut changer selon la dernière spécification WOFF2 du rédacteur W3C Editor . Voir l' annexe A: Enregistrement du type de média Internet, section 6.5. WOFF 2.0 qui indique que le dernier format proposé estfont/woff2

Steven Anderson
la source
6
Désormais, les types MIME dans IIS 10 prenaient en charge .woff2. Avec IIS 10, vous n'avez rien à changer dans web.config.
Kevin
7
À quoi sert le <remove>tag ici? Il ne semble pas être documenté dans la référence IIS ( iis.net/configreference )
Pathogen
18
@Pathogen Parfois, IIS génère une erreur si mimeMap existe déjà. Le supprimer avant de l'ajouter corrige cette erreur.
Allan
214

font/woff2

Pour nginx, ajoutez ce qui suit au mime.typesfichier:

font/woff2 woff2;


Ancienne réponse

Le type mime (parfois écrit comme mimetype) pour les polices WOFF2 a été proposé comme application/font-woff2.

De plus, si vous vous référez à la spécification ( http://dev.w3.org/webfonts/WOFF2/spec/ ), vous verrez que cela font/woff2est en cours de discussion. Je soupçonne que le type de mime filaire pour toutes les polices sera finalement le plus logique font/*( font/ttf, font/woff2etc.) ...

NB WOFF2 est toujours en statut de «Working Draft» - pas encore adopté officiellement.

atwright147
la source
38
Cela a été mis à jour. La spécification le rend très clair. Le type est la police et le sous-type est woff2, ce qui donne la police / woff2. C'est également ce que Google Fonts utilise lui-même.
Raivo Laanemets
Je ne vois toujours rien de définitif dans la spécification. Bien qu'ils parlent de vouloir introduire un font/*type de niveau supérieur. Je pense que dans l'intérêt d'une information complète, j'ajouterai cela à ma réponse.
atwright147
@ atwright147 les types MIME sont traités dans l'annexe A, pour Woff2 c'est la section 6.5 de l'annexe A.
Richard
3
Mise à jour de mars 2016: il s'agit désormais d'une recommandation de candidat et font / woff2 est le mimetype w3.org/TR/WOFF2/#IMT
Chris F Carroll
36

Apache

Dans Apache, vous pouvez ajouter le woff2type MIME via votre .htaccessfichier comme indiqué par ce lien .

AddType  application/font-woff2  .woff2

IIS

Dans IIS, ajoutez simplement la mimeMapbalise suivante dans votre web.configfichier à l'intérieur de la staticContentbalise.

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
Fizzix
la source
Qu'enapplication/x-font-woff2
Nerdroid
1
Hey @Moes :) En fait, application/x-font-woff2c'est l'ancien type quand woff2 était très nouveau. La spécification W3C recommande désormais d'utiliser application/font-woff2car cela est largement pris en charge. Si vous recherchez une rétrocompatibilité, n'hésitez pas à l'inclure également x-font-woff2.
Fizzix
Dans IIS, veillez à supprimer toutes les entrées d'extension précédemment définies au cas où elles seraient définies ailleurs dans le serveur. Cela vous donnera des erreurs très déroutantes si vous le rencontrez! <remove fileExtension=".woff2" />puis définissez-le comme ci-dessus :)
jocull
Notez que le texte proposé et aussi très probablement accepté est font / woff2
Syakur Rahman
1
La recommandation du W3C pour le format de fichier WOFF 2.0 recommande désormais d' utiliser font/woff2comme type MIME, mais la liste IANA des types de médias officiels n'inclut pas (encore) WOFF2.
Anthony Geoghegan
17

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

Il semble que le w3c soit passé à font/woff2

Je vois qu'il y a une discussion sur le type de mime approprié. Dans le lien, nous lisons:

Ce document définit une police de type MIME de niveau supérieur ...

... les sous-types IANA officiellement définis tels que "application / font-woff" ...

Les membres du W3C WebFonts WG pensent que l'utilisation du type de niveau supérieur "application" n'est pas idéale.

et ensuite

6.5. WOFF 2.0

    Type name:

        font
    Subtype name:

        woff2

La proposition du W3C diffère donc de l'IANA.

Nous pouvons voir qu'il diffère également du type woff: http://dev.w3.org/webfonts/WOFF/spec/#IMT où nous lisons:

Type name:

    application
Subtype name:

    font-woff

lequel est

application/font-woff

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

fantasme
la source
1
Je ne vois rien sur cette page pour suggérer qu'il a été changé en font/woff2pouvez-vous calrifier s'il vous plaît?
atwright147 du
Peut-être que je l'ai mal compris. Je veux dire l'annexe A, «6.5. WOFF 2.0 '
fantastory
1
Je ne peux pas imaginer que cela soit sous-voté. La spécification le rend très clair. Le type est la police et le sous-type est woff2, ce qui donne la police / woff2. C'est également ce que Google Fonts utilise lui-même.
Raivo Laanemets
2
J'ai d'abord voté en faveur de cela, mais j'ai pensé que je pourrais obtenir un article de blog. En l'état, ce message est conforme à la spécification WOFF2, mais il s'agit toujours d'un brouillon de travail et n'a pas encore été déplacé vers le statut de recommandation . Cela signifie que woff2 n'a techniquement pas de mime car il font/woff2n'est pas valide jusqu'à ce qu'il soit approuvé, mais le document de spécification a révoqué l'approbation de application/font-woff2nous laisser sans officiel. Par conséquent, je pense qu'à ce stade, je vais utiliser application/font-woff2.
rtpHarry
2
@rtpHarry J'ai déjà voté pour cette réponse et votre commentaire. En février 2017, le W3C a publié le Standards Track RFC 8081, ce qui en fait font/woff2le type de média officiel. Voir stackoverflow.com/a/43321601/1640661
Anthony Geoghegan