Linux 如何管理字体?

hpy*_*hpy 11 linux xorg fonts

当我使用 Windows(很久以前!)和 Mac OS X 时,操作系统和所有程序(Windows 中的字体文件夹和 Mac 中的字体簿)共享和访问字体的中央“存储库” OS X)。

在 Linux 中如何管理字体?是否还有所有程序(没有 X 的外壳、有 X、窗口管理器、其他 GUI 软件)可以使用的字体的中央存储?还是字体是分开管理的?如何在 Linux 中高效、轻松地管理我的字体?

Gil*_*il' 13

X 域中的字体有两种机制:服务器端和客户端。

渲染字体的传统方式是让客户端告诉服务器“foo在字体 F 中的位置 (x,y) 处渲染”(其中字体规范包括字体、大小、编码和其他属性)。X 服务器本身或称为字体服务器的专用程序打开字体文件以构建每个字形的描述。字体可以是位图或矢量字体,但矢量字体在渲染之前会转换为位图。

大多数现代程序使用客户端字体渲染,通常通过xftfontconfig。因为服务器端字体渲染不支持抗锯齿,所以需要一种新机制。

在 X 之外(即在 VGA 控制台上),有 VGA 字体,它们是特定大小的位图字体。但是和X11相比,没有人使用VGA控制台,所以花在他们身上的功夫并不多。

在实践中,您需要通过两种方式配置字体:

  • 对于旧式程序:字体目录通过FontPath指令列出,xorg.conf并且可以xset fp由运行 X 的用户使用命令进行操作。如果您安装新字体,您可能需要运行mkfontdir.
  • 对于更新样式的程序,包括所有 Gtk(Gnome 等)和 Qt(KDE 等)程序:字体位于 中的<dir>指令指示的目录中/etc/fonts/fonts.conf~/.fonts.conf以及其他一些位置。有关更多信息,请参阅fontconfig 文档。如果您安装新字体,您可能需要运行fc-cache.