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



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




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




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



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




  • font / otf

  • application / font-otf

  • приложение/шрифт

  • application / otf

  • application / octet-stream

  • application / x-font-otf

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

907   14  

14 ответов:

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

обновление 26 февраля 2015: WOFF2 теперь находится в проекте редактора W3C с предлагаемым типом mime. Вероятно, он должен быть представлен IANA в следующем году (возможно, к концу 2016 года) после более позднего сроки выполнения работ. А также SFNT, формат шрифта scalable / spline container, используемый в ссылке на базовую таблицу веб-шрифты Google с их библиотекой sfntly java и уже зарегистрирован как тип 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. Для шрифтов OTF не существует стандартного типа MIME.

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

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

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

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

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

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

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

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

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

FWIW относительно Apache 2.2 VirtualHosting и 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".

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

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

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

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

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

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

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


в феврале этого года (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

file

/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 рекомендует на .ОТФ:
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 Media Types список. font/otf в этом списке.

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

application/octet-stream

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

Ура, Майкл

один из способов заставить замолчать это предупреждение от 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 по каким-либо причинам, я решил, что это стоит добавить.

Comments

    Ничего не найдено.