TUGboat, Volume 10 (1989), No. 3

which Postscript can scale to the point size you Typesetting request.* A PostScript laser interprets the outline on the fly as it processes a document and on Personal Computers scales the outlines up or down to get different point sizes. Each character in a bitmapped contains --Postscript output the specific pattern of pixels required to generate on non-Postscript devices that character at that size at a particular resolu- Alan Hoenig and Mitch Pfeffer tion. are bitmapped, and the ramified directory structure on a PC to contain PostScript technology provides an alternative way to them all is necessary for keeping track of files for place typographic elements on a page. Newcomers generating fonts at different design sizes and differ- to PostScript might feel that it and are ent magnifications. When used in TEX documents, direct competitors, but they have little territory bitmapped fonts can be previewed, whereas outline in common. For several reasons, you might want fonts cannot! to translate a rn dvi file into Postscript format, and several DVI-to-Postscript device drivers (for PostScript Interpreters the PC) exist for this purpose. (PostScript drivers also exist for the Amiga and, of course, for the You may choose between two programs that take Macintosh.) the PostScript outline descriptions and transform There are advantages to a PostScript way of them to bitmapped descriptions with which the life. Hundreds of PostScript fonts exist, and several LaserJet (or various other printers) feel comfortable. hundred service bureaus exist to render your Post- (Remember, though, you won't be able to preview.) Script files on their phototypesetters to generate These are: true typeset-quality output. (A directory listing Goscript, by LaserGo Inc., 9235 Trade Place, the more than 650 such bureaus in the United Suite A, San Diego, CA 92126; (800) 451-0088. States is available from Ms. Jean Miller, Electronic List price is $195, and it requires 640K RAM, Publishing & Printing, Dept. SBD, 29 N. Wacker 1MB hard disk space, DOS3.0 or greater; not Drive, Chicago, IL 60606, for $7.50. Request copy protected. (One or more megabytes of the 2nd Annual Service Bureau Directory.) Yet EMS memory is recommended.) this convenience has a price; Postscript-compatible Freedom of Press, by Custom Applications Inc., equipment costs substantially more than non-Post- 5 Middlesex Technology Center, Billerica, MA Script equipment. (I also believe that PostScript 01821; (508) 667-8585. The list price is $495, service bureaus charge more than do rn output and this program requires 535K RAM, 4MB services.) A PostScript Apple Laserwriter printer hard disk space, DOS2.1 or greater, and 512K costs several times the non-Postscript Hewlett- or more of EMS memory. (The company Packard LaserJet I1 printer. recommends a numeric coprocessor if you plan Several software bridges exist for generating to do extensive graphic work.) PostScript output on a LaserJet (and selected dot Note Freedom of Press's special needs - it requires matrix printers), and I wondered how useful they EMS (expanded) memory. (Be aware, though, that would be for doing work. As it turns out, w several utilities exist which will make your extended these programs are effective, but are very slow. memory act as if it were expanded memory. This Depending on your tolerance for pokey output, strategy works fine.) these programs may elicit rapture from those who Both programs work essentially the same way. crave font variety (but only modified rapture, as the They are easy to install. At the DOS prompt, enter PostScript fonts don't do math without substantial the program name followed by any nonstandard additional work). PostScript fonts, followed by the name of your file. The name of your file must be complete; don't Bitmapped versus Outline neglect the file extension if it exists! All interpreters, It's important to understand the difference be- so far as I could tell, adequately rendered PostScript tween outline fonts and bitmapped fonts. Normal Postscript fonts are outline fonts -Postscript spec- * Editor's note: This is roughly equivalent to ifications determine the outline of each character TEX magnification, whereas the Computer Modern fonts have different shapes for different sizes. r TUGboat, Volume 10 (1989), No. 3 This is . This is Gill Sans Bold. This is Computer Modern Roman. This is Gill Sans. This is Gill Sans Bold. This is Computer Modern Roman.

Fig. 1. Gill Sans at 30pt, together with cmr10. GoScript (top), Freedom of Press (bottom). graphics on the LaserJet, the printer I used in these either directly on a Postscript printer or indirectly, experiments. (A nonstandard font is any font not if you use one of these interpreters to print the file normally resident in a Postscript printer.) onto a LaserJet. Both programs are slow. I prepared a test But note that before you may use your DVI-to- document consisting of the abstract to Don Knuth's Postscript converter, you will probably have make article "Mathematical Typography" and set entirely an entry into some auxiliary file. For pt ips, this in 12 point (a Postscript font). GoScript file is font. sub. PostScript fonts typically own required about four minutes, while Freedom of Press lengthy names, such as MGillSans-Bold. Because took 38 minutes! of the DOS limitation on the length of file names, Print quality is clearly superior with Freedom. you cannot name this file with the same name. The In large letters, curves were properly sinuous and outline file for this file might be called gilb.psf, bitmapped characters in the document appeared and the auxiliary file contains the data which as they should. Large curves came out vaguely matches the file gilb to the font MGillSans-Bold. polygonal with GoScript, and bitmapped characters (Check your documentation carefully.) appeared much heavier and muddier than they should have been. (See Figure 1.) But GoScript is Calling PostScript Fonts in Your T'@ cheaper, faster, and does not require special EMS Document memory. If you use your laser printer strictly as You set your font calls for PostScript fonts almost a proofing device, and plan to print your files on the way you do for Computer Modern fonts. The a phototypesetter, you may find GoScript output tfm file must be with your other tfm files, and acceptable. The customer service representatives of the outline font file must be somewhere where the both companies get high marks for courtesy and interpreter knows to find it. It's a good idea to helpfulness. keep all outline font files together in one hard-disk Of course, to use these programs with you m, directory. In your source file, you might have a need to translate your 'QX output to PostScript TEX statement like \f ont\gilbf =gilb at 30 pt, form. DVI-to-Postscript converters are available and thereafter you switch to this font with the from several sources. Nelson Beebe has prepared command \gilbf. (Don't forget also the change to a public domain version (available from several the font substitution file so the DVI-to-Postscript sources; Jon Radel is one such. For information on converter can make the equivalence between the Jon's offerings, send a SASE to him at POB 2276, font file and the font name.) Reston, VA 22090, USA). Commercial versions can Both interpreters boast that they can duplicate be furnished by ArborText and by Personal m. some subset or superset of the standard complement For this article, I used the Personal TEX ptips of resident fonts in a true Postscript laser printer. converter. These lookalike fonts are inaccessible to TEX users, Conversion to PostScript form adds another as they do not come with font metric information. step in the TEX life cycle. Rather than run the dvi If you want a PostScript Times Roman (one of the file through the device driver, you must first convert standard resident fonts), you will have to purchase the dvi file through the DVI-Postscript converter it separately. Both converter programs know where to create a ps file. It is this ps file that gets printed, TUGboat, Volume 10 (1989)' No. 3 375 to find your bitmapped fonts, but you will have This is a test of 12 point Dutch (Times Ro- to tell them where the outline files reside. Your man) rendered by a Varityper VT-600 type- GoScript command line might look like this: setter with a resolution of 600dpi. This font, gs \psfonts\bodoni.pfa rnyfi1e.p~ however, has been created at 300dpi. A B C assuming the Bodoni face is contained in the file DEFGHIJKLMNOPQRSTUVW bodoni .pfa in the directory \psfonts. Each font XYZabcdefghijklmnopqrstuv needs a separate mention on the command line and wxyz1234567890 there is no way to continue an invocation. Therefore, you won't be able to include too many Postscript fonts in a file you interpret with GoScript. Freedom Fig. 2. Varityper PostScript output of Press requires the same mention in its command combined with cmr10. line, but it's smart enough to understand DOS wild cards. This is acceptable: rn, Postscript users do not share a generally fp! \psfonts\*.pfa myfi1e.p~ agreed upon standard such as plain. tex, so many DVI-to-Postscript converters create and use their own macro definitions for the ps file. You will need Bitmapped Fonts in PostScript Output to convey this file to the service bureau as well, for DVI-to-Postscript converters make it easy to com- otherwise those macros will be meaningless to the bine bitmapped fonts, such as Computer Modern or Postscript interpreter. For example, the ArborText Bitstream fonts (rendered with Fontware software), driver relies on a file called ps1oad.p~ whereas with PostScript outline fonts - the ps file that your Personal w's ptips seems to incorporate an DVI-to-Postscript creates explicitly contains the in- equivalent body of macros into your ps file, so you structions for each bit-mapped character. Too many needn't worry about porting anything additional to bit-mapped characters can really swell your ps file. the service bureau. When you use PostScript interpreters to render Everyone knows that one of Postscript's strong your file, you normally have to tell these programs points is graphics. The PostScript language includes where to find information about each non-standard a great facility for generating graphic images. Al- outline font (that is, those fonts that are not nor- though this facility is greater than anything w mally resident in a Postscript printer). Interpreters can do, it is (in my opinion) much less sophisticated render bit-mapped files properly without needing to than . Nevertheless, should you desire be told where to find them. to include a graphic image into a 7&X document, If you use bit-mapped fonts, your PostScript you can do so with your DVI-Postscript driver. file is no longer device independent. You doubtless With ptips, for example, you create the image and have fonts on your computer appropriate to your store it in a separate file. When preparing your output device. I use a laser printer, so my source file, leave a hook for this file by including Computer Modern font files are appropriate to the command \special(: (filename)). It's the job 300dpi printers. But these are not right for your of ptips to incorporate the graphic into the doc- service bureau, whose phototypesetters are capable ument. Bear in mind that \special leaves no of much greater resolution. Before you ship your file extra space for the graphic, so if (for example) the to a service bureau, re-compile it making sure that graphic is 8 centimeters tall, you should precede rn uses fonts appropriate to the resolution of the your \special command with a \vskip 8 cm, or phototypesetter. See figure 2 to see what happens something similar. when a ps file in which are embedded 300 dpi fonts is printed on a 600 dpi device (Varityper VT600). o Alan Hoenig 17 Bay Avenue Phototypeset Output Huntington, NY 11743 516-385-0736 In theory, your ps file is ready for rendering on a o Mitch Pfeffer phototypesetter, but in fact there are some things Suite 90 to watch out for. Foremost, make sure that your 148 Harbor View South service bureau has the same fonts you used, and Lawrence, NY 11559 that they are from the same digital foundry! But 516-239-4110 another problem has its roots in the fact that PostScript, like W, is a macro language. Unlike