@ font-face сбрасывает буквы в Firefox - PullRequest
7 голосов
/ 17 октября 2011

У меня Museo-300 в основном работает с @ font-face, но определенные комбинации букв, такие как "ff" и "fi", исчезают в Firefox (подтверждено в v3.6 и v7.0.1).Таким образом, «микрофинансирование» становится «микрофинансированием».

Обратите внимание, что я выводю их как отдельные буквы, а не как лигатуры.Когда я просматриваю источник как на сервере, так и в браузере, например, «кофе» пишется со всеми шестью буквами отдельно, а не лигатурным символом юникода для «ff».

Вывод выглядит правильно в Opera, Chrome, Safari и IE (даже IE6).

Я скачал Museo-300 с MyFonts вместе с их примером веб-шрифта.

 @font-face {
 font-family: 'Museo-300';
 src: url('webfonts/151B6C_0.eot');
 src: url('webfonts/151B6C_0.eot?#iefix') format('embedded-opentype'),url('webfonts/151B6C_0.woff') format('woff'),url('webfonts/151B6C_0.ttf') format('truetype'),url('webfonts/151B6C_0.svg#wf') format('svg');
}

и все указанные файлы на месте.Я вызываю это так:

    font-family: 'Museo-300', sans-serif;

Я пробовал использовать другой шрифт в качестве теста (Code Pro Light Demo, также полученный от MyFonts) и Firefox dropps "fi", но не "ff" для этого.

Идея, что не так?

Ответы [ 4 ]

8 голосов
/ 08 января 2013

Для тех, кто читает это в будущем, обратите внимание, что с FF 15 (я думаю) синтаксис теперь изменился, и вам нужно будет использовать это:

-moz-font-feature-settings: "liga=0";
-moz-font-feature-settings: "liga" 0;
5 голосов
/ 10 января 2012

Вы можете сказать Firefox, чтобы он пропускал поиск лигатур и рассматривал их как обычные символы, добавив -moz-font-feature-settings: "liga=0" в декларацию font-face.

1 голос
/ 29 октября 2011

Myfonts.com недавно изменил некоторые настройки дисплея.Их поддержка отозвалась очень быстро со следующей информацией:

Если вы нажмете на изображение шрифта (изображение, показывающее образец), которое расположено прямо над опциями набора, вы увидите полный символустановить и сохранить параметры макета OpenType.

Это представление в настоящее время недоступно через Firefox, но я смог загрузить полные наборы символов с помощью IE9.

1 голос
/ 19 октября 2011

В случае, если другие столкнулись с этой проблемой, я решил ее с помощью технической поддержки MyFonts. Я не уверен, относится ли эта проблема к MyFonts, но подозреваю, что она влияет на другие источники веб-шрифтов.

Прямая (решаемая) причина

Когда стандартный шрифт True Type (TTF) обрабатывается в нескольких версиях, которые полезны для веб-шрифта (EOT, SVG, WOFF), инструмент обработки или поставщик может решить, следует ли включать полный набор символов шрифта , Некоторые по умолчанию используют уменьшенный набор символов, чтобы уменьшить размеры файлов.

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

(В частности, для MyFonts это было в «Истории заказов»> выберите соответствующий шрифт> вкладка «Конструктор комплектов Webfont»> «Дополнительно», затем отметьте «Полный набор символов» и «Сохранить макет OpenType».)

Основная причина

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

Я думаю, что Firefox делает все возможное, чтобы делать хорошую типографику, больше, чем другие браузеры. Поэтому, когда он видит что-то, что он может отобразить как ligature ("fi", "fl", "ff" и т. Д.), Он пытается отобразить буквы как один лигатурный глиф, а не как два отдельных персонажи. Если ваш веб-шрифт не содержит лигатурных глифов, ваши буквы исчезнут. (Если мои предположения верны, я удивляюсь, что раньше не читал об этой проблеме.)

...