经过很多围绕Xterm的捣乱,仔细研究了一大堆网页,我已经不知所措,并意识到这不是我自己能想到的东西。
TrueType与位图
选项xterm*font
是否仅用于指定位图字体,*faceName
仅用于TrueType字体?
我使用命令xlsfonts
和fc-list
找出已安装的Bitmap和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
然而,这不起作用。我错过了什么/搞砸了?
编辑:我终于在通过多个来源搜索之后发现了几天前的错误。结合每个人的回答: 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
重建字体缓存,然后重试。
希望这会有所帮助;如果我错过了什么,请告诉我。
P.S。我使用从here下载的Ubuntu Mono修补字体我使用XTerm*faceName: "Ubuntu Mono derivative Powerline"
答案 0 :(得分:2)
逐点:
font
资源是X Toolkit的标准资源设置,它只处理XLFD(位图),而faceName
在很久之后添加{ xterm
提供一种指定TrueType字体的方法(实际上是fontconfig支持的,包括位图字体)。xlsfonts
和fc-list
程序分别用于两个(XLFD和fontconfig)。.ttf
文件从github添加到我的~/.fonts
目录(zip-file link是最简单的下载方式)。~/.fonts
目录,而不是将.ttf
文件复制到顶级目录中。 fontconfig可以处理子目录;它可能对实际的文件名很敏感。例如,如果我将文件复制到顶级~/.fonts
目录,fc-list
将显示字体文件的完整路径名(可能不正确)。fc-list
向我显示Regular
。{/ 1}}。以下是RegularForPowerline
的输出,寻找“Power”:
fc-list
顺便说一句,您可以使用命令行Ubuntu Mono for VimPowerline:style=Bold
Ubuntu Mono for VimPowerline:style=Bold Italic
Ubuntu Mono for Powerline:style=Bold Italic
Ubuntu Mono for Powerline:style=Regular
Ubuntu Mono for VimPowerline:style=Italic
Ubuntu Mono for Powerline:style=Bold
Ubuntu Mono for VimPowerline:style=Regular
Ubuntu Mono for Powerline:style=Italic
选项直接测试字体(当然,引用面部名称)。我做到了,结果看似合理(比较常规和粗体)。