国旗改为预渲染的 PNG:SVG 源文件移到 Assets/flags-svg,Scripts/render_flags.sh 用 librsvg 批量生成

NSImage 画不出 SVG 里的 <use> 引用,弹窗里的归属地国旗显示错乱。改为构建前渲染成 64×48 的 PNG 打进资源包,FlagImage 直接读 PNG;第三方声明补上国旗与品牌标志的来源。
This commit is contained in:
gentpan committed 2026-09-15 03:37:23 +05:00
1 parent dce6ab2a79
commit f7e88fa06c
545 files changed
+30 -3

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
#!/bin/bash
# 把 Assets/flags-svg 里的国旗 SVG(flag-icons,MIT)用 librsvg 渲染成 PNG,放到应用包资源里。
# 应用不再直接读 SVG:系统 NSImage 的 SVG 渲染器对 flag-icons 里的嵌套 <use>、clipPath 等写法支持不好,
# 中国、乌兹别克斯坦等旗子会画错。PNG 为 64×48,够 16 pt @3x 显示。
# brew install librsvg
# Scripts/render_flags.sh
set -euo pipefail
cd "$(dirname "$0")/.."
SRC=Assets/flags-svg
OUT=Packages/OpenStatsKit/Sources/OpenStatsUI/Resources/Flags
command -v rsvg-convert >/dev/null || { echo "需要 librsvg:brew install librsvg" >&2; exit 1; }
mkdir -p "$OUT"
count=0
for svg in "$SRC"/*.svg; do
name="$(basename "${svg%.svg}")"
rsvg-convert -w 64 -h 48 "$svg" -o "$OUT/$name.png"
count=$((count + 1))
done
echo "已渲染 $count 面国旗到 $OUT"