Contents Previous

# 12 Code defines in JpGraph

Various settings in JpGraph are controlled by overall DEFINEs in the configuration file "jpg-config.inc". Most of these defines have default values that should be valid for most usage.

In the rest of this chapter all constants are described with default value and usage.

Define, default value | Comment
--- | ---
"CACHE_DIR", "/tmp/jpgraph_cache/" | The full absolute name of directory to be used as a cache. This directory must be readable and writable for PHP. Must end with '/'
"TTF_DIR", "/usr/local/fonts/ttf/" | Directory for JpGraph TTF fonts. Must end with '/' The fonts must follow the naming conventions as used by the supplied TTF fonts in JpGraph.

"CSIMCACHE_DIR", "csimcache/"

Directory for cache directory for CSIM graphs. Must end with '/' Cache directory specification for use with CSIM graphs that are using the cache. The directory must be the filesystem name as seen by PHP and the 'http' version must be the same directory but as seen by the HTTP server relative to the 'htdocs' directory. If a relative path is specified it is taken to be relative from where the image script is executed. Note: The default setting is to create a subdirectory in the directory from where the image script is executed and store all files there. As usual this directory must be writable by the PHP process.

"CSIMCACHE_HTTP_DIR", "csimcache"

Directory for JpGraph TTF fonts. Must end with '/' Cache directory specification for use with CSIM graphs that are using the cache. The directory must be the filesystem name as seen by PHP and the 'http' version must be the same directory but as seen by the HTTP server relative to the 'htdocs' directory. If a relative path is specified it is taken to be relative from where the image script is executed. Note: The default setting is to create a subdirectory in the directory from where the image script is executed and store all files there. As usual this directory must be writable by the PHP process.

"CHINESE_TTF_FONT", "bkai00mp.ttf" | Actual name of the TTF file used together with FF_CHINESE aka FF_BIG5 This is the TTF file being used when the font family is specified as either FF_CHINESE or FF_BIG5
"LANGUAGE_CYRILLIC", false | Special unicode Cyrillic language support.
"CYRILLIC_FROM_WINDOWS", false | If you are setting this config to true the conversion will assume that the input text is windows 1251, if false it will assume koi8-r
'MINCHO_TTF_FONT', 'ipam.ttf' | Japanese TrueType font used with FF_MINCHO
'PMINCHO_TTF_FONT', 'ipamp.ttf' | Japanese TrueType font used with FF_PMINCHO
'GOTHIC_TTF_FONT', 'ipag.ttf' | Japanese TrueType font used with FF_GOTHIC
'PGOTHIC_TTF_FONT', 'ipagp.ttf' | Japanese TrueType font used with FF_PGOTHIC
"INSTALL_PHP_ERR_HANDLER", false | Determine if the library should also setup the default PHP error handler to generate a graphic error message. This is useful during development to be able to see the error message as an image instead as a "red-cross" in a page where an image is expected.
"CATCH_PHPERRMSG", true | Should the library examine the global php_errmsg string and convert any error in it to a graphical representation. This is handy for the occasions when, for example, header files cannot be found and this results in the graph not being created and just a "red-cross" image would be seen. This should be turned off for a production site.
"USE_LIBRARY_GD2",false | Specify if we should use GD 2.x or GD 1.x If you have GD 2.x installed it is recommended that you use it since it will give a slightly, slightly better visual appearance for arcs. If you don't have GD2 installed this must be set to false!

'USE_TRUECOLOR',true

Should the image be a truecolor image? Note 1: Can only be used with GD 2.0.2 and above. Note 2: GD 2.0.1 + PHP 4.0.6 on Win32 crashes when trying to use truecolor. Truecolor support is to be considered alpha since GD 2.x is still not considered stable (especially on Win32). Note 3: MUST be enabled to get background images working with GD2 Note 4: If enabled then truetype fonts will look very ugly => You can't have both background images and truetype fonts in the same image until these bugs has been fixed in GD 2.01

"USE_CACHE",false | Should the cache be used at all? By setting this to false no files will be generated in the cache directory. The difference from READ_CACHE being that setting READ_CACHE to false will still create the image in the cache directory just not use it. By setting USE_CACHE=false no files will even be generated in the cache directory.
"READ_CACHE",true | Should we try to find an image in the cache before generating it? Set this define to false to bypass the reading of the cache and always regenerate the image. Note that even if reading the cache is disabled the cached will still be updated with the newly generated image. Set also "USE_CACHE" below.
"DEFAULT_GFORMAT","auto" | Default graphic format set to "auto" which will automatically choose the best available format in the order png,gif,jpg (The supported format depends on what your PHP installation supports)
"USE_IMAGE_ERROR_HANDLER",true | Determine if the error handler should be image based or purely text based. Image based makes it easier since the script will always return an image even in case of errors.

"USE_APPROX_COLORS",true

If the color palette is full should JpGraph try to allocate the closest match? If you plan on using background image or gradient fills it might be a good idea to enable this. If not you will otherwise get an error saying that the color palette is exhausted. The drawback of using approximations is that the colors might not be exactly what you specified. Note1: This does only apply to a palette image, not true color images since they don't have the limitations of maximum number of colors.

"ERR_DEPRECATED",false | Should usage of deprecated functions and parameters give a fatal error? (Useful to check if code is future proof.)
"BRAND_TIMING",false | Should the time taken to generate each picture be branded to the lower left in corner in each generated image? Useful for performance measurements generating graphs
"BRAND_TIME_FORMAT","Generated in: %01.3fs" | What format should be used for the timing string?

The following defines should very rarely need to be changed

Define, default value | Comment
--- | ---
"CACHE_FILE_GROUP","wwwadmin" | What group should the cached file belong to (Set to "" will give the default group for the "PHP-user") Please note that the Apache user must be a member of the specified group since otherwise it is impossible for Apache to set the specified group.
"CACHE_FILE_MOD",0664 | What permissions should the cached file have (Set to "" will give the default permissions for the "PHP-user")
"USE_BRESENHAM",false | Decide if we should use the Bresenham circle algorithm or the built in Arc(). Bresenham gives better visual appearance of circles but is more CPU intensive and slower then the built in Arc() function in GD. Turned off by default for speed
"_CSIM_SPECIALFILE","_csim_special_" | Special file name to indicate that we only want to calc the image map in the call to Graph::Stroke() used internally from the GetHTMLCSIM() method.
"_CSIM_DISPLAY","_jpg_csimd" | HTTP GET argument that is used with image map to indicate to the script to just generate the image and not the full CSIM HTML page.

&nbsp

Contents Previous