Windows

Work around font limitations in Windows 9x/Me

There's a limit of about 1,000 to 1,500 fonts that you can install in Windows 9x/Me. Greg Shultz explains why this limitation exists and gives a couple of workarounds with his fonts-on-the-fly techniques.

While it may seem that you can install as many fonts as you wish in Windows 9x/Me, there really is a limit. Once you reach that limit, you may encounter any number of problems. For example, you may not have access to fonts that you’ve installed—they won’t be available from within your applications, and they won’t appear in the Fonts folder.

Determining the exact number of fonts that you can install is difficult due to a number of variables. I’ll examine these variables and explain how they influence the number of fonts you can install. I’ll then show you some workarounds you can employ on your Windows 9x/Me systems when you need access to a large number of fonts.

Note
Keep in mind that these limitations apply only to Windows 9x/Me. Windows NT/2000/XP don’t have a size limit on either the registry key or the Graphics Device Interface (GDI). You can theoretically install thousands of fonts in Microsoft’s advanced OSs.

The registry key limitation
The way the Windows 9x/Me registry is designed is the core variable in limiting the number of fonts you can install in the OS. Let’s take a closer look.

The registry functions as a database containing detailed information about all the system and application configuration settings for the OS. The registry stores associated information in sections called keys; each key has a maximum size of 64 KB. Once a key contains 64 KB of information, it’s full. Keep in mind that in most circumstances, 64 KB is more than enough room for the type of information stored in a registry key.

The Fonts key
Information about the fonts installed in Windows 9x/Me is stored in a registry key called Fonts, which is located in the registry path HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. The information consists of the font’s official name and the filename assigned to the font file on the hard disk. For example, the Times New Roman font is stored in the Fonts key with the official name Times New Roman (True Type) and the filename Times.ttf.

Calculating a ballpark figure
Now that you know the size of a registry key in Windows 9x/Me is limited to 64 KB and that the amount of space needed to store an individual font consists of the font’s official name and its filename, you should begin to see how the number of fonts installed in the OS is limited.

Let’s look at an example. In the case of the Times New Roman font, the full font name is made up of 27 characters and the font filename is made up of nine characters. That’s a total of 36 characters, or 36 bytes, required to store this font’s information in the Fonts key.

If you estimate that the average font name is 30 characters long and the average font filename is 10 characters long, you can figure that you should be able to install between 1,000 and 1,500 fonts in Windows 9x/Me before you break the 64 KB size of a registry key.

Another variable to consider
Before you move on, you have to consider one more variable. The 1,000 to 1,500 fonts estimate is based on the idea that all the fonts will be installed in the default font folder C:\Windows\Fonts. If you install any fonts that are placed in other folders, the full path to the font is also stored in the Fonts key. This takes up more space in the Fonts key, reducing the number of fonts you can install.

The GDI limitation
In addition to the Fonts key, the GDI, which is an essential part of the Windows 9x/Me system resources, also plays a part in limiting the number of fonts you can have installed. The GDI contains an internal list of fonts installed in the system.

The GDI reserves a total of 10 KB to store font filenames. If you estimate that the average font filename is 10 characters long, the GDI limitation comes out to approximately 1,000 fonts.

Using fonts on the fly
While the upper limit on the number of fonts you can have installed in Windows 9x/Me is somewhere between 1,000 and 1,500, you may be better off keeping the total number between 500 and 800, just to be on the safe side. If you need access to more than 800 fonts, you can use one of the following techniques.

Note
When you use either of the following techniques, the fonts will be available only when the technique is in use. If you use the technique to apply the font to a document and later open the document without implementing the technique first, the font will not appear.

Fonts-on-the-fly technique
Windows 9x/Me allows you to install fonts on the fly using the drag-and-drop operation. To do so, simply drag a font file from another location and drop it in the Fonts folder. Once you do so, the font is available for use.

You can later uninstall a font by deleting or moving the file from the Fonts folder. To do so, create a folder called Additional Fonts on the hard disk. Then move any of the fonts that you don’t use on a regular basis to this folder. You can then install other fonts into the OS from other sources. Once the fonts are installed, you can repeat the procedure of moving the fonts you don’t use regularly to the Additional Fonts folder.

Once you’ve installed all the fonts you want on your system and moved the fonts you rarely use to the Additional Fonts folder, you can easily install and uninstall fonts by dragging and dropping font files between the two folders.

Keep in mind that you’ll need to move the font files rather than just copy them. If you don’t move the font files between these two folders, you’ll defeat the purpose of the technique.

Bonus fonts-on-the-fly technique
As soon as you load a font into memory, which you can do by opening the font’s sample window, the font is available to any application. You can use the font without actually installing it.

As in the first technique, you’ll keep rarely used fonts in the Additional Fonts folder. Instead of moving the actual font file to the Fonts folder, just double-click on the font file to open the sample window and then minimize it.

As long as the font’s sample window is open, the font is loaded into memory and is available to any application. When you use this technique, keep in mind that not all applications will be able to update the font list while they’re running. You may have to close the application and then reopen it in order to use the font.

About

Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.

0 comments

Editor's Picks