README FOR JPGRAPH
==================

This is JpGraph 1.6.2 an Object Oriented PHP4 Graph Plotting library.

Copyright (C) 2001,2002 Johan Persson, Aditus Software 

Released under QPL 1.0

------------ ! IMPORTANT ! ----------------------------

     YOU MUST READ AND AGREE WITH THE 
     QPL 1.0 LICENSE BEFORE CONTINUING. 

    IF YOU DO NOT AGREE WITH THE LICENSE 
    YOU MUST IMMIDIATELY DELETE ALL 
    JPGRAPH RELATED FILES ON YOUR SYSTEM

------------ ! IMPORTANT ! ----------------------------

Included files
--------------
README	                 This file
QPL.txt                  QPL 1.0 License

/src
  Changelog               Changelog for JpGraph
  jpgraph.php             Base library
  jpgraph_log.php         Extension: logarithmic scales
  jpgraph_line.php        Extension: line plots 
  jpgraph_bar.php         Extension: bar plots
  jpgraph_error.php       Extension: error plots
  jpgraph_scatter.php     Extension: scatter/impuls plots
  jpgraph_spider.php      Extension: spider (Web) plots
  jpgraph_pie.php         Extension: pie plots
  jpgraph_canvas.php      Extension: drawing canvas
  jpgraph_pie3d.php	      Extension: 3D pie plots
  jpgraph_gantt.php	      Extension: Gantt chart

/src/utils/				  Various _unsupported_ small utilities I use to
			    		  build internal documentation and image manipulation.  

/src/Examples			  A directory with over 80 example graphs.
						  Run jpgraph_testsuit.php to get a list of all
						  files and you can easily click on a file to
						  see the code and the resulting image.
			
Requirements:
-------------
* PHP 4.02 or higher
* GD 1.8.x or higher

CAVEAT 1: 
JpGraph is developed under Unix and is known to work well.
Please note that you may or may not encounter some known 
issues when trying to run on PHP/Apache/Windows or a 
combination of PHP/IIS. Due to defects in IIS. See below.

CAVEAT 2:
To get background images working with GD 2.0.1 you MUST enable
Truecolor images by setting the constant USE_TRUECOLOR to true. If you
don't do this the background images will just be  a black rectangle.
The bad thing with this is that the antialias for Truetypes is broken
using truecolor images in GD 2.0.1. This means you can't have 
background and TTF fonts in the same image if you are using GD 2.0.1

You can find a bug fix for GD 2.01 and the TTF problem together
with Truecolor images at

   http://www.coupin.net/gd-freetype/

NOTE: This bug fix has _nothing_ to do with JpGraph and no guarantees
or suppćort can be given regarding this workaround. 


Installation
------------
0. Make sure your PHP is AT LEAST 4.02 (preferrable 4.1.2) 
   and that you have compiled PHP with support for GD library. 
   You must make aboslutely sure that you have GD working. 
   Please run phpinfo() to check if GD library
   is supported in your installation. 
   Please note that there are known issues with GD 2.0.1 see CAVEAT 2
   above.
   
1. Unzip and copy the files to a directory of your choice where you normally
   keep your PHP script libraries.

2. Set up the directory paths in jpgraph.php where the cache directory
   should be and where your TTF directory is. 
   NOTE that Apache/PHP must have write permission in your cache directory. 

3. Check that all rest of the DEFINE in the top of JpGraph.php 
   is setup to your preference. The default should be fine
   for most users. (See also Note 5. below)
   Specifically check that the settings of USE_GD2_LIBRARY reflects
   your installation, (should be true if you have GD2 installed,
   false otherwise).

4. Make sure that the cache settings USE_CACHE and READ_CACHE
   are according to your preference. Caching is by default turned off.
   Make sure PHP have write privileges to your cache directory if 
   you plan on using the cache feature.

5. Some windows installations seems to have a problem with a PHP
   script ending in a newline (This newline seems to be sent to the
   browser and will cause a Header already sent error). 
   If you have this problem try remove all trailing newlines in the
   jpgraph* files 

5. It has been reported that PHP 4.06 under IIS has problem correctly
   interpreting file paths. This can be solved by hardcoding the
   CACHE_DIRECTORY and FONT_DIRECTORY const ants directly in the code
   instead of using the defined constants. 

6. Read (really!) the FAQ on http://www.aditus.nu/jpgraph/jpg_faq.php.


Troubleshooting
---------------
1. Any PHP errors about function "imagecreate" does not exist indicates that
   your PHP installation does not include the GD library. This must be present.

2. Any error about "parent::" undefined means that you are not using PHP 4.02 or
   above. You _NEED_ PHP 4.02 or higher. This problem has also been
   reported to sometimes occur under Windows. This problem has also
   been reported by people running Zend-cache and is a bug in Zend. A
   workaround is to move all files into one single file.

3. If you don't get any background images (but rather a solid black
   box) you are using GD 2.x but have forgotten to enable truecolor
   support. Correct this by enabling the USE_TRUECOLOR define. See
   CAVEAT 2 above.

4. If background images does not work make sure the settings of 
   USE_GD2_LIBRARY corresponds to your installation, i.e. If you
   don't have GD2 then this define must be false!

5. If you are running PHP 4.06 and get an error saying "GD was not
   built with truetype support" you should know that this is a known
   problem with GD+PHP 4.06. There are some workarounds (search the
   net!) but it is really recommended that you instead upgrade to at least
   PHP 4.1.1 and configure PHP with --with-gd-native-ttf 
   (Please also note that the built in TTF uses point size for fonts
   whereas Truetype2 uses pixels.)

6. If you are running IIS and Win2k and get the error "Can't find
   font' when trying to use TTF fonts then try to change you paths
   to UNIX style, i.e. "/usr/local/fonts/ttf/". Remember that the
   path is absolute and not relative to the htdocs catalogue.

7. If you are using the cache please make sure that you have
   set the permissions correctly for the cache directory so that
   Apache/PHP can write to that directory.

8. If you have problem building GD 2.0.1 for PHP you might want 
   to try the following tip from Rasmus L.

   ----< QUOTE >----

   Build GD 2.0.1 with these two lines in your GD2 Makefile

   CFLAGS=-g -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBFREETYPE
   LIBS=libgd.a -lpng -lz -ljpeg -freetype -lm

   Don't install the lib anywhere, just leave it in the GD-2.1.1
   directory.

   Then build PHP using a minimum of:

   --with-gd=/home/<your_dir>/gd-2.0.1
   --with-freetype-dir=/use
   --enable-gd-native-ttf
   --enable-gd-imgstrttf
   --with-jpeg-dir=/usr
   --with-png-dir=/usr
   --with-xpm-dir=/usr/X11R6

   The above assumes you have freetype2 installed along with the
   libjpeg and libpng libs under /usr

   ----< END QUOTE >----


Known problem
-------------
1. Image maps does not work with rotated images since they assume 
   that the image is located at 0 degrees.


Documentation
-------------
The latest documentation, both on-line, and off-line may be found at
http://www.aditus.nu/jpgraph/

Bug reports and suggestions
---------------------------
Should be sent to (jpgraph aditus nu) [insert at and dot]

Change history:
------------------------------------------------------------------------
Date        Ver        Comment
------------------------------------------------------------------------
2002-04-20  1.6.2      Addition of image maps for line and scatter plot
2002-04-07  1.6.1      Bug fixes for 3D pies and image maps for pie's
2002-04-01  1.6	       Functional improvments
2002-04-01  1.6 BETA   Beta candidate for 1.6
2002-03-01  1.5.3      Fix minor release problem in 1.5.2
2002-02-29  1.5.2      Minor bug fixes.
2002-02-11  1.5.1      Minor bug fixes.
2002-01-27  1.5	       Functional improvements. Gantt charts.
2002-01-17  1.5-BETA2  Functional improvements, bug fixes
2001-12-16  1.5-BETA   Functional improvements, gantt-charts, bug fixes.
2001-11-12  1.4        Functional improvements, bug fixes.
2001-09-23  1.3.1      Minor bug fixes
2001-09-13  1.3        Major functional enhancements and minor bugfixes
2001-04-29  1.2.2      Minor bug fixes. Addded background image support 
2001-03-29  1.2.1      Minor bug fixes. Experimental support for 3D pie plots
2001-03-18  1.2        Second release see changes.txt
2001-02-18  1.1        Second release see changes.txt
2001-02-04  1.0        First public release

-------------------------------------------------------------------------

Stockholm/London 2002-04-20
Johan Persson (jpgraph@aditus.nu)

<EOF>











