Управление предсказуемым рендерингом шрифтов в Firefox - PullRequest
0 голосов
/ 26 марта 2019

У меня Firefox на Docker и CentOS 7.5, а также на компьютере с CentOS 7.5, но без Docker, и я сравниваю снимок экрана со страницей, в которой используется известный веб-шрифт Roboto.

Обе среды имеют одинаковую точную версию Firefox и теоретически одну и ту же версию CentOS, но любая yum update может испортить вещи.

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

Мне нужно, чтобы меня контролировали, для целей автоматического тестирования и чтобы я не делал снова скриншоты.

Есть какие-нибудь подсказки о том, как это контролировать?

Верхнее изображение - CentOS внутри Docker, нижнее изображение - CentOS автономно:

Docker vs no Docker

Используется CSS:

Used CSS

** ОБНОВЛЕНИЕ **

После небольшой игры с font-kerning, text-rendering и font-smoothing текст имеет одинаковый интервал, но немного другой размер, а некоторые пиксели немного меняются:

[! [Верхний с докером, нижний без докера] [3]] [3]

1 Ответ

1 голос
/ 26 марта 2019

Не существует единого решения (как уже упоминалось здесь ), поскольку каждый браузер / ОС имеет свой собственный механизм рендеринга шрифтов.

Однако вы можете попробовать любое из этих свойств CSS, чтобы увидеть, могут ли они помочь вам в вашей проблеме (это никогда не будет 100%, но ручная работа с ними может приблизить вас достаточно близко:

.item {
  font-kerning: none/auto/normal/...;
  text-rendering: optimizeLegibility/...;
  font-smoothing: auto/normal/... 
}

или попробуйте что-то вроде letter-spacing

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

...