Psroff 2.0 PL7 Notes

Chris Lewis clewis at
Thu Feb 14 17:38:52 AEST 1991

Archive-name: psroff2.0/Notes.PL7
Submitted-by: clewis at (Chris Lewis)

[Psroff archive sites, please include this in your psroff area]

Some notes on Psroff 2.0, PL7:

[A package that converts CAT Troff into Postscript, HP PCL and ditroff]

PL7 is the last patch that I will release for psroff 2.0.  I'll
be reissuing psroff in its entirety over one of the moderated
newsgroups sometime reasonably soon as psroff 3.0.  Partially
because of the new ditroff input support feature, and partially because
I made some mistakes in the patches (1 & 7), and there's some minor bits
and pieces that didn't get fixed properly (mostly documentation).
Now that at least one moderated source group seems alive again, it's
a good time for it to go out and be archived properly.

Psroff 3.0 will not introduce anything major other than the
ditroff input support, and some additional support files, such
as width tables for HP LJ III built-in fonts.  I will be posting
Ned Batchelder's psnup (a n-up postscript filter) to comp.sources.misc
tonight.  All I've added is a manual page and a shell script to
wrap around the bare postscript that Ned did.   

Psroff will remain mainly a CAT Troff converter, and most of the
install scripts will be oriented towards that.  However, ditroff
input support will also be there, and work to the full functionality
of real ditroff, including pic etc.  Except on HP Laserjets, where you'll
be restricted to the point sizes available with CAT troff and there
won't be any PIC support.

At the end of this posting is a list of caveats about PL7, plus
work arounds as I know them.  I continue to encourage people who
have trouble with it to contact me.

Here's a bare feature list of 2PL7 and 3.0:
    - CAT & ditroff input support, producing postscript, HP LJ
      and ditroff output.   Ditroff input support will be in 3.0.
      (currently under test)
    - Complete CAT and ditroff(output) functionality for Postscript.
    - Complete CAT functionality on HP Laserjets, provided you have
      access to good Roman fonts.  Incremental downloading of fonts
      for optimization.
    - Output optimization capable of reducing the size by a facter
      or 3 or more, improving printer performance by a factor of up
      to 10, and good throughput through psroff/troff2ps itself.
    - Complete CAT to ditroff conversion.
    - Partial ditroff emulation with CAT troff.  Eg: extended character
      set (3.0), drawing, pass-thru etc.
    - Extended pass-thru facilities to permit operation with
      things like psfig, postscript inclusion etc.
    - Compatibility with many other "backends": Sun Pageview (see
      below), AT&T xtroff, X windows xtroff & xditview, psdit
      (Transcript), tpscript, jetroff, HP Laserjet Postscript
    - Portability with all versions of UNIX and CAT troff.
      (Config isn't the easiest thing in the world, but it appears
      as if psroff is sufficiently parameterized to build and use
      anywhere).  Especially RISC/Ultrix & Apollo (two odd-ball
      versions of CAT troff).
    - Facilities for manipulating fonts, generating width tables, and
      looking at binary printer streams:
	- upload ditroff format width tables from postscript printers.
	- conversion of ditroff width tables to CAT width tables.
	- Display font characteristics, display bitmaps, merge etc.
	  for both PK and SFP format fonts.
	- PK to SFP font conversion.
	- PK & SFP to Postscript bitmap font conversion.
	- Font display table generators.
	- CAT troff width table dumper.
	- Automated tool to generate full set of HP fonts and widths
	  from TeX font distribution and other sources of PK's and
	- HP Laserjet HP PCL dumper, including a primitive HP LJ
	  to Postscript converter.
    - Automated build scripts and configuration testers to make
      configuration easier and do all of the things necessary
      to produce the fonts and width tables and install them.
    - Width tables for Postscript printers and HP Laserjet III (in
      3.0), plus automated tools to build them from the supplied
      (and user-supplied) Laserjet fonts.
    - An S font in all CAT troff sizes for HP Laserjets.
    - Manual pages for the useable stand-alone tools.
    - Adapters for -mm, -ms, -man and -me to adjust them to work
      best with psroff.
    - Psroff shell script can be configured by parameter files.
    - Psroff shell script intended to be a "troff" replacement,
      in that the arguments are a superset of standard troff and
      does the same things.
    - Arbitrary order Postscript page flipper, which will produce
      page reversal, "book order", etc.
    - Testing facilities.

Issues/Clarifications with Psroff 2.0 PL7:
    1) Line starting with "%!" should be removed from lib/ps.lib, it
       confuses Pageview.
    2) Box corner characters (\(lt, \(rt, \(lb, \(rb) use Postscript
       reversepath operator which isn't implemented in Pageview.
       Work arounds are being investigated - contact me if you need
    3) if you pipe something into psroff without the "-" option and
       no specified macros, the macro adapter cmn.pre doesn't get
       included, and the width tables will be somewhat off.
       Use "something | psroff -" instead of "something | psroff"
       (This would also mean that ".fp"'s wouldn't work as well)
    4) Apollo systems - contact me.  In short, COFF is not the
       right answer.  Build psroff but don't install it with
       HEADERSIZE 0.  Then run:
	    utils/dumpft -gv < /usr/lib/font/ftR | grep Guess
       It will output a series of HEADERSIZE guesses plus an
       error count.  Set the HEADERSIZE to the guess with the
       minimum error count.  Rebuild psroff and the width tables
       and install.
    5) RISC/Ultrix troff has wierd width tables.  In fact, it can't
       even use the ones that come with the Ultrix distribution!
       Use ASCIIWIDTHS definition in defs.h.
    6) widths/widthps/* won't go thru ditroff's makedev program.
       Due to a minor syntax error in most of the width tables,
       plus an incompatible DESC file.  Contact me if you need
       the fixed ones (this does not affect CAT troff output!)
    7) Widths for HP Laserjet III's are available - contact me if
       you want them.
    8) The FAX number on the test sheet is incorrect.  I'm no
       longer at that address, and mail forwarding of FAXes is
       too slow.  Patch 7 was supposed to fix it, but it broke.
       If you want to send me test sheets, send them to:
	    C. Lewis, Box 13215, Kanata PO,
	    Kanata, Ontario, Canada K2K 1X4
And finally, because of the confusion between my psroff and
Adobe's, I'm trying to come up with a better name for it - one
that reflects what it really does.  I'm open to suggestions!

More information about the Alt.sources mailing list