WordPerfect's Font Handling

Actually installing fonts in WordPerfect for Linux isn't very difficult. What can be difficult, especially with WordPerfect 7, is configuring the font mapping so that you can use bold, italic, and bold-italic versions of the fonts you install. To install fonts, you will need to be root. There are two ways to do the installation; either use the shbin10/xwpfi utility, or launch WordPerfect with the -adm switch and then select any of a number of menu sequences to get you into the font installation utility. One such sequence is "Format-> Font" (or hitting the < F9> key) and then pressing the "Install Fonts" button. If you wish to install soft fonts, be sure the printer for which you wish to install them is the current printer before entering the font installation utility. (If you use the xwpfi program instead, you'll be asked to select the printer to which to install the soft fonts).

As I've mentioned on the problems page, the version of WordPerfect 8 that's available for download does not include the xwpfi install program. As this program is how the main binary installs fonts, this means that there's no way to install fonts in this free version of WordPerfect, unless you use the xwpfi binary from an earlier version of WordPerfect, or upgrade to a commercial release of WordPerfect 8.

Prior to installing fonts, you should copy the font files, or create links to the font files, to the shlib10 directory. WordPerfect requires both .pfb and .afm files to install a Type 1 font.

If you're looking for fonts for use with WordPerfect, check the recommendations section, which includes notes about and links to various font sources.

Installing graphics fonts

Graphics fonts are necessary to display a font on the screen. They can also be used to print to most printers (as far as I know, only daisywheel printers can't use graphics fonts). The printing of graphics fonts is accomplished by WordPerfect rasterizing the font into a bitmap and then either printing the entire page as a huge graphic or by downloading the bitmap font to the printer. In either case, graphics fonts will print at whatever resolution WordPerfect believes the printer can handle.

When the font list comes up, all the fonts will be selected. You should either de-select all the items (there's a button to do this) and then select the ones you want, or de-select only those fonts you don't want. Then click on the "install" button and it will be done. Installing graphics fonts doesn't actually copy any files; rather, it creates entries in the shlib10/wp.drs file reflecting the availability of the fonts. This file will also be altered when you correct the AFC map for the fonts, so I recommend backing up this file after doing this correction. This can save considerable time if WordPerfect "helpfully" does an auto-regeneration of your AFC maps for some reason.

Installing soft fonts

I've installed Type 1 fonts as PostScript soft fonts, but I've not done anything with PCL soft fonts for PCL printers. I therefore can't give much advice on installing PCL fonts.

The installation of soft fonts is done in much the same way as with graphics fonts. If you want to be able to see the font you're installing on the screen as well as on the printed page, though, you'll need to install the same font as a graphics font.

Type 1 soft fonts will print at whatever resolution the printer can handle. Thus, if you're printing to a 600 dpi PostScript printer, soft fonts will print at 600 dpi, even if you're using a 300 dpi PostScript driver. (Assuming the WordPerfect driver doesn't include resolution-switching code that the printer recognizes and obeys. The low-end 300 dpi drivers I've tried don't include such code.)

As with graphics fonts, installing soft fonts doesn't copy any font files, as far as I know. The contents of the .all and .prs files associated with the printer in question do change, however. These files will also change when the font maps are corrected. I therefore recommend backing these files up after correcting the font maps for your soft fonts.

Correcting the AFC font maps

Fonts frequently come in families. A family of fonts is a set of related fonts that may be used together. For instance, a font may have variants for italic and boldface type; these are actually separate fonts, and come in multiple files. Typically, when you're using a font (say, FooBar) and select certain attributes (namely, italic, boldface, or the combination of the two), you want to use variant fonts of the same family as FooBar -- FooBar italic, FooBar bold, etc. If these variants aren't installed, ideally the word processor will find some way to fake it. If they are installed, you want them to be used where appropriate. This is why WordPerfect's "automatic font change" ("AFC") feature exists -- to tell the program when to use variant fonts. Unfortunately, WordPerfect 7 frequently gets this wrong, though WordPerfect 8 is much better at this task. It is possible for you to intervene in this matter and correct WordPerfect's mistakes, however. As with installing the fonts initially, this task should be performed as root.

To do this, you need to get into the AFC mapping utility. One way to do this is via the font dialog: "Format-> Font" from the main menu, for instance, and then hit the "Font Map" button. One of the main reasons to do this is to map different font styles, so you probably want to click the "Map Individual Styles" button in the "Printer Font" area of the dialog. Then, select a font in the "Printer Font" area. In the "Automatic Font Change" area, select an interesting attribute, such as "Italics." If the font you selected was one you installed, and if WordPerfect is true to form, there's a good chance that the font entry displayed in the "Italics Font" area (which changes name with the attribute you select) will bear little resemblance to what it should be. For instance, if you selected FooBar italic, the italics font may be listed as Times italic. You must change this. First change the "Face" to the appropriate font. This will likely change the "Style" to "Regular," so you'll then have to change this, as well.

You'll have to repeat this process for every font you've installed, be it a graphics or a soft font. In my experience, the "Bold" and "Italics" attributes are set incorrectly about half the time with WordPerfect 7, while other attributes are always OK. The combination of bold and italic is created by chaining the font changes. For instance, WordPerfect uses the AFC mapping to find the bold variant, then looks up that font's AFC mapping to find the italic version of the bold font. Thus, you should check and, if necessary, change, the mapping of the bold and italic variants of the fonts, as selected in the "Printer Font" area. If you have multiple printer drivers installed, you'll have to repeat this process for each printer driver's soft fonts, but the graphics fonts should stay the same from printer to printer.

Having to perform this operation for every installed font is bad. What's worse is the fact that you'll have to do it again for every font when you add or delete any font. (Again, this problem afflicts WordPerfect 7 but not version 8.) So if you install, say, 100 fonts, you'll have to check and correct all 100 fonts if you add just one font. I therefore recommend installing all your fonts at once, and don't change them unless you really really need to.

Some font families don't use the most common names for attributes. For instance, "oblique" fonts are often used where italics are, but font families that use the term "oblique" rather than "italic" aren't always mapped correctly by WordPerfect. Specifically, the standard, bold, and oblique versions of such a font will appear under one name (say, "FooBar"), but the bold-oblique variant will get another name ("FooBar-", in this case). If you configure the AFC correctly, you can still get FooBar bold-italic; you just need to map the bold attribute on FooBar Italic to FooBar- bold-italic, and the italic attribute of FooBar Bold to the same. For some reason, WordPerfect does something similar with fonts from Southern Software: The main font ("FooBar", say) gets one entry, while the bold, italic, and bold-italic variants are all listed under "FooBar-". Similarly, some fonts may use "black" rather than "bold" or have other naming oddities, and such fonts are likely to appear twice in your font menus, though usually as "FooBar" and "FooBar Black" (or whatever the case may be). It's usually possible to set up the AFC map to get reasonable results with one of these fonts; if you select one font, you can use attributes and get the expected results; and if you select the other font, it'll have some attributes applied by default.

Remember to back up the wp.drs file, as well as the .all and .prs file(s) associated with your printer(s), after changing the font mapping. This precaution can save you a lot of time if WordPerfect decides to regenerate the font mapping for some reason.


Go on to the combination character macro section
Go back to the WordPerfect fonts and printing main page.

Copyright © 1998, 1999 by Rod Smith, rodsmith@rodsbooks.com