Linux区


QT5程序字体渲染的问题

因为不断现代化的Linux系统再也无法调用infinality渲染包中的/etc/profile.d/infinality-settings.sh脚本,所以写在这个脚本里的系统字体全局参数已失效:

Xft.antialias:  1
Xft.autohint:   0
Xft.dpi:        96
Xft.hinting:    1
Xft.hintstyle:  hintfull
Xft.lcdfilter:  lcddefault
Xft.rgba:       rgb

这就造成QT5程序的字体在一些已经开启hintfull的桌面环境里仍渲染的很渣,默认情况下的(微软雅黑)字体很是模糊难看,如下图所示:

解决方法之一:通过qt5ct来更新字体配置,按照下图的方法操作,勾选或不勾选相应的项目

解决方法之二:直接新建一个~/.config/fontconfig/fonts.conf文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
            <const>hintfull</const>
        </edit>
        <edit name="rgba" mode="assign">
            <const>rgb</const>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="lcdfilter" mode="assign">
            <const>lcddefault</const>
        </edit>
        <edit name="dpi" mode="assign">
            <double>96</double>
        </edit>
    </match>
</fontconfig>

解决方法之三:为了方便所有用户全局使用,在/etc/fonts目录里的某个关键.conf文件(比如我的字体渲染包里的/etc/fonts/infinality/infinality.conf文件)里写入以下内容:

    <match target="font">
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
            <const>hintfull</const>
        </edit>
        <edit name="rgba" mode="assign">
            <const>rgb</const>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="lcdfilter" mode="assign">
            <const>lcddefault</const>
        </edit>
        <edit name="dpi" mode="assign">
            <double>96</double>
        </edit>
    </match>

一条命令查看Linux发行版的真实用户份额:wget -qO - linux.top/o|sh

相关博文



以下是网友的6条评论,您赞同吗?

  1. 2019-3-24 14:41

    河南省焦作市某Linux用户觉得这篇文章很有帮助。

  2. 2019-3-7 20:00

    江西省某Linux用户觉得这篇文章很有帮助。

  3. dh
    2019-1-10 19:13

    大神,对于QT编写的wps office的文档显示字体发虚怎么处理?在Qt4ct和QT5ct里设置均没有效果,还是发虚。

    • 小衲
      2019-1-10 19:18

      没办法。wps的字体渲染机制复杂且闭源,难搞。建议弃坑。

  4. 2018-5-12 10:28

    围观大神~~~

    • 小衲
      2018-5-12 11:11

      怎么了?

发表评论

电子邮件地址不会被公开。