在[教學] 如何讓 AVI (RMVB)格式轉成 DVD - 方法 2這邊有提到 VobSub 裡 SubResync 對於中文支援性不好的議題,本篇就是要針對這個問題提出解決的方法。
以存檔成 .srt 格式為範例,在同一資料夾下會生成一個 .srt.style 的檔案,而這個檔案就是設定的關鍵。
原先以字型為 Arial ,大小為 28,其 .srt.style 的內容則為這樣:
ScriptType: v4.00+
PlayResX: 384
PlayResY: 288
[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: Default,Arial,28,&H00ffffff,&H0000ffff,&H00000000,&H80000000,-1,0,0,0,100,100,0,0.00,1,2,3,2,20,20,20,1
但如果你在 SubResync 裡將字型改成微軟正黑體或標楷體等,以中文顯示的字型時,就會發生下列的狀況:
ScriptType: v4.00+
PlayResX: 384
PlayResY: 288
[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: Default,
是的,你沒看錯!從 Style 那行可以清楚的看到,字型後面的定義全都不見,導致在直接轉檔或批次處理的時候,它還是以預設值在跑,往往都是轉完檔後才發現字體不是自己要的。
現在在這邊教各位一個簡單的解決方法,首先我們得先了解各個中文字體所對應的英文名稱:
微軟正黑體 Microsoft JhengHei 標楷體 DFKai-sb 細明體 Mingliu 新細明體 PMingliu
在了解它們的英文名稱之後,先以 Arial 來做預設的字型,接著再開啟對應的 .srt.style 檔進行小修改。做法很簡單,只要將 Style 那行的 Arial 替換成你想要換取的字型就行了,想換微軟正黑體就換成 Microsoft JhengHei ,要換成標楷體就替換成 DFKai-sb,下面以微軟正黑體為範例
ScriptType: v4.00+ PlayResX: 384 PlayResY: 288 [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: Default,Microsoft JhengHeil,30,&H00ffffff,&H0000ffff,&H00000000,&H80000000,-1,0,0,0,100,100,0,0.00,1,2,3,2,20,20,20,1
就這樣,問題就解決啦!同樣的在撰寫 CSS 時,為了避免辨別不出來,也最好用英文名稱來替代中文名稱來設定 font-family,以上,希望對大家有所幫助。
[...] Update: Windows 字體對應的英文名稱 [...]