WordPerfect includes its own font rasterizer, which it uses both for printing and for displaying fonts on the screen. The program also includes its own selection of Type 1 fonts. Unfortunately, many people find WordPerfect for Linux's font handling to be inferior to that in Windows. There are a number of reasons for this, which are described here, with illustrative screen shots of text in Times, Helvetica, and Courier.
Here is a sample of WordPerfect's 8.0's font display as delivered. My system was configured for a 1024x768 display, using XFree86 3.3.2 and the downloaded version of WordPerfect 8.0.
Here is the same text as rendered in Windows 98 by WordPerfect for Windows. I've changed the fonts to use Times New Roman, Arial, and Courier New (the Windows standard fonts).
It should be obvious that the Windows text is clearer than the Linux text. One reason for this is that the Windows text is larger, so there are more pixels per character. I'll come back to this in a while. In general, two other reasons why text can look bad are a poor font and a poor font rasterizer. As WordPerfect's rasterizer is built in, there's nothing that can be done about that; however, the font files themselves are another matter.
Before going further, though, let's see what can be done in Linux and XFree86. Here's the same text as rendered by the xfsft font server and Microsoft's free TrueType fonts, using ApplixWare:
(Compare this to the original display.)
This text is only marginally larger than the original WordPerfect for Linux text, but it's much more legible. Why? A lot of it has to do with TrueType vs. Type 1 fonts. TrueType includes more and better means of "hinting" a font -- that is, telling the software that renders the font how to handle the font at low resolutions. The xfsft font server handles the TrueType hinting quite well, so any font that uses this hinting benefits greatly under xfsft (or under Windows or MacOS). Many TrueType fonts do not include good hinting, though, and they'll look poor with xfsft (or in any other environment). Microsoft's core TrueType fonts are very well hinted, and so when used with xfsft, they look very good. (This wasn't always the case; early Microsoft TrueType fonts were much cruder than those Microsoft makes available today.)
Type 1 fonts can also include hinting, but it's not as extensive, which may hurt legibility at screen resolutions. (At printer resolutions, hinting is much less important.) How can we improve WordPerfect's text appearance, ideally to the same level as that displayed by Applix with xfsft? We can't switch to xfsft and TrueType fonts, since WordPerfect doesn't support this. We can, however, change fonts, and just as TrueType fonts vary in their use of hinting, so do Type 1 fonts, and it turns out that the fonts provided with WordPerfect for Linux aren't the best.
WordPerfect's standard fonts are located in the shlib10 directory of the WordPerfect installation. These are the files that are of interest:
wpro____.pfb Times (aka Roman-WP) wproi___.pfb Times Italic (aka Roman-WP Italic) wprob___.pfb Times Bold (aka Roman-WP Bold) wprobi__.pfb Times Bold-Italic (aka Roman-WP Bold-Italic) wphv____.pfb Helvetica (aka Helve-WP) wphvi___.pfb Helvetica Italic (aka Helve-WP Italic) wphvb___.pfb Helvetica Bold (aka Helve-WP Bold) wphvbi__.pfb Helvetica Bold-Italic (aka Helve-WP Bold-Italic) wpco____.pfb Courier (aka WP-Courier) wpcoi___.pfb Courier Italic (aka WP-Courier Italic) wpcob___.pfb Courier Bold (aka WP-Courier Bold) wpcobi__.pfb Courier Bold-Italic (aka WP-Courier Bold-Italic)
These fonts may also be known under other names when specific printer drivers are loaded; for instance, the Helvetica fonts are used on-screen when Arial is selected for a PCL printer. You may also want to look into replacing other on-screen fonts. Try using the Linux grep command to locate the fonts that are of interest. Use grep on the .afm files only, to reduce the amount of gibberish that's returned from binary files.
Basically, all you need to do is to replace these files with other files that contain equivalent fonts. For instance, you can use the font files that come with Ghostscript or OS/2. The safest way to do this is to back up the existing file and then copy the new one in its place; for instance:
mv wpro____.pfb wpro____-orig.pfb cp /usr/share/ghostscript/fonts/n021003l.pfb wpro____.pfb
The above will replace the main Times font with the one that comes with Ghostscript, assuming Ghostscript is located in /usr/share/ghostscript. (You can use the Ghostscript Fontmap file to locate the specific fonts you need from Ghostscript, if you wish to try this). If you like, you can use symbolic links instead of copying the font file.
What does this gain? Here are the results of using Ghostscript's fonts and those that come with OS/2 Warp 4.0 in place of those shipped with WordPerfect. First, Ghostscript's fonts:
(Compare this to the original display.)
In my opinion, Times isn't improved much by this substitution, but Helvetica benefits substantially and Courier benefits somewhat less. In general, the Ghostscript fonts are more even in height than are their WordPerfect counterparts, but the Ghostscript Times bold-italic doesn't look any bolder than the italic version (a flaw shared by the WordPerfect font at this size), and some of the Courier bold letters in both implementations are rather too dense.
Here is the exact same text as rendered after replacing WordPerfect's fonts with the fonts that come with OS/2 Warp 4.0:
(Compare this to the original display.)
OS/2's Times bold-italic is at least recognizably bold, but the other fonts are about on a par with those from Ghostscript, in my opinion.
So, overall, replacing the font files can help a bit in terms of legibility, but this won't bring the text up to the level of even ApplixWare using xfsft-delivered fonts. What more can be done?
One of the more obvious differences between WordPerfect for Linux and WordPerfect for Windows was that the latter produced far larger fonts than the former. This was presumably the effect of the programs making different assumptions about screen size, and of course somebody else's system might be configured differently, thus producing different effects. Still, it's only fair to compare fonts of the same size. In WordPerfect, on-screen font size can be manipulated without affecting the size of fonts on paper by selecting the View -> Zoom menu item and adjusting the zoom factor. For my system, 120% brought the Linux and Windows displays into rough parity. Here's the result of doing this and leaving the default WordPerfect fonts in place:
(Compare this to the original display or the Windows display.)
This improves legibility substantially -- more than a font change, in fact. There's still some unevenness in character heights, though (note particularly the "v" in Helvetica Bold and the "n" in Courier Bold), and a few characters might be rendered a bit more clearly.
How about combining efforts? Here's the result of rendering the OS/2 fonts at 120%:
(Compare this to the original display, the WordPerfect 120% display, the OS/2 100% display, or the Windows display.)
This begins to approach the quality of the Windows rendering, in my opinion, though there are a few characters here and there which might be improved.
Just for kicks, here's Applix's handling of the text at 120% using xfsft and Microsoft's TrueType fonts:
(Compare this to the Windows display or the OS/2 120% display.)
This may even be a bit better than Windows' rendering of the same fonts, though not by much. (Check out the "s" in the Courier bold-italic, for instance.) These differences could be due to subtle differences in the font sizes, though, so I don't read much into them.
Font quality is a function of the font rasterizer, the font files, and the size of the rendered font. In WordPerfect for Linux, the user has no control over the first factor, but the second and third can be changed.
If you want to find Type 1 fonts to replace the standard set and are not satisfied with those that come with Ghostscript, try looking for a copy of Adobe Type Manager (ATM) for Windows. You can probably find an older version in a closeout bin somewhere. This will come with Times, Helvetica, and Courier. Font collections from major font vendors, such as Bitstream or Adobe, may also have suitable replacement fonts. Also, check with the manufacturer of your printer; they may have these standard fonts available in Type 1 format. Note that not all fonts will be completely equivalent; some font files may lack certain characters, for instance, which may produce unpredictable results when you try to display or print text which contains special symbols or other effects.
If you change your standard fonts in this way, you will also change the fonts you get when you print. At typical printer resolutions, you aren't likely to notice the difference, but you might, especially if the font you're using has an oblique rather than an italic variant or if it's missing certain important characters. This will only affect you if you select the font as a screen font; if you select a printer font, it will display on screen using your modified font but will print using the printer's (or Ghostscript's) font.
Note that these same principles apply to fonts that you add, as well. You can easily find several implementations of common fonts like Benguiat, Optima, and others, and one may look far better on the screen than another. In this case, it's simply a matter of installing one rather than another, unless you need to keep names in line with another system (in which case editing the .afm files prior to installation may be a simpler means of accomplishing the goal). Increasing the display size is certainly one means of producing better-looking text no matter what font you're using.
Copyright © 1998, 1999 by Rod Smith, firstname.lastname@example.org