[538] in Release_7.7_team

home help back first fref pref prev next nref lref last post

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.


home help back first fref pref prev next nref lref last post