我有一个非常老旧的 X11 应用程序(超过 10 年),它运行在 OpenSuse 桌面的 chrooted 环境中。它以前看起来不错,多年来我多次更新 Linux 发行版,始终没有问题。
现在从 OpenSuse 12.1 升级到 13.1 后,这个旧应用程序只能识别大约 10 种字体,而且看起来开始很糟糕。它只能识别 Times、Helvetica、Courier、Bookman 和其他一些字体。
应用程序可以使用不同类型的字体吗?也许旧应用程序仅支持一种字体,而最新的 Suse 可能已放弃/减少了这种字体?
确保这个旧应用程序再次具有一些好的字体的最佳方法是什么?
答案1
在 X 应用程序中有两种不同的查找和绘制字体的方法,更详细的描述请参见X.Org 字体文档,并且系统需要为每个提供不同的元数据文件。
较旧的应用程序不支持抗锯齿文本,它们可能使用旧的核心 X11 字体系统,该系统通过 X 字体路径(用 显示xset q
、用 设置)以及由和xset fp
创建的元数据文件(在该路径中的每个目录中)查找字体。 应该列出该系统中可用的所有字体。mkfontscale
mkfontdir
xlsfonts
支持抗锯齿文本的较新的应用程序可能会使用字体配置fonts.conf
要在文件 (例如 中的文件)中列出的目录中找到字体,/etc/fonts/conf.d
请使用 创建的元数据文件fc-cache
。 fc-list
应该列出可通过 fontconfig 获得的所有字体。