Installing, maintaining, and creating more fonts for prfl:

Installing:
	prfl and support files are built from the following sources:
		1) tabpro.c
		2) tabgra.c
		3) code.pro
		4) fonts/* (many font files.)
		5) fonts/make.special
		6) fonts/Makefile
		7) fonts/mat.c
		8) prfl.c
		9) procol.c
		10) proff.sh
		11)Makefile

	To build and install the required files do the following:
		make
		make install
	proff can be invoked as normal once these steps have been 
	completed.

Maintaining:
	FILE INTERDEPENDENCIES:
	There is an important intermediate file that gets auto-
	matically created during the make. This is fonts/special.font.
	Special.font is the include file for prfl which contains all
	the special characters required for nroff. This file is built
	by make.special (called from the makefile) using mat.c, code.pro
	and the font files. The names and location of each font file
	are taken from code.pro. Mat.c then "compiles" each character
	to Proprinter graphics format and adds it to special.font.

	ADDING ITALIC (to replace underlining):
	Prfl had ifdefs to allow the use of an italic font in place of
	underlining. Code exists to allow peaceful (hopefully) co-existence
	of italic characters and special characters, even though they
	share the same codes in the alternate font. THE ITALIC CODE IN
	PRFL IS UNTESTED, so there is no guarantee of smooth transition to
	italic.  Missing pieces for italics are 1) a shell script to build
	italic.font (similar to special.font) and 2) the actual italic 
	characters. The file ./template may be used to facilitate creating the
	italic characters (see adding characters below). The actual
	characters prfl will attempt to italicize are the numerals 0-9,
	and the alphabet a-z,A-Z. Additional characters may be italicized
	by placing a "2" in the first column of the character in code.pro.
	(i.e. to allow \ to be italicized change "\001\\" to "\201\\" on
	the backslash line). DO NOT ATTEMPT TO ITALICIZE SPECIAL CHARACTERS
	(those requiring nroff to send more than one character to be printed).
	The italic shell script should use the 2 flag in code.pro to decide
	if it will include an italic character for the font or not.

Creating more characters:
	The special fonts are created by searching code.pro for all the lines
	containing \033B or \033C. These lines are sorted by escape sequence
	and the first word after the /* is taken to be the name
	of the file containing the character font definition (If this value
	is "NONE" a default character is generated.). This file is copied
	to matrix.h, which gets included by mat.c. Mat.c is then compiled,
	and run, producing a line of code which gets appended to special.font.

	The format of these character files is as follows:

#define ATTRIBUTE NODESCENDER
char *string="Blank";
int	array	[8][11]	=	{
	{ , , , , , , , , , , },
	{ , , , , , , , , , , },
	{ , , , , , , , , , , },
	{ , , , , , , , , , , },
	{ , , , , , , , , , , },
	{ , , , , , , , , , , },
	{ , , , , , , , , , , },
	{ , , , , , , , , , , }
};

	The first line (#define ATTRIBUTE) tell mat.c what attributes the
	character has. The Proprinter only understands DESCENDER and
	NODESCENDER (define by mat.c). If ATTRIBUTE is DESCENDER, the character
	will be shifted down one bit when printed (this is not applicable to
	the graphics printer). Mat.c will assume NODESCENDER if ATTRIBUTE is
	not defined.

	Char *string="{name}" tells mat.c what to call this character when it 
	outputs the Proprinter format to special.font.

	The array is where the actual character is "designed". Place a "1"
	bit where you wish a dot to appear. make.special automatically
	fills the blank spots with "0"'s to make C happy. Be careful when
	filling in the 1's. The array on the screen appears fatter then the
	character that the Proprinter actually prints. The Proprinter will
	also add gratutious dots to your character when printing in letter
	quality mode. (Surprisingly, the latter is not as bothersome as
	one might think. Just be careful how closely you place dots you don't
	want connected).
