home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0975.lha / PCal / README < prev    next >
Text File  |  1992-02-19  |  8KB  |  189 lines

  1. "Pcal" Version 4.3
  2.  
  3. This is a new release of "Pcal", the PostScript calendar program.  (An earlier
  4. release, 4.2, was not distributed publicly.)
  5.  
  6. Major changes:
  7.  
  8.     1) Of interest to Pcal hackers, installers, and power users :-) :
  9.  
  10.       .    The promised comments about X_OK in pcalutil.c are now actually there.
  11.  
  12.       .    Pcal now generates debugging information (see -Z flag below).
  13.  
  14.  
  15.     2) New command-line options:
  16.  
  17.       .    The "-c" flag has been added; this directs Pcal to generate a date
  18.     file suitable for input to the Un*x "calendar" utility (instead of
  19.     a PostScript file).  This file may also be used as input for
  20.     subsequent runs of Pcal, but be forewarned that "opt" lines,
  21.     preprocessing directives, comments, etc. will be lost.  (Idea
  22.     courtesy of Bruce Mohler.)
  23.  
  24.       .    The "-k" and "-K" flags have been added.  The former moves the two
  25.     small calendars to the first two boxes (upper-left corner) while
  26.     the latter splits them so the previous month is in the first box
  27.     and the next month is in the last.  Should there be a conflict
  28.     with a date, the body of the calendar is moved down one row.  (Why
  29.     "-[kK]"?  Well, "k" sort of sounds like "calendar", and anyway all
  30.     the letters that made any more sense were taken.)
  31.  
  32.       .    The "-N" flag has been added; this allows the user to override the
  33.     default "Notes" header in the notes box.  If set to "", Pcal will
  34.     not print a header in the notes box.
  35.  
  36.       .    The "-u" flag has been added; this prints the version information
  37.     and parameter usage message to stdout and terminates normally.
  38.  
  39.       .    The "-s" flag has been added; this allows the user to override the
  40.     default values for date and/or fill box shading.  For example,
  41.  
  42.         -s 0.45/0.98
  43.  
  44.     sets the date shading to 0.45 (white = 1, black = 0) and the fill box
  45.     shading to 0.98; this looks good on the whole-year calendars.  The
  46.     date and fill box shading values may be changed independently; e.g.
  47.     "-s 0.45" or "-s /0.98".
  48.  
  49.       .    The "-S" flag has been added; this suppresses generation of the
  50.     small calendars in the lower right corner, thus freeing two more
  51.     boxes for notes (cf. "note/<number>" below.
  52.  
  53.       .    The "-Z" flag has been added to print debugging information of interest
  54.     primarily to Pcal hackers.  This flag is a "hidden" flag; it does not
  55.     appear on the man page or as part of the usage message.  At present,
  56.     the following options are supported:
  57.  
  58.         -ZD    print dates and text as read from date file
  59.         -ZF    print date file search paths
  60.         -ZM    print moon phases and identify quarters
  61.         -ZO    print option flags and where set
  62.         -ZP    print "preprocessor" debug info
  63.         -ZT    print dates and text as written to output file
  64.         -Z    turn off all debugging info
  65.  
  66.     The subflags may be combined: e.g., "-ZDF" is equivalent to "-ZD -ZF".
  67.     All of the aforementioned debugging information is written to stderr.
  68.  
  69.     (This brings the grand total up to 42 flags; -[aiqrHPQTVW] are still
  70.     unused.)
  71.  
  72.  
  73.     3) New date file functionality:
  74.  
  75.       .    The file name in the "include" directive may contain the string "%y",
  76.     which will be replaced by the last two digits of the current year.
  77.  
  78.       .    Wildcards "new_moon", "first_quarter", "full_moon", and "last_quarter"
  79.     (plus appropriate synonyms) are now accepted in the date file.
  80.  
  81.       .    If the "-w" flag has been specified (in PCAL_OPTS, on the command
  82.     line, or in an "opt" line), Pcal automatically defines the symbol
  83.     "whole_year".  This allows the user to specify different "gray"
  84.     character styles and densities, alternate foot strings, etc.,
  85.     depending on whether s/he is generating a single month or a full year:
  86.  
  87.         ifdef whole_year
  88.          opt -s 0.45/0.98    # improve contrast in whole-year mode
  89.         endif
  90.  
  91.       .    The keyword "nearest" has been added, allowing constructs such as
  92.     "workday nearest every 10th".  (Thanks to Andy Fyfe for the idea
  93.     and code.)  In this example, Pcal would look first at the 10th,
  94.     then at the 11th, 9th, 12th, 8th, etc. until a workday is found.
  95.     (If you would prefer to disambiguate "nearest" in favor of the
  96.     earlier date, see the comments by "NEAREST_INCR" in pcaldefs.h.)
  97.  
  98.       .    The preprocessor now accepts "if" as a synonym for "ifdef".
  99.  
  100.       .    The preprocessor now accepts "elif" as per most recent flavors of
  101.     cpp; "elif A" is true if A is defined.  Multiple "elif" clauses
  102.     are allowed; as in cpp, at most one "if{{n}def}", "elif", or "else"
  103.     clause will be processed per block.
  104.  
  105.       .    The user may place "Notes" text in any empty box: Pcal now supports
  106.     "note/<n>", where <n> is a positive or negative integer.  If <n>
  107.     is positive, Pcal counts forward from the first empty box; if
  108.     negative, backward from the last.  Default is -1 (last empty box:
  109.     as before, on the bottom row adjacent to the small calendars
  110.     unless -S is specified).  (Thanks to Geoff Kuenning for the idea.)  
  111.  
  112.  
  113.     4) Other new functionality:
  114.  
  115.       .    A new message, "no match for wildcard", has been added.
  116.  
  117.       .    The date sizes for the small and medium calendars have been enlarged
  118.     for legibility.
  119.  
  120.       .    If Pcal can't find the moon file in the date file's directory, it
  121.     looks in the directory where the Pcal executable lives.  This allows
  122.     all users to access the same moon file; in fact, they need not even
  123.     know of its existence.
  124.  
  125.       .    The "%u" and "%w" format specifiers have been added.  These behave
  126.     much like "%U" and "%W" except that they treat the week containing
  127.     January 1 (instead of the first full week) as week 01, as done by
  128.     some companies.
  129.  
  130.       .    The %{[+-]<n>}[DWMY] format specifiers have been added.  These do
  131.     not print anything per se, but instead adjust the working date by
  132.     [+-]<n> days (D), weeks (W), months (M), or years (Y); subsequent
  133.     format specifiers reference the adjusted date.  %D or %M alone
  134.     reset the original date.
  135.  
  136.     Since the above format specifiers do not print anything, expand_fmt()
  137.     and print_word() were revised further to avoid generating null words.
  138.  
  139.       .    The "moon92" file has been supplied.
  140.  
  141.       .    The user may now override the default notes font size as well as
  142.     the font name:
  143.  
  144.         pcal -n Helvetica/8
  145.  
  146.     sets the font to 8-point Helvetica.  (This is the easy one.  User
  147.     override of the other font sizes may appear later.)
  148.  
  149.  
  150.     5) Bug fixes:
  151.  
  152.       .    The algorithm for finding the date file has been changed slightly:
  153.     pcal searches the current directory before PCAL_DIR for a user-
  154.     defined date file.  More importantly, the man page has been
  155.     rewritten to accurately describe the search algorithm; the
  156.     documentation had never been correct.
  157.  
  158.       .    Pcal no longer requires a space between -[LCRN] and the following
  159.     quoted string in an "opt" line; loadwords() has been made smart enough
  160.     to split the flag and the string into separate words.
  161.  
  162.       .    Pcal has been made much smarter about escape sequences (octal or
  163.     hex formats) and now handles them on the command line in addition
  164.     to "opt" lines in the date file.
  165.  
  166.       .    MIN_ORD_LEN has been expanded from 3 to 4 in order to distinguish
  167.     "every" from "even".
  168.  
  169.       .    is_quarter() has been revised to eliminate the occasional duplicate
  170.     (1/92) or missing (12/92) quarter moon in -m mode.
  171.  
  172.  
  173. Credits:
  174.  
  175. The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
  176. and Pipeline Associates, Inc. with permission to modify and redistribute.
  177. Many others have worked on it since; see the Orig.ReadMe file and topline
  178. comments in pcal.c.
  179.  
  180. The following people contributed to Pcal v4.2 and v4.3:
  181.  
  182.     Overall coordinator:                Joe Brownlee
  183.     "nearest" keyword:                Andy Fyfe
  184.     "note/n" suggestion:                Geoff Kuenning
  185.     VMS support, moon phase algorithm:        Richard Dyson
  186.     "-c" suggestion, new SYNOPSIS for man page:    Bruce Mohler
  187.     Other C and PostScript code:            Andrew Rogers
  188.  
  189.