我正在为意大利的一所学校配置 Ubuntu 18.04 LTS PC,我已经看到安装了 200 多种字体作为ubuntu-desktop
软件包的依赖项。
我们不需要它们中的大多数,例如,我们不希望典型的用户用孟加拉语或泰语编写或阅读文档。实际上,如此多的字体使我们的用户(例如在 LibreOffice 中)的字体选择变得更加困难,因为他们很难找到有用的字体。
有没有办法在系统范围内禁用那些非拉丁字体,这样它们就不会出现在应用程序中?
我知道我可以手动删除它们(例如清除fonts-tlwg-*
软件包),但我想保留它们的安装,以便单个用户稍后可以在需要时启用它们,而不会影响同一系统的其他用户。
无需卸载任何软件包,因为
fontconfig
它提供了一种将某些字体或路径列入黑名单的方法,并将它们排除在外,就好像它们在系统中不存在一样。您只需要在系统或用户配置中添加如下几行:
在哪里放置配置
/etc/fonts/local.conf
~/.config/fontconfig/fonts.conf
要为每个新用户设置默认行为,请将此配置放入
/etc/skel/.config/fontconfig/fonts.conf
.这种方式默认禁用不需要的字体,但用户仍然可以让它们重新编辑自己的
fontconfig
配置文件(最后一种方法对于我的用例来说似乎更通用)。显然,如果你把这个配置放进去,
/etc/skel/
它不会影响现有用户。他们需要手动将其复制到自己的主目录中才能使其正常工作。示例配置
这是我的完整
fonts.conf
文件,它禁用了我不需要的所有非拉丁字体。它住在~/.config/fontconfig/fonts.conf
.这不仅使字体列表更短,而且使一些应用程序(例如 LibreOffice)更快一些,因为它们需要应付较少的字体来预览,用户仍然可以在需要时为自己启用一些字体,而不会影响其他用户和没有管理员权限。
参考
@gerlos 的回答很好,但就个人而言,我不喜欢为每种语言指定单独的文件夹。这感觉有点麻烦,看起来很脆弱。
另一种方法是排除所有不支持所需语言的字体,例如
en
在我的情况下是英语 ( )。用户配置文件 (
~/.config/fontconfig/fonts.conf
) 可能如下所示:如果这太严格,我们可以根据需要接受其他字体。
请注意,
ubuntu-desktop
推荐大多数字体包;它不依赖于他们。因此,您应该能够安全地删除字体包并仍然保留ubuntu-desktop
.