[538] in Release_7.7_team
Andrew, troff, transcript
daemon@ATHENA.MIT.EDU (Greg Hudson)
Sat May 18 03:04:02 1996
Date: Sat, 18 May 1996 03:03:57 -0400 (EDT)
From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@MIT.EDU
Okay, I believe I have successfully determined most of the viewpoints
which cause a problem for printing in ez:
* The vendor operating system's viewpoint:
- Solaris ships with a troff that prefers to use the
"post" typesetter, /usr/lib/font/devpost. The
output of troff, when run with no arguments, is
intended to be run through dpost (a vendor-supplied
program).
- Irix ships with a troff and a /usr/lib/font/devpsc
which appears to be compatible with Transcript's
psdit. I haven't found a native postprocessor to
convert troff's output to postscript.
* Transcript's viewpoint:
Integration between troff and psdit is done via
psroff. psroff runs "troff -Tpsc
-F/usr/athena/lib/ps/ditroff.font/Times", thus using
its own fonts.
In particular, it does not appear to be a goal of
Transcript to make psdit accept the output of troff
with no arguments.
* Andrew's viewpoint:
Printing commands are specified in two resources in
/usr/andrew/lib/global.prf:
*.formatcommand: cat /tmp/%s.n | eqn | troff -Tpsc |
*.printcommand: psdit | lpr; rm -f /tmp/%s.n
The split between these two commands is,
unfortunately, at the troff output stage, which is
exactly the stage psroff glosses over. I don't yet
know what parts of ez use formatcommand and what parts
use printcommand, but I suspect that Andrew has a
previewer which understands troff output. (This would
make sense; troff does the typesetting job, which is
difficult to get right, and produces output in a
fairly structured format, whereas psdit's output is
Postscript, and Postscript is difficult to interpret.)
Possible solutions:
* Make a symlink /usr/lib/font/devpsc ->
/usr/athena/lib/ps/ditroff.font/Times/devpsc on Solaris. I
don't want to do this because I don't think we should modify
the vendor operating system for Andrew's sake.
* Install our own troff which is compatible with psdit by
default. I've already experimented with this (fixing a
couple of bugs in our ditroff sources to make troff and eqn
work), and it works passably, but we didn't do it for 7.7
and it's probably not a good idea in the long term when we
can use the vendor troff.
* Convince Andrew to use psroff. This is probably nigh
impossible, since I suspect that parts of Andrew really want
to see troff output.
* Teach Andrew where our Transcript fonts are:
*.formatcommand: cat /tmp/%s.n | eqn | troff -Tpsc -F/usr/athena/lib/ps/ditroff.font/Times
This is the answer I currently favor.
At the moment ez printing works by virtue of our own ditroff being
installed. I am about to deinstall our ditroff, and will probably
release the packs tomorrow or Sunday after I fix some more of the
major bugs in the 8.0 release. I expect Bill to pick up from there.