Есть такой чудесный эмулятор терминала - rxvt-unicode, известный своим хорошим отображением юникода в сравнении с, например, gnome-terminal, основанным на библиотеке vte, которая довольно криво показывает различные условно-экзотические символы. Можете сами проверить с помощью простого текстового файла
UTF-8-demo.txt.
Но есть в нем багофича забавная, не отображался русский жирный шрифт, даже если явно прописать в .Xresources опции:
URxvt.font: -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*
URxvt.boldFont: -*-terminus-bold-*-*-*-14-*-*-*-*-*-*-*
Т.к. в качестве жирного шрифта выбирался первый попавшийся, а не все возможные, поэтому русские символы отображались обычным шрифтом.
Если же прописать шрифты с использованием xft, то жирный шрифт начинает отрисовываться корректно.
URxvt.font: xft:Terminus:pixelsize=14,xft:Fixed:pixelsize=14
Добавление «Fixed» позволяет отображать более широкий набор символов.
Альтернатива - явно указать кодировку для шрифта:
URxvt.font: -*-terminus-medium-r-*-*-14-*-*-*-*-*-iso10646-1,\
-*-fixed-medium-r-*-*-14-*-*-*-*-*-iso10646-1
URxvt.boldFont: -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-1,\
-*-fixed-bold-*-*-*-14-*-*-*-*-*-iso10646-1
Это работает, т.к. rxvt-unicode выбирает для каждого шрифта первое совпадение, а не проверяет все возможные шрифты, подходящие под wildcard-ы, соответственно, без явного указания кодировки вполне может выбираться шрифт содержащий только символы из iso8859-1 (Latin-1).