我应该如何解释 Unicode 代码点在两个不同的终端模拟器中以两种完全不同的方式显示这一事实?

Enl*_*ico 7 terminal-emulator standard fonts unicode

这是我提出的一个较旧问题的衍生问题。

这是该问题的屏幕截图: 在此输入图像描述

  • 左下角是URxvt,你可以在提示符的开头看到一个类似闪电的图标,那就是"\ue00a"
  • 右下角来自xfce-terminalXfce "\ue00a"您可以看到它以非常不同的方式呈现相同的Unicode 点!

我的印象是,当我读到"\ue00a""\u263b""\u1d43d"等内容时,我很可能会查看 Unicode 定义的符号的标识。

然而,这个定义需要多奇怪才能允许两个终端模拟器以如此不同的方式显示它?

顺便说一句,我不知道这有多少是由于终端造成的,有多少是由于字体造成的。

我问这个问题(就像我链接的其他问题一样)是为了更好地理解整个问题。

Gil*_*il' 16

U+E000 至 U+F8FF私人使用区域。它被保留以允许系统存储和显示 Unicode 中不存在的字符。因此,您不能期望它具有一致的外观(或者实际上显示为除空格或替换字符之外的任何内容)。

\n

如果你想要 Unicode 中类似灯光的字符,你可以尝试在Shapecatcher上绘制它(但它不认识所有的 Unicode,尤其是 Emoji),或者搜索Unicode 字符名称。我找不到与您的屏幕截图中的完全相同的闪电字符,但有 U+26A1 HIGH VOLTAGE SIGN (\xe2\x9a\xa1) 和 U+1F5F2 LIGHTNING MOOD (),它们在视觉上很接近。气象符号 U+2607 LIGHTNING (\xe2\x98\x87)、U+2608 THUNDERSTORM (\xe2\x98\x88) 和 U+26C8 THUNDER CLOUD AND RAIN (\xe2\x9b\x88) 在语义上是相关的,但视觉上非常不同。

\n

  • 另请参阅“unicode”Debian 软件包中的“unicode --max 0 --regex lighting”。 (4认同)