为什么某些字体仅对某些用户显示加载,而对其他用户则显示不加载

为什么某些字体仅对某些用户显示加载,而对其他用户则显示不加载

我从这里下载了 truetype 字体:https://github.com/Templarian/MaterialDesign-Font/blob/master/MaterialDesignIconsDesktop.ttf

我尝试在 中安装它/usr/local/share/fonts/MaterialDesignIconsDesktop/MaterialDesignIconsDesktop.ttf

当我跑步fc-cache -fvr我看到该文件已被检测到:

root@localhost:/usr/local/share/fonts# fc-cache -fvr|grep MaterialDesignIconsDesktop
/usr/local/share/fonts/MaterialDesignIconsDesktop: caching, new cache contents: 1 fonts, 0 dirs
/usr/local/share/fonts/MaterialDesignIconsDesktop: skipping, looped directory detected

我看到 fc-list 列出的字体如下root

root@localhost:/usr/local/share/fonts# fc-list|grep MaterialDesignIconsDesktop
/usr/local/share/fonts/MaterialDesignIconsDesktop/MaterialDesignIconsDesktop.ttf: Material Design Icons Desktop:style=Regular

然而当我退出我的重新登录我的普通的帐户并运行相同的命令,字体可以被检测到fc-cache,但无法被拾取fc-list

 % fc-cache -fvr |grep 'MaterialDesignIconsDesktop'
Unable to revert mtime: /usr/local/share/fonts/MaterialDesignIconsDesktop
/usr/local/share/fonts/MaterialDesignIconsDesktop: caching, new cache contents: 1 fonts, 0 dirs
/usr/local/share/fonts/MaterialDesignIconsDesktop: skipping, looped directory detected
 % fc-list -v|grep MaterialDesignIconsDesktop
 %

我尝试放入 TTF 文件,结果相同/usr/share/fonts/MaterialDesignIconsDesktop/~/.local/share/fonts/MaterialDesignIconsDesktop/

我还确保字体目录(a+rx)和文件(a+r)是全局可读的。

我在其他一些字体上也遇到了类似的问题,但这个字体很有代表性。我应该补充一点,我安装的其他一些字体也没有问题——所以这不是一个普遍的问题。

我正在运行 Ubuntu 22.10。

更新

似乎是我的用户(非 root)帐户特有的问题。我在同一台笔记本电脑上创建了另一个非 root 帐户,当我登录该帐户时,字体就可以正常显示。

但我真的不想仅仅为了字体而迁移到新帐户 - 特别是如果我最终在完成迁移后只是重现同样的问题......

答案1

好吧,我进入了字体管理器 ( font-manager),发现上面的字体已列出,但处于“未选中”状态。当我将其标记为“已选中”时,字体便出现在输出中fc-list

我不知道为什么我必须专门针对该字体执行此操作,而其他字体则不必。也许我之前在使用字体管理器浏览字体时不小心“取消选中”了它。

无论如何,这解决了问题。

相关内容