Правильные директивы Apache AddType для шрифтов MIME-типов
Im использует @font-face для встроенных шрифтов (спасибо Paul Irish). Пытаясь исправить предупреждение Chromes о неправильном типе MIME для woff-шрифтов, Ive обнаружил массу противоречивых предложений.
Кажется, что все согласны с тем, что .eot шрифты (для IE 6-8?) должны обслуживаться с помощью
AddType application/vnd.ms-fontobject .eot
Для шрифтов .ttf(более старые не-IE-браузеры?) Я видел
AddType application/x-font-ttf .ttf
AddType application/octet-stream .ttf
AddType font/truetype .ttf
AddType font/ttf .ttf
И для .woff шрифтов (новый стандарт?) Ive видел
AddType application/font-wof .woff
AddType application/x-font-woff .woff
AddType application/x-woff .woff
Я понимаю правильный тип MIME для woff будет application/font-woff, но пока стандарт не станет официальным, application/x-font-woff понимается в Chrome.
Я понимаю, что я ответил наполовину на свой вопрос, задавая вопрос, но на самом деле вопрос: есть ли какие-либо авторитетные рекомендации или дополнительные советы о том, какие типы MIME следует использовать для шрифтов?
Обновление (в случае его помощи кому-либо еще): поскольку, похоже, нет ничего авторитетного, Ive остановился на использовании следующих типов шрифтов MIME в моем .htaccess(который по крайней мере удерживает Chrome счастливым):
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-woff .woff
Ответы
Ответ 1
Обычно типы MIME поступают из RFC.
У вас есть исчерпывающий список на сайте IANA, но ни один из них не относится к расширению шрифтов.
Кроме того, документ, описывающий формат WOFF, является черновиком и не ссылается на используемый тип mime.
На данный момент достоверных ссылок на эту тему не существует.
Update
Теперь W3C выпустил WOFF как рекомендацию, а в Приложение B определил тип MIME как application/font-woff
. Он также был добавлен в сайт IANA, о котором вы говорили сейчас. -GKFX
Ответ 2
Я понимаю, что этот вопрос старый, но для тех, кто ищет быструю копию/вставку для добавления типов шрифтов MIME в их .htaccess:
<IfModule mod_mime.c>
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-opentype .otf
AddType image/svg+xml .svg
AddType application/x-font-ttf .ttf
AddType application/font-woff .woff
AddType application/font-woff2 .woff2
</IfModule>
Ответ 3
Я только что провел исследование по официальному списку IANA. Это, по-видимому, текущее состояние игры по состоянию на май 2013 года:
Эти три являются официальными и назначаются IANA:
- svg as "image/svg + xml"
- woff как "application/font-woff"
- eot как "application/vnd.ms-fontobject"
Это не официальные/назначенные и поэтому должны использовать синтаксис "x-":
- ttf как "application/x-font-ttf"
- otf как "application/x-font-opentype"
Похоже, что тип 'font' не существует, поэтому любой тип времени, который вы видите 'font/xxx', является фиктивным. Возможно, "x-font/xxx" будет допустимым, а не уверенным. IIS8 поставляется с такими парами записей. Не уверен, что MS считает, что эти "font/xxx" необходимы для совместимости или если они просто не читают RFC: -)
Приложение/font-woff выглядит новым и, возможно, только официальным с января 2013 года. Поэтому "application/x-font-woff" может быть более безопасным/более совместимым в краткосрочной перспективе.
Ответ 4
Я думаю, стоит упомянуть, что с марта 2013 года IANA дал расширения .otf
и .ttf
MIME тип application/font-sfnt.
Полный и текущий список официальных MIME-типов см. в моем ответе на Правильный тип MIME для шрифтов