Некоторые символы Юникода все еще не отображаются с помощью urxvt или xterm

У меня были проблемы с просмотром определенных символов Юникода в urxvt или xterm. Я использую шрифт Source Code Pro for Powerline который я установил через репозиторий Powerline. мой .Xresources содержит следующее:

  9 URxvt.font: xft:Source\ Code\ Pro\ for\ Powerline:pixelsize=22,xft:PowerlineSymbols
 10 URxvt.scrollBar: false
 11 
 12 Xft.dpi: 150
 13 Xft.antialias: true
 14 Xft.rgba: rgb
 15 Xft.hinting: true
 16 Xft.hintstyle: hintslight
 17 
 18 XTerm*selectToClipboard: true
 19 XTerm*termName: xterm-256color
 20 XTerm*locale: true
 21 XTerm*metaSendsEscape: true
 22 UXTerm*faceName: Source Code Pro for Powerline:style=Medium
 23 UXTerm*faceSize:10

но я все еще получаю прикольное поведение, как в следующих обстоятельствах

$TERM выходы rxvt-unicode-256color

Бег urxvt --help 2>&1 | grep options: возвращается iso14755, unicode3, а также frills между прочим

Поэтому я не уверен, почему я все еще не вижу некоторые из этих символов Юникода, потому что у меня есть все мои покрытые базы? Это происходит в масштабе всей системы, так как я не вижу определенных символов в Firefox, поэтому я думаю, что это проблема шрифта.

Заранее спасибо!

2 ответа

Ответ Фернандо Бассо мне уже очень помог. Однако, как он также указал, я все еще не мог заставить все глифы работать. Особенно символ, обозначающий линию в авиакомпании (㏑), не работал, пока я не добавил версию Unifont в формате ttf.

Версия ttf может быть установлена ​​с apt install ttf-unifont в Debian (возможно, это другое имя пакета в других дистрибутивах). После этого я добавил TTIF-версию Unifont в качестве дополнительной записи в мой ~/.Xdefaults:

URxvt.font:            xft:Hack:pixelsize=18,\
                       xft:DejaVu Sans Mono:pixelsize:18,\
                       xft:Unifont:pixelsize:16,\
                       -*-unifont-*-*-*-*-*-*-*-*-*-*-*-*

Как видите, можно загрузить как битовую карту, так и версию ttf.

То, что я делаю здесь, чтобы получить глифы, которые мне нужны для работы над urxvt, - это добавить больше шрифтов в список шрифтов:

URxvt.font: xft:Ubuntu Mono:pixelsize=18:antialias=true:hinting=true,\
            xft:Source Code Pro:pixelsize=18:style=medium:antialias=true,\
            -*-unifont-*-*-*-*-*-*-*-*-*-*-*-*

Это все еще не идеально, хотя. Я все еще не могу правильно отобразить все в этом файле: http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

Что больше всего помогло с большинством символов Unicode, которые я часто использую, так это включение Unifont в список. Я надеюсь, что это поможет вам в чем-то.

Что касается xterm, он не поддерживает несколько шрифтов.

Чтобы узнать, какой шрифт предоставляет определенный глиф, я использую gucharmap (доступно по крайней мере в дистрибутивах Linux), нажимаю Ctrl-f, C-s-u <unicode codepoint> (Например: C-s-u2713 это ✓), а затем я щелкаю правой кнопкой мыши на найденном глифе, и приложение показывает название шрифта, используемого для визуализации этого конкретного глифа.

Другие вопросы по тегам