LibreOffice下的ttf字体渲染问题


13

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

不同缩放级别下系统字体和Cambria之间的比较

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

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

Answers:


13

调整为小尺寸后,诸如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中


效果很好,谢谢!让我们怀疑为什么这不是默认行为。禁用嵌入式位图是否有不利之处?
Glutanimate

1
@Glutanimate据我所知,很少有字体使用此技术。因此,您永远不会遇到任何问题。我同意,这应该是全局fonts.conf中的默认设置
loklaan 2012年

1
对于14.04,〜/ .config / font-manager / local.conf是添加该位置的更好位置(假设您不想更改系统范围的设置。)
Alan De Smet15年

这对我来说效果更好:askubuntu.com/a/594983/15943
alfC 2015年

7

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


6

我为系统解决了此问题,方法是删除Calibri字体,安装Carlito(与Calibri具有度量兼容),并与“到fontconfig的映射项(local.conf)打包在一起”,刷新字体缓存,然后重新启动LibreOffice:

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

这是顶部和底部分别是Microsoft和Carlito之前和之后的情况:

校准测试

您可以使用Caladea for Cambria进行相同的操作fonts-crosextra-caladea,也可以将Croscore字体 Arimo,Tinos和Cousine用于ArialTimes New RomanCourier Newfonts-croscore

有关更多详细信息,请参见我的完整文章

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.