-// 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
+++ /dev/null
-#!/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
-