缺少字体导致 LibreOffice Impress 弄乱幻灯片的布局

rob*_*rre 5 wine fonts debug libreoffice microsoft-powerpoint

在这里报告了一个 LibreOffice Impress 错误。在那个错误中,幻灯片的文本超出了页边距

在此处输入图片说明

虽然它在 Microsoft PowerPoint 中看起来不错

在此处输入图片说明

现在我不能再重现这个错误了。LibreOffice Impress 与用于报告错误并由 Canonical 提供的版本相同,似乎可以正确显示它。

发生的一项重大变化是我安装了 wine。是否有可能 wine 安装了一些最初不存在的字体,所以当我报告错误时 LibreOffice 正在诉诸其他一些替代字体?

rob*_*rre 5

我解决了这个问题。

我将在这里发布解决方案,因为我认为这对于来自 Windows 并希望获得流畅的 Linux 体验的人来说很重要。

在此处报告的错误与缺失的字体“Calibri”有关,这是一种 Microsoft 字体,但在 Ubuntu 上缺失。

LibreOffice 使用 fontconfig 来解析字体。如果缺少字体,fontconfig 将使用替代字体。LibreOffice 会告诉您该字体丢失并已通过将字体名称置于斜体中而被替换,但它不会告诉您使用哪种字体作为替代。您可以使用命令自己找到它fc-match <FONTNAME>。在默认的 Kubuntu 20.10 安装中,fontconfig 会将缺少的“Calibri”解析为“Noto Sans”,这是一个不适当的替换,导致了这个错误。

您在这里有两个选择:

  1. 安装“Calibri”的开源替代品。这种开源字体称为“Carlito”,默认情况下未安装。但是它在官方存储库中可用,您可以通过运行来安装它:

    sudo apt-get install fonts-crosextra-carlito
    
    Run Code Online (Sandbox Code Playgroud)

    您也可以发出sudo apt-get install fonts-crosextra-*来替代其他 Microsoft 字体。

  2. 您可以安装 Microsoft 的官方“Calibri”字体。为此,我建议您使用fontist并按照此处的说明进行操作(免责声明:我编写了这些说明)。