Тип Mime для шрифтов WOFF?

Какой тип mime должен использоваться шрифтами WOFF?

Я использую шрифты truetype (ttf) как font/truetype и opentype (otf) как font/opentype, но я не могу найти правильный формат для шрифтов WOFF.

Я пробовал font/woff, font/webopen и font/webopentype, но Chrome все еще жалуется:

"Ресурс интерпретируется как шрифт, но передается с помощью приложения MIME-типа/октета-потока."

Кто-нибудь знает?

Ответ 1

Обновление от комментарий Кита Шоу от 22 июня 2017 года:

По состоянию на февраль 2017 года предложенный стандарт RFC8081. Он определяет тип медиафайлов верхнего уровня для шрифтов, поэтому стандартный тип носителя для WOFF и WOFF2 выглядит следующим образом:

font/woff

font/woff2


В январе 2011 года было объявлено, что тем временем Chromium узнает

application/x-font-woff

как тип mime для WOFF. Я знаю, что это изменение теперь находится в бета-версии Chrome, и если оно еще не стабильно, оно не должно быть слишком далеко.

Ответ 2

Для меня следующий - работа в файле .htaccess.

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
AddType font/woff2 .woff2   

Ответ 3

Это будет application/font-woff.

см. http://www.w3.org/TR/WOFF/#appendix-b (Рекомендация кандидата W3C от 04 августа 2011 г.)

и http://www.w3.org/2002/06/registering-mediatype.html

Из примечаний шрифта Mozilla css

В Gecko веб-шрифты подвергаются одному и тому же ограничению домена (файлы шрифтов должны быть в том же домене, что и страница, использующая их), если только для доступа к этому ограничению не применяются средства управления доступом HTTP. Примечание. Поскольку нет определенных типов MIME для шрифтов TrueType, OpenType и WOFF, тип MIME указанного файла не рассматривается.

источник: https://developer.mozilla.org/en/CSS/@font-face#Notes

Ответ 4

Ссылка для добавления шрифтов MIME-типов в .NET/IIS

через web.config

<system.webServer>
  <staticContent>
     <!-- remove first in case they are defined in IIS already, which would cause a runtime error -->
     <remove fileExtension=".woff" />
     <remove fileExtension=".woff2" />
     <mimeMap fileExtension=".woff" mimeType="font/woff" />
     <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

через IIS Manager

screenshot of adding woff mime types to IIS

Ответ 5

NGINX SOLUTION

файл

/etc/nginx/mime.types

или же

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

добавлять

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

Удалить

application/octet-stream        eot;

РЕКОМЕНДАЦИИ

RFC @02.2017

https://tools.ietf.org/html/rfc8081#page-15

https://www.iana.org/assignments/media-types/media-types.xhtml

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

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

Ответ 6

По состоянию на февраль 2017 года RFC8081 является предлагаемым стандартом. Он определяет тип медиафайлов верхнего уровня для шрифтов, поэтому стандартный тип носителя для WOFF и WOFF2 выглядит следующим образом:

font/woff
font/woff2

Ответ 7

Нет типа font MIME! Таким образом, font/xxx ВСЕГДА ошибается.

Ответ 8

@Nico

В настоящее время нет определенного стандарта для типа mime woff font. Я использую службу cdn доставки шрифта, и он использует font/woff, и я получаю такое же предупреждение в chrome.

Ссылка: Права доступа к Интернету

Ответ 9

Это помогло мне добавить это в мой инициализатор mime_types.rb:

Rack::Mime::MIME_TYPES['.woff'] = 'font/woff'

и уничтожить кеш

rake tmp:cache:clear

перед перезагрузкой сервера.

Источник: https://github.com/sstephenson/sprockets/issues/366#issuecomment-9085509

Ответ 10

Добавьте следующее в ваш .htaccess

AddType font/woff woff

удачи

Ответ 11

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

application/octet-stream

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

Cheers, Майкл

Ответ 12

Уофф:

  • Формат Web Open Font
  • Он может быть скомпилирован с контурами TrueType или PostScript (CFF)
  • В настоящее время поддерживается FireFox 3.6 +

Попробуйте добавить это:

AddType application/vnd.ms-fontobject .eot
AddType application/octet-stream .otf .ttf

Ответ 13

IIS автоматически определяет .ttf как application/octet-stream, который, кажется, работает нормально, и fontshop рекомендует .woff быть определенным как application/octet-stream

Ответ 14

У меня была такая же проблема всего лишь минуту назад, и это решение, которое сработало для меня:

font/opentype

Ответ 15

Для всех Решение index.php удаляет форму url и woff файла. для написания ниже кода в файле .htaccess и внесения этого изменения в файл application/config/config.php: $ config ['index_page'] = '';

Только для сервера хостинга Linux. .htaccess Сведения о файле

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

Ответ 16

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

location ~* \.(eot|otf|ttf|woff|woff2)$ {
    add_header Access-Control-Allow-Origin *;
}

Внутри скобок вы можете поместить расширения ваших шрифтов или, как правило, файлы, которые вы хотите загрузить. Например, я использовал его для шрифтов и для изображений (png, jpg и т.д.), А также, чтобы не запутаться, что это решение применимо только для шрифтов.

Просто поместите его в конфигурационный файл nginx, перезапустите, и я надеюсь, что он работает и для вас!

Ответ 18

У меня была та же проблема, font/opentype работал у меня

Ответ 19

Тип Mime может быть не единственной проблемой. Если файл шрифта размещен на S3 или другом домене, вы можете дополнительно указать, что Firefox не будет загружать шрифты из разных доменов. Это легкое исправление с Apache, но в Nginx я прочитал, что вам может понадобиться кодировать файлы шрифтов в base-64 и вставлять их непосредственно в файл шрифта css.