如何在不运行“fc-cache -f”的情况下让所有应用程序都可以访问手动安装的字体?

如何在不运行“fc-cache -f”的情况下让所有应用程序都可以访问手动安装的字体?

dpkg新字体可以立即安装并投入使用。当我手动添加字体时,我必须使用fc-cache -f,这需要花费大量时间才能完成。如何以 dpkg 方式手动安装字体?dpkg 如何使所有应用程序无需运行即可访问它们fc-cache -f

答案1

如何让字体无需运行即可访问fc-cache -f

别跑fc-cache -f

至少在我的系统(Arch)上,一旦将字体放置在 fontconfig 已知的目录中,就会选择字体(并且缓存已自动重建)。

fc-cache -f强制重建字体缓存

fc-cache 的手册页

-f
   Force re-generation of apparently up-to-date cache files, 
   overriding the timestamp checking.

但是如果字体缓存不需要更新,为什么要强制更新呢?

您可以fc-cache不带参数运行。Arch wiki 有更多建议

要在系统范围内安装字体(可供所有用户使用),请将文件夹移动到 /usr/share/fonts/ 目录。[...]

然后更新 fontconfig 字体缓存:(通常不需要,因为使用 fontconfig 库的软件会这样做。)

  $ fc-cache

(重点是我的)

例子

我没有字体钛网已安装:

grep -i titi 不返回任何内容

所以我下载了它(许可证,OFL!)并将 ttf 文件复制到/usr/share/fonts/TTF。我打算运行fc-cache(sans -f)来查看缓存是否需要更新,但我首先重新运行了fc-list | grep -i titi

哦,字体在那里

gif 暂停了一会儿才开始循环,因为我有点惊讶字体缓存已经更新了

而且它们已经被缓存了!正如预期的那样,它们可供应用程序使用。无需fc-cache,当然也无需强制使用-f

相关内容