LINUX.ORG.RU

Разные шрифты в Qt- и GTK-приложениях

 , , , ,


0

3

В арчике разные шрифты в Qt- и GTK-приложениях, хотя настройки вроде бы одни и те же. В Qt-приложениях шрифт гораздо толще. Также было замечено, что Gtk почему-то не дает выставить жирный шрифт: так никакой разницы между Source Sans Pro Bold и Source Sans Pro Regular 10 нет.

Шрфит везде - Source Sans Pro Regular 10. DPI - 96. Если это имеет значение, разрешение экрана - 1366х768, диагональ - 12.5".

DE - XFCE.

Настройки шрифтов в XFCE(XSETTINGS)

Xresources

Платформа Qt - qt5ct. fonts.conf

Для сравнения:

1)GTK

2)Qt

★★

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

GTK

Там сишка, у нее это врожденное. Проще усыпить, чем лечить это поделие из 90-х, написанное на поделии из 70-х, в попытке имитировать идеи из 80-х.

В арчике

Хотя, здесь все еще хуже, чем я думал.

Разорванный Флакон

anonymous
()

Xft.DPI выставить 98304 пробовал? Если не поможет, то единственное что ещё могу предложить, это запустить qt и gtk приложения под strace и поискать откуда они читают настройки шрифтов.

RisuX3
()

Попробуй покрутить настойки шрифтов в gnome-tweaks (или в dconf’е напрямую, tweaks по моему не заработает за пределами gnome).

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

в dconf’е напрямую, tweaks по моему не заработает за пределами gnome

А изменения в dconf дадут результат для qt?

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

Нет, читается по моему ~/.gtkrc-2.0 ~/.config/gtk-3.0/settings.ini кде срет еще в ~/.config/gtkrc-2.0 ~/.config/gtkrc

и шрифты ~/.config/fontconfig/fonts.conf /etc/fonts/local.conf

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

Это если стиль gtk2 выбран в qt5ct. Плюс свое дают цвета в теме gtk qt их не полностью копирует.

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

Стиль так называется в qt5ct.

Поддержка этого стиля обеспецивается раньше обеспечивалась поддержкой со стороны qt5-gui.

В арче пакет qt5-styleplugins

Во FreeBSD порт называется qt5-style-plugins…

И внезапно, оно действительно работает. Спасибо, анон.

---

И по теме: шрифты действительно рендерятся по-разному.

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

Тема наверно для gtk2 отличается. На arc-gtk-theme почти одинаковые

anonymous
()

было замечено, что Gtk почему-то не дает выставить жирный шрифт

Бывает, что некоторые программы тупят, когда у шрифта много вариантов, то есть не просто regular, bold, italic.

В Qt-приложениях шрифт гораздо толще.

В гноме я пока нашёл только один вариант приемлемого решения – это подбор шрифта, не всякий шрифт будет примерно одинаково выглядеть, причем как по яркости, так и по размеру. Мне кажется, довольно похожими можно сделать Arial, Roboto, Noto, Ubuntu.

Вот Roboto Regular:
https://i.imgur.com/jhmPg3L.png
Поставил для сравнения kate, выглядит оно как говно, но жить можно. Roboto Mono:
https://i.imgur.com/lmPdJZ3.png

Ещё, у тебя очень мелкие ШГ, боюсь в таком варианте qt-шные по любому будут ярче.

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

Я не понимаю в чем проблема подобного поведения, если настройки одинаковы. У тебя, кстати, тоже шрифты различаются. И мне нравится Source Sans Pro. Я наконец-то нашёл свой шрифт. Выходит, Qt и gtk по-разному шрифты рендерят. В gtk мне больше нравится, кстати. К слову, если включить autohinting, то в qt перестают быть шрифты такими жирными

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

У тебя, кстати, тоже шрифты различаются.

Это не у меня, это у qt5, они так и будут сидеть в танке, это судьба :-)

Выходит, Qt и gtk по-разному шрифты рендерят.

100%

В gtk мне больше нравится, кстати.

Мне тоже, хотя в галерее бывают приличные картинки с кедами.

К слову, если включить autohinting, то в qt перестают быть шрифты такими жирными

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

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

Попробовал все-таки установит этот пакет посмотреть. Поменял стиль в qt5ct с kvantum на gtk2: файловые диалоги gtk3 пропали - вместо них убогие gtk2, со шрифтами все как и было. Проблемы со шрифтами походу не в стилях

permafrost ★★
() автор топика
Ответ на: комментарий от papin-aziat

Это не у меня, это у qt5, они так и будут сидеть в танке, это судьба :-)

Думаешь, это в qt проблема?

Есть вообще какие-то известные багрепорты по данной теме? Это же вообще писец. Какой десктоп вообще, если шрифты в двух основных тулкитах нельзя привести к одному виду? По-любому же кто-то капал эту проблему.

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

Дополню, что еще попробовал дополнительно сменит платформу с qt5ct на gtk2, предоставляемую этим пакетом. Ох уже этот qt: платформы, стили(движки), темы стилев(движков). Все так же без изменений.

permafrost ★★
() автор топика

Короче, по видимости, в чем нет проблемы(нет никаких изменений):

1)платформы qt5: gtk2 и qt5ct

2)стиль qt5: gtk2, kvantum, fusion

3)темы kvantum

Проблема где-то глубже

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

Не подскажешь как правильно со strace работать в данном случае? Опыта маловато

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

C бубном попрыгал на правой ноге вокруг ноутбука против часовой стрелки. В конце цикла перевоплощения упал ничком, шептал Матери Сырой Земле про пресловутые шрифты, но ничего не помогло(((

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

Нашел в инете что-то про strace и сделал по аналогии:

strace -o st.out qbittorrent test.gp
grep 'open.*/usr/share/font.*' st.out

Получил это:

openat(AT_FDCWD, "/usr/share/fonts", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/100dpi", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/75dpi", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/TTF", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/adobe-source-code-pro", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/adobe-source-han-sans", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/adobe-source-sans-pro", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/adobe-source-serif-pro", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/awesome-terminal-fonts", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/cantarell", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/cyrillic", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/encodings", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/gsfonts", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/liberation", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/misc", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/noto", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/steam-fonts", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/ubuntu", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/util", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/encodings/large", O_RDONLY|O_CLOEXEC) = 6
openat(AT_FDCWD, "/usr/share/fonts/adobe-source-sans-pro/SourceSansPro-Regular.otf", O_RDONLY) = 50
openat(AT_FDCWD, "/usr/share/fonts/adobe-source-sans-pro/SourceSansPro-Bold.otf", O_RDONLY) = 53
permafrost ★★
() автор топика
Последнее исправление: permafrost (всего исправлений: 1)
Ответ на: комментарий от permafrost

Точно Xft/DPI, а не Xft/dpi выставил?

Upd: некоторые Qt5 приложения некорректно отрисовываются если выставить DPI(по крайней мере на арче с qt5ct и темой gtk), фиксится добавлением переменной окружения QT_AUTO_SCREEN_SCALE_FACTOR=0

И 1366x768 с диагональю 12.5, это примерно 125.37 DPI, а не 96.

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

Парси не шрифты а конфиги grep ‘open.conf

В арче например /etc/fonts/local.conf имеет приоритет над пользовательским ~/.config/fontconfig/fonts.conf

И проверяй не на qbittorrent а на q5ct или Audacious например, qbittorrent сам по себе шрифты меняет

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

Ну или запускай, как выше говорили [code]env QT_AUTO_SCREEN_SCALE_FACTOR=0 qbittorrent[/code] потом можешь добавить в /etc/environment [code]#Qt5 настройки QT_QPA_PLATFORMTHEME=gtk2 #или QT_QPA_PLATFORMTHEME=qt5ct QT_AUTO_SCREEN_SCALE_FACTOR=0

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

Ну или запускай, как выше говорили

env QT_AUTO_SCREEN_SCALE_FACTOR=0 qbittorrent
потом можешь добавить в /etc/environment
#Qt5 настройки QT_QPA_PLATFORMTHEME=gtk2 #или QT_QPA_PLATFORMTHEME=qt5ct QT_AUTO_SCREEN_SCALE_FACTOR=0

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

Форум для истинных линуксоидов, и с разметкой потрахайся:)

в /etc/environment

#Qt5 настройки
QT_QPA_PLATFORMTHEME=gtk2
#или QT_QPA_PLATFORMTHEME=qt5ct
QT_AUTO_SCREEN_SCALE_FACTOR=0

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

Думаешь, это в qt проблема?

Нет, проблема относительная, разный рендеринг, это ясно.

Есть вообще какие-то известные багрепорты по данной теме? Это же вообще писец. Какой десктоп вообще, если шрифты в двух основных тулкитах нельзя привести к одному виду?

А зачем? ШГ есть? Есть! Читаются? Читаются! Вопрос закрыт. Ты вот что сделай, покрути галерею, посмотри в ютубе линуксоидов и тебе откроется удивительная истина: значительный процент людей совершенно слепы к ШГ, для них просто этого явления не существует, они будут месяцами пилить иконки и цветовую гамму, но останутся совершенно слепы к ШГ. У меня есть кое-какое объяснение этому феномену, но в двух словах изложить будет не просто. Однако, результат этого феномена в том, проблему никто решать не будет, ибо её нет, она существует лишь в головах таких как мы, которых меньшинство.

По-любому же кто-то капал эту проблему.

Я не встречал, найдешь кастани, плз.

papin-aziat ★★★★★
()
Ответ на: комментарий от permafrost

Туда сваливает кэш шрифтов DM, например. Конечно, если он запущен средствами инита от рута.

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

Или надо удалить и еще раз пошатать?

  • Шатаешь шрифты;
  • Удаляешь кэш;
  • Перезапускаешь графическую сессию.
mord0d ★★★★★
()
Ответ на: комментарий от RisuX3

Точно Xft/DPI, а не Xft/dpi выставил?

Вот здесь менял

Upd: некоторые Qt5 приложения некорректно отрисовываются если выставить DPI(по крайней мере на арче с qt5ct и темой gtk), фиксится добавлением переменной окружения QT_AUTO_SCREEN_SCALE_FACTOR=0

Попробовал с этой переменной запустить qbittorrent и qpdfview - без изменений. Да и dpi с виду вроде такой же, как и в gtk. Рендернинг шрифтов иной.

Причем, если запустить env QT_AUTO_SCREEN_SCALE_FACTOR=1 qpdfview, например, то тоже никаких изменений нет

И 1366x768 с диагональю 12.5, это примерно 125.37 DPI, а не 96.

Знаю, но с нативным dpi есть проблемы в некоторых приложениях. Например, в chromium

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