"""生成正式字标和全部组合 SVG 到 svg/(决策 B4:H2 比例 + F2 中文 + E5 英文 + C2 视觉对齐)。 用法:.work/venv/bin/python scripts/build_logo.py 通常由 scripts/build_assets.sh 调用;运行前 svg/ 里要已有 seal*.svg。 """ from logo_lib import FINAL, FINAL_INSET, LOGO, NAVY, WHITE, lockup_h2, lockup_vertical, wordmark SVG = LOGO / "svg" def write(name, svg): (SVG / name).write_text(svg) def wordmark_svg(color, pad=2): body, w, h = wordmark(FINAL, color, inset=FINAL_INSET) return f'{body}' write("wordmark.svg", wordmark_svg(NAVY)) write("wordmark-reverse.svg", wordmark_svg(WHITE)) for kind, suffix in (("textured", "-textured"), ("clean", "")): for color, dark, rev in ((NAVY, False, ""), (WHITE, True, "-reverse")): body, w, h = wordmark(FINAL, color, inset=FINAL_INSET) write(f"logo-horizontal{suffix}{rev}.svg", lockup_h2(body, w, h, on_dark=dark, kind=kind)) write(f"logo-vertical{suffix}{rev}.svg", lockup_vertical(body, w, h, on_dark=dark, kind=kind)) # 单色:干净版印章 + 字标同色 for color, name in (("#000000", "logo-mono-black.svg"), ("#FFFFFF", "logo-mono-white.svg")): body, w, h = wordmark(FINAL, color, inset=FINAL_INSET) write(name, lockup_h2(body, w, h, kind="clean", seal_color=color)) print("ok", sorted(p.name for p in SVG.glob("logo-*.svg")) + ["wordmark.svg", "wordmark-reverse.svg"])