Don't use .Xo/.Xc. Fix date format.
[netbsd-mini2440.git] / gnu / usr.bin / groff / man / groff_out.man
blob4a94c5cb1c4dfe56611d63bf7fce017dab69cc9d
1 '\" e
2 .\" -*- nroff -*-
3 .\" This man page must be preprocessed with eqn.
4 .ie \n(.g .ds ic \/
5 .el .ds ic \^
6 .TH GROFF_OUT @MAN5EXT@ "17 September 1990" "Groff Version @VERSION@"
7 .SH SYNOPSIS
8 groff_out \- format of groff output
9 .SH DESCRIPTION
10 The output format used by groff is very similar to that used
11 by device-independent troff. Only the differences are documented
12 here.
13 .LP
14 The argument to the
15 .B s
16 command is in scaled points (units of
17 .IR points/ n ,
18 where
19 .I n
20 is the argument to the
21 .B sizescale
22 command  in the DESC file.)
23 The argument to the
24 .B x\ Height
25 command is also in scaled points.
26 .LP
27 The first three output commands are guaranteed to be:
28 .IP
29 .BI x\ T\  device
30 .br
31 .BI x\ res\  n\ h\ v
32 .br
33 .B x init
34 .LP
35 If the
36 .B tcommand
37 line is present in the DESC file, gtroff will use the following
38 two commands
39 .TP
40 .BI t xxx
41 .I xxx
42 is any sequence of characters terminated by a space or a newline;
43 the first character should be printed at the current position,
44 the the current horizontal position should be increased by
45 the width of the first character, and so on for each character.
46 The width of the character is that given in the font file,
47 appropriately scaled for the current point size, and rounded
48 so that it is a multiple of the horizontal resolution.
49 Special characters cannot be printed using this command.
50 .TP
51 .BI u n\ xxx
52 This is same as the
53 .B t
54 command except that after printing each character, the current horizontal
55 position is increased by the sum of the width of that character
56 and
57 .IR n .
58 .LP
59 Note that single characters can have the eighth bit set, as can the
60 names of fonts and special characters.
61 .LP
62 The names of characters and fonts an be of arbitrary length; drivers
63 should not assume that they will be only two characters long.
64 .LP
65 When a character is to be printed, that character will always be
66 in the current font.
67 Unlike device-independent troff, it is not necessary
68 for drivers to search special fonts to find a character.
69 .LP
70 The
71 .B D
72 drawing command has been extended.
73 These extensions will only be used by gpic
74 .B \-x
75 option is given.
76 .TP
77 \fBDf \fIn\fR\*(ic\en
78 Set the shade of gray to be used for filling solid objects to
79 .IR n ;
80 .I n
81 must be an integer between 0 and 1000, where 0 corresponds solid white
82 and 1000 to solid black, and values in between correspond to
83 intermediate shades of gray.
84 This applies only to solid circles, solid ellipses and solid
85 polygons.
86 By default, a level of 1000 will be used.
87 Whatever color a solid object has, it should completely obscure
88 everything beneath it.
89 A value greater than 1000 or less than 0 can also be used:
90 this means fill with the shade of gray that is currently being used
91 for lines and text.
92 Normally this will be black, but some drivers may provide
93 a way of changing this.
94 .TP
95 \fBDC \fId\fR\*(ic\en
96 Draw a solid circle with a diameter of
97 .I d
98 with the leftmost point at the current position.
99 .TP
100 \fBDE \fIdx dy\fR\*(ic\en
101 Draw a solid ellipse with a horizontal diameter of
102 .I dx
103 and a vertical diameter of
104 .I dy
105 with the leftmost point at the current position.
107 delim $$
110 \fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en
111 Draw a polygon with,
112 for $i = 1 ,..., n+1$, the
113 .IR i -th
114 vertex at the current position 
115 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$.
116 At the moment,
117 gpic only uses this command to generate triangles and rectangles.
119 \fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en
120 Like
121 .B Dp
122 but draw a solid rather than outlined polygon.
124 \fBDt \fIn\fR\*(ic\en
125 Set the current line thickness to
126 .I n
127 machine units.
128 Traditionally troff drivers use a line thickness proportional to the current
129 point size; drivers should continue to do this if no
130 .B Dt
131 command has been given, or if a
132 .B Dt
133 command has been given with a negative value of
134 .IR n .
135 A zero value of
136 .I n
137 selects the smallest available line thickness.
139 A difficulty arises in how the current position should be changed after
140 the execution of these commands.
141 This is not of great importance since the code generated by gpic
142 does not depend on this.
143 Given a drawing command of the form
145 \fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm
147 where
148 .I c
149 is not one of
150 .BR c ,
151 .BR e ,
152 .BR l ,
153 .B a
155 .BR ~ ,
156 troff will treat each of the $x sub i$ as a horizontal quantity,
157 and each of the $y sub i$ as a vertical quantity and will assume that
158 the width of the drawn object is $sum from i=1 to n x sub i$,
159 and that the height is $sum from i=1 to n y sub i$.
160 (The assumption about the height can be seen by examining the
161 .B st
163 .B sb
164 registers after using such a
165 .B D
166 command in a \ew escape sequence.)
167 This rule also holds for all the original drawing commands
168 with the exception of
169 .BR De .
170 For the sake of compatibility gtroff also follows this rule,
171 even though it produces an ugly result in the case of the
172 .BR Df ,
173 .BR Dt ,
174 and, to a lesser extent,
175 .B DE
176 commands.
177 Thus after executing a
178 .B D
179 command of the form
181 \fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en
183 the current position should be increased by
184 $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$.
186 There is a continuation convention which permits the argument to the
187 .B x\ X
188 command to contain newlines:
189 when outputting the argument to the
190 .B x\ X
191 command,
192 .B gtroff
193 will follow each newline in the argument with a
194 .B +
195 character
196 (as usual, it will terminate the entire argument with a newline);
197 thus if the line after the line containing the
198 .B x\ X
199 command starts with
200 .BR + ,
201 then the newline ending the line containing the
202 .B x\ X
203 command should be treated as part of the argument to the
204 .B x\ X
205 command,
207 .B +
208 should be ignored,
209 and the part of the line following the
210 .B +
211 should be treated like the part of the line following the
212 .B x\ X
213 command.
214 .SH "SEE ALSO"
215 .BR groff_font (@MAN5EXT@)