跳到主要内容
SubtitleMatrix

字幕按行长重排

文本样式重排换行
或者粘贴字幕文本

选项

一个框,五个选项,每个选项都有自己的页面。重排 会把每条字幕重新按列宽折行,既能把过长的行缩短,也可能把短行合并上来。只拆长行 只处理超过列数的行,其余原样保留。均衡 保持每条字幕原有的行数,只在行之间挪动词,让最长的那一行尽可能短。合并 把每条字幕并成一行。限制 对已经在行数上限内的字幕不做任何改动。这一页会把框填成标题里点名的选项,并且不列出其他选项。

按列而不是字符计算,所以一个汉字或日文假名占两列,一个带音标的拉丁字母占一列。拉丁字母字幕常用 42。调小会让行更短但行数更多;任何内容都不会被截掉。

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

这一页把每条 cue 的文字按你选的行长重新排一遍。超过长度的行在词边界断开;不足长度的行,如果和上一行合得下就被提上去。它是这一组里两个方向都做的那一页,所以断行已经整体走样的文件找它,而不是只有一行太长时找它。

长度按列数计,不按字符数。一个汉字或假名占两列,一个拉丁字母占一列,所以 42 列的上限装二十一个汉字或四十二个拉丁字母。42 是拉丁文字幕用了几十年的数字,也是这里的默认。为了凑数字从不裁掉内容:页面只搬动断行、不动词,任何断点都压不进上限的行会被报告出来。

以破折号开头的行标记说话人切换,这些行是墙。页面会重排墙两侧的文字,但不会把两行并成一行,因为把两个人的台词放进一行正是破折号要防止的阅读错误。要推倒这堵墙,用去换行那一页,它会做这件事并数出推倒了多少。

11 种允许 cue 内多行的格式都接受:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON、CSV。纯文本不提供,因为文本文件按定义每行一条 cue,cue 内部没有断行可以搬动。文件不上传,格式按内容识别而不是按扩展名。

示例

一条断得太早,一条断得太晚

输入

1
00:00:01,000 --> 00:00:04,000
We could take the train
and be there by six

2
00:00:05,000 --> 00:00:09,000
I told you we would miss the last train if we stayed any longer

输出

1
00:00:01,000 --> 00:00:04,000
We could take the train and be there by
six

2
00:00:05,000 --> 00:00:09,000
I told you we would miss the last train if
we stayed any longer

一份文件里两个相反的毛病,都在默认 42 列下修好。第一条进来是 23 与 19 列、合起来 43 列——超出一列——于是页面先合并、再提前一个词断开,得到 39 与 3。第二条原本是一行 63 列,出来是 42 与 20。两条都既没添字也没丢字,只挪了断点;第一条第 3 列的小尾巴是贪心填充的诚实代价。

中文行:一个汉字两列

输入

WEBVTT

00:00:01.000 --> 00:00:04.000
你好世界今天天气很好我们出去玩吧顺便买点东西回来

输出

WEBVTT

00:00:01.000 --> 00:00:04.000
你好世界今天天气很好我们出去玩吧顺便买点东
西回来

24 个汉字是 48 列,超过上限,于是在第 21 个之后断开。按字符数算的工具会把 24 当成短行放着不管,中日文两行字幕就这样比旁边的英文两行宽一倍。行内没有空格可断,每个字都是断点,断点落在句子中间——中文字幕本来就在那里断。

常见问题

重排时换行落在哪里?

把 cue 的词依次摆开,在第一个会超出列数的词之前断开。这是贪心填充而不是平均分配:第一行填到不能再填,剩下的进下一行。目标是尽量少行时这正是要的效果;行数已经对、只想让各行看起来均匀时,用换行均衡那一页。

为什么短的下一行会被并到上一行?

因为两者合起来装得下。重排把整条 cue 当成一段文字从头排,文件里原有的断行不因为存在就被保留。这也是它与只拆长行那一页的区别:那一页把已经够短的行留在原处,这一页可能把它提上去。

两条破折号说话人行为什么没有被合并?

因为行首的破折号意味着换人说话,合并两行会把两个人的台词放进一行。页面把这些行当成不能越过的块,只在块内重排文字。确实要合并时,去换行那一页会做并报告合并了多少处。

比行长还长的词会怎样?

单独占一行并保持超限,报告写“仍有 1 行超限”。词内部没有不改变这个词的断点,而改你的文字不是行长设置的用途;德语复合词与长网址是常见例子。真要压进列数,只能在词内断开,那应该由你手动决定。

行宽按列还是按字符?

按列,也就是字幕行实际被测量的东西。拉丁字母、数字、空格各 1 列;汉字、假名、韩文音节与 emoji 各 2 列,所以 42 列对两种文字是同样的屏幕宽度。按字符算会让同样设置下的中文行宽出一倍。

哪些格式可以按行长重排?

cue 内能装多行的 11 种:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON、CSV。纯文本每条一行、按定义没有 cue 内的断行,产物会与输入完全相同,所以不在列表里。

相关工具