你想问的是 Gnome 字体吧,控制台终端字体估计不是你要问的。
X-Window 下的字体跟内核无关,
早期的 X 程序也跟现在 Gnome、KDE 程序不一样。
现在的 Gtk/Gnome,KDE/Qt 程序都是程序自己绘制字体为图片,然后将绘制好的图片显示到 X-Window。
大体上是:
1. 程序自己先提出想要某个字体(比如想要“sans-serif“字体名)
2. 程序使用 fontconfig 库读取 fontconfig 配置(比如 /etc/fonts/ 下那堆 .conf xml 文件)
得知 "sans-serif" 是一个合成的虚拟字体,是依次尝试使用 DejaVu、文泉驿微米黑等实际字体合成,
并且知道需要开启 AA 反锯齿、开启微调来渲染绘制字体,屏幕 RGB 次序是 XXX
3. 程序从 fontconfig 得知字体配置后,查找出字体实际文件(比如某个路径的 .TTF)
用 FreeType 库打开字体文件,并依照字体文件信息渲染绘制出字符的图片
(多数情况下应用程序并不直接用 FreeType 库,而是通过 Gtk 库调用 Pango 2D 绘图库,再让 Pango
库自己去处理 FreeType、Fontconfig 之类“细节”问题,以及适当排版)
4. 绘制好字符图片后,将它发送到 X-Window 屏幕(比如通过 Xinerama 扩展,或干脆 OpenGL)
5. 于是屏幕上就显示出了你所看到的画面
KDE/Qt 程序跟 Gnome/Gtk 程序字体处理大体上差不多,
只是中间用的并非 Pango,而且对 Fontconfig 的解析过程稍有差异,
但都同样是程序自己绘制出字符图片,再发送到屏幕显示,
X-Window 服务和 Linux 内核都不参与字体处理。
2011/1/31 杜宏羽 <dongfengweixiao(a)gmail.com>:
求linux下的字体的知识的详解。
包括但不限于此:
内核中是不是存在字体?
字体是如何配置的。
刷新字体缓存有价值么?(貌似只要丢在字体目录下就加载了)
假如有A.ttf字体,那么Abd.ttf是不是需要(A字体的粗体)