/* tabhp3p.c
	Nroff driver table For a Hewlett Packard IIIP Laser Printer
	Copyright Julian H. Stacey October 1991
I think I read somewhere that an HP3P has a Cannon SX engine in it.
This table Interpretation:
	left column, number of printing chars, then string
Installation:
	cc -c tabhp3p.c -o /usr/lib/term/tabhp3p; strip /usr/lib/term/tabhp3p
	gcc doesnt get the structure format right on the Symmetric, so use cc.
Usage:
	nroff -Thp3p fred.rof > bla ; 78bit -8 bla ; lpr -Php -r bla
8 bit chars & bsd 4.2 lpd configuration:
	bsd 4.2 tty driver in cooked mode strips 8th bit,
	To set the lpd line printer daemon to pass raw files, add
		":fs#06360:"
	to the /etc/printcap entry, & restart /usr/lib/lpd.
BUG
	everytime I select a non az char i select alternate font, & clear my
	bold attribute, so I cant print bold square outline currently.
*/

#define J_BACK_SLASH
/* 8 BIT PROBLEM allowed for by J_BACK_SLASH 
	nroff strips 8th bit 
		(pjc says it can be avoided, but I dont see how for standard
		binary 4.2 nroff .)
SOLUTION
	I use Esc> to indicate parity required, & Esc# to cancel,
	then post process the nroff output with my 78bit.c program.
	78bit.c requires \ to be delimeted by another \, hence J_BACK_SLASH.
	Note unlike the epson control language, hp-pcl appears to offer no
	`assert parity bit from now on, until told otherwise' sequence.
*/


#define J_QUOTES
/* J_QUOTES if defined, selects for ` and ' , a font set with symetrically
   matching open & close quote symbols,
   if not defined, we use asymetric (normal) grave & acute characters 
*/

#define J_HORIZ
/* J_HORIZ is defined to preserve correct succesive column spacing,
   when non a-z chars from alternate font sets are used, that are not of
   same standard width as primary font.
   I save position, print the non a-z char, restore position, print space char*/

/* HP3P User Manual Page 5-15:
To combine HP escapes sequences, 
	(only allowable if next 2 chars after subsequent escape are same
	as 2 chars after primary escape) omit subsequent escapes,
	omit subsequent identical 2 letter sequences,
	use lower case throughout combined sequence, except for terminal char.
*/

#define INCH 240
struct {
	int bset;	/* terminal driver set		*/
	int breset;	/* terminal driver reset	*/
	int Hor;	/* horizontal resolution	*/
	int Vert;	/* vertical resolution		*/
	int Newline;	/* length on one line feed	*/
	int Char;	/* character size increment	*/
	int Em;		/* em size			*/
	int Halfline;	/* length of half line feed	*/
	int Adj;	/* white size increment		*/
	char *twinit;	/* initialize string to printer at top of file */
	char *twrest;	/* reset string to printer at end of file */
	char *twnl;	/* newline string		*/
	char *hlr;	/* half-line-feed-reverse	*/
	char *hlf;	/* half-line-feed-forward	*/
	char *flr;	/* full-line-feed-reverse	*/
	char *bdon;	/* bold-on string		*/
	char *bdoff;	/* bold-off string		*/
	char *ploton;	/* plot on string		*/
	char *plotoff;	/* plot off string		*/
	char *up;	/* these strings move as	*/
	char *down;	/*	indicated in plot mode	*/
	char *right;	/*	in best available	*/
	char *left;	/*	resolution		*/
	char *codetab[256-32];	/* see the table	*/
	int zzz; } t = {
/*bset*/	0,
/*breset*/	0,
/*Hor*/		INCH/120,	/* must be consisten with plot increments */
/*Vert*/	INCH/48,	/* ditto */
/*Newline*/	INCH/8,
/*Char*/	INCH/12,	/* the character unit for the code table */
				/* brother elite = 12cpi,brother pica = 10 cpi*/
				/* JHS_LATER adjust spacing sizes */
/*Em*/		INCH/12,	/* the nominal space size */
/*Halfline*/	INCH/16,
/*Adj*/		INCH/12,	/* the white caused by a single plot move */
/* HP3P User Manual Page 6-24: Select font in proper sequence:
	ATTRIBUTE		EXAMPLE ESCAPE		EXAMPLE NAME
	symbol set,		\033(8U			roman 8
	spacing			\033(s1P		proportional
	pitch			\033(s10H		10 pitch
	point size		\033(s12V		12 point
	style			\033(s0S		solid
		0=upright solid; 1=italic; 4=condensed; 5=condensed italic;
		8=compressed or extra condensed; 24=expanded; 32=outline;
		64=inline; 128=shadowed; 160=outline shadowed.
	stroke weight		\033(s0B		medium
	typeface family		\033(s4148T		4148=Univers
		3=Courier; 0=Lineprinter; 4101=CG Times
	Combined		\033(8U\033(s1p12v1s0b4148T
	Note that thus every time I select an alternate symbol set,
	I set everything that comes after it as well, (secondary font
	symbol sets I use are 0U,1G,5U,6J,7J,8M), 
	This avoids the special chars coming out with markedly wrong size
	relative to a-z, unfortunately spacing consumed is still irregular,
	& J_HORIZ is still necessary
*/
/*twinit*/	
#define	SYM_GERMAN
#ifndef	SYM_BRITISH
#ifndef	SYM_GERMAN
#define SYM_ASCII
#endif
#endif
/* the next strings have 500 spaces prepended to allow room for overlay.c
	to insert VSL headed notepaper */
#ifdef SYM_ASCII
/* ASCII font set for braces & brackets : { | } [ \ ] ~ */
"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \033&k2G\033&l6D\033(0U\033(s1p10h12v0s0b3T\033)0U\033)s1p10h12v0s0b3T",
#endif
#ifdef SYM_BRITISH
/* UK Pound sign */
"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \033&k2G\033&l6D\033(1E\033(s1p10h12v0s0b3T\033)1E\033)s1p10h12v0s0b3T",
#endif
#ifdef SYM_GERMAN
/* German umlauts ae oe ue AE OE UE ss from { | } [ \ ] ~ */
"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \033&k2G\033&l6D\033(1G\033(s1p10h12v0s0b3T\033)1G\033)s1p10h12v0s0b3T",
#endif
/* Explanation of printer initial settings
	12 cpi 8 lpi 10 point 
		gives 85 lines per page, 94 chars per line
	10 cpi 6 lpi 12 point 
		gives 64 lines per page, 79 chars per line
	\033E			Reset,
	\033&k2G		Line termination map:	CR->CR,LF->CR LF,FF>CRFF
	\033&l6D		lines per inch:		6
	\033(0U			Character Symbol Set:	0U=Ascii=ISO6, 
							8U=Roman8, 1G=German 
	\033(s1P 		Proportional spacing:	0=Off=fixed
	\033(s10H 		Pitch chars/inch:	10 cpi 
				(valid only for fixed fonts)
	\033(s12v 		Point Size:		10
	\033(s0S		Style 0, (normal non italic/shadow etc)
	\033(s0B		Stroke Weight:		0 (medium)
	\033(s3T		Typeface Family:	Courier
*/
/*twrest*/	"",		/* reset printer to defaults after nroff 
				   text processed (& page break ejected) */
				/* newline code	*/
/*twnl*/	"\n",		/* nroff only adds this string in
				   line breaks it generates, thus even if a \r\n
				   sequence is specified, any \n in the
				   original input does not acquire a \r;
				   As I drive the laser on a raw tty,
				   twinit includes a sequence
				   to tell laser to map all \n to \r\n */
/*hlr*/		"\033&a-0.5R",	/* half line reverse feed */
/*hlf*/		"\033=",	/* half line forward feed */
/*flr*/		"\033&a-1R",	/* full line reverse */
/*bdon*/	"\033(s3B\033)s3B", /* Bold Font '\fB' to invoke */
/*bdoff*/	"\033(s0B\033)s0B", /* Standard font chars. '\fP' to invoke */
/*ploton*/	"",
/*plotoff*/	"",
/*up*/		"\033&a-1R",
/*down*/	"\033&a+1R",
#if 0
/*right*/	"\033&a+1C",
/*left*/	"\033&a-1C",
#else
/*right*/	" ",
/*left*/	"\b",
#endif
/* --------------- */
"\001 ",	/* space */
"\001!",	/* ! */
"\001\"",	/* " */
"\001#",	/* # */
"\001$",	/* $ */
"\001%",	/* % */
"\001&",	/* & */
		/* ' close */
#ifdef J_QUOTES
"\001\033)7J\033)s1p10h12v0s0b3T\016\047\017",
#else
"\001'",
#endif
"\001(",	/* ( */
"\001)",	/* ) */
"\001*",	/* * */
"\001+",	/* + */
"\001,",	/* , */
"\001-",	/* - hyphen */
"\001.",	/* . */
"\001/",	/* / */
"\2010",	/* 0 */
"\2011",	/* 1 */
"\2012",	/* 2 */
"\2013",	/* 3 */
"\2014",	/* 4 */
"\2015",	/* 5 */
"\2016",	/* 6 */
"\2017",	/* 7 */
"\2018",	/* 8 */
"\2019",	/* 9 */
"\001:",	/* : */
"\001;",	/* ; */
"\001<",	/* < */
"\001=",	/* = */
"\001>",	/* > */
"\001?",	/* ? */
"\001@",	/* @ */
"\201A",	/* A */
"\201B",	/* B */
"\201C",	/* C */
"\201D",	/* D */
"\201E",	/* E */
"\201F",	/* F */
"\201G",	/* G */
"\201H",	/* H */
"\201I",	/* I */
"\201J",	/* J */
"\201K",	/* K */
"\201L",	/* L */
"\201M",	/* M */
"\201N",	/* N */
"\201O",	/* O */
"\201P",	/* P */
"\201Q",	/* Q */
"\201R",	/* R */
"\201S",	/* S */
"\201T",	/* T */
"\201U",	/* U */
"\201V",	/* V */
"\201W",	/* W */
"\201X",	/* X */
"\201Y",	/* Y */
"\201Z",	/* Z */

"\001[",	/*[*/

/* was	"\001\\",	/* \ */
#ifndef J_BACK_SLASH
"\001\\",
#else
"\001\\\\",
#endif

"\001]",	/*]*/

"\001^",	/* ^ */

"\001_",	/* _ dash */
		/* ` open */
#ifdef J_QUOTES
"\001\033)7J\033)s1p10h12v0s0b3T\016\140\017",
#else
"\001`",
#endif

"\201a",	/* a	*/
"\201b",	/* b	*/
"\201c",	/* c	*/
"\201d",	/* d	*/
"\201e",	/* e	*/
"\201f",	/* f	*/
"\201g",	/* g	*/
"\201h",	/* h	*/
"\201i",	/* i	*/
"\201j",	/* j	*/
"\201k",	/* k	*/
"\201l",	/* l	*/
"\201m",	/* m	*/
"\201n",	/* n	*/
"\201o",	/* o	*/
"\201p",	/* p	*/
"\201q",	/* q	*/
"\201r",	/* r	*/
"\201s",	/* s	*/
"\201t",	/* t	*/
"\201u",	/* u	*/
"\201v",	/* v	*/
"\201w",	/* w	*/
"\201x",	/* x	*/
"\201y",	/* y	*/
"\201z",	/* z	*/
"\001{",	/* {	*/
"\001|",	/* |	*/
"\001}",	/* }	*/
"\001~",	/* ~	*/
"\001\033&a+0.5C",			/* narrow space (actually half space right) */
"\001-",				/* hyphen	*/
					/* bullet	*/
/* I would like:
	"\001\033)8M\033)s1p10h12v0s0b3T\016\0313\017",
but nroff strips the 8th bit ... Argh !,
	So need to pass output through
	my post processor parity tool called 78bit,
	spec: (^[> = assert, ^[# = cancel )
	*/
/* note I use 062, not 0264, to avoid nroff discarding a char with 8th bit set
bullet built by select DeskTop Symbol Set for secondary font,
	shift out = ^N = select secondary font set
	shift in = ^O = select primary font set
	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\064\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\064\033#\017\033&f1S ",
#endif

					/* \(sq square	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\070\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\070\033#\017\033&f1S ",
#endif
"\001-",				/* \(em 3/4 em	*/	/* whats this - jhs	*/
"\001_",				/* \(ru rule	*/

					/* \(14 1/4	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\107\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\107\033#\017\033&f1S ",
#endif

					/* \(12 1/2	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\110\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\110\033#\017\033&f1S ",
#endif

					/* \(34 3/4	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\111\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\111\033#\017\033&f1S ",
#endif

"\001-",				/* minus (current font) */

					/* \(fi fi	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\033>\051\033#\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\033>\051\033#\017\033&f1S ",
#endif

					/* \(fl fl	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\033>\052\033#\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\033>\052\033#\017\033&f1S ",
#endif

					/* \(ff ff	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\033>\053\033#\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\033>\053\033#\017\033&f1S ",
#endif

					/* \(Fi ffi	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\033>\054\033#\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\033>\054\033#\017\033&f1S ",
#endif

					/* \(Fl ffl	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\033>\055\033#\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\033>\055\033#\017\033&f1S ",
#endif

					/* \(de degree	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\033>\060\033#\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\033>\060\033#\017\033&f1S ",
#endif

					/* \(dg dagger	*/
#ifndef	J_HORIZ
"\001\033)6J\033)s1p10h12v0s0b3T\016\053\017",
#else
"\001\033)6J\033)s1p10h12v0s0b3T\033&f0S\016\053\017\033&f1S ",
#endif

					/* \(sc section (german legal as 2 S overlaid	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\042\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\042\033#\017\033&f1S ",
#endif
"\001'",				/* \(fm foot mark	JJ_LATER */
"\001'",				/* \(aa acute accent */
"\001`",				/* \(ga grave accent */
					/* \(ul underrule	
						also base of box */
/* used to use "\001_", now im trying to use this for bottom of box rule */
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\137\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\137\017\033&f1S ",	
#endif
"\001/",				/* \(sl slash (longer) JJ_LATER	*/
"\001\033&a+0.5C",			/* ??   half narrow space => 1/12 em */
"\001 ",				/* \(space) unpaddable space	*/
"\001\033)8M\033)s1p10h12v0s0b3T\016\141\017",		/* \(*a alpha	*/

					/* \(*b beta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\142\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\142\017\033&f1S ",
#endif

					/* \(*g gamma	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\143\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\143\017\033&f1S ",
#endif

					/* \(*d delta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\144\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\144\017\033&f1S ",
#endif

					/* \(*e epsilon	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\145\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\145\017\033&f1S ",
#endif

					/* \(*z zeta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\146\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\146\017\033&f1S ",
#endif

					/* \(*y eta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\147\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\147\017\033&f1S ",
#endif

					/* \(*h theta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\150\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\150\017\033&f1S ",
#endif

					/* \(*i iota	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\151\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\151\017\033&f1S ",
#endif

					/* \(*k kappa	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\152\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\152\017\033&f1S ",
#endif

					/* \(*l lambda	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\153\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\153\017\033&f1S ",
#endif

					/* \(*m mu	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\154\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\154\017\033&f1S ",
#endif

					/* \(*n nu	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\155\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\155\017\033&f1S ",
#endif

					/* \(*c xi	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\156\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\156\017\033&f1S ",
#endif

					/* \(*o omicron	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\157\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\157\017\033&f1S ",
#endif
"\001\033)8M\033)s1p10h12v0s0b3T\016\160\017",		/* \(*p pi	*/

					/* \(*r rho	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\161\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\161\017\033&f1S ",
#endif

					/* \(*s sigma	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\162\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\162\017\033&f1S ",
#endif

					/* \(t tau	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\163\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\163\017\033&f1S ",
#endif

					/* \(*u upsilon	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\164\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\164\017\033&f1S ",
#endif
"\001\033)8M\033)s1p10h12v0s0b3T\016\165\017",		/* \(*f phi	*/

					/* \(*x chi	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\166\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\166\017\033&f1S ",
#endif
"\001\033)8M\033)s1p10h12v0s0b3T\016\167\017",		/* \(*q psi	*/
"\001\033)8M\033)s1p10h12v0s0b3T\016\170\017",		/* \(*w omega	*/
"\001\033)8M\033)s1p10h12v0s0b3T\016\103\017",		/* \(*G Gamma	*/

					/* \(*D Delta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\104\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\104\017\033&f1S ",
#endif

					/* \(*H Theta	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\110\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\110\017\033&f1S ",
#endif

					/* \(*L Lambda	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\113\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\113\017\033&f1S ",
#endif

					/* \(*C Xi	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\116\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\116\017\033&f1S ",
#endif

					/* \(*P Pi	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\120\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\120\017\033&f1S ",
#endif
"\001\033)8M\033)s1p10h12v0s0b3T\016\122\017",		/* \(*S Sigma	*/
"\000",					/* blank in all nroff tables ive looked at - why ? */
"\001\033)8M\033)s1p10h12v0s0b3T\016\124\017",		/* \(*U Upsilon	*/

					/* \(*F Phi	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\125\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\125\017\033&f1S ",
#endif

					/* \(*Q Psi	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\127\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\127\017\033&f1S ",
#endif
"\001\033)8M\033)s1p10h12v0s0b3T\016\130\017",		/* \(*W Omega	*/

					/* \(sr square root	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\041\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\041\017\033&f1S ",
#endif

					/* \(ts terminal sigma	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\133\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\133\017\033&f1S ",
#endif

					/* \(rn root en, root extender	
						also top of box */
/* I tried 
	"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\057\033#\017",
  but that had a tweak on top right, like a sharp one sided arrow ;
  I tried a vertically raised underline 
	"\001\033&a-1R_\033&a+1R",
  but that wasnt high enough to line up with box end.
  */
#ifndef	J_HORIZ
"\001\033)5M\033)s1p10h12v0s0b3T\016\140\017",
#else
"\001\033)5M\033)s1p10h12v0s0b3T\033&f0S\016\140\017\033&f1S ",
#endif

					/* \(>= >=	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\136\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\136\017\033&f1S ",
#endif

					/* \(<= <=	*/
#ifndef J_BACK_SLASH
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\134\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\134\017\033&f1S ",
#endif
#else
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\\\\\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\\\\\017\033&f1S ",
#endif
#endif

					/* \(== identically equal	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\175\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\175\017\033&f1S ",
#endif

					/* \(mi equation minus	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\055\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\055\017\033&f1S ",
#endif

					/* \(~= approx =	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\077\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\077\017\033&f1S ",
#endif

					/* \(ap approximates	*/
#ifndef	J_HORIZ
"\001\033)0U\033)s1p10h12v0s0b3T\016~\017",
#else
"\001\033)0U\033)s1p10h12v0s0b3T\033&f0S\016~\017\033&f1S ",
#endif

					/* \(!= not equal	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\135\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\135\017\033&f1S ",
#endif

					/* \(-> right arrow	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\042\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\042\033#\017\033&f1S ",
#endif

					/* \(<- left arrow	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\044\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\044\033#\017\033&f1S ",
#endif

					/* \(ua up arrow	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\041\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\041\033#\017\033&f1S ",
#endif

					/* \(da down arrow	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\043\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\043\033#\017\033&f1S ",
#endif

					/* \(eq equation equal	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\075\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\075\017\033&f1S ",
#endif

					/* \(mu multiply	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\052\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\052\017\033&f1S ",
#endif

					/* \(di divide	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\045\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\045\017\033&f1S ",
#endif

					/* \(+- plus-minus	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\176\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\176\033#\017\033&f1S ",
#endif

					/* \(cu cup (union)	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\065\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\065\033#\017\033&f1S ",
#endif

					/* \(ca cap (intersection)	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\066\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\066\033#\017\033&f1S ",
#endif

					/* \(sb subset of	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\072\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\072\033#\017\033&f1S ",
#endif

					/* \(sp superset of	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\073\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\073\033#\017\033&f1S ",
#endif

					/* \(ib improper subset	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\076\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\076\033#\017\033&f1S ",
#endif

					/* \(ip improper superset	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\077\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\077\033#\017\033&f1S ",
#endif

					/* \(if infinity	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\044\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\044\017\033&f1S ",
#endif

					/* \(pd partial derivative	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\132\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\132\017\033&f1S ",
#endif

					/* \(gr gradient	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\131\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\131\017\033&f1S ",
#endif

					/* \(no not	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\110\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\110\033#\017\033&f1S ",
#endif

					/* \(is integral sign	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\125\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\125\033#\017\033&f1S ",
#endif

					/* \(pt proportional to	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\046\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\046\017\033&f1S ",
#endif

					/* \(es empty set	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\130\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\130\033#\017\033&f1S ",
#endif

					/* \(mo member of	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\067\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\067\033#\017\033&f1S ",
#endif

					/* \(pl equation plus	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\053\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\053\017\033&f1S ",
#endif

					/* \(rg registered	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\046\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\046\033#\017\033&f1S ",
#endif

					/* \(co copyright	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\045\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\045\033#\017\033&f1S ",
#endif
					/* \(br  box rule (thin)	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\166\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\166\033#\017\033&f1S ",
#endif

					/* \(ct cent sign	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\051\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\051\033#\017\033&f1S ",
#endif

					/* \(dd dbl dagger	*/
#ifndef	J_HORIZ
"\001\033)7J\033)s1p10h12v0s0b3T\016\033>\044\033#\017",
#else
"\001\033)7J\033)s1p10h12v0s0b3T\033&f0S\016\033>\044\033#\017\033&f1S ",
#endif

					/* \(rh right hand (Im using a double shaft arrow)	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\046\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\046\033#\017\033&f1S ",
#endif

					/* \(lh left hand (Im using a double shaft arrow)	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\050\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\050\033#\017\033&f1S ",
#endif

					/* \(** math *	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\052\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\052\017\033&f1S ",
#endif

					/* \(bs bell system sign Im using an intersection + down arrow (=bell clapper!)	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\066\033#\b\033>\043\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\066\033#\b\033>\043\033#\017\033&f1S ",
#endif

					/* \(or or (was star)	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\166\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\166\033#\017\033&f1S ",
#endif

					/* \(ci circle	*/
#ifndef	J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\115\033#\017",
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\115\033#\017\033&f1S ",
#endif

				/* \(lt left top (of big curly)	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\142\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\142\033#\017\033&f1S ",	
#endif

				/* \(lb left bottom (of big curly) */
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\144\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\144\033#\017\033&f1S ",	
#endif

				/* \(rt right top (of big curly) */
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\162\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\162\033#\017\033&f1S ",	
#endif

				/* \(rb right bot (of big curly) */
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\164\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\164\033#\017\033&f1S ",	
#endif

				/* \(lk left center of big curly bracket */
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\143\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\143\033#\017\033&f1S ",	
#endif

				/* \(rk right center of big curly bracket */
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\163\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\163\033#\017\033&f1S ",	
#endif

				/* \(bv bold vertical (thick)	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\165\033#\017", 
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\165\033#\017\033&f1S ", 
#endif

				/* \(lf left floor (left bot of big sq bract)	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\141\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\141\033#\017\033&f1S ",	
#endif

				/* \(rf right floor (rb of ")	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\161\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\161\033#\017\033&f1S ",	
#endif

				/* \(lc left ceiling (lt of ")	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\140\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\140\033#\017\033&f1S ",	
#endif

				/* \(rc right ceiling (rt of ")	*/
#ifndef J_HORIZ
"\001\033)8M\033)s1p10h12v0s0b3T\016\033>\160\033#\017",	
#else
"\001\033)8M\033)s1p10h12v0s0b3T\033&f0S\016\033>\160\033#\017\033&f1S ",	
#endif
};
