How To Change The Fonts In Windows 8

69,556

Solution 1

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.

Solution 2

In Windows 8

  1. Open regedit (press Win+R and type regedit)

  2. Edit the following value and replace the font that you want:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\FontSubstitutes\MSShellDlg
    
  3. 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.

Solution 3

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 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 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:

IconFont before

And after I set it to Comic Sans MS:

IconFont after editing

Log off and back on for the changes to take effect.

Explorer with the new font

Beautifully horrifying.

Note: These screenshots were taken on Windows 10, but this procedure works in Windows 8 as well.

Solution 4

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.

https://www.wintools.info/index.php/advanced-system-font-changer

https://www.wintools.info/Download/advchange.exe

This solution is much easier and faster than the solution with "old program from Win95 called 'Plus!'" presented by Brainout.

enter image description here

enter image description here

Solution 5

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.

  1. 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).
  2. Save that theme in your Plus! folder.
  3. Copy the Plus! folder to Program Files in Win8.
  4. Open the Plus! folder and double click on THEMES.exe .
  5. 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).
  6. 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.

Share:
69,556

Related videos on Youtube

Halcyon
Author by

Halcyon

Updated on September 18, 2022

Comments

  • Halcyon
    Halcyon over 1 year

    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?

  • Halcyon
    Halcyon over 11 years
    Thanks 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.
  • Admin
    Admin over 11 years
    Wow, glad I could help! It's certainly not what I expected but I've learnt something new.
  • Konstantin Pereiaslov
    Konstantin Pereiaslov almost 10 years
    This works, but not for all fonts.
  • Mark Jeronimus
    Mark Jeronimus over 8 years
    Can anyone explain the binary format of font entries?
  • Bass
    Bass over 7 years
    WinAero Tweaker is capable of changing those.
  • Janek Bevendorff
    Janek Bevendorff almost 4 years
    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\AppliedDPI if you have a HighDPI display.