home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / printer / vlabel.lha / VLabel.doc < prev    next >
Text File  |  1988-02-28  |  7KB  |  156 lines

  1.                                VLabel 1.20
  2.  
  3.                  A program to make fancy little disk labels.
  4.  
  5.                             Copyright (C) 1987
  6.  
  7.                            by Stephen Vermeulen
  8.                               3635 Utah Dr. N.W.,
  9.                               Calgary, Alberta,
  10.                               CANADA, T2N 4A6
  11.  
  12.                               (403) 282-7990
  13.  
  14.                 =============================================
  15.                  This program may be freely redistributed
  16.                  provided that no charge is made for such
  17.                  distribution appart from reasonable media
  18.                  costs.  This program may not be distributed
  19.                  with any commercial product without the
  20.                  prior written approval of the Author.
  21.                 =============================================
  22.  
  23. Introduction:
  24.  
  25.      AMUC (the AMiga Users of Calgary) saw the need for fancy little
  26.      disk labels for its monthly newsletter disk and I opened my big
  27.      mouth at the wrong time.  The result is this little piece of
  28.      software.  In short this program will print labels (or envelopes...)
  29.      which are composed of an IFF graphic and any number of lines
  30.      of text (from 0 to 50).  The text is merged into the graphic and
  31.      may be written in any font in the system, each line of text is
  32.      independently positioned any where on the page.  VLabel gets the
  33.      input for the text either from a file (SuperBase ASCII compatible)
  34.      or the keyboard.
  35.  
  36. Necessary Files:
  37.  
  38.      When run VLabel looks for two files in the current directory, these
  39.      are called "Label_data" and "Label_logo".
  40.  
  41.      The Label_logo file is an IFF graphic (2 colour only) that should be
  42.      the full size of the area to be printed.  For labels that are
  43.      1-7/16ths inch high by 2-3/4 inch wide printed on an Epson type
  44.      printer in 120 dpi horizontal by 72 dpi vertical mode the logo picture
  45.      should be 330 pixels wide by 104 pixels high.  Such an image can
  46.      easily be made in a Paint program (like Express Paint) by editing on a
  47.      page that is a bit bigger than the final image and then saving only
  48.      the 330x104 pixel region by using the Save Boxed mode.  The Label_logo
  49.      can be virtually any size you want (keep it below 1000 by 1000 because
  50.      of blitter problems) the only restriction is it should be a two
  51.      colour image.
  52.  
  53.      The Label_data file is a plain ASCII file that describes how the
  54.      text should be rendered on to the label logo image.  This file's
  55.      format is:
  56.  
  57.           Ncom com1 com2 ... comN
  58.           n
  59.           x_1 y_1 fontname1.font font_size1
  60.           x_2 y_2 fontname2.font font_size2
  61.           x_3 y_3 fontname3.font font_size3
  62.              .
  63.              .
  64.              .
  65.           x_n y_n fontnameN.font font_sizeN
  66.  
  67.      An example might be:
  68.  
  69.           3 27 74 12
  70.           3
  71.           200 20 topaz.font 11
  72.           200 40 diamond.font 20
  73.           100 90 emerald.font 18
  74.  
  75.      The first line is the amount to advance the page after each label.
  76.      This allows one to move over the blank gaps between labels.  This line
  77.      is printer specific since (to the best of my knowledge Commodore did
  78.      not supply a a micro feed command to the printer drivers).  The first
  79.      number on the line is the number of bytes in the command string to do
  80.      the page advance.  In this case I am issuing the 3 byte sequence which
  81.      on an Epson type printer will advance the page 12/216ths of an inch.
  82.      You can specify any number of bytes in the command up to 20.  If you
  83.      specify a value of 0 then no page advance command will be issued. The
  84.      next line is the number of text strings to be merged in to the logo if
  85.      you only want to print the logo image then put a 0 here and stop.
  86.      After this there are N lines starting with two numbers per line. These
  87.      are the (X,Y) coordinates for each of the text strings.  Following
  88.      these X,Y coordinates are the name and point size of the font to be
  89.      used to render the text string.  Any Amiga font in the FONTS:
  90.      directory may be used here.  If a font (or point size) is not
  91.      available then the default system font (probably topaz 8) will be
  92.      used.
  93.  
  94. Running VLabel:
  95.  
  96.      VLabel can be run with either of the following CLI commands:
  97.  
  98.         VLabel
  99.  
  100.       or
  101.  
  102.         VLabel filename
  103.  
  104.      When VLabel is run with out any filename it will read in the Label_logo
  105.      and Label_data files and then prompt you for the N text strings. Once
  106.      these strings have been entered it will printout one label advance the
  107.      page by the desired amount and then stop.  This is useful for aligning
  108.      the labels on the printer.  When in this mode you can have spaces in
  109.      the strings you enter, and you do not need to put quotes about them.
  110.  
  111.      When VLabel is run with a filename it will read the Label_logo and
  112.      Label_data files.  Then it will parse the given input file and
  113.      print the labels using the text contained in that file.  Since AMUC
  114.      needed the program to work as painlessly as possible with
  115.      SuperBase output the file format that is expected is:
  116.  
  117.         item1,item2,item3,...,itemN
  118.         item1,item2,item3,...,itemN
  119.                     .
  120.                     .
  121.                     .
  122.         item1,item2,item3,...,itemN
  123.  
  124.      Where each LINE is a separate label.  On each line there must
  125.      be N items (text strings) where N is specified in the Label_data
  126.      file.  The all items in each line may have embedded spaces
  127.      and do not need quotation marks.  Note that NULL items are
  128.      not allowed, VLabel will go into an endless loop if this is
  129.      attempted...
  130.  
  131. Bugs:
  132.  
  133.      When printing a bunch of labels from a file you may get one extra
  134.      garbage label at the end...  And NULL items are not allowed (as noted
  135.      above).
  136.  
  137. Preferences Considerations:
  138.  
  139.      To get normal looking labels (black text on white background) set
  140.      the image type to positive and black+white.  To get reverse field
  141.      labels set image type to negative and black+white mode.
  142.  
  143. Printer Specifics:
  144.  
  145.      Since the raster port dumping routine will always dump the output
  146.      in 8 pixel high chunks, if the image is not an exact multiple of
  147.      8 pixels high you will get a few blank lines.  This may or may not
  148.      be desirable, but with the inter-label feed option you can always
  149.      make the labels a bit shorter and feed between them.
  150.  
  151. Comments and Suggestions:
  152.  
  153.      These are always welcome and invited.  If you want a modification
  154.      send me a letter describing it and if I get around to it I will send
  155.      the result off to Fred Fish.
  156.