/* 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 };