英文片修四处:| 切块补空格、字幕折行贴底、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