4

Я недавно начал использовать xmonad качестве моего оконного менеджера. Я также решил использовать urxvt в качестве терминала по умолчанию, поскольку он должен быть легковесным.

Большинство приложений, которые предоставляют опцию конфигурации шрифта, позволяют мне выбирать шрифт (например, Arial, Consolas, FreeMono, Dejavu Sans и т.д.) И устанавливать размер в пикселях (11px, 12px или любой другой). Это легко понять.

Теперь, когда я пытаюсь настроить шрифты для таких приложений, как xterm, urxvt и emacs, мне приходится придумывать довольно странную строку, которая выглядит примерно так:"-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*" или "-unknown-DejaVu Sans Mono-normal-normal-normal-*-14-*-*-*-m-0-iso10646-1"

Я использовал программу xfontsel для ее генерации методом проб и ошибок. Но я не очень понимаю, что это значит или почему это необходимо.

Кроме того, я также использовал такие вещи: URxvt.font: 9x15bold .

Мои вопросы:

  • Что за странная длинная строка для настройки шрифтов?
  • Что значит 9x15bold ? Как все это получается вместе?
  • Почему бы не придерживаться общепринятого способа установки шрифтов, как в большинстве других приложений?
  • Почему шрифты xterm и urxvt не выглядят так же хорошо, как, скажем, шрифты gnome-Terminal? Есть ли способ достичь этого?

1 ответ1

10
  1. Это логическое описание шрифта X, используемое в основном программами на чистом Xlib.

  2. « 9x15bold » - это псевдоним удобства для растрового шрифта, который поставляется с X.org. Это не означает ничего конкретного, просто есть таблица "fonts.alias", которая переводит ее в XLFD:

    ! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $
    fixed        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
    variable     -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1
    5x7          -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1
    ...
    8x16         -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
    9x15         -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
    9x15bold     -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
    10x20        -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
    ...
    
  3. Xresources это общепринятый способ. Или, по крайней мере, раньше. Например, можно установить шрифт для одной программы с помощью URxvt.font или для всего с *font , и это повлияет на все программы, включая даже те, которые выполняются на удаленном сервере. (X11 - сетевой протокол.)

    Большинство недавно написанных программ используют такие системы, как dconf в GNOME, что хорошо, потому что они были написаны специально для GNOME. Xterm, однако, не зависит от среды рабочего стола, потому что - что наиболее важно - он был создан задолго до KDE и GNOME, а также Qt и GTK; это часть основного программного пакета X11. Таким образом, он придерживается Xresources, потому что он прост и стандартен, не зависит от сторонних библиотек или сервисов. (Конечно, у него есть свои недостатки, такие как отсутствие реконфигурации в реальном времени.)

  4. Xterm - это чистая программа Xlib, использующая рендеринг шрифтов, предоставляемый X11, в то время как GNOME Terminal, написанный на GTK, использует Freetype (через Pango).

    Тем не менее, последние версии Xterm и URxvt включают поддержку базового рендеринга шрифтов Freetype через Xft (имеет меньше возможностей, чем Pango, например, не имеет запасного шрифта, но часто "достаточно хорош"). Вы можете использовать его, добавив эти ресурсы:

    URxvt.font: xft:DejaVu Sans Mono:size=9
    
    XTerm*faceName: DejaVu Sans Mono
    XTerm*faceSize: 9
    

    Размер шрифта указан в точках (не в пикселях).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .