部分终端无法正确显示表情符号
Some terminal can't display emoji correctly
我安装了几个终端。但只有其中一些可以正确显示所有 Unicode 字符。例如经典emoji符号在不同终端的显示方式不同:
Xterm
Urxvt(又名 rxvt-unicode)
术语
如您所见,术语(以及 gnome-terminal 或 st,此处不存在)可以正确显示表情符号。 urxvt,xterm 无法显示矩形而不是正确的字符。
为什么会这样?所有终端的语言环境都相同。字体显然安装正确。 xterm 和 rxvt-unicode 应该支持 Unicode(至少像 ěščř 这样的捷克字符显示没有问题)但他们显然不能 100% 支持它。
我会自己回答。 :-)
有一种东西叫做 fallback fonts。当您的主字体集中不存在特定字形时,将使用这些字体。 只有部分终端支持后备字体。
见本文上段https://www.uninformativ.de/blog/postings/2015-10-04/0/POSTING-en.html and also how to set fallback fonts via fontconfig here: http://www.omgubuntu.co.uk/2016/03/enable-color-emoji-linux-svg-font
我安装了几个终端。但只有其中一些可以正确显示所有 Unicode 字符。例如经典emoji符号在不同终端的显示方式不同:
Xterm
Urxvt(又名 rxvt-unicode)
术语
如您所见,术语(以及 gnome-terminal 或 st,此处不存在)可以正确显示表情符号。 urxvt,xterm 无法显示矩形而不是正确的字符。
为什么会这样?所有终端的语言环境都相同。字体显然安装正确。 xterm 和 rxvt-unicode 应该支持 Unicode(至少像 ěščř 这样的捷克字符显示没有问题)但他们显然不能 100% 支持它。
我会自己回答。 :-) 有一种东西叫做 fallback fonts。当您的主字体集中不存在特定字形时,将使用这些字体。 只有部分终端支持后备字体。
见本文上段https://www.uninformativ.de/blog/postings/2015-10-04/0/POSTING-en.html and also how to set fallback fonts via fontconfig here: http://www.omgubuntu.co.uk/2016/03/enable-color-emoji-linux-svg-font