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,

              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.

       Dp dx1 dy1 dx2 dy2 ... dxn dyn\n
              Draw a polygon with, for i=1,...,n+1, the i-th ver­
              tex  at the current position +i<I>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 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 x1 y1 x2 y2 ... xn yn'

       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 in=1xi, and that the height is
       in=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  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 x1 y1 x2 y2 ... xn yn\n

       the current position should be increased by (in=1xi,in=1yi).

       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(5)


Man(1) output converted with man2html