diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix
index 25dfdd9d..23973e44 100644
--- a/modules/nixos/desktop/fonts.nix
+++ b/modules/nixos/desktop/fonts.nix
@@ -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: ''
+
+ ${lang}
+ sans-serif
+
+ Source Sans 3
+ ${sans}
+ Noto Sans CJK SC
+
+
+
+ ${lang}
+ serif
+
+ Source Serif 4
+ ${serif}
+ Noto Serif CJK SC
+
+
+
+ ${lang}
+ monospace
+
+ JetBrainsMono Nerd Font
+ ${monospace}
+ Noto Sans Mono CJK SC
+
+
+ '';
+ in
+ ''
+
+
+
+
+ ${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"}
+
+ '';
antialias = true; # 抗锯齿
hinting.enable = false; # 禁止字体微调 - 高分辨率下没这必要
subpixel = {