Skip to content

Instantly share code, notes, and snippets.

@dongfengweixiao
Last active August 4, 2025 07:38
Show Gist options
  • Save dongfengweixiao/2678193e37867719ece544a58027905f to your computer and use it in GitHub Desktop.
Save dongfengweixiao/2678193e37867719ece544a58027905f to your computer and use it in GitHub Desktop.
linux字体配置,使用 misans 作为默认中文黑体,落霞文楷作为中文楷体,Sarasa Mono SC 作为默认中文等宽字体
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
<fontconfig>
<!-- Default system-ui fonts -->
<match target="pattern">
<test name="family">
<string>system-ui</string>
</test>
<edit binding="strong" mode="prepend" name="family">
<string>sans-serif</string>
</edit>
</match>
<!-- Default sans-serif fonts-->
<match target="pattern">
<test name="family">
<string>sans-serif</string>
</test>
<edit binding="strong" mode="prepend" name="family">
<string>MiSans</string>
<string>MiSans L3</string>
<string>Noto Sans CJK SC</string>
<string>Noto Sans</string>
<string>Twemoji</string>
</edit>
</match>
<!-- Default serif fonts-->
<match target="pattern">
<test name="family">
<string>serif</string>
</test>
<edit binding="strong" mode="prepend" name="family">
<string>LXGW WenKai</string>
<string>Noto Serif CJK SC</string>
<string>Noto Serif</string>
<string>Twemoji</string>
</edit>
</match>
<!-- Default monospace fonts-->
<match target="pattern">
<test name="family">
<string>monospace</string>
</test>
<edit binding="strong" mode="prepend" name="family">
<!-- 可以在这里添加其他的纯英文的字体,这样在显示代码时,英文以该字体显示,中文以 Sarasa Mono 显示-->
<!-- <string>Fira Code</string> -->
<string>Sarasa Mono SC</string>
<string>Symbols Nerd Font</string>
<string>Twemoji</string>
</edit>
</match>
<dir>~/.local/share/fonts</dir>
</fontconfig>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<fontconfig>
<!-- 当语言为 zh-hk 时,使用 MiSans TC 字体 替代 MiSans -->
<match>
<test name="lang">
<string>zh-HK</string>
</test>
<test name="family">
<string>MiSans</string>
</test>
<edit binding="strong" name="family">
<string>MiSans TC</string>
</edit>
</match>
<!-- 当语言为 zh-tw 时,使用 MiSans TC 字体 替代 MiSans -->
<match>
<test name="lang">
<string>zh-TW</string>
</test>
<test name="family">
<string>MiSans</string>
</test>
<edit binding="strong" name="family">
<string>MiSans TC</string>
</edit>
</match>
<!-- 当语言为 ja 时,使用 Noto Sans CJK JP 字体 替代 MiSans -->
<match>
<test name="lang">
<string>ja</string>
</test>
<test name="family">
<string>MiSans</string>
</test>
<edit binding="strong" name="family">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<!-- 当语言为 ko 时,使用 Noto Sans CJK KR 字体 替代 MiSans -->
<match>
<test name="lang">
<string>ko</string>
</test>
<test name="family">
<string>MiSans</string>
</test>
<edit binding="strong" name="family">
<string>Noto Sans CJK KR</string>
</edit>
</match>
<!-- 当语言为 en* 时,使用 MiSans Latin 字体 替代 MiSans (英文状态下,使用英文标点)-->
<match target="pattern">
<test name="lang" compare="contains">
<string>en</string>
</test>
<test name="family" compare="contains">
<string>MiSans</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>MiSans Latin</string>
</edit>
</match>
</fontconfig>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<fontconfig>
<!-- 当语言为 zh-hk 时,使用 Noto Sans CJK HK 字体替代 Noto Sans CJK SC -->
<match>
<test name="lang">
<string>zh-HK</string>
</test>
<test name="family">
<string>Noto Sans CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Sans CJK HK</string>
</edit>
</match>
<!-- 当语言为 zh-tw 时,使用 Noto Sans CJK TC 字体替代 Noto Sans CJK SC -->
<match>
<test name="lang">
<string>zh-TW</string>
</test>
<test name="family">
<string>Noto Sans CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Sans CJK TC</string>
</edit>
</match>
<!-- 当语言为 ja 时,使用 Noto Sans CJK JP 字体替代 Noto Sans CJK SC -->
<match>
<test name="lang">
<string>ja</string>
</test>
<test name="family">
<string>Noto Sans CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<!-- 当语言为 ko 时,使用 Noto Sans CJK KR 字体替代 Noto Sans CJK SC -->
<match>
<test name="lang">
<string>ko</string>
</test>
<test name="family">
<string>Noto Sans CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Sans CJK KR</string>
</edit>
</match>
<!-- 当语言为 en* 时,使用 Noto Sans 字体替代 Noto Sans CJK* (英文状态下,使用英文标点)-->
<match target="pattern">
<test name="lang" compare="contains">
<string>en</string>
</test>
<test name="family" compare="contains">
<string>Noto Sans CJK</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans</string>
</edit>
</match>
</fontconfig>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<fontconfig>
<!-- 当语言为 zh-hk 时,使用 Noto Serif CJK HK 字体 替代 Noto Serif CJK SC -->
<match>
<test name="lang">
<string>zh-HK</string>
</test>
<test name="family">
<string>Noto Serif CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Serif CJK HK</string>
</edit>
</match>
<!-- 当语言为 zh-tw 时,使用 Noto Serif CJK TC 字体 替代 Noto Serif CJK SC -->
<match>
<test name="lang">
<string>zh-TW</string>
</test>
<test name="family">
<string>Noto Serif CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Serif CJK TC</string>
</edit>
</match>
<!-- 当语言为 ja 时,使用 Noto Serif CJK JP 字体 替代 Noto Serif CJK SC -->
<match>
<test name="lang">
<string>ja</string>
</test>
<test name="family">
<string>Noto Serif CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Serif CJK JP</string>
</edit>
</match>
<!-- 当语言为 ko 时,使用 Noto Serif CJK KR 字体 替代 Noto Serif CJK SC -->
<match>
<test name="lang">
<string>ko</string>
</test>
<test name="family">
<string>Noto Serif CJK SC</string>
</test>
<edit binding="strong" name="family">
<string>Noto Serif CJK KR</string>
</edit>
</match>
<!-- 当语言为 en* 时,使用 Noto Serif 字体替代 Noto Serif CJK SC(英文状态下,使用英文标点)-->
<match target="pattern">
<test name="lang" compare="contains">
<string>en</string>
</test>
<test name="family" compare="contains">
<string>Noto Serif CJK</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Serif</string>
</edit>
</match>
</fontconfig>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<fontconfig>
<!-- 当语言为 zh-hk 时,使用 LXGW WenKai TC 字体替代 LXGW WenKai -->
<match>
<test name="lang">
<string>zh-HK</string>
</test>
<test name="family">
<string>LXGW WenKai</string>
</test>
<edit binding="strong" name="family">
<string>LXGW WenKai TC</string>
</edit>
</match>
<!-- 当语言为 zh-tw 时,使用 LXGW WenKai TC 字体替代 LXGW WenKai -->
<match>
<test name="lang">
<string>zh-TW</string>
</test>
<test name="family">
<string>LXGW WenKai</string>
</test>
<edit binding="strong" name="family">
<string>LXGW WenKai TC</string>
</edit>
</match>
<!-- 当语言为 ja 时,使用 Noto Serif CJK JP 字体替代 LXGW WenKai -->
<match>
<test name="lang">
<string>ja</string>
</test>
<test name="family">
<string>LXGW WenKai</string>
</test>
<edit binding="strong" name="family">
<string>IPAmjMincho</string>
</edit>
</match>
<!-- 当语言为 ko 时,使用 Noto Serif CJK KR 字体替代 LXGW WenKai -->
<match>
<test name="lang">
<string>ko</string>
</test>
<test name="family">
<string>LXGW WenKai</string>
</test>
<edit binding="strong" name="family">
<string>Noto Serif CJK KR</string>
</edit>
</match>
<!-- 当语言为 en* 时,使用 Noto Serif 字体 替代 LXGW WenKai (英文状态下,使用英文标点)-->
<match target="pattern">
<test name="lang" compare="contains">
<string>en</string>
</test>
<test name="family" compare="contains">
<string>LXGW WenKai</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Serif</string>
</edit>
</match>
</fontconfig>
@dongfengweixiao
Copy link
Author

所有配置文件,放置于$HOME/.config/fontconfig/conf.d下,务必注意,$HOME/.config/fontconfig/fonts.conf 如果存在需要删除。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment