在对 Xterm 进行了大量的研究之后,仔细研究了我已经认输的大量网页,并意识到这不是我自己能解决的问题。
TrueType 与位图
该选项是否
xterm*font
仅用于指定位图字体并且*faceName
仅用于 TrueType 字体?我正在使用命令
xlsfonts
来fc-list
查找已安装的位图和 TrueType 字体。它是否正确?我想将 XTerm 字体设置为 Ubuntu Mono。这是的输出
fc-list | grep -i ubuntu
Ubuntu Mono for Powerline:style=RegularForPowerline Ubuntu Mono for Powerline:style=Bold Italic Ubuntu Mono for Powerline:style=BoldForPowerline Ubuntu Mono for Powerline:style=ItalicForPowerline
我添加XTerm*faceName: Ubuntu Mono for Powerline:style=RegularForPowerline
到我的~/.Xresources
并运行xrdb -merge ~/.Xresources
xrdb -query all
显示*faceName
设置为Ubuntu Mono for Powerline:style=RegularForPowerline
然而,这不起作用。我在这里错过了什么/搞砸了什么?
答案1
几天前,在查阅了多个来源后,我终于弄清楚出了什么问题。综合一下大家的回答:
Ubuntu Mono 是一种 TrueType 字体,TrueType 字体需要使用 FreeType 库支持来编译 xterm。要检查 xterm 是否有此功能,请使用该ldd /path/to/xterm/binary
命令并查看其中是否显示 freetype。另一种方法是查看 xterm 是否有该-fa
选项。
如果您的 xterm 有 FreeType lib 支持,请选择
位图字体,通过运行
xfontsel -p
并使用退出时打印的确切字符串。TrueType 字体,使用
fc-list :scalable=true:spacing=mono: family
并使用它输出的确切字符串。
使用上述步骤之一获得字体名称后,通过以下方式设置它XTerm*faceName: <name of the font>
如果您安装了新字体,并且在运行上述命令之一时它没有显示,请使用重建字体缓存fc-cache -frv
并重试。
PS我使用的是从Ubuntu Mono下载的补丁字体这里我在用着XTerm*faceName: Ubuntu Mono derivative Powerline
感谢 Wumpus Q. Wumbley 和 Thomas Dickey 的详细回复。
答案2
这是一个旧问题,但对于来到这里的任何人来说,解决方案是:
XTerm*faceName: Ubuntu Mono:style=Regular
如果您想立即看到更改,请运行:
xrdb -merge .Xresources
xterm