Как я могу исправить лигатуры шрифтов TTF (tt, ti, fi, ff и т. д.) в Firefox?

19

С некоторыми шрифтами Windows есть проблема с отображением, где лигатура-кернинг, кажется, откидывается и делает две буквы жирным. Вот скриншот письма с использованием Helvetica в Firefox:

Как вы можете видеть, это похоже на то, как скрещенные символы ( t и f ) соединяются друг с другом и буквы типа i .

У меня была эта проблема в течение очень долгого времени (по нескольким системам) и задавалась вопросом, не видел ли кто-нибудь когда-либо подобные проблемы, и нашел способ их исправить.

Примечание. Я думаю, что это просто влияет на Firefox. Chrome и LibreOffice оба хороши.     

задан Oli 26.04.2012 в 09:30
источник

5 ответов

23

Другое решение, которое будет работать со всеми приложениями, включая Libre Office, предоставляется aldeby :

Отредактируйте или создайте файл ~/.fonts.conf и вставьте в него этот код:

<match target="font" >
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>

Обязательно сохраните структуру XML.

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

    
ответ дан Calimo 12.09.2012 в 12:15
источник
7

Отключение лигатур (см. Ответ fonts.conf от Calimo ) - это неправильное направление! Он может удалить эти наддутые «жирные» лигатуры в шрифтах типа Calibri , но это также устраняет некоторую красоту типографики. Это скорее похоже на сжатие шрифта, пока вы не можете отличить его.

Я решил это для своей системы, удалив шрифт Calibri, установив Carlito , который «метрически совместим с Calibri» и упакован с «записью отображения в fontconfig (local.conf)» и обновляет кеш шрифтов:

$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache

Затем вы можете проверить, что Карлито стоит за Калибри:

$ fc-match Calibri
Carlito-Regular.ttf: "Carlito" "Regular"

Прежде чем удалять Microsoft Calibri, я сохранил тестовый документ в LibreOffice, который использовал Calibri, и снял снимок экрана. После этого я вышел из LibreOffice, снова открыл его, а затем загрузил свой тестовый документ. Имя шрифта «Калибра» было выделено курсивом, чтобы указать, что оно было заменено. Я снял снимок этой замещенной версии и вставил ее под оригиналом:

Вышеприведенный текст представляет собой пару снимков экрана 13pt Calibri с Microsoft Calibri над Carlito в соответствии с fontconfig. Нет смелой, без форматирования, «парный кернинг» включен, как показано LibreOffice 5.0.5.1.

Carlito довольно близко к Calibri, лигатуры выглядят правильно, и это намного красивее в целом.

Вы можете сделать то же самое с Caladea для Cambria с fonts-crosextra-caladea , и вы можете использовать Шрифты Croscore Arimo, Tinos и Cousine для Arial , Times New Roman и Курьер New с fonts-croscore . Подробнее о Debian Подстановка шрифтов Калибра и Камбрии .

Этот вопрос задает вопрос о Helvetica , который предпочитает Apple sans-serif шрифт. Microsoft предпочла Arial перед изменением на Calibri. Отображение по умолчанию для Linux зависит от дистрибутива, но обычно это Nimbus Sans L , или Liberation Sans , например

$ fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

Если вы запустите это и получите Arial, это довольно хорошая причина для того, чтобы проблема с лигатурой была описана выше - Arial не является отличным шрифтом.

У Helvetica есть довольно окружающая его культура, и я не могу найти шрифт, который полностью « метрически совместимый "с Helvetica. Arial (и шрифты, метрически совместимые с Arial, включая Liberation Sans и его вилку, Arimo , имеют одинаковые ширины символов (что означает, что они «re» в основном «метрически совместимый»). Среди бесплатных шрифтов Liberation Sans и Nimbus Sans кажется , чтобы иметь самую схожую эстетику.

Я с нетерпением ожидаю выпуска 1.0 IBM Plex , нового шрифта с большими деньгами за ним (см. статью Fast Company на Поиски IBM для разработки «Новой Helvetica» ). Это предназначено для замены Helvetica (и шрифтов serif и monospace) во всех материалах IBM, поэтому я предполагаю, что шрифт sans-serif по крайней мере примерно соответствует метрике и / или эстетически похож на Helvetica как Arial и другие варианты. Первоначально прогнозировалось, что релиз Plex версии 1.0 будет достигнут в середине октября 2017 года, а его Github README пообещал это в «ближайшем будущем» с 2016/10/17. Font Squirrel имеет прекрасный вид образцов шрифтов Plex .

    
ответ дан Adam Katz 06.02.2016 в 02:32
6

ответ lgarzo будет работать только на веб-сайтах с классом «noligs» на текст (на большинстве веб-сайтов нет).

Чтобы глобально отключить лигатуры на всех сайтах, добавьте следующую строку в свой файл userChrome.css :

* { -moz-font-feature-settings: "liga" 0; }

Самый простой способ сделать это - создать новый стиль с стильным расширение.

    
ответ дан Calimo 05.07.2012 в 09:09
4

Несколько замечаний появилось у меня в голове, глядя на изображение:

  • Лигатуры кажутся сглаженными , а остальная часть текста - нет. Поэтому он выглядит более толстым, чем обычный текст (хотя я не могу отрицать, что он также выглядит полужирным шрифтом).
  • AFAIK шрифт Helvetica - это нестандартный шрифт , т. е. не поставляется с установками по умолчанию Windows. У вас он установлен, или это другой шрифт?

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

Вы можете отключить лигатуры в FF с помощью правила CSS ниже:

/* disable common ligatures, usually on by default */
.noligs { -moz-font-feature-settings: "liga" 0; }

Источник: Справочник по CSS: расширения Mozilla

    
ответ дан lgarzo 26.04.2012 в 10:02
0

В дополнение к ответам Calimo пользователи Archlinux могут найти справку Ссылка - Отключить растровые шрифты

Он предложил создать локальный файл конфигурации ~ / .config / fontconfig / conf.d / 20-no-embedded.conf, но я пошел на системную опцию

sudo touch /etc/fonts/conf.d/20-no-embedded.conf
sudo chmod 777 /etc/fonts/conf.d/20-no-embedded.conf
nano 777 /etc/fonts/conf.d/20-no-embedded.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

Затем просто перезапустите приложение (в моем случае thunderbird)

    
ответ дан Uzumaki D. Ichigo 02.06.2017 в 16:50