Changing Windows' Default Display Font Size

From a discussion on the WordStar mail list in August 2002, but applicable to all Windows programs!


The problem?

I use a large, high-resolution, monitor, which makes my Windows fonts look too small so I set them to Large Fonts

How do I do that?

Right-click on a blank area of your Windows desktop (in other words, not on an icon) and select Properties from the context menu that appears. Or go to Control Panel, Display.

In the Display Properties screen, click on the tab that says Settings. Look at the Font Size box in the lower half of the screen. [You may also need to click an "Advanced" button] By default, Windows is set to Small Fonts, which use 96 pixels per inch to draw themselves. If your fonts generally look too small to you, change it to Large Fonts, which use 120 pixels per inch to display. Large Fonts are at 125% of the normal font size. You may have to restart Windows for the change to take effect.

That's one reason to change it - because your eyes can't cope with a small display size (high resolution), but it's the wrong reason!

One thing to keep in mind is that the higher your resolution, the larger percentage you may want for your default fonts. The fonts display as pixels per inch. At the default of 96 pixels per inch, a character drawn on a 640-pixel by 480-pixel screen will look much larger than the same character drawn at 96 pixels per inch on a 1280 by 1024 screen. The pixels get smaller as the screen resolution gets higher. So as your resolution gets higher, your font-size percentage should also get higher.

Which is the whole purpose of the:
Display Properties > Settings > Advanced > Display dpi setting.

The correct solution

The intention is that if you put 12 point text on screen it will be 12 points high on the screen or at least, as near as makes no difference. If you draw a one inch box in a drawing program it will be one inch square on the screen; both assuming you have the program's zoom setting at 100% of course! That applies to the zoom feature of all Windows based programs:

If you want bigger, or smaller, text in icon labels or menus or buttons, and you may well want to change these after calibrating your display settings, then the Appearance tab of the Display Properties is where you set these, but only after setting the Display dpi!

Here's what you should really do...

If you're using a CRT based monitor the first thing to do is to adjust the monitor's display to fill the viewable area of the screen (the visible area inside the display bezel). You do this with the monitor's controls. You should end up with a non-distorted display that fills the visible area of the CRT's phosphor (you've paid for it so use it - I've seen so many monitors with large unused black areas around the displayed picture). The image will be a 4:3 relationship'; if it's not, what should be square objects in the picture will not be square, they'll be elongated, and circles will be drawn as ovals!

If you have a LCD the ratio of width to height may be different, but you don't have X and Y gain settings either so it doesn't matter.

The next thing to do is to get a ruler and to measure the height of the visible display in inches (for those metricated types divide the centimetre measurement by 2.54 to get inches).

Now, start Windows Calculator and divide your screen resolution's vertical value (Right-click the Desktop and select Properties, then Settings and under Display Resolution you want the second value - the first is the width in pixels) by the height of your displayed Windows screen. This will give you the dpi setting that's in force. For example, the notebook PC I'm typing this on has a screen that's 9.1" tall and 12" wide (laptop screens don't abide by the 4:3 ratio of CRT monitors and traditional TVs). I'm running at a resolution of 1400 x 1050 pixels (again a CRT would be 1400 x 1024 to get the ratio right). So for me I need to divide 1050 by 9.1 which gives me a value of 113.4 - 113 dpi!

This is the value that should be in the Display Properties > Settings > Advanced > Display dpi setting box! This will give you (after rebooting) a calibrated screen for THAT resolution. Changing this may mean you need to mess with the setting as a percentage, but the actual pixel vaule is displayed just below on the ruler, which you can also click on and drag to get an approximately correct size (hold a real ruler against the one on the screen and drag the on-screen one to match one inch. Then adjust the percentage box up or down by one or two percent at a time until the example text says the correct dpi value). It's far easier to do than to explain! Remember, if you change resolution or you play with the monitor X and Y gain controls it will be wrong again.

After restarting Windows 12 point text should be much closed to 12 points than it probably was before as long as the program you're looking at the text in is set to 100% view zoom.

If like me you now find the Windows icon text, menu text, - in fact ALL text in Windows too big you should now play around with the settings in the Display Properties > Appearance tab. The default here is 8pt text. As I'd changed my dpi setting from 96dpi to 113dpi (118%) I reduced the size of all text to 7pt. To do this you'll need to select the Appearance > Advanced button and then open the Item list. Select each Item in turn and check its Font size setting - change them all to suit your own preferences.

That's the secret - not a simplistic preference for everything being bigger, but a calibrated monitor that displays objects (graphics and fonts) at the correct size!

But what about non-4:3 aspect ratio display options?

So what do you do for those resolutions that don't have square pixels, i.e., the ratio of horizontal resolution to vertical resolution is nowhere near the aspect ratio of the display?

For example: 1280x1024 is 5:4, but 640x480, 800x600, 1024x768, & 1600x1200 are all 4:3. Your display can't match both aspect ratios.

The possible solutions are...

If you haven't got square pixels you need to send your monitor back! - what's the horizontal viewable area? You should find that dividing the 1280 by that dimension should give you a number very close to what you get if you divide the 1024 by the vertical viewable dimension.

If you're selecting non-4:3 ratios offered by your graphics card on a monitor that has a physical 4:3 screen then you should either not use that resolution and change to one that's 4:3, or you should adjust the viewable image on the monitor to give you a ratio that matches the setting you've chosen, and have an unused band top and bottom.

How does it work in practise?

One satisfied customer

Thank you indeed for this very clear exposition. I knew about large fonts and small fonts, but had no idea that you could set the fonts to a custom size - and there is even an inch ruler on screen (in Win 98SE), as well as sample text, to help. I just tried out your arithmetic, and it checks out: 17 inch monitor, 9 inch vertical display area, resolution 800x600; 600/9 = 66.7; when I set the font size to 67, the ruler measured almost correct.

Now perhaps I can set up 1024x768 with an acceptable font size?

What about problems?

There are some...

Well, under Windows XP at least, if you increase the font size all your Windows dialog and message boxes will sudenly become much bigger, and there seems to be no way to control the size. Also, menus may use a larger font - at least they do in Office XP and don't follow the menu font size in the display appearance settings (this only seems to affect the menu title text). You may find some programs display fonts too big, and you can't adjust them. The only way you'll know if this affects you, or is a problem for you, is to try it.

What about reverting?

It is possible - just set the font size back to 96dpi. Unfortunately, it won't reset changes in the display appearance options, and restoring the default here may not restore everything leaving you to manually restore the remainder. Also, of course, if any program you use allows you to change font sizes and you used the option, you may have to adjust that again.