
[已解決]如何用BAT腳本批量處理ASS字幕替換字體刪除日中對照及調整OP/ED對齊最后由 1139054012 于 -5-19 16:00需求一:替換字幕樣式字體1. 根據分辨率匹配字體樣式 根據 PlayResX 和 PlayResY 的值,選擇對應的字體配置。支持以下分辨率:1920
x10801280
x720720
x480640
x360480
x272這里舉例1920
x1080Sub-CN => 方正準圓_GBK,63,&HFFFFFF,&H000000,&H000000,&H000000,1,0,0,0,100,100,1,0,1,1,1,2,10,10,20,1Sub-CN-Top => 方正準圓_GBK,63,&HFFFFFF,&H000000,&H000000,&H000000,1,0,0,0,100,100,1,0,1,1,1,8,10,10,20,11280
x720....每個分辨率樣式名都有一套不同樣式修改前
- PlayResX: 1920 ← 主要判斷這里
- PlayResY: 1080 ← 主要判斷這里
- [Aegisub Project Garbage]
- Video AR Mode: 4
- Video AR Value: 1.777778
- Video Zoom Percent: 0.625000
- Scroll Position: 366
- Active Line: 393
- Video Position: 33883
- [V4+ Styles]
- Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
- Style: Sub-CN,方正正粗黑_GBK,60,&H00FFFFFF,&H000000FF,&H00404040,&H00000000,0,0,0,0,100,100,0,0,2,0,0,5,0,0,0,1← 主要通過分辨率通過樣式名修改這里
- Style: Sub-CN-Top,方正正粗黑_GBK,60,&H00FFFFFF,&H000000FF,&H00404040,&H00000000,0,0,0,0,100,100,0,0,2,0,0,5,0,0,0,1 ← 主要通過分辨率通過樣式名修改這里
nclick="copycode($('code0'));">復制代碼
修改后
- PlayResX: 1920 ← 主要判斷這里
- PlayResY: 1080 ← 主要判斷這里
- [Aegisub Project Garbage]
- Video AR Mode: 4
- Video AR Value: 1.777778
- Video Zoom Percent: 0.625000
- Scroll Position: 366
- Active Line: 393
- Video Position: 33883
- [V4+ Styles]
- Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
- Style: Sub-CN,方正準圓_GBK,63,&HFFFFFF,&H000000,&H000000,&H000000,1,0,0,0,100,100,1,0,1,1,1,2,10,10,20,1← 主要通過分辨率通過樣式名修改這里
- Style: Sub-CN-Top,方正準圓_GBK,63,&HFFFFFF,&H000000,&H000000,&H000000,1,0,0,0,100,100,1,0,1,1,1,8,10,10,20,1 ← 主要通過分辨率通過樣式名修改這里
nclick="copycode($('code1'));">復制代碼
2. 替換 Sub-CN/Default 樣式同上 按照不同分辨率設置對應字體大小、顏色、描邊等參數。3. 替換隨機字體名 將; Font subset:中定義的字體 ID(如 EJOPMNW2)替換為真實字體名稱(如 方正蘭亭細黑_GBK)。修改前
- Style: Default,EJOPMNW2
- 或
- {fnEJOPMNW2}
nclick="copycode($('code2'));">復制代碼
修改后
- Style: Default,方正蘭亭細黑_GBK
- 或
- {fn方正蘭亭細黑_GBK}
nclick="copycode($('code3'));">復制代碼
4. 保留原始編碼格式 支持 ANSI / UTF-8 帶/無 BOM 編碼,處理后不亂碼。需求二:刪除日中對照內容1. 過濾指定樣式對話行 刪除包含以下樣式的 Dialogue 行:Dial-JPDial-JP2Dial_JPDial_JP2修改前
- Dialogue: 0,0:01:13.44,0:01:16.41,Dial-CN,,0,0,0,,人
- Dialogue: 0,0:01:13.44,0:01:16.41,Dial-JP,,0,0,0,,人は別れるために逢い,死ぬために生れる。
- Dialogue: 0,0:01:13.44,0:01:16.41,Dial-CN,,0,0,0,,人
nclick="copycode($('code4'));">復制代碼
修改后
- Dialogue: 0,0:01:13.44,0:01:16.41,Dial-CN,,0,0,0,,人
- Dialogue: 0,0:01:13.44,0:01:16.41,Dial-CN,,0,0,0,,人
nclick="copycode($('code5'));">復制代碼
需求三:調整 OP/ED 字幕垂直位置1. 識別 OP/ED 樣式名 匹配樣式名是否包含 OP 或 ED(不區分大小寫)。2. 修改垂直對齊方式若樣式含 CN 或 CH,設為 2(底部)若樣式含 JP,設為 8(頂部)修改前
- Style: OPCN,方正粗雅宋_GBK,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,4,0,1,2,0,2,20,20,20,1
- Style: OP_JP,FOT-Matisse Pro B,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,0,8,20,20,20,1
nclick="copycode($('code6'));">復制代碼
修改后
- Style: OPCN,方正粗雅宋_GBK,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,4,0,1,2,0,8,20,20,20,1
- Style: OP_JP,FOT-Matisse Pro B,60,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,0,2,20,20,20,1
nclick="copycode($('code7'));">復制代碼
test字幕鏈接: https://pan.baidu.com/s/1p6F50WanmZqs3GGyCfHEUw?pwd=9mw5 提取碼: 9mw5