Richtiger MIME-Typ für .woff2-Schriftarten

279

Heute habe ich das Font Awesome- Paket auf 4.3.0 aktualisiert und festgestellt, dass die Schriftart woff2 hinzugefügt wurde. Diese Datei ist in CSS verknüpft, daher muss ich nginx so konfigurieren, dass woff2-Dateien ordnungsgemäß bereitgestellt werden.

Derzeit habe ich diesen Block in der Nginx-Konfiguration für Schriftarten:

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

Was ist der richtige MIME-Typ für woff2-Schriftarten?

Limon Monte
quelle
1
So zwischenspeichern Sie woff2-Dateien in Apache: <IfModule mod_mime.c> AddType font/woff2 woff2und <IfModule mod_expires.c> ExpiresActive On ExpiresByType font/woff2 "access plus 1 month". (Schließen von Tags und Zeilenumbrüchen weggelassen.)
Chloe

Antworten:

437

In IIS können Sie den MIME-Typ für WOFF2-Schriftdateien deklarieren, indem Sie der web.config Ihres Projekts Folgendes hinzufügen:

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

Update : Der MIME-Typ kann sich gemäß der neuesten WOC2-Entwurfsspezifikation des W3C-Editors ändern . Siehe Anhang A: Registrierung des Internet-Medientyps, Abschnitt 6.5. WOFF 2.0, in dem das zuletzt vorgeschlagene Format angegeben istfont/woff2

Steven Anderson
quelle
6
Jetzt unterstützten MIME-Typen in IIS 10 .woff2. Mit IIS 10 müssen Sie in web.config nichts ändern.
Kevin
7
Welchen Zweck erfüllt das <remove>Tag hier? Es scheint nicht in der IIS-Referenz ( iis.net/configreference )
Pathogen
18
@Pathogen Manchmal gibt IIS einen Fehler aus, wenn die mimeMap bereits vorhanden ist. Durch Entfernen vor dem Hinzufügen wird dieser Fehler behoben.
Allan
214

font/woff2

Fügen Sie für nginx Folgendes zur mime.typesDatei hinzu:

font/woff2 woff2;


Alte Antwort

Der Mime - Typ (manchmal als MIME - Typ geschrieben) für WOFF2 Fonts wurde vorgeschlagen , wie application/font-woff2.

Wenn Sie sich auf die Spezifikation ( http://dev.w3.org/webfonts/WOFF2/spec/ ) beziehen, werden Sie feststellen, dass font/woff2dies diskutiert wird. Ich vermute , dass der filal MIME - Typ für alle Schriften wird schließlich die logischere sein font/*( font/ttf, font/woff2etc) ...

NB WOFF2 befindet sich noch im Status "Arbeitsentwurf" - noch nicht offiziell verabschiedet.

atwright147
quelle
38
Dies wurde aktualisiert. Die Spezifikation macht es sehr deutlich. Typ ist Schriftart und Subtyp ist woff2, was Schriftart / woff2 macht. Dies wird auch von Google Fonts selbst verwendet.
Raivo Laanemets
Ich kann immer noch nichts Bestimmtes in der Spezifikation sehen. Obwohl sie darüber reden, einen font/*Top-Level-Typ einführen zu wollen . Ich denke, im Interesse vollständiger Informationen werde ich das meiner Antwort hinzufügen.
atwright147
@ atwright147 die MIME-Typen werden in Anhang A behandelt, für Woff2 ist es Abschnitt 6.5 von Anhang A.
Richard
3
Aktualisiert März 2016: Es ist jetzt eine Kandidatenempfehlung und font / woff2 ist der Mimetyp w3.org/TR/WOFF2/#IMT
Chris F Carroll
36

Apache

In Apache können Sie den woff2MIME-Typ über Ihre .htaccessDatei hinzufügen, wie unter diesem Link angegeben .

AddType  application/font-woff2  .woff2

IIS

Fügen Sie in IIS einfach das folgende mimeMapTag zu Ihrer web.configDatei innerhalb des staticContentTags hinzu.

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
Fizzix
quelle
was ist mitapplication/x-font-woff2
Nerdroid
1
Hey @Moes :) Akut application/x-font-woff2ist der alte Typ, als woff2 sehr neu war. Die W3C-Spezifikation empfiehlt jetzt die Verwendung, application/font-woff2da dies weitgehend unterstützt wird. Wenn Sie nach Abwärtskompatibilität suchen, können Sie diese auch einbeziehen x-font-woff2.
Fizzix
Achten Sie in IIS darauf, alle zuvor definierten Erweiterungseinträge zu entfernen, falls sie an einer anderen Stelle auf dem Server definiert sind. Dies führt zu sehr verwirrenden Fehlern, wenn Sie darauf stoßen! <remove fileExtension=".woff2" />und dann definieren Sie es wie oben :)
jocull
Beachten Sie, dass die vorgeschlagene und höchstwahrscheinlich auch akzeptierte ist font / woff2
Syakur Rahman
1
Die W3C-Empfehlung für das WOFF-Dateiformat 2.0 empfiehlt jetzt die Verwendung font/woff2als MIME-Typ, aber die IANA-Liste der offiziellen Medientypen enthält (noch) kein WOFF2.
Anthony Geoghegan
17

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

Es scheint, dass w3c es auf geschaltet hat font/woff2

Ich sehe, es gibt einige Diskussionen über den richtigen Pantomimentyp. In dem Link lesen wir:

Dieses Dokument definiert einen MIME-Typ der obersten Ebene "Schriftart" ...

... die offiziell definierten IANA-Subtypen wie "application / font-woff" ...

Die Mitglieder der W3C WebFonts WG sind der Ansicht, dass die Verwendung des Top-Level-Typs "Anwendung" nicht ideal ist.

und später

6.5. WOFF 2.0

    Type name:

        font
    Subtype name:

        woff2

Der Vorschlag von W3C unterscheidet sich also von IANA.

Wir können sehen, dass es sich auch vom woff-Typ unterscheidet: http://dev.w3.org/webfonts/WOFF/spec/#IMT, wo wir lesen:

Type name:

    application
Subtype name:

    font-woff

welches ist

application/font-woff

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

fantastisch
quelle
1
Ich sehe auf dieser Seite nichts, was darauf hindeutet, dass es geändert wurde. font/woff2Können Sie bitte korrigieren?
atwright147
Vielleicht verstehe ich es falsch. Ich meine Anhang A, 6.5. WOFF 2.0 '
fantastisch
1
Ich kann mir nicht vorstellen, dass dies abgelehnt wird. Die Spezifikation macht es sehr deutlich. Typ ist Schriftart und Subtyp ist woff2, was Schriftart / woff2 macht. Dies wird auch von Google Fonts selbst verwendet.
Raivo Laanemets
2
Ich habe dies anfangs positiv bewertet, dachte aber, ich könnte einen Blog-Beitrag daraus machen. Derzeit entspricht dieser Beitrag der WOFF2-Spezifikation, dies ist jedoch noch ein Arbeitsentwurf und wurde noch nicht in den Empfehlungsstatus verschoben . Dies bedeutet, dass woff2 technisch gesehen keine Mime hat, da die font/woff2bis zur Genehmigung ungültig ist, aber das Spezifikationsdokument hat die Bestätigung widerrufen application/font-woff2, uns keine offizielle zu hinterlassen. Daher denke ich an dieser Stelle werde ich verwenden application/font-woff2.
RTPHarry
2
@rtpHarry Ich habe zuvor sowohl diese Antwort als auch Ihren Kommentar positiv bewertet. Ab Februar 2017 veröffentlichte das W3C den Standards Track RFC 8081, der font/woff2den offiziellen Medientyp darstellt. Siehe stackoverflow.com/a/43321601/1640661
Anthony Geoghegan