2015-04-22 4 views
1

После того, как много хеппинга вокруг Xterm, просматривая через парусов веб-страниц, я бросил в полотенце и понял, что это не то, что я могу выяснить самостоятельно.Невозможно сконфигурировать шрифт в XTerm

TrueType против Bitmap

  1. ли вариант xterm*font используется для определения только растровые шрифты и *faceName используется только для TrueType шрифтов?

  2. Я использую команды xlsfonts и fc-list, чтобы узнать, какие шрифты Bitmap и TrueType установлены. Это верно?

  3. Я хочу установить шрифт XTerm в Ubuntu Mono. Это выход fc-list | grep -i ubuntu

    Ubuntu Mono for Powerline:style=RegularForPowerline 
    Ubuntu Mono for Powerline:style=Bold Italic 
    Ubuntu Mono for Powerline:style=BoldForPowerline 
    Ubuntu Mono for Powerline:style=ItalicForPowerline 
    

и я добавил XTerm*faceName: Ubuntu Mono for Powerline:style=RegularForPowerline к моему ~/.Xresources и побежал xrdb -merge ~/.Xresources

xrdb -query all показывает, что *faceName установлен в Ubuntu Mono for Powerline:style=RegularForPowerline

Однако, это не работает. Что мне не хватает/приворот здесь?

EDIT: Я, наконец, выяснил, что случилось, всего пару дней назад после того, как вы набрали несколько источников. Объединив ответы каждого пользователя здесь:

Ubuntu Mono - это шрифт TrueType, а шрифты TrueType требуют компиляции xterm с поддержкой библиотеки FreeType. Чтобы проверить, имеет ли xterm это, используйте команду ldd /path/to/xterm/binary и посмотрите, говорит ли она о freetype. Альтернативный способ - проверить, имеет ли xterm опцию -fa.

Если Xterm поддерживает Lib FreeType, выберите

  1. Растровые шрифты, запустив xfontsel -p и использовать точную строку он печатает на выходе.

  2. Шрифты TrueType, используя fc-list :scalable=true:spacing=mono: family и используя точную строку, которую он выводит.

После того, как у вас есть имя шрифта, используя один из перечисленных выше шагов, установите его с помощью XTerm*faceName: <name of the font>

Если установить новый шрифт, и он не появляется при запуске одного из перечисленных выше команд , перестройте свой кеш шрифта с помощью fc-cache -frv и повторите попытку.

Надеюсь, что это поможет; сообщите мне, если я пропустил что-нибудь.

P.S.Я использовал Ubuntu Mono исправлен шрифт, загруженный с here я использует XTerm*faceName: "Ubuntu Mono derivative Powerline"

ответ

2

по пунктам:

  1. да, font ресурса является стандартной настройкой для X Toolkit, который имеет дело только с XLFD (растровым ресурсом), а faceName был добавлен после того, как в приложениях, таких как xterm, чтобы указать способ шрифтов TrueType (фактически, любой из поддерживаемых fontconfig, который может включать в себя растровые шрифты).
  2. Программы xlsfonts и fc-list используются для двух (XLFD и fontconfig) соответственно.
  3. Стиль выглядит ... нечетным. Я добавил файлы .ttf с github в мой каталог ~/.fonts (zip-file link - это самый простой способ скачать).
  4. Я распаковал папку для распаковки каталога ~/.fonts, а не копировал файлы .ttf в каталог верхнего уровня. fontconfig может работать с подкаталогами; он может быть чувствителен к фактическим именам файлов. Например, если бы я скопировал файлы в каталог верхнего уровня ~/.fonts, fc-list отобразил бы полное имя файла шрифта (возможно, не правильно).
  5. fc-list показывает мне Regular, где у вас есть RegularForPowerline.

Вот выход fc-list, ищет «Power»:

Ubuntu Mono for VimPowerline:style=Bold 
Ubuntu Mono for VimPowerline:style=Bold Italic 
Ubuntu Mono for Powerline:style=Bold Italic 
Ubuntu Mono for Powerline:style=Regular 
Ubuntu Mono for VimPowerline:style=Italic 
Ubuntu Mono for Powerline:style=Bold 
Ubuntu Mono for VimPowerline:style=Regular 
Ubuntu Mono for Powerline:style=Italic 

Кстати, вы можете проверить шрифты непосредственно с помощью опции командной строки -fa (со ссылкой на имя-лица, конечно). Я сделал это, и результат выглядит правдоподобным (сравнивая регулярные и полужирные).

+0

Я удалил свои старые шрифты и загрузил [эти] (https://github.com/powerline/fonts/tree/master/UbuntuMono), поскольку они были связаны с ретрансляцией Powerline. Однако теперь, когда я запускаю 'fc-list', я не вижу Ubuntu Mono. Я попытался обновить кеш шрифтов через 'fc-cache -fv'; однако он говорит _error scan_ – kshenoy

+0

Спасибо, я не мог видеть параметр '-fa', и это потому, что у моего XTerm не было поддержки библиотеки FreeType. Компиляция XTerm с ней позволяет мне теперь использовать шрифты TrueType. – kshenoy