проблема с лигатурой (лигатура шрифта открытого типа) в браузерах - PullRequest
3 голосов
/ 17 апреля 2011

Я редактирую шрифт с помощью редактора шрифтов fontforge, все хорошо, но в лигатуре, когда я хочу, чтобы лигатура из нескольких слов (пробел между ними) не работала в Firefox и Opera, она будет работать с Word Pad и Блокнотом.

это ошибка или лимит?что я должен сделать, чтобы решить проблему?примечание: я использую синтаксис @ font-face css для импорта шрифта, а шрифт - ttf.

Ответы [ 3 ]

2 голосов
/ 09 июня 2011

Создание лигатуры является дополнительной функцией в шрифте OpenType. Примерами лигатур являются склеенные наборы букв вроде, fi, ff, fl, ffi, ffl. Обычный шрифт с лигатурами - это Calibri, который стал шрифтом по умолчанию в Microsoft Office 2007.

Шрифт имеет таблицу соответствия, которая выглядит следующим образом:

f i -> fi
f l -> fl
f f -> ff
ff i -> ffi
ff l -> ffl

Когда вы вводите буквы в левой части уравнения, лигатуры, показанные справа, заменяют отображаемый в данный момент символ (будь то одна буква или уже сформированная лигатура). Наберите «трудный» внутри Блокнота, используя Calibri большого размера, чтобы увидеть это. Обратите внимание, что лигатура имеет несколько позиций курсора внутри. Вы можете остановить автоматическое формирование лигатуры, вставив скрытый символ ZWNJ (Zero Width non-Joiner, u200C, HTML- &#x200c) между буквами.

Firefox 4 формирует лигатуры без помощи CSS / SVG. MS Word может выполнять лигатуры, начиная с версии 2010, но его необходимо включить на вкладке «Дополнительно», AbiWord (бесплатная версия) также поддерживает его.

Посетите этот веб-сайт (используйте Firefox или Safari), который использует функцию лигатуры для отображения сложного сценария поверх транслитерированного текста.

Этот смартфон имеет 400 нечетных лигатур, которые Firefox и Safari отображают без труда даже после загрузки шрифта.

0 голосов
/ 25 февраля 2012

В Firefox нет способа заставить работать "многословную лигатуру";он не поддерживает лигатуры (или другие типы правил OpenType, такие как контекстные альтернативы) в промежутках между словами.

На самом деле это довольно распространенное ограничение;то же самое относится и к XeTeX, например.Пробелы между словами не обрабатываются так же, как обычные печатаемые символы во многих системах с разметкой текста, и поэтому поиск OpenType не будет соответствовать ожидаемому.

0 голосов
/ 17 апреля 2011

Конкретный пример был бы полезен, так как этот вопрос очень неясен.

Я предполагаю, что проблема в том, что вы пытаетесь получить доступ к функциям лигатуры, которые не являются частью шрифта по умолчанию (т. Е. Он должен быть включен как функция opentype).CSS не предоставляет способ указать функции opentype для активации.Извините.

Если это логотип или что-то подобное, вы можете просто создать текст в виде изображения, в виде чего-то вроде png или SVG.

Для короткого абзаца, SVGопять может подойти.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...