Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ groff_out(5) — BSD/386 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought



GROFF_OUT(5)                                         GROFF_OUT(5)


NAME
       groff_out - format of groff output

DESCRIPTION
       The  output  format  used by groff is very similar to that
       used by 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 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  an  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 only be used by pic -x option is given.

       Df n\n Set the shade of gray to be used for filling  solid



Groff Version 1.05      November 22, 1992                       1




GROFF_OUT(5)                                         GROFF_OUT(5)


              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,
              pic  only  uses  this command to generate triangles
              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 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 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 ~,  troff  will  treat
       each  of  the $x sub i$ as a horizontal quantity, and each



Groff Version 1.05      November 22, 1992                       2




GROFF_OUT(5)                                         GROFF_OUT(5)


       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 exam-
       ining 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  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 $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, 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.

SEE ALSO
       grofffont(5)

























Groff Version 1.05      November 22, 1992                       3


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026