矿彩国风锚 r1 定稿:《山海行纪》30 帧(hero×6/狰梼杌穷奇×15/法器×3/UI×2/场景/兽潮/Boss/拾取)+ 《山海巡异录》12 张(卡面 3 稀有度×2 职业/敌兽 2/场景 2/结算 2);同名兽狰两款同谱面可辨= 「一条美术管线供两款」首检成立;clean-room 五条全程生效(prompt 零现代作品专名、兽形古籍演绎、 参考图仅自产、全量留痕 manifest.jsonl 含 12 张淘汰逐张原因)。 产线三件真跑演示:色键抠图+除杂(角落印章自动清)/图集 2 页 png 4006KB→webp 599KB(实测修正: free-tex-packer 不直出 webp 补 PIL 转码)/字体子集 780 字→176KB woff2(LXGW OFL)。 成本良率实测:57 呼 ¥1.44(官方口径)/¥1.88(实测口径),首过率 34/42=81%,重摇≤4 轮填满; 工艺发现 7 条入批次 README(兽名不入 prompt/「鲛」prime 龙形/subject-ref 证伪/UI 伪字走程序排字等)。 创始人裁定(2026-07-07):锁锚开批产——两款按锚 r1 进 M3/M4 资产批产,主角跨帧漂移用 「定妆帧作参考图+关键姿态逐帧」工艺压,不换通道。台账:作战清单 M2 波全记账+_index 三行 M2 已交+设定档裁定戳。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
31 lines
1.5 KiB
Bash
Executable File
31 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# 产线件③ 中文字体子集:文案源扫字 → pyftsubset 出 woff2 首屏最小集
|
|
# 用法: ./font-subset.sh <字体.ttf> <输出目录> <文案源文件...>
|
|
# 实现:扫描全部文案源提取去重字集(含 ASCII 可见字符兜底),pyftsubset --flavor=woff2(brotli)。
|
|
# 授权口径:demo 用霞鹜文楷(SIL OFL,允许子集化/嵌入分发/商用免费),符合材料档 §6 推荐链。
|
|
set -euo pipefail
|
|
FONT="$1"; OUT="$2"; shift 2
|
|
mkdir -p "$OUT"
|
|
CHARS="$OUT/charset.txt"
|
|
# 扫字:全部文案源合并 → 去重出用字集;ASCII 可见段兜底(数字/标点/拉丁)
|
|
python3 - "$CHARS" "$@" <<'PY'
|
|
import sys
|
|
out, srcs = sys.argv[1], sys.argv[2:]
|
|
chars = set()
|
|
for p in srcs:
|
|
with open(p, encoding='utf-8') as f:
|
|
chars.update(f.read())
|
|
chars.update(chr(c) for c in range(0x20, 0x7F)) # ASCII 兜底
|
|
chars = {c for c in chars if c.isprintable() and not c.isspace()} | {' '}
|
|
with open(out, 'w', encoding='utf-8') as f:
|
|
f.write(''.join(sorted(chars)))
|
|
print(f'字集 {len(chars)} 字 ← {len(srcs)} 个文案源')
|
|
PY
|
|
BASE=$(basename "$FONT"); BASE="${BASE%.*}"
|
|
WOFF2="$OUT/${BASE}-subset.woff2"
|
|
pyftsubset "$FONT" --text-file="$CHARS" --flavor=woff2 \
|
|
--layout-features='*' --no-hinting --desubroutinize \
|
|
--output-file="$WOFF2"
|
|
SRC_KB=$(du -k "$FONT" | cut -f1); OUT_KB=$(du -k "$WOFF2" | cut -f1)
|
|
echo "子集完成:$FONT ${SRC_KB}KB → $WOFF2 ${OUT_KB}KB(字集 $(python3 -c "print(len(open('$CHARS',encoding='utf-8').read()))") 字)"
|