使用fontconfig-infianlity改善Linux字体渲染
用infinality美化你的字体
添加fontconfig-infinality的软件源并安装
sudo add-apt-repository ppa:no1wantdthisname/ppa
sudo apt update
sudo apt install fontconfig-infinality
进入/etc/fonts/infinality,参考README文件中的HOW TO CREATE YOUR OWN CUSTOM RENDERING STYLE
cd /etc/fonts/infinality/styles.conf.avail
sudo cp -rp linux linux-zh
cd linux-zh
在20-aliases-default-linux.conf
中添加中文预设字体
sudo rm 20-aliases-default-linux.conf
sudo cp ../linux/20-aliases-default-linux.conf .
sudo vim 20-aliases-default-linux.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- ##Style: linux -->
<!-- ****************************************************************** -->
<!-- *************************** ALIASES ****************************** -->
<!-- ****************************************************************** -->
<!-- Default fonts - Linux Appearance -->
<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
<family>WenQuanYi Micro Hei</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Liberation Serif</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Liberation Mono</family>
<family>WenQuanYi Micro Hei Mono</family>
</prefer>
</alias>
</fontconfig>
60,61分别定义了truetype和非truetype的字体渲染,复制一份非truetype字体配置文件,然后进行修改
sudo cp 60-group-non-tt-fonts.conf 62-group-chinese-fonts.conf
sudo cp 61-group-non-tt-rendering-inf-7-xp-lin.conf 63-group-chinese-fonts-rendering.conf
sudo vim 62-group-chinese-fonts.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- ##Style: common -->
<!-- Make these fonts use autohint slight hinting -->
<!-- Makes only horizontal stems align to pixels. Truer to glyph -->
<!-- A list of WenQuanYi fonts -->
<match target="font">
<test name="force_autohint">
<bool>false</bool>
</test>
<test name="family">
<string>WenQuanYi Micro Hei</string>
<string>WenQuanYi Micro Hei Light</string>
<string>WenQuanYi Micro Hei Mono</string>
<string>WenQuanYi Micro Hei Mono Light</string>
<string>WenQuanYi Micro Zen Hei</string>
<string>WenQuanYi Micro Zen Hei Mono</string>
</test>
<edit name="font_type" mode="assign">
<string>Chinese Font</string>
</edit>
</match>
</fontconfig>
sudo vim 63-group-chinese-fonts-rendering.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- ##Style: Linux-zh -->
<match target="font">
<test name="font_type">
<string>Chinese Font</string>
</test>
<test name="qt_use_subpixel_positioning">
<bool>true</bool>
</test>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
</fontconfig>
cd /etc/fonts/infinality
./infctl.sh setstyle linux-zh