Copyright:	1985, Stephen Frede, UNSW Australia
	Use it and copy it as much as you want, but don't pretend you
	wrote it, or sell it for profit.

Authorship:	Originally by Stephen Frede.
		Various extensive changes by
			Cameron Davidson and Michael Rourke.

Contents:
	0) File 'READ_ME', directories 'src', 'src/tpscript',
		'src/opscript', 'src/pscript', 'man', 'devalw'

	1) Source for a back end to ditroff which converts ditroff
	   output to PostScript (src/tpscript).

	2) Font code and width tables suitable for use with ditroff (devalw).

	3) A program (lpscript) which converts plain text into postscript.
	   various options allow selection of font, size and rotation, etc.

	4) A program (ipscript) which converts bitmap images of various sorts
	   into postscript.

	5) Manual entries for lpscript and ipscript.

	6) The directory src/pscript contains some random postscript
	   programs that may or may not be useful.


NOTES:
	The sources should be pretty much bug free. They have been run on
	a few different systems, but I have no doubt that upon releasing it
	to the world, some will come to light. Please mail suggestions
	and fixes directly to me at the address given above.

	The troff names for many of the characters were taken from a paper
	about such things from:
		"Adventures with Typesetter Independent Troff", by
	Mark Kahrs and Lee Moore, Dept. Computer Science, University
	of Rochester, Rochester, NY 14627. TR159; June, 1985.

	Work is in progress to allow down-line loading of fonts other than
	those available by default in the LaserWriter (or whatever), such
	as the Berkeley fonts.

	They have never been run on anything other than a LaserWriter, but
	I don't know of any inherent machine dependencies (other than those
	indicated by "#if ALW").

	There are some further changes made by Cameron Davidson to fine tune
	some problems with rounding to pixel boundaries on the LaserWriter
	that are not included in this release.

	There are two basica possible approaches to generating postscript
	from some other format. The first is to generate a postscript
	program which then reads input and does the conversion itself.
	The alternative is to do as much of the translation as possible
	first, generating relatively simple postscript commands. This
	is the way these programs work. I have not seen Transcript, by
	Adobe Systems, but I suspect they do it the first way.

	Add an entry to the "magic" file that the file(1) command uses
	to look for the characters "%!" at the start of a file.
	This indicates that a file is "PostScript".

Installation:
	First you must have ditroff, a device independant troff from ATT,
	requiring a licence. This most usually comes with Documenter's
	WorkBench (DWB). This should include the program "makedev", used
	to "compile" the ascii font tables into binary, so that troff and
	tpscript can read them.

	Put all of this stuff into a directory somewhere.
	Edit the Makefile in the top directory and set SYS= one of the
	systems indicated there (AUSAM, V7, SYS5, BSD).
	Then set VERBOSE=1 if you want some needless extra frills. This
	is mainly just identifying jobs by username, etc.
	Set MAKEDEV to be the pathname of the makedev program (in the
	troff source directory ?).
	Then compile it all by saying "make" in the top directory.
	This should generate tpscript, ipscript and lpscript.
	Install them manually in whatever way is appropriate for your system.
	Possibly change the Makefiles to do this. Also note that the
	Makefiles will not do anything smart about .o files or anything
	like that.
	We have installed the real troff in /bin/ditroff and made troff a
	shell script that invokes the appropriate back end. The shell script
	is included here as src/troff.sh, use it if you want.
	Install the manual entries for ipscript and lpscript (from the man
	directory).

Possible problems:
	First read the problems section in "Inside LaserWriter".
	Note the various patches from Adobe that have come over USENET.

	On some versions of Unix, if the LaserWriter is connected to
	a tty port, and a daemon of some sort continually sends stuff to
	the LaserWriter, but never reads anything, and the LaserWriter
	sends messages back (which aren't read by anyone), then when
	the total number of unread characters reaches a certain amount
	(TTYHOG, 256 or 512 usually), both the input AND output queues
	are flushed, so some characters to the LaserWriter get dropped,
	probably causing a syntax error and the rest of the job to be
	flushed. A good thing to do (even if you don't have this problem)
	is to collect all the output from that line and save it in a file.
	This makes looking at error and other messages from the LaserWriter
	quite easy (tail /tmp/laserout).

	Note a bug in many versions of eqn(1) which causes a right large
	square bracket to be made of '|' characters instead of "\(bv" chars.
	If you have the source, this is easy to fix.

	I don't know what some of the Berkeley ditroff output means.
	If someone would like to fill me in, I'll add it to tpscript.
