8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / cmd / troff / nroff.d / terms.d / README
blob8bfa964d35a9f77486754715072c092aa428f087
1 # Copyright 1989 Sun Microsystems, Inc.  All rights reserved.
2 # Use is subject to license terms.
4 # Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T
5 # All Rights Reserved
7 # Portions of this source code were derived from Berkeley 4.3 BSD
8 # under license from the Regents of the University of California.
10 #ident  "%Z%%M% %I%     %E% SMI"
12 Description of terminal tables for new nroff:
13 (In the following description, "white space" means any combination
14 of spaces, tabs and new-lines).
16 The first line should contain the name of the terminal -- just a string,
17 but with no embedded white space.
19 This is followed by a table of 25 lines (defining the first 25 items
20 in struct t, laid out in tw.h):
22         bset    [integer]       /*bits that must be set for printing*/
23         breset  [integer]       /*bits that must be reset for printing*/
24         Hor     [integer]       /*size of unit of horizontal motion*/
25         Vert    [integer]       /*size of unit of vertical motion*/
26         Newline [integer]       /*size of line of vertical motion*/
27         Char    [integer]       /*size of character horizontally*/
28         Em      [integer]       /*size of Em of horizontal motion*/
29         Halfline [integer]      /*size of half line of vertical motion*/
30         Adj     [integer]       /*horizontal resolution*/
31         twinit  [string]        /*sequence to initialize terminal*/
32         twrest  [string]        /*sequence to restore terminal*/
33         twnl    [string]        /*sequence to print newline*/
34         hlr     [string]        /*sequence for half-line reverse*/
35         hlf     [string]        /*sequence for half-line forward*/
36         flr     [string]        /*sequence for full-line reverse*/
37         bdon    [string]        /*sequence to turn on bold*/
38         bdoff   [string]        /*sequence to turn off bold*/
39         iton    [string]        /*sequence to turn on italic*/
40         itoff   [string]        /*sequence to turn off italic*/
41         ploton  [string]        /*sequence to enter plot mode*/
42         plotoff [string]        /*sequence to leave plot mode*/
43         up      [string]        /*sequence to move up 1 space in plot mode*/
44         down    [string]        /*sequence to move down 1 space in plot mode*/
45         right   [string]        /*sequence to move right 1 space in plot mode*/
46         left    [string]        /*sequence to move left 1 space in plot mode*/
48 This table is fixed format, and the order cannot be changed.
49 Entries should be on separate lines, and should contain exactly
50 two fields (N.B. the comment should be omitted) separated by white space.
51 First field is the string identifying the value (this is not verified),
52 then white space, and then the value.  The value is either an integer,
53 or a string, as specified above.  An integer is a sequence of digits.
54 Integers describing sizes are expressed in units of 1/240 of an inch.
55 A string is a sequence of characters, probably surrounded by quotes
56 (to be on the safe side).  For non-printable ascii characters, the
57 following escapes hold (as in C):
58         \b      backspace
59         \t      tab
60         \n      newline
61         \r      carriage return
62         \\      \
63         \"      "
64         \ followed by 3 octal digits specifies the ascii character
65                                         with the value of those digits
67 This is followed by a line containing the word "charset", and then by the table of
68 special characters -- all the non-ASCII characters that nroff/troff
69 knows by 2-character names, e.g. \(hy and \(ga.  The entries in this
70 table can be in any order (put the most used ones first), and
71 the entries should be restricted to only those characters that
72 can be printed on the terminal in question.  The format of each line
73 (defining one special character) is:  the (2-character) name of the
74 special character, followed by white space, followed by the width of
75 the character (in ems), followed by white space, followed by the
76 sequence needed to produce the character.  This sequence may be
77 surrounded by quotes.  The same escapes hold as for strings above.
79 The best way to create a terminal table for a new device is to take
80 a terminal table for an old device and modify it!
81 For example, here is the first page of the terminal table for lp:
84 bset    0
85 breset  0
86 Hor     24
87 Vert    40
88 Newline 40
89 Char    24
90 Em      24
91 Halfline        20
92 Adj     24
93 twinit  ""
94 twrest  ""
95 twnl    "\n"
96 hlr     ""
97 hlf     ""
98 flr     "\0337"
99 bdon    ""
100 bdoff   ""
101 iton    ""
102 itoff   ""
103 ploton  ""
104 plotoff ""
105 up      ""
106 down    ""
107 right   ""
108 left    ""
110 charset
112 em 1 -
113 hy 1 -
114 \- 1 -
115 bu 1 +\bo
116 sq 2 []
117 ru 1 _
118 14 3 1/4
119 12 3 1/2
120 34 3 3/4
121 de 1 \344o\304
122 dg 1 |\b-
123 fm 1 '
124 ct 1 c\b/
125 rg 1 r\bO
126 co 1 c\bO
127 pl 1 +
128 mi 1 -
129 eq 1 =
130 ** 1 *