home *** CD-ROM | disk | FTP | other *** search
- 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.
- GEM support added and reliability of PostScript output
- improved by Axel Mahler and Andreas Lampen.
- (axel@coma.uucp/andy@coma.uucp).
-
- 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). On BSD machines one may e.g. add
- a line "/usr/ucb/tail +0cf /dev/ttyLW > /usr/spool/lpd/lw/lw-log &"
- to /etc/rc.local.
-
- 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.
-