Next: Device Control Commands, Previous: Simple Commands, Up: Command Reference [Contents][Index]
Each graphics or drawing command in the intermediate output starts with the letter ‘D’, followed by one or two characters that specify a subcommand; this is followed by a fixed or variable number of integer arguments that are separated by a single space character. A ‘D’ command may not be followed by another command on the same line (apart from a comment), so each ‘D’ command is terminated by a syntactical line break.
gtroff
output follows the classical spacing rules (no space
between command and subcommand, all arguments are preceded by a single
space character), but the parser allows optional space between the
command letters and makes the space before the first argument optional.
As usual, each space can be any sequence of tab and space characters.
Some graphics commands can take a variable number of arguments. In this case, they are integers representing a size measured in basic units ‘u’. The arguments called h1, h2, …, hn stand for horizontal distances where positive means right, negative left. The arguments called v1, v2, …, vn stand for vertical distances where positive means down, negative up. All these distances are offsets relative to the current location.
Each graphics command directly corresponds to a similar gtroff
\D
escape sequence. See Drawing Geometric Objects.
Unknown ‘D’ commands are assumed to be device-specific. Its arguments are parsed as strings; the whole information is then sent to the postprocessor.
In the following command reference, the syntax element ‹line break› means a syntactical line break as defined above.
D~ h1 v1 h2 v2 … hn vn‹line break›
Draw B-spline from current position to offset (h1,v1), then to offset (h2,v2), if given, etc., up to (hn,vn). This command takes a variable number of argument pairs; the current position is moved to the terminal point of the drawn curve.
Da h1 v1 h2 v2‹line break›
Draw arc from current position to (h1,v1)+(h2,v2) with center at (h1,v1); then move the current position to the final point of the arc.
DC d‹line break›
DC d dummy-arg‹line break›
Draw a solid circle using the current fill color with
diameter d (integer in basic units ‘u’) with leftmost
point at the current position; then move the current position to the
rightmost point of the circle. An optional second integer argument is
ignored (this allows the formatter to generate an even number of
arguments). This command is a gtroff
extension.
Dc d‹line break›
Draw circle line with diameter d (integer in basic units ‘u’) with leftmost point at the current position; then move the current position to the rightmost point of the circle.
DE h v‹line break›
Draw a solid ellipse in the current fill color with a horizontal
diameter of h and a vertical diameter of v (both
integers in basic units ‘u’) with the leftmost point at the current
position; then move to the rightmost point of the ellipse. This command
is a gtroff
extension.
De h v‹line break›
Draw an outlined ellipse with a horizontal diameter of h and a vertical diameter of v (both integers in basic units ‘u’) with the leftmost point at current position; then move to the rightmost point of the ellipse.
DF color-scheme [component …]‹line break›
Set fill color for solid drawing objects using different color schemes;
the analogous command for setting the color of text, line graphics, and
the outline of graphic objects is ‘m’. The color components are
specified as integer arguments between 0 and 65535. The number of color
components and their meaning vary for the different color schemes.
These commands are generated by gtroff
’s escape sequences
‘\D'F …'’ and \M
(with no other corresponding
graphics commands). No position changing. This command is a
gtroff
extension.
DFc cyan magenta yellow‹line break›
Set fill color for solid drawing objects using the CMY color scheme, having the 3 color components cyan, magenta, and yellow.
DFd‹line break›
Set fill color for solid drawing objects to the default fill color value (black in most cases). No component arguments.
DFg gray‹line break›
Set fill color for solid drawing objects to the shade of gray given by the argument, an integer between 0 (black) and 65535 (white).
DFk cyan magenta yellow black‹line break›
Set fill color for solid drawing objects using the CMYK color scheme, having the 4 color components cyan, magenta, yellow, and black.
DFr red green blue‹line break›
Set fill color for solid drawing objects using the RGB color scheme, having the 3 color components red, green, and blue.
Df n‹line break›
The argument n must be an integer in the range -32767 to 32767.
Set the color for filling solid drawing objects to a shade of gray, where 0 corresponds to solid white, 1000 (the default) to solid black, and values in between to intermediate shades of gray; this is obsoleted by command ‘DFg’.
Set the filling color to the color that is currently being used for the text and the outline, see command ‘m’. For example, the command sequence
mg 0 0 65535 Df -1
sets all colors to blue.
No position changing. This command is a gtroff
extension.
Dl h v‹line break›
Draw line from current position to offset (h,v) (integers in basic units ‘u’); then set current position to the end of the drawn line.
Dp h1 v1 h2 v2 … hn vn‹line break›
Draw a polygon line from current position to offset (h1,v1),
from there to offset (h2,v2), etc., up to offset
(hn,vn), and from there back to the starting position. For
historical reasons, the position is changed by adding the sum of all
arguments with odd index to the actual horizontal position and the even
ones to the vertical position. Although this doesn’t make sense it is
kept for compatibility.
This command is a gtroff
extension.
DP h1 v1 h2 v2 … hn vn‹line break›
Draw a solid polygon in the current fill color rather than an outlined
polygon, using the same arguments and positioning as the corresponding
‘Dp’ command.
This command is a gtroff
extension.
Dt n‹line break›
Set the current line thickness to n (an integer in basic
units ‘u’) if n>0; if n=0 select the
smallest available line thickness; if n<0 set the line
thickness proportional to the type size (this is the default before the
first ‘Dt’ command was specified). For historical reasons, the
horizontal position is changed by adding the argument to the actual
horizontal position, while the vertical position is not changed.
Although this doesn’t make sense it is kept for compatibility.
This command is a gtroff
extension.
Next: Device Control Commands, Previous: Simple Commands, Up: Command Reference [Contents][Index]