无法在 XTerm 中配置字体
Unable to configure font in XTerm
在对 Xterm 进行了大量研究之后,仔细阅读了大量我已经认输的网页,并意识到这不是我自己可以解决的问题。
TrueType 与位图
选项xterm*font
是否仅用于指定位图字体,*faceName
是否仅用于TrueType字体?
我正在使用命令 xlsfonts
和 fc-list
找出安装的位图和 TrueType 字体。这是正确的吗?
我想将 XTerm 字体设置为 Ubuntu 单色。这是 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
但是,这不起作用。我在上面 missing/screwing 是什么?
编辑:几天前,在搜索了多个来源后,我终于弄清楚出了什么问题。在这里综合大家的回复:
Ubuntu Mono 是一种 TrueType 字体,TrueType 字体需要 xterm 与 FreeType 库支持一起编译。要检查 xterm 是否有这个,使用 ldd /path/to/xterm/binary
命令并查看它是否在其中显示 freetype。另一种方法是查看 xterm 是否具有 -fa
选项。
如果您的 xterm 支持 FreeType 库,请选择
位图字体,由 运行ning xfontsel -p
并使用它在退出时打印的确切字符串。
TrueType 字体,使用 fc-list :scalable=true:spacing=mono: family
并使用它输出的确切字符串。
使用上述步骤之一获得字体名称后,通过 XTerm*faceName: <name of the font>
进行设置
如果您安装了一种新字体,并且当您 运行 上述命令之一时它没有显示,请使用 fc-cache -frv
重建您的字体缓存并重试。
希望这对您有所帮助;如果我遗漏了什么,请告诉我。
P.S。我使用 Ubuntu 从 here 下载的 Mono 补丁字体 我正在使用 XTerm*faceName: "Ubuntu Mono derivative Powerline"
逐点:
- 是的,
font
资源是 X Toolkit 的标准资源设置,它只处理 XLFD (bitmap), while faceName
was added long after, in applications such as xterm
以提供指定 TrueType 字体的方法(实际上是任何 fontconfig 支持的,它可以包括位图字体)。
- 分别是
xlsfonts
and fc-list
programs are used for the two (XLFD and fontconfig)。
- 这种风格看起来……很奇怪。我从 github to my
~/.fonts
directory (the zip-file link 添加了 .ttf
文件是最简单的下载方式。
- 我解压了下载解压我的
~/.fonts
目录,而不是将 .ttf
文件复制到顶级目录。 fontconfig 可以处理子目录;它可能对实际文件名敏感。例如,如果我将文件复制到顶级 ~/.fonts
目录,fc-list
将显示字体文件的完整路径名(可能不正确)。
fc-list
告诉我 Regular
你有 RegularForPowerline
.
这里是 fc-list
的输出,寻找 "Power":
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
顺便说一下,您可以直接使用命令行 -fa
选项(当然要引用字体名称)来测试字体。我这样做了,结果看起来合理(比较常规和粗体)。
在对 Xterm 进行了大量研究之后,仔细阅读了大量我已经认输的网页,并意识到这不是我自己可以解决的问题。
TrueType 与位图
选项
xterm*font
是否仅用于指定位图字体,*faceName
是否仅用于TrueType字体?我正在使用命令
xlsfonts
和fc-list
找出安装的位图和 TrueType 字体。这是正确的吗?我想将 XTerm 字体设置为 Ubuntu 单色。这是
的输出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
但是,这不起作用。我在上面 missing/screwing 是什么?
编辑:几天前,在搜索了多个来源后,我终于弄清楚出了什么问题。在这里综合大家的回复:
Ubuntu Mono 是一种 TrueType 字体,TrueType 字体需要 xterm 与 FreeType 库支持一起编译。要检查 xterm 是否有这个,使用 ldd /path/to/xterm/binary
命令并查看它是否在其中显示 freetype。另一种方法是查看 xterm 是否具有 -fa
选项。
如果您的 xterm 支持 FreeType 库,请选择
位图字体,由 运行ning
xfontsel -p
并使用它在退出时打印的确切字符串。TrueType 字体,使用
fc-list :scalable=true:spacing=mono: family
并使用它输出的确切字符串。
使用上述步骤之一获得字体名称后,通过 XTerm*faceName: <name of the font>
如果您安装了一种新字体,并且当您 运行 上述命令之一时它没有显示,请使用 fc-cache -frv
重建您的字体缓存并重试。
希望这对您有所帮助;如果我遗漏了什么,请告诉我。
P.S。我使用 Ubuntu 从 here 下载的 Mono 补丁字体 我正在使用 XTerm*faceName: "Ubuntu Mono derivative Powerline"
逐点:
- 是的,
font
资源是 X Toolkit 的标准资源设置,它只处理 XLFD (bitmap), whilefaceName
was added long after, in applications such asxterm
以提供指定 TrueType 字体的方法(实际上是任何 fontconfig 支持的,它可以包括位图字体)。 - 分别是
xlsfonts
andfc-list
programs are used for the two (XLFD and fontconfig)。 - 这种风格看起来……很奇怪。我从 github to my
~/.fonts
directory (the zip-file link 添加了.ttf
文件是最简单的下载方式。 - 我解压了下载解压我的
~/.fonts
目录,而不是将.ttf
文件复制到顶级目录。 fontconfig 可以处理子目录;它可能对实际文件名敏感。例如,如果我将文件复制到顶级~/.fonts
目录,fc-list
将显示字体文件的完整路径名(可能不正确)。 fc-list
告诉我Regular
你有RegularForPowerline
.
这里是 fc-list
的输出,寻找 "Power":
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
顺便说一下,您可以直接使用命令行 -fa
选项(当然要引用字体名称)来测试字体。我这样做了,结果看起来合理(比较常规和粗体)。