即使已安装字体,为什么Libreoffice还是会替换字体?

我非常确定我的电脑上安装了Arial字体,因为当我输入“fc-match Arial”时,在终端中看到的输出是“LiberationSans-Regular.ttf: "Liberation Sans" "Regular"”。
然而,我的LibreOffice Calc中的所有字体看起来都很糟糕。当我将鼠标悬停在字体“Arial”上时,我看到的是“字体名称”。当前字体不可用并将被替换。
为什么会发生这种情况?如何停止这种情况发生?

你是怎么安装Arial字体的? - muru
我在软件中心搜索了Arial字体。我找到了一个叫做tts-mscorefonts-installer的软件包。我点击了安装。它提示我有一些用户许可协议未签署或其他问题。但是安装最终完成了。 - Inspired_Blue
如果用户许可协议(EULA)没有签署,那么很可能字体也没有安装——这些字体是由软件包单独下载的。 - muru
3可能是Did I accept the ttf-mscorefonts-installer EULA?的重复问题。 - muru
1fc-list 'Arial'的输出是什么? - Anwar
2个回答

如果fc-match建议您使用的字体不是您请求的字体,那么这意味着该字体未安装
要安装它,请在终端中输入以下命令:
sudo apt-get install --reinstall ttf-mscorefonts-installer

这将重新安装ttf-mscorefonts-installer。确保您接受许可证,否则字体将无法安装。

1不,问题说Arial字体肯定已安装因为计算机显示它没有使用该字体。这不是有效的推理。我绝对没有Arial字体,而且fc-match Arial给出了与问题中完全相同的响应。问题的评论说EULA未被接受,这会阻止字体被安装。在安装软件包并接受EULA后,fc-match Arial显示Arial.ttf: "Arial" "Regular",所以这是一个有效的答案。 - Chai T. Rex
@ChaiT.Rex 不一定这个命令在16.04上运行时会出现半安装的包缺少字体的情况。 - Videonauth
无法从fc-match的输出中推断出OP缺少字体。因为fc-match不会列出字体,而是显示最佳匹配的字体,这是可以控制的。即使你有Arial字体,它也可能显示为“Liberation Sans”。@ChaiT.Rex - Anwar
从"It did flash me that some EULA wasn't signed or something."这句话可以推断出,如果没有签署最终用户许可协议(EULA),该软件包将不会安装字体。 - Chai T. Rex
对于我之前的评论,我表示道歉。实际上,我想要强调的是你不能依赖于fc-match的输出结果,而今天我也面临着相同的情况。我有Arial字体,但fc-match显示的却是Liberation Sans字体。 - Anwar

如在此处的其他答案的评论中所述,实际上您没有安装Arial字体,否则fc-match Arial将会显示以下内容:
$ fc-match Arial
Arial.ttf: "Arial" "Regular"

编辑:正如@Anwar在评论中所述,fc-match可能会产生错误的结果,因此为了确保,请执行fc-list Arial,它应该输出如下内容:
$ fc-list Arial
/usr/share/fonts/truetype/msttcorefonts/Arial_Italic.ttf: Arial:style=Italic,Cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana
/usr/share/fonts/truetype/msttcorefonts/Arial.ttf: Arial:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf: Arial:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf: Arial:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/truetype/msttcorefonts/arialbi.ttf: Arial:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf: Arial:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/truetype/msttcorefonts/ariali.ttf: Arial:style=Italic,Cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana

为了确保它被正确安装(通常的命令在安装过程中会遇到404错误),请按照以下步骤进行操作:
apt remove --purge ttf-mscorefonts-installer

这将删除当前的安装。只是为了确保我们在接下来的安装对话框中接受最终用户许可协议(EULA)。
sudo apt install ttf-mscorefonts-installer

在安装过程中,很可能会出现一些错误消息,指出无法从sourceforge.net上获取字体。 要解决这个问题,只需按照以下步骤操作:

TMP=$(mktemp -d)
cd "$TMP"
awk '/Url/ {system("wget "$2)}' /usr/share/package-data-downloads/ttf-mscorefonts-installer
sudo /usr/lib/msttcorefonts/update-ms-fonts "$TMP"/*
sudo touch /var/lib/update-notifier/package-data-downloads/ttf-mscorefonts-installer

这应该会产生一个相当长的输出,处理所有Microsoft字体并更新它们。现在只需要清理一下就行了。
cd ..
rm -r "$TMP"

现在进行测试,再次运行fc-match Arial命令,应该会得到上述结果。

fc-match Arial 不一定会显示字体,即使字体已安装。这不是一个百分之百的确定性测试。相反,应该使用 fc-list Arial - Anwar