[fa.laser-lovers] Field report: Adobe "Transcript" software.

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.