TERM
сообщает tput
(и другим приложениям, использующим базу данных терминала), сколько цветов поддерживает ваш терминал (предположительно) и как установить для этого передний план ( setaf
) и задний план ( setab
).
Пример сценария близок, но не сбрасывается должным образом:
for i in $(seq 0 $(tput colors) ) ; do tput setaf $i ; echo -n "█" ; done ; echo ; tput op
Вот снимок экрана с xterm, чтобы проиллюстрировать:
Как бы то ни было, msgcat
использует базу данных терминала, но затем следует некоторые жестко запрограммированные предположения о возможностях цвета терминала. Кое-что из этого требует переосмысления, например, замечая ошибку кодирования, например, в этой строке :
(strlen (term) >= 4 && memcmp (term, "rxvt", 7) == 0)
Команда fc-list
может перечислить все доступные шрифты в соответствии с их свойствами. В вашем случае нужно искать спейсинг, соответствующий моно, это будет 100, поэтому fc-list :spacing=100
. Более простая форма fc-list :mono
, вероятно, тоже должна работать.
Пример:
$ fc-list :spacing=100
/usr/share/fonts/urw-fonts/n022003l.pfb: Nimbus Mono L:style=Regular
/usr/share/texmf-dist/fonts/opentype/public/semaphor/smftt10.otf: Semafor:style=Mono
/usr/share/fonts/TTF/luximbi.ttf: Luxi Mono:style=Bold Oblique
/usr/share/texmf-dist/fonts/type1/public/droid/DroidSansMono.pfb: Droid Sans Mono:style=Regular
/usr/share/texmf-dist/fonts/type1/public/bera/fvmbo8a.pfb: Bera Sans Mono:style=Bold Oblique
/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/texmf-dist/fonts/type1/public/bera/fvmr8a.pfb: Bera Sans Mono:style=Regular
/usr/share/texmf-dist/fonts/opentype/public/semaphor/smfptt10.otf: Semafor:style=PersonPillar-Mono
/usr/share/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb: Nimbus Mono L:style=Regular
Хорошая документация библиотеки fontconfig
(включая свойства шрифта и их значения, выбранные в fc-list
) доступна в файле /usr /share/doc/fontconfig-2.12.1/fontconfig-user.html
(измените номер версии на свой).