-->

Previous | Table of Contents | Next

Page 1129

are in ditroff. The width subfields gives the width of the character. The height subfield gives the height of the character (upwards is positive); if a character does not extend above the baseline, it should be given a zero height, rather than a negative height. The depth subfield gives the depth of the character, that is, the distance below the lowest point below the baseline to which the character extends (downwards is positive); if a character does not extend below above the baseline, it should be given a zero depth, rather than a negative depth. The italic_correction subfield gives the amount of space that should be added after the character when it is immediately to be followed by a character from a roman font. The left_italic_correction subfield gives the amount of space that should be added before the character when it is immediately to be preceded by a character from a roman font. The subscript_correction gives the amount of space that should be added after a character before adding a subscript. This should be less than the italic_correction.

A line in the charset section can also have the format


name "

This indicates that name is just another name for the character mentioned in the preceding line.

The word kernpairs starts the kernpairs section. This contains a sequence of lines of the form:


c1 c2 n

This means that when character c1 appears next to character c2, the space between them should be increased by n. Most entries in kernpairs section will have a negative value for n.

FILES

/usr/lib/groff/font/dev name/DESC Device description file for device name.
/usr/lib/groff/font/devname/F Font file for font F of device name.

SEE ALSO

groff_out(5), gtroff(1)

Groff Version 1.09, 14 February 1994

groff_out

groff_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 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.

Page 1130

unxxx 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 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 to solid white and 1000 to solid black and values in between correspond 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 vertical 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 ith vertex at the current position +
 i_1f =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. Traditionally, 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 because the code generated by GNU pic does not depend on this. Given a drawing command of the form


\Dc 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 quantity and will assume that the width of the drawn object is  ni=1 xi and that the height is  ni=1 yi. (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 (Â ni=1 xi; Â ni=1 yi).

A continuation convention 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 command 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.

Previous | Table of Contents | Next