跳至主要內容
SubtitleMatrix

去除字幕粗體標籤

文字樣式移除標記與標籤
或者貼上字幕文字

選項

一個欄位,七個選項,每個選項都有自己的頁面。斜體、粗體、底線和顏色只去掉對應的那一種區間,行內其他樣式不動。全部 會去掉工具建模的所有區間 —— 那四種加上卡拉 OK 計時 —— 文字裡的其他內容保持原樣。HTML 做同樣的事,並額外清掉解析時因為不被建模而留在文字裡的角括號標記,例如 VTT 的 <v Bob> 說話者標籤和 <c.className>。ASS 則改為清掉覆寫區塊,即解析時未能辨識的 {...} 代碼,例如 {\fad(500,500)}。這一頁會把欄位填成標題裡點名的選項,並且不列出其他選項。

時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。

這一頁把每條字幕的粗體拿掉,其他什麼都不改。文字照打進去的樣子回來,時間碼、順序與換行都在,同一行上的斜體、底線或顏色也留在檔案放的位置上。拿掉粗體是因為你要求拿掉,不是因為粗體有錯。

粗體是那種在一行不是對白時會被拿來用的樣式。章節標題、歌名、畫面上的文字、電話號碼、鏡頭裡的招牌、節目自己顯示的字卡——這些在準備檔案的人手裡都會被加粗,而到了交付的時候,那份強調往往正好礙事。審稿要求拿掉,因為他們的台內規範把粗體保留給別的用途,或者因為那些樣式來自一份沒有人選過的範本。

移除在關鍵意義上是跨格式的:SRT、WebVTT、SBV 與 SAMI 把粗體寫成 `<b>` 與 `</b>`,ASS 與 SSA 寫成 `{\b1}` 與 `{\b0}`,TTML 則寫成帶粗體字重的 span。檔案是按它實際上是什麼格式讀的,不是按副檔名。如果你在做字幕組,有一個細節值得知道:像 `{\b700}` 這種帶字重的粗體要求的是比一般粗體更重的字重,它一樣被讀成粗體,所以跟 `{\b1}` 走同一條路。

不上傳——檔案在瀏覽器分頁裡讀入與寫出。本來就沒有粗體的檔案會逐位元組回來,這是一輪找不到事做的執行最誠實的結果。

範例

一條標題字幕與一個被強調的詞

輸入

1
00:00:01,000 --> 00:00:02,000
<b>CHAPTER ONE</b>

2
00:00:03,000 --> 00:00:04,000
The <b>room</b> was dark.

輸出

1
00:00:01,000 --> 00:00:02,000
CHAPTER ONE

2
00:00:03,000 --> 00:00:04,000
The room was dark.

整條加粗的字幕與句子中間被強調的一個詞,用的是同一種方式失去粗體。第一條的大寫留著,因為這一頁從不碰大小寫——如果你要的是那個,處理字幕大小寫轉換的頁面才是你要找的。

同一行上的粗體與斜體

輸入

1
00:00:01,000 --> 00:00:02,000
<i>A voice off screen.</i> <b>She left.</b>

輸出

1
00:00:01,000 --> 00:00:02,000
<i>A voice off screen.</i> She left.

斜體活下來,粗體走,而且是在同一行上。這一輪保住了檔案的慣例:畫外音用斜體、強調用粗體,只拿走兩者中的第二個。一次移除兩者是另一頁,而那一頁該在你確定檔案完全不需要樣式之後再用。

ASS 檔裡帶字重的粗體

輸入

[Script Info]
Title: bold

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\b1}hello{\b0} {\b700}there{\b0}

輸出

[Script Info]
Title: bold

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello there

兩段都走,包括帶字重的那一個。`{\b700}` 不是工具沒讀懂的覆寫碼——它是帶字重的粗體,跟其他粗體一樣被拆掉,所以要求更重字型的字幕組檔案也會被同一輪處理。兩段之間的文字保留自己的間距。

常見問題

粗體在各種字幕格式裡怎麼寫?

SRT、WebVTT、SBV 與 SAMI 用一對 `<b>` 標籤包住文字。ASS 與 SSA 用 `{\b1}` 開啟粗體、`{\b0}` 關閉,也可以帶像 `{\b700}` 這樣的字重要求。TTML 把文字包進帶粗體字重的 span。頁面把這些都讀成同一件事,所以結果不取決於你的檔案剛好是哪一種格式。

拆掉粗體會影響時間或換行嗎?

不會。只有文字周圍的標記被重寫,所以每條字幕的起止精確到毫秒都保留,順序也是檔案原本的。字幕內部的換行屬於字幕的結構,不屬於樣式,所以兩行的字幕跑完還是兩行——換行就在檔案原本放的地方。

為什麼會有人想移除字幕的粗體?

通常是因為粗體是跟著檔案來的,不是為它選的。粗體被用在章節標題、歌名、畫面文字與招牌上,而且常常是從範本繼承、或從轉錄稿貼進來的,所以把粗體保留給其他用途的交付規範會退件。移除對可讀性也有幫助:強調會跟字幕行本來就有的閱讀速度預算搶空間。

可以只留標題字幕的粗體,其他都移除嗎?

這一頁不行,它處理的是整份檔案。實務上的做法是先跑這一頁,再把粗體補回少數幾條需要的字幕,或先把檔案切開、只對其中一部分跑。逐條的決定沒有辦法從一份拖進來的檔案讀出來,所以頁面沒有依據。

粗體拿掉之後,同一行上的其他樣式會怎樣?

會留著。斜體、底線、顏色與卡拉OK計時是獨立的範圍,所以同時是粗體與斜體的一行,回來是斜體、不是粗體。這是刻意的,也是這一頁要與「移除全部字幕樣式」並存的原因:常見的工作是拿掉檔案裡的一種強調,而檔案其他慣例照舊。

為什麼跑完之後我的 ASS 檔還是有粗體?

先確認它是不是真的粗體。ASS 可以透過樣式表裡的具名樣式讓文字看起來很重,而不是靠行內標記,而這一頁只移除行內範圍——它不碰樣式表,也不碰字幕指向的樣式。樣式本身是粗體的字幕跑完看起來還是粗體,因為粗體是樣式的屬性,不是文字的。

相關工具