From: NaitLee Date: Sat, 8 Feb 2025 15:15:37 +0000 (+0800) Subject: feat: Noto Sans CJK fonts for CJK languages, selecting variants according to prvm_lan... X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=87aef97a626222d6f3f4f768e7e89f818c5cc8fa;p=xonotic%2Fxonotic.git feat: Noto Sans CJK fonts for CJK languages, selecting variants according to prvm_language Signed-off-by: NaitLee --- diff --git a/data/font-notosanscjk.pk3dir/fetch-fonts.sh b/data/font-notosanscjk.pk3dir/fetch-fonts.sh new file mode 100755 index 00000000..e24f47c3 --- /dev/null +++ b/data/font-notosanscjk.pk3dir/fetch-fonts.sh @@ -0,0 +1,10 @@ +#!/bin/env bash +weight=Medium +mkdir -vp fonts +# fetch from the newest github resources +for v in SimplifiedChinese,sc TraditionalChinese,tc TraditionalChineseHK,hk Jananese,jp Korean,kr; do + curl -o "fonts/NotoSansCJK${v#*,}-${weight}.otf" "https://raw.githubusercontent.com/notofonts/noto-cjk/main/Sans/OTF/${v%,*}/NotoSansCJK${v#*,}-${weight}.otf" +done +# 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 new file mode 100644 index 00000000..82dc7e11 --- /dev/null +++ b/data/font-notosanscjk.pk3dir/font-cjk.cfg @@ -0,0 +1,23 @@ +// run before setfont cfg files, e.g. font-xolonium.cfg, and after switching language +// pick a correct cjk font variant by locale + +// jp variant by default +set font_cjk_variant "" + +// medium weight fits the game well +set font_cjk_weight Medium + +// font variants 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 + +// won't error expanding unset cvar for non-cjk locale +alias font_cjk_pickvariant rpn /font_cjk_variant /font_cjk_variant_${prvm_language} load = +font_cjk_pickvariant + +// use this cvar in setfont commands +set font_cjk fonts/NotoSansCJK${font_cjk_variant}-${font_cjk_weight}.otf + diff --git a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJK-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJK-Medium.otf new file mode 100644 index 00000000..56c4d176 Binary files /dev/null and b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJK-Medium.otf differ diff --git a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKhk-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKhk-Medium.otf new file mode 100644 index 00000000..1b0428bf Binary files /dev/null and b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKhk-Medium.otf differ diff --git a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKkr-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKkr-Medium.otf new file mode 100644 index 00000000..6a9c887b Binary files /dev/null and b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKkr-Medium.otf differ diff --git a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKsc-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKsc-Medium.otf new file mode 100644 index 00000000..00b01dff Binary files /dev/null and b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKsc-Medium.otf differ diff --git a/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKtc-Medium.otf b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKtc-Medium.otf new file mode 100644 index 00000000..c6ec7b6c Binary files /dev/null and b/data/font-notosanscjk.pk3dir/fonts/NotoSansCJKtc-Medium.otf differ diff --git a/data/font-xolonium.pk3dir/font-xolonium.cfg b/data/font-xolonium.pk3dir/font-xolonium.cfg index 2f98e326..4c55013b 100644 --- a/data/font-xolonium.pk3dir/font-xolonium.cfg +++ b/data/font-xolonium.pk3dir/font-xolonium.cfg @@ -1,12 +1,16 @@ // must be loaded AFTER config.cfg set menu_font_cfg font-xolonium.cfg +set font_unicode fonts/unifont +exec font-cjk.cfg + loadfont console fonts/unifont,fonts/xolonium-regular.otf,gfx/vera-sans $con_textsize -loadfont notify fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans $con_notifysize -loadfont chat fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans $con_chatsize -loadfont centerprint fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans 9 -loadfont infobar fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans 8 12 $scr_loadingscreen_barheight $scr_infobar_height -loadfont user0 fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans 12 // menu font -loadfont user1 fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans 4 6 8 10 12 14 16 20 24 28 32 $hud_fontsize // csqc font -loadfont user2 fonts/xolonium-bold.otf,fonts/unifont,gfx/vera-sans 4 6 8 10 12 14 16 20 24 28 32 $hud_fontsize // csqc bold font -loadfont user3 fonts/xolonium-bold.otf,fonts/unifont,gfx/vera-sans 12 16 // menu boldfont +loadfont notify fonts/xolonium-regular.otf,$font_cjk,$font_unicode,gfx/vera-sans $con_notifysize +loadfont chat fonts/xolonium-regular.otf,$font_cjk,$font_unicode,gfx/vera-sans $con_chatsize +loadfont centerprint fonts/xolonium-regular.otf,$font_cjk,$font_unicode,gfx/vera-sans 9 +loadfont infobar fonts/xolonium-regular.otf,$font_cjk,$font_unicode,gfx/vera-sans 8 12 $scr_loadingscreen_barheight $scr_infobar_height +loadfont user0 fonts/xolonium-regular.otf,$font_cjk,$font_unicode,gfx/vera-sans 12 // menu font +loadfont user1 fonts/xolonium-regular.otf,$font_cjk,$font_unicode,gfx/vera-sans 4 6 8 10 12 14 16 20 24 28 32 $hud_fontsize // csqc font +loadfont user2 fonts/xolonium-bold.otf,$font_cjk,$font_unicode,gfx/vera-sans 4 6 8 10 12 14 16 20 24 28 32 $hud_fontsize // csqc bold font +loadfont user3 fonts/xolonium-bold.otf,$font_cjk,$font_unicode,gfx/vera-sans 12 16 // menu boldfont scoreboard_columns_set +