In Windows 7, there is an option to change the fonts for things such as the active title bar, menu, etc. It was found by opening the Window Color and Appearance settings in the Control Panel. I just installed Windows 8 and would like to change the fonts, but I can't find anything to change the actual fonts (there is however a limited drop-down list to change a few font sizes in the appearance settings). Does anyone how to change the fonts used in Windows 8?
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.
1Thanks Randolph! Those settings are exactly the key to changing the fonts in Windows 8. I used a program called Registry Workshop to export the registry key from my work computer (which uses Windows 7 and has the fonts I want to use), imported those settings into my home computer (which is running Windows 8), restarted and now I have the fonts I want. I think this problem lends itself to the creation of a small WinForms app that can tweak the fonts without having to resort to such a hackish approach.– HalcyonAug 24, 2012 at 3:44
Wow, glad I could help! It's certainly not what I expected but I've learnt something new.– user3463Aug 24, 2012 at 3:49
1Can anyone explain the binary format of font entries? Aug 23, 2015 at 16:39
WinAero Tweaker is capable of changing those.– BassSep 21, 2016 at 13:08
In Windows 8
Open regedit (press Win+R and type
Edit the following value and replace the font that you want:
Edit the following value and replace the font that you want:
As for font size, go to Control Panel → Video → Advanced Appearance, and change it there.
You can do that without any third-party software, and without local admin access. Open up the Registry Editor and navigate here:
The fonts used are stored in these binary values:
CaptionFont: window captions
IconFont: most text in Windows utilities (including desktop icons)
MenuFont: menu strips and submenu entries
MessageFont: message boxes
SmCaptionFont: "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
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
And after I set it to Comic Sans MS:
Log off and back on for the changes to take effect.
Note: These screenshots were taken on Windows 10, but this procedure works in Windows 8 as well.
Thanks for reverse engineering this. I do think, however, that the assumption about the font size being the negated first byte minus two is wrong. From what I can see, it's a device-dependent pixel value and you'd have to calculate the point size as
ceil(~first_byte * 72 / 96.0). It's probably safe to assume that 72 won't change, but 96 has to be replaced with whatever is set in
HKCU\Control Panel\Desktop\WindowMetrics\AppliedDPIif you have a HighDPI display. May 21, 2020 at 0:35
If you're looking for really quick solution, try to use the tool "Advanced System Font Changer" which is portable (no installation needed) and ready to use. It solved my issue quickly, after I spent a bit time for searching it.
There is no sense to look for the options in Windows 8 because you'll only waste time.
This solution is much easier and faster than the solution with "old program from Win95 called 'Plus!'" presented by Brainout.
There's this "Windows 8 Font Changer.exe" tool floating around: https://mega.co.nz/#!bVNFQaZC!hIHtclnY2esgsv6zWDVuobCYttnSJb6xXnxRXzi-PR0
It seems to be safe: https://www.virustotal.com/en/file/99b5dade9cd018e2ff9d4a6597021468da1c5ed3a140cc50d4f455305e5aee4b/analysis/
The site on its about however seems to be a spammy ad-bait link (it redirects various links and ultimately to facebook.com): http://www.ogresite.com/p/windows-8-font-changer.html
Actually, those other methods don't work. But here's what does: an old program from Win95 called 'Plus!'. Since thurott.com was tagging someone at Microsoft over this very program ( https://www.thurrott.com/windows/windows-10/3942/microsoft-teases-a-few-minor-changes-in-windows-10 ), then maybe it's not a problem to use it. Here's how to prove it.
- Change theme in your Windows 98 or XP machine for menu etc. using the fonts you want in the sizes you want (important: those same fonts have to be on your Win8 machine too).
- Save that theme in your Plus! folder.
- Copy the Plus! folder to Program Files in Win8.
- Open the Plus! folder and double click on THEMES.exe .
- Pick the theme you just created, and only the stuff you want Win8 to change (i.e., only the fonts or fonts and colors -- your directories for the locations of pictures etc. must be the same on Win8 as in the theme settings or the feature will be ignored).
- Click 'Apply' then OK on that theme, and instantly you'll see changes in File Explorer, etc.
The sizes didn't always replicate. For example in some of the menus, the 13-pt size of Comic Sans which was my menu header default, didn't show up in that size in File Explorer. But the font DID change. All the context menus show in that point size, too.
Not all the color changes occur. But some did. I'm not sure I know why.
It works the same way in Linux, too. Difference is, #3 is the .wine directory's version, and #4 is a right click instead of a double-click, using Wine Program Loader. Really great for changing the fonts and colors of the menus and other stuff for MS Office 2003, Internet Explorer, and other Wine installations. Try it.
I just did this on a fresh installation of Windows 8 (not yet 8.1) last hour. I did it in Wine last week, since the default grey and tiny unreadable font in MS Office once installed by Wine, was intolerable. So you should be able to replicate it. Surely someone you know keeps that old Plus! Win95 software around somewhere, if Mr. Aul can tease Mr. Thurott...
EDIT, 7/8/15. I've now tested the above in 8, 8.1, and Win10 build 10162, 64-bit. Win10 sometimes reflects the color changes, as well. Font face changes work. Yet sometimes on rebooting, the change is annulled. Don't know if it's an interim bug in the build, or the bug is that it works. This matters more in Win10, as the 'classic' dialogue with the five tabs (one of which was Appearance, where you selected 3D object and fonts, etc) -- that dialogue is gone. Seems like they think font change ability is a security risk (maybe akin to the Adobe problem).
Alternative: Win10 now sports a gray button allowing you to specify font sizes for title etc., but you cannot access it unless you custom size the text in Display Settings. In other words, if you use the slider to increase display text size, or let it stay at the default 100%, the gray button is not available. But if you use custom settings, and even pick a value just over 100%, then you can access the gray button, and pick the font sizes.
IMPORTANT: the 'Icon' size should be at least 11 or you'll have teeny-weeny icons (same problem in Win7). That or Menu or Title bar affects the size of Window text soo.