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.本程式不支援英中日韓以外的字型,韓文理論上會處理,但沒測過,遇到不照標準走的字型應該會直接輸出亂碼~(= =)~

9 則留言:

  1. 請問有辦法將"內部"字型名稱改成自己想要的嗎.
    我並不想要改檔名.
    而是想要能在WORD或其他軟體中.
    顯示成我想要的名稱.

    回覆刪除
    回覆
    1. 這個需求是要更動字型檔本身,一般的字型編輯軟體應該都能做到

      刪除
  2. 真的很棒的小工具,但我也遇到之前那個朋友所遇到的問題,就是很多字型內部的名稱亂七八糟的,有的還出現英文名稱,導致在其他軟體中使用字型的時候,都要用猜的,很痛苦,不知道能不能麻煩大神,在發展一個,簡易更改字型檔(內部)名稱的工具,比方將我要更改的字型檔,丟入工具內,直接更改存取既可,萬分感謝!!

    回覆刪除
  3. 太神了了這個小程式!
    超感謝版主!

    回覆刪除
  4. 如何取得truetype字型檔的規格書?又如何從字型檔中得知中文字的數量?

    回覆刪除
  5. 當時是參照這邊記載的結構
    https://www.microsoft.com/typography/otspec/otff.htm

    我所需的資訊記錄在比較淺層的位置,收納的字體數量應該位於更深處,我並沒有繼續往下研究

    回覆刪除