LINUX.ORG.RU

fontfonfig из debian buster

 , ,


0

1

Обновил дебиан, установился fontconfig (а может ещё что-то) из buster. Шрифты стали — вырви глаз, слишком заглаженные (отсутствие сколько-нибудь резких границ создаёт эффект несфокусированного глаза, читать невозможно, тяжело): https://paste.pics/1fa0791b1160ab9d2ded07d0dad16fe1

Тяжело читать. Я умею в fonts.conf записать такое:

    $ cat ~/.fonts.conf
    <match target="font">
            <edit name="antialias" mode="assign">
                    <bool>true</bool>
            </edit>
    </match>

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

Что ещё можно сделать? И сразу вопрос дальше, как для современного Qt/Gtk задать шрифты?

В чём вообще может быть проблема? Последние изменения:

$ cat /var/log/dpkg.log | grep 2018-05-2| grep font |grep upgrad
2018-05-22 13:14:20 upgrade fontconfig-config:all 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:22 upgrade libfontconfig1-dev:amd64 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:23 upgrade libfontconfig1:amd64 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:24 upgrade libfontconfig1:i386 2.11.0-6.3 2.13.0-5


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

Загони export FREETYPE_PROPERTIES=truetype:interpreter-version=35 куда-нибудь вроде /etc/profile

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

Запускал программу waterfall. В ней нет такого эффекта (или шрифты выбирал не те — а как ткнуть пальцем в экран и сказать какой в этом месте шрифт используется? Раньше вот... ууух... editres был). Вот достаточно поганые шрифты в мозилле на лоре, прямо в окне где текст пишу. А иногда и ничего бывают, на других сайтах.

Вот в waterfall эффект размытия приуменьшается если subpixel smoothing типа RGB выбрать (а BGR наоборот, буквы синеют). Хотя здесь (https://wiki.archlinux.org/index.php/font_configuration#Anti-aliasing) пишется, что мол RGB/BGR без разницы.

Вокруг букв заметны цветные ореолы, красно-синие (особенно если белые буквы на синем фоне), как в лоре. Да ну аж мельтешит в глазах, читать тяжело. Вот поймал эффект за руку: http://image.ibb.co/kkvhD8/xmag.png

И неудобно, как пробовать менять fonts.conf, чтоб сразу смотреть что получается?

Вписал так пока:

<match target="font">
	<edit name="antialias" mode="assign">
		<bool>true</bool>
	</edit>
	<edit name="rgba" mode="assign">
		<const>rgb</const>
	</edit>
        <edit name="lcdfilter" mode="assign">
		<const>lcddefault</const>
        </edit>
</match>

Добился таких результатов: http://image.ibb.co/cnFcfo/bad.png

По-умолчанию левый верхний был. Сейчас правый нижний. Резкость повысилась, но мельтешат цвета в глазах.

Да что же такое??? Раньше (в стабильном дебиан, два года назад) был нормальный антиалиасинг! И резкий и чёткий и не цветастый. Лучше чем на виндах. Вот с виндами сравнил:

http://image.ibb.co/mjJDLo/win.png

Слева линукс, справа винда. В виндах буквы чётче, резче и не такие цветастые.

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

Версию переключать без толку. Заметное улучшение достигнуто при такой конфигурации:

<match target="font">
	<edit name="antialias" mode="assign">
		<bool>true</bool>
	</edit>
	<edit name="rgba" mode="assign">
		<const>rgb</const>
	</edit>
        <edit name="lcdfilter" mode="assign">
		<const>lcdlight</const>
        </edit>
</match>

Но всё равно слишком жирный красный, слишком жирный синий, буквы толще и кажутся несфокусированными, размытыми: http://image.ibb.co/j8o4vo/badfont.png

Да и вставка в ~/.fonts.conf чего-то меня «радует» тоже. У меня на работе два монитора и из дома зайти могу. А настройка только под один рабочий монитор получается.

На втором мониторе остался сейчас браузер запущенный до обновления, так там нормальные все буквы! :-( Как бы всё вернуть взад. Там нет subpixel antialiasing'а, но при этом сами буквы не рендерятся такими жирными — проблема именно в увеличенной «жирноте».

Вот она ясная демонстрация проблемы, показывающая как было раньше, и как осталось на втором мониторе, и как стало сейчас: http://image.ibb.co/cVoXy8/fontconfig.png

Хочу вернуть хотя бы как раньше. Да, переменная окружения с версией ни на что не влияет.

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

Проблема где-то здесь:

018-05-22 13:14:16 upgrade libfreetype6-dev:amd64 2.6.3-3+b1 2.8.1-2
2018-05-22 13:14:18 upgrade libfreetype6:i386 2.6.3-3+b1 2.8.1-2
2018-05-22 13:14:19 upgrade libfreetype6:amd64 2.6.3-3+b1 2.8.1-2
2018-05-22 13:14:20 upgrade fontconfig-config:all 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:22 upgrade libfontconfig1-dev:amd64 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:23 upgrade libfontconfig1:amd64 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:24 upgrade libfontconfig1:i386 2.11.0-6.3 2.13.0-5

Сделать даунгрейд не получается лёгким способом. 2.6.3-3+b1 уже нет в репозиториях! Но работать с такими шрифтами невозможно же вообще. Т.е. раньше было более-менее нормальное, хоть и немного хуже виндового, отображение freetype шрифтов, а сейчас просто невозможное. Ну в Vim можно включить не-freetype шрифты и успокоиться. Но в браузере? Смешно же. 10 лет в линуксе были нормальные шрифты и бах, стало ужасно и всем пофиг.

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

В ~/.Xresources пропиши:

Xft.hinting: 1
Xft.autohint: 0
Xft.hintstyle: hintslight
Xft.antialias: 1
Xft.rgba: rgb
Xft.lcdfilter: lcddefault
Попробуй также с полным хинтингом - hintstyle: full

Соответственно в ~/.fonts.conf пропиши:

<?xml version='1.0'?>
<fontconfig>
  <match target="font">
    <edit mode="assign" name="hinting"><bool>true</bool></edit>
    <edit mode="assign" name="autohint"><bool>false</bool></edit>
    <edit mode="assign" name="hintstyle"><const>hintslight</const></edit>
    <edit mode="assign" name="antialias"><bool>true</bool></edit>
    <edit mode="assign" name="rgba"><const>rgb</const></edit>
    <edit mode="assign" name="lcdfilter"><const>lcddefault</const></edit>
  </match>
</fontconfig>

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

Я недавно собирал себе freetype 2.8 в стретче, и мне понравилось. Шрифты почти как в 2.5 были, только чуть светлее. А вот в 2.6 имхо мыльное вырвиглазие. Но у меня 140 dpi на ноуте, возможно на 96 другие ощущения.

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

Даунгрейд возможен. Подключи репу stretch в /etc/apt/sources.list:

deb http://mirror.yandex.ru/debian/ stretch main contrib non-free
deb-src http://mirror.yandex.ru/debian/ stretch main contrib non-free
Потом apt-get update и можно собирать старый freetype (если нужно, могу дать инструкцию как). Вероятно, что можно просто поставить его через apt-get install -t stretch, но я не пробовал. Всегда собираю, если нужно что-то из других веток. Собственно, сам сижу в стейбле на древнем 2.5, ибо 2.6 мои глаза не одобрили.

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

Спасибо. От хинтинга мало что зависит, основную проблему вносит другой алгоритм антиалиасинга. Его можно отключить и наслаждаться шрифтами из начала 2000-х годов (когда libfreetype не было что ли, но были нормальные растровые шрифты и ненормальные type-1, противно смотревшиеся в мелких размерах).

Попробую пересобрать libfreetype...

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

Авторы freetype заявляют, что в 2.8 алгоритмы, дающие неотличимый от винды результат. Так что не знаю... Мне норм, хотя я очень чувствителен к мылу.

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

Вот мне тоже подумалось, что может дело не в libfreetype, а что fontconfig обновился тоже и сменились сами шрифты на похожие и плохо смотрящиеся. Не знаю даже как проверить.

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

Обнаружил интересную деталь. Например, на этом сайте, первый сверху шрифт: https://fonts.google.com/specimen/Tajawal

Он рендерится более нормально, что шрифты на других страницах или шрифты в UI программ и браузера. И он рендерится _БЕЗ_ цветных ореолов вокруг (без subpixel antialiasing), только в серых тонах. Но при этом их количество нормальное, вертикальные линии не разносит в ширину. Они остаются тонкие и чёткие, а не замыленные и жирные. Т.е. вот явный факт, что есть нормально рендерящиеся шрифты. Да там вообще вся страница такая! Т.е. проприеритарные веб-шрифты рендерятся нормально. А бесплатные из дистрибутива — замыленно. По-моему смахивает на заговор.

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

Стал замечать больше. Адресная строка браузера имеет нормальный рендеринг. А располагающиеся над ней надписи в табах и меню-бар — ненормальный замыленный шрифт. Дело явно не в рендеринге вообще, а в шрифтах. И когда вид нормальный, то нет subpixel antialiasing'а, рендеринг строго монохромный.

fk0
() автор топика

Прекратить править руками, удалить конфиги и попробовать сделать: sudo dpkg-reconfigure fontconfig-config

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

Ничего не поменялось. Хотя dpkg задавал подозрительные вопросы про хинтинг и использование растровых шрифтов (выбрал «middle» и «yes»). Про RGB ответил «auto». По прежднему веб-шрифты с font.google.com и адресная строка выглядят заметно лучше, чем всё остальное.

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

Свои конфиги в домашней директории удалили ? 1. Родной 2. Слабый или Полный по вкусу (среднее не работает, точнее равен не помню точно или сильному или слабому) 3. Авто 4. НЕТ

все хаки типа

export FREETYPE_PROPERTIES=truetype:interpreter-version=35

в дебиане работать не будут.

год-два назад пробовал freetype2.8 вытерпеть эти шрифты как в винде не смог... и настроить как было раньше не удалось... откатился на 2.6 в нем отображение шрифтов на порядок выше чем в винде...

как откатить - прописать в /etc/apt/sources.list.d/streatch.list: deb http://deb.debian.org/debian/ stretch main non-free contrib ну потом в preferences приоритет добавить для libfreetype что б не обновляло...

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

А я не умею в современном гноме их настраивать. Никак не настраивал. Есть .gtkrc, но он видимо не действует уже. Вроде что-то настраивал 4 года назад, когда систему ставил, но уже не помню.

Заметил интересную вещь. В программе gnome-specimen, например, некоторые шрифты тоже нормальные и без цветных ореолов. И эти шрифты, например, невозможно выбрать в abiword или openoffice (Lucida Typewriter, например). Где, видимо, только truetype шрифты. А эти, которые нормальные, видимо не truetype, но что? Они из иксов приходят? Там как раз есть такие (в xlsfonts и/или xfontview). Но ведь в иксах нет антиалиасинга. А тут есть, но нормальный, не жирный и не мыльный, и чёрнобелый. Вот интересно, как это так, и почему другие шрифты по тому же алгоритму нельзя антиалиасить.

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

Grayscale антиалисинг будет мылить, чудес не бывает. Те четкие шрифты вероятно растровые. У тебя на первом скрине типичный grayscale - и это действительно тяжко (хотя есть ценители).

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

в /etc/fonts куча правил какие шрифты как рендерить, сглаживать подменять семейства и тд... там конфиги меняются после dpkg-reconfigure fontconfig-config можно посмотреть что там прописано для шрифта который вы считаете правильно отображается и править для других шрифтов - но добиться варианта как в 2.6 вроде не возможно так как в libfreetype28 просто другой код и кода который предлагали через переменную interpreter-version=35 использовать просто нету... поэтому только откат на libfreetype26...

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

Тебе нужно подкрутить радугу, возможно порядок пикселей не тот. Все значения rgba проверил?

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

Сделать даунгрейд не получается лёгким способом. 2.6.3-3+b1 уже нет в репозиториях!

как сделать даунгеред за 15 секунд я вам уже напсиал выше...

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

Задаунгрейдил с помощью aptitude (там нажимаешь 'e', потом ',' и мучаешься с версиями). Стало ЛУЧШЕ!!!

По-моему дело не в freetype, и не в libfontconfig, а в fontconfig-config вообще. Но как теперь проверить. Надо было скриншоты делать. Но субъективно уже не хочется бежать к окулисту. А то эффект, будто резкость зрения снизилась. При том, что сейчас включен antialiasing для lcd-монитора — всё смотрится терпимо. Причём при увеличении разница особо и не видна, но сразу лучше в целом. Даже легкий цветовой ореол вокруг не мешает. Не пойму в чём дело. Вроде «жирность» букв уменьшилась. Может где-то в fontconfig-config она регулируется? Жирность то ли букв, то ли величины антиалиасинга. Если бы он слабенький был, не такой сильный, то с новыми версиями и вполне ок. Квадратность как-то проще стерпеть, чем замыленность, глаза не устают. Кстати сейчас при увеличении рендеринг стал малоотличимым от микрософтовского. А был отличим (слева красный был жирный, тёмный, а сейчас еле заметный, и синий слабенький как у микрософта справа, а был более тёмный).

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

Вряд ли что-то там регулируется. Только на уровне патчей разве что. Антиалисинг по-разному реализован, ты привык к тому, что в 2.6, я к 2.5. Каждый раз незначительные отличия, но глаза реагируют на это. Фритайповцы кстати предупреждали, что к новому движку возможно придется привыкать.

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

Может всё дело в данном диффе? https://pastebin.ca/4032171

Мне показалась подозрительной последняя опция.

Дело в самом libfreetype? Но хотелось бы знать, в чём именно, в engine v35 или v40? Хотелось бы визуально (при увеличении) видеть разницу. Я её не увидел, или она тонкая, или не на всех шрифтах. Но _отсутствие_ практически разницы с виндами я увидел. Стало более похоже на винды (по крайней мере на одном конкретном шрифте, где раньше была, в более новом freetype, разница).

fk0
() автор топика
Ответ на: комментарий от serg1982

все хаки типа export FREETYPE_PROPERTIES=truetype:interpreter-version=35 в дебиане работать не будут.

Но почему?

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

Коли откатились на 2.6.3-ххх, то можно и infinality накатить.

ChubaDuba
()

Какое DE у тебя и какие приложения вырвиглазны (какой тулкит) ?
Если тебе не нравится, как выглядит qt5 в GTK 3, то можно установить 'qt5-gtk-platformtheme' и 'qt5-style-plugins' и в /etc/environment задать 'QT_QPA_PLATFORMTHEME=gtk2'.
Еще как вариант заюзать такой local.conf и положить его в /etc/fonts/ (уже не использую, так как устраивает QT_QPA_PLATFORMTHEME=gtk2)
Описал чисто свой вариант. Я всегда отключаю сглаживание и использую Tahoma (да, я такой).

Gonzo ★★★★★
()
Последнее исправление: Gonzo (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.