1 /************************************************************************* 2 * This is 'tabepson.c' for an Epson FX80. Default spacing is elite. * 3 * This represents a combination and very slight modification of two * 4 * nroff driving tables. Specifically : * 5 * * 6 * tablpr.c by UCB Computing Center (the approximation of greek) * 7 * * 8 * tabfx80p.c by Goeke@MIT-Multics.ARPA (Epson print mode switching) * 9 * replaces big curly bracket parts with the following: * 10 * * 11 * PRINT MODE: CHARACTER SEQUENCE * 12 * FX80 set Double Strike \(lt * 13 * FX80 cancels D.S. \(lb * 14 * FX80 set Condensed \(rt * 15 * FX80 cancels Condensed \(rb * 16 * FX80 set Pica size \(lk * 17 * FX80 set Elite size \(rk * 18 * FX80 set Proportional \(bv * 19 * FX80 set Expanded Mode \(lf * 20 * FX80 cancel Expanded Mode \(rf * 21 * FX80 underline on \(lc * 22 * FX80 underline off \(rc * 23 * * 24 * --> J. Michael Cherry, 1/18/85 molbio@ucblapis or * 25 * ucbvax!molbio!mike * 26 * * 27 *************************************************************************/ 28 29 #define INCH 240 30 31 struct { 32 int bset; /* terminal driver set */ 33 int breset; /* terminal driver reset */ 34 int Hor; /* horizontal resolution */ 35 int Vert; /* vetical resolution */ 36 int Newline; /* length on one line feed */ 37 int Char; /* character size increment */ 38 int Em; /* em size */ 39 int Halfline; /* length of half line feed */ 40 int Adj; /* white size increment */ 41 char *twinit; /* initialize string to printer */ 42 char *twrest; /* reset string to printer */ 43 char *twnl; /* newline string */ 44 char *hlr; /* half-line-feed-reverse */ 45 char *hlf; /* half-line-feed-forward */ 46 char *flr; /* full-line-feed-reverse */ 47 char *bdon; /* bold-on string */ 48 char *bdoff; /* bold-off string */ 49 char *ploton; /* plot on string */ 50 char *plotoff; /* plot off string */ 51 char *up; /* these strings move as */ 52 char *down; /* indicated in plot mode */ 53 char *right; /* in best available */ 54 char *left; /* resolution */ 55 char *codetab[256-32]; /* see the table */ 56 int zzz; 57 } t = { 58 /*bset*/ 0, 59 /*breset*/ 0, 60 /*Hor*/ INCH/120, /* must be consisten with plot increments */ 61 /*Vert*/ INCH/48, /* ditto */ 62 /*Newline*/ INCH/6, 63 /*Char*/ INCH/12, /* the character unit for the code table */ 64 /*Em*/ INCH/12, /* the nominal space size */ 65 /*Halfline*/ INCH/12, 66 /*Adj*/ INCH/12, /* the white caused by a single plot move */ 67 /*twinit*/ "\033M", /* invoke elite */ 68 /*twrest*/ "\033@", /* reset printer to deflauts */ 69 /*twnl*/ "\n", /* newline code */ 70 /*hlr*/ "\033j\022", 71 /*hlf*/ "\033J\022", /* forward feed */ 72 /*flr*/ "\033j\044", 73 /*bdon*/ "\033G", /* Alternate chars. '\fB' to invoke */ 74 /*bdoff*/ "\033H", /* Standard chars. '\fP' to invoke */ 75 /*ploton*/ "", 76 /*plotoff*/ "", 77 /*up*/ "", 78 /*down*/ "", 79 /*right*/ "", 80 /*left*/ "", 81 82 "\001 ", /*space*/ 83 "\001!", /*!*/ 84 "\001\"", /*"*/ 85 "\001#", /*#*/ 86 "\001$", /*$*/ 87 "\001%", /*%*/ 88 "\001&", /*&*/ 89 "\001'", /*' close*/ 90 "\001(", /*(*/ 91 "\001)", /*)*/ 92 "\001*", /***/ 93 "\001+", /*+*/ 94 "\001,", /*,*/ 95 "\001-", /*- hyphen*/ 96 "\001.", /*.*/ 97 "\001/", /*/*/ 98 "\2010", /*0*/ 99 "\2011", /*1*/ 100 "\2012", /*2*/ 101 "\2013", /*3*/ 102 "\2014", /*4*/ 103 "\2015", /*5*/ 104 "\2016", /*6*/ 105 "\2017", /*7*/ 106 "\2018", /*8*/ 107 "\2019", /*9*/ 108 "\001:", /*:*/ 109 "\001;", /*;*/ 110 "\001<", /*<*/ 111 "\001=", /*=*/ 112 "\001>", /*>*/ 113 "\001?", /*?*/ 114 "\001@", /*@*/ 115 "\201A", /*A*/ 116 "\201B", /*B*/ 117 "\201C", /*C*/ 118 "\201D", /*D*/ 119 "\201E", /*E*/ 120 "\201F", /*F*/ 121 "\201G", /*G*/ 122 "\201H", /*H*/ 123 "\201I", /*I*/ 124 "\201J", /*J*/ 125 "\201K", /*K*/ 126 "\201L", /*L*/ 127 "\201M", /*M*/ 128 "\201N", /*N*/ 129 "\201O", /*O*/ 130 "\201P", /*P*/ 131 "\201Q", /*Q*/ 132 "\201R", /*R*/ 133 "\201S", /*S*/ 134 "\201T", /*T*/ 135 "\201U", /*U*/ 136 "\201V", /*V*/ 137 "\201W", /*W*/ 138 "\201X", /*X*/ 139 "\201Y", /*Y*/ 140 "\201Z", /*Z*/ 141 "\001[", /*[*/ 142 "\001\\", /*\*/ 143 "\001]", /*]*/ 144 "\001^", /*^*/ 145 "\001_", /*_ dash*/ 146 "\001`", /*` open*/ 147 "\201a", /*a*/ 148 "\201b", /*b*/ 149 "\201c", /*c*/ 150 "\201d", /*d*/ 151 "\201e", /*e*/ 152 "\201f", /*f*/ 153 "\201g", /*g*/ 154 "\201h", /*h*/ 155 "\201i", /*i*/ 156 "\201j", /*j*/ 157 "\201k", /*k*/ 158 "\201l", /*l*/ 159 "\201m", /*m*/ 160 "\201n", /*n*/ 161 "\201o", /*o*/ 162 "\201p", /*p*/ 163 "\201q", /*q*/ 164 "\201r", /*r*/ 165 "\201s", /*s*/ 166 "\201t", /*t*/ 167 "\201u", /*u*/ 168 "\201v", /*v*/ 169 "\201w", /*w*/ 170 "\201x", /*x*/ 171 "\201y", /*y*/ 172 "\201z", /*z*/ 173 "\001{", /*{*/ 174 "\001|", /*|*/ 175 "\001}", /*}*/ 176 "\001~", /*~*/ 177 "\001", /* narrow sp */ 178 "\001-", /*hyphen*/ 179 "\001\033j\003.\033J\003", /*bullet*/ 180 "\002\[]", /*square*/ 181 "\001-", /*3/4 em*/ 182 "\001_", /*rule*/ 183 "\0031/4", /*1/4*/ 184 "\0031/2", /*1/2*/ 185 "\0033/4", /*3/4*/ 186 "\001-", /*minus*/ 187 "\202fi", /*fi*/ 188 "\202fl", /*fl*/ 189 "\202ff", /*ff*/ 190 "\203ffi", /*ffi*/ 191 "\203ffl", /*ffl*/ 192 "\001\033j\013o\033J\013", /*degree*/ 193 "\001|\b\033j\002-\033J\002", /*dagger*/ 194 "\001 ", /* section*/ 195 "\001'", /*foot mark*/ 196 "\001'", /*acute accent*/ 197 "\001`", /*grave accent*/ 198 "\001_", /*underrule*/ 199 "\001/", /*slash (longer)*/ 200 "\001\0", /*half narrow space => 1/12 em */ 201 "\001 ", /*unpaddable space*/ 202 "\201o\b(", /*alpha*/ 203 "\2018\b|", /*beta*/ 204 "\201>\b/", /*gamma*/ 205 "\201d\b`", /*delta*/ 206 "\201C\b-", /*epsilon*/ 207 "\000\0", /*zeta*/ 208 "\201n", /*eta*/ 209 "\201o\b-", /*theta*/ 210 "\201i", /*iota*/ 211 "\201k", /*kappa*/ 212 "\201,\b\\", /*lambda*/ 213 "\201u", /*mu*/ 214 "\201v", /*nu*/ 215 "\000\0", /*xi*/ 216 "\201o", /*omicron*/ 217 "\202i\b~i\b~", /*pi*/ 218 "\201p", /*rho*/ 219 "\201o\b~", /*sigma*/ 220 "\201i\b~", /*tau*/ 221 "\201u", /*upsilon*/ 222 "\201o\b|", /*phi*/ 223 "\201x", /*chi*/ 224 "\201u\b|", /*psi*/ 225 "\201w", /*omega*/ 226 "\201I\b~", /*Gamma*/ 227 "\202/\b_\\\b_", /*Delta*/ 228 "\201O\b-", /*Theta*/ 229 "\202/\\", /*Lambda*/ 230 "\201=\b_", /*Xi*/ 231 "\202TT", /*Pi*/ 232 "\201>\b_\b~", /*Sigma*/ 233 "\000", /**/ 234 "\201Y", /*Upsilon*/ 235 "\201O\b|", /*Phi*/ 236 "\201U\b|", /*Psi*/ 237 "\201O\b_", /*Omega*/ 238 "\001v\b/", /*square root*/ 239 "\000\0", /*terminal sigma*/ 240 "\001~", /*root en*/ 241 "\001>\b_", /*>=*/ 242 "\001<\b_", /*<=*/ 243 "\001=\b_", /*identically equal*/ 244 "\001-", /*equation minus*/ 245 "\001~\b_", /*approx =*/ 246 "\001~", /*approximates*/ 247 "\001=\b/", /*not equal*/ 248 "\002->", /*right arrow*/ 249 "\002<-", /*left arrow*/ 250 "\001|\b^", /*up arrow*/ 251 "\001|\bv", /*down arrow*/ 252 "\001=", /*equation equal*/ 253 "\001x", /*multiply*/ 254 "\001:\b-", /*divide*/ 255 "\001+\b_", /*plus-minus*/ 256 "\002(\b~)\b~", /*cup (union)*/ 257 "\002(\b_)\b_", /*cap (intersection)*/ 258 "\002(=", /*subset of*/ 259 "\002=)", /*superset of*/ 260 "\002(=\b_", /*improper subset*/ 261 "\002=\b_)", /*improper superset*/ 262 "\002oo", /*infinity*/ 263 "\001o\b`", /*partial derivative*/ 264 "\002\\\b~/\b~", /*gradient*/ 265 "\000\0", /*not*/ 266 "\000\0", /*integral sign*/ 267 "\002oc", /*proportional to*/ 268 "\001O\b/", /*empty set*/ 269 "\001<\b-", /*member of*/ 270 "\001+", /*equation plus*/ 271 "\003(R)", /*registered*/ 272 "\003(C)", /*copyright*/ 273 "\001|", /*box rule */ 274 "\001c\b/", /*cent sign*/ 275 "\001|\b=", /*dbl dagger*/ 276 "\002=>", /*right hand*/ 277 "\002<=", /*left hand*/ 278 "\001*", /*math * */ 279 "\000\0", /*bell system sign*/ 280 "\001|", /*or (was star)*/ 281 "\001O", /*circle*/ 282 "\000\033G", /* FX80 set Double Strike */ /* \(lt */ 283 "\000\033H", /* FX80 cancels D.S. */ /* \(lb */ 284 }; 285