无法在XTerm中配置字体

时间:2015-04-22 21:55:13

标签: xterm fontconfig

经过很多围绕Xterm的捣乱,仔细研究了一大堆网页,我已经不知所措,并意识到这不是我自己能想到的东西。

TrueType与位图

  1. 选项xterm*font是否仅用于指定位图字体,*faceName仅用于TrueType字体?

  2. 我使用命令xlsfontsfc-list找出已安装的Bitmap和TrueType字体。这是对的吗?

  3. 我想将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
    
  4. 我将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支持,请选择

    1. 位图字体,运行xfontsel -p并使用退出时打印的确切字符串。

    2. TrueType字体,使用fc-list :scalable=true:spacing=mono: family并使用它输出的确切字符串。

    3. 使用上述步骤之一获得字体名称后,请通过XTerm*faceName: <name of the font>

      进行设置

      如果您安装了新字体,并且在运行上述命令之一时未显示,请使用fc-cache -frv重建字体缓存,然后重试。

      希望这会有所帮助;如果我错过了什么,请告诉我。

      P.S。我使用从here下载的Ubuntu Mono修补字体我使用XTerm*faceName: "Ubuntu Mono derivative Powerline"

1 个答案:

答案 0 :(得分:2)

逐点:

  1. 是的,font资源是X Toolkit的标准资源设置,它只处理XLFD(位图),而faceName在很久之后添加{ xterm提供一种指定TrueType字体的方法(实际上是fontconfig支持的,包括位图字体)。
  2. xlsfontsfc-list程序分别用于两个(XLFD和fontconfig)。
  3. 风格看起来很奇怪。我将.ttf文件从github添加到我的~/.fonts目录(zip-file link是最简单的下载方式)。
  4. 我解压缩下载解压缩我的~/.fonts目录,而不是将.ttf文件复制到顶级目录中。 fontconfig可以处理子目录;它可能对实际的文件名很敏感。例如,如果我将文件复制到顶级~/.fonts目录,fc-list将显示字体文件的完整路径名(可能不正确)。
  5. fc-list向我显示Regular。{/ 1}}。
  6. 以下是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 选项直接测试字体(当然,引用面部名称)。我做到了,结果看似合理(比较常规和粗体)。