我有两台笔记本电脑,都运行相同版本的最新 Manjaro。安装了来自 AUR 的相同版本的 visual-studio-code-bin。两者都使用相同的代码字体。然而,它们以不同的方式呈现拉丁语之外的 Unicode 符号。
笔记本电脑 1:
笔记本电脑 2:
您会看到第一个屏幕截图中的希腊语 kappa 非常小。我无法捕捉这两个桌面之间的配置差异。在两台笔记本电脑上,settings.json 都有
"editor.fontFamily": "'FiraCode Nerd Font', monospace"
我可以检查实际使用了哪些字体文件:
$ strace -fe openat code . 2>&1 | grep -i 'Fira'
[pid 6004] openat(AT_FDCWD, "/usr/share/fonts/OTF/Fira Code Regular Nerd Font Complete.otf", O_RDONLY <unfinished ...>
[pid 6004] openat(AT_FDCWD, "/usr/share/fonts/OTF/Fira Code Bold Nerd Font Complete.otf", O_RDONLY) = 110
这些文件在两台笔记本电脑上是相同的。
有任何想法吗?
我认为两者都不正确(不是等宽)。这暗示字体不包含此代码点的字形。事实上,它不包含 MATHEMATICAL ITALIC KAPPA SYMBOL (U+1D718) 的字形,这可能就是这样。
这意味着这个字符是用另一种字体替换的。这种其他字体在两个系统上可能不同,因为它们可能安装了不同的字体。另请查看 user1686 关于如何检查使用了哪些字体的说明。
此外,您可以尝试使用内置的开发人员工具进行调查(帮助 → 切换开发人员工具)。选择有问题的文本元素(确保选择 a
<span>
),然后切换到“Computed”样式选项卡:在“Rendered Fonts”下,您可以清楚地看到从哪些字体中提取了多少字形。