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)