Salliere Duplicate Bridge Scorer
--------------------------------

Salliere scores, matchpoints and nicely formats the boards for a duplicate
pairs evening. The command line is a list of commands followed by two
comma-separated files on which to operate. 

The syntax is:

   salliere [options] [commands] -- <boards.csv> <names.csv>

The boards file must contain lines with at least board number, NS pair number,
EW pair number, Contract, Declarer and either tricks or the contract must
include whether it made (=) went down (-tricks) or made over tricks (+tricks).
The names file must list at least pair number followed by two comma separated
names. 

Board numbers are generally just integers, but may have section numbering and
may have the vulnerability manually overridden. The syntax for a board number
is: [section:]number[;options], where options are comma separated key=value
pairs.  The only valid key at the moment is 'vul', which has the possible
options 'none', 'ew', 'ns' or 'all. The following are all valid board numbers:

   4 - board 4
   A:12 - board 12 in section A
   16;vul=ns - board 16 with the vulnerability set to be NS vulnerable, EW non-vulnerable.
   C:25;vul=all - board 25 from section C with all vulnerable

The commands will add tricks, scores and matchpoint/cross-imp columns to the
boards file and total matchpoints/cross-imps, percentages and local/orange
points to the names file as appropriate.

Assigned/Adjusted scores and matchpoints can be entered into the file by
prefixing them with an exclamation mark (!). Scores marked as such will
override the calculated scores/MPs for the board.

Averages are supported by putting av=/av+/av- in the appropriate score fields.
Split scores are also supported.

By default the commands which print results will do so as ascii to stdout. This
can be changed with the --output=format:file option. Formats are either pdf,
html or txt and file is the path to a file or - for stdout.

The commands which format the output require the extra fields to be added
either by hand or with the appropriate commands so they can be printed.

The commands are as follows:
      
   verify
        
      Checks all the boards look sane; can be used with 
      the --setsize option to check the movement.
   
   score
        
      Calculates tricks and score for each contract
        
   matchpoint
        
      Calculates match points for each hand
       
   ximp

      Calculates the cross-IMPs for each hand

   total
        
      Calculates the total match points for each pair
        
   localpoint
        
      Calculates local or orange points for each pair
   
   results
        
      Prints all the pairs in order with their total match points, percentages
      and local/orange points as appropriate
        
   matrix
        
      Prints a matrix of match points gained on each board by each pair
        
   boards

      Prints out each board with pairs, contract, results and match points

Here are the possible options:

   --help      
   
      Prints the help text

   --orange  
   
      Prints "OP" rather than "LP"

   --ximp

      Prints "IMP" rather than "MP" and removes percentages from the output

   --title=title 
   
      Changes the title on the output

   --setsize=N 
   
      Check the movement based on sets of size N

   --output=format:file
      
      Changes the output format and file. Possible formats are pdf, html or
      txt.  A file of ’-’ corresponds to stdout.

