Почему шрифт Firefox отображается таким жирным?

Почему шрифт Firefox отображается таким жирным?

Когда я сравниваюhttps://www.example.comв Chrome и Firefox я вижу более смелые результаты в Firefox, чем в Chrome.

Почему это так? И как это исправить?

(Верхний скриншот — Chrome, нижний — Firefox.)

Скриншот

решение1

Интервал немного отличается, но я думаю, что это оптическая иллюзия, основанная на сглаживании и цветах краев. Вот несколько фрагментов, увеличенных до 800%:

Chrome, затем Firefox жирным шрифтом:

введите описание изображения здесь
введите описание изображения здесь

Обычный текст Chrome:
введите описание изображения здесь

Обычный текст Firefox:
введите описание изображения здесь

Темный вид буквы создается "средней" или коллективной темнотой нескольких соседних пикселей. В некоторых случаях один браузер будет отображать вертикальную полосу обычной буквы с двумя темными пикселями, а другой будет использовать центральный очень темный пиксель, окруженный пикселями двух светлых цветов, или один будет использовать два средне-темных цвета рядом, а другой будет использовать очень темный цвет рядом со светлым цветом. Хорошие примеры: t(первый символ первой строки) и pl(второй и третий символы второй строки.

Более темные цвета сглаживания на левой стороне eделают рендеринг Chrome более широким, чем версия Firefox. Вертикальная полоса dвыглядит жирнее в Firefox, а вертикальная полоса bвыглядит жирнее в Chrome.

Чтобы получить более конкретную информацию, сравните строчную mпервую букву второй строки обычного текста. Для этого символа Firefox выглядит жирнее, если смотреть на вертикальные линии. Почему?

Оба браузера отображают вертикали как три столбца пикселей, поэтому линии на самом деле имеют одинаковую ширину. Однако цвета компонентов делают вертикали Firefox шире. Очень светлые цвета влияют на видимую ширину меньше, чем темные цвета. Средние и темные цвета (значение яркости не намного больше 50%) оказывают наибольший эффект. Я взял образец цвета каждой вертикальной полосы и преобразовал его в значение яркости с помощью цветового пространства HSL:

введите описание изображения здесь

У первых ног есть очень темная центральная полоса с пограничной темной полосой рядом с ней. Полосы Firefox немного темнее.

Для средней ноги Chrome имеет только одну темную полосу, и она очень темная (черная). Firefox имеет одну темную полосу и одну среднюю темную полосу, обе «намного» светлее черной полосы Chrome. Но они обе достаточно темные, чтобы восприниматься как темные, поэтому нога Firefox кажется шире.

Для правой ноги Chrome имеет одну темную полосу, а Firefox — две средние темные полосы. Они обе существенно светлее темной полосы Chrome, но достаточно темные, чтобы восприниматься как темные, поэтому, опять же, эта нога выглядит шире в Firefox.

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

введите описание изображения здесь

Если смотреть на символы нормального размера, общее количество «темного» в контуре символа и, в некоторой степени, видимая ширина линии, более или менее создают иллюзию жирности. На приведенной выше диаграмме объединены значения темности для всех ног буквы m. Firefox mна 15% темнее, чем Chrome m. Как было описано ранее, видимая толщина линии больше в Firefox, но это не так заметно при нормальном размере и скорости просмотра.

Итак, Firefox mвыглядит жирнее, чем Chrome. Но обратите внимание, что это меняется от символа к символу. Первая буква t, третья буква, b, the fв "for", затем pи tперед the hво второй строке — среди символов, которые выглядят жирнее в Chrome по той же причине.

В некоторых буквах одна из вертикалей выглядит жирнее в одном браузере, а другая вертикаль той же буквы выглядит жирнее в другом браузере. Например, hand uв "without" во второй строке.

решение2

При внимательном рассмотрении этих снимков экрана при большом увеличении становится ясно, что верхние (Chrome) глифы на самом деле немного шире и жирнее нижних (Firefox).

Оба используют субпиксельное сглаживание с соответствующим порядком RGB для большинства современных дисплеев при собственном разрешении, хотя детали кернинга и хинтинга различаются. Обратите внимание, что в конце первой строки пара "Yo" находится дальше друг от друга в Chrome (что свидетельствует о плохом кернинге), и вся строка занимает немного больше места.

Может возникнуть путаница, если вы используете монитор в перевернутом или портретном положении, или с неродным разрешением, или если это ЭЛТ. Любое из этих действий нарушает предположения о субпиксельном сглаживании, и вам следует настроить свою ОС соответствующим образом.

Связанный контент