Files
bid-doctor/docs/design/logo/scripts/build_logo.py
YANG JIANKUAN 5753b51131 docs(logo): 新增 logo v5.1 正式资产、使用规范与构建脚本
- 白文印「标」(AI 生成原图经脚本抠图、统一为 #D9291C、矢量化)
- 字标:思源宋体 SemiBold + Libre Caslon;比例 H2,英文视觉内缩 C2
- svg/、png/、favicon:横版、竖版、反白、单色、印章、各尺寸图标
- scripts/:logo_lib.py 统一排版参数,build_assets.sh 一键生成
- logo-spec.md、logo-sheet.html、字体许可证(OFL)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 20:28:18 +08:00

35 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""生成正式字标和全部组合 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'<svg xmlns="http://www.w3.org/2000/svg" viewBox="{-pad} {-pad} {w + 2 * pad:.2f} {h + 2 * pad:.2f}">{body}</svg>'
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"])