LibreOffice 下 ttf 字体渲染问题

LibreOffice 下 ttf 字体渲染问题

在某些页面缩放级别下,Microsoft TTF 字体(例如 Calibri 和 Cambria)无法正确呈现:

不同缩放级别下系统字体与 Cambria 的对比

我通过将 Microsoft 字体放在~/.fonts目录中并更新字体缓存来手动安装它们。

有没有什么方法可以改善 LibreOffice 下的 Microsoft 字体渲染?

答案1

像 Calibri 和 Cambria 这样的字体在调整为小尺寸时会使用嵌入的位图。

要禁用此字体行为,请将以下内容放入$HOME/.fonts.conf

<match target="font" >
     <edit name="embeddedbitmap" mode="assign">
         <bool>false</bool>
     </edit>
</match>

如果文件不存在则创建该文件。

重启即可生效。

来源
http://ubuntuforums.org/showthread.php?t=724818(需注册)
http://manpages.ubuntu.com/manpages/precise/man5/fonts-conf.5.html

笔记:
$HOME/.fonts.conf在 Ubuntu 12.10 中已弃用,请将上述 XML 代码(以 root 身份)粘贴到 /etc/fonts/conf.d/50-user.conf 中

答案2

不要将 XML 代码放入/etc/fonts/conf.d/50-user.conf(实际上只包含来自$HOME/.config/fontconfig/conf.d或 的文件$HOME/.config/fontconfig/fonts.conf),而应将 XML 代码放入目录中上述两个目录下的文件中$HOME/.config/fontconfig/。不要弄乱系统配置文件,因为这会使系统升级更加复杂。

答案3

我通过删除系统解决了这个问题卡利布里字体,安装卡利托,它“与 Calibri 度量兼容”,并且与“字体配置(local.conf)的映射条目”一起打包,刷新我的字体缓存,然后重新启动 LibreOffice:

$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache

以下是之前和之后的对比图,上面是微软,下面是卡利托:

Calibri 测试

你也可以使用卡拉迪亚为了坎布里亚fonts-crosextra-caladea可以使用Croscore 字体Arimo、Tinos 和 Cousine宋体英语字体格式一种, 和快递新品fonts-croscore

我的完整帖子更多细节。

答案4

我在 Ubuntu LTS 18.04 上遇到了这个问题,升级到 20.04 LTS 后又遇到了这个问题。Calibri 在 LibreOffice 和 Firefox 上看起来很糟糕。上述方法对我有效,如下所示:

创建上述文件并将其保存为 $HOME/.config/fontconfig 中的 fonts.conf

然后重建字体缓存:sudo fc-cache -fv

我不确定最后一步是否必要,但是在检查字体渲染之前我还是这么做了。

Calibri 现在在 LibreOffice 和 Firefox 上看起来很完美。

相关内容