Правильный тип MIME для шрифтов

поиск в Интернете, я нахожу кучи различных предложений для того, что правильный тип MIME для шрифта, но я еще не пробовал любой тип MIME, который избавляет меня от предупреждения Chrome, такого как следующее:

ресурс интерпретируется как шрифт, но передается с типом MIME font / otf

шрифт является OTF.

Я пробовал следующие типы MIME так далеко!--1-->

  • шрифт / otf
  • приложение / шрифт-otf
  • приложение/шрифт
  • применение / otf
  • приложения/октет-поток
  • application / x-font-otf
  • application / x-font-TrueType (я знаю, что это не truetype, но один источник процитировал это для OTF)

14 ответов


попробуйте использовать "шрифт / opentype".


существует ряд форматов шрифтов, для которых можно установить типы MIME на серверах Apache и IIS. мне традиционно повезло следующим образом:

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) 

По данным инженерной интернет-группы, которая ведет первоначальный документ относительно многоцелевых расширений интернет-почты (типы MIME) здесь:http://tools.ietf.org/html/rfc2045#section-5 ... он говорит в деталях:

"ожидается, что дополнения к большему набору поддерживаемые типы обычно могут быть выполнены путем создания новых подтипы этих исходных типов. В будущем больше типов верхнего уровня может быть определено только расширением стандарта-следа к этому стандарту. Если по какой-либо причине должен использоваться другой тип верхнего уровня, он должен быть дали имя, начинающееся с "X -", чтобы указать его нестандартный статус и избежать потенциального конфликта с будущим чиновником имя."

как это было, и со временем дополнительные типы MIME добавляются по мере создания и принятия стандартов, поэтому мы видим примеры конкретных типов MIME поставщиков, таких как vnd.ms-fontobject и тому подобное.

обновление 16 августа 2013: WOFF был официально зарегистрирован в IANA 3 января 2013 года и Webkit был обновлен 5 марта 2013 года и браузеры, которые используют это обновление в своих последних версиях начнет выдавать предупреждения о типах MIME сервера со старым объявлением x-font-woff. Поскольку предупреждения только раздражают, я бы рекомендовал сразу переключиться на одобренный тип MIME. В идеальном мире предупреждения со временем разрешатся сами собой.

обновление 26 февраля 2015: WOFF2 теперь находится в проекте редактора W3C с предлагаемым типом mime. Вероятно, он должен быть представлен IANA в следующем году (возможно, к концу 2016 года) после более позднего сроки выполнения. Также SFNT, формат шрифта масштабируемого / сплайнового контейнера, используемый в ссылке на базовую таблицу веб-шрифты Google с их библиотекой java sfntly и уже зарегистрирован как тип mime с IANA и может быть добавлен в этот список, а также зависит от индивидуальных потребностей.

обновление 4 октября 2017: мы можем следить за прогрессией формата WOFF2 здесь С поддержкой большинства современных браузеров формат успешно. Кроме того, мы можем следовать запросу верхнего уровня медиа-типа IETF "font" для комментариев (RFC) трекер и документ относительно последнего набора предлагаемых типов шрифтов для утверждения.


для тех, кто хочет вставить шрифт в правильном порядке в CSS, пожалуйста, посетите в этой статье. Но опять же, мне повезло со следующим порядком:

@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;
}

для авто-свойств Subversion, они могут быть перечислены как:

# 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

игнорировать предупреждение chrome. Стандартный тип MIME для шрифтов OTF отсутствует.

font / opentype может отключить предупреждение, но это не делает его "правильным".

Возможно, вам лучше составить его, например ,с "application / x-opentype", потому что, по крайней мере, "application" - это зарегистрированный тип контента, а "font" - нет.

Update: OTF остается проблемой, но WOFF вырос тип MIME IANA приложение / шрифт-woff in Январе 2013 года.

обновление 2: OTF вырос тип MIME:приложение/шрифт-sfnt В Марте 2013 Года. Этот тип также применяется к .ttf


поскольку в интернете все еще много путаницы о типах MIME для веб-шрифтов, я подумал, что дам текущий ответ, в комплекте с датами вступления в силу и поддерживающими ссылками на в IANA и W3C.

вот официальные типы MIME для веб-шрифтов:

Примечание есть движение, чтобы изменить все выше, чтобы MIME типы font/XXX, как поддержано W3C в своем предложении для WOFF v2. Это отслеживается целевой группой по разработке Интернета (IETF) в разделе тип верхнего уровня шрифта и в феврале 2017 года был утвержден статус RFC (см. RFC 8081) так что все еще может измениться!

в то время как по теме веб-серверов, стоит упомянуть, что HTTP-ответы могут gzip (или иным образом сжать) все вышеуказанные форматы шрифтов, кроме .woff & .woff2 уже сильно сжаты.

Я говорю больше в типы MIME для веб-шрифтов с (Fantom) простыней.


FWIW относительно виртуального хостинга Apache 2.2 и mod_mime, протестированных на Debian Linux и OS X Leopard и Snow Leopard:

Если у вас есть конфигурация VirtualHost, вы захотите добавить типы через директиву AddType следующим образом, по крайней мере, в нижней части конфигурации следующим образом:

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

протестировано против Chrome Unstable / Trunk и Safari WebKit Nightly, что устраняет предупреждения MIME octet-stream для шрифтов ttf и otf типы.

Примечание: .htaccess имеет нулевой эффект при работе с VirtualHosting. Если вы разрабатываете для нескольких сайтов, вы будете использовать разработку VirtualHosting, и каждой конфигурации понадобятся эти дополнения AddType.


Я просто сделал некоторые исследования на официальный список IANA. Я считаю, что ответ, приведенный здесь "font / xxx", неверен, поскольку в стандарте MIME нет типа "font".

на основе RFCs и IANA, это, по-видимому, текущее состояние игры по состоянию на май 2013 года:

эти три являются официальными и назначены IANA:

  • svg как "изображение / svg + xml"
  • woff как "приложение / шрифт-woff"
  • eot as "application / vnd.ms-fontobject"

Они не являются официальными / назначенными и поэтому должны использовать синтаксис " x -":

  • ttf как "application / x-font-ttf"
  • otf как"application/x-font-opentype"

приложение / шрифт-woff появляется новый и, возможно, только официальный С января 2013 года. Таким образом," application/x-font-woff " может быть более безопасным/более совместимым в краткосрочной перспективе.


как конкретный экземпляр одного из две трудные вещи в вычислительной технике интересно посмотреть, как изменились ответы на этот вопрос с тех пор, как этот вопрос был первоначально опубликован. К счастью, власть имущие навели порядок в хаосе:--6-->


в феврале этого года (2017) W3C опубликовал Стандарта RFC 8081: тип носителя верхнего уровня "шрифт" что значительно упрощает соотвествующие типы средств массовой информации для файлы шрифтов:

эта заметка служит для регистрации и документирования типа носителя верхнего уровня "шрифт, под которым могут быть зарегистрированы подтипы для форматов представления шрифтов. Данный документ также служит регистрационной заявкой на набор предполагаемые подтипы, представляющие некоторые существующие подтипы уже используется, и в настоящее время зарегистрирован в дереве "приложение" по их отдельные регистрации.

вполне читаемый документ и описывает исторический контекст (отсутствие "Регистрация форматов шрифта"), что привело к запутанному сочетанию типов и подтипов носителей. С (относительно) недавним ростом популярности загружаемых веб-шрифтов W3C признал необходимость "интуитивный тип шрифта верхнего уровня". То, что они придумали, это ... font.

соответственно, IANA с тех пор обновили их официальный список СМИ типы С font тип носителя и все его подтипы, которые они в настоящее время распознают:

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

вот надеюсь, что это последний ответ на этот вопрос.


вот решение NGINX

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

добавить

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

удалить

application/octet-stream        eot;

спасибо Майк Фалчер

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


С марта 2013 года IANA.ORG рекомендует на .otf:
application/font-sfnt

другие шрифты:

.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)

посмотреть больше...


в пространстве электронных книг можно использовать следующее:

application/vnd.ms-opentype

Я бы предположил, что это то же самое для интернета.


приложение / шрифт-woff для woff: http://www.iana.org/assignments/media-types/application/font-woff


по состоянию на февраль 2017, RFC 8081 добавляет типы шрифтов/*, которые также перечислены в типы носителей IANA список. font/otf в этом списке.


может быть, это поможет кому-то. Я видел, что на IIS 7 .ttf уже известный MIME-тип. Он настроен как:

application/octet-stream

поэтому я просто добавил, что для всех типов шрифтов CSS (.oet, .svg, .ttf, .woff) и IIS начал обслуживать их. Инструменты Chrome dev также не жалуются на повторную интерпретацию типа.

Ура, Майкл!--7-->


один из способов заставить замолчать это предупреждение от Chrome было бы обновить Chrome, а затем убедитесь, что ваш тип mime является одним из них:

 "font/ttf"
 "font/opentype"
 "application/font-woff"
 "application/x-font-type1"
 "application/x-font-ttf"
 "application/x-truetype-font"

этот список за патч, найденный в ошибка 111418 at webkit.org.

тот же патч понижает сообщение с "предупреждения" до "журнала", поэтому просто обновление Chrome до любой версии post March-2013 избавит от желтого треугольника.

Так как вопрос заключается в глушении Chrome предупреждение, и люди могут держаться за старые версии Chrome по каким-либо причинам, я решил, что это стоит добавить.