如何在 Linux 中安装字体以便 xterm 可以使用?

如何在 Linux 中安装字体以便 xterm 可以使用?

我碰到一个问题今天询问是否有好的 Linux xterm 字体,答案建议使用 Terminus。我一直在寻找一种新的终端字体,所以我下载了(顺便说一句,我正在运行 Ubuntu Intrepid)并阅读 README:

1.1. Quick installation.
The commands:
  $ ./configure [--prefix=PREFIX]
  $ make
  # make install
compile and install the Linux console and X11 Window System fonts, and
  # make fontdir
updates fonts.dir for X11 (if you don't know what fonts.dir is, execute the
command).

1.2. Legend.    
The file names are structured as follows: ter-u<SIZE><STYLE>.bdf    
where <SIZE> is 12, 14, 16, 20, 24, 28 or 32, and <STYLE> is n for normal
(all sizes), b for bold (all sizes except 6x12) and v for EGA/VGA bold (8x14
and 8x16 only, makes use of the eight character matrix column).

于是我跑了:

$ ./configure
$ make
$ sudo make install
$ sudo make fontdir

...为了确保万无一失,我重新启动了 X11,但还是找不到新字体:

$ xterm -font ter-u14n
xterm:  unable to open font "ter-u14n", trying "fixed"....

唉。回到 README。在这个文件的后面,我看到了:

4. X11 Window System.
4.1. Installation.

$ ./configure [--prefix=PREFIX | --x11dir=DIRECTORY]
$ make pcf
# make install-pcf

好吧,我知道“xterm -font 8x16”可以工作,所以我运行了“locate 8x16”,发现这个字体似乎位于 /usr/share/fonts/X11/misc 中,所以这似乎是个不错的 --x11dir 选项。所以我运行了:

$ ./configure --x11dir=/usr/share/fonts/X11/misc
$ make pcf
$ make install-pcf
$ sudo make fontdir

...然后我再次重新启动了 X11,甚至重新启动了整个计算机,我甚至验证了我的系统上现在有一堆文件,如 /usr/share/fonts/X11/misc/ter-u14n.pcf.gz,但仍然:

$ xterm -font ter-u14n
xterm:  unable to open font "ter-u14n", trying "fixed"....

为了让这种字体与 xterm 一起工作,我必须执行什么神奇的咒语?

答案1

Ubuntu 有一个包:

apt-get install xfonts-terminus xfonts-terminus-oblique

请注意,这是在universe存储库中,因此您可能必须将其添加到/etc/apt/sources.list

答案2

在 Debian Wheezy 中安装 xfonts-terminus 后我需要执行以下操作:

$ xset fp rehash

另外,我的~/.Xresources说:

xterm*utf8: 1
xterm*font: -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso10646-1

,其中是从安装字体的文件-xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso10646-1中获取的。在我的例子中,它是。fonts.dir/usr/share/fonts/X11/misc/fonts.dir

您可以使用xterm*utf8: 1并选择iso10646-1是否需要 utf-8。您可能还需要调用包装器脚本uxterm而不是xtermutf-8 才能在终端中正常工作。

所有更改都~/.Xresources要求您执行:

$ xrdb ~/.Xresources

让它们在当前 X 会话中注册。

xterm*font规则也可以用通配符星号来写,如下所示:

xterm*font: -xos4-terminus-medium-r-*--20-*-*-*-*-*-iso10646-*

我希望这对遇到类似问题的任何人都有帮助。

答案3

/usr/share/fonts/X11/misc 下的 encodings.dir、fonts.alias 和 fonts.dir 文件中是否列出了字体?

我已经很久没有在 Linux 主机上添加字体了,但有一些辅助实用程序,名为 mkfontdir、update-fonts-alias、update-fonts-dir 和 update-fonts-scale,应该默认安装。它们负责更新元信息,告知 X 服务器系统上安装的字体。请参阅它们的手册页。

在基于 Debian 的系统上(Ubuntu 继承了 Debian 的风格),当添加字体 .deb 包时,辅助程序通常会自动调用 mkfontdirs。使用 make 安装字体可能无法按照系统预期的方式进行设置。

相关内容