Подтвердить что ты не робот

Шрифт Awesome Icons не работает в некоторых браузерах

Я использую Bootstrap + Font Awesome, и все в порядке с большинством настольных и мобильных браузеров, но Font awesome icons не работают с каким-то браузером, как Opera Mobile, Opera Mini и некоторые версии Android-браузера. Отображает только пустой прямоугольник.

Кто-нибудь знает эту проблему? и есть ли решение?

Спасибо

[EDIT 2013-03-06! Важно] Я не мог найти никакой очевидной проблемы, поэтому я попытался с неслыханными решениями. Я попытался использовать два инструмента преобразования шрифтов в Интернете. Сначала я использовал http://www.freefontconverter.com/ для преобразования исходного файла FontAwesome svg в ttf. Затем я использовал http://www.font2web.com/ для преобразования этого .ttf в .eot,.woof anf.otf.

Результаты: opera mobile теперь правильно отображает значки. (я не знаю, какие изменения, но работает)

Проблема теперь Blackberry 6. Я тестировал @font-face с BB Curve 9300, Modernizr и Google шрифтами, и все в порядке. Но FontAwesome все еще не работает...


[EDIT 2013-03-01] Opera mobile 10+ поддерживает @font-face, поэтому проблема может быть другой. Я попробовал с другим шрифтом сервера с @font-face и работает нормально, но с FontAwesome я не могу правильно показывать значки.

enter image description here

[EDIT 2013-03-03] Проблема заключается не только в моем веб-сайте, в примерах веб-сайта Font Awesome и тестах не работают...

enter image description here

[EDIT 2013-03-4] Я пытаюсь сделать резервную копию с помощью функции обнаружения шрифтов "font-face", но опера Mobile и BlackBerry 6 возвращают true, потому что они поддерживают эту-feacture. Как я могу определить, загружен ли шрифт FontAwesome?

4b9b3361

Ответ 1

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

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

Вы можете использовать инструмент, например Font Forge, для проверки отличий от других шрифтов. Я заметил, что при попытке сгенерировать шрифт FontAwesome из Font Forge я получил ошибки проверки с интервалом em, и у глифов были ошибки (самопересечение, неправильное направление, отсутствие точек в экстремумах). Я видел это раньше в знаковых шрифтах и ​​никогда не имел проблемы, но я еще не тестировал Opera. Если вы сравниваете попытку создания шрифта с чем-то, что работает, вы, вероятно, можете уменьшить проблему.

Другое вещество Я уверен, что вы накрыли, но дважды проверяли:

Я читал здесь, что наличие локальной версии установленного шрифта может конфликтовать с вложением шрифта. https://github.com/FortAwesome/Font-Awesome/issues/247

Если вы взяли значок-шрифт, а затем добавили к нему свои собственные глифы, то использовали что-то вроде белки шрифта для создания всех безопасных в Интернете форматов, чтобы вы сказали генератору добавить диапазон юникодов созданных вами глифов. Однажды я забыл сделать это, и приложение добавило только глифы в диапазоне a-z. Простой способ проверить - посмотреть вкладку gyphs на странице demo html и убедиться, что все значки включены.

Вы используете правильное правило шрифта CSS3 и встраиваете eot, ttf, woff и svg, и вы немного подождали. Я заметил, что на некоторых старых iphones шрифт выводится навсегда.

Использование такого инструмента, как функция определения шрифта font-face modernizr, может немного облегчить некоторую поддержку между браузерами.

Мне интересно узнать, в чем проблема.

Ответ 2

Opera Mini не поддерживает шрифт как упоминается на официальном сайте http://www.opera.com/docs/specs/productspecs/

Один "грязный" маленький трюк, который я мог бы подумать, будет заключаться в том, чтобы преобразовать ваш шрифт в SVG и использовать его в вашем CSS, поскольку он частично поддерживается (как это также написано на их веб-сайте).

Что-то вроде

.icon{

 background-image: url(icon.svg);
 -o-background-size: 100% 100%;
 -webkit-background-size: 100% 100%;
}

Посмотрите также на ссылку выше http://www.w3.org/TR/SVGTiny12/fonts.html

UPDATE

Opera mini не поддерживает FontAwesome в IOS 6.1 font awesome fault in ios

Ни другие примеры шрифтов не работают (http://codepen.io/bennettfeely/full/ErFGv) enter image description here

Но использование SVG кажется отличным решением, доказательством концепции Исходный источник: http://dbushell.com/demos/css-sprites/ Более подробная информация о демо: http://coding.smashingmagazine.com/2012/01/16/resolution-independence-with-svg/

enter image description here

Ответ 3

РЕШЕНИЕ ДЛЯ OPERA MOBILE (без Opera Mini)

Я попытался использовать два инструмента преобразования шрифтов в Интернете. Сначала я использовал http://www.freefontconverter.com/ для преобразования исходного файла FontAwesome svg в ttf. Затем я использовал http://www.font2web.com/ для преобразования этого .ttf в .eot,.woof anf.otf.

Наконец, я заменил исходные файлы, и теперь Opera Mobile отображает значки должным образом.

Ответ 4

Для этого я знаю, что существует поддержка @font-face в Opera Mini и поддержка частичного @font-face в Andoroid с 2,2 до 3,0 (ранее версии для Android не поддерживали @font-face). См.: http://caniuse.com/fontface

Частичная поддержка, которую я знаю, означает, что они не поддерживают DRM-защищенные шрифты, и некоторый синтаксис, подобный синтаксису "смайлик", не работает для них.

Итак, если вы хотите показывать значки в Opera Mini и Android 2.1, вам нужно будет сделать резервную копию значков изображений. Если у вас проблемы с Android 2.2-3.0, вы можете исправить это, изменив синтаксис.

Ответ 5

Такие ошибки сообщаются для FortAwesome:

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

Ответ 6

  • Перейдите к http://icomoon.io/app/

  • Кнопка Icon Library

  • Добавить библиотеку Font Awesome

  • Выберите нужные иконки

  • Нажмите кнопку "Шрифт" (экспортируйте значки в шрифт css awesome)

  • Замените шрифты Awesome (ttf, svg и т.д.) с новыми шрифтами Awesome

CSS

 @font-face{
font-family:"FontAwesome";
src:url('../fonts/awesome/fontawesome.eot');
src:url('../fonts/awesome/fontawesome.eot?#iefix') format('embedded-opentype'),
url('../fonts/awesome/fontawesome.woff') format('woff'),    url('../fonts/awesome/fontawesome.ttf') format('truetype'),
        url('../fonts/awesome/fontawesome.svg#fontawesomeregular') format('svg');
font-weight:normal;font-style:normal;}.flag:before,.mobile:before{font-family:"FontAwesome";font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1;-webkit-font-smoothing: antialiased;display: inline-block; text-decoration: inherit;}.flag:before{content:"\f024";}.mobile:before{content:"\f10b";}

Я пробую это, а затем в Opera Mobile работают Awesome Fonts:)

Ответ 7

Возможно, это связано с кодировкой? Вы объявляете UTF-8 в своем документе, а также в таблице стилей?

<meta charset="UTF-8">

или

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

и в таблице стилей (обратите внимание, должна быть первая строка, первая колонка):

@charset "utf-8";

Ответ 8

Как ссылка, у меня была эта проблема, и проблема была в доменах. Некоторые браузеры, Firefox, в частности, отказываются загружать шрифты из другого домена (называемые Same domain policy). Заголовки

Access-Control-Allow-Origin "*"

В nginx, например, это настраивается следующим образом:

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

Должен быть установлен, а также помнить, что тип содержимого шрифтов должен быть

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

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

Ответ 9

У меня тоже были проблемы с отображением SVG-шрифта в Blackberry. Проблема заключается в имени svg (в документе), и имя семейства шрифтов должно быть одинаковым. Я нашел этот ответ здесь, в комментариях к последнему ответу:

@fontface на ежевике os 7

Ответ 10

используйте приложение icomoon http://icomoon.io/app/, чтобы изменить шрифт svg на веб-шрифты и заменить старый шрифт для шрифта Awesome. он работает для меня в оперном мобильном