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

GTK

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

В арчике

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

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

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

А причём тут Qt? Я к тому, что GTK может оттуда брать настройки шрифтов, игнорируя настройки в fonts.conf.

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

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

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

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

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

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

---

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

mord0d ★★★★ ()

было замечено, что 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 ★★ ()
Ответ на: комментарий от 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 ()
Ответ на: комментарий от permafrost

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

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

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

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

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

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

papin-aziat ★★★ ()
Ответ на: комментарий от 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 ★★ ()