GROFF_OUT(5)GROFF_OUT(5)NAMEgroff_out - groff intermediate output format
DESCRIPTION
This manual page describes the format output by GNU troff. The output
format used by GNU troff is very similar to that used by Unix device-
independent troff. Only the differences are documented here.
The argument to the s command is in scaled points (units of points/n,
where n is the argument to the sizescale command in the DESC file.)
The argument to the x Height command is also in scaled points.
The first three output commands are guaranteed to be:
x T device
x res n h v
x init
If the tcommand line is present in the DESC file, troff will use the
following two commands
txxx xxx is any sequence of characters terminated by a space or a
newline; the first character should be printed at the current
position, the the current horizontal position should be
increased by the width of the first character, and so on for
each character. The width of the character is that given in the
font file, appropriately scaled for the current point size, and
rounded so that it is a multiple of the horizontal resolution.
Special characters cannot be printed using this command.
un xxx This is same as the t command except that after printing each
character, the current horizontal position is increased by the
sum of the width of that character and n.
Note that single characters can have the eighth bit set, as can the
names of fonts and special characters.
The names of characters and fonts can be of arbitrary length; drivers
should not assume that they will be only two characters long.
When a character is to be printed, that character will always be in the
current font. Unlike device-independent troff, it is not necessary for
drivers to search special fonts to find a character.
The x device control command has been extended.
x u n If n is 1, start underlining of spaces. If n is 0, stop under‐
lining of spaces. This is needed for the cu request in nroff
mode and is ignored otherwise.
The D drawing command has been extended. These extensions will not be
used by GNU pic if the -n option is given.
Df n\n Set the shade of gray to be used for filling solid objects to n;
n must be an integer between 0 and 1000, where 0 corresponds
solid white and 1000 to solid black, and values in between cor‐
respond to intermediate shades of gray. This applies only to
solid circles, solid ellipses and solid polygons. By default, a
level of 1000 will be used. Whatever color a solid object has,
it should completely obscure everything beneath it. A value
greater than 1000 or less than 0 can also be used: this means
fill with the shade of gray that is currently being used for
lines and text. Normally this will be black, but some drivers
may provide a way of changing this.
DC d\n Draw a solid circle with a diameter of d with the leftmost point
at the current position.
DE dx dy\n
Draw a solid ellipse with a horizontal diameter of dx and a ver‐
tical diameter of dy with the leftmost point at the current
position.
Dp dx1 dy1 dx2 dy2 ... dxn dyn\n
Draw a polygon with, for i=1,...,n+1, the i-th vertex at the
current position +jΣ1(dxj,dyj). At the moment, GNU pic only
uses this command to generate triangles and rectangles.
DP dx1 dy1 dx2 dy2 ... dxn dyn\n
Like Dp but draw a solid rather than outlined polygon.
Dt n\n Set the current line thickness to n machine units. Tradition‐
ally Unix troff drivers use a line thickness proportional to the
current point size; drivers should continue to do this if no Dt
command has been given, or if a Dt command has been given with a
negative value of n. A zero value of n selects the smallest
available line thickness.
A difficulty arises in how the current position should be changed after
the execution of these commands. This is not of great importance since
the code generated by GNU pic does not depend on this. Given a drawing
command of the form
\D′c x1 y1 x2 y2 ... xn yn′
where c is not one of c, e, l, a or ~, Unix troff will treat each of
the xi as a horizontal quantity, and each of the yi as a vertical quan‐
tity and will assume that the width of the drawn object is iΣ1xi, and
that the height is iΣ1yi. (The assumption about the height can be seen
by examining the st and sb registers after using such a D command in a
\w escape sequence.) This rule also holds for all the original drawing
commands with the exception of De. For the sake of compatibility GNU
troff also follows this rule, even though it produces an ugly result in
the case of the Df, Dt, and, to a lesser extent, DE commands. Thus
after executing a D command of the form
Dc x1 y1 x2 y2 ... xn yn\n
the current position should be increased by (iΣ1xi,iΣ1yi).
There is a continuation convention which permits the argument to the
x X command to contain newlines: when outputting the argument to the
x X command, GNU troff will follow each newline in the argument with a
+ character (as usual, it will terminate the entire argument with a
newline); thus if the line after the line containing the x X command
starts with +, then the newline ending the line containing the x X com‐
mand should be treated as part of the argument to the x X command, the
+ should be ignored, and the part of the line following the + should be
treated like the part of the line following the x X command.
SEE ALSOgroff_font(5)Groff Version 1.17.2 6 April 2001 GROFF_OUT(5)