	Nroff Driver Table Compiler/De-compiler Utility
	-----------------------------------------------

	There are two programs in this package.  Table compiles an
nroff terminal driver table from source, and elbat, the inverse
operator, de-compiles an existing formatted table to produce a
source.  There is also a sample driver source, kindly provided by
Bo Thide', for the HP LaserJet+ using a Math Elite font cartridge.
A man page, a Makefile, and this README file are also provided.

	This is version 2.0 of the table utility, superceding versions
1.1 and 1.2.  New features of version 2.0 are:
-  Support for Kanji characters.  There is a new element in the table
   called Kchar.  This is a feature of HP's latest release for their
   9000 series computers.
-  A better Makefile.
-  A -d debug option for elbat.
-  The compiled table should now be bit-for-bit identical to that
   supplied with your system, given the same source file.  To test this,
   decompile a supplied tabfile with elbat, recompile the resultant
   source, and cmp the result with the supplied tabfile.  This is true
   at least for the files on my system (HP9000 series 520, HPUX 5.2)
-  Several bugs fixed.
-  A man page, table.5

	Sources for the tab files are in 'C', and consist simply of
an initialized structure.  This structure is compiled and linked to
the main program module, table.o (compiled from table.c), to
produce an executable a.out file.  This file when executed produces
the compiled tab file.
	A Makefile is provided to formalize this procedure.  The
sources for the various terminals (all files named tabXXXX.c, where
XXXX is replaced by a short acronym for the terminal: e.g. tab450.c)
are included the the SOURCES definition in the Makefile.  Typing
"make" or "make all" compiles these sources, and runs the executable
a.out files to produce the compiled tab files, calling them tabXXXX.tab.
Typing "make install" renames the tabXXXX.tab files to tabXXXX, and
copies them to the /usr/lib/term directory, where nroff will find
them when the -TXXXX option is used.
	Typing "make elbat" makes the elbat program, which can take
a compiled tabXXXX file and produce a source tabXXXX.c file.  Using
the -d (debug) option with elbat produces a dump of the actual
character data in the file.
	Be VERY CAREFUL with "make install" (try "make -n install
first).  You don't likely want to delete system-supplied tab files!

	The table.5 man page contains more information.

IF YOU HAVE PROBLEMS...
	It is quite possible that the tab file format on your machine
differs in minor or major ways from that embodied by this utility.  Since
the tabfile format was inferred from careful examination of a small number
of supplied tab files on one system only, there is no guarantee that it
will work on all systems.  One major potential problem is in the
inclusion/exculsion of the Kchar (Kanji) element in the tabfile structure.
Use elbat to decompile an existing tabfile; it should tell you if the
tabfile size is inconsistent with the content.  If this is so, change
the "#define KANJI" line in the Makefile, and try again.

Acknowledgements:
	Ian Darwin tested out the first (very buggy) version of
this utility, and suggested many useful changes, including the
introduction of the Makefile.

	Matt Crawford wrote the elbat program originally for
Berkeley systems.

Caveat:
	This utility was written to permit the author to configure nroff
on his machine for terminals/fonts unsupported by the supplied tabfiles.
It was not intended as a universal utility applicable to all machines
or versions of unix.  It has been released without any guarantee whatsoever.
The author does not intend to support this software to any extent, and
users should understand that future changes to their system software may
break this utility.  This being so, it would be foolish to depend too
heavily on the functionality that this utility provides.

	Copyright (c) 1987 by Bruce Townsend and Bell-Northern Research.
	Permission is granted to use and distribute, except for profit,
	providing this copyright notice and the author's name is included.
	No warranty of any kind is expressed or implied, and no liability of
	any kind is assumed by either the author or Bell-Northern Research.

---
Bruce Townsend (bnr-vpa!bruce)	Phone:	(613) 726-3008
Bell-Northern Research		Usenet: {utzoo, utcs}!bnr-vpa!bruce
P.O. Box 3511, Station C, Ottawa, Ontario, Canada, K1Y 4H7
