CachyOS Global Font Settings - Fix Inconsistent Ugly Fonts in Some Applications
CachyOS has been ranked #1 on DistroWatch for 12 consecutive months. I had heard before that this system is very fast, but I had only installed it without in-depth experience. I gave up immediately because the fonts right after system installation were too ugly. Recently, I had time to install it again, and the speed is really fast - you can really feel it during daily operations. But after configuring fonts, some applications still have inconsistent fonts, which looked ugly. After trying to modify the user font configuration file using the method below, the fonts finally became unified.
Modify fontconfig settings, edit the user font configuration file
nano ~/.config/fontconfig/fonts.confReplace the original configuration file content with the following
<?xml version='1.0'?><!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'><fontconfig> <!-- Artificial oblique for fonts without an italic or oblique version --> <match target="font"> <!-- check to see if the font is roman --> <test name="slant"> <const>roman</const> </test> <!-- check to see if the pattern requested non-roman --> <test compare="not_eq" name="slant" target="pattern"> <const>roman</const> </test> <!-- multiply the matrix to slant the font --> <edit mode="assign" name="matrix"> <times> <name>matrix</name> <matrix> <double>1</double> <double>0.2</double> <double>0</double> <double>1</double> </matrix> </times> </edit> <!-- pretend the font is oblique now --> <edit mode="assign" name="slant"> <const>oblique</const> </edit> <!-- and disable embedded bitmaps for artificial oblique --> <edit mode="assign" name="embeddedbitmap"> <bool>false</bool> </edit> </match>
<!-- Synthetic emboldening for fonts that do not have bold face available --> <match target="font"> <!-- check to see if the weight in the font is less than medium which possibly need emboldening --> <test compare="less_eq" name="weight"> <const>medium</const> </test> <!-- check to see if the pattern requests bold --> <test compare="more_eq" name="weight" target="pattern"> <const>bold</const> </test> <!-- set the embolden flag needed for applications using cairo, e.g. gucharmap, gedit, ... --> <edit mode="assign" name="embolden"> <bool>true</bool> </edit> <!-- set weight to bold needed for applications using Xft directly, e.g. Firefox, ... --> <edit mode="assign" name="weight"> <const>bold</const> </edit> </match>
<!-- Add this section: Font family priority settings --> <alias> <family>sans-serif</family> <prefer> <family>Noto Sans CJK SC</family> </prefer> </alias>
<alias> <family>serif</family> <prefer> <family>Noto Serif CJK SC</family> </prefer> </alias>
<alias> <family>monospace</family> <prefer> <family>Noto Sans Mono CJK SC</family> </prefer> </alias></fontconfig>Refresh font cache
fc-cache -fv