Antigrav Toolkit Notebook
by Randy Winchester

The Big PostScript Breakthrough

Most of the questions I get asked about this column have something to do with PostScript: how GEOS produces PostScript, how to save PostScript files, and how to print PostScript files on a laser printer. One frequently asked question is, "When is someone going to make a version of geoLaser that prints to a disk file?"

Up until a couple of weeks ago, I would laser print my GEOS documents by having geoPublaser send its PostScript output over a modem to another computer. Wonderful, but admittedly, this is a klunky process. It requires a second computer and a modem that won't hang up if you bail out of a terminal program to run geoPublaser. You'll need both computers in the same room, or you'll have to recruit someone with a computer and modem to receive your file. These complications make the question of a PostScript to disk program even more urgent.

Fortunately, questions like this don't go unanswered for long. Jim Collette is a talented geoprogrammer, a winner in BSW's programming contest with his Font Editor. Prompted by some talk on QLink, he turned his attention to geoLaser/Publaser.

Jim wanted to save PostScript files to disk too. He tore into geoLaser and geoPublaser, changed some bytes here and there, and now they will send their output to a file.

Jim put these changes into a GEOS application, PS.Patch. PS.Patch can alter your copies of geoLaser and geoPublaser to make them produce PostScript files on a disk.

PS.Patch is simple to use. Start with a blank disk and copy geoLaser, geoPublaser, and PS.Patch to it. Double click on PS.Patch and select geoLaser or Publaser from the patch menu, then select either PS on Drive 8 or PS on Drive 9. geoLaser/Publaser will always make PostScript files on the drive you select when you patch them. It's a good idea to rename the patched copies of geoLaser/Publaser so you won't confuse them with the originals.

The new versions of geoLaser/Publaser work pretty much the same as the old versions. To use the new geoLaser/Publaser, copy it to a drive along with the files to print and any fonts they use. The PostScript files will be written to the drive selected during patching. Put a blank disk in that drive. Double click on the geoLaser/Publaser icon, select 9600 baud, then select a file to print. You'll then see choices for scaling and multiple copies. Click on the boxes you want, then click OK. The disk in the drive should start spinning. When the file selection menu reappears and the disk drive stops, you're finished. (If you use a RAM drive it'll be over before you know it!) Check the disk directory. Your PostScript file will be a SEQuential file named "PS." followed by the name of the file you printed.

Caution: there are several incompatible versions of geoPublish and geoPublaser. My first attempt at patching a Publaser dated 11/19/87 ended with badly botched results. A report from one user is that the Publaser dated 3/10/88 is entirely useless. For this article, I'm using a Publish dated 10/4/88 along with a special release of Publaser that originally had a date of 1986! To top things off, all these versions of Publish and Publaser are V 1.0! Anyway, to distinguish the supposedly good Publaser, look for the words Only for use w/Pub files created w/vers. 10/88 or later (our v. 1.2) in the info box. Wouldn't it be nice if some kind soul at BSW took the time to clear this up?

A pointer: avoid bitmapped fonts in your laser printed documents. Try to stick with the Laser Writer fonts, such as LW_Roma. Documents with bitmapped fonts are converted to PostScript as bitmaps. These bitmaps can get pretty big. On the other hand, text written with LW fonts is converted to PostScript as text. Not only will the files be smaller, but LW fonts look much sharper.

This pointer also applies for pictures pasted into geoWrite and geoPublish documents. The more pictures you use, the longer it will take to generate a PostScript file, and the larger that file will be.

What's It Good For?

For one thing, if you know of a printing company that does laser printing and can read Commodore disks, you're all set. All you have to do is put your PostScript files on a disk and hand it over.

Unfortunately, most printing companies don't use Commodores, but many do use IBM gear. If you have a Commodore 128 with a 1571 disk drive, you can use the public domain Cross Link to copy PostScript files to an IBM disk. If you're going to be doing much file copying to IBM disks, I recommend The Big Blue Reader.

Telecommunications is another possibility for getting PostScript files to a printer. Check with print shops to see if they offer a modem service. If they do, use a terminal program to upload files to them.

Printing PostScript Files

If you're using an Apple LaserWriter, you'll need to connect it to a computer with an RS-232 cable. If you're hooking up a Commodore to the LaserWriter, you'll need to use an RS-232 interface, such as the Omnitronix Deluxe RS-232 interface. The Apple Macintosh, another exception, uses a special cable to hook up to a LaserWriter.

Most terminal software can be used to print PostScipt files. I have used CBTerm on the C64 and UltraTerm on the C128. Set the parameters for 1200 baud, 8 bit characters, no parity, and half duplex. To send a PostScript file to the laser printer, use a Text, or ASCII transfer, or load the PostScript file into the terminal's buffer and transmit the buffer. A common problem with Commodore terminal software is that it might try to convert the file from PETASCII to ASCII. PostScript files are already ASCII. Never select ASCII conversion when printing PostScript from a Commodore terminal program.

IBM and Apple computers also use terminal software to print PostScript files. The communications settings and process are the same as for the Commodore. Additionally, SendPS is a free application for the Macintosh specifically for printing PostScript files.

The Truly Fascinating Part

PostScript files can be edited to add special effects, special characters that can't be typed from the keyboard \345like these arrows\353, or things that geoPublish can't do, such as rotate text. If you caught this column last time, you already know that PostScript fonts have almost twice as many characters as can be typed from the keyboard. The only way to get them into a GEOS document is by editing the PostScript output.

PostScript's versatility comes at a high cost. A PostScript file for this entire article would be unbearably tedious to write from scratch. It makes good sense to do as much work as possible with geoPublish, generate a PostScript file, then edit the PostScript file to add special effects.

Being faced for the first time with PostScript files on a Commodore disk, I was at a real loss as how to edit them. PostScript files can get enormous; 20 to 40K is common. A PostScript file editor for the 64 would have to edit a) true ASCII files, and b) any size file, even larger than can fit in memory. It would also be an advantage if people could easily get copies of this program so they could try out the exercises in these articles. I agonized about this until I realized I already had an editor that fit the bill.

geoWrite is almost a perfect PostScript file editor. geoWrite can edit large files by swapping pages to disk. I estimate that at 3.5K per page, geoWrite can handle files larger than 200K. I sincerely hope you never have a file that big. The problem with geoWrite is that it can't directly read ASCII files.

The solution is Storm System's Wrong Is Write. Use this amazing little utility to convert your PostScript files to geoWrite, then use it again to convert them back to ASCII. Public domain versions of Wrong Is Write are available on telecommunications networks and BBSs. Storm Systems will soon release a version 8.0 that will run with GEOS 128 V2.0 in 80 columns.

So, that's the new good news. PostScript is now a completely natural part of GEOS. PostScript files can be created directly with geoLaser/Publaser, converted with Wrong Is Write, and edited with geoWrite. The forces of the universe are now in harmony. What more could we want?

I enjoy your mail. If you have any questions or comments, please write.

Randy Winchester
P.O. Box 426074
Cambridge, MA 02142

Return to AntiGrav GEOS Page