国旗改为预渲染的 PNG:SVG 源文件移到 Assets/flags-svg,Scripts/render_flags.sh 用 librsvg 批量生成
NSImage 画不出 SVG 里的 <use> 引用,弹窗里的归属地国旗显示错乱。改为构建前渲染成 64×48 的 PNG 打进资源包,FlagImage 直接读 PNG;第三方声明补上国旗与品牌标志的来源。
This commit is contained in:
1 parent
dce6ab2a79
commit
f7e88fa06c
545 files changed
+30
-3
No files matched your search
Executable
+19
@@ -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"
|
||||
Reference in new issue
Block a user