Как настроить TTF-рендеринг в xterm?

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

вот несколько скриншотов для сравнение.

xterm:

xterm rendering

konsole:

konsole rendering

шрифт в Дежавю Санс моно 8. Очевидно, что оба противятся. Я даже применил цветовую схему от konsole до xterm, думая, что это может быть причиной разницы, но это не так. Кроме того, в konsole у меня включен флажок "рисовать насыщенные цвета жирным шрифтом", но разница очевидна обе жирным и обычным шрифтом.

разница, как представляется, в том, насколько агрессивно каждое приложение сглаживает шрифт. В xterm текст гораздо более размытый, а также значительно более трудный для чтения, по крайней мере для меня. Это, наверное, наиболее очевидно с характером m, который в версии без полужирного шрифта имеет первую" ногу", распределенную по двум пикселям в xterm, в то время как в konsole он красивый и резкий.

Я получаю те же результаты, как в Gentoo и Ubuntu, и с консервативной установкой в /etc/fonts/conf.d на моем ноутбуке Gentoo, а также all-in setup на Ubuntu.

бонусные очки, если вы можете понять, почему, черт возьми, xterm не отображает некоторые нелатинские символы, хотя я не возражаю против этого. Это просто не имеет никакого смысла для меня. Хотя это может быть подсказкой...

вот соответствующая часть моего .Xresources:

XTerm*faceName: DejaVu Sans Mono
XTerm*faceSize: 8
XTerm*background: #000000
XTerm*foreground: #B2B2B2
XTerm*color0:  #000000
XTerm*color1:  #B21818
XTerm*color2:  #18B218
XTerm*color3:  #B26818
XTerm*color4:  #1818B2
XTerm*color5:  #B218B2
XTerm*color6:  #18B2B2
XTerm*color7:  #B2B2B2
XTerm*color8:  #686868
XTerm*color9:  #FF5454
XTerm*color10: #54FF54
XTerm*color11: #FFFF54
XTerm*color12: #5454FF
XTerm*color13: #FF54FF
XTerm*color14: #54FFFF
XTerm*color15: #FFFFFF
XTerm*boldColors: true

обновление: чтобы уточнить, получение xterm для использования TTF тривиально; то, что я ищу,-это способ тонкой настройки способа отображения TTF в xterm в соответствии с настройками, используемыми konsole (и почти любым другим приложением X11, если на то пошло). По какой-то причине xterm, похоже, игнорирует все, кроме имени лица и размера лица шрифта TTF, который я пытаюсь установить, либо в Xresources, либо в моих настройках fontconfig (которые правильно подобраны остальной частью системы).

3
задан Scott
30.11.2022 16:45 Количество просмотров материала 2395
Распечатать страницу

3 ответа

в xterm(1) Вы можете изменить тип шрифта, удерживая клавишу Ctrl и щелкнув правой кнопкой мыши в окне. Я говорю это, потому что у тебя не так много вариантов. Нажатие на опцию "TrueType" даст вам результаты ближе к тому, что вы ищете. Вы можете получить больше контроля, отредактировав файл Xresources, как я уверен, вы знаете-см:https://wiki.archlinux.org/index.php/Xterm для примеров о том, как изменить это в соответствии с вашими потребностями.

xterm (1) не большинство отображение нелатинских символов по умолчанию. вы можете использовать опцию-u8 или uxterm (1) wrapper

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

в xterm -У8 -ФН сезон 7 эпизод 13-Альфа "дежавю Санс моно:размер=8:сглаживания=правда"

1
отвечен Chris Lawrence 2022-12-02 00:33

это связано с GTK приложений и xterm, используя дико разные способы настройки шрифтов. GTK использует font-config, а xterm / Xft-X-ресурсы.

для настройки шрифтов Xft с помощью ресурсов X добавьте это в ~/.Xresources:

  Xft.rgba: rgb

этот параметр изменяет вид сглаживания. Вот примеры скриншотов xterm, сделанных с помощью xmag, без каких-либо настроек rgba, и rgb,grb,vrgb. Все они имеют разную четкость, цветопередача и очевидным яркость.

enter image description hereenter image description hereenter image description hereenter image description here

есть также ручки для Xft.antialias,Xft.hinting,Xft.hintstyle,Xft.lcdfilter и другие. Подробнее см. Некоторые fontconfig документация.

0
отвечен Jens 2022-12-02 02:50

разница в рендеринге, которую вы видите между Konsole и xterm, сводится к настройкам подсказки fontconfig. Вы можете сказать, что хинтинг задействован, если вы сравните формы глифов между двумя скриншотами; ноль имеет несколько иную форму в Konsole, потому что он был привязан к пиксельной сетке (что относится к тому, что делает шрифт).

Konsole, вероятно, получает настройки из некоторого дополнительного уровня конфигурации KDE, в то время как xterm только соблюдает низкоуровневые настройки fontconfig.

недавно я работал над этим в своей системе Arch, и комбинация настроек, которые наиболее точно повторяют то, что вы видите в Konsole (поместите это в свой .Xresources):

Xft.antialias: 1
Xft.autohint: 1
Xft.hintstyle: hintslight

некоторые шрифты содержат подсказку от дизайнеров шрифта. Что-то нет. В автоматический Хинтер FreeType (Xft.autohint: 1) будет генерировать подсказки для шрифта, и уровень подсказки hintslight вернется к включенным подсказкам, если они присутствуют. это наверное, тоже стоит попробовать hintfull; сводится к вашим предпочтениям, плюс качество намеки присутствуют в шрифте, который вы используете.

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

вот мои до и после скриншоты на каждом уровне намека. (7pt анонимный Pro на 192dpi дисплей.)

по умолчанию:

ASCII character set with default hinting

конфигурации выше:

ASCII character set with slight hinting

0
отвечен Cliff L. Biffle 2022-12-02 05:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх