Commit 26cef40

HPCesia <me@hpcesia.com>
2026-03-15 08:55:59
Fonts in PDF for different CJK region
1 parent 0ab7346
Changed files (1)
src
contents
_lib
templates
src/contents/_lib/templates/font.typ
@@ -5,14 +5,36 @@
   "Times New Roman",
 )
 #let cjk-fonts = (
-  "Source Han Serif",
-  "SimSun",
-  "STSongti",
+  default: ("Source Han Serif",),
+  cn: (
+    "Source Han Serif SC",
+    "Source Han Serif",
+    "SimSun",
+    "STSongti",
+  ),
+  tw: (
+    "Source Han Serif TC",
+    "Source Han Serif",
+  ),
+  jp: (
+    "Source Han Serif JP",
+    "Source Han Serif",
+  ),
+  kr: (
+    "Source Han Serif KR",
+    "Source Han Serif",
+  ),
 )
-#let tybios-fonts = latin-fonts.map(f => (name: f, covers: "latin-in-cjk")) + cjk-fonts
+
 
 #let font-template(body) = {
-  set text(font: tybios-fonts)
+  set text(font: latin-fonts)
+  let latin-in-cjk-fonts = latin-fonts.map(it => (name: it, covers: "latin-in-cjk"))
+  show text.where(lang: "zh"): set text(font: latin-in-cjk-fonts + cjk-fonts.default)
+  show text.where(lang: "zh", region: "cn"): set text(font: latin-in-cjk-fonts + cjk-fonts.cn)
+  show text.where(lang: "zh", region: "tw"): set text(font: latin-in-cjk-fonts + cjk-fonts.tw)
+  show text.where(lang: "jp"): set text(font: latin-in-cjk-fonts + cjk-fonts.jp)
+  show text.where(lang: "kr"): set text(font: latin-in-cjk-fonts + cjk-fonts.kr)
 
   body
 }