2015
May
31

原生的 Windows 8 沒有提供 UI 來修改預設字型, 但是我們可以透過修改 Registry 變更系統的預設字型,修改 Registry 的動作很危險,可能會弄壞 windows ,沒有把握的人請盡速離開。

Win8 的預設字型為 "Microsft JhengHei UI",而我想要使用的字型是 "Noto Sans CJK TC Medium",所以接下來我會說明如何取代初始的字型。

請在開始 -> 執行 輸入 "regedit" ,Windows 就會打開 Registry 列表,而 Registry 字型的設定路徑為: HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics

點擊 IconFont 後,就可以看到原始的設定如下:

中間顯示的是 16 進位 hex code ,右邊顯示的則是 ASCII 對應的英文字,可以清楚的看到 "4D 00" 對應到 M , "69 00" 對應到 i ,每個英文字有二個 bytes 的儲存空間。

接著我們對著 "WindowMetrics" 這個目錄點右鍵,將他的資料匯出成 Font.reg 。

儲存成功後,你可以用 Notepad++ 或是 Notepad 將 Font.reg 打開,並移除 IconFont 以外的資料,例如下圖顯示:

原始的 IconFont 檔案
  1. [HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
  2. "IconFont"=hex:f4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,\
  3. 00,00,01,00,00,00,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,\
  4. 20,00,4a,00,68,00,65,00,6e,00,67,00,48,00,65,00,69,00,20,00,55,00,49,00,00,\
  5. 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

我們的目地就是將 "4d,00,69,00,63,00,72, ... " 這一部份的所有文字改成 "Noto Sans CJK TC Medium",當然你不需要直接修改 Registry 原始檔,透過 Registry UI 介面就可以修改數值。

字型名稱

你可能還不知道每一個字型的英文名稱,我們得先找出字型的全名,先進入 c:\Windows\Fonts 這個目錄,裡面會有全部的字型檔,找出你要的字型,點擊兩下就能看到字型名稱 "Noto Sans CJK TC Medium"。

最後修改 Registry UI 中右邊欄位的英文,請小心一個字一個字的填入,每個字後面都會接一個 "." 而這個點代表的是 ASCII Code "00",如果你要填 "00" 請在 Registry UI 中間欄填寫,修改的時候請注意,總字串長度不能變長或變短,必須與原始長度一樣。


修改完成後,如下圖

最後重新登入 Windows 就能看到新的字型設定。


目前回應 Comments(1 comments)

  • 阿豪 2015/12/14

    MenuFont字體沒辦法改變~
    我把win7移植過來~但發現這個沒變化?

回應 (Leave a comment)