laser-lovers@uw-beaver (03/22/85)
From: Brian Reid <reid@Cascade> In my previous message, I explained that we bought a Transcript site-wide source license for Stanford UNIX machines. In this message I sketch my experiences with it so far. I guess you could call Stanford a Gamma-test site for Transcript. It had already been Beta-tested at various places; we got an early copy of what is expected to the the released version. Transcript was written by a Stanford alumnus who was one of my graduate students when he was here (Andy Shore), so naturally I was predisposed to like it, and also I am a regular consultant for Andy's employer, Adobe Systems, purveyors of Transcript, and so (less naturally) they were willing to let me have a copy of the tape before it actually went on sale (and before they actually received the money from Stanford's cretinous purchasing staff). I've been running Transcript for a week now, and the bottom line is that it's wonderful. The rest of this message explains what and how and why. My first comment is that the printer spooler drivers work reliably all of the time. In the past we have had problems with our lpd support for various printers hanging, crashing, losing files, going wild, or whatever. This was particularly a problem with certain models of printer; we needed to unjam the spooler about once a day. The newer versions of that printer didn't get spooler lock nearly that often (maybe once a week). I've heard that other sites have no problems at all with their spoolers, so perhaps this problem has been fixed. In any event, after a week of running, nothing has happened except that it has worked. I realize that a week isn't much data. What is in the Transcript distribution? Well, it looks like this -rw-rw-r-- 1 root 6188 Mar 18 06:37 Makefile drwxrwxr-x 2 reid 1024 Mar 21 21:30 cookbook drwxrwxr-x 2 reid 512 Mar 14 17:58 doc drwxrwxr-x 2 reid 512 Mar 21 22:14 etc drwxrwxr-x 3 reid 1024 Mar 21 22:18 lib drwxrwxr-x 2 reid 512 Mar 18 08:31 man drwxrwxr-x 2 reid 512 Mar 18 08:31 sh drwxrwxr-x 2 reid 1024 Mar 20 13:04 src drwxrwxr-x 2 reid 512 Mar 14 17:58 test Perhaps the best place to start is the "man" pages; this lists the executable programs: pssun - convert a Sun raster-format file to a PostScript file. psif, psof, psgf, psnf, pstf - filter and send file to PostScript printer ps630 - convert Diablo 630 print files to PostScript format. psplot - convert plot(5) files to PostScript format. ptroff - troff to PostScript printer pscatmap - build width tables for ptroff and pscat (PostScript) psrev - reverse the page order of a PostScript file and/or select pages. enscript - convert text files to PostScript format for printing. AFM - Adobe PostScript font metrics file format pscat - convert C/A/T files to PostScript format PostScript - print file format I've used ptroff, pscatmap, psrev, enscript, and psplot; they all work fine. One of the grad students here is in the final stages of finishing a thesis that contains a lot of graphs, and he nearly knocked me over trying to get his output from the printer after he'd seen the first page (he is 6 feet 8 inches tall so this was a real danger). ptroff works fine with eqn and tbl; it can produce the documentation for eqn quite handily. enscript seems to have all of the options, bells, and whistles tht James Gosling's old "cz" program had, and in fact I was able to use "enscript" in place of "cz" in running "yapp". Cute. I have not used pssun nor ps630, nor do I think I will do so any time soon. The "cookbook" is 26 files of examples, which are just the source text for the "cookbook" section of the PostScript manual. "doc" is a troff source for the installation documentation (ms macros). "etc" is /etc/printcap and /usr/lib/crontab information. "man" is the man pages; "sh" is shell scripts to make "ptroff"; "test" is a small amount of test information for the Diablo emulator and the plot(5) support. That leaves "src" and "lib". "src" is as follows (some irrelevant detail removed) ./src: -rw-rw-r-- 1 reid 3039 Mar 18 06:31 Makefile -rw-rw-r-- 1 reid 240 Mar 18 06:31 action.h -rw-rw-r-- 1 reid 475 Mar 18 07:25 config.c -rw-rw-r-- 1 reid 459 Mar 18 07:20 config.proto -rw-rw-r-- 1 reid 25742 Mar 18 06:31 enscript.c -rw-rw-r-- 1 reid 25448 Mar 18 06:31 ps630.c -rw-rw-r-- 1 reid 17696 Mar 18 06:31 pscat.c -rw-rw-r-- 1 reid 15288 Mar 18 06:31 pscatmap.c -rw-rw-r-- 1 reid 1524 Mar 18 06:31 psgf.c -rw-rw-r-- 1 reid 20525 Mar 18 06:31 psif.c -rw-rw-r-- 1 reid 4157 Mar 18 06:31 psof.c -rw-rw-r-- 1 reid 4411 Mar 18 06:31 psplot.c -rw-rw-r-- 1 reid 12036 Mar 18 06:31 psrev.c -rw-rw-r-- 1 reid 178 Mar 18 06:31 psspool.h -rw-rw-r-- 1 reid 10804 Mar 18 06:31 pssun.c -rw-rw-r-- 1 reid 3791 Mar 18 06:31 pstext.c -rw-rw-r-- 1 reid 1946 Mar 18 06:31 pstf.c -rw-rw-r-- 1 reid 1170 Mar 18 06:31 psutil.c -rw-rw-r-- 1 reid 893 Mar 18 06:31 transcript.h -rw-rw-r-- 1 reid 6810 Mar 18 06:31 types.h The "lib" directory contains "font metrics" files that give the measurements of the characters in distributed Adobe fonts, for use with Troff, Scribe, or what have you. It also contains various library "profiles" of PostScript code that are used for banner pages, diablo emulators, SUN bitmap printing, and so forth. Transcript's Makefile is extremely complex, and needs to be run as root for a good part of its installation. I have developed the habit over the years of typing "make -n " before I type "make", so that I can see what is going to be wreaked upon me before it actually happens. Because of Transcript's extensive use of recursive makes in subdirectories, this didn't show me anything of interest, so I just gritted my teeth and, as root, typed "make install". It grunted for a long time, but everything worked and nothing was damaged. I ran into one problem that took me a while to solve, and I am still not entirely happy with the solution. Stanford has quite a number of Imagen printers (mostly 12/240's, but a few others), and some Imagen-specific incompatible hacks have drifted into "lpd". The version of lpd that I was running on my machine actually had the Imagen modifications in it (I don't know whether they are distributed by Imagen, but they are used here and other places to spool to Imagens). These modifications caused a large number of spooler error messages to show up in the log file when I printed on my Apple printer. After I finally figured out what was happening, I tried to get Stanford Imagen users to find another way to drive their spooler (namely to run the distributed 4.2BSD "lpd" program without any hacks) but they weren't interested. So I had to modify the Transcript "if" filter program, psif.c, to ignore the "-p" and "-f" options that are passed to it by lpd. With that change, everything worked fine, and I switched my attention to getting Scribe running for the LaserWriter. (I'll talk about that in a message in a few days). We bought Transcript from Adobe Systems 1870 Embarcadero Road Palo Alto, CA 94303 415/852-0271 You can reach Megan Furner, who handles these sales, by uucp mail to decwrl!adobe!furner, or by Arpanet to adobe!furner@Glacier. Unfortunately, ARPAnet regulations prohibit her from replying over the ARPAnet (after all, this is a commercial purpose), so maybe it's better just to call--Megan is very nice.