跳到主要内容
SubtitleMatrix

字幕每行字符数检查

无障碍合规每行字符数(CPL)
或者粘贴字幕文本

选项

限值不是你自己输入的数字:它来自一份公开发布的文件,报告会写明那份文件、引用原句、说明那句话是要求还是建议,并给出我们最后核对的日期和链接。选你要对其负责的那份文件。它们彼此并不一致:Netflix 按每秒字符数计算,并把每行限制在 42 个字符;Ofcom 和 BBC 按每分钟词数计算,而行长方面 BBC 限制为 37 个字符。其中三份完全不给数字 —— 47 CFR §79.1、WCAG 2.2 SC 1.2.2 和 EN 301 549(它要求网页与非网页文档满足同一准则)。这三份要求字幕标明说话人并包含非语音信息,把所有数字留给播出方;检查它们的页面问的是文件有没有做到,而不是某个数字有没有超标。它们的效力也不同:同一种缺陷在 WCAG 下是警告,在 EN 301 549 下是错误,因为该标准把这条准则写成了必须。改变这个框会同时改变限值和引用,所以报告不会把一份文件的数字挂在另一份文件的名下。只检查某一份文件所述内容的页面,只提供那一份。

时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。

这一页回答一个很具体的问题:字幕的一行最多能放几个字符。选 Netflix 时限文本规范时上限是 42 个字符,选 BBC 字幕指南时是 37 个;页面逐行量完,把超限的每一行、实测值、上限和这句话的出处列在同一张表里。文件在浏览器里读取,不上传,也不会被改写。

计数口径是“屏幕上看得见的字符”。量之前先剥掉样式标记,所以 ASS 里一行斜体字和 SRT 里同样一句话会得到同一个数;空格和标点照算,因为它们同样占画面。这个数之所以重要,是因为上限关乎“放不放得下”:超出的行会顶到画框边缘、被整体缩小,或者在目标设备上直接被切掉。

有两件事这一页刻意不做。其一,它只按行量,不按一条字幕(cue)量:两条各 40 字符的字幕在 42 的上限下不会被报出来,尽管同一时刻屏幕上有 80 个字符——一条字幕能有几行是另一条独立的限制,这一页不查。其二,它接受纯文本:.txt 没有时间码,读取时给每一行一个两秒的占位时段,并在报告里如实印出这些时间,让你一眼看出它们不是文件里原有的。

报告可以下载成 PDF 存档,也可以下载成 CSV 用表格软件排序。每一行都注明用的是哪份文件、哪一句原文,所以 42 与 37 不会变成一个没有出处的数字。

示例

一行超出 Netflix 上限三个字符

字幕

1
00:00:01,000 --> 00:00:03,000
I missed the last train home and had to walk.
Back before midnight, you said.

2
00:00:04,000 --> 00:00:06,000
Every night this week?

报告发现了什么

Lines longer than the limit — 1 found

Severity   Cues   Start          End            Measured                 Limit                    Clause
Warning    1      00:00:01.000   00:00:03.000   45 characters per line   42 characters per line   Netflix Timed Text Style Guide: General Requirements — Line length: maximum 42 characters per line (43–44 only in rare exceptions)

Checked against
Standard: Netflix Timed Text Style Guide
Limit: 42 characters per line
Where it is stated: Line length: maximum 42 characters per line (43–44 only in rare exceptions)
Stated as: Guideline
Not checked by this page: Duration: minimum duration 5/6 second (20 frames at 24fps); Duration: maximum duration 7 seconds; Reading speed: 20 characters per second for adult content (17 for children's); Line length: maximum 2 lines per subtitle event

第一条字幕的起始行量到 45 个字符,被列出;同一字幕的第二行只有 31 个字符,不会被列。报告量的是这条字幕里最长的那一行,所以折成两行都舒适的字幕会判干净,而单独一行超宽不会。

同样四十个字符,换成 BBC 的 37

字幕

1
00:00:01,000 --> 00:00:03,000
We can talk about it all in the morning.

2
00:00:04,000 --> 00:00:06,000
Every night this week?

报告发现了什么

Lines longer than the limit — 1 found

Severity   Cues   Start          End            Measured                 Limit                    Clause
Warning    1      00:00:01.000   00:00:03.000   40 characters per line   37 characters per line   BBC Subtitle Guidelines — Line length: maximum 37 characters per line

Checked against
Standard: BBC Subtitle Guidelines
Limit: 37 characters per line
Where it is stated: Line length: maximum 37 characters per line
Stated as: Guideline
Not checked by this page: Line length: maximum 2 lines (a third only if no important picture is obscured); Reading speed: 160–180 words per minute

文件一个字没变,只换了标准,结论就翻了:40 个字符在 Netflix 的 42 之内,却比 BBC 的 37 多三个。条款列会写出 BBC 字幕指南的名字,两次量出的数字完全相同时,靠它区分两份报告。

常见问题

字幕每行字符数检查量的是哪几个字符?

量的是剥掉样式标记后的可见字符,空格和标点都算。这样 ASS 的斜体行与 SRT 的同一句话才会得到同一个数;若把标记算进去,两种格式会对一行看起来完全相同的字幕给出不同结论。

同样的字幕,该按 Netflix 的 42 字符还是 BBC 的 37 字符检查?

取决于你要向谁交付。Netflix 时限文本规范允许每行 42 个字符,43 与 44 只在极少例外下成立;BBC 字幕指南把一行限制在 37 个字符。两份文件针对不同的播出目标,报告每次都会写明用的是哪一份。

这一页按行还是按整条字幕(cue)判断超限?

按行。两条各 40 字符的字幕放在一起是 80 个字符,但在 42 的上限下不会触发——一条字幕最多几行是另一条限制,两份文件都单独写着,而这一页不查它。

纯文本 .txt 没有时间码,字幕每行字符数检查还能跑吗?

能,这是本类目里唯一接受纯文本的一页。读取时从零开始给每一行两秒的占位时段,报告行里会印出这些时间;字符数本身与时间无关,所以每一行的结论仍然有效。

检查每行字符数会改掉我的字幕换行吗?

不会。文件只被读取和量算,不上传也不改写。如果你要把长行重新折成指定列宽,那是另一个会产出新字幕文件的工具。

每行字符数与“一条字幕最多两行”是同一条限制吗?

不是。前者管一行有多宽,后者管一条字幕能叠几行;两份文件都把这两条分开写,一份文件可以只违反其中一条。这一页只回答前一个问题。

这项检查看什么

  • 报告描述的是一份文件;数字背后的两份文件针对的是服务与供应商。Netflix 的 42 与 BBC 的 37 来自各自交付目标的风格指南,不是法律。你的字幕是否必须满足它们,取决于合同或监管机构,这一页不回答那个问题——它只报告哪些行超过了哪一条已公布的上限。
  • 行宽是少数会直接让观众付出代价的字幕属性:一行冲出画面、或被缩小到勉强塞下,依赖文字的人就读不到,低视力观众受影响最大。这也是两份文件都把它写成硬上限而不是偏好的原因。

参考资料

  • Netflix Timed Text Style Guide: General Requirements — 每行最多 42 个字符,43 到 44 个字符仅在极少数例外下允许。
  • BBC Subtitle Guidelines — 每行最多 37 个字符。

相关工具