mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:46 +01:00
fonts: add Japanese and Korean locale fallbacks
Keep SC as the default and select JP/KR glyphs for lang=ja/ko. Assisted-by: DeepSeek Harness (deepseek-flash)
This commit is contained in:
1 parent
f9ece8167d
commit
179b20a42c
1 file changed
+51
@@ -21,6 +21,9 @@
|
||||
# 中文: 宋体(港台称明體)
|
||||
"Noto Serif CJK SC" # 思源宋体
|
||||
"Noto Serif CJK TC"
|
||||
# 日文、韩文回退
|
||||
"Noto Serif CJK JP"
|
||||
"Noto Serif CJK KR"
|
||||
];
|
||||
# SansSerif 也简写做 Sans, Sans 在法语中就是「without」或者「无」的意思
|
||||
sansSerif = [
|
||||
@@ -30,6 +33,9 @@
|
||||
"LXGW WenKai Screen" # 霞鹜文楷 屏幕阅读版
|
||||
"Noto Sans CJK SC" # 思源黑体
|
||||
"Noto Sans CJK TC"
|
||||
# 日文、韩文回退
|
||||
"Noto Sans CJK JP"
|
||||
"Noto Sans CJK KR"
|
||||
];
|
||||
# 等宽字体
|
||||
monospace = [
|
||||
@@ -37,11 +43,56 @@
|
||||
"Maple Mono NF CN" # 中英文宽度完美 2:1 的字体
|
||||
"Noto Sans Mono CJK SC" # 思源等宽
|
||||
"Noto Sans Mono CJK TC"
|
||||
# 日文、韩文回退
|
||||
"Noto Sans Mono CJK JP"
|
||||
"Noto Sans Mono CJK KR"
|
||||
# 西文
|
||||
"JetBrainsMono Nerd Font"
|
||||
];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
};
|
||||
# 日文、韩文环境优先使用对应字形;中文环境仍使用上面的 SC 默认栈。
|
||||
localConf =
|
||||
let
|
||||
langFonts = lang: sans: serif: monospace: ''
|
||||
<match target="pattern">
|
||||
<test name="lang" compare="contains"><string>${lang}</string></test>
|
||||
<test name="family" qual="any"><string>sans-serif</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Source Sans 3</string>
|
||||
<string>${sans}</string>
|
||||
<string>Noto Sans CJK SC</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="pattern">
|
||||
<test name="lang" compare="contains"><string>${lang}</string></test>
|
||||
<test name="family" qual="any"><string>serif</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Source Serif 4</string>
|
||||
<string>${serif}</string>
|
||||
<string>Noto Serif CJK SC</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="pattern">
|
||||
<test name="lang" compare="contains"><string>${lang}</string></test>
|
||||
<test name="family" qual="any"><string>monospace</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>JetBrainsMono Nerd Font</string>
|
||||
<string>${monospace}</string>
|
||||
<string>Noto Sans Mono CJK SC</string>
|
||||
</edit>
|
||||
</match>
|
||||
'';
|
||||
in
|
||||
''
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- generic family 在 51-local 阶段仍是 sans-serif。 -->
|
||||
${langFonts "ja" "Noto Sans CJK JP" "Noto Serif CJK JP" "Noto Sans Mono CJK JP"}
|
||||
${langFonts "ko" "Noto Sans CJK KR" "Noto Serif CJK KR" "Noto Sans Mono CJK KR"}
|
||||
</fontconfig>
|
||||
'';
|
||||
antialias = true; # 抗锯齿
|
||||
hinting.enable = false; # 禁止字体微调 - 高分辨率下没这必要
|
||||
subpixel = {
|
||||
|
||||
Reference in new issue
Block a user