2013年1月17日 星期四

字型檔名變更君 v1.0

前言:
由於各家字幕組的檔名名稱不一,長期下來電腦中累積了一堆重複的相同字型,光是方正准圓就掃到七個異名同位體
並且名稱亂七八糟,有的根本看不出是什麼鬼字型,有時想使用某個字型卻不知道名稱,還得打開來看內容才行
因此寫了這個程式,自動將同目錄中的字型檔名變更為字型名稱,格式如下:
[0] Notebook Bold Italic.ttf
[128] HG教科書体.ttc
[134] 方正粗圆_GBK.ttf
[136] 和平粗圓.ttf

說明:
前面的 tag 是 CharSet
0 => 英數
128 => 日文
134 => 簡中
136 => 繁中

字型檔的結構中本身就有記錄自己叫什麼名字,而且名字可以有複數個
此程式會優先取用繁中名稱,其次是簡中、日文、英文名
若是 ttc 檔,則只取用第一種字型的名稱(ttc 檔就相當於多個 ttf 的集合體)
只是可能字型業界比較不嚴謹,製作過程中發現不少字型都不照標準走的(特別是繁中字型居多)
有的明明標示是 Unicode,實際存的卻是 ANSI,有的反過來標示 ANSI,存的卻是 Unicode
更糟的是有的連文字編碼本身也不照標準走,例如字碼為 0xABCD,它偏偏給你灌水成 0x00AB 跟 0x00CD
總之已經盡可能偵測出此類例外,也許還有更亂來的,那些俺就無能為力了,至少俺手中有的字型都已正常對應完畢

使用方法:
將字型跟程式放在同一個目錄中,執行程式即可(只會處理 ttf、ttc、otf 這三種副檔名的字型,其他略過)
請勿試圖將程式丟進 C:\Windows\Fonts 中
執行時會產生一份 RenameLog,記錄各檔案更名結果
如果是 [-1:Error] 代表可能已有相同名稱的檔案存在因而變更失敗

載點

PS.建議更名前先用其他程式將重複的檔案刪除會比較有效率
PS2.本程式不支援英中日韓以外的字型,韓文理論上會處理,但沒測過,遇到不照標準走的字型應該會直接輸出亂碼~(= =)~