PGPLOT changes in Version 5.0.2

This version implements fill-area styles 3 and 4 (hatching and cross-hatching).
This affects polygons drawn with PGPOLY, PGCIRC, and PGRECT. Hatching is
selected by CALL PGSFS(3), and cross-hatching is selected by CALL PGSFS(4); see
also PGQFS. There is a new user-callable routine (PGSHS) to control the angle
and spacing of hatch lines, and a corresponding new inquiry routine (PGQHS).
There is also one new internal routine (PGHTCH). Drivers have been modified so
that they all interpret self-intersecting polygons the same way: a point is
inside the polygon if an infinite ray with the point as origin crosses an odd
number of polygon edges (``EvenOddRule'' in X-window terminology). Example
program PGDEMO1 has been revised to show the new fill-area styles.

Routine PGERRB has acquired new options that allow symmetric, two-sided error
bars to be drawn with one call instead of two.

There are two new drivers, LXDRIV, to create a LaTeX picture environment (this
is only useful for very simple plots), and HGDRIV, to create a plot in HPGL2
format. The PostScript driver has been updated to record a correct bounding box
for each page, and optionally include comments describing text strings. Note
that the bounding-box is now written at the end of the file, i.e., after PGPLOT
has figured out what it should be. Some programs that import PostScript require
the bounding-box in the file header. The script pgplot/pscaps.sh can be used to
move the bounding-box information into the header.

There are four bug-fixes: (1) in routine PGSUBP which was not setting the
viewport correctly; (2) in routine PGCONL (actually PGCL) which was writing
contour labels at the wrong angle; (3) in routine GRPARS which was incorrectly
attempting to overwrite the supplied device spec when doing logical-name
translation [VMS only]; (4) in routine GRFA which would sometimes incorrectly
fill a re-entrant polygon.

Support is added for the FreeBSD operating system and for PCs running MS-DOS
with Salford Software Fortran (pgplot/sys_salford) or Microsoft PowerStation
Fortran (pgplot/sys_msdos).

All the UNIX configuration files have been modified to add a CFLAGD parameter
that controls linking of C programs that call PGPLOT.
-------------------------------------------------------------------------------

pgplot
     aaaread.me
          Updated for version 5.0.2.
     ver500.txt, ver501.txt
          Earlier release notes (renamed and reformatted).
     ver502.txt
          Release notes for this release (this file).
     copyright.notice
          Updated.
     drivers.list
          Updated for new drivers.
     install.txt
          Updated.
     makemake
          Add PGHTCH, PGSHS, PGQHS to routine list; remove GRSFS. Modify to
          avoid use of shell functions that are not supported by some old
          versions of the Bourne shell.
     pscaps.sh
          (New file.) Script to modify a PostScript file by moving the
          BoundingBox comment from trailer to header. This will convert a
          single-page PGPLOT PostScript file into valid Encapsulated
          PostScript.
pgplot/cpg
     cpgplot.doc
          Added further instructions on linking C and Fortran.
     libgcc_path.sh
          A new script that tries to generate the correct linking commands for
          use with mixed Fortran and gcc.
pgplot/drivers
     ccdriv.f, ladriv.f, lndriv.f
          Remove backslashes and PDP-11 octal constants from code to improve
          portability (but these drivers are probably still specific to VMS).
     epdriv.f
          Remove some VMS dependencies; has not been tested under UNIX,
          however.
     hgdriv.f
          (New file.) Driver for HPGL2 graphics, from Colin Lonsdale.
     ljdriv.f
          (Bug fix.) Add a SAVE statement for non-static compilers.
     lxdriv.f
          (New file.) Driver for LaTeX picture environment, from Grant
          McIntosh.
     pgxwin_server.c
          Add omitted include: X11/Xos.h.
     psdriv.f
          (New feature.) If the supplied file name is '-', the driver send the
          PostScript output to standard output. (Note: this will only work when
          Fortran unit 6 is connected to standard output.) A correct
          PageBoundingBox comment is now included for each page. Plotted text
          can be included in the PostScript file as comments if environment
          variable PGPLOT_PS_VERBOSE_TEXT is set.
     tfdriv.f
          Improved optimization [David R. Chang]. Note that this driver is for
          VMS systems where the regular Tektronix driver (ttdriv.f) can send
          output to a terminal but cannot create a disk file.
     xwdriv.c
          Change polygon fill rule from ``WindingRule'' to ``EvenOddRule'' to
          match other drivers. Suppress message about starting server (when it
          starts successfully). Update comments.
pgplot/examples
     pgdemo1.f
          Revise example 6 to show all four fill-area styles, and example 7 to
          use the new options in PGERRB.
     pgdemo2.f
          Revise to exercise hatching styles.
     pgdemo3.f
          Change internal subroutine name PLOT to avoid possible conflicts with
          other libraries.
     pgdemo12.f
          Call PGBEG as a function rather than a subroutine.
pgplot/pgdisp
     initlgwin.c
          Change polygon fill rule from ``WindingRule'' to ``EvenOddRule'' to
          match other drivers.
pgplot/src
     grfa.f
          (Bug fix.) Fixed bug in filling re-entrant polygons (thanks to Andrew
          Carman).
     grlin3.f
          Prevent a possible `sqrt of negative number' error.
     gropen.f
          (Bug fix.) Avoid a zero-length string problem. Explicitly initialize
          variable to zero.
     grpars.f
          (Bug fix.) No longer overwrites supplied string with logical name
          translation; avoid a zero-length string problem.
     grpckg1.inc
          Remove unused variable GRFASL.
     grsfs.f
          (File deleted.)
     grtext.f
          Now sends text as a comment to output when requested.
     pgbeg.f
          Initialize hatching attributes. Explicitly initialize variable to
          zero.
     pgbox.f
          (Aesthetic improvement.) Move labels outwards slightly when inverted
          ticks are requested; adjust position of `MV' y labels.
     pgcl.f (support routine for pgconl)
          (Bug fix.) The contour labels were written at the wrong angle when x
          and y scales differed (thanks to Gerry Haines for discovering this);
          also labels could be drawn outside the window.
     pgerrb.f
          (Enhancement.) Add options 5 and 6 for drawing symmetric two-sided
          error-bars.
     pghtch.f
          (New file.) Routine for hatching (shading) polygon.
     pgmtxt.f
          (Bug fix.) The routine could try to use a zero-length character
          substring, which is not allowed by the Fortran-77 standard.
     pgplot.inc
          Add hatching attributes.
     pgpoly.f
          Add support for hatching.
     pgqfs.f
          Add file styles 3 and 4 (hatching).
     pgqinf.f
          Change version to 5.0.2. Avoid some zero-length string problems.
     pgqhs.f
          (New file.) Routine to inquire hatching style.
     pgrect.f
          Add support for hatching.
     pgsave.f
          Save hatching style.
     pgsfs.f
          Add file styles 3 and 4 (hatching).
     pgshs.f
          (New file.) Routine to set hatching style.
     pgsubp.f
          (Bug fix.) Rescale viewport when panel size changes.
pgplot/sys_dos
     *.f
          Split grdos.for into separate files for easier maintenance.
pgplot/sys_freebsd
     aaaread.me, f77_cc.conf, iand.c
          (New directory.) Support for FreeBSD operating system (Jean-Marc
          Zucconi).
pgplot/sys_hp
     aaaread.me
          (New file.) Add notes about optimization.
     fort77_gcc.conf
          (New file.) Configuration file for use with gcc compiler (not
          tested).
pgplot/sys_msdos
     aaaread.me, etc.
          (New directory.) Support files for MS Power Station 32-bit Fortran
          (from C. T. Dum).
pgplot/sys_osf1
     aaaread.me
          (Modified.) Add note about shareable library.
     f77_cc_shared.conf
          (New file.) For making a shareable library.
pgplot/sys_salford
     aaaread.me, *.f
          (New directory.) New system-specific files for MS-DOS with Salford
          Software Fortran (from Michael Michelson).
pgplot/sys_sun4
     *.conf
          Change -pic to -PIC (a large global offset table is needed if many
          drivers are selected).
pgplot/sys_ultrix
     f77_cc.conf
          Add "-lX11" in LIBS and "-Olimit 600" (for optimizing complex
          routines) in CFLAGC (Jaiyong Lee).
pgplot/sys_vms
     build.com
          Add PGSHS, PGQHS to transfer vector. Do not attempt to link with UIS
          on an AXP machine.

-------------------------------------------------------------------------------
Tim Pearson, California Institute of Technology, tjp@astro.caltech.edu
Copyright © 1995 California Institute of Technology
