Тип 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, перезапустите, и я надеюсь, что он работает и для вас!
Ответ 17
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
Это полезный список миметипов
Ответ 18
У меня была та же проблема, font/opentype работал у меня
Ответ 19
Тип Mime может быть не единственной проблемой. Если файл шрифта размещен на S3 или другом домене, вы можете дополнительно указать, что Firefox не будет загружать шрифты из разных доменов. Это легкое исправление с Apache, но в Nginx я прочитал, что вам может понадобиться кодировать файлы шрифтов в base-64 и вставлять их непосредственно в файл шрифта css.