一些 unicode 符号仍然无法通过 urxvt 或 xterm 显示

一些 unicode 符号仍然无法通过 urxvt 或 xterm 显示

我在 urxvt 或 xterm 下查看某些 unicode 符号时遇到了麻烦。我使用的字体是Source Code Pro for Powerline通过 powerline fonts repo 安装的。我的字体.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

所以我不确定为什么我还是看不到这些 un​​icode 符号,尽管我已经了解了所有基础知识?这种情况发生在整个系统,因为我在 Firefox 中也看不到某些符号,所以我认为这一定是字体问题。

提前致谢!

答案1

为了获得在 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-fC-s-u <unicode codepoint>(例如:C-s-u2713✓),然后右键单击找到的字形,应用程序会显示用于呈现该特定字形的字体的名称。

答案2

Fernando Basso 的回答已经给了我很大的帮助。然而,正如他指出的那样,我仍然无法让所有的字形都起作用。尤其是表示航空公司线路的符号(㏑)直到我添加了ttf 版本Unifont 的。

ttf 版本可以在 Debian 上安装apt install ttf-unifont(在其他发行版中可能是一个不同的软件包名称)。之后,我将 ttf 版本的 Unifont 作为额外条目添加到我的~/.Xdefaults

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

如您所见,可以加载位图和 ttf 版本。

相关内容