This tool serves two purposes:
- Install fonts. Can be used as a replacement for the outdated fontinst.exe tool.
- Repair any inconsistencies in the Windows font registration. Can be run during setup or post-setup as a standalone application.
Until now, the standard way to install fonts has been to use the fontinst.exe tool from Microsoft. Unfortunately, fontinst.exe was last updated in 1998 and is outdated.
Advantages of FontReg.exe over fontinst.exe:
- Support for OTF files
- Smaller executable size
- No need for a fontinst.inf file
- Proper handling of TTC names
- Open source
There can sometimes be inconsistencies between the Windows font registration and what is actually present in %SystemRoot%\Fonts. This may be the result of a botched/incomplete font install or removal, or it may be the result of an oversight in Windows setup (as is the case with Lucida Sans).
Normally, these inconsistencies can be resolved by simply opening the Fonts folder via Control Panel; Windows will then correct any inconsistencies that it finds. But that's tedious if you have multiple installs, and most users will never think to open the Fonts folder.
This is where FontReg comes in. It will silently fix any inconsistencies in the registration so you can take care of this problem during setup.
So who needs font registration repair? Everyone. Well, every XP user, at least; I haven't checked 2K, 2K3, or Vista yet, though I won't be surprised there are problems there as well. A vanilla unmodified XP installation will contain a number of font registration inconsistencies after setup. You can verify this by observing the changes made to the registry when you open up the Fonts folder in Control Panel for the very first time.
The latest version of FontReg is available here.
It is available in both 32-bit and 64-bit (amd64) flavors. The source code is included. I have personally tested this only on XPSP3, although it should work for any version of Windows (Win2K or newer). If you do encounter a problem (esp. if it's a system that I hadn't tested), please let me know!
Usage - Font Installation
If you want to use FontReg.exe as a font installation replacement for fontinst.exe, simply run FontReg.exe with the /copy or /move switch. FontReg will install all .fon, .ttf, .ttc, and .otf files located in the current directory (which may or may not be the directory of the FontReg.exe file--you should be okay if you are installing fonts from a switchless installer, which is probably the most common use case for font installs). Unlike fontinst.exe, there is no need for an .inf file listing the fonts to install.
Use the /copy switch to copy the fonts to the Fonts folder (similar to fontinst.exe behavior), and use the /move switch to move the fonts to the Fonts folder. /move is much faster than copy (if the source location is on the same partition as the Fonts folder), so if you don't care about preserving a copy of the fonts in the source location (which would be the case if you are using FontReg in a switchless installer), then you'll probably want to use the faster /move.
If you run FontReg with the /copy or /move install switch, FontReg will also perform a scan of the font registration and repair any consistencies.
Fonts installed by FontReg are available for use by other applications immediately after install.
To make a switchless font installation pack, you can refer to this tutorial. (Although the tutorial is for WinRAR, you can do this with 7-Zip as well--in fact, I personally prefer 7-Zip. There are various resources on making 7-Zip sfx packages on this forum.)
Usage - Font Repair
Just run FontReg.exe without any command line switches to repair any inconsistencies in the font registration. If you already ran FontReg with the /copy or /move switch to install fonts, there is no need to run FontReg again for registration repair since FontReg already did a registration repair right after the install operation.
To make a font registration repair a standard part of Windows setup, you have these options:
Option 1: Add FontReg.exe to SetupHotfixesToRun (svcpack.inf) (you can add FontReg as a "switchless installer" with the Integrator or nLite)
Option 2: Add FontReg.exe to cmdlines.txt
Option 3: Add FontReg.exe to SetupParams
Option 4: Add FontReg.exe to RunOnce/RunOnceEx through GuiRunOnce or other means
And yes, you can use FontReg to "complete" manual font installations (i.e., if you manually copied the fonts to the Fonts folder, you still can use FontReg as a way to register them).