groff_out
GROFF_OUT(T)                                         GROFF_OUT(T)



NAME
       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 dif-
       ferences 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 com-
       mand  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 underlining 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 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.  delim $$

       Dp $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$  $...$  $dx
       sub n$ $dy sub n$\n
              Draw a polygon with, for $i = 1 ,..., n+1$, the  i-
              th  vertex  at the current position $+ sum from j=1
              to i-1 ( dx sub j , dy sub j )$.   At  the  moment,
              GNU  pic  only uses this command to generate trian-
              gles and rectangles.

       DP $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$  $...$  $dx
       sub n$ $dy sub n$\n
              Like Dp but draw a solid rather than outlined poly-
              gon.

       Dt n\n Set  the current line thickness to n machine units.
              Traditionally Unix troff drivers use a line  thick-
              ness   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  $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$
              $x sub n$ $y sub n$'

       where c is not one of c, e, l, a or  ~,  Unix  troff  will
       treat  each of the $x sub i$ as a horizontal quantity, and
       each of the $y sub i$ as  a  vertical  quantity  and  will
       assume that the width of the drawn object is $sum from i=1
       to n x sub i$, and that the height is $sum from i=1 to n y
       sub  i$.   (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 fol-
       lows this rule, even though it produces an ugly result  in
       the  case  of the Df, Dt, and, to a lesser extent, DE com-
       mands.  Thus after executing a D command of the form

              Dc $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x
              sub n$ $y sub n$\n

       the  current  position  should be increased by $( sum from
       i=1 to n x sub i , sum from i=1 to n y sub i )$.

       There is a continuation convention which permits the argu-
       ment  to  the  x X  command to contain newlines: when out-
       putting 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  new-
       line);  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.

SEE ALSO
       groff_font(t)



Groff Version 1.17.2      06 April 2001              GROFF_OUT(T)