![Firefox 停止显示字符](https://linux22.com/image/1062455/Firefox%20%E5%81%9C%E6%AD%A2%E6%98%BE%E7%A4%BA%E5%AD%97%E7%AC%A6.png)
今天我按照所示方法在 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