1*48306Sbostic /*- 2*48306Sbostic * %sccs.include.proprietary.c% 3*48306Sbostic * 4*48306Sbostic * @(#)tabepson.c 1.4 (Berkeley) 04/18/91 5*48306Sbostic */ 6*48306Sbostic 720979Smiriam /************************************************************************* 820979Smiriam * This is 'tabepson.c' for an Epson FX80. Default spacing is elite. * 920979Smiriam * This represents a combination and very slight modification of two * 1020979Smiriam * nroff driving tables. Specifically : * 1120979Smiriam * * 1220979Smiriam * tablpr.c by UCB Computing Center (the approximation of greek) * 1320979Smiriam * * 1420979Smiriam * tabfx80p.c by Goeke@MIT-Multics.ARPA (Epson print mode switching) * 1520979Smiriam * replaces big curly bracket parts with the following: * 1620979Smiriam * * 1720979Smiriam * PRINT MODE: CHARACTER SEQUENCE * 1820979Smiriam * FX80 set Double Strike \(lt * 1920979Smiriam * FX80 cancels D.S. \(lb * 2020979Smiriam * FX80 set Condensed \(rt * 2120979Smiriam * FX80 cancels Condensed \(rb * 2220979Smiriam * FX80 set Pica size \(lk * 2320979Smiriam * FX80 set Elite size \(rk * 2420979Smiriam * FX80 set Proportional \(bv * 2520979Smiriam * FX80 set Expanded Mode \(lf * 2620979Smiriam * FX80 cancel Expanded Mode \(rf * 2720979Smiriam * FX80 underline on \(lc * 2820979Smiriam * FX80 underline off \(rc * 2920979Smiriam * * 3020979Smiriam * --> J. Michael Cherry, 1/18/85 molbio@ucblapis or * 3120979Smiriam * ucbvax!molbio!mike * 3220979Smiriam * * 3320979Smiriam *************************************************************************/ 3420979Smiriam 3520979Smiriam #define INCH 240 3620979Smiriam 3720979Smiriam struct { 3820979Smiriam int bset; /* terminal driver set */ 3920979Smiriam int breset; /* terminal driver reset */ 4020979Smiriam int Hor; /* horizontal resolution */ 4120979Smiriam int Vert; /* vetical resolution */ 4220979Smiriam int Newline; /* length on one line feed */ 4320979Smiriam int Char; /* character size increment */ 4420979Smiriam int Em; /* em size */ 4520979Smiriam int Halfline; /* length of half line feed */ 4620979Smiriam int Adj; /* white size increment */ 4720979Smiriam char *twinit; /* initialize string to printer */ 4820979Smiriam char *twrest; /* reset string to printer */ 4920979Smiriam char *twnl; /* newline string */ 5020979Smiriam char *hlr; /* half-line-feed-reverse */ 5120979Smiriam char *hlf; /* half-line-feed-forward */ 5220979Smiriam char *flr; /* full-line-feed-reverse */ 5320979Smiriam char *bdon; /* bold-on string */ 5420979Smiriam char *bdoff; /* bold-off string */ 5520979Smiriam char *ploton; /* plot on string */ 5620979Smiriam char *plotoff; /* plot off string */ 5720979Smiriam char *up; /* these strings move as */ 5820979Smiriam char *down; /* indicated in plot mode */ 5920979Smiriam char *right; /* in best available */ 6020979Smiriam char *left; /* resolution */ 6120979Smiriam char *codetab[256-32]; /* see the table */ 6220979Smiriam int zzz; 6320979Smiriam } t = { 6420979Smiriam /*bset*/ 0, 6520979Smiriam /*breset*/ 0, 6620979Smiriam /*Hor*/ INCH/120, /* must be consisten with plot increments */ 6720979Smiriam /*Vert*/ INCH/48, /* ditto */ 6820979Smiriam /*Newline*/ INCH/6, 6920979Smiriam /*Char*/ INCH/12, /* the character unit for the code table */ 7020979Smiriam /*Em*/ INCH/12, /* the nominal space size */ 7120979Smiriam /*Halfline*/ INCH/12, 7220979Smiriam /*Adj*/ INCH/12, /* the white caused by a single plot move */ 7320979Smiriam /*twinit*/ "\033M", /* invoke elite */ 7420979Smiriam /*twrest*/ "\033@", /* reset printer to deflauts */ 7520979Smiriam /*twnl*/ "\n", /* newline code */ 7620979Smiriam /*hlr*/ "\033j\022", 7720979Smiriam /*hlf*/ "\033J\022", /* forward feed */ 7820979Smiriam /*flr*/ "\033j\044", 7920979Smiriam /*bdon*/ "\033G", /* Alternate chars. '\fB' to invoke */ 8020979Smiriam /*bdoff*/ "\033H", /* Standard chars. '\fP' to invoke */ 8120979Smiriam /*ploton*/ "", 8220979Smiriam /*plotoff*/ "", 8320979Smiriam /*up*/ "", 8420979Smiriam /*down*/ "", 8520979Smiriam /*right*/ "", 8620979Smiriam /*left*/ "", 8720979Smiriam 8820979Smiriam "\001 ", /*space*/ 8920979Smiriam "\001!", /*!*/ 9020979Smiriam "\001\"", /*"*/ 9120979Smiriam "\001#", /*#*/ 9220979Smiriam "\001$", /*$*/ 9320979Smiriam "\001%", /*%*/ 9420979Smiriam "\001&", /*&*/ 9520979Smiriam "\001'", /*' close*/ 9620979Smiriam "\001(", /*(*/ 9720979Smiriam "\001)", /*)*/ 9820979Smiriam "\001*", /***/ 9920979Smiriam "\001+", /*+*/ 10020979Smiriam "\001,", /*,*/ 10120979Smiriam "\001-", /*- hyphen*/ 10220979Smiriam "\001.", /*.*/ 10320979Smiriam "\001/", /*/*/ 10420979Smiriam "\2010", /*0*/ 10520979Smiriam "\2011", /*1*/ 10620979Smiriam "\2012", /*2*/ 10720979Smiriam "\2013", /*3*/ 10820979Smiriam "\2014", /*4*/ 10920979Smiriam "\2015", /*5*/ 11020979Smiriam "\2016", /*6*/ 11120979Smiriam "\2017", /*7*/ 11220979Smiriam "\2018", /*8*/ 11320979Smiriam "\2019", /*9*/ 11420979Smiriam "\001:", /*:*/ 11520979Smiriam "\001;", /*;*/ 11620979Smiriam "\001<", /*<*/ 11720979Smiriam "\001=", /*=*/ 11820979Smiriam "\001>", /*>*/ 11920979Smiriam "\001?", /*?*/ 12020979Smiriam "\001@", /*@*/ 12120979Smiriam "\201A", /*A*/ 12220979Smiriam "\201B", /*B*/ 12320979Smiriam "\201C", /*C*/ 12420979Smiriam "\201D", /*D*/ 12520979Smiriam "\201E", /*E*/ 12620979Smiriam "\201F", /*F*/ 12720979Smiriam "\201G", /*G*/ 12820979Smiriam "\201H", /*H*/ 12920979Smiriam "\201I", /*I*/ 13020979Smiriam "\201J", /*J*/ 13120979Smiriam "\201K", /*K*/ 13220979Smiriam "\201L", /*L*/ 13320979Smiriam "\201M", /*M*/ 13420979Smiriam "\201N", /*N*/ 13520979Smiriam "\201O", /*O*/ 13620979Smiriam "\201P", /*P*/ 13720979Smiriam "\201Q", /*Q*/ 13820979Smiriam "\201R", /*R*/ 13920979Smiriam "\201S", /*S*/ 14020979Smiriam "\201T", /*T*/ 14120979Smiriam "\201U", /*U*/ 14220979Smiriam "\201V", /*V*/ 14320979Smiriam "\201W", /*W*/ 14420979Smiriam "\201X", /*X*/ 14520979Smiriam "\201Y", /*Y*/ 14620979Smiriam "\201Z", /*Z*/ 14720979Smiriam "\001[", /*[*/ 14820979Smiriam "\001\\", /*\*/ 14920979Smiriam "\001]", /*]*/ 15020979Smiriam "\001^", /*^*/ 15120979Smiriam "\001_", /*_ dash*/ 15220979Smiriam "\001`", /*` open*/ 15320979Smiriam "\201a", /*a*/ 15420979Smiriam "\201b", /*b*/ 15520979Smiriam "\201c", /*c*/ 15620979Smiriam "\201d", /*d*/ 15720979Smiriam "\201e", /*e*/ 15820979Smiriam "\201f", /*f*/ 15920979Smiriam "\201g", /*g*/ 16020979Smiriam "\201h", /*h*/ 16120979Smiriam "\201i", /*i*/ 16220979Smiriam "\201j", /*j*/ 16320979Smiriam "\201k", /*k*/ 16420979Smiriam "\201l", /*l*/ 16520979Smiriam "\201m", /*m*/ 16620979Smiriam "\201n", /*n*/ 16720979Smiriam "\201o", /*o*/ 16820979Smiriam "\201p", /*p*/ 16920979Smiriam "\201q", /*q*/ 17020979Smiriam "\201r", /*r*/ 17120979Smiriam "\201s", /*s*/ 17220979Smiriam "\201t", /*t*/ 17320979Smiriam "\201u", /*u*/ 17420979Smiriam "\201v", /*v*/ 17520979Smiriam "\201w", /*w*/ 17620979Smiriam "\201x", /*x*/ 17720979Smiriam "\201y", /*y*/ 17820979Smiriam "\201z", /*z*/ 17920979Smiriam "\001{", /*{*/ 18020979Smiriam "\001|", /*|*/ 18120979Smiriam "\001}", /*}*/ 18220979Smiriam "\001~", /*~*/ 18320979Smiriam "\001", /* narrow sp */ 18420979Smiriam "\001-", /*hyphen*/ 18520979Smiriam "\001\033j\003.\033J\003", /*bullet*/ 18635268Sbostic "\002[]", /*square*/ 18720979Smiriam "\001-", /*3/4 em*/ 18820979Smiriam "\001_", /*rule*/ 18920979Smiriam "\0031/4", /*1/4*/ 19020979Smiriam "\0031/2", /*1/2*/ 19120979Smiriam "\0033/4", /*3/4*/ 19220979Smiriam "\001-", /*minus*/ 19320979Smiriam "\202fi", /*fi*/ 19420979Smiriam "\202fl", /*fl*/ 19520979Smiriam "\202ff", /*ff*/ 19620979Smiriam "\203ffi", /*ffi*/ 19720979Smiriam "\203ffl", /*ffl*/ 19820979Smiriam "\001\033j\013o\033J\013", /*degree*/ 19920979Smiriam "\001|\b\033j\002-\033J\002", /*dagger*/ 20020979Smiriam "\001 ", /* section*/ 20120979Smiriam "\001'", /*foot mark*/ 20220979Smiriam "\001'", /*acute accent*/ 20320979Smiriam "\001`", /*grave accent*/ 20420979Smiriam "\001_", /*underrule*/ 20520979Smiriam "\001/", /*slash (longer)*/ 20620979Smiriam "\001\0", /*half narrow space => 1/12 em */ 20720979Smiriam "\001 ", /*unpaddable space*/ 20820979Smiriam "\201o\b(", /*alpha*/ 20920979Smiriam "\2018\b|", /*beta*/ 21020979Smiriam "\201>\b/", /*gamma*/ 21120979Smiriam "\201d\b`", /*delta*/ 21220979Smiriam "\201C\b-", /*epsilon*/ 21320979Smiriam "\000\0", /*zeta*/ 21420979Smiriam "\201n", /*eta*/ 21520979Smiriam "\201o\b-", /*theta*/ 21620979Smiriam "\201i", /*iota*/ 21720979Smiriam "\201k", /*kappa*/ 21820979Smiriam "\201,\b\\", /*lambda*/ 21920979Smiriam "\201u", /*mu*/ 22020979Smiriam "\201v", /*nu*/ 22120979Smiriam "\000\0", /*xi*/ 22220979Smiriam "\201o", /*omicron*/ 22320979Smiriam "\202i\b~i\b~", /*pi*/ 22420979Smiriam "\201p", /*rho*/ 22520979Smiriam "\201o\b~", /*sigma*/ 22620979Smiriam "\201i\b~", /*tau*/ 22720979Smiriam "\201u", /*upsilon*/ 22820979Smiriam "\201o\b|", /*phi*/ 22920979Smiriam "\201x", /*chi*/ 23020979Smiriam "\201u\b|", /*psi*/ 23120979Smiriam "\201w", /*omega*/ 23220979Smiriam "\201I\b~", /*Gamma*/ 23320979Smiriam "\202/\b_\\\b_", /*Delta*/ 23420979Smiriam "\201O\b-", /*Theta*/ 23520979Smiriam "\202/\\", /*Lambda*/ 23620979Smiriam "\201=\b_", /*Xi*/ 23720979Smiriam "\202TT", /*Pi*/ 23820979Smiriam "\201>\b_\b~", /*Sigma*/ 23920979Smiriam "\000", /**/ 24020979Smiriam "\201Y", /*Upsilon*/ 24120979Smiriam "\201O\b|", /*Phi*/ 24220979Smiriam "\201U\b|", /*Psi*/ 24320979Smiriam "\201O\b_", /*Omega*/ 24420979Smiriam "\001v\b/", /*square root*/ 24520979Smiriam "\000\0", /*terminal sigma*/ 24620979Smiriam "\001~", /*root en*/ 24720979Smiriam "\001>\b_", /*>=*/ 24820979Smiriam "\001<\b_", /*<=*/ 24920979Smiriam "\001=\b_", /*identically equal*/ 25020979Smiriam "\001-", /*equation minus*/ 25120979Smiriam "\001~\b_", /*approx =*/ 25220979Smiriam "\001~", /*approximates*/ 25320979Smiriam "\001=\b/", /*not equal*/ 25420979Smiriam "\002->", /*right arrow*/ 25520979Smiriam "\002<-", /*left arrow*/ 25620979Smiriam "\001|\b^", /*up arrow*/ 25720979Smiriam "\001|\bv", /*down arrow*/ 25820979Smiriam "\001=", /*equation equal*/ 25920979Smiriam "\001x", /*multiply*/ 26020979Smiriam "\001:\b-", /*divide*/ 26120979Smiriam "\001+\b_", /*plus-minus*/ 26220979Smiriam "\002(\b~)\b~", /*cup (union)*/ 26320979Smiriam "\002(\b_)\b_", /*cap (intersection)*/ 26420979Smiriam "\002(=", /*subset of*/ 26520979Smiriam "\002=)", /*superset of*/ 26620979Smiriam "\002(=\b_", /*improper subset*/ 26720979Smiriam "\002=\b_)", /*improper superset*/ 26820979Smiriam "\002oo", /*infinity*/ 26920979Smiriam "\001o\b`", /*partial derivative*/ 27020979Smiriam "\002\\\b~/\b~", /*gradient*/ 27120979Smiriam "\000\0", /*not*/ 27220979Smiriam "\000\0", /*integral sign*/ 27320979Smiriam "\002oc", /*proportional to*/ 27420979Smiriam "\001O\b/", /*empty set*/ 27520979Smiriam "\001<\b-", /*member of*/ 27620979Smiriam "\001+", /*equation plus*/ 27720979Smiriam "\003(R)", /*registered*/ 27820979Smiriam "\003(C)", /*copyright*/ 27920979Smiriam "\001|", /*box rule */ 28020979Smiriam "\001c\b/", /*cent sign*/ 28120979Smiriam "\001|\b=", /*dbl dagger*/ 28220979Smiriam "\002=>", /*right hand*/ 28320979Smiriam "\002<=", /*left hand*/ 28420979Smiriam "\001*", /*math * */ 28520979Smiriam "\000\0", /*bell system sign*/ 28620979Smiriam "\001|", /*or (was star)*/ 28720979Smiriam "\001O", /*circle*/ 28820979Smiriam "\000\033G", /* FX80 set Double Strike */ /* \(lt */ 28920979Smiriam "\000\033H", /* FX80 cancels D.S. */ /* \(lb */ 29020980Smiriam }; 291