我想在 Linux 终端中显示特定的 unicode 符号,像普通文本一样以单色呈现,但我想要的许多符号都被呈现为彩色表情符号(因为我安装了 noto-fonts-emoji,我更希望保留它)。例如,这个笑脸符号 (\u263A):☺。
Unicode 有变异序列允许指定特定字符的格式,特别是文本模式选择器 \uFE0E。然而,输出
printf '\u263A\uFE0E\n'
仍呈现为全彩色表情符号。为什么选择器不起作用以及如何让字符在文本模式下呈现?
更多细节:
- 我目前正在使用终端仿真器
termite
。如果可以解决问题,我愿意换一个具有更好的unicode支持的其他终端。 - 我已经尝试过这两种方法
bash
,fish
但我不确定外壳是否会有所不同。 - 我使用的是 Arch Linux,但我更喜欢可以跨发行版运行的解决方案。
- 如果我卸载 noto-fonts-emoji,那么无论是否带有文本选择器字符,字符都会呈现为单色文本,因此我确实拥有文本样式所需的字体。