version 4, including all changes.
.
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 |
---- |