Rewrite fontconfig

This commit is contained in:
rydesun 2020-10-03 22:08:59 +08:00
parent 17d86628a3
commit 12a14954b2

View file

@ -2,265 +2,64 @@
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Disable embedded bitmap -->
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
<!-- Replace mono fonts -->
<match target="pattern">
<test name="family" compare="contains"><string>mono</string></test>
<edit name="family" binding="strong"><string>monospace</string></edit>
</match>
<match target="pattern">
<test name="family" compare="contains"><string>Source Code</string></test>
<edit name="family" binding="strong"><string>monospace</string></edit>
</match>
<!-- Replace sans fonts -->
<match target="pattern">
<test name="family" compare="contains"><string>sans</string></test>
<edit name="family" binding="strong"><string>sans</string></edit>
</match>
<match target="pattern">
<test name="family" compare="eq"><string>Cantarell</string></test>
<edit name="family" binding="strong"><string>sans</string></edit>
</match>
<match target="pattern">
<test name="family" compare="eq"><string>Microsoft Yahei</string></test>
<edit name="family" binding="strong"><string>sans</string></edit>
</match>
<!-- Replace serif fonts -->
<match target="pattern">
<test name="family" compare="contains"><string>serif</string></test>
<edit name="family" binding="strong"><string>serif</string></edit>
</match>
<match target="pattern">
<test name="family" compare="contains"><string>SimSun</string></test>
<edit name="family" binding="strong"><string>serif</string></edit>
</match>
<!-- Disable default-installed font DejaVu -->
<selectfont>
<rejectfont>
<pattern>
<patelt name="family"><string>DejaVu Sans</string></patelt>
</pattern>
<pattern>
<patelt name="family"><string>DejaVu Serif</string></patelt>
</pattern>
<pattern>
<patelt name="family"><string>DejaVu Sans Mono</string></patelt>
</pattern>
</rejectfont>
</selectfont>
<!-- Disable default-installed font Source Code Pro -->
<selectfont>
<rejectfont>
<glob>/usr/share/fonts/adobe-source-code-pro/*</glob>
</rejectfont>
</selectfont>
<!-- Disable wps fonts -->
<selectfont>
<rejectfont>
<glob>/usr/share/fonts/wps-office/*</glob>
</rejectfont>
</selectfont>
<!-- Alternative fonts -->
<match target="pattern">
<test qual="any" name="family"><string>Microsoft Yahei</string></test>
<edit name="family" mode="assign" binding="same">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>SimSun</string></test>
<edit name="family" mode="assign" binding="same">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>SimSun-18030</string></test>
<edit name="family" mode="assign" binding="same">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Source Code Pro</string></test>
<edit name="family" mode="assign" binding="same">
<string>Iosevka Term SS04</string>
</edit>
</match>
<!-- Default Chinese(Simplified) fonts -->
<match target="pattern">
<test name="lang" compare="contains"><string>zh</string></test>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>zh</string></test>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>zh</string></test>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend">
<string>Iosevka Term SS04</string>
<string>Noto Sans Mono CJK SC</string>
</edit>
</match>
<!-- Default Chinese(HongKong) fonts -->
<match target="pattern">
<test name="lang" compare="contains"><string>zh-HK</string></test>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Sans CJK HK</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>zh-HK</string></test>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Serif CJK HK</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>zh-HK</string></test>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend">
<string>Iosevka Term SS04</string>
<string>Noto Sans Mono CJK HK</string>
</edit>
</match>
<!-- Default Chinese(Taiwan) fonts -->
<match target="pattern">
<test name="lang" compare="contains"><string>zh-TW</string></test>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Sans CJK TC</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>zh-TW</string></test>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Serif CJK TC</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>zh-TW</string></test>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend">
<string>Iosevka Term SS04</string>
<string>Noto Sans Mono CJK TC</string>
</edit>
</match>
<!-- Default Japanese fonts -->
<match target="pattern">
<test name="lang" compare="contains"><string>ja</string></test>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>ja</string></test>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Serif CJK JP</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>ja</string></test>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend">
<string>Iosevka Term SS04</string>
<string>Noto Sans Mono CJK JP</string>
</edit>
</match>
<!-- Default Korean fonts -->
<match target="pattern">
<test name="lang" compare="contains"><string>ko</string></test>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Sans CJK KR</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>ko</string></test>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend">
<string>Noto Serif CJK KR</string>
</edit>
</match>
<match>
<test name="lang" compare="contains"><string>ko</string></test>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend">
<string>Iosevka Term SS04</string>
<string>Noto Sans Mono CJK KR</string>
</edit>
</match>
<!-- Default sans-serif fonts -->
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK SC</string>
<string>Noto Sans</string>
<string>Emoji</string>
</edit>
</match>
<!-- Default serif fonts -->
<match target="pattern">
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Serif CJK SC</string>
<string>Noto Serif</string>
<string>Emoji</string>
</edit>
</match>
<!-- Default monospace fonts -->
<match target="pattern">
<test qual="any" name="family">
<string>monospace</string>
</test>
<edit name="family" mode="prepend" binding="weak">
<string>Iosevka Term SS04</string>
<string>Noto Sans Mono CJK SC</string>
<string>Emoji</string>
</edit>
</match>
<!-- default emoji fonta -->
<match target="pattern">
<test qual="any" name="family">
<string>Emoji</string>
</test>
<edit name="family" mode="prepend" binding="weak">
<string>Noto Sans</string>
<string>Font Awesome 5 Brands</string>
<string>Font Awesome 5 Free</string>
<string>Twitter Color Emoji</string>
<string>Symbols Nerd Font</string>
</edit>
</match>
<!-- prefer emoji to symbol -->
<match target="pattern">
<test qual="any" name="family">
<string>Symbola</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>Emoji</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>EmojiSymbols</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>Emoji</string>
</edit>
</match>
<!-- enhance min weight -->
<match target="pattern">
<test name="weight" compare="eq"><const>regular</const></test>
<edit name="weight" mode="assign" binding="strong"><const>medium</const></edit>
</match>
<match target="pattern">
<test name="prgname" compare="eq"><string>Firefox</string></test>
<edit name="weight" mode="assign" binding="strong"><int>400</int></edit>
</match>
<match target="pattern">
<test name="prgname" compare="eq"><string>alacritty</string></test>
<test qual="any" name="family"><string>monospace</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>Iosevka Term SS04</string>
<string>Symbols Nerd Font</string>
</edit>
</match>
<!-- Default mono fonts-->
<alias binding="strong">
<family>monospace</family>
<prefer>
<family>Iosevka Fixed SS04 Extended</family>
<family>Noto Sans Mono CJK SC</family>
<family>Symbols Nerd Font</family>
</prefer>
</alias>
<!-- Default sans fonts-->
<alias binding="strong">
<family>sans</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Symbols Nerd Font</family>
</prefer>
</alias>
<!-- Default serif fonts-->
<alias binding="strong">
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Serif CJK SC</family>
<family>Symbols Nerd Font</family>
</prefer>
</alias>
</fontconfig>