![为什么“rxvt -font x”会给我一个错误,但比普通的“rxvt”字体“更好”?](https://linux22.com/image/98903/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9Crxvt%20-font%20x%E2%80%9D%E4%BC%9A%E7%BB%99%E6%88%91%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E4%BD%86%E6%AF%94%E6%99%AE%E9%80%9A%E7%9A%84%E2%80%9Crxvt%E2%80%9D%E5%AD%97%E4%BD%93%E2%80%9C%E6%9B%B4%E5%A5%BD%E2%80%9D%EF%BC%9F.png)
当我运行rxvt&
(Rxvt v2.7.10 - 发布:2003 年 3 月 26 日)[这看起来很旧,但这是 Fedora Core 24 附带的版本]时,我得到一个 rxvt 窗口,其中的字体我觉得很难看。
然而,当我这样做时rxvt -font x
,我收到错误消息rxvt: can't load font "x"
,但随后出现一个 rxvt 窗口,其中字体稍小,我非常喜欢。
这是什么邪恶的魔法,我怎样才能做同样的事情而不出错?
我的一些 .x* 文件中确实提到了 rxvt,但没有提到字体:
- 在 .Xdefaults 中,我有:
rxvt*背景:灰色 rxvt*前景:黑色 rxvt*保存行数:100 rxvt*几何形状:80x53
- 在 .Xresources 中,我有:
rxvt*背景:灰色 rxvt*前景:黑色 rxvt*保存行数:60
- 在 .fvwm2rc 中,我有:
样式“rxvt”图标 term.xpm,SloppyFocus,IconBox -70 1 -1 -140 样式“rxvt”MWMBorder、MWMButtons
这是我最怀疑的文件,但我没有看到任何提到字体的内容。
注意:在过去的 20 年里,这个问题一直困扰着我。
答案1
rxvt 使用"fixed"
如果-font
选项失败。它在 main.c 中执行此操作:
xfont = XLoadQueryFont(r->Xdisplay, r->h->rs[Rs_font + idx]);
if (!xfont) {
rxvt_print_error(msg, r->h->rs[Rs_font + idx]);
r->h->rs[Rs_font + idx] = "fixed";
xfont = XLoadQueryFont(r->Xdisplay, "fixed");
if (!xfont) {
rxvt_print_error(msg, "fixed");
goto Abort;
}
}
r->TermWin.font = xfont;
区别在于默认字体不是"fixed"
(特定字体的别名),但类似
-misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1
与实际情况不同"fixed"
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
(我曾经xfd -fn fixed
得到后者,但你可以在 中看到这一点/usr/share/X11/fonts/misc/fonts.alias
)。