Не удалось декодировать загруженный шрифт



это ошибка, которую я получаю в Chrome и, к сожалению, поиск его не дал мне много результатов. Сам шрифт отображается правильно. Однако я все еще получаю эту ошибку/предупреждение. Более конкретно, это полное предупреждение:




" не удалось декодировать загруженный шрифт:
http://localhost:8000/app/fonts/Lato/"




мой CSS таковы:



@font-face {
font-family:"Lato";
src: url("../fonts/Lato/");
}

html, body {
font-family:'Lato';
}


Я просто не понимаю. Шрифт применяется правильно, но предупреждение всегда есть. Пытаюсь использовать Sans-Serif заставляет шрифт вернуться к обычному шрифту браузера, так что это может быть, но я не уверен, и даже после поиска я ничего не нашел. Спасибо!



EDIT



есть различные файлы шрифтов, все из той же семьи. Я пытаюсь загрузить их все. Файлы шрифтов .ttf. Я загружаю их из локальной папки, и есть различные шрифтовые файлы, такие как Lato-Black.ttf,Lato-Bold.ttf,Lato-Italic.ttf etc.

1940   14  

14 ответов:

в правиле css вы должны добавить расширение файла. Этот пример с максимально возможной поддержкой:

@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('webfont.woff') format('woff'), /* Pretty Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

переход из формата ('woff') в формат ('font-woff') поможет мне решить эту проблему только сейчас.

просто измените небольшое изменение здесь от Germano Plebani answer

 @font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('webfont.woff') format('font-woff'), /* Pretty Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

пожалуйста, проверьте, если Ваш браузер источники могут открыть его и какой тип

я испытал аналогичную проблему в Visual Studio, которая была вызвана неправильным url() путь к шрифту в вопрос.

я перестал получать эту ошибку после смены (например):

@@font-face{
    font-family: "Example Font";
    src: url("/Fonts/ExampleFont.eot?#iefix");

для этого:

@@font-face{
    font-family: "Example Font";
    src: url("../fonts/ExampleFont.eot?#iefix");

убедитесь, что ваш сервер отправляет файлы шрифтов с правом mime / type.

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

я исправил проблему, добавив недостающие типы mime в том месте, где они мне были нужны:

location /app/fonts/ {

  #Fonts dir
  alias /var/www/app/fonts/;

  #Include vanilla types
  include mime.types;

  #Missing mime types
  types  {font/truetype ttf;}
  types  {application/font-woff woff;}
  types  {application/font-woff2 woff2;}
}

вы также можете проверить это для расширения mime.типы в nginx: расширения по умолчанию nginx mime.типы файлов

у меня просто была такая же проблема, и я решил ее, изменив

src: url("Roboto-Medium-webfont.eot?#iefix")

до

src: url("Roboto-Medium-webfont.eot?#iefix") format('embedded-opentype')

для меня эта ошибка возникла, когда я ссылался на шрифт google с помощью https. Когда я переключился на http, ошибка исчезла. (и да, я пробовал это несколько раз, чтобы подтвердить, что это было причиной)

Я:

@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,100,500,900);

To:

@import url(http://fonts.googleapis.com/css?family=Roboto:300,400,100,500,900);

мне пришлось добавить type="text/css" в моей ссылке-теге. Я изменил его с:

<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700" rel="stylesheet">

to:

<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700" rel="stylesheet" type="text/css">

после того как я его поменял ошибка исчезла.

У меня была та же проблема с font awesome v4.4, и я исправил ее, удалив формат woff2. Я получал предупреждение только в Chrome.

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.4.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

иногда эта проблема возникает, когда вы загружаете/загружаете шрифты, используя неправильный метод FTP. Шрифты должны быть FTP-ed с использованием двоичного метода, а не ASCII. (В зависимости от вашего настроения, это может показаться нелогичным, lol). Если вы ftp файлы шрифтов с помощью метода ASCII, вы можете получить это сообщение об ошибке. Если вы ftp-файлы с помощью метода "auto", и вы получаете это сообщение об ошибке, попробуйте ftp принудительно двоичный метод.

в моем случае это было вызвано неправильным файлом пути, in .htaccess. пожалуйста, проверьте правильность пути к файлу.

У меня также была такая же проблема, но я решил, добавив "Content-Type": "application/x-font-ttf" в заголовке ответа для всех .ttf файлы

в моем случае это было вызвано созданием файла патча SVN, который включал добавление файлов шрифтов. Вот так:

  1. добавить файлы шрифтов из локальной файловой системы в subversioned trunk
  2. ствол работает как ожидалось
  3. создать SVN патч изменений магистрали, чтобы включить добавление файлов шрифтов
  4. применить патч к другой ветви
  5. файлы шрифтов добавляются в ветку subversioned (и могут быть зафиксированы), но повреждены, давая ошибки в ОП.

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

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

Edit

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

Если вы используете Express вам нужно обслуживать статического контента, добавив что-то вроде: var server = express(); сервер.использовать(экспресс.статический.'(/общественных')); // где общественность корневой папке приложения, шрифты, содержащиеся в нем, на любом уровне, т. е. общественных/Fonts или общественных/дист/шрифты... // Если вы используете connect, google для аналогичной конфигурации.

Comments

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