man(1) Manual page archive


     PICASSO(1)                                             PICASSO(1)

     NAME
          picasso - a line drawing program

     SYNOPSIS
          picasso  [ -bsize -Fpath -Ipath -ln -Mn -mmargin -pmxn -t -x
          ]  [ - ]  [ file_name(s) ]

     DESCRIPTION
          Picasso is a processor for a PIC-like drawing language that
          produces PostScript output.  By default, this output is
          scaled to fit an 8 by 10 inch print area, and centered on
          the page.

          -b size specifies a buffer of size objects accumulated
          before translation into PostScript.  By default, an entire
          picture is buffered; on machines with small memories, a
          buffer of a few thousand objects can prevent thrashing when
          processing a very large picture.  This option is for excep-
          tional cases and is not often needed.

          -I path overrides the standard path for searching for the
          PostScript prologue and font descriptions (not needed in
          normal use).

          -F path overrides the standard path for font width tables.
          The default is to use the troff tables.

          -l n processes layer n only, as specified by curlayer=n.

          -M n magnifies the output image by n (shrinks if 0 < n < 1).

          -p mxn specifies output device size in inches (8.5x11
          default).

          -t packages the PostScript with surrounding troff input so
          that the output file may be passed down a pipeline to
          troff(1).  The Drechsler/Wilks mpictures macro package can
          be used with troff to insert the pictures appropriately
          within the document.  Without the flag picasso outputs only
          PostScript, dropping any text outside the markers (.PS and
          .PE) delimiting each picture.

          -m margin specifies an empty border, in printer's points,
          that picasso will place around each picture.  This may be
          useful at times to prevent too tight clipping against adja-
          cent text or the edge of the paper.  By default no margin is
          supplied; to cause a 1/8" (9 point) margin, for example,
          specify -m9.

          -x suppresses the default scaling and centering.

     PICASSO(1)                                             PICASSO(1)

          The picasso picture description language is object oriented,
          the basic objects being arrow, arc, box, circle, ellipse,
          line, sector, spline, and (quoted) text.  These can be com-
          bined, hierarchically, into blocks.  Primitive objects can
          be drawn with solid, dashed, dotted, or invisible edges.
          These edges may be of varying weight (thickness) and of any
          shade of gray (from black = 0 to white = 1) or color.  The
          predefined colors are black, white, red, green, blue, cyan,
          magenta, and yellow.

          Objects may be named and referred to by name or by anonymous
          references such as 1st box, 4th object, or 2nd last circle.
          Object names require an initial upper case letter; names
          beginning with lower case or an underscore are numeric vari-
          ables.  There are a number of predefined variables such as
          circlerad, boxwid, linecolor.  Picasso provides a limited
          set of programming language constructs (loops, if state-
          ments, macros, some arithmetic) for combining simple objects
          into relatively complex pictures.

          By default, objects are placed on the page adjacent to each
          other and from left to right.  The default direction may be
          changed, and any object can be placed at a specific postion,
          given either in absolute coordinates or by reference to
          other objects and points of interest.  Any object has a top,
          bottom, left, and right point; these points may also be ref-
          ered to directionally as north, south, west, and east (or n,
          s, w, and e.)  The ``corner'' points may also be specified,
          e.g., northwest or nw.  Lines have start and end points; you
          may also refer to 1st, 2nd...  nth points along a line.
          Boxes, circles, and ellipses have eight predefined points
          corresponding to the directional references mentioned above,
          the first point being in the eastern direction and the 8th
          point towards the southeast.  For any object, the ``corner''
          points really lie on the corners of a box surrounding the
          object while the ``counted'' points lie on the object
          itself.  This distinction is normally relevant only for cir-
          cles and ellipses, but since an object can be rotated or
          otherwise transformed it occasionally has significance for
          other objects as well.

     EXAMPLE
          The following is a simple no-smoking sign described in the
          picasso language.

                .PS
                d = 0.5
                [ box ht d wid 3.5 weight d/20
                  box ht d wid d/2 filled 0.5 noedge
                  spline weight 0.2 edge .75 right d then up d \
                                        then right d then up d
                ]

     PICASSO(1)                                             PICASSO(1)

                linecolor = red; lineweight = 0.375
                circle rad 3 at last block
                line from last circle .4th to last circle .8th
                .PE

          If this is used in a troff document and processed through
          picasso with the -t flag, the .PS marking the start of the
          picture can specify the size and placement of the picture at
          that point in your document.  For example, to place the no
          smoking sign centered on the page in a 3 inch square area,
          flag the start of the picture with .PS 3 3 c.

     SEE ALSO
          troff(1), troff(5)

     REFERENCE
          R. L. Drechsler and A. R. Wilks, PostScript pictures in
          troff documents.
          B. W. Kernighan, PIC - A Crude Graphics Language
          N-P. Nelson, M. L. Siemon, Picasso 1.0, An OPEN LOOK Drawing
          Program

     BUGS
          Picasso is not completely compatible with pic(1).  Besides
          having a number of new keywords and predefined variable
          names, picasso also centers pictures on a page rather than
          placing them at upper left.

          The interactive version is unable to generate many elements
          of the language, nor will it preserve such elements (e.g.,
          loops) if they are read in then written out.