Unicode 字符在 Windows 上不可见,但在 Linux 上却可见

Unicode 字符在 Windows 上不可见,但在 Linux 上却可见

有问题的角色是盲文图案空白:“⠀”

在 Windows 机器上,甚至在我的手机上,这个字符都呈现为不可见的(如图所示)。这很有用,因为它可用于将文本居中放置在 Steam 等网站上。然而,在我当前运行 Artix Linux 的机器上,它确实被渲染了,而不是空白,我得到的是一系列盲文符号,这导致了混乱,就像

问题似乎与应用程序无关,因为 Brave、Firefox 以及我的终端 Alacritty 都显示盲文标志。我还尝试使用 Windows 上显然使用的显示字体中的 Arial,但这也不起作用(字体取自 AUR 包ttf-ms-fonts)。

Xorg 用于显示。

我该如何让角色再次变得隐形?

答案1

这是字体设计问题。

盲文图案字符是一个 2×4 点阵,其中有些是黑色的,其余的是白色的。在某些字体中,白点完全是空白的,而其他字体则使用空心圆(这样就不会混淆哪些点是哪些点,例如当只有一个黑点时)。这是字体设计师做出的审美决定,他们同样正确。您当前字体的设计者选择了开圆形样式。

因此,使用 U+2800 作为空格是不可靠的。应使用适当的空格字符来代替。

使用 Arial 不会有帮助,因为它不包含盲文图案字符。Windows 将其用作Segoe UI Symbol盲文的后备字体;它是空白空间样式。绝大多数字体不包含盲文。

具有空白式盲文的三种免费字体是:

相关内容