]> git.rm.cloudns.org Git - xonotic/xonotic.git/commitdiff
fix(noto-cjk-font): use neat cvar expansion in alias
authorNaitLee <naitlee@disroot.org>
Sun, 16 Feb 2025 05:10:11 +0000 (13:10 +0800)
committerNaitLee <naitlee@disroot.org>
Sun, 16 Feb 2025 05:10:11 +0000 (13:10 +0800)
Signed-off-by: NaitLee <naitlee@disroot.org>
data/font-notosanscjk.pk3dir/font-cjk.cfg
data/font-notosanscjk.pk3dir/make-cfg.sh [deleted file]

index f7eb3fb2b0e354195af8f7464dbbff4707c99b70..61497daba18043488a8c1ed546972ad30ab78d4f 100644 (file)
@@ -1,92 +1,30 @@
-// generated by make-cfg.sh, do not edit
-
 // run before execing font cfg files (e.g. font-xolonium.cfg) and after switching language
 // pick a correct cjk font variant by locale as a cvar $font_cjk
 
 // medium weight fits the game well
-set _font_cjk_weight Medium
+set font_cjk_weight Medium
 
 // jp as default variant for non-cjk languages
-set _font_cjk_variant jp
-
-alias _font_cjk_variant_ast _font_cjk_variant jp
-alias _font_cjk_variant_id_ID _font_cjk_variant jp
-alias _font_cjk_variant_de _font_cjk_variant jp
-alias _font_cjk_variant_de_CH _font_cjk_variant jp
-alias _font_cjk_variant_en _font_cjk_variant jp
-alias _font_cjk_variant_en_AU _font_cjk_variant jp
-alias _font_cjk_variant_en_GB _font_cjk_variant jp
-alias _font_cjk_variant_es _font_cjk_variant jp
-alias _font_cjk_variant_fr _font_cjk_variant jp
-alias _font_cjk_variant_gl _font_cjk_variant jp
-alias _font_cjk_variant_ga _font_cjk_variant jp
-alias _font_cjk_variant_it _font_cjk_variant jp
-alias _font_cjk_variant_la _font_cjk_variant jp
-alias _font_cjk_variant_hu _font_cjk_variant jp
-alias _font_cjk_variant_nl _font_cjk_variant jp
-alias _font_cjk_variant_pl _font_cjk_variant jp
-alias _font_cjk_variant_pt _font_cjk_variant jp
-alias _font_cjk_variant_pt_BR _font_cjk_variant jp
-alias _font_cjk_variant_ro _font_cjk_variant jp
-alias _font_cjk_variant_fi _font_cjk_variant jp
-alias _font_cjk_variant_sv _font_cjk_variant jp
-alias _font_cjk_variant_tr _font_cjk_variant jp
-alias _font_cjk_variant_cs _font_cjk_variant jp
-alias _font_cjk_variant_el _font_cjk_variant jp
-alias _font_cjk_variant_be _font_cjk_variant jp
-alias _font_cjk_variant_bg _font_cjk_variant jp
-alias _font_cjk_variant_ru _font_cjk_variant jp
-alias _font_cjk_variant_sr _font_cjk_variant jp
-alias _font_cjk_variant_uk _font_cjk_variant jp
+set font_cjk_variant jp
 
-// variant by cjk languages
-alias _font_cjk_variant_zh_CN _font_cjk_variant sc
-alias _font_cjk_variant_zh_HK _font_cjk_variant hk
-alias _font_cjk_variant_zh_TW _font_cjk_variant tc
-alias _font_cjk_variant_ja_JP _font_cjk_variant jp
-alias _font_cjk_variant_ko _font_cjk_variant kr
+set font_cjk_variant_ja_JP "set font_cjk_variant jp"
+set font_cjk_variant_zh_CN "set font_cjk_variant sc"
+set font_cjk_variant_zh_HK "set font_cjk_variant hk"
+set font_cjk_variant_zh_TW "set font_cjk_variant tc"
+set font_cjk_variant_ko    "set font_cjk_variant kr"
 
-// pick a variant by current language
-_font_cjk_variant_${prvm_language}
+// https://gitlab.com/xonotic/xonotic/-/merge_requests/119#note_2349746024
+// font_cjk_pickvariant executes the command defined in font_cjk_variant_${prvm_language}
+// it doesn't error if font_cjk_variant_${prvm_language} doesn't exist
+"alias" font_cjk_pickvariant "$${font_cjk_variant_${prvm_language} ?}"
+font_cjk_pickvariant
 
 // use this cvar in loadfont commands
-set font_cjk fonts/NotoSansCJK${_font_cjk_variant}-${_font_cjk_weight}.otf
+set font_cjk fonts/NotoSansCJK${font_cjk_variant}-${font_cjk_weight}.otf
 
 // clean up
-unset _font_cjk_variant
-unset _font_cjk_weight
+// you may manually unset font_cjk after use
+unalias font_cjk_pickvariant
+unset font_cjk_variant
+unset font_cjk_weight
 
-unalias _font_cjk_variant_ast
-unalias _font_cjk_variant_id_ID
-unalias _font_cjk_variant_de
-unalias _font_cjk_variant_de_CH
-unalias _font_cjk_variant_en
-unalias _font_cjk_variant_en_AU
-unalias _font_cjk_variant_en_GB
-unalias _font_cjk_variant_es
-unalias _font_cjk_variant_fr
-unalias _font_cjk_variant_gl
-unalias _font_cjk_variant_ga
-unalias _font_cjk_variant_it
-unalias _font_cjk_variant_la
-unalias _font_cjk_variant_hu
-unalias _font_cjk_variant_nl
-unalias _font_cjk_variant_pl
-unalias _font_cjk_variant_pt
-unalias _font_cjk_variant_pt_BR
-unalias _font_cjk_variant_ro
-unalias _font_cjk_variant_fi
-unalias _font_cjk_variant_sv
-unalias _font_cjk_variant_tr
-unalias _font_cjk_variant_cs
-unalias _font_cjk_variant_el
-unalias _font_cjk_variant_be
-unalias _font_cjk_variant_bg
-unalias _font_cjk_variant_ru
-unalias _font_cjk_variant_sr
-unalias _font_cjk_variant_uk
-unalias _font_cjk_variant_zh_CN
-unalias _font_cjk_variant_zh_HK
-unalias _font_cjk_variant_zh_TW
-unalias _font_cjk_variant_ja_JP
-unalias _font_cjk_variant_ko
diff --git a/data/font-notosanscjk.pk3dir/make-cfg.sh b/data/font-notosanscjk.pk3dir/make-cfg.sh
deleted file mode 100755 (executable)
index fe30710..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/env bash
-cfg="font-cjk.cfg"
-languages=$(awk '{ if (substr($1, 1, 2) != "zh" && substr($1, 1, 2) != "ja" && substr($1, 1, 2) != "ko") print $1 }' <"../xonotic-data.pk3dir/languages.txt")
-
-printf "" >"$cfg"
-
-cat >>"$cfg" <<EOF
-// generated by make-cfg.sh, do not edit
-
-// run before execing font cfg files (e.g. font-xolonium.cfg) and after switching language
-// pick a correct cjk font variant by locale as a cvar \$font_cjk
-
-// medium weight fits the game well
-set _font_cjk_weight Medium
-
-// jp as default variant for non-cjk languages
-set _font_cjk_variant jp
-
-EOF
-
-for lang in $languages; do
-    echo "alias _font_cjk_variant_${lang} _font_cjk_variant jp" >>"$cfg"
-done
-
-cat >>"$cfg" <<EOF
-
-// variant by cjk languages
-alias _font_cjk_variant_zh_CN _font_cjk_variant sc
-alias _font_cjk_variant_zh_HK _font_cjk_variant hk
-alias _font_cjk_variant_zh_TW _font_cjk_variant tc
-alias _font_cjk_variant_ja_JP _font_cjk_variant jp
-alias _font_cjk_variant_ko _font_cjk_variant kr
-
-// pick a variant by current language
-_font_cjk_variant_\${prvm_language}
-
-// use this cvar in loadfont commands
-set font_cjk fonts/NotoSansCJK\${_font_cjk_variant}-\${_font_cjk_weight}.otf
-
-// clean up
-unset _font_cjk_variant
-unset _font_cjk_weight
-
-EOF
-
-for lang in $languages zh_CN zh_HK zh_TW ja_JP ko; do
-    echo "unalias _font_cjk_variant_${lang}" >>"$cfg"
-done
-