Firefox 停止显示字符

Firefox 停止显示字符

今天我按照所示方法在 Ubuntu 16.04 中安装了 Calibri 字体这里,也就是说,我创建了一个~/.fonts目录,然后使用了这个命令:

wget -qO- http://plasmasturm.org/code/vistafonts-installer/vistafonts-installer | bash

下载并安装一组字体。

但下载完成后,我的 Firefox 立即停止显示某些字符。显然,这在某些等宽字体(未选中)中发生。

例如,在 Stack Exchange 网络中,格式化为代码的文本显示为:


在此处输入图片描述


(这是我提到的答案的截图)

此外,很酷的 GitHub 页面显示如下:


在此处输入图片描述


此外,您正在阅读的这个问题是在 GEdit 中编写的,然后复制粘贴到网站中,因为消息正文框中的字符根本没有显示(尽管标题框显示),如下所示:


在此处输入图片描述


当我运行该脚本时发生了什么?如何修复它?

答案1

在@GunnarHjalmarsson 的帮助下我解决了这个问题。

我不知道为什么会发生这种情况,但也许 Firefox 在那里寻找字体,找到一个,然后使用它。但这些字体没有打字机变体,所以或许这就是原因。

解决方案

@GunnarHjalmarsson 建议将字体移至/usr/share/fonts/calibri

由于这些是 TrueType 字体,我将它们移动到/usr/share/fonts/truetype/calibri

实际上,包中还有更多字体,因此我这样做了:

for i in calibri cambria candara consola constan corbel; do
    sudo mkdir /usr/share/fonts/truetype/$i # create the folder
    sudo mv ~/.fonts/$i* /usr/share/fonts/truetype/$i/ # move the font files
    sudo chmod 644 /usr/share/fonts/truetype/$i/* # change permission of the fonts to rw-r--r--
done

之后,我删除~/.fonts并重新启动了 Firefox,问题就解决了......

但后来字体不再可用(至少对于 XeTeX 来说)。所以我下载了安装字体的脚本:

wget -qO- http://plasmasturm.org/code/vistafonts-installer/vistafonts-installer

但没有执行它。在脚本的末尾我发现了fc-cache -fv ~/.fonts。阅读该man fc-cache页面后我发现此命令创建了可用字体的某种映射,因此我使用了:

fc-cache -fvs

重新生成这些映射。

之后我的 Firefox 就可以正常工作了,并且字体也可以供 XeTeX 使用。


我必须补充一点,在另一台电脑上(都安装了 Ubuntu 16.04 和 Firefox 58),我按照问题中描述的相同步骤(字体安装),但问题并没有发生......我不知道为什么:P

相关内容