[comp.sources.unix] v20i038: Troff upgrade for PostScript, DiTroff compatibility, Part06/06

rsalz@uunet.uu.net (Rich Salz) (10/18/89)

Submitted-by: Chris Lewis <eci386!clewis@uunet.uu.net>
Posting-number: Volume 20, Issue 38
Archive-name: psroff/part06

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 6 (of 6)."
# Contents:  ljtables.c
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'ljtables.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ljtables.c'\"
else
echo shar: Extracting \"'ljtables.c'\" \(23102 characters\)
sed "s/^X//" >'ljtables.c' <<'END_OF_FILE'
X/*	Copyright 1985, 1986, 1987, 1988 Chris Lewis
X		All Rights Reserved
X
X    Permission to copy and further distribute is freely given provided 
X    this copyright notice remains intact and that this software is not 
X    sold for profit.
X
X	Project:	Generic Troff drivers
X	Module:		ljtables.c
X	Author: 	Chris Lewis
X	Specs:		Contains character tables for various fonts.
X */
X/*
X * woods@cpi - Wed Feb  1 10:56:58 EST 1989
X *
X *	This has now been tested.  (on a DataProducts LZR1230)
X *
X *	The destination printer must have a resident TimesRoman font.
X *	I would also suggested that the MathSymbol font be loaded, though
X *	since I do not have such a cartidge, I have not tried this.
X *
X *	The symbol character definitions do require re-writing.
X *
X *	The troff font description files were obtained from another
X *	similar package (troff2lj by Sverre Froyen <froyen@nmfecc.arpa>).
X *	He generated them with an awk script from the HP font width tables.
X *
X *	I have somewhat mangled with the tables below, with some success.
X *
X *	There is no suggested placing for DOWNLOAD.
X *
X *	I've removed the orientation setting from the font sequences.
X *	Orientation should be selected at initialization
X */
X
X#include "defs.h"
X
X#if	defined(LJ) || defined(LK)
X
X#ifndef	SVR3
X#ifndef	lint
Xstatic char SCCSid[] = "@(#)ljtables.c: 1.2 Copyright 89/06/14 16:29:46 Chris Lewis";
X#endif
X#else
X#ident  "@(#)ljtables.c: 1.2 Copyright 89/06/14 16:29:46 Chris Lewis" /*(SVR3)*/
X#endif
X
X#include "lj.h"
X
X/*	Used for characters not in Roman8 Character set */
X#define	NOPE	"\377"
X
X#ifdef	LJ
Xstruct troff2befont ljStdFont[108] = {
X
X/*          +-------------------------------- Troff character number
X	    |
X            |    +--------------------------- U: standard fonts
X            |    |                            S: symbol font
X            |    |                            D: draw macro
X            |    |                            n: new font
X            |    |
X            |    |  +------------------------ X-shift (scaled by deci-point)
X            |    |  |
X            |    |  |  +--------------------- Y-shift (scaled by deci-point)
X            |    |  |  |
X            |    |  |  |  +------------------ Point-scale
X            |    |  |  |  |
X            |    |  |  |  |   +-------------- Sequence
X            |    |  |  |  |   |
X            |    |  |  |  |   |               Printable sequence title
X            |    |  |  |  |   |                 |
X            |    |  |  |  |   |                 |
X            v    v  v  v  v   v                 v   */
X	/*  1*/	{U, 0, 0, 1, "h",		"h"},
X	/*  2*/	{U, 0, 0, 1, "t",		"t"},
X	/*  3*/	{U, 0, 0, 1, "n",		"n"},
X	/*  4*/	{U, 0.5, 0, 1, "m",		"m"},
X	/*  5*/	{U, 0, 0, 1, "l",		"l"},
X	/*  6*/	{U, 0, 0, 1, "i",		"i"},
X	/*  7*/	{U, 0, 0, 1, "z",		"z"},
X	/*  8*/	{U, 0, 0, 1, "s",		"s"},
X	/*  9*/	{U, 0, 0, 1, "d",		"d"},
X	/* 10*/	{U, 0, 0, 1, "b",		"b"},
X	/* 11*/	{U, 0.5, 0, 1, "x",		"x"},
X	/* 12*/	{U, 0, 0, 1, "f",		"f"},
X	/* 13*/	{U, 0, 0, 1, "j",		"j"},
X	/* 14*/	{U, 0, 0, 1, "u",		"u"},
X	/* 15*/	{U, 0, 0, 1, "k",		"k"},
X	/* 16*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 17*/	{U, 0, 0, 1, "p",		"p"},
X	/* 18*/	{S, 2.0, 0, 1, "\366",		"3/4 em"},
X	/* 19*/	{U, 0, 0, 1, ";",		";"},
X	/* 20*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 21*/	{U, 0, 0, 1, "a",		"a"},
X	/* 22*/	{U, 0, 0, 1, "_",		"horizontal rule"},
X	/* 23*/	{U, 0, 0, 1, "c",		"c"},
X	/* 24*/	{U, 0, 0, 1, "`",		"` open"},
X	/* 25*/	{U, 0, 0, 1, "e",		"e"},
X	/* 26*/	{U, 0, 0, 1, "'",		"' close"},
X	/* 27*/	{U, 0, 0, 1, "o",		"o"},
X	/* 28*/	{S, 0, 0, 1, "\367",		"1/4"},
X	/* 29*/	{U, 0, 0, 1, "r",		"r"},
X	/* 30*/	{S, 0, 0, 1, "\370",		"1/2"},
X	/* 31*/	{U, 0.5, 0, 1, "v",		"v"},
X	/* 32*/	{U, 0, 0, 1, "-",		"- (hyphen)"},
X	/* 33*/	{U, 0, 0, 1, "w",		"w"},
X	/* 34*/	{U, 0, 0, 1, "q",		"q"},
X	/* 35*/	{U, 0, 0, 1, "/",		"/"},
X	/* 36*/	{U, 0, 0, 1, ".",		"."},
X	/* 37*/	{U, 0, 0, 1, "g",		"g"},
X	/* 38*/	{U, 0, 0, 1, "3/4",		"3/4"},
X	/* 39*/	{U, 0, 0, 1, ",",		","},
X	/* 40*/	{U, 0, 0, 1, "&",		"&"},
X	/* 41*/	{U, 0, 0, 1, "y",		"y"},
X	/* 42*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 43*/	{U, 0, 0, 1, "\%",		"%"},
X	/* 44*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 45*/	{U, 0, 0, 1, "Q",		"Q"},
X	/* 46*/	{U, 0, 0, 1, "T",		"T"},
X	/* 47*/	{U, 0, 0, 1, "O",		"O"},
X	/* 48*/	{U, 0, 0, 1, "H",		"H"},
X	/* 49*/	{U, 0, 0, 1, "N",		"N"},
X	/* 50*/	{U, 0, 0, 1, "M",		"M"},
X	/* 51*/	{U, 0, 0, 1, "L",		"L"},
X	/* 52*/	{U, 0, 0, 1, "R",		"R"},
X	/* 53*/	{U, 0, 0, 1, "G",		"G"},
X	/* 54*/	{U, 0, 0, 1, "I",		"I"},
X	/* 55*/	{U, 0, 0, 1, "P",		"P"},
X	/* 56*/	{U, 0, 0, 1, "C",		"C"},
X	/* 57*/	{U, 0, 0, 1, "V",		"V"},
X	/* 58*/	{U, 0, 0, 1, "E",		"E"},
X	/* 59*/	{U, 0, 0, 1, "Z",		"Z"},
X	/* 60*/	{U, 0, 0, 1, "D",		"D"},
X	/* 61*/	{U, 0, 0, 1, "B",		"B"},
X	/* 62*/	{U, 0, 0, 1, "S",		"S"},
X	/* 63*/	{U, 0, 0, 1, "Y",		"Y"},
X	/*from here on are actually code 1-45, upper half of font */
X	/* 64*/	{U, 0, 0, 1, "F",		"F"},
X	/* 65*/	{U, 0, 0, 1, "X",		"X"},
X	/* 66*/	{U, 0, 0, 1, "A",		"A"},
X	/* 67*/	{U, 0, 0, 1, "W",		"W"},
X	/* 68*/	{U, 0, 0, 1, "J",		"J"},
X	/* 69*/	{U, 0, 0, 1, "U",		"U"},
X	/* 70*/	{U, 0, 0, 1, "K",		"K"},
X	/* 71*/	{U, 0, 0, 1, "0",		"0"},
X	/* 72*/	{U, 0, 0, 1, "1",		"1"},
X	/* 73*/	{U, 0, 0, 1, "2",		"2"},
X	/* 74*/	{U, 0, 0, 1, "3",		"3"},
X	/* 75*/	{U, 0, 0, 1, "4",		"4"},
X	/* 76*/	{U, 0, 0, 1, "5",		"5"},
X	/* 77*/	{U, 0, 0, 1, "6",		"6"},
X	/* 78*/	{U, 0, 0, 1, "7",		"7"},
X	/* 79*/	{U, 0, 0, 1, "8",		"8"},
X	/* 80*/	{U, 0, 0, 1, "9",		"9"},
X	/* 81*/	{U, 0, 0, 1, "*",		"*"},
X	/* 82*/	{S, 2.0, 0, 1, "\366",		"minus"},
X	/* 83*/	{U, 0, 0, 1, "fi",		"fi"},
X	/* 84*/	{U, 0, 0, 1, "fl",		"fl"},
X	/* 85*/	{U, 0, 0, 1, "ff",		"ff"},
X	/* 86*/	{S, 0, 0, 1, "\277",		"cent sign"},
X	/* 87*/	{U, 0, 0, 1, "ffl",		"ffl"},
X	/* 88*/	{U, 0, 0, 1, "ffi",		"ffi"},
X	/* 89*/	{U, 0, 0, 1, "(",		"("},
X	/* 90*/	{U, 0, 0, 1, ")",		")"},
X	/* 91*/	{U, 0, 0, 1, "[",		"["},
X	/* 92*/	{U, 0, 0, 1, "]",		"]"},
X	/* 93*/	{S, 0, 0, 1, "\263",		"degree"},
X	/* 94*/	{S, 0, 0, 1, "\275",		"dagger"},	/* */
X	/* 95*/	{U, 0, 0, 1, "=",		"="},
X	/* 96*/	{S, 0, 0, 1, "O\br",		"registered"},
X	/* 97*/	{U, 0, 0, 1, ":",		":"},
X	/* 98*/	{U, 0, 0, 1, "+",		"+"},
X	/* 99*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/*100*/	{U, 0, 0, 1, "!",		"!"},
X	/*101*/ {S, 0, 0, 1, "\272",		"bullet"},
X	/*102*/	{U, 0, 0, 1, "?",		"?"},
X	/*103*/ {S, 0, 0, 1, "'",		"foot mark"},
X	/*104*/	{U, 0, 0, 1, "|",		"|"},
X	/*105*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/*106*/	{S, 0, 0, 1, "O\bc",		"copyright"},
X	/*107*/	{S, 0, 0, 1, "\374",		"square"},
X	/*108*/	{U, 0, 0, 1, "$",		"$"}
X};
X
Xstruct troff2befont ljSymFont[] = {
X/*          +-------------------------------- Troff character number
X	    |
X            |    +--------------------------- U: standard fonts
X            |    |                            S: symbol font
X            |    |                            D: draw macro
X            |    |
X            |    |  +------------------------ X-shift (scaled by deci-point)
X            |    |  |
X            |    |  |  +--------------------- Y-shift (scaled by deci-point)
X            |    |  |  |
X            |    |  |  |  +------------------ Point-scale
X            |    |  |  |  |
X            |    |  |  |  |   +-------------- Sequence
X            |    |  |  |  |   |
X            |    |  |  |  |   |               Printable sequence title
X            |    |  |  |  |   |                 |
X            |    |  |  |  |   |                 |
X            v    v  v  v  v   v                 v                    */
X/****	    0	{S, 0, 0, 1, NOCODE,		"unassigned"}, /* in htroff */
X	/*  1*/	{S, 0, 0, 1, NOPE,		"psi"},
X	/*  2*/	{S, 0, 0, 1, NOPE,		"theta"},
X	/*  3*/	{S, 0, 0, 1, NOPE,		"nu"},
X	/*  4*/	{S, 0, 0, 1, NOPE,		"mu"},
X	/*  5*/	{S, 0, 0, 1, NOPE,		"lambda"},
X	/*  6*/	{S, 0, 0, 1, NOPE,		"iota"},
X	/*  7*/	{S, 0, 0, 1, NOPE,		"zeta"},
X	/*  8*/	{S, 0, 0, 1, NOPE,		"sigma"},
X	/*  9*/	{S, 0, 0, 1, NOPE,		"delta"},
X	/* 10*/	{S, 0, 0, 1, NOPE,		"beta"},
X	/* 11*/	{S, 0, 0, 1, NOPE,		"xi"},
X	/* 12*/	{S, 0, 0, 1, NOPE,		"eta"},
X	/* 13*/	{S, 0, 0, 1, NOPE,		"phi"},
X	/* 14*/	{S, 0, 0, 1, NOPE,		"upsilon"},
X	/* 15*/	{S, 0, 0, 1, NOPE,		"kappa"},
X	/* 16*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 17*/	{S, 0, 0, 1, NOPE,		"pi"},
X	/* 18*/	{U, 0, 0, 1, "@",		"@"},
X	/* 19*/	{S, 0, 0, 1, NOPE,		"down arrow"},
X	/* 20*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 21*/	{S, 0, 0, 1, NOPE,		"alpha"},
X	/* 22*/	{S, -2.0, 0, 1, "|",		"or (was star)"},
X	/* 23*/	{S, 0, 0, 1, NOPE,		"chi"},
X	/* 24*/	{U, 0, 0, 1, "\042",		"double quote"},
X	/* 25*/	{S, 0, 0, 1, NOPE,		"epsilon"},
X	/* 26*/	{S, 0, 0, 1, "=",		"equation equal"},
X	/* 27*/	{S, 0, 0, 1, NOPE,		"omicron"},
X	/* 28*/	{S, 0, 0, 1, NOPE,		"left arrow"},
X	/* 29*/	{S, 0, 0, 1, NOPE,		"rho"},
X	/* 30*/	{S, 0, 0, 1, NOPE,		"up arrow"},
X	/* 31*/	{S, 0, 0, 1, NOPE,		"tau"},
X	/* 32*/	{S, 0.1, 0.7, 1, "_",		"_ underrule"},
X	/* 33*/	{U, 0, 0, 1, "\\",		"\\"},
X	/* 34*/	{S, 0, 0, 1, NOPE,		"Psi"},
X	/* 35*/	{S, 0, 0, 1, "\273",		"bell system sign"},
X	/* 36*/	{S, 0, 0, 1, NOPE,		"infinity"},
X	/* 37*/	{S, 0, 0, 1, NOPE,		"gamma"},
X	/* 38*/	{S, 0, 0, 1, NOPE,		"improper superset"},
X	/* 39*/	{S, 0, 0, 1, NOPE,		"proportional to"},
X	/* 40*/ {S, 0, 0, 1, NOPE,		"right hand"},
X	/* 41*/	{S, 0, 0, 1, NOPE,		"omega"},
X	/* 42*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 43*/	{S, 0, 0, 1, NOPE,		"gradient"},
X	/* 44*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 45*/	{S, 0, 0, 1, NOPE,		"Phi"},
X	/* 46*/	{S, 0, 0, 1, NOPE,		"Theta"},
X	/* 47*/	{S, 0, 0, 1, NOPE,		"Omega"},
X	/* 48*/	{S, 0, 0, 1, NOPE,		"union"},
X	/* 49*/	{S, -9.0, -3.0, 1, "\260",	"root en extender (and horiz. box rule)"},
X	/* 50*/	{S, 0, 0, 1, "\245",		"terminal sigma (was root em)"},
X	/* 51*/	{S, 0, 0, 1, NOPE,		"Lambda"},
X	/* 52*/	{S, 0, 0, 1, "\366",		"equation minus"},
X	/* 53*/	{S, 0, 0, 1, NOPE,		"Gamma"},
X	/* 54*/	{S, 0, 0, 1, NOPE,		"integral sign"},
X	/* 55*/	{S, 0, 0, 1, NOPE,		"Pi"},
X	/* 56*/	{S, 0, 0, 1, NOPE,		"subset of"},
X	/* 57*/	{S, 0, 0, 1, NOPE,		"superset of"},
X	/* 58*/	{S, -1.8, 0, 1, "~",		"approximates"},
X	/* 59*/	{S, 0, 0, 1, NOPE,		"partial derivative"},
X	/* 60*/	{S, 0, 0, 1, NOPE,		"Delta"},
X	/* 61*/	{S, 0, -1.5, 1.2, NOPE,		"square root"},
X	/* 62*/	{S, 0, 0, 1, NOPE,		"Sigma"},
X	/* 63*/	{S, 0, 0, 1, "\254\b=",		"approx ="},
X	/* 64*/	{U, 0, 0, 1, ">",		">"},
X	/* 65*/	{S, 0, 0, 1, NOPE,		"Xi"},
X	/* 66*/	{U, 0, 0, 1, "<",		"<"},
X	/* 67*/	{S, 0, 0, 1, "/",		"long slash (longer)"},
X	/* 68*/	{S, 0, 0, 1, NOPE,		"intersect"},
X	/* 69*/	{S, 0, 0, 1, NOPE,		"Upsilon"},
X	/* 70*/	{S, -1.8, 0, 1, "^",		"logical not"},
X	/* 71*/	{S, -3.0, 0, 1, NOPE,		"right ceiling"},
X	/* 72*/	{S, -2.0, 0, 1, NOPE,		"left top brace"},
X	/* 73*/	{S, -2.0, 0, 1, "|\b|\b|",	"bold vertical"},
X	/* 74*/	{S, -2.0, 0, 1, "|",		"left ctr brace"},
X	/* 75*/	{S, -2.0, 0, 1, NOPE,		"left bot brace"},
X	/* 76*/	{S, -2.0, 0, 1, NOPE,		"right top brace"},
X	/* 77*/	{S, -2.0, 0, 1, "|",		"right ctr brace"},
X	/* 78*/	{S, -2.0, 0, 1, NOPE,		"right bot brace"},
X	/* 79*/	{S, -3.0, 0, 1, NOPE,		"right floor"},
X	/* 80*/	{S, 0, 0, 1, NOPE,		"left floor"},
X	/* 81*/	{S, 0, 0, 1, NOPE,		"left ceiling"},
X	/* 82*/	{U, 0, -1.0, 1, "*",		"multiply"},
X	/* 83*/	{S, 0, 0, 1, ":\b\366",		"divide"},
X	/* 84*/	{S, 0, 0, 1, "\376",		"plus-minus"},
X	/* 85*/	{S, 0, 0, 1, "<=",		"<="},
X	/* 86*/	{S, 0, 0, 1, ">=",		">="},
X	/* 87*/	{S, 0, 0, 1, NOPE,		"identically equal"},
X	/* 88*/	{S, 0, 0, 1, "=\b/",		"not equal"},
X	/* 89*/	{U, 0, 0, 1, "{",		"{"},
X	/* 90*/	{U, 0, 0, 1, "}",		"}"},
X	/* 91*/	{S, 0, 0, 1, "\250",		"acute accent"},
X	/* 92*/	{S, 0, 0, 1, "\251",		"grave accent"},
X	/* 93*/	{S, -1.8, 0, 1, "^",		"^"},
X	/* 94*/	{U, 0, 0, 1, "#",		"#"},
X	/* 95*/	{S, 0, 0, 1, NOPE,		"left hand"},
X	/* 96*/	{S, 0, 0, 1, NOPE,		"member of"},
X	/* 97*/	{S, -1.8, 0, 1, "~",		"~"},
X	/* 98*/	{S, 0, 0, 1, NOPE,		"empty set"},
X	/* 99*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/*100*/	{S, 0, 0, 1, "\275\b|",		"dbl dagger"},
X	/*101*/	{S, -3.0, 0, 1, "|",		"box rule (was parallel sign)"},
X	/*102*/	{U, 0, 0, 1, "*",		"math * "},
X	/*103*/	{S, 0, 0, 1, NOPE,		"improper subset"},
X	/*104*/	{S, 0, 0, 1, NOPE,		"circle"},
X	/*105*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/*106*/	{S, 0, 0, 1, "+",		"equation plus"},
X	/*107*/	{S, 0, 0, 1, NOPE,		"right arrow"},
X	/*108*/	{S, 0, 0, 1, NOPE,		"section"}
X};
X#endif
X
X#ifdef	LK
X
X#define	CF(x)	((x) - 'A')
X
Xstruct troff2befont lkStdFont[108] = {
X
X/*          +-------------------------------- Troff character number
X	    |
X            |    +--------------------------- U: standard fonts
X            |    |                            S: symbol font
X            |    |                            D: draw macro
X            |    |                            n: new font
X            |    |
X            |    |  +------------------------ X-shift (scaled by point)
X            |    |  |
X            |    |  |  +--------------------- Y-shift (scaled by point)
X            |    |  |  |
X            |    |  |  |  +------------------ Point-scale
X            |    |  |  |  |
X            |    |  |  |  |   +-------------- Sequence
X            |    |  |  |  |   |
X            |    |  |  |  |   |               Printable sequence title
X            |    |  |  |  |   |                 |
X            |    |  |  |  |   |                 |
X            v    v  v  v  v   v                 v   */
X	/*  1*/	{U, 0, 0, 1, "h",		"h"},
X	/*  2*/	{U, 0, 0, 1, "t",		"t"},
X	/*  3*/	{U, 0, 0, 1, "n",		"n"},
X	/*  4*/	{U, 0, 0, 1, "m",		"m"},
X	/*  5*/	{U, 0, 0, 1, "l",		"l"},
X	/*  6*/	{U, 0, 0, 1, "i",		"i"},
X	/*  7*/	{U, 0, 0, 1, "z",		"z"},
X	/*  8*/	{U, 0, 0, 1, "s",		"s"},
X	/*  9*/	{U, 0, 0, 1, "d",		"d"},
X	/* 10*/	{U, 0, 0, 1, "b",		"b"},
X	/* 11*/	{U, 0, 0, 1, "x",		"x"},
X	/* 12*/	{U, 0, 0, 1, "f",		"f"},
X	/* 13*/	{U, 0, 0, 1, "j",		"j"},
X	/* 14*/	{U, 0, 0, 1, "u",		"u"},
X	/* 15*/	{U, 0, 0, 1, "k",		"k"},
X	/* 16*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 17*/	{U, 0, 0, 1, "p",		"p"},
X	/* 18*/	{S, 0, 0, 1, "v",		"3/4 em"},
X	/* 19*/	{U, 0, 0, 1, ";",		";"},
X	/* 20*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 21*/	{U, 0, 0, 1, "a",		"a"},
X	/* 22*/	{U, 0, 0, 1, "_",		"horizontal rule"},
X	/* 23*/	{U, 0, 0, 1, "c",		"c"},
X	/* 24*/	{U, 0, 0, 1, "`",		"` open"},
X	/* 25*/	{U, 0, 0, 1, "e",		"e"},
X	/* 26*/	{U, 0, 0, 1, "'",		"' close"},
X	/* 27*/	{U, 0, 0, 1, "o",		"o"},
X	/* 28*/	{S, 0, 0, 1, "w",		"1/4"},
X	/* 29*/	{U, 0, 0, 1, "r",		"r"},
X	/* 30*/	{S, 0, 0, 1, "x",		"1/2"},
X	/* 31*/	{U, 0, 0, 1, "v",		"v"},
X	/* 32*/	{U, 0, 0, 1, "-",		"- (hyphen)"},
X	/* 33*/	{U, 0, 0, 1, "w",		"w"},
X	/* 34*/	{U, 0, 0, 1, "q",		"q"},
X	/* 35*/	{U, 0, 0, 1, "/",		"/"},
X	/* 36*/	{U, 0, 0, 1, ".",		"."},
X	/* 37*/	{U, 0, 0, 1, "g",		"g"},
X	/* 38*/	{U, 0, 0, 1, NOPE,		"3/4"},
X	/* 39*/	{U, 0, 0, 1, ",",		","},
X	/* 40*/	{U, 0, 0, 1, "&",		"&"},
X	/* 41*/	{U, 0, 0, 1, "y",		"y"},
X	/* 42*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 43*/	{U, 0, 0, 1, "\%",		"%"},
X	/* 44*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 45*/	{U, 0, 0, 1, "Q",		"Q"},
X	/* 46*/	{U, 0, 0, 1, "T",		"T"},
X	/* 47*/	{U, 0, 0, 1, "O",		"O"},
X	/* 48*/	{U, 0, 0, 1, "H",		"H"},
X	/* 49*/	{U, 0, 0, 1, "N",		"N"},
X	/* 50*/	{U, 0, 0, 1, "M",		"M"},
X	/* 51*/	{U, 0, 0, 1, "L",		"L"},
X	/* 52*/	{U, 0, 0, 1, "R",		"R"},
X	/* 53*/	{U, 0, 0, 1, "G",		"G"},
X	/* 54*/	{U, 0, 0, 1, "I",		"I"},
X	/* 55*/	{U, 0, 0, 1, "P",		"P"},
X	/* 56*/	{U, 0, 0, 1, "C",		"C"},
X	/* 57*/	{U, 0, 0, 1, "V",		"V"},
X	/* 58*/	{U, 0, 0, 1, "E",		"E"},
X	/* 59*/	{U, 0, 0, 1, "Z",		"Z"},
X	/* 60*/	{U, 0, 0, 1, "D",		"D"},
X	/* 61*/	{U, 0, 0, 1, "B",		"B"},
X	/* 62*/	{U, 0, 0, 1, "S",		"S"},
X	/* 63*/	{U, 0, 0, 1, "Y",		"Y"},
X	/*from here on are actually code 1-45, upper half of font */
X	/* 64*/	{U, 0, 0, 1, "F",		"F"},
X	/* 65*/	{U, 0, 0, 1, "X",		"X"},
X	/* 66*/	{U, 0, 0, 1, "A",		"A"},
X	/* 67*/	{U, 0, 0, 1, "W",		"W"},
X	/* 68*/	{U, 0, 0, 1, "J",		"J"},
X	/* 69*/	{U, 0, 0, 1, "U",		"U"},
X	/* 70*/	{U, 0, 0, 1, "K",		"K"},
X	/* 71*/	{U, 0, 0, 1, "0",		"0"},
X	/* 72*/	{U, 0, 0, 1, "1",		"1"},
X	/* 73*/	{U, 0, 0, 1, "2",		"2"},
X	/* 74*/	{U, 0, 0, 1, "3",		"3"},
X	/* 75*/	{U, 0, 0, 1, "4",		"4"},
X	/* 76*/	{U, 0, 0, 1, "5",		"5"},
X	/* 77*/	{U, 0, 0, 1, "6",		"6"},
X	/* 78*/	{U, 0, 0, 1, "7",		"7"},
X	/* 79*/	{U, 0, 0, 1, "8",		"8"},
X	/* 80*/	{U, 0, 0, 1, "9",		"9"},
X	/* 81*/	{U, 0, 0, 1, "*",		"*"},
X	/* 82*/	{U, 0, 0, 1, "-",		"minus"},
X	/* 83*/	{U, 0, 0, 1, NOPE,		"fi"},
X	/* 84*/	{U, 0, 0, 1, NOPE,		"fl"},
X	/* 85*/	{U, 0, 0, 1, NOPE,		"ff"},
X	/* 86*/	{S, 0, 0, 1, "?",		"cent sign"},
X	/* 87*/	{U, 0, 0, 1, NOPE,		"ffl"},
X	/* 88*/	{U, 0, 0, 1, NOPE,		"ffi"},
X	/* 89*/	{U, 0, 0, 1, "(",		"("},
X	/* 90*/	{U, 0, 0, 1, ")",		")"},
X	/* 91*/	{U, 0, 0, 1, "[",		"["},
X	/* 92*/	{U, 0, 0, 1, "]",		"]"},
X	/* 93*/	{S, 0, 0, 1, "3",		"degree"},
X	/* 94*/	{CF('J'), 0, 0, 1, "N",		"dagger"},	/* Math 8b */
X	/* 95*/	{U, 0, 0, 1, "=",		"="},
X	/* 96*/	{CF('L'), 0, 0, 1, ",",		"registered"},	/* PiFonta */
X	/* 97*/	{U, 0, 0, 1, ":",		":"},
X	/* 98*/	{U, 0, 0, 1, "+",		"+"},
X	/* 99*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/*100*/	{U, 0, 0, 1, "!",		"!"},
X/***	/*101	{U, 0, 0, 1, "*",		"bullet"},	/* faked! */
X/***/	/*101*/ {CF('J'), 0, 0, 1, "K",		"bullet"},	/* Math 8b */
X	/*102*/	{U, 0, 0, 1, "?",		"?"},
X/***	/*103	{U, 0, 0, 1, "'",		"foot mark"},	/* ' */
X/***/	/*103*/ {CF('I'), 0, 0, 1, "'",		"foot mark"},	/* Math 8a */
X	/*104*/	{U, 0, 0, 1, "|",		"|"},
X	/*105*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/*106*/	{CF('L'), 0, 0, 1, "-",		"copyright"},	/* PiFonta */
X	/*107*/	{CF('L'), 0, 0, 1, "l",		"square"},	/* PiFonta */
X	/*108*/	{U, 0, 0, 1, "$",		"$"}
X};
X
Xstruct troff2befont lkSymFont[] = {
X/*          +-------------------------------- Troff character number
X	    |
X            |    +--------------------------- U: standard fonts
X            |    |                            S: symbol font
X            |    |                            D: draw macro
X            |    |
X            |    |  +------------------------ X-shift (scaled by point)
X            |    |  |
X            |    |  |  +--------------------- Y-shift (scaled by point)
X            |    |  |  |
X            |    |  |  |  +------------------ Point-scale
X            |    |  |  |  |
X            |    |  |  |  |   +-------------- Sequence
X            |    |  |  |  |   |
X            |    |  |  |  |   |               Printable sequence title
X            |    |  |  |  |   |                 |
X            |    |  |  |  |   |                 |
X            v    v  v  v  v   v                 v                    */
X/****		{S, 0, 0, 1, NOCODE,		"unassigned"}, /* in htroff table */
X	/*  1*/	{S, 0, 0, 1, "w",		"psi"},
X	/*  2*/	{S, 0, 0, 1, "h",		"theta"},
X	/*  3*/	{S, 0, 0, 1, "m",		"nu"},
X	/*  4*/	{S, 0, 0, 1, "l",		"mu"},
X	/*  5*/	{S, 0, 0, 1, "k",		"lambda"},
X	/*  6*/	{S, 0, 0, 1, "i",		"iota"},
X	/*  7*/	{S, 0, 0, 1, "f",		"zeta"},
X	/*  8*/	{S, 0, 0, 1, "r",		"sigma"},
X	/*  9*/	{S, 0, 0, 1, "d",		"delta"},
X	/* 10*/	{S, 0, 0, 1, "b",		"beta"},
X	/* 11*/	{S, 0, 0, 1, "n",		"xi"},
X	/* 12*/	{S, 0, 0, 1, "g",		"eta"},
X	/* 13*/	{S, 0, 0, 1, "u",		"phi"},
X	/* 14*/	{S, 0, 0, 1, "t",		"upsilon"},
X	/* 15*/	{S, 0, 0, 1, "j",		"kappa"},
X	/* 16*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 17*/	{S, 0, 0, 1, "p",		"pi"},
X	/* 18*/	{U, 0, 0, 1, "@",		"@"},
X	/* 19*/	{CF('J'), 0, 0, 1, "#",		"down arrow"},
X	/* 20*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 21*/	{S, 0, 0, 1, "a",		"alpha"},
X	/* 22*/	{S, 0, 0, 1, "|",		"or (was star)"},
X	/* 23*/	{S, 0, 0, 1, "v",		"chi"},
X	/* 24*/	{U, 0, 0, 1, "\042",		"double quote"},
X	/* 25*/	{S, 0, 0, 1, "e",		"epsilon"},
X	/* 26*/	{S, 0, 0, 1, "=",		"equation equal"},
X	/* 27*/	{S, 0, 0, 1, "o",		"omicron"},
X	/* 28*/	{CF('J'), 0, 0, 1, "$",		"left arrow"},
X	/* 29*/	{S, 0, 0, 1, "q",		"rho"},
X	/* 30*/	{CF('J'), 0, 0, 1, "!",		"up arrow"},
X	/* 31*/	{S, 0, 0, 1, "s",		"tau"},
X	/* 32*/	{S, .01, .14, 1, "_",		"_ underrule"},
X	/* 33*/	{U, 0, 0, 1, "\\",		"\\"},
X	/* 34*/	{S, 0, 0, 1, "W",		"Psi"},
X	/* 35*/	{CF('L'), 0, 0, 1, "H",		"bell system sign"},
X	/* 36*/	{S, 0, 0, 1, "$",		"infinity"},
X	/* 37*/	{S, 0, 0, 1, "c",		"gamma"},
X	/* 38*/	{CF('J'), 0, 0, 1, "?",		"improper superset"},
X	/* 39*/	{S, 0, 0, 1, "&",		"proportional to"},
X	/* 40*/ {CF('J'), 0, 0, 1, "&",		"right hand"},
X	/* 41*/	{S, 0, 0, 1, "x",		"omega"},
X	/* 42*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 43*/	{S, 0, 0, 1, "Y",		"gradient"},
X	/* 44*/	{S, 0, 0, 1, NOCODE,		"unassigned"},
X	/* 45*/	{S, 0, 0, 1, "U",		"Phi"},
X	/* 46*/	{S, 0, 0, 1, "H",		"Theta"},
X	/* 47*/	{S, 0, 0, 1, "X",		"Omega"},
X	/* 48*/	{CF('J'), 0, 0, 1, "5",		"union"},
X	/* 49*/	{CF('J'), -.70, 0, 1, "0",	"root en extender"},
X	/* 50*/	{S, 0, 0, 1, "[",		"terminal sigma (was root em)"},
X	/* 51*/	{S, 0, 0, 1, "K",		"Lambda"},
X	/* 52*/	{S, 0, 0, 1, "-",		"equation minus"},
X	/* 53*/	{S, 0, 0, 1, "C",		"Gamma"},
X	/* 54*/	{CF('J'), 0, 0, 1, "U",		"integral sign"},
X	/* 55*/	{S, 0, 0, 1, "P",		"Pi"},
X	/* 56*/	{CF('J'), 0, 0, 1, ":",		"subset of"},
X	/* 57*/	{CF('J'), 0, 0, 1, ";",		"superset of"},
X	/* 58*/	{U, 0, 0, 1, "~",		"approximates"},
X	/* 59*/	{S, 0, 0, 1, "Z",		"partial derivative"},
X	/* 60*/	{S, 0, 0, 1, "D",		"Delta"},
X	/* 61*/	{S, 0, -.15, 1.2, "!",		"square root"},
X	/* 62*/	{S, 0, 0, 1, "R",		"Sigma"},
X	/* 63*/	{S, 0, 0, 1, "?",		"approx ="},
X	/* 64*/	{U, 0, 0, 1, ">",		">"},
X	/* 65*/	{S, 0, 0, 1, "N",		"Xi"},
X	/* 66*/	{U, 0, 0, 1, "<",		"<"},
X	/* 67*/	{S, 0, 0, 1, "/",		"long slash (longer)"},
X	/* 68*/	{CF('J'), 0, 0, 1, "6",		"intersect"},
X	/* 69*/	{S, 0, 0, 1, "T",		"Upsilon"},
X	/* 70*/	{CF('J'), 0, 0, 1, "H",		"logical not"},
X	/* 71*/	{CF('J'), -.3, 0, 1, "p",	"right ceiling"},
X	/* 72*/	{CF('J'), -.2, 0, 1, "b",	"left top brace"},
X	/* 73*/	{CF('J'), 0, 0, 1, "v",		"bold vertical"},
X	/* 74*/	{CF('J'), -.2, 0, 1, "c",	"left ctr brace"},
X	/* 75*/	{CF('J'), -.2, 0, 1, "d",	"left bot brace"},
X	/* 76*/	{CF('J'), -.2, 0, 1, "r",	"right top brace"},
X	/* 77*/	{CF('J'), -.2, 0, 1, "s",	"right ctr brace"},
X	/* 78*/	{CF('J'), -.2, 0, 1, "t",	"right bot brace"},
X	/* 79*/	{CF('J'), -.3, 0, 1, "q",	"right floor"},
X	/* 80*/	{CF('J'), 0, 0, 1, "a",		"left floor"},
X	/* 81*/	{CF('J'), 0, 0, 1, "'",		"left ceiling"},
X	/* 82*/	{S, 0, 0, 1, "*",		"multiply"},
X	/* 83*/	{S, 0, 0, 1, "%",		"divide"},
X	/* 84*/	{CF('J'), 0, 0, 1, "~",		"plus-minus"},
X	/* 85*/	{S, 0, 0, 1, "\\",		"<="},
X	/* 86*/	{S, 0, 0, 1, "^",		">="},
X	/* 87*/	{S, 0, 0, 1, "}",		"identically equal"},
X	/* 88*/	{S, 0, 0, 1, "]",		"not equal"},
X	/* 89*/	{U, 0, 0, 1, "{",		"{"},
X	/* 90*/	{U, 0, 0, 1, "}",		"}"},
X	/* 91*/	{S, 0, 0, 1, "(",		"acute accent"},
X	/* 92*/	{S, 0, 0, 1, ")",		"grave accent"},
X	/* 93*/	{S, 0, 0, 1, "*",		"^"},
X	/* 94*/	{U, 0, 0, 1, "#",		"#"},
X	/* 95*/	{CF('J'), 0, 0, 1, "(",		"left hand"},
X	/* 96*/	{CF('J'), 0, 0, 1, "7",		"member of"},
X	/* 97*/	{S, 0, 0, 1, ",",		"~"},
X	/* 98*/	{CF('J'), 0, 0, 1, "X",		"empty set"},
X	/* 99*/	{U, 0, 0, 1, NOCODE,		"unassigned"},
X	/*100*/	{CF('J'), 0, 0, 1, "O",		"dbl dagger"},
X	/*101*/	{CF('J'), -.2, 0, 1, "v",	"box rule (was parallel sign)"},
X	/*102*/	{U, 0, 0, 1, "*",		"math * "},
X	/*103*/	{CF('J'), 0, 0, 1, ">",		"improper subset"},
X	/*104*/	{CF('J'), 0, 0, 1, "M",		"circle"},
X	/*105*/	{CF('I'), 0, 0, 1, NOCODE,	"unassigned"},
X	/*106*/	{CF('I'), 0, 0, 1, "+",		"equation plus"},
X	/*107*/	{CF('J'), 0, 0, 1, "\042",	"right arrow"},
X	/*108*/	{S, 0, 0, 1, "=",		"section"}
X};
X#endif
X#endif
END_OF_FILE
if test 23102 -ne `wc -c <'ljtables.c'`; then
    echo shar: \"'ljtables.c'\" unpacked with wrong size!
fi
# end of 'ljtables.c'
fi
echo shar: End of archive 6 \(of 6\).
cp /dev/null ark6isdone
MISSING=""
for I in 1 2 3 4 5 6 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 6 archives.
    echo "Read README to install psroff"
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

-- 
Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.