我正在从 CentOS 7 升级到 Oracle Linux 9(Rocky、Alma、RHEL 等),终端字体明显不同。(我使用 Mate 作为 WM,但我认为这对字体来说并不重要,或者真的重要吗?)。
我注意到新版本中的终端字体“较弱”。两者都是“等宽字体 10”,但垂直字体高度更小,尽管水平间距和垂直行距(几乎)相同。在我看来,新字体看起来很压扁(而且恕我直言,它也更难阅读)。
CentOS 7 “等宽屏幕 10”
Oracle Linux 9“等宽字体 10”
叠加,较新的 OL9 字体位于顶部
仔细查看下面叠加的图像(单击并放大):虽然高度不同,但宽度似乎完全相同。每行每个字符的顶部几乎对齐,但旧字体更高:
问题:
- 是什么导致了字体之间的差异?
“Monospace 10” 真的是一种字体吗?还是说它只是不同字体可能提供的一个通用名称?如果是这样,我如何知道每种字体的实际名称?
更多信息:
- 两个系统都报告 96x96 DPI 字体:
# grep DPI /var/log/Xorg.0.log
[ 1681.548] (==) modeset(0): DPI set to (96, 96)
xdpyinfo
并xrandr
报告 96x96 DPI 字体- 两个系统的“渲染”均设置为“子像素平滑”
- 有一个“Monospace-bold 10”,但是在新操作系统上它太粗了,所以不是它。
- OL9 使用
amdgpu
X 驱动程序,EL7 使用较旧的ati
驱动程序。 - 截图来自
mate-terminal
- 我尝试在 mate-terminal 中更改字体首选项,但它们是相同的。
- 两个终端屏幕截图都无法通过 ctrl+/-“放大”
- 我尝试安装相同的字体包名称。OL9 基于 RHEL,就像 CentOS 7 一样,因此它们来自同一“谱系”……但在此过程中发生了一些变化。
(让您感到疑惑的是,这些都是相同的文本示例,但 CentOS 7 示例是通过 SSH 截取的屏幕截图,因此文本非常相似,但字体在每个系统的物理 X 显示器上呈现。)
答案1
啊哈!这是不同的字体。您可以使用 来解析字体名称fc-match Monospace
。
在 el7 上:
]$ fc-match Monospace
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
在 OL9 上:
# fc-match Monospace
NimbusMonoPS-Regular.otf: "Nimbus Mono PS" "Regular"
所以我曾经fc-list
弄清楚它被打包在哪里:
# fc-list |grep DejaVuSansMono.ttf:
/usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
# rpm -qf /usr/share/fonts/dejavu/DejaVuSansMono.ttf
dejavu-sans-mono-fonts-2.33-6.el7.noarch
并最终安装dejavu-sans-mono-fonts
在OL9上但字体看起来并不好!