SIGN IN SIGN UP

英文片修四处:| 切块补空格、字幕折行贴底、em 宽表补标点、fitSize 计入 letterSpacing;README 换成视频

- tts_build.py:英文解说词用 | 切块后曾按 '' 拼回整句("powerful|but" → powerfulbut 送给 edge-tts,
  timeline / 词数也跟着错)。现在按语言选连接符(英文 ' ',中文 ''),块去首尾空格,
  chunk_starts 的字符游标跳过块间空格;全 | 的空行直接跳过。
- Subtitle.tsx:折行兜底原来假定正好两行(top 上移一行高),估宽与 Chromium 实测不一致时一行会浮到
  字幕带上方、三行会压进进度条。改为两行高的盒子 flex 列向底对齐:1 行 / 2 行末行都落在字幕带里,
  第 3 行只会向上溢出。
- textfit.ts + tts_build.py text_em:U+2000 起的标点 / 箭头 / 数学符号(— … “ ” → ∑)按 1em
  (fontTools 实测 Noto 里几乎全是 1em,原来当半角标点算 .325);带重音拉丁字母 .58。两份表一致(node 跑 TS、
  python 跑 py 逐样本比对)。
- fitSize / textW 加 letterSpacing 参数(固定 px、不随字号缩,先从 maxW 扣掉再解字号);
  片头 big(6) / rest(2)、章节卡标题(3) 传入。12 字符英文片名 118px 原来实际 ≈1190px 越过安全区,现在 1120px。
- 文档:narration-storyboard §2.5 说明 | 的空格处理;style-guide §3.1 提 letterSpacing 参数;
  模板 narration.txt 注释补英文预算;lessons 追加一条。
- README 中英:样片帧总表换成上传到 GitHub 的完整样片视频(9.5MB)。

验证:tsc 通过;临时时间轴渲 Overlay still——46 字符英文 44px 单行、59 字符缩字号单行、97 字符折两行末行贴字幕带、
中英混排单行、中文片头无变化、27 字符英文章节卡标题缩进 1100px;渲完已还原生成文件。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
W
Wei Yihao committed
0afa793f40a3758576ce15b3e20386bb715f5a45
Parent: 4d9ac47