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