LINUX.ORG.RU

Как сделать рендеринг шрифтов в браузере, как в W10?

 , ,


0

1

Добрый день друзья. Использую Fedora 33, и никак не могу настроить шрифты в браузере, чтобы страницы были идентичны тому, что видно в W10.

Что я пробовал:

  • Включил 10-sub-pixel-rgb.conf в /etc/fonts/conf.d/
  • Хинтинг слабый 10-hinting-slights.conf Пробовал Также полностью отключать.
  • lcd-filter-default.conf, также пробовал lcd-filter-light, но ничего не меняется.

В гноме шрифты выглядят более менее. Но я не могу пользоваться браузером, т.к привычка превилирует. Нужен рендеринг ровно, как в W10. Раньше вроде можно было с помощью infinality готовый конфиг взять и всё работало. Но как теперь сделать тоже самое с новым freetype? Прилагаю скриншот того, как выглядят шрифты, на примере ютуба. Как видно, в федоре шрифт какой-то жирный и более черный. Режет глаз. Я понимаю, что ценителям с ЛОРа рендеринг шрифтов в W10 покажется говном, но мне нравится. Картинка

UPD: Croscore шрифты (metric compatible к виндовых) смотрятся неплохо, но все-равно не то.

UPD: В Fedora 34 шрифты стали более менее, но все-равно в Win10 лучше. (я прочитал, что в Fedora 34 добавили поддержку harfbuzz во freetype, что бы это не значило, но виндовые шрифты выглядят норм при включенном sub-pixel-rendering). Приходится сидеть ан тестовом бранче (хотя, у меня stable федора вела себя, как тестинг большую часть времени)

UPD: Судя по всему проблема была в том, что хром (firefox тоже кстати) клали болт на ваш fontconfig в /etc/font/. им просто было по***й, они ищут всё в домашней директории

/etc/fonts/local.conf

<match target="pattern">
   <edit name="hinting" mode="assign">
      <bool>true</bool>
   </edit>
   <edit name="hintstyle" mode="assign">
      <const>hintfull</const>
   </edit>
   <edit name="autohint" mode="assign">
      <bool>false</bool>
   </edit>
    <edit name="antialias" mode="assign">
      <bool>true</bool>
   </edit>
   <edit name="rgba" mode="assign">
      <const>rgb</const>
   </edit>
</match>

~/.Xresources

Xft.antialias:			1
Xft.autohint:			0
Xft.dpi:			96
Xft.hintstyle:			hintfull
Xft.rgba:			rgb
Xft.lcdfilter:			lcddefault

~/.gtkrc-2.0

gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb"

~/.gtkrc-3.0

gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb"

Теперь шрифты, как в Win10. Всем спасибо

UPD: Все-равно чувствую что-то не то, не как в винде. Вроде бы тоже самое, но нагрузка на глаза выше. В итоге вернулся на grayscale сглаживание и hintfull.


А по-моему наоборот – в «федоре» шрифты чётче (если не считать заголовка вкладки, который словно без сглаживания вообще), а в «десятке» «мыло мылом».

Korchevatel ★★★★★ ()
Ответ на: комментарий от Korchevatel

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

Shniv ()
Ответ на: комментарий от Shniv

Боюсь, что не смогу помочь, я в шрифтах совсем «ни бум-бум», покрутил крутилки в настройках – и доволен.

Korchevatel ★★★★★ ()

Блин, ну реально же на Fedora четче. Я боюсь, что разработчики рендеринга в Linux просто не озаботились режимом «сделать хуже, но чтоб как в Windows» — у них цель сделать лучше.

Vsevolod-linuxoid ★★★★★ ()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1 )
Ответ на: комментарий от awesomenickname

попробуй переключиться на старый рендеринг FREETYPE_PROPERTIES=truetype:interpreter-version=35

Я так и не смог найти, где прописать это. В интернете пишут, что в /etc/profile.d/freetype.sh Но у меня такого файла нету. Так и быть. я его создал, вписал конфиг - ничего н е поменялось. Как узнать какой рендеринг используется?

Shniv ()
Последнее исправление: Shniv (всего исправлений: 1 )
Ответ на: комментарий от anonymous

https://lostpic.net/image/oLZm

Подскажите пожалуйста, что это за приблуда для шрифтов у вас на скрине? Хотелось бы настроить шрифты не в слепую, а то я правлю конфиги - и постоянно завершаю сеанс для проверки.

Shniv ()
Ответ на: комментарий от Shniv

Купить HiDPI монитор. В моем случае HP Z27 c ~160 DPI. Не сказать, что идеальные шрифты, но всяко получше чем при 100 DPI.

aquadon ★★★★★ ()
Ответ на: комментарий от Shniv

закрой браузер, в консоли пропиши и потом в ней же запусти заново. из /etc применится после перезагрузки ли может при релогине

anonymous ()
Ответ на: комментарий от Shniv

Это просто скриншоты совмещенные. Сеанс не обязательно завершать, это переменные окружения можно запускать программу изменяя их

env FREETYPE_PROPERTIES="truetype:interpreter-version=35" chromium

Делаем скриншот
Закрыть хром и с другой версией запускаем

env FREETYPE_PROPERTIES="truetype:interpreter-version=40" chromium

И с 38 тоже самое

Изменения в font config тоже после перезагрузки приложения применяются. Он читается при запуске приложения

anonymous ()
Ответ на: комментарий от Vsevolod-linuxoid

Я боюсь, что разработчики рендеринга в Linux просто не озаботились режимом «сделать хуже, но чтоб как в Windows» — у них цель сделать лучше.

Как раз наоборот, они старательно делают хуже.

mord0d ★★★★★ ()

Все что можно было сделать ты уже сделал (только хинтинг, скорее полный должен быть)

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

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

Единственное практическое решение, как по мне, переключиться на greyscale и привыкнуть

Midael ★★★★★ ()

Я вроде смог сделать нечто похожее, удалить sub-pixel-rgb и lcdfilter впринципе. Но шрифты все-равно какие-то черные. Я тут прилагаю картинку в 800% увеличении. Видно, что начертания очень похожи, но справа как-то много черного (справа это федора, а слева вин10).Картинка 800% zoom

Shniv ()
Последнее исправление: Shniv (всего исправлений: 1 )
Ответ на: комментарий от Shniv

Неужели это так принципиально? Шрифты выглядят одинаково хорошо, чуть темнее мне больше по вкусу.

anonymous ()

Прилагаю скриншот того, как выглядят шрифты, на примере ютуба.

ШГ на обоих, но на винде шрифты суше, тоньше, а на федоре жирнее, размазанней

Раньше вроде можно было с помощью infinality готовый конфиг взять и всё работало.

Зачастую конфига было недостаточно. Надо было патчить freetype, cairo, fontconfig.

Как узнать какой рендеринг используется?

Кратко:

Уясняешь версию freetype, cairo и fontconfig в дистре. Памятуя эти заветные цифири, чешешь в /usr/include/freetype2/freetype/config/ftoption.h и смотришь там как в твоем дистре сконфигурированы фундаментальные вещи, определяющие уровень ШГ:

FT_CONFIG_OPTION_SUBPIXEL_RENDERING
TT_CONFIG_OPTION_SUBPIXEL_HINTING 

Читаешь там же в ftoption.h что такое Value 1 (38), 2 (40), 3 (38 и 40) для TT_CONFIG_OPTION_SUBPIXEL_HINTING

Это важно. Выше тебе посоветовали попробовать переключать FREETYPE_PROPERTIES=truetype:interpreter-version

Так вот например если у тебя

/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  1         */

#define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2

/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  ( 1 | 2 ) */

то ты можешь переключаться только между 35 и 40, а для того чтобы переключаться между 35, 40, 38

нужно чтобы третья строка имела вид

#define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )

А теперь тебя ждут патчи Infinality и вопросы интеграции их с современными версиями freetype, …

Смотри сюда https://aur.archlinux.org/packages/?O=0K=infinality https://github.com/archfan/bob-infinality-bundle/commits/master

сюда можно https://gist.github.com/cryze/e002e7057435f02cc7894b9e748c5671

После наложения патчей:

  • 2- симлинки и /etc/profile.d/freetype.{csh,sh}

    • 2-А симлинки и /etc/profile.d/infinality.sh
  • 3- полировка настройкой .Xresources , ~/.config/fontconfig/fonts.conf , .gtkrc-2.0, .gtkrc-3.0

В интернете пишут, что в /etc/profile.d/freetype.sh Но у меня такого файла нету.

Cоздай сам и впиши переменную.

А может ты бы обошелся и без патчей, а только симлинками и пунктом 3.

Огромная тема.

P.S.

У меня YT выглядит так

Это SalixOS 14.2

igor_ubuntu ()
Последнее исправление: igor_ubuntu (всего исправлений: 1 )
Ответ на: комментарий от anonymous

Неужели это так принципиально? Шрифты выглядят одинаково хорошо, чуть темнее мне больше по вкусу.

Я пытался. Проблема в том, что я несколько часов каждый день должен сидеть за машиной на Вин10. Потом приходят домой хочу загрузить федору и увидеть тоже самое. А то приходится пару часов привыкать, каждый раз мутит в глазах. Я тут туже самую картинку с 800% закгрузил без увеличения. Что скажете? Сравнение после выключения subpixelrgb и хинтинга, а еще lcdfilter отключил

Shniv ()
Последнее исправление: Shniv (всего исправлений: 1 )
Ответ на: комментарий от Shniv

1:1 ты не получишь существующими средствами на Линуксе, а вот на Винде можешь фритайп прикрутить, mactype вроде программа называлась.

e1nste1n ★★★★★ ()
Ответ на: комментарий от e1nste1n

А вот этого я не знаю.

У меня со шрифтами проблем нет, потому свою конфигурацию я шатать не буду ради тестов. ☺

mord0d ★★★★★ ()

браузер смени

anonymous ()
2 марта 2021 г.

Установил OpenSUSE, там по дефолту вместо виндовых шрифтов используются Croscore шрифты. (30-metric-aliases.conf) Arimo даже лучше Arial. Arimo при слабом хинтинге выглядит четче, чем Arial при высоком хинтинге. Короче, проблема решена. Все-таки проблема была в том, что виндовые шрифты не приспособлены к странному фритайпу.

Shniv ()
Последнее исправление: Shniv (всего исправлений: 1 )

Картинка

Оба два выглядят как говно.

Ты шрефты-то скопировал?

LamerOk ★★★★★ ()
Ответ на: комментарий от anonymous

вы сударь гений, но видать гамма как-то по хитрому в вин10. я поставил в опенсусе гамму 115%, шрифты стали норм, все остальное белое. предполагаю где-то есть настройка для гаммы шрифтов?

Shniv ()
Ответ на: комментарий от Shniv

хз. может в самом браузере где-то?

anonymous ()

Прогресс это отстой, верните регрессоров в каменный век )) Может у тебя W10 некорректно настроен, шрифты страшные )

One ★★★★★ ()
Ответ на: комментарий от anonymous

возможно дело ещё в гамме. красный цвет иконок тоже отличается.

скопировал icc профиль из под винды (c/windows/system32/spool/drivers/color/*.icm), установил при помощи colord-kde и всё стало отображаться нормально, как в винде. большое спасибо за наводку по гамме.

Shniv ()
Ответ на: комментарий от Shniv

и вам спасибо, полезная тема получилась.

anonymous ()

Я понимаю, что ценителям с ЛОРа рендеринг шрифтов в W10 покажется говном, но мне нравится.

Ну а что ты хотел, думаешь красные глаза это миф?

chenbr0 ()
Ответ на: комментарий от chenbr0

И бесконтрольные порывы запостить что-нибудь на ЛОР под анонимом.

rupert ★★★★★ ()
Ответ на: комментарий от anonymous

Оказывается, это у меня уже стоит. Годно на 2K. На 4K не заморачивался; всё и так устраивает.

rupert ★★★★★ ()

ШГ

Шрифты все-равно говно. На Win 10 лучше.

Shniv ()

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

anonymous ()

Вообщем в Fedora 34 произошло чудо и рендиринг виндовых шрифтов стал 1:1 с виндовым рендерингом, это успех.

Shniv ()

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

anonymous ()

Проблема решена, теперь шрифты такое же ШГ, как в Win10. Я доволен. Обновил шапку, вдруг из поиска кто прийдет.

Shniv ()
Последнее исправление: Shniv (всего исправлений: 1 )
Ответ на: комментарий от Shniv

Я похоже сумасшедший, теперь я не могу смотреть, как выглядят шрифты в винде, похожу буду ставить фритайп в вин10.

Shniv ()
Ответ на: комментарий от chenbr0

в шеле норм шрифты. красноглазие из за немытых рук которыми трут глаза

beeeeen ()
21 января 2022 г.

ну так на винде и есть полный хинтинг.

NonameKiriLL ()
25 февраля 2022 г.
Ответ на: комментарий от Osmos

Ты в итоге остановился на федоре с hintfull и grayscale? Тоже ищу способ, как сделать шрифты «менее черными»

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

Shniv ()
Ответ на: комментарий от Shniv

но видать все разработчики фритайпа / линукс дистрибутивов в целом сидят на ретинаподобных панелях за много денег им им наплевать на проблемы рендиринга у простых людей с fullhd.

Насколько я помню, это правда. По крайней мере некоторые проблемы игнорировались по причине «у меня на HiDPI норм». Но у меня тоже такие мониторы, так что да, в каком-то смысле «норм».

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.