Настраивая шрифты для xterm, urxvt, emacs и других

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

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

Теперь при попытке настроить шрифты для приложений как 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 шрифты выглядят столь же хорошими как, скажем, терминальные гномом шрифты? Есть ли какой-либо способ достигнуть этого?
4
задан 27.03.2011, 14:51

1 ответ

  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, записанный с GTK, использует Freetype (через Pango).

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

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

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

10
ответ дан 07.12.2019, 19:24

Теги

Похожие вопросы