Penguin
Blame: groff_out(5)
EditPageHistoryDiffInfoLikePages
Annotated edit history of groff_out(5) version 4, including all changes. View license author blame.
Rev Author # Line
1 perry 1 GROFF_OUT
2 !!!GROFF_OUT
3 NAME
4 DESCRIPTION
5 SEE ALSO
6 ----
7 !!NAME
8
9
10 groff_out - groff intermediate output format
11 !!DESCRIPTION
12
13
14 This manual page describes the format output by GNU troff.
15 The output format used by GNU troff is very similar to that
16 used by Unix device-independent troff. Only the differences
17 are documented here.
18
19
20 The argument to the __s__ command is in scaled points
21 (units of ''points/''n'','' where ''n'' is the
22 argument to the __sizescale__ command in the DESC file.)
23 The argument to the __x Height__ command is also in
24 scaled points.
25
26
27 The first three output commands are guaranteed to
28 be:
29
30
31 __x T__ ''device''__
32 x res__ ''n h v''__
33 x init__
34
35
36 If the __tcommand__ line is present in the DESC file,
37 troff will use the following two commands
38
39
40 __t__''xxx''
41
42
43 ''xxx'' is any sequence of characters terminated by a
44 space or a newline; the first character should be printed at
45 the current position, the the current horizontal position
46 should be increased by the width of the first character, and
47 so on for each character. The width of the character is that
48 given in the font file, appropriately scaled for the current
49 point size, and rounded so that it is a multiple of the
50 horizontal resolution. Special characters cannot be printed
51 using this command.
52
53
54 __u__''n xxx''
55
56
57 This is same as the __t__ command except that after
58 printing each character, the current horizontal position is
59 increased by the sum of the width of that character and
60 ''n''.
61
62
63 Note that single characters can have the eighth bit set, as
64 can the names of fonts and special characters.
65
66
67 The names of characters and fonts can be of arbitrary
68 length; drivers should not assume that they will be only two
69 characters long.
70
71
72 When a character is to be printed, that character will
73 always be in the current font. Unlike device-independent
74 troff, it is not necessary for drivers to search special
75 fonts to find a character.
76
77
78 The __x__ device control command has been
79 extended.
80
81
82 __x u__ ''n''
83
84
85 If ''n'' is 1, start underlining of spaces. If ''n''
86 is 0, stop underlining of spaces. This is needed for the
87 __cu__ request in nroff mode and is ignored
88 otherwise.
89
90
91 The __D__ drawing command has been extended. These
92 extensions will not be used by GNU pic if the __-n__
93 option is given.
94
95
96 __Df__ ''n''n
97
98
99 Set the shade of gray to be used for filling solid objects
100 to ''n''; ''n'' must be an integer between 0 and 1000,
101 where 0 corresponds solid white and 1000 to solid black, and
102 values in between correspond to intermediate shades of gray.
103 This applies only to solid circles, solid ellipses and solid
104 polygons. By default, a level of 1000 will be used. Whatever
105 color a solid object has, it should completely obscure
106 everything beneath it. A value greater than 1000 or less
107 than 0 can also be used: this means fill with the shade of
108 gray that is currently being used for lines and text.
109 Normally this will be black, but some drivers may provide a
110 way of changing this.
111
112
113 __DC__ ''d''n
114
115
116 Draw a solid circle with a diameter of ''d'' with the
117 leftmost point at the current position.
118
119
120 __DE__ ''dx dy''n
121
122
123 Draw a solid ellipse with a horizontal diameter of ''dx''
124 and a vertical diameter of ''dy'' with the leftmost point
125 at the current position.
126
127
128 __Dp__ ''dx'' 1
129 ''dy'' 1 ''dx''
130 2 ''dy''
131 2 ... ''dx
132 n dy
133 n'' n
134
135
136 Draw a polygon with, for ''i''=1,...,''n''+1, the
137 ''i''-th vertex at the current position +
138 ''ij''-=
139 11 (''dx
140 j'' ,''dy
141 j'' ). At the moment, GNU
142 pic only uses this command to generate triangles and
143 rectangles.
144
145
146 __DP__ ''dx'' 1
147 ''dy'' 1 ''dx''
148 2 ''dy''
149 2 ... ''dx
150 n dy
151 n'' n
152
153
154 Like __Dp__ but draw a solid rather than outlined
155 polygon.
156
157
158 __Dt__ ''n''n
159
160
161 Set the current line thickness to ''n'' machine units.
162 Traditionally Unix troff drivers use a line thickness
163 proportional to the current point size; drivers should
164 continue to do this if no __Dt__ command has been given,
165 or if a __Dt__ command has been given with a negative
166 value of ''n''. A zero value of ''n'' selects the
167 smallest available line thickness.
168
169
170 A difficulty arises in how the current position should be
171 changed after the execution of these commands. This is not
172 of great importance since the code generated by GNU pic does
173 not depend on this. Given a drawing command of the
174 form
175
176
177 __D__''c x'' 1 ''y''
178 1 ''x''
179 2 ''y''
180 2 ... ''x
181 n y
182 n''
183
184
185 where ''c'' is not one of __c__, __e__, __l__,
186 __a__ or __~__, Unix troff will treat each of the ''x
187 i'' as a horizontal
188 quantity, and each of the ''y
189 i'' as a vertical quantity
190 and will assume that the width of the drawn object is
191 ''i''=''n''1
192 ''x i'' , and that the
193 height is
194 ''i''=''n''1
195 ''y i'' . (The assumption
196 about the height can be seen by examining the __st__ and
197 __sb__ registers after using such a __D__ command in a
198 w escape sequence.) This rule also holds for all the
199 original drawing commands with the exception of __De__.
200 For the sake of compatibility GNU troff also follows this
201 rule, even though it produces an ugly result in the case of
202 the __Df__, __Dt__, and, to a lesser extent, __DE__
203 commands. Thus after executing a __D__ command of the
204 form
205
206
207 __D__''c x'' 1 ''y''
208 1 ''x''
209 2 ''y''
210 2 ... ''x
211 n y
212 n'' n
213
214
215 the current position should be increased by (
216 ''i''=''n''1
217 ''x i'' ,
218 ''ni''=
219 1 ''y i''
220 ).
221
222
223 There is a continuation convention which permits the
224 argument to the __x X__ command to contain newlines: when
225 outputting the argument to the __x X__ command, GNU troff
226 will follow each newline in the argument with a __+__
227 character (as usual, it will terminate the entire argument
228 with a newline); thus if the line after the line containing
229 the __x X__ command starts with __+__, then the
230 newline ending the line containing the __x X__ command
231 should be treated as part of the argument to the __x X__
232 command, the __+__ should be ignored, and the part of the
233 line following the __+__ should be treated like the part
234 of the line following the __x X__ command.
235 !!SEE ALSO
236
237
4 perry 238 groff_font(5)
1 perry 239 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.