web-dev-qa-db-fra.com

Type MIME approprié pour les polices

En recherchant sur le Web, je trouve différentes suggestions sur le type de police MIME approprié, mais je n’ai pas encore essayé de type MIME qui m’évite un avertissement Chrome tel que:

Ressource interprétée comme une police mais transférée avec une police de type MIME/otf

La police est une OTF.

J'ai déjà essayé les types MIME suivants

  • font/otf
  • application/font-otf
  • application/police
  • application/otf
  • application/flux d'octets
  • application/x-font-otf
  • application/x-font-TrueType (je sais que ce n'est pas un TrueType, mais une source l'a cité pour OTF)
239
David Hedlund

Essayez d’utiliser "font/opentype".

132
spd

Il existe un certain nombre de formats de police pour lesquels vous pouvez définir des types MIME, sur les serveurs Apache et IIS. J'ai toujours eu de la chance avec ce qui suit:

svg   as "image/svg+xml"                  (W3C: August 2011)
ttf   as "application/x-font-ttf"         (IANA: March 2013)
      or "application/x-font-truetype"
otf   as "application/x-font-opentype"    (IANA: March 2013)
woff  as "application/font-woff"          (IANA: January 2013)
woff2 as "application/font-woff2"         (W3C W./E.Draft: May 2014/March 2016)
eot   as "application/vnd.ms-fontobject"  (IANA: December 2005)
sfnt  as "application/font-sfnt"          (IANA: March 2013) 

Selon le groupe de travail d'ingénierie Internet, qui conserve le document initial relatif aux types de MIME (Multipurpose Internet Mail Extensions), ici: http://tools.ietf.org/html/rfc2045#section-5 ... il dit dans les détails:

" Des ajouts à l'ensemble plus vaste de types pris en charge peuvent généralement être réalisés par la création de nouveaux sous-types de ces types initiaux. À l'avenir, davantage de types de niveau supérieur ne pourront être définis que par un extension standard-track à cette norme. Si un autre type de niveau supérieur doit être utilisé pour une raison quelconque, un nom commençant par "X-" doit lui être attribué pour indiquer son statut non standard et éviter un éventuel conflit avec un futur. nom officiel."

En fait, et au fil du temps, des types MIME supplémentaires sont ajoutés au fur et à mesure que les normes sont créées et acceptées. Nous voyons donc des exemples de types MIME spécifiques au fournisseur, tels que vnd.ms-fontobject, etc.

MISE À JOUR DU 16 août 2013: WOFF était officiellement enregistré à l'IANA le 3 janvier 201 et Webkit a été mise à jour le 5 mars 201 et les navigateurs à l'origine de cette mise à jour dans leur dernière version commenceront à émettre des avertissements sur les types MIME du serveur avec l'ancienne déclaration x-font-woff. Étant donné que les avertissements ne sont que gênants, je vous recommande de passer immédiatement au type approuvé MIME. Dans un monde idéal, les avertissements se résoudront à temps.

UPDATE du 26 février 2015: WOFF2 est maintenant dans le brouillon de l'éditeur du W3C avec le type mime proposé. Il devrait probablement être soumis à l'IANA au cours de la prochaine année (éventuellement d'ici la fin de 2016), selon les échéanciers de progression les plus récents. De plus, SFNT, le format de police de conteneur évolutif/spline utilisé dans la référence de table de réseau principal de bibliothèques Web de Google avec leur bibliothèque sfntly Java et est déjà enregistré en tant que mime tapez avec IANA et pourrait être ajouté à cette liste en fonction des besoins de chacun.

MISE À JOUR DU 4 Octobre 2017: Nous pouvons suivre l'évolution du format WOFF2 ici avec la majorité des navigateurs modernes prenant en charge le format avec succès. De même, nous pouvons suivre la demande de commentaires (RFC) tracker et document (document) == (document) == du dernier groupe de types de polices proposé à l'approbation de l'IETF.


Pour ceux qui souhaitent insérer la police de caractères dans le bon ordre dans votre code CSS, veuillez visiter cet article . Mais encore une fois, j'ai eu de la chance avec l'ordre suivant:

@font-face {
    font-family: 'my-web-font';
    src: url('webfont.eot');
    src: url('webfont.eot?#iefix') format('embedded-opentype'),
         url('webfont.woff2') format('woff2'),
         url('webfont.woff') format('woff'),
         url('webfont.ttf') format('truetype'),
         url('webfont.svg#webfont') format('svg');
    font-weight: normal;
    font-style: normal;
}

Pour les propriétés automatiques de Subversion, celles-ci peuvent être répertoriées comme suit:

# Font formats
svg   = svn:mime-type=image/svg+xml
ttf   = svn:mime-type=application/x-font-ttf
otf   = svn:mime-type=application/x-font-opentype
woff  = svn:mime-type=application/font-woff
woff2 = svn:mime-type=application/font-woff2
eot   = svn:mime-type=application/vnd.ms-fontobject
sfnt  = svn:mime-type=application/font-sfnt
198
Mike Kormendy

Ignorer l'avertissement chrome. Il n'y a pas de type MIME standard pour les polices OTF.

font/opentype peut faire taire l'avertissement, mais cela ne le rend pas la "bonne" chose à faire.

On peut dire qu'il vaut mieux en inventer un, par exemple. avec "application/x-opentype" car au moins "application" est un type de contenu enregistré, alors que "font" ne l'est pas.

Mise à jour: La FEO reste un problème, mais WOFF a développé un type IANA MIME de application/font-woff en janvier 2013.

Mise à jour 2: OTF a développé un type MIME: application/font-sfnt En mars 2013. Ce type s'applique également à .ttf

124
djsadinoff

Depuis février 2017 RFC 8081 regroupe tous les types MIME des polices sous le type de support supérieur font. Les types MIME plus anciens de ma publication d'origine sont désormais répertoriés comme obsolètes.

Les types de polices listés par IANA sont maintenant:

Les autres formats de police non standard sont laissés tels quels:


[Message original obsolète]

Comme il y a encore beaucoup de confusion sur le Web concernant les types MIME pour les polices Web, j'ai pensé donner une réponse actuelle, avec les dates effectives et les liens correspondants vers IANA et le W3C.

Voici les types MIME officiels pour les polices Web:

Notez qu'il existe un mouvement pour changer tout ce qui précède en types MIME de font/XXX, comme le soutient le W3C dans sa proposition pour WOFF v2. L’IETF (Internet Engineering Task Force) en assure le suivi sous la rubrique Type de police de niveau supérieur et, en février 2017, le statut de RFC (voir RFC 8081 ) a été approuvé. changer encore!

En ce qui concerne les serveurs Web, il convient de mentionner que les réponses HTTP peuvent gzip (ou compresser d’une autre manière) tous les formats de police ci-dessus, à l'exception de .woff & .woff2, qui sont déjà fortement compressés.

Je dis plus dans types MIME pour les polices Web avec (Fantom) BedSheet .

69
Steve Eynon

En tant qu’instance spécifique de l’un des deux choses difficiles en informatique, il est intéressant de voir comment les réponses à cette question ont changé depuis que cette question a été posée. Heureusement, les pouvoirs en place ont mis de l'ordre dans le chaos:


En février de cette année (2017), le W3C a publié le Standards Track RFC 8081: type de média de premier niveau "font") = ce qui simplifie grandement les types de supports appropriés pour les fichiers de polices:

Ce mémo sert à enregistrer et à documenter le type de média de niveau supérieur "police", sous lequel des sous-types pour les formats de représentation des polices peuvent être enregistrés. Ce document sert également de demande d’enregistrement pour un ensemble de sous-types prévus, qui sont représentatifs de certains sous-types existants déjà utilisés et actuellement enregistrés sous l’arbre "application" par leurs enregistrements distincts.

C'est un document assez lisible et qui décrit le contexte historique (absence de “enregistrement des formats de police de caractères” ) qui a donné lieu à un mélange de médias confus types et sous-types. Avec la popularité (relativement) récente des polices Web téléchargeables, le W3C a reconnu la nécessité d'un “type de police intuitive de niveau supérieur” . Ce qu’ils ont trouvé est… font .

En conséquence, l'IANA a depuis mis à jour son liste officielle des types de média avec le type de média font et tous ses sous-types qu'ils reconnaissent actuellement:

collection  font/collection
otf     font/otf
sfnt    font/sfnt
ttf     font/ttf
woff    font/woff
woff2   font/woff2

En espérant que c’est la dernière réponse dont cette question a besoin.

9
Anthony Geoghegan

Je viens de faire quelques recherches sur liste officielle IANA . Je pense que la réponse donnée ici 'font/xxx' est incorrecte car il n'y a pas de type 'font' dans le standard MIME.

D'après les RFC et l'IANA, cela semble être l'état actuel du jeu en mai 2013:

Ces trois sont officiels et attribués par l'IANA:

  • svg en tant que "image/svg + xml"
  • woff comme "application/font-woff"
  • eot comme "application/vnd.ms-fontobject"

Celles-ci ne sont pas officielles/assignées, et doivent donc utiliser la syntaxe 'x-':

  • ttf comme "application/x-font-ttf"
  • otf comme "application/x-font-opentype"

L'application/font-woff semble nouvelle et peut-être seulement officielle depuis janvier 2013. Ainsi, "application/x-font-woff" pourrait être plus sûr/plus compatible à court terme.

5
Aaron

FWIW concernant Apache 2.2 VirtualHosting et mod_mime testés sous Debian Linux et OS X Leopard et Snow Leopard:

Si vous avez une configuration VirtualHost, vous voudrez ajouter les types via la directive AddType comme suit au moins au bas de la configuration comme suit:

....
   AddType font/opentype .otf
   AddType font/ttf .ttf
</VirtualHost>

Testé contre Chrome Unstable/Trunk et Safari WebKit Nightly, ce qui élimine les avertissements mime octet-stream pour les types de police ttf et otf.

Remarque: .htaccess n'a aucun effet sur VirtualHosting. Si vous développez pour plusieurs sites, vous utiliserez le développement VirtualHosting et chaque configuration nécessitera ces ajouts AddType.

5
Marc J. Driftmeyer

À partir de mars 2013 IANA.ORG recommande pour . Otf :
application/font-sfnt

Autres polices:

_.eot  ->  application/vnd.ms-fontobject (as from December 2005)
.otf  ->  application/font-sfnt         (as from March 2013)
.svg  ->  image/svg+xml                 (as from August 2011)
.ttf  ->  application/font-sfnt         (as from March 2013)
.woff ->  application/font-woff         (as from January 2013)
_

Voir plus ...

4
Serge

Voici la solution NGINX

fichier

/usr/local/nginx/conf/mime.types

ajouter

font/ttf                      ttf;
font/opentype                 otf;
application/font-woff         woff2;
application/font-woff         woff;
application/vnd.ms-fontobject eot;

retirer

application/octet-stream        eot;

Merci à Mike Fulcher

http://drawingablank.me/blog/font-mime-types-in-nginx.html

4
BG Bruno
1
citrin

Les éléments suivants peuvent être utilisés dans l'espace eBook:

application/vnd.ms-opentype

J'imagine que c'est la même chose pour le Web.

1
Arktype

Depuis février 2017, RFC 8081 ajoute les types de média font/*, qui sont également répertoriés dans la liste Types de média IANA . font/otf est dans cette liste.

1
George Helyar

Cela aidera peut-être quelqu'un. J'ai vu que sur IIS 7 .ttf est déjà un type mime connu. Il est configuré comme:

application/octet-stream

Je viens donc d'ajouter que pour tous les types de polices CSS (.oet, .svg, .ttf, .woff) et IIS ont commencé à les servir. Chrome _ Les outils de développement ne se plaignent pas non plus de la réinterprétation du type.

A bientôt Michael

0
Michael Kennedy