Printer's Apprentice 8.1 Documentation


Using Printer's Apprentice to install fonts is easier than the Windows Control Panel. Printer's Apprentice lets you browse your drives and preview the fonts before installing them. This is very helpful when you are searching through a stack of CDs for a particular style of font for a project.

Browsing the File System

To start installing fonts, you first need to locate them on your computer. The Font Files tab uses a drive & folder tree for navigating your PC. This is very similar to the one used by Windows Explorer.

When you click on a folder, Printer's Apprentice will read all the TrueType, OpenType and Adobe Type 1 fonts located in that folder. If the folder contains many files, then a status window may open showing you the progress of the read operation. The fonts in the folder are listed below the folder tree.


To look at a font, simply click on the font name. The font will then appear on the right under the Font Viewing Tabs.

Please note: Adobe Type 1 fonts have two files, a PFM and a PFB file. To preview and install Adobe Type 1 fonts, the PFM and PFB files need to be located in the same folder.

Installing Your Fonts

After you locate one or more fonts to install, select them by clicking the checkbox next to each font. Then select Install Fonts from the File menu. You can also click the Install Fonts button on the Toolbar. The Install Fonts dialog box will open and list the fonts to be installed.


The Install Fonts dialog has two tabs. The "Fonts To Install" tab lists the selected font names, the source font file, the file size and the entry that will be added to the Windows Registry. (The Fonts section of the Registry tells which fonts should be installed the next time Windows is restarted.) A summary of the install operation is also displayed below the font list.

The Options tab lets you specify where the fonts will be copied to before they are are installed. Each of the settings is described below.

Copy font files to the Windows Fonts folder - Printer's Apprentice will copy your fonts to the Windows Fonts folder, then install the fonts. This folder is typically c:\windows\fonts. This option is recommended and mimics how the Windows Fonts Control panel works.

Copy font files to a different folder - Printer's Apprentice will copy your fonts to a folder you specify, then install the fonts. You might want to use this option if you like to keep all the graphics and fonts for a particular project together in one folder.

For example, perhaps you have a project named "SummerNewsletter" stored in c:\documents\summernewsletter and you want to make sure that the fonts used for the newsletter are stored with the project in that folder. So you click the Folder... button and select the project folder. Printer's Apprentice will copy the fonts to that folder, then install the fonts. They are now ready to be used with the project.

Leave fonts where they are - When this option is selected, Printer's Apprentice will not copy the font files. They will simply be installed. You might use this option if your fonts are already organized into folders by project (or some other method).

If the source folder is removable media such as a CD or flash drive, this option is not recommended.

If you change one of the font destination options, the Registry entry column on the Fonts To Install tab will change to reflect this.

The Options tab also has checkboxes to "Create a log file" and "Show log file when finished". If Printer's Apprentice is having difficulty installing fonts, these may be used to help diagnose the problem. When the "Create log file" option is enabled, Printer's Apprentice will create a very detailed list of the actions taken to install the fonts. This can then be sent to the software developer for analysis. The log files are stored in the c:\documents and settings\username\Application Data\Printer's Apprentice\log folder. You can browse this folder by selecting Printer's Apprentice Log Folder from the Help menu.

When you are satisfied with the options (there are not many options to set!), click the Install Fonts button. Printer's Apprentice will copy the font files if necessary and install the fonts. The new fonts will be listed on the Installed Fonts tab in Printer's Apprentice. They will also be available for use in your Windows applications.

Behind the Scenes

After you click the Install Fonts button, Printer's Apprentice runs through the steps needed to make the font available to Windows and other applications. The steps are essentially the same as those performed by the Windows Control Panel Fonts tool. But Printer's Apprentice provides more tools to make selecting the fonts easier.

Here is what happens after you click the Install Fonts buttons.

  1. If either of the "Copy font files" options are selected, then Printer's Apprentice copies the file to the destination folder. There is, of course, code in place to confirm file overwrites, check for copy failure, etc.
  2. Printer's Apprentice then adds the font to the Windows Registry. The Registry entries tell Windows what fonts should be installed the next time Windows boots up. The font lists are stored in the following sections:

    TrueType and OpenType Fonts
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts (shown below)

    Type One Fonts
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Type 1 Installer\Type 1 Fonts

    Each font is stored in a separate key. The "name" portion of the key stores the font name and the data portion stores the font file name. If the font file is located in the c:\windows\fonts folder, then the filename is stored without a path. If the font file is located in another folder, then the filename will contain the full path to the font file.
  3. Finally, the font file is actually "installed" into Windows through a call to the Win32 API AddFontResource() function. Additionally, a WM_FONTCHANGE message is sent to other open applications to let them know that a new font is available. It is up to the applications to then do what they need to do to make that font available. For example, they might call the EnumFontFamilies() function to refresh the font list in their user interface.