How To Change The Fonts In Windows 8
In Windows 8
Open regedit (press Win+R and type
regedit
)Edit the following value and replace the font that you want:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\FontSubstitutes\MSShellDlg
Edit the following value and replace the font that you want:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\FontSubstitutes\MSShellDlg 2
As for font size, go to Control Panel → Video → Advanced Appearance, and change it there.
My educated guess is that they're heading for a unified look and feel on Windows platforms, so it's not adjustable.
I found some entries in the Registry (HKCU\Control Panel\Desktop\WindowMetrics
, amongst others), but they are stored in binary and therefore difficult to change. Segoe seems to be the favourite.
You can do that without any third-party software, and without local admin access. Open up the Registry Editor and navigate here:
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics
The fonts used are stored in these binary values:
CaptionFont
: window captionsIconFont
: most text in Windows utilities (including desktop icons)MenuFont
: menu strips and submenu entriesMessageFont
: message boxesSmCaptionFont
: "small captions"? (TechNet)StatusFont
: status bar strips
Each of those entries starts with a four-byte value specifying the font size. It's a number in little-endian and binary-NOT'ed after adding 2, for some reason. Unless you need font sizes over 255 points, you can just look at the first byte. Since the binary inverse of F4
is 0B
(11 in decimal), the default IconFont
size is 9 points. Decreasing that first byte will increase the font size and vice versa.
The font name starts at byte 1C
(fifth byte on the fourth row). Since it's in UTF16-LE, there must be a zero byte after each character. To enter a normal character, select the text in the right half of the window and just type it as normal on your keyboard. To zero a byte, select it in the middle (in the hexadecimal section) and press the zero key. Since the string is null-terminated, 00 00
signals the end of the font name.
This is the default value of IconFont
:
And after I set it to Comic Sans MS:
Log off and back on for the changes to take effect.
Beautifully horrifying.
Note: These screenshots were taken on Windows 10, but this procedure works in Windows 8 as well.