From: NaitLee Date: Sat, 15 Feb 2025 12:04:56 +0000 (+0800) Subject: fix(noto-cjk-font): use generated aliases to pick cjk font, because rpn does not... X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=16755c92e19a3a1b55ad45b7c46f67223f8b7475;p=xonotic%2Fxonotic.git fix(noto-cjk-font): use generated aliases to pick cjk font, because rpn does not work Signed-off-by: NaitLee --- diff --git a/data/font-notosanscjk.pk3dir/fetch-fonts.sh b/data/font-notosanscjk.pk3dir/fetch-fonts.sh index 2ca720d2..c7f0a93e 100755 --- a/data/font-notosanscjk.pk3dir/fetch-fonts.sh +++ b/data/font-notosanscjk.pk3dir/fetch-fonts.sh @@ -12,6 +12,3 @@ done # get license (SIL) curl -o "fonts/LICENSE" "https://raw.githubusercontent.com/notofonts/noto-cjk/refs/heads/main/Sans/LICENSE" -# move jp variant as the default -mv "fonts/NotoSansCJKjp-${weight}.otf" "fonts/NotoSansCJK-${weight}.otf" - diff --git a/data/font-notosanscjk.pk3dir/font-cjk.cfg b/data/font-notosanscjk.pk3dir/font-cjk.cfg index 617ea390..f7eb3fb2 100644 --- a/data/font-notosanscjk.pk3dir/font-cjk.cfg +++ b/data/font-notosanscjk.pk3dir/font-cjk.cfg @@ -1,23 +1,92 @@ -// run before execing font cfg files (e.g. font-xolonium.cfg) and after switching language -// pick a correct cjk font variant by locale +// generated by make-cfg.sh, do not edit -// jp variant by default (for non-cjk languages) -set font_cjk_variant "" +// 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 -// font variants mapped by locale -set font_cjk_variant_zh_CN sc -set font_cjk_variant_zh_HK hk -set font_cjk_variant_zh_TW tc -set font_cjk_variant_ja_JP "" -set font_cjk_variant_ko kr +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 -// this won't error expanding unset cvar for non-cjk locale, keeping default for non-cjk languages -alias font_cjk_pickvariant rpn /font_cjk_variant /font_cjk_variant_${prvm_language} load = -font_cjk_pickvariant +// 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 +set font_cjk fonts/NotoSansCJK${_font_cjk_variant}-${_font_cjk_weight}.otf + +// clean up +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/fonts/NotoSansCJK-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJK-Medium.otf deleted file mode 100644 index 56c4d176..00000000 Binary files a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJK-Medium.otf and /dev/null differ diff --git a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKjp-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKjp-Medium.otf new file mode 100644 index 00000000..56c4d176 Binary files /dev/null and b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKjp-Medium.otf differ diff --git a/data/font-notosanscjk.pk3dir/make-cfg.sh b/data/font-notosanscjk.pk3dir/make-cfg.sh new file mode 100755 index 00000000..fe30710d --- /dev/null +++ b/data/font-notosanscjk.pk3dir/make-cfg.sh @@ -0,0 +1,49 @@ +#!/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" <>"$cfg" +done + +cat >>"$cfg" <>"$cfg" +done +