date and time created 83/08/05 13:35:32 by sam
[unix-history] / usr / src / old / roff / nroff_term / tabitoh.c
CommitLineData
058e8d4b
SL
1/* tabitoh.c 4.1 83/08/05 */
2#define INCH 240
3/*
4 * C:Itoh Prowriter (dot matrix) 10 pitch
5 * nroff driving table
6 * by G. Rochlin, 15feb83
7 * Because the c:itoh will backspace only in incremental mode,
8 * need to write a program to place commands Esc[ and Esc] around ^H.
9 * If you want true underline mode instead of _^Hx_^Hy, etc.,
10 * have the script first replace _^Hx with EscXxEscY, etc.
11 * Further refinements are possible to clean up files and
12 * minimize throughput (e.g., delete all EscYEscX pairs).
13 * In the terminal initialization (twinit) and exit (twrest)
14 * strings, EscN sets 10-pitch. Twrest clears by commanding
15 * Esc Y, Esc", and Esc$ to clear ul, bold, and "greek",
16 * Esc] to restore logic-seek print, Escf and EscT24 to restore
17 * forward linefeed at 6 lines/inch, Esc< for bidirectional
18 * print, EscN, and ^M (\015) to clear the print buffer.
19 * Since the itoh has no keyboard, you have to run it through
20 * a video terminal or micro printer port.
21 * The first twinit code (Esc`) and the last twrest code
22 * (Esca) set the (proper) "transparent" or "buffered" print
23 * mode for tvi950 and tvi925 and Freedom 100. This mode
24 * is necessary on intelligent terminals to keep all the Esc
25 * codes in the driver tables from scrambling the terminal's
26 * brains. (If you have a dumb terminal, almost any print
27 * mode should be safe. Smart terminals without buffered print,
28 * such as the tvi920, present problems.)
29 * If you have a different terminal,
30 * the shell script should also replace these codes with those
31 * appropriate for your machine. If you are using an sed
32 * stream for the script, make sure to use single quotes to
33 * isolate the ` from the shell.
34 */
35struct {
36 int bset;
37 int breset;
38 int Hor;
39 int Vert;
40 int Newline;
41 int Char;
42 int Em;
43 int Halfline;
44 int Adj;
45 char *twinit;
46 char *twrest;
47 char *twnl;
48 char *hlr;
49 char *hlf;
50 char *flr;
51 char *bdon;
52 char *bdoff;
53 char *ploton;
54 char *plotoff;
55 char *up;
56 char *down;
57 char *right;
58 char *left;
59 char *codetab[256-32];
60 int zzz;
61 } t = {
62/*bset*/ 0,
63/*breset*/ 0177420,
64/*Hor*/ INCH/20,
65/*Vert*/ INCH/48,
66/*Newline*/ INCH/6,
67/*Char*/ INCH/10,
68/*Em*/ INCH/10,
69/*Halfline*/ INCH/12,
70/*Adj*/ INCH/10,
71/*twinit*/ "\033`\015\033N",
72/*twrest*/ "\033Y\033\042\033$\033]\033f\033T24\033<\033N\015\033a\n",
73/*twnl*/ "\015\n",
74/*hlr*/ "\033[\033T12\033r\n\033T24\033]\033f",
75/*hlf*/ "\033[\033T12\n\033T24\033]",
76/*flr*/ "\033[\033r\n\033f\033]",
77/*bdon*/ "\033!",
78/*bdoff*/ "\033\042",
79/*ploton*/ "\033>\033T03",
80/*plotoff*/ "\033<\033T24",
81/*up*/ "\033[\033r\n\033f\033]",
82/*down*/ "\033[\n\033]",
83/*right*/ "\033P \033N",
84/*left*/ "\b\033Q \033N",
85/*codetab*/
86#include "code.itoh"