write.ijs        - utilities for user-defined printing

conventions followed here:

 - font sizes are in points, and the default is the font
   set in Edit|Configure...

 - all other measurements are in inches
   (internally, the system uses twips and converts
    measurements accordingly)

 - frames are measured from the page edges - not
   from the printable area. If necessary, frames are
   truncated to fit the printable area

- a frame is given as 4 numbers xywh:
     x = distance from left of page
     y = distance from top of page
     w = +ve is width, -ve is distance from right of page
     h = +ve is height, -ve is distance from top of page

main utilities:

  startprint       initialize print job
  endprint         end print job
  startpage        start page
  endpage          end page

  write            write text (see syntax below)
  drawbox          draw box (outline or solid)
  drawline         draw line
  drawgraph        draw graph (from wmf file)

NOTE: You must use startprint, endprint to bracket a print job, and
      you must use startpage, endpage to bracket each page.

other utilities:
  makeframe        make a frame
  preview          preview page

=========================================================

form: opt write dat

dat has 4 elements:
  justification     0=left,1=right,2=both,3=centred
  frame             xywh in inches from page edge
  fontspec          font (size in points)
  text              (see below)

opt is optional and has up to 4 elements:
  linespace         linespacing, multiple of fontsize, default 1.2
  paraspace         paragraph spacing, multiple of fontsize, default 0.5
  text color        RBG value, default black
  back color        RBG value, default white

text may contain HTML tags, and have the following formats:
 1. character string   - paragraphs are delimited by two LF or CRLF
 2. boxed list         - each element is a paragraph
 3. character matrix   - each row is a line, is not wrapped
                         and is treated as a single paragraph

In cases 1. and 2., text is formatted to the specified frame.

returns: (xywh remaining);(text remaining)
