2
.\" The above line should force the use of eqn as a preprocessor
4
Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc.
6
Permission is granted to make and distribute verbatim copies of
7
this manual provided the copyright notice and this permission notice
8
are preserved on all copies.
10
Permission is granted to copy and distribute modified versions of this
11
manual under the conditions for verbatim copying, provided that the
12
entire resulting derived work is distributed under the terms of a
13
permission notice identical to this one.
15
Permission is granted to copy and distribute translations of this
16
manual into another language, under the above conditions for modified
17
versions, except that this permission notice may be included in
18
translations approved by the Free Software Foundation instead of in
21
.\" This man page must be preprocessed with eqn.
24
.TH GROFF_OUT @MAN5EXT@ "@MDATE@" "Groff Version @VERSION@"
26
groff_out \- groff intermediate output format
28
This manual page describes the format output by GNU troff.
29
The output format used by GNU troff is very similar to that used
30
by Unix device-independent troff. Only the differences are documented
35
command is in scaled points (units of
39
is the argument to the
41
command in the DESC file.)
44
command is also in scaled points.
46
The first three output commands are guaranteed to be:
56
line is present in the DESC file, troff will use the following
61
is any sequence of characters terminated by a space or a newline;
62
the first character should be printed at the current position,
63
the the current horizontal position should be increased by
64
the width of the first character, and so on for each character.
65
The width of the character is that given in the font file,
66
appropriately scaled for the current point size, and rounded
67
so that it is a multiple of the horizontal resolution.
68
Special characters cannot be printed using this command.
73
command except that after printing each character, the current horizontal
74
position is increased by the sum of the width of that character
78
Note that single characters can have the eighth bit set, as can the
79
names of fonts and special characters.
81
The names of characters and fonts can be of arbitrary length; drivers
82
should not assume that they will be only two characters long.
84
When a character is to be printed, that character will always be
86
Unlike device-independent troff, it is not necessary
87
for drivers to search special fonts to find a character.
91
device control command has been extended.
96
is\~1, start underlining of spaces.
99
is\~0, stop underlining of spaces.
100
This is needed for the
102
request in nroff mode and is ignored otherwise.
106
drawing command has been extended.
107
These extensions will not be used by GNU pic if the
111
\fBDf \fIn\fR\*(ic\en
112
Set the shade of gray to be used for filling solid objects to
115
must be an integer between 0 and 1000, where 0 corresponds solid white
116
and 1000 to solid black, and values in between correspond to
117
intermediate shades of gray.
118
This applies only to solid circles, solid ellipses and solid
120
By default, a level of 1000 will be used.
121
Whatever color a solid object has, it should completely obscure
122
everything beneath it.
123
A value greater than 1000 or less than 0 can also be used:
124
this means fill with the shade of gray that is currently being used
126
Normally this will be black, but some drivers may provide
127
a way of changing this.
129
\fBDC \fId\fR\*(ic\en
130
Draw a solid circle with a diameter of
132
with the leftmost point at the current position.
134
\fBDE \fIdx dy\fR\*(ic\en
135
Draw a solid ellipse with a horizontal diameter of
137
and a vertical diameter of
139
with the leftmost point at the current position.
144
\fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en
146
for $i = 1 ,..., n+1$, the
148
vertex at the current position
149
$+ sum from j=1 to i-1 ( dx sub j , dy sub j )$.
151
GNU pic only uses this command to generate triangles and rectangles.
153
\fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en
156
but draw a solid rather than outlined polygon.
158
\fBDt \fIn\fR\*(ic\en
159
Set the current line thickness to
162
Traditionally Unix troff drivers use a line thickness proportional to the current
163
point size; drivers should continue to do this if no
165
command has been given, or if a
167
command has been given with a negative value of
171
selects the smallest available line thickness.
173
A difficulty arises in how the current position should be changed after
174
the execution of these commands.
175
This is not of great importance since the code generated by GNU pic
176
does not depend on this.
177
Given a drawing command of the form
179
\fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm
190
Unix troff will treat each of the $x sub i$ as a horizontal quantity,
191
and each of the $y sub i$ as a vertical quantity and will assume that
192
the width of the drawn object is $sum from i=1 to n x sub i$,
193
and that the height is $sum from i=1 to n y sub i$.
194
(The assumption about the height can be seen by examining the
198
registers after using such a
200
command in a \ew escape sequence.)
201
This rule also holds for all the original drawing commands
202
with the exception of
204
For the sake of compatibility GNU troff also follows this rule,
205
even though it produces an ugly result in the case of the
208
and, to a lesser extent,
211
Thus after executing a
215
\fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en
217
the current position should be increased by
218
$( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$.
220
There is a continuation convention which permits the argument to the
222
command to contain newlines:
223
when outputting the argument to the
226
will follow each newline in the argument with a
229
(as usual, it will terminate the entire argument with a newline);
230
thus if the line after the line containing the
234
then the newline ending the line containing the
236
command should be treated as part of the argument to the
242
and the part of the line following the
244
should be treated like the part of the line following the
248
.BR groff_font (@MAN5EXT@)