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 = {