跳到主要内容
SubtitleMatrix

字幕颜色修改

文本样式更改文字颜色
或者粘贴字幕文本

选项

#ffcc00

选整个文件要变成的颜色。行上已有的颜色会被替换而不是叠加,所以运行一次后每行只剩一种颜色;粗体、斜体、下划线和卡拉 OK 计时不受影响。只写出 #rrggbb —— 这是九种可接受的格式都能精确承载的唯一写法。并非所有播放器都会绘制行内颜色,SRT 对此也没有标准:文件里会有这个颜色,但是否显示取决于播放器。

这一页把整份字幕的每一行刷成同一个颜色。文件按内容识别,九种格式各自收到它本来认识的写法:SRT、WebVTT、SBV、SAMI 用 `<font color="#rrggbb">`,ASS 与 SSA 用覆写码,TTML 用 `<span tts:color>`,JSON 写进标签数组,CSV 在带引号的单元格里放同样的行内标记。

新颜色是替换而不是叠加。原本一部分是绿色的一行,出来整行都是新颜色——整行一个区间,而不是 `<font>` 套 `<font>`(嵌套时有的播放器取内层、有的忽略,结果因播放器而异)。粗体、斜体、下划线与卡拉 OK 计时留在原处,各自的区间仍覆盖原来的字符。

整份文件只能选一个颜色,这是设计。字幕颜色通常是交付决定(统一的白色、亮场也看得清的黄色、某一类说话人专用色),需要两种颜色的文件得由人来判断哪几行用哪种,那是文本编辑器的活,不是一个面板上的单值。空字幕条什么也不加:没有文字可刷,零长度的颜色区间只是一对空标签。

颜色是字幕文件少数不需要渲染器也能携带的样式之一,但观众能不能看见由播放器决定——这一页只负责把标记写对。ASS 的颜色值按 `&HAABBGGRR` 排列,`#ffcc00` 写出来是 `&H0000CCFF&`,数值没变,只是字节顺序相反。文件不上传,全程在浏览器标签页里完成。

示例

两条普通 SRT 字幕

输入

1
00:00:01,000 --> 00:00:02,000
Hello there.

2
00:00:03,000 --> 00:00:04,000
Second line.

输出

1
00:00:01,000 --> 00:00:02,000
<font color="#ffcc00">Hello there.</font>

2
00:00:03,000 --> 00:00:04,000
<font color="#ffcc00">Second line.</font>

每行一个 `<font>`,包住整行;时间码与空行原样保留。标签是覆盖一行的区间而不是 cue 的属性,所以一条含两行硬换行的 cue 会得到两个标签,而不是一个跨过换行的标签。

一行本来就有颜色和斜体

输入

1
00:00:01,000 --> 00:00:02,000
<i>Hello</i> <font color="#00ff00">there</font>.

输出

1
00:00:01,000 --> 00:00:02,000
<font color="#ffcc00"><i>Hello</i> there.</font>

先移除绿色区间再上新的颜色,结果是一个包住整行的 `<font>`、斜体仍在里面,而不是 `<font>` 套 `<font>`。原来是绿色的部分现在与其余文字同色——面板既然只要一个颜色,这就是诚实的读法。

常见问题

颜色标签在九种支持的格式里各长什么样?

SRT、WebVTT、SBV、SAMI 用 `<font color="#rrggbb">`;ASS 与 SSA 用 `{\c&H…&}` 开头、`{\c}` 收尾;TTML 用 `<span tts:color>`;JSON 写成一个标签区间;CSV 在带引号的文本单元格里放同样的 `<font>`。LRC 与 MicroDVD 没有行内颜色语法,这一页根本不接受它们。

为什么 ASS 里 #ffcc00 写成了 &H0000CCFF&?

ASS 的颜色按 `&HAABBGGRR` 排列,透明度在前,然后是蓝、绿、红。`#ffcc00` 是红 255、绿 204、蓝 0,写出来就是 alpha 00、蓝 00、绿 CC、红 FF,即 `&H0000CCFF&`;播放器显示的还是同一个黄色。

文件里原有的颜色会被叠加还是替换?

替换。每一行上的颜色区间先全部移除,再加一个覆盖整行的区间,所以产物里只有一个 `<font>`,不会出现嵌套——嵌套颜色正是播放器分歧最大的地方。

每个播放器都会显示新颜色吗?

不一定。`<font color>` 不在 SRT 规范里,多数播放器容忍、有些直接忽略;ASS 覆写码在基于 libass 的播放器(VLC、mpv)里有效,硬件机顶盒未必。要保证屏上一定是这个颜色,只能烧进画面。

空字幕条会被加上颜色标签吗?

不会。没有文字就没有可覆盖的区间,零长度的标签只会让空 cue 更难被发现;需要找空字幕请用质检工具。

能只改某几行的颜色吗?

这一页是整份文件一个颜色,没有按 cue 或按词的范围。面板只有一个值,结果也必须只由文件决定;要突出某几个词属于文本编辑,应该用查找替换那两页。

相关工具