github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/graphics-magick/share/doc/GraphicsMagick/ChangeLog.2003 (about)

     1  2003-12-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
     2  
     3  	* magick/annotate.c (RenderFreetype): Ensure that image storage
     4  	class is set to DirectClass. Text rendering was not working
     5  	properly on top of PseudoClass images.
     6  
     7  	* magick/map.c (MagickMapRemoveEntry): Logic didn't properly
     8  	handle removing entry in list.
     9  
    10  	* configure.ac: Added --enable-efence option to enable memory
    11  	debugging using Electric Fence.
    12  
    13  2003-12-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
    14  
    15  	* tests/maptest.c (main): Extended test to add an entry to the
    16  	list after an entry has already been removed.
    17  
    18  	* magick/image.c (ColorspaceTypeToString): Add support for LAB
    19  	colorspace.
    20  
    21  	* magick/map.c: Added signature members to all structures and
    22  	added assertions to ensure that the signature == MagickSignature
    23  	prior to use. MagickMapAllocateObject now initializes the object
    24  	reference count to one, and MagickMapDestroyObject decrements it
    25  	in order to be more correct even though the object reference count
    26  	is not actually used yet.
    27  	(MagickMapCopyString): Preserve a null argument, and use
    28  	AcquireString since it doesn't enlarge the string storage.
    29  	(MagickMapCopyBlob): Preserve null blobs.
    30  
    31  	* configure.ac: Search for the shmctl() function.  Under current
    32  	Cygwin, this is hiding in -lcygipc.
    33  
    34  2003-12-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
    35  
    36  	* magick/composite.c: Fixed the composite operator list in the
    37  	CompositeImage documentation.
    38  
    39  	* www/api/types.html: Corrected list of composition
    40  	operators. Sometime prior to the creation of GraphicsMagick, the
    41  	"Replace" composite operators were renamed to be "Copy" composite
    42  	operators.  Thanks to David Relson for bringing this problem to
    43  	our attention.
    44  
    45  	* PerlMagick/Magick.xs: Added "LAB" to colorspace types.
    46  
    47  	* magick/image.h (enum ColorSpace): Add LABColorspace enumeration.
    48  
    49  	* wand/magick_wand.h : Add some compatibility definitions to
    50  	translate from ImageMagick enumerations to existing GraphicsMagick
    51  	enumerations.
    52  
    53  2003-12-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
    54  
    55  	* magick/annotate.c: Use header synonyms defined by FreeType's
    56  	ftheader.h (included via <ft2build.h>) to include FreeType headers.
    57  	This will presumably be more portable in the future.
    58  
    59  	* configure.ac: <ft2build.h> is an optional prerequisite for
    60  	<freetype/freetype.h> and <libwmf/ipa.h> so include it when
    61  	testing for these headers.
    62  
    63  	* magick/annotate.c: Include <ft2build.h> if it is available.
    64  
    65  2003-12-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
    66  
    67  	* wand/wandtest.c: Ported from latest ImageMagick version.
    68  
    69  	* wand/drawing_wand.c: Adapted to be compatible with latest
    70  	ImageMagick version.
    71  
    72  	* wand/pixel_wand.c: Adapted to be compatible with latest
    73  	ImageMagick version.
    74  
    75  	* wand/magick_wand.c: Ported from latest ImageMagick version.
    76  
    77  	* magick/image.h (Image): Members color_profile, iptc_profile,
    78  	generic_profile, and generic_profiles are now deprecated and
    79  	private although they continue to work as before. Please migrate
    80  	existing code to use the GetImageProfile and SetImageProfile
    81  	functions since these members will eventually be removed.
    82  
    83  	* magick/image.c (GetImageProfile): New function to retrieve an
    84  	image profile. Return value differs from similarly named
    85  	ImageMagick method since the ImageMagick approach assumes a
    86  	particular storage method.
    87  	(SetImageProfile): New function to add (or remove) an image
    88  	profile. Does not execute CMS color profiles.
    89  
    90  	* magick/cache.c (SetImageVirtualPixelMethod): Return unsigned int to
    91  	make the Wand implementation happy.
    92  
    93  	* magick/image.c (TransformColorspace): Return unsigned int to
    94  	make the Wand implementation happy.
    95  	(SetImageType): Return unsigned int to make the Wand
    96  	implementation happy.
    97  
    98  	* magick/draw.h, magick/draw.c: Substitute `unsigned long` in
    99  	place of `size_t` in interfaces so that the draw API is not
   100  	sensitive to the definition of _LP64.
   101  
   102  	* locale/C.mgk: Added new messages required by Wand library.
   103  
   104  	* magick/error.c (ExceptionSeverityToTag): Add tag translations
   105  	for the WandWarning, WandError, & WandFatalError enumerations
   106  
   107  	* magick/error.h (enum ExceptionType): Add WandWarning, WandError,
   108  	& WandFatalError enumerations to ExceptionType for ImageMagick
   109  	API compatibility.
   110  
   111  	* magick/image.h (enum ChannelType): Add an `AllChannels`
   112  	enumeration to the ChannelType enumeration for ImageMagick
   113  	API compatibility.
   114  
   115  2003-12-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   116  
   117  	* PerlMagick, tests: Adjusted allowed error values for tests based
   118  	on new error computation arithmatic.  Some tests were left failing
   119  	since the operation they test provides results which are
   120  	unreasonably inaccurate, or obviously broken.
   121  
   122  2003-12-17  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   123  
   124  	* coders/jpeg.c: Changed "JPEG:preserve-settings from a key/value
   125  	pair to a simple flag.  Save and restore attributes when
   126  	"-define JPEG:preserve-settings" appears on the commandline.  Use
   127  	"+define JPEG:preserve-settings" to unset the flag.
   128  
   129  2003-12-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   130  
   131  	* coders/wmf.c: Include <ft2build.h> if it is available since some
   132  	libwmf installs don't work unless it is included before the libwmf
   133  	API headers.
   134  
   135  	* configure.ac: Check for <ft2build.h>.
   136  
   137  2003-12-16  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   138  
   139  	* coders/jpeg.c: Changed stored jpeg quality attribute from
   140  	[jpeg-quality] to JPEG-Quality.  Added attributes JPEG-Colorspace
   141  	and JPEG-Sampling-factors.  Added code to save and restore
   142  	these attributes when "-define JPEG:preserve-settings=yes" is
   143  	present in the comandline.  Quality is restored if the input
   144  	was a JPEG and the quality was preserved.  Sampling factors
   145  	are restored if the input was a JPEG, sampling factors were
   146  	preserved, and the colorspace for the output file is the same
   147  	as that of the input file.
   148  
   149  2003-12-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   150  
   151  	* TclMagick/source/configure.ac: Add an initial TclMagick
   152  	configure-based build environment based on a template and macros
   153  	from the Tcl project.  I recall that while the extension does build,
   154  	it is possible that it is not properly registered as a module to Tcl.
   155  
   156  2003-12-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   157  
   158  	* magick/image.c (IsImagesEqual): Properly compute error distance
   159  	vectors. Math was missing the necessary sqrt call.  Also,
   160  	pre-normalize the error differences to 1.0 in order to reduce the
   161  	storage size required to store the summation of error values.
   162  
   163  	* PerlMagick/t/composite.t: Update Minus and Xor reference images.
   164  
   165  	* magick/composite.c (CompositeImage): Incorporated fixes from
   166  	ImageMagick for XorCompositeOp, PlusCompositeOp, and
   167  	MinusCompositeOp.  Thanks to John Cristy for bringing the need for
   168  	these fixes to our attention.
   169  
   170  	* magick/image.h (RoundToQuantum): Added missing parenthesis.
   171  
   172  2003-12-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   173  
   174  	* doc/environment.imdoc: Document MAGICK_CODER_MODULE_PATH and
   175  	MAGICK_FILTER_MODULE_PATH.
   176  
   177  	* rungm.sh.in: Pass MAGICK_CODER_MODULE_PATH and
   178  	MAGICK_FILTER_MODULE_PATH in the environment so modules build may
   179  	be tested without first being installed.
   180  
   181  	* magick/module.c (FindMagickModule): Use the
   182  	MAGICK_CODER_MODULE_PATH environment variable to specify a search
   183  	path for coder modules.  Use MAGICK_FILTER_MODULE_PATH to specify
   184  	a search path for filter modules.
   185  
   186  	* Makefile.am: Updated to Automake 1.8.
   187  	(install-exec-perl): Fixes which achieve a successful
   188  	`make distcheck` for the first time in *Magick history.
   189  
   190  	* configure.ac: Set scripts to executable.
   191  
   192  2003-12-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   193  
   194  	* Makefile.am (uninstall-data-html): Pathnames were computed
   195  	incorrectly so documentation directories were being left behind.
   196  
   197  	* configure.ac: --without-frozenpaths is now the default.  This
   198  	helps `make distcheck` work and makes the package more portable.
   199  	Path to gm was being incorrectly frozen when --without-frozenpaths
   200  	was specified.
   201  
   202  	* magick/delegate.c (ReadConfigureFile): Validate delegate paths
   203  	prior to substitution.
   204  
   205  	* rungm.sh.in (top_builddir): Use a more reliable scheme for
   206  	computing location of source and build directories.
   207  
   208  	* magick/Makefile.am: Improve include directory computation logic.
   209  
   210  	* configure.ac: Don't override includedir.  Pass user-supplied LIBS
   211  	to the linker.
   212  
   213  2003-12-08  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   214  
   215  	* coders/jpeg.c: store JPEG quality as "[jpeg_quality]" attribute.
   216  
   217  2003-12-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   218  
   219  	* rungm.sh.in: New script to support executing uninstalled
   220  	executables.
   221  
   222  	* magick/blob.c (GetConfigureBlob): New MAGICK_CONFIGURE_PATH
   223  	environment variable allows the user to specify the search path
   224  	for configuration (.mgk) files.
   225  
   226  2003-12-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   227  
   228  	* index.html: Added a table showing current stable release and
   229  	development version.
   230  
   231  2003-12-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   232  
   233  	* doc/options.imdoc (use): Describe the syntax of the -process
   234  	argument.
   235  
   236  	* acinclude.m4 (AC_CHECK_CC_OPT): Add quoting in AC_CHECK_CC_OPT
   237  	definition.  Change suggested by Patrick Welche
   238  
   239  2003-12-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   240  
   241  	* magick/magick.c (GetMagickInfo): Fix preprocessing logic error
   242  	which caused moby shared library build to not register static
   243  	modules.
   244  
   245  2003-12-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   246  
   247  	* magick/module.c (ExecuteModuleProcess): Add some logging.
   248  
   249  	* magick/static.c (ExecuteStaticModuleProcess): Add some logging.
   250  
   251  2003-11-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   252  
   253  	* VisualMagick/installer: Add optional build support for LZW.
   254  
   255  	* wand/Makefile.am: Add AUTOMAKE_OPTIONS.
   256  
   257  	* configure.ac: Update to Autoconf 2.59.
   258  
   259  2003-11-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   260  
   261  	* VisualMagick/installer/inc/tasks-install-perlmagick.isx: Update
   262  	to reflect that the next release will use ActivePerl 5.8.1 Build
   263  	807.
   264  
   265  	* VisualMagick/installer/inc/files-configs.isx: Updated the source
   266  	locations for the .mgk files.  Install modules.mgk into the config
   267  	directory rather than the modules directory.
   268  
   269  	* configure.ac: Fixes to work with latest CVS libtool.
   270  
   271  	* libtool.m4: Update to latest CVS libtool.
   272  
   273  	* magick/modules.c, magick/static.c (ExecuteStaticModuleProcess):
   274  	Fix conditional compilation logic so that "moby" shared library
   275  	build works again.
   276  
   277  	* magick/compress.c, magick/mac.c: Use existing SaveImageText and
   278  	LoadImageText global constants rather than separate defines.
   279  
   280  2003-11-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   281  
   282  	* configure.ac: Update to Autoconf 2.58.
   283  
   284  	* Makefile.am: Update to Automake 1.7.9.
   285  
   286  2003-11-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   287  
   288  	* magick/draw.c (DrawComposite): Base64-encoded image was not
   289  	being deallocated. Bad memory leak.
   290  
   291  2003-11-03  Mike Chiarappa  <mikechiarappa@libero.it>
   292  
   293  	* BCBMagick: Updated installation procedure. Please read 
   294  	BCBMagick/readme.txt for details.
   295  	
   296  2003-11-03  Mike Chiarappa  <mikechiarappa@libero.it>
   297  
   298  	* BCBMagick: Released DLL Version. Please read BCBMagick/readme.txt
   299  	for details about installation and/or use.
   300  
   301  2003-11-03  Lars Ruben Skyum  <lars.skyum@stibo.com>
   302  
   303  	* magick/utility.c (GetPathComponent): Added x, X, and +
   304  	characters to list of legal characters in subimage
   305  	specifications. Required by raw RGB image reader which accepts the
   306  	syntax "image.rgb[100x100+50+50]". Thanks to John Cristy for
   307  	catching that one.
   308  
   309  2003-11-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   310  
   311  	* magick/locale.c (GetLocaleMessageFromID): Fix ID range checking
   312  	logic.
   313  
   314  2003-10-30  Lars Ruben Skyum  <lars.skyum@stibo.com>
   315  
   316  	* coders/jpeg.c: changed to not write gray CMYK images as
   317  	grayscales. That would not be a valid optimization.
   318  
   319  	* magick/color.c (IsGrayImage, IsMonochromeImage): Changed to
   320  	never return true for CMYK images. Separated images get wrong
   321  	colors when optimized to grayscales based on what these two
   322  	functions return. Gray and CMYK are two different color spaces.
   323  
   324  	* magick/nt_feature.c (NTIsMagickConflict): changed to accept
   325  	colon as part of the magick string, consistent with the way the
   326  	function is used.
   327  
   328  	* magick/utility.c, magick/utility.h (ExpandFilenames,
   329  	GetPathComponent): Fixed filename glob expansion. Added handling
   330  	of filename prefix-magick and sub-image specification to
   331  	GetPathComponent. Sub-image specification takes precedence over
   332  	any filename patterns.
   333  
   334  2003-10-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   335  
   336  	* magick/static.c (ExecuteModuleProcess): Renamed from
   337  	ExecuteStaticModuleProcess. Only compiled if SupportMagickModules
   338  	is not defined.
   339  
   340  	* magick/type.c (GetTypeBlob): Eliminated function.
   341  	(ReadTypeConfigureFile): Use GetConfigureBlob() rather than
   342  	GetTypeBlob().
   343  
   344  	* magick/module.c (GetModuleBlob): Eliminate this function since
   345  	modules.mgk is now installed under
   346  	${prefix}/share/GraphicsMagick-version/config so
   347  	GetConfigureBlob() may be used.
   348  	(lt_dlexit, etc.) Eliminate fake libltdl function wrappers used
   349  	for the static build.
   350  	(DestroyMagickModules): Added a new destroy function (simply
   351  	invokes DestroyModuleInfo()).
   352  	(GetModuleList): Learn where modules live by using
   353  	FindMagickModule() to locate the LOGO module rather than by using
   354  	the location of modules.mgk.  This is necessary since now
   355  	modules.mgk may be seperate from the modules.
   356  	(GetModuleBlob): Eliminated function.
   357  	(InitializeMagickModules): New function to safely initialize the
   358  	module loader.
   359  	(OpenModule): Added logging messages.
   360  	(OpenModules): Added logging messages.
   361  	(ReadModuleConfigureFile): Use GetConfigureBlob() rather than
   362  	GetModuleBlob().
   363  	Totally eliminated the rat's-nest of conditional code dependent on
   364  	SupportMagickModules.  Now all the code in module.c is dependent
   365  	on #if defined(SupportMagickModules).
   366  
   367  	* magick/magick.c (DestroyMagick): Invoke DestroyMagickModules().
   368  	(GetMagickInfo): #ifdef chunks of code which exist to support the
   369  	modules-build rather than forcing the module loader to pretend
   370  	that modules are being used when they are not. Pass module loading
   371  	exceptions back to the user rather than discarding them.
   372  	(GetMagickInfoArray): Don't inspect the exception status since may
   373  	short-circuits the operation.  Use best-effort instead.
   374  	(ListMagickInfo): Don't inspect the current exception status so
   375  	that all the modules which did load successfully will be
   376  	represented.
   377  	(InitializeMagick): Invoke InitializeMagickModules().
   378  
   379  	* magick/log.c: (GetLogBlob): Eliminated function.
   380  	GetConfigureBlob() is safe to use now when configuring logging.
   381  	(LogToBlob): Simplified function.  Only exists since FileToBlob()
   382  	may throw exceptions (which are logged, causing deadlock).
   383  	(ReadLogConfigureFile): Use GetConfigureBlob().
   384  
   385  	* magick/blob.c (GetConfigureBlob): Re-written to use the
   386  	MagickMap interface and to support the new `lib` and `share`
   387  	config directories.  The directory
   388  	${prefix}/lib/GraphicsMagick-version/config is scanned before
   389  	${prefix}/share/GraphicsMagick-version/config.
   390  	(FileToBlob): Simplified implementation.
   391  
   392  	* config/Makefile.am: New makefile to install .mgk files.
   393  
   394  	* magick/magick_config.h.in: Added MagickLibConfigPath and
   395  	MagickShareConfigPath defines.
   396  
   397  	* configure.ac: Install configuration files (.mgk files) in
   398  	${prefix}/lib/GraphicsMagick-version/config and
   399  	${prefix}/share/GraphicsMagick-version/config.  Architecture
   400  	independent files to under "share" while architecture dependnet
   401  	files go under "lib".
   402  
   403  	* Makefile.am: Added `config` subdirectory to distribution.  All
   404  	.mgk files are moved from `coders` & `magick` into this single
   405  	directory.
   406  
   407  2003-10-21  Mike Chiarappa  <mikechiarappa@libero.it>
   408  
   409  	* magick/studio.h: small modifications to achieve DLL
   410  	compilation of library with Borland C++ Builder.
   411  
   412  	* coders/ps3.c (ZLIBEncode2Image): Fixed bug. Compilation
   413  	fail when HasZLIB is undefined because parameters 5 and 6,
   414  	are undefined.
   415  	
   416  2003-10-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   417  
   418  	* libtool.m4: Updated libtool again to CVS latest version.
   419  	Libtool required some fixes for building DLLs under MinGW.
   420  
   421  	* magick/resource.c (InitializeMagickResources): Some code is
   422  	conditional based on HAVE_POPEN.
   423  
   424  	* magick/utility.c (SystemCommand): Improved conditional
   425  	compilation logic.
   426  
   427  	* magick/blob.c (OpenBlob): Code depending on popen() is
   428  	conditionally compiled based on HAVE_POPEN.  Code depending on
   429  	pclose() is conditionally compiled based on HAVE_PCLOSE.
   430  
   431  	* configure.ac: Add test for _pclose(), pclose(), _popen(), and
   432  	popen().
   433  
   434  	* magick/locale.c (GetLocaleMessage): Add missing MagickExport.
   435  	(GetLocaleMessageFromID): Add missing MagickExport.
   436  
   437  	* VisualMagick/installer/inc/files-development.isx (Source):
   438  	Include all of the headers from the magick directory in the
   439  	development package.  Including them individually is too error
   440  	prone.
   441  
   442  2003-10-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   443  
   444  	* VisualMagick/magick/magick_config.h.in: Added
   445  	PREFIX_MAGICK_SYMBOLS as a configuration option.
   446  
   447  	* magick/module.c (_CoderInfo): Added register_function and
   448  	unregister_function members to record the module's register and
   449  	unregister function addresses.
   450  	(OpenModule): Locate the module's register and unregister
   451  	functions and save their address to the module's CoderInfo record.
   452  	(UnloadModule): Invoke the module unregister function using the
   453  	address recorded by OpenModule().
   454  	(TagToFunctionName): If PREFIX_MAGICK_SYMBOLS is defined, then add
   455  	a "Gm" prefix to the register and unregister function names.
   456  
   457  	* libtool: Updated libtool files to the latest CVS version.
   458  
   459  	* configure.ac: Changed define name from MAGICK_SYMBOL_PREFIX to
   460  	PREFIX_MAGICK_SYMBOLS since support is not available for
   461  	specifying an arbitrary prefix.
   462  
   463  2003-10-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   464  
   465  	* configure.ac: Added --enable-symbol-prefix configure option
   466  	which prepends "Gm" to all GraphicsMagick library symbols using
   467  	the C pre-processor.  In the future, this may change to support
   468  	specifying an arbitrary prefix, depending on experience.
   469  
   470  	* magick/studio.h: Include magick/symbols.h.
   471  
   472  	* magick/api.h: Include magick/symbols.h.
   473  
   474  	* magick/symbols.h: New header to support optionally remapping
   475  	library symbols.  If MAGICK_SYMBOL_PREFIX is defined, then
   476  	library symbols are remapped.
   477  
   478  2003-10-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   479  
   480  	* magick/api.h: Removed inclusion of <magick/semaphore.h> since it
   481  	is an implementation header.
   482  
   483  2003-10-13  Lars Skyum  <lrs@stibo.dk>
   484  
   485  	* www/GraphicsMagick.html, www/animate.html, www/composite.html,
   486  	www/conjure.html, www/convert.html, www/display.html, www/gm.html,
   487  	www/identify.html, www/import.html, www/mogrify.html,
   488  	www/montage.html: added documentation for "-define" command line
   489  	option.	
   490  
   491  	* doc/brief_options.imdoc, doc/options.imdoc: Added documentation
   492  	for "-define" command line option.
   493  
   494  	* doc/gmdocselect, doc/imdocselect: Changed "skipform" label in
   495  	sed scripts to just "skipf". Solaris sed had problems with the
   496  	long(?) "skipform" label.
   497  
   498  2003-10-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   499  
   500  	* doc/composite.imdoc, doc/options.imdoc, doc/GraphicsMagick.imdoc:
   501  	Attempted to clarify the meaning of the compose arguments and how
   502  	composition works, as well as eliminating use of hard-coded values like
   503  	255.
   504  
   505  	* www/links.html: Added a link to Michael Still's article
   506  	"Graphics from the command line".
   507  
   508  2003-10-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   509  
   510  	* coders/*.c: Updated module descriptions so that they accurately
   511  	describe the module rather than saying "Read/Write GraphicsMagick
   512  	Image Format".
   513  
   514  	* coders/cineon.c: Fix source module description.  Contrary to
   515  	opinion, ImageMagick did not invent the Cineon X image format so
   516  	description is now "Read/Write Cineon X Image Format."
   517  
   518  	* magick/magic.mgk: Added a CINEON entry for the Cineon X image
   519  	format.
   520  
   521  	* magick/static.c (RegisterStaticModules): Invoke
   522  	RegisterCINEONImage().
   523  
   524  	* coders/modules.mgk: Map "CIN" magick to CINEON module.
   525  
   526  2003-10-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   527  
   528  	* locale/C.mgk: Added message for "UnrecognizedCommand".
   529  
   530  	* magick/command.c (MagickCommand): No error was reported when a
   531  	subcommand failed to be matched so `gm foo` would silently return.
   532  	Now an error message is properly reported.
   533  
   534  2003-10-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   535  
   536  	* Makefile.am: Updated to Automake 1.7.8.
   537  
   538  	* various: Edits to eliminate minor issues detected by SGI C compiler.
   539  
   540  	* coders/ps3.c (WritePS3Image): Variable `value` was set but never
   541  	used so it is removed.
   542  
   543  	* magick/image.c (RGBTransformPacket): Removed inline request
   544  	since this function is too big to inline.
   545  
   546  	* magick/animate.c (XAnimateBackgroundImage): Fixed a GCC 3.X
   547  	"type pinning" warning.
   548  
   549  	* magick/display.c (XDisplayBackgroundImage): Fixed a GCC 3.X
   550  	"type pinning" warning.
   551  
   552  	* magick/render.c (GetPixelOpacity): Removed inline directive.  No
   553  	one in their right mind could ever imagine this function inlining
   554  	successfully.	
   555  
   556  	* magick/cache.c (IsNexusInCore): Adjusted so function inlines as
   557  	requested.
   558  
   559  	* coders/tiff.c (ReadTIFFImage): Improved logging information.
   560  	(WriteTIFFImage): Changed the way the bilevel/grayscale logic
   561  	works.  Now bilevel images are treated similar to any other
   562  	grayscale image unless CCITT FAX3 or FAX4 compression is requested
   563  	(which selects the MINISWHITE photometric).  The default is now to
   564  	write uncompressed bilevel images with MINISBLACK photometric.
   565  
   566  	* PerlMagick/t/composite.t: Use some reasonable error values.
   567  
   568  	* magick/image.c (GetImageDepth): Added special cases for
   569  	colormapped images and monochrome images in order to improve
   570  	performance.
   571  
   572  2003-10-09  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   573  
   574  	* NEWS: added info about color scaling, sampling-factor, and
   575  	changed a reference to "-coder-options" to "-define".
   576  
   577  2003-10-09  Lars Ruben Skyum  <lars.skyum@stibo.com>
   578  
   579  	* VisualMagick/bin/modules.mgk: added EPS3 mapping to PS3 module.
   580  
   581  	* coders/ps3.c, coders/tiff.c, magick/command.c, magick/image.c,
   582  	magick/image.h, magick/utility.c: Changed -coder-options option to
   583  	-define. Also renamed functions {Add,Remove,Access}CoderOption(s)
   584  	to {Add,Remove,Access}Definition(s). Changed ps coder-specific
   585  	option ps:image=imagemask to just ps:imagemask.
   586  
   587  2003-10-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   588  
   589  	* coders/cineon.c: Imported and adapted Cineon image format coder
   590  	written by Kelly Bergougnoux <three3@users.sourceforge.net> with
   591  	assistance from John Cristy.
   592  
   593  2003-10-08  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   594  
   595  	* coders/jpeg.c: Extended -sampling-factor option to allow
   596  	user to supply full set of sampling factors.  If the full
   597  	set is not supplied, omitted ones are 1x1 by default, similar
   598  	to the behavior of "cjpeg -sample".
   599  
   600  	* magick/command.c: Accept multiple pairs of sampling factors.
   601  
   602  2003-10-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   603  
   604  	* coders/tiff.c (WriteTIFFImage): Re-arranged logging for improved
   605  	output.  Cleaned up evaluation of SAMPLESPERPIXEL and
   606  	BITSPERSAMPLE.  Provided support for the TIFF coder options
   607  	tiff:samples-per-pixel and tiff:bits-per-sample for power users.
   608  	(ReadTIFFImage): Colormap generation for PHOTOMETRIC_MINISBLACK
   609  	and PHOTOMETRIC_MINISWHITE was inaccurate.  Seems to be accurate
   610  	now.
   611  
   612  	* PerlMagick/t/reference/read/input.miff: Updated due to Glenn's
   613  	change to scale macros.
   614  
   615  	* PerlMagick/t/tiff/input_gray_12bit.tiff: Replaced 12 bit image
   616  	with a different one which is written by GraphicsMagick.
   617  
   618  	* coders/ps3.c (WritePS3Image): Use AccessCoderOption().
   619  
   620  	* magick/image.c (AccessCoderOption): Added a function to use for
   621  	accessing coder-specific options.
   622  
   623  2003-10-08  Lars Ruben Skyum  <lars.skyum@stibo.com>
   624  
   625  	* magick/attribute.c (TraceSVGClippingPath): optimized for speed
   626  	and precision in clipping mask generation by using lines to
   627  	connect Bezier curve anchor points where applicable.
   628  
   629  2003-10-07  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   630  
   631  	* Revised ScaleColor5to8 and ScaleColor6to8 macros again, to
   632  	fill the low bits correctly.
   633  
   634  2003-10-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   635  
   636  	* PerlMagick/t/tiff/read.t: Added 16-color and 256 color
   637  	colormapped tests with a matte channel.
   638  
   639  	* PerlMagick/t/tiff/write.t: Added 16-color and 256 color
   640  	colormapped tests with a matte channel.
   641  
   642  	* coders/tiff.c (WriteTIFFImage): When using LZW compression,
   643  	apply the horizontal differencing predictor to RGB truecolor and
   644  	deep gray images since the TIFF spec says that LZW compression is
   645  	usually improved by using horizontal differencing with continuous
   646  	tone images.
   647  	Re-implemented grayscale and colormapped scanline preparation to
   648  	use the new bit-stream interface.  This is a bit slower, but very
   649  	flexible, and the implementation is very compact.  Writing of a
   650  	matte (transparency) channel is now believed to be correct for all
   651  	depths.
   652  
   653  	* magick/command.c (MogrifyImage): Only transform the colorspace
   654  	if it has been set (i.e. is not UndefinedColorspace).
   655  
   656  2003-10-06  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   657  
   658  	* coders/png.c (ReadOnePNGImage): PNG decoder would exit too
   659  	early when reading image.png[0].
   660  
   661  2003-10-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   662  
   663  	* PerlMagick/t/tiff/write.t: Added TIFF write tests for 4
   664  	bits-per-sample TIFF images, both with and without a transparency
   665  	channel.
   666  
   667  	* magick/image.c (DescribeImage): Added -verbose support for
   668  	displaying individual channel depths.
   669  
   670  2003-10-06  Lars Ruben Skyum  <lars.skyum@stibo.com>
   671  
   672  	* magick/image.c (SetImageInfo): cleaned up parsing of subimage
   673  	specification (image.psd[0]). It would fail sometimes due to
   674  	incorrect reuse of variables. It's a bit strange the code accepts
   675  	more range syntax-variations than can be stored in ImageInfo.
   676  
   677  2003-10-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   678  
   679  	* magick/image.c (ChannelImage): The OpacityChannel, MatteChannel,
   680  	and BlackChannel operations set the matte channel to opaque, so
   681  	set image->matte to False for those operations.
   682  	(RGBTransformImage): Add an assertion to prevent passing the
   683  	colorspace argument `UndefinedColorspace`.
   684  	(TransformRGBImage): Add an assertion to prevent passing an image
   685  	with colorspace set to `UndefinedColorspace`.
   686  
   687  2003-10-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   688  
   689  	* magick/log.c (LogToBlob): Since MagickSeek(file,0,SEEK_END) is
   690  	used to obtain the Blob size, MagickSeek(file,0,SEEK_SET) must be
   691  	used to restore the seek position.  Thanks to John Cristy for
   692  	bringing this to our attention.
   693  
   694  2003-10-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   695  
   696  	* magick/bit_stream.h: Added a bit-stream writer function.
   697  
   698  	* PerlMagick/t/reference/read/input_tim.miff: Reference image
   699  	was defective.
   700  
   701  2003-10-03  Lars Ruben Skyum  <lars.skyum@stibo.com>
   702  
   703  	* magick/image.c, magick/image.h: Updated AddCoderOptions to
   704  	accept "flag" keys that have no values. They are placed in the
   705  	coder options map with an empty, zero length string value. Option
   706  	argument syntax is now: "key1[=[value1]],key2[=[value2]],..."
   707  
   708  2003-10-03  Lars Ruben Skyum  <lars.skyum@stibo.com>
   709  
   710  	* magick/command.c: Updated +coder-options option to not clear the
   711  	entire map of coder options, but accept a list of names to remove
   712  	from the map. Use option argument "*" to clear the entire map of
   713  	coder options.
   714  
   715  	* magick/image.c, magick/image.h: Added function
   716  	RemoveCoderOptions. Added cast of signed char to unsigned char and
   717  	int in calls to isspace and isprint.
   718  
   719  	* magick/utility.c: Added cast of signed char to unsigned char and
   720  	int in calls to isspace and isprint. Added special handling of
   721  	+coder-options option in ExpandFilenames function.
   722  
   723  2003-10-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   724  
   725  	* PerlMagick/t/reference/read/input_tim.miff: The TIM read results
   726  	changed somewhat due to Glenn's ScaleColor5to8 fix.
   727  
   728  2003-10-01  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   729  
   730  	* Revised ScaleColor5to8 and ScaleColor6to8 macros to fill in the
   731  	low bytes.
   732  
   733  	* coders/bmp.c (ReadBMPImage): scaling of 8-8-8-8-bit images was
   734  	also slightly incorrect.
   735  
   736  2003-09-30  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
   737  
   738  	* coders/bmp.c (ReadBMPImage): scaling of 5-5-5-bit and 5-6-5-bit
   739  	images was slightly incorrect.
   740  
   741  2003-09-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   742  
   743  	* coders/tiff.c (ReadTIFFImage): When using the generic bit-stream
   744  	marshaller to read colormapped/gray images, the slight performance
   745  	improvement from creating a special case for matte images did not
   746  	justify almost doubling the amount of code.  Therefore, the two
   747  	loops are combined back into one.
   748  
   749  2003-09-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   750  
   751  	* coders/tiff.c (ReadTIFFImage): Fixed reading grayscale TIFFs
   752  	that have a transparency channel. Now uses a generic bit-stream
   753  	marshaller to allow reading any grayscale or colormapped TIFF with
   754  	any bits per sample in the range of 1 to 16.
   755  
   756  	* magick/bit_stream.h: Added a generic implementation for
   757  	marshalling from a bit-stream into a quantum.  Still needs
   758  	re-writing for best performance.
   759  
   760  	* PerlMagick/t/tiff/read.t: Added a test case for reading 8-bit
   761  	grayscale TIFF with matte.  Corrected grayscale 12-bit read
   762  	signatures.  Added 16 color PseudoClass read test.  Added 4-bit
   763  	grayscale read test.
   764  
   765  2003-09-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   766  
   767  	* coders/tiff.c (WriteTIFFImage): Add support for writing
   768  	DirectClass grayscale images at 4 bits per sample, including those
   769  	with an opacity channel.  This allows writing smaller files
   770  	(half the size) when the image has 16 (or less) levels of gray.
   771  	Use "gm convert inimage.tiff -depth 4 outimage.tiff" to quickly
   772  	create grayscale TIFF file with 16 (or less) levels of gray.
   773  
   774  2003-09-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   775  
   776  	* NEWS: Updated NEWS file with changes since last update.
   777  
   778  	* index.html: Added a link to the www/AUTHORS.html file, as well
   779  	as text stating that GraphicsMagick is originally derived from
   780  	ImageMagick 5.5.2, with a link to the ImageMagick site.
   781  
   782  	* Makefile.am: Add rules to generate www/AUTHORS.html.
   783  
   784  	* www/AUTHORS.html: New HTML file based on the AUTHORS file in the
   785  	source package.  GraphicsMagick has many authors.
   786  
   787  2003-09-25  William Radcliffe  <billr@corbis.com>
   788  	* magick/image.c: Updated DescribeImage to cleanup EXIF data display
   789  	based on work by Cristy in ImageMagick.
   790  
   791  2003-09-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   792  
   793  	* coders/tiff.c (WriteTIFFImage): Add support for writing
   794  	colormapped TIFF images with 1, 2, & 4 bits per colormap index.
   795  	This allows writing smaller files.
   796  
   797  2003-09-24  Lars Ruben Skyum  <lars.skyum@stibo.com>
   798  
   799  	* coders/ps3.c: Now creates a correct %%BoundingBox for images
   800  	with resolution stored as pixels per centimeter. Renamed serialize
   801  	functions. Added comment headers where they were
   802  	missing. Reformatted code to be in alignment with GraphicsMagick
   803  	standard formatting.
   804  
   805  	* magick/map.c: Fixed semaphore double locking problem in
   806  	MagickMapCloneMap.
   807  
   808  2003-09-23  Mike Chiarappa  <mikechiarappa@libero.it>
   809  
   810  	* BCBMagick/readme.txt : Updated compilation instructions.
   811  
   812  	* BCBMagick/magick/libMagick.bpr : Updated project, now include map.c.
   813  
   814  	* BCBMagick/lcms/Projects/BCB6/lcms.bpr : Updated project, now
   815  	include cmscam02.c and cmsvirt.c.  Much thanks to Alex Dvoretsky
   816  	for bringing this problem to my attention.
   817  	
   818  2003-09-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   819  
   820  	* magick/image.h (Image): Moved private members to bottom of
   821  	structure.
   822  	(_ImageInfo): Moved private members to bottom of
   823  	structure.
   824  
   825  	* magick/Makefile.am (pkginclude_HEADERS): Don't install
   826  	semaphore.h.
   827  	(noinst_HEADERS): Distribute map.h and semaphore.h.
   828  
   829  	* magick/image.h (ImageInfo): Change coder_options member from
   830  	type `MagickMap` to type `void *`.
   831  
   832  	* coders/png.c: include magick/semaphore.h.
   833  
   834  	* magick/blob.c: include magick/semaphore.h.
   835  
   836  	* magick/color.c: include magick/semaphore.h.
   837  
   838  	* magick/constitute.c: include magick/semaphore.h.
   839  
   840  	* magick/delegate.c: include magick/semaphore.h.
   841  
   842  	* magick/log.c: include magick/semaphore.h.
   843  
   844  	* magick/magic.c: include magick/semaphore.h.
   845  
   846  	* magick/magick.c: include magick/semaphore.h.
   847  
   848  	* magick/module.c: include magick/semaphore.h.
   849  
   850  	* magick/semaphore.c: include magick/semaphore.h.
   851  
   852  	* magick/stream.c: include magick/semaphore.h.
   853  
   854  	* magick/tempfile.c: include magick/semaphore.h.
   855  
   856  	* magick/type.c: include magick/semaphore.h.
   857  
   858  	* magick/blob.h (_BlobInfo): Changed `Semaphore *` to `void *`.
   859  
   860  	* magick/cache.h (_CacheInfo): Changed `Semaphore *` to `void *`.
   861  
   862  	* magick/image.h (_Image): Changed `Semaphore *` to `void *`.
   863  
   864  	* magick/command.c: Updated each invokation of MagickMapAddEntry()
   865  	to add an exception argument.
   866  
   867  	* tests/maptest.c: Updated to pass an exception argument to
   868  	MagickMapAddEntry.
   869  
   870  	* magick/image.c (AddCoderOptions): Added exception argument
   871  	and some more error handling.
   872  
   873  	* magick/map.c: Added formal documentation for methods.
   874  	(MagickMapCloneMap): Added exception argument.
   875  	(MagickMapAddEntry): Added exception argument and status.
   876  
   877  2003-09-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   878  
   879  	* coders/emf.c: Changed NotAnEMFFile to ImproperImageHeader.
   880  
   881  	* magick/map.h: Changed all size parmeters from type `unsigned
   882  	long` to `size_t`.
   883  
   884  	* magick/map.c (MagickMapCopyBlob): Add new function to support
   885  	copying a Blob in a MagickMap.
   886  	(MagickMapDeallocateBlob): Add new function to support
   887  	deallocating a Blob in MagickMap.
   888  
   889  2003-09-23  Lars Ruben Skyum  <lars.skyum@stibo.com>
   890  
   891  	* coders/ps3.c: Fixed handling the case when no -coder-options are
   892  	provided to the PS3 coder.
   893  
   894  2003-09-22  Lars Ruben Skyum  <lars.skyum@stibo.com>
   895  
   896  	* coders/ps3.c: Changed %%Creator version to use
   897  	MagickLibVersionText, increased precision in HiResBoundingBox,
   898  	added a coder specific option for rendering bilevel images with
   899  	the PS imagemask operator indstead of the image operator.  
   900  
   901  	* magick/command.c: Added "-coder-options" command line argument
   902  	to all relevant command line utilities. Option argument to
   903  	-coder-options is a list of comma separated key-value pairs that
   904  	are saved in a MagickMap in ImageInfo for (de-)coders to use. See
   905  	PS3 coder for an example that checks for: -coder-options
   906  	"ps:image=imagemask"
   907  
   908  	* magick/image.c, magick/image.h: Added function AddCoderOptions().
   909  
   910  	* magick/map.c, magick/map.h: removed MS-DOS line terminators.
   911  
   912  2003-09-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   913  
   914  	* tests/maptest.c (main): Test/demo program for key,value map API.
   915  
   916  	* magick/map.c, magick/map.h: Implementation of a key,value map
   917  	API for internal use.
   918  
   919  2003-09-19  William Radcliffe  <billr@corbis.com>
   920  
   921  	* lcms/include/icc34.h lcms.h: Added back the icc34.h header and
   922  	changes to make lcms compile on Win32" icc34.h lcms.h.
   923  
   924  2003-09-19  Lars Ruben Skyum  <lars.skyum@stibo.com>
   925  
   926  	* coders/ps3.c: Fixed warnings from Solaris compiler.
   927  
   928  2003-09-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   929  
   930  	* locale/C.mgk: Eliminated the many "NotA" messages since they may
   931  	all be considered forms of "ImproperImageHeader".  It is useful to
   932  	provide the origin of such messages in case the wrong coder has
   933  	been invoked, however, this is expensive to do via the message
   934  	database since it explodes the number of messages.  The exception
   935  	logging can help here.  Once the exception reports include the
   936  	reporting entity, it will be more clear when the software
   937  	misbehaves.
   938  
   939  	* magick/error.h (ThrowReaderException2): Remove since no longer
   940  	used.
   941  	(ThrowReaderException): Simplified implementation so that
   942  	ThrowException is not expanded twice.
   943  
   944  	* magick/error.h (ThrowReaderException3): Remove since never used.
   945  
   946  	* coders/xtrn.c (ReadXTRNImage): Use ThrowReaderException rather
   947  	than ThrowReaderException2.
   948  
   949  	* locale/C.mgk (MissingArgument) Updated to include %s so that the
   950  	description field appears earlier in the message.
   951  
   952  	* magick/error.c (DefaultErrorHandler): Added a hack to allow the
   953  	`reason` member to include a %s so that it may specify the
   954  	formating of the message.  Care should be taken to not over-use
   955  	this hack.
   956  
   957  2003-09-18  Lars Ruben Skyum  <lars.skyum@stibo.com>
   958  
   959  	* coders/ps3.c: Major update of the PS3 coder. Now ascii85 encodes
   960  	all binary data. Many printer spoolers don't like the binary
   961  	data. The coder now creates much smaller files for bilevel, gray,
   962  	and colormapped images. Compression and image type is now
   963  	separated so they may be combined independently. Any alpha channel
   964  	is separated into a separate mask so it's possible to mask
   965  	bilevel, gray, colormapped, rgb, and CKYK images. You may also
   966  	mask a JPEG compressed PS file for instance. Clipping masks
   967  	created from a photoshop clipping path with -clip option is
   968  	converted to a corresponding postscript clipping path.  New
   969  	functions need comment headers.
   970  
   971  	* magick/attribute.c: Added TracePSClippingPath for creating a
   972  	postscript clipping path from a photoshop clipping path.
   973  
   974  	* magick/compress.c, magick/compress.h: Added write-hook based
   975  	interface to compression functions. Required for ascii encoding
   976  	compressed, binary data. The interface between blob write
   977  	functions, compression functions, and encoding functions could
   978  	benefit from more of this work.
   979  
   980  	* magick/image.c: ClipPathImage now stores the name of the
   981  	clipping path in the mask image filename so that it is remembered
   982  	and may be used for creating a postscript clipping path for
   983  	postscript output.
   984  
   985  	* coders/modules.mgk: Added EPS3 mapping to module PS3.
   986  
   987  2003-09-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
   988  
   989  	* magick/command.c: Coalesced various "Missing" error reports into
   990  	one "MissingArgument" error report in order to reduce the number
   991  	of messages to be maintained.
   992  
   993  	* locale/C.mgk: Removed almost all "Missing" messages.
   994  
   995  	* magick/gm_messages.mc: Added Microsoft message compiler source
   996  	file to CVS until which time it may be generated automatically
   997  	during the build.
   998  
   999  2003-09-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1000  
  1001  	* locale/Makefile: Added ability to generate gm_messages.mc
  1002  	(for Windows message compiler) as well as adding `clean` and
  1003  	`install` targets.
  1004  
  1005  	* magick/delegate.h: Visual Studio .NET 2003 doesn't like
  1006  	the chaining of GhostscriptVector members which share a
  1007  	common return type. Splitting the definitions solves this
  1008  	problem.
  1009  
  1010  2003-09-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1011  
  1012  	* magick/deprecate.h (MagickSignedType): Compatibility definition
  1013  	to handle ImageMagick API change.
  1014  	(MagickUnsignedType): Compatibility definition to handle
  1015  	ImageMagick API change. The new names are just as useless as the
  1016  	old names, but at least they are shorter.
  1017  
  1018  	* magick/command.c: Linux's sscanf has the terrible bug that it
  1019  	improperly handles pulling out the first floating value from the
  1020  	string "0x1".  Instead of retrieving the value 0 and returning 1,
  1021  	it returns 0, probably because it rejects the string as a hex
  1022  	constant. As a result, all options which used sscanf to validate
  1023  	this input are now converted to use IsGeometry().
  1024  
  1025  2003-09-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1026  
  1027  	* ltdl/ltdl.c: Update to libltdl current as of today.
  1028  
  1029  	* ltmain.sh: Update to libtool current as of today.
  1030  
  1031  	* configure.ac: For HPUX C++ compiler, add -AA to CXXFLAGS rather
  1032  	than CXX.
  1033  
  1034  2003-09-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1035  
  1036  	* configure.ac: Decided that the standards conformance
  1037  	defines create more problems than they solve so they are
  1038  	removed.
  1039  	Move the large-file tests to before the libtool configuration
  1040  	since the libtool configuration was causing stdlib.h to be
  1041  	included prior to the large file defines, and this causes
  1042  	header failure with C++ under AIX.
  1043  
  1044  	* www/api/types.html: Update description of MonitorHandler.
  1045  
  1046  2003-09-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1047  
  1048  	* configure.ac: Set CXX to PTHREAD_CXX if necessary (and warn).
  1049  
  1050  	* acinclude.m4 (ACX_PTHREAD): Add check to see if xlC_r should be
  1051  	used for AIX.
  1052  
  1053  2003-09-10  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  1054  
  1055  	* magick/render.c: Fixed handling of arc primitive (see IM-5.5.8).
  1056  
  1057  2003-09-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1058  
  1059  	* magick/log.h: It seems that test programs are using
  1060  	GetMagickModule so make it visible by default.
  1061  
  1062  	* configure.ac: Use GM_FUNC_MMAP_FILEIO macro to test mmap.
  1063  
  1064  	* acinclude.m4 (GM_FUNC_MMAP_FILEIO): New macro to test mmap's
  1065  	capability to do coherent file I/O.  The AC_FUNC_MMAP macro
  1066  	was not testing the mmap features that GraphicsMagick uses, and
  1067  	was failing on a number of systems.
  1068  
  1069  	* magick/blob.c (BlobMapModeToString): Only include this static
  1070  	function if HAVE_MMAP is defined.
  1071  
  1072  	* coders/locale.c (WriteLOCALEImage): Fix FormatString argument
  1073  	type inconsistencies.
  1074  
  1075  	* wand/magick_compat.h: Change MagickExport to WandExport.
  1076  
  1077  	* coders/jpeg.c, coders/locale.c, coders/meta.c, coders/miff.c,
  1078  	coders/palm.c, coders/pict.c, coders/svg.c, coders/tiff.c,
  1079  	coders/topol.c, magick/cache.c, magick/display.c, magick/image.c,
  1080  	magick/widget.c: Removed unused values, changed storage types, or
  1081  	added explicit casts, in order to reduce the number of "REMARK"s
  1082  	when using the SGI IRIX compiler.
  1083  
  1084  	* magick/render.c (DrawClipPath): Fix memory leak of
  1085  	clone_info->clip_path.  Problem reported by Vladimir
  1086  	<lvm@integrum.ru>.
  1087  	(DestroyDrawInfo): Remove unnecessary checks for non-null prior to
  1088  	invoking MagickFreeMemory. MagickFreeMemory already checks for
  1089  	non-null.
  1090  
  1091  	* magick/log.h (GetCurrentFunction): Apparently Visual C++ 6.0
  1092  	does not support __FUNCTION__.  Problem reported by Vladimir
  1093  	<lvm@integrum.ru>.
  1094  
  1095  	* wand/magick_compat.c: All functions in magick_compat.c must use
  1096  	WandExport rather than MagickExport. Fix recommended by Vladimir
  1097  	<lvm@integrum.ru>.
  1098  
  1099  	* magick/constitute.c (PushImagePixels): number_pixels was always
  1100  	cast to a long during use, so change to store value in a long
  1101  	instead.
  1102  	(PopImagePixels): number_pixels was always
  1103  	cast to a long during use, so change to store value in a long
  1104  	instead.
  1105  
  1106  2003-09-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1107  
  1108  	* coders/psd.c: Eliminated warning regarding unused initialized
  1109  	variable.
  1110  
  1111  	* magick/log.c: Eliminate type warnings regarding enum assignment.
  1112  
  1113  	* coders/locale.c (WriteLOCALEImage): Use UndefinedException
  1114  	rather than 0 in severity_list terminating entry in order to avoid
  1115  	a type conversion warning.
  1116  
  1117  	* magick/image.c (SetImageChannelDepth): Depth parameter was being
  1118  	returned rather than status.  Oops!
  1119  
  1120  	* magick/effect.c (BlurScanline): Due to automatic casting
  1121  	conventions, computation was being done (at least with SGI
  1122  	compiler) as type `unsigned long` rather than `long` as it should
  1123  	have been.
  1124  
  1125  	* coders/jpeg.c, coders/meta.c, coders/miff.c, coders/msl.c,
  1126  	coders/palm.c, coders/pcd.c, coders/psd.c, coders/svg.c,
  1127  	coders/tiff.c, coders/xcf.c, magick/render.c, : Quench many SGI
  1128  	compiler warnings regarding variables which are initialized but
  1129  	never used.
  1130  
  1131  	* magick/xwindow.h: Undef gravity defines so that enumerated type
  1132  	is used instead.
  1133  
  1134  2003-09-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1135  
  1136  	* magick/log.c (LogMagickEvent): Windows system logging
  1137  	functionality is not currently ported to work with Cygwin so
  1138  	disable when compiling under Cygwin.
  1139  
  1140  	* magick/log.c (Win32EventlogOutput): Remove spurious comma in enum.
  1141  
  1142  	* wand/drawing_wand.h: Remove junk comment marker that I forgot to
  1143  	remove.
  1144  
  1145  	* magick/studio.h: Provide prototypes for strlcpy and vsnprintf if
  1146  	the system doesn't provide them in the requested compilation
  1147  	environment.
  1148  
  1149  	* configure.ac: Add necessary standards compilance definitions to
  1150  	magick_config.h.
  1151  	Check for strlcpy and vsnprintf prototypes.
  1152  
  1153  	* Makefile.am (DOCDIRS): www/api/types does not exist anymore.
  1154  
  1155  2003-09-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1156  
  1157  	* configure.ac: Move multithread tests prior to libtool
  1158  	configuration in case value of CC is changed.  Otherwise libtool
  1159  	gets confused and refuses to run.
  1160  
  1161  	* acinclude.m4 (ACX_PTHREAD): If using AIX CC `xlc` use `xlc_r`
  1162  	for multithread compiler.
  1163  
  1164  	* coders/jpeg.c: Undef HAVE_STDLIB_H before including the
  1165  	jpeg headers or else we get an already defined error/warning.
  1166  
  1167  2003-09-04  Mike Chiarappa  <mikechiarappa@libero.it>
  1168  
  1169  	* BCBMagick : Updated whole directory tree to achieve correct
  1170  	compilation with Borland C++ Buider 6.0.
  1171  
  1172  2003-09-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1173  
  1174  	* magick/image.c (ClipPathImage): Remove MS-DOS line terminations
  1175  	(actually, extra carriage returns) which somehow crept into
  1176  	ClipPathImage.
  1177  
  1178  	* locale/C.mgk: Added message for "PNG library is too old".
  1179  
  1180  2003-09-04  Lars Ruben Skyum  <lars.skyum@stibo.com>
  1181  
  1182  	* magick/transform.c (ProfileImage): Bugfix: conditional
  1183  	compilation based on LCMS being present or not now works as
  1184  	expected. An exception is thrown if LCMS is not present and
  1185  	profile conversion is used.
  1186  
  1187  2003-09-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1188  
  1189  	* coders/txt.c (ReadTXTImage): Fix strlen() pointer type warning.
  1190  
  1191  	* magick/image.c (TextureImage): Fixed return with no value warning.
  1192  
  1193  	* magick/color.c (GetColorInfoArray): Decided that the const
  1194  	return value was a bad idea.  Therefore, the return type has been
  1195  	made non-const.
  1196  
  1197  	* magick/magick.c (GetMagickInfoArray): Decided that the const
  1198  	return value was a bad idea.  Therefore, the return type has been
  1199  	made non-const.	
  1200  
  1201  	* tests/constitute.c, tests/rwblob.c, tests/rwfile.c : Define
  1202  	MAGICK_IMPLEMENTATION since these test programs using some internal
  1203  	extensions.
  1204  
  1205  	* configure.ac: Test C++ compiler for __func__ support.
  1206  
  1207  	* magick/log.h: Added GetCurrentFunction() macro to handle
  1208  	__func__ support determination.  Re-wrote GetMagickModule() macro
  1209  	to use GetCurrentFunction().  Changes should allow compilation of
  1210  	Magick++ when the C compiler supports __func__ but the C++
  1211  	compiler does not.
  1212  
  1213  	* configure.ac: Changed from using HAS___func__ define to
  1214  	HAS_C__func__ since this feature may be language sensitive.
  1215  
  1216  	* locale/C.mgk: Added missing JNGCompressionNotSupported message.
  1217  
  1218  2003-09-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1219  
  1220  	* magick/attribute.c (Generate8BIMAttribute): Fix sscanf argument
  1221  	type mis-match.
  1222  
  1223  	* coders/ps3.c (ZLIBEncodeImage): Fix mis-classified
  1224  	ZipLibraryIsNotAvailable error report.
  1225  
  1226  	* coders/url.c (RegisterURLImage): Only register URL format
  1227  	support if libxml2 is available.
  1228  
  1229  	* coders/msl.c (RegisterMSLImage): Only register MSL format
  1230  	support if libxml2 is available.
  1231  
  1232  2003-09-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1233  
  1234  	* coders/histogram.c (WriteHISTOGRAMImage): Remove a useless loop.
  1235  
  1236  	* coders/wpg.c: Applied patch from Fojtik Jaroslav to support
  1237  	reading WPGs which use the EXT token.
  1238  
  1239  2003-08-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1240  
  1241  	* magick/color.c (HistogramToFile): Renamed static method
  1242  	`Histogram` to `HistogramToFile` to make it more clear what this
  1243  	function does.
  1244  	(GetColorHistogram): Added new function to support retrieving a
  1245  	color histogram of the image.  A color histogram contains a count
  1246  	of how many times each color occurs in the image.
  1247  
  1248  	* magick/image.c (GetImageChannelDepth): Return an `unsigned int`
  1249  	rather than `long`.
  1250  
  1251  2003-08-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1252  
  1253  	* PerlMagick/Magick.xs: Add support for CopyCyan, CopyMagenta,
  1254  	CopyYellow, and CopyBlack, composition operators.
  1255  
  1256  	* magick/composite.c (CompositeImage): Added support for
  1257  	CopyCyanCompositeOp, CopyMagentaCompositeOp,
  1258  	CopyYellowCompositeOp, and CopyBlackCompositeOp, composition
  1259  	operators.
  1260  
  1261  2003-08-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1262  
  1263  	* wand/*: Updated to current ImageMagick Wand API (minus a few
  1264  	unimplemented functions).
  1265  
  1266  	* magick/image.c (TextureImage): Add status return because Wand API
  1267  	wants it.  Inherit is_grayscale status from texture image.
  1268  
  1269  	* magick/fx.c (SolarizeImage): Add status return because Wand API
  1270  	wants it.
  1271  
  1272  	* magick/resource.c (SetMagickResourceLimit): Add status return
  1273  	because Wand API wants it.
  1274  
  1275  	* magick/draw.c (DrawPeekGraphicContext): Now returns a
  1276  	copy of the current DrawInfo context rather than returning
  1277  	a pointer into the context stack. The user must destroy
  1278  	this copy using DestroyDrawInfo() once it is no longer
  1279  	needed.
  1280  
  1281  2003-08-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1282  
  1283  	* VisualMagick/filters/LIBRARY.txt: This file is necessary to
  1284  	incorporate analyze.c into the static build.  Without it the
  1285  	build fails.
  1286  
  1287  2003-08-23  Lars Ruben Skyum  <lars.skyum@stibo.com>
  1288  
  1289  	* magick/transform.c: ProfileImage updated to handle alpha
  1290  	channels and grayscale images. Also optimized color profiling of
  1291  	color mapped images and fixed a few bugs in profiling of CMYK
  1292  	images.
  1293  
  1294  	* magic/locale_c.h: added MagickExport to prototype declaration of
  1295  	GetLocaleMessageFromID in WriteLOCALEImage again. Please update
  1296  	your locale coder.
  1297  	
  1298  2003-08-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1299  
  1300  	* coders/wpg.c: Applied patch from Fojtik Jaroslav to use the
  1301  	GetMagicInfo() function to obtain the format of embedded images,
  1302  	and to provide a default WPG palette if the WPG file does not
  1303  	supply a palette.
  1304  
  1305  2003-08-22  William Radcliffe  <billr@corbis.com>
  1306  
  1307  	* magick\gm_messages.bin locale_c.h transform.c: Fixed missing
  1308  	message problem and added support for new lcms error handler.
  1309  
  1310  2003-08-21  Lars Ruben Skyum  <lars.skyum@stibo.com>
  1311  
  1312  	* magick/attribute.c, magick/image.c, magick/command.c: Added
  1313  	"clippath" option for clipping named Photoshop clipping paths,
  1314  	increased precision in clipping path knots, added comments, and
  1315  	fixed a few bugs resulting from moving TraceClippingPath function
  1316  	from ImageMagick to GraphicsMagick. Still need to update some of
  1317  	the documentation.
  1318  
  1319  	* magick/locale_c.h, magick/studio.h: added MagickExport to
  1320  	declaration of GetLocaleMessageFromID and moved include of
  1321  	magick/locale_c.h after declaration of MagickExport. This fixes a
  1322  	link error in dynamic, DLL version.
  1323  
  1324  	* coders/locale.h: added MagickExport to prototype declaration of
  1325  	GetLocaleMessageFromID in WriteLOCALEImage.
  1326  
  1327  2003-08-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1328  
  1329  	* PerlMagick/t/subroutines.pl (testRead): Ignore useless TIFF
  1330  	warning so that 12-bit TIFF test passes.
  1331  
  1332  	* magick/constitute.c (ReadImage): Ensure that the reported image
  1333  	magic string is that of the user-specified input file rather than
  1334  	a temporary file prepared by an external delegate program.
  1335  
  1336  	* magick/command.c (ImportImageCommand): Since
  1337  	DestroyExceptionInfo() now sets the destroyed exception signature
  1338  	to an invalid value, GetExceptionInfo(exception) must be invoked
  1339  	when the intention is to simply purge the exception.  This fix
  1340  	resolves an abort when executing `gm import`.
  1341  
  1342  2003-08-18  William Radcliffe  <billr@corbis.com>
  1343  
  1344  	* magick\gm_messages.bin locale_c.h transform.c: Updates that
  1345  	add latest enhancments by Lars to color management code in
  1346  	ProfileImage.
  1347  
  1348  2003-08-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1349  
  1350  	* coders/wpg.c: Incorporated patch from Fojtik Jaroslav to support
  1351  	rendering embedded WMFs.
  1352  
  1353  2003-08-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1354  
  1355  	* magick/image.c (SetImageChannelDepth): New function to transform
  1356  	the specified channel so it fits the specified modulus depth.
  1357  
  1358  	* magick/blob.c (BlobToImage): Skip calling SetImageInfo() if
  1359  	magick is already set.
  1360  
  1361  2003-08-18  William Radcliffe  <billr@corbis.com>
  1362  
  1363  	* PerlMagick/Magick.xs: Some fixes to get PerlMagick compiling
  1364  	again due to new ID based error macros.
  1365  
  1366  2003-08-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1367  
  1368  	* magick/error.h (enum): Remove spurious comma.
  1369  
  1370  2003-08-17  William Radcliffe  <billr@corbis.com>
  1371  
  1372  	* coders\png.c: Had to modify a few exception calls to work with
  1373  	newest macros.
  1374  
  1375  2003-08-17  William Radcliffe  <billr@corbis.com>
  1376  
  1377  	* coders\locale.c magick/error.h locale.c locale_c.h studio.h:
  1378  	The LOCALEH header file generator now adds an MGK_ prefiix to
  1379  	all the ID defines as part of a fix to support the new error
  1380  	and exception macros cross platform.
  1381  
  1382  2003-08-16  William Radcliffe  <billr@corbis.com>
  1383  
  1384  	* wand\magick_wand.c pixel_wand.c: The wand api code was totally
  1385  	left out of the large macro conversion below as an oversight.
  1386  
  1387  2003-08-15  William Radcliffe  <billr@corbis.com>
  1388  
  1389  	* .\coders art.c avi.c avs.c bmp.c caption.c clipboard.c cmyk.c
  1390  	cut.c dcm.c dib.c dps.c dpx.c emf.c ept.c fax.c fits.c fpx.c gif.c
  1391  	gradient.c gray.c hdf.c histogram.c html.c icon.c jbig.c jp2.c
  1392  	jpeg.c label.c locale.c logo.c map.c mat.c matte.c meta.c miff.c
  1393  	mono.c mpc.c mpeg.c msl.c mtv.c mvg.c null.c otb.c palm.c pcd.c
  1394  	pcl.c pcx.c pdb.c pdf.c pict.c pix.c png.c pnm.c preview.c ps.c
  1395  	ps2.c ps3.c psd.c pwp.c rgb.c rla.c rle.c sct.c sfw.c sgi.c
  1396  	stegano.c sun.c svg.c tga.c tiff.c tile.c tim.c topol.c ttf.c txt.c
  1397  	uil.c url.c uyvy.c vicar.c vid.c viff.c wbmp.c wmf.c wpg.c x.c xbm.c
  1398  	xc.c xcf.c xpm.c xtrn.c xwd.c yuv.c .\magick\animate.c annotate.c
  1399  	blob.c cache.c cache_view.c color.c color.h command.c compress.c
  1400  	constitute.c decorate.c delegate.c display.c draw.c effect.c
  1401  	enhance.c error.c error.h fx.c gm_messages.bin image.c list.c
  1402  	locale.c locale_c.h log.c mac.c magic.c magick.c module.c montage.c
  1403  	nt_feature.c paint.c quantize.c registry.c render.c resize.c
  1404  	segment.c semaphore.c shear.c signature.c static.c static.h
  1405  	stream.c studio.h tempfile.h transform.c type.c utility.c widget.c
  1406  	xwindow.c : Changes to support ID based message access and checking
  1407  	all message usages. The main thing that was done was to remove all
  1408  	the quotes around the "tags" used to lookup messages defined in
  1409  	the locale\C.XML file. Macros were added to error.h to allow the
  1410  	code to be compiled for either string based access or binary ID
  1411  	based access. Using binary ID's will cause the code to fail to
  1412  	compile if a message does not exist in C.XML, since no ID will be
  1413  	created for a missing message. This change then allowed us to
  1414  	easily track down all the messages that were "missing" or not
  1415  	being accessed properly. The problems were massive and took many
  1416  	days to resolve. I have left the code compiling in ID mode to keep
  1417  	things in sync going forward and also because it makes message
  1418  	lookup instantaneous. An ID is just an index into and array of
  1419  	char *'s. There is still a lot of cleanup work remaining, but this
  1420  	is a very good start. 
  1421  
  1422  2003-08-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1423  
  1424  	* magick/error.c (GetLocaleExceptionMessage): Add check to avoid
  1425  	duplicating severity prefix.
  1426  
  1427  	* magick/log.c (LogMagickEvent): Incorporated fix from Bill
  1428  	Radcliffe to enable logging control flags to work properly again.
  1429  
  1430  	* NEWS: Updated news.
  1431  
  1432  	* magick/blob.c (OpenBlob): Rewind file descriptor so that first
  1433  	read is at zero offset. This fixes reading GIFs via a
  1434  	user-provided file handle.
  1435  
  1436  2003-08-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1437  
  1438  	* magick/image.c (GetImageDepth): Extend so that the actual
  1439  	minimum depth required to represent the image is
  1440  	returned. Previously only the values 8, 16, and 32 were
  1441  	returned. This means that a value of one is returned for a
  1442  	monochrome image. Also fixed a bug in that the pixels were
  1443  	incremented while the depth was incremented, resulting in the
  1444  	first image pixels not being properly evaluated for depth.
  1445  	(SetImageDepth): Extend to support converting the image to
  1446  	arbitrary modulus depths.
  1447  	(GetImageChannelDepth): New function to obtain the modulus depth
  1448  	for a specified image channel.
  1449  
  1450  2003-08-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1451  
  1452  	* magick/draw.c (MvgAutoWrapPrintf): StreamError reported when
  1453  	DrawError was intended.
  1454  
  1455  	* coders/logo.c (ReadLOGOImage): Report FileOpenError rather than
  1456  	BlobError if requested image does not exist.
  1457  
  1458  2003-08-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1459  
  1460  	* magick/cache.c (PersistCache): If HAVE_SYSCONF and _SC_PAGE_SIZE
  1461  	are defined, then assume that sysconf works and don't use legacy
  1462  	getpagesize() function.
  1463  
  1464  	* magick/studio.h (_XOPEN_SOURCE): Should be defined as 600 in
  1465  	order to match _POSIX_C_SOURCE=200112L according to the Single
  1466  	UNIX Specification v3.  This is necessary for the vsnprintf
  1467  	prototype to be visible.
  1468  
  1469  	* magick/attribute.c (ReadByte): Fix compilation warnings due to
  1470  	casting `unsigned char *` to `char *` by changing function
  1471  	definition to accept `unsigned char *` instead.
  1472  
  1473  	* magick/error.h (UndefinedException): UndefinedException should
  1474  	be ExceptionType, not ExceptionBaseType.
  1475  
  1476  	* magick/magick.c (IsValidFilesystemPath): Eliminate warning about
  1477  	unused function when UseInstalledMagick is defined.
  1478  
  1479  	* magick/error.c (ThrowLoggedException): Fix improper parameters
  1480  	passed to LogMagickEvent() when reason is not available.
  1481  
  1482  003-08-07  William Radcliffe  <billr@corbis.com>
  1483  
  1484  	* magick/log.c, log.h: Added ability to log by either severity
  1485  	or by category of event. Made the defualt on windows to log all
  1486  	fatal errors, errors, and warnings to the event log. This will
  1487  	include anything generated by exceptions currently, but not any
  1488  	normal "informational" logging.
  1489  
  1490  2003-08-07  William Radcliffe  <billr@corbis.com>
  1491  
  1492  	* magick/log.c, log.h: Translation of event codes to mask vals
  1493  	was not working. Code was left out of last update. It is now in.
  1494  
  1495  2003-08-07  William Radcliffe  <billr@corbis.com>
  1496  
  1497  	* magick/error.c: Protect against NULL string passed into the
  1498  	message lookup function.
  1499  
  1500  2003-08-07  William Radcliffe  <billr@corbis.com>
  1501  
  1502  	* magick/locale.c: Switched use of IsAccessible to nonloggging
  1503  	version to prevent recursive problems.
  1504  
  1505  2003-08-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1506  
  1507  	* magick/Makefile.am (noinst_HEADERS): Distribute locale_c.h.
  1508  
  1509  	* locale/Makefile: Output locale_c.h.
  1510  
  1511  	* utilities/gm.c (main): Fix typo in Unix InitializeMagick
  1512  	invocation.
  1513  
  1514  	* configure.ac: Use ACX_PTHREAD pthreads test macro.
  1515  
  1516  	* magick/(semaphore.c,spinlock.h,studio.h): Change HasPTHREADS
  1517  	conditional define to HAVE_PTHREAD.
  1518  
  1519  	* magick/Makefile.am (noinst_HEADERS): Include spinlock.h in
  1520  	distribution.
  1521  
  1522  2003-08-06  William Radcliffe  <billr@corbis.com>
  1523  
  1524  	* contrib\win32\ATL7\ImageMagickObject/ImageMagickObject.cpp,
  1525  	ImageMagickObject_.h, ImageMagickObject.def, ImageMagickObject.rc
  1526  	gm.rc: Changes to get things compiling again since all windows
  1527  	specific logging support has been eliminated. The special build
  1528  	script BuildImageMagickObject.cmd now compiles the message file
  1529  	for resource based messages. The result is in gm_messages.bin.
  1530  	The script also generates a special version of gm.exe that uses
  1531  	the COM dll as a regular DLL and links to it. This is the long
  1532  	desired Moby DLL build idea.
  1533  
  1534  	* magick/error.c, magick/error.h, magick/log.c, magick/log.h:
  1535  	Upgrade of logging system to take over previous special logging
  1536  	code for windows in nt_base.c. The new logic provides logging of
  1537  	events to the debug api and the windows event log and also
  1538  	provides a generic text file logging method.
  1539  
  1540  	* magick/gm_messages.bin, magick/ImageMagick.rc: New compiled
  1541  	message file based on data in locale\C.mgk. RC file modified to
  1542  	include this as a resource.
  1543  
  1544  	* magick/locale.c, magick/locale_c.h: locale_c.h is generated by
  1545  	the LOCALEH format of the locale coder. The logic in locale.c uses
  1546  	the tables in the header lookup messages. On windows, all the
  1547  	messages are stored as resources, while on UNIX they remain in a
  1548  	string table.
  1549  
  1550  	* locale/C.mgk: Removed duplicate messages and added some new
  1551  	default messages that help to create a complete set of severity
  1552  	strings.
  1553  
  1554  	* magick/command.c, magick/magick.c: Get rid compiler warnings.
  1555  
  1556  2003-08-05  William Radcliffe  <billr@corbis.com>
  1557  
  1558  	* magick/command.c, magick/gm.c: Application level changes to
  1559  	implement the client name - filename changes. The client name can
  1560  	now be anything that the application wants and has nothing to do
  1561  	with the saved filename of the application.
  1562  
  1563  	* magick/nt_base.c, magick/nt_base.h, magick/magick.c: Ripped out
  1564  	old nt specific debugging and logging logic. Moving to the
  1565  	standard logging. New and major revisions to InitializeMagick to
  1566  	make the code more maintainable, reliable, and reaable. It should
  1567  	be functionally identical, but implements the new split client
  1568  	name and filename methododology.
  1569  
  1570  	* magick/utility.c, magick/utility.h: Added a couple of new
  1571  	routines to support splitting the overloaded use of the client
  1572  	name and client filename.
  1573  
  1574  	* coders/xtrn.c: Minor code cleanup
  1575  
  1576  2003-08-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1577  
  1578  	* Copyright.txt: Added missing copyright notice which is required
  1579  	due to copying the rlecomp manual page into ImageMagick.
  1580  
  1581  	* doc/config_files.imdoc: Started documentation for configuration
  1582  	files.
  1583  
  1584  	* magick/xwindow.c (XSignalHandler): Ensure that segment_info is
  1585  	non-null before attempting to use it.  Much thanks to John Cristy
  1586  	for bringing this problem to our attention.
  1587  
  1588  2003-08-05  William Radcliffe  <billr@corbis.com>
  1589  
  1590  	* coders/locale.c: Added several new formats to this coder to
  1591  	generate windows message resource format messages and also to
  1592  	generates a new header file format that will support a table based
  1593  	version of the other magick/locale.c.
  1594  
  1595  	* coders/xtrn.c: Minor code cleanup
  1596  
  1597  2003-08-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1598  
  1599  	* configure.ac: Only configure C and C++ libtool tags.
  1600  
  1601  	* PerlMagick/t/reference/composite/*.miff: Added some composition
  1602  	test reference images.  These reference images will serve as
  1603  	placeholders until better composition tests can be figured out.
  1604  	It is not clear from the documentation what some of the
  1605  	composition operators are supposed to do.
  1606  
  1607  2003-08-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1608  
  1609  	* README.txt: Add documentation regarding using TRIO.
  1610  
  1611  	* configure.ac: Test for TRIO library if vsnprintf is not
  1612  	available.
  1613  
  1614  	* magick/studio.h: Remap vsnprintf to trio_vsnprintf if TRIO is
  1615  	available.
  1616  
  1617  	* coders/topol.c, coders/wmf.c, magick/magick.c, magick/nt_base.c,
  1618  	magick/resource.c: Use traditional C comment form in C source
  1619  	files.
  1620  
  1621  2003-07-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1622  
  1623  	* magick/log.h (LogEventType::AllEvents): Increase the value of
  1624  	AllEvents so that it spans the complete positive range of a signed
  1625  	integer.
  1626  
  1627  	* magick/xwindow.c, magick/xwindow.h: Incorporate patch from John
  1628  	Cristy's ImageMagick to eliminate conditional dependence of
  1629  	magick/xwindow.h on <X11/extensions/XShm.h>.
  1630  
  1631  	* magick/magick_config_api.h.in: HasSharedMemory define no longer
  1632  	needed.
  1633  
  1634  2003-07-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1635  
  1636  	* www/programming.html: Update Rmagick URL.
  1637  
  1638  	* GraphicsMagick.spec.in : Update according to instructions from
  1639  	Troy Edwards.
  1640  
  1641  2003-07-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1642  
  1643  	* GraphicsMagick.spec.in: Replaced GraphicsMagick.spec with
  1644  	GraphicsMagick.spec.in, which is configured to produce
  1645  	GraphicsMagick.spec.
  1646  
  1647  	* configure.ac: Configure GraphicsMagick.spec.
  1648  
  1649  2003-07-29  Troy Edwards  <vallimar@sexorcisto.net>
  1650  
  1651  	* GraphicsMagick.spec: Updated to CVS build. Added the
  1652  	GraphicsMagickWand files to the spec.  Only try to remove the
  1653  	unneeded perl package files if we are using PerlMagick.
  1654  
  1655  2003-07-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1656  
  1657  	* GraphicsMagick.spec: Added RPM spec file authored by Troy
  1658  	Edwards <vallimar@sexorcisto.net>.
  1659  
  1660  	* NEWS: Add note regarding EXIF fix.
  1661  
  1662  	* magick/attribute.c (GenerateEXIFAttribute): Look for the profile
  1663  	name "EXIF" rather than "APP1".
  1664  
  1665  2003-07-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1666  
  1667  	* magick/magick_config_api.h.in: XWindowInfo structure in
  1668  	xwindow.h needs HasSharedMemory define.
  1669  
  1670  	* magick/xwindow.c, magick/xwindow.h: Move inclusion of
  1671  	<X11/extensions/shape.h> to xwindow.c.
  1672  
  1673  	* coders/dps.c, magick/xwindow.h: Move DPS includes to
  1674  	coders/dps.c
  1675  
  1676  	* coders/Makefile.am: Substituted values are also set as
  1677  	make variables, so use variables rather than substitutions.
  1678  
  1679  	* magick/log.c (GetLogBlob): MAGICK_HOME needs to take
  1680  	precedence over the client path for the uninstalled build.
  1681  
  1682  	* magick/type.c (GetTypeBlob): MAGICK_HOME needs to take
  1683  	precedence over the client path for the uninstalled build.
  1684  
  1685  	* magick/blob.c (GetConfigureBlob): MAGICK_HOME needs to take
  1686  	precedence over the client path for the uninstalled build.
  1687  
  1688  	* magick/module.c (FindMagickModule): MAGICK_HOME needs to take
  1689  	precedence over the client path for the uninstalled build.
  1690  
  1691  2003-07-24  Lars Ruben Skyum  <lars.skyum@stibo.com>
  1692  
  1693  	* magick/attribute.c (TraceClippingPath): Improvements to clipping
  1694  	path parsing.
  1695  
  1696  2003-07-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1697  
  1698  	* magick/cache.c: Disable the Windows open() extensions when
  1699  	compiling using Borland C++.
  1700  
  1701  	* magick/log.c (LogMagickEvent): Unlock semaphore before
  1702  	returning.
  1703  
  1704  	* ltdl/ltdl.h: Updated to latest CVS version.
  1705  
  1706  	* ltdl/ltdl.c: Updated to latest CVS version.
  1707  
  1708  	* Libtool: Updated to use latest CVS libtool.
  1709  
  1710  2003-07-17  Mike Chiarappa  <mikechiarappa@libero.it>
  1711  
  1712  	* BCBMagick: Contributed initial Borland C++ Builder 6.0 build
  1713  	environment.
  1714  
  1715  2003-07-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1716  
  1717  	* magick/color.c (GetColorInfoArray): Added a function to access
  1718  	the color definition list as an array.
  1719  	(GetColorList): Added access locks to ensure that list is not
  1720  	re-ordered while it is being traversed.
  1721  
  1722  	* www/Magick++/Image.html: Add some more information regarding raw
  1723  	pixel access.
  1724  
  1725  2003-07-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1726  
  1727  	* wand/GraphicsMagickWand.pc.in (Cflags): Remove LFS_CPPFLAGS.
  1728  
  1729  	* wand/GraphicsMagickWand-config.in: Remove LFS_CPPFLAGS.
  1730  
  1731  	* magick/GraphicsMagick.pc.in (Cflags): Remove LFS_CPPFLAGS.
  1732  
  1733  	* magick/GraphicsMagick-config.in: Remove LFS_CPPFLAGS.
  1734  
  1735  	* configure.ac: Logic for setting LFS_CPPFLAGS was incomplete.
  1736  
  1737  	* coders/topol.c: Updated topol coder contributed by Jaroslav
  1738  	Fojtik.  Topol is coming to life!
  1739  
  1740  2003-07-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1741  
  1742  	* magick/nt_base.h: Add a typedef for ssize_t
  1743  
  1744  	* magick/deprecate.h: ExtendedSignedIntegralType and
  1745  	ExtendedUnsignedIntegralType are now deprecated types so they are
  1746  	moved to deprecate.h. Existing code which uses these types should
  1747  	continue to work.
  1748  
  1749  	* magick/blob.c (MapBlob): Change `offset` parameter from type
  1750  	off_t to magick_off_t so that it is not LFS dependent.
  1751  
  1752  	* magick/cache.c (GetPixelCacheArea): Return magick_off_t.
  1753  	(PersistCache): Change `offset` parameter to type magick_off_t.
  1754  
  1755  	* magick/cache.h (NexusInfo): Change `length` type from
  1756  	ExtendedSignedIntegralType to magick_off_t.
  1757  	(CacheInfo): Change `offset` and `length` types from
  1758  	ExtendedSignedIntegralType to magick_off_t.
  1759  
  1760  	* magick/blob.c (BlobToFile): Use ssize_t rather than
  1761  	ExtendedSignedIntegralType for count.
  1762  	(TellBlob): Return magick_off_t rather than
  1763  	ExtendedSignedIntegralType.
  1764  
  1765  	* configure.ac: Check for a ssize_t type.
  1766  
  1767  	* magick/blob.h (_BlobInfo): Change `offset` and `size` members
  1768  	from ExtendedSignedIntegralType to magick_off_t.
  1769  
  1770  	* magick/blob.c (GetBlobSize): Return magick_off_t rather than
  1771  	ExtendedSignedIntegralType.
  1772  	(SeekBlob): Accept and return magick_off_t rather than
  1773  	ExtendedSignedIntegralType.
  1774  
  1775  2003-07-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1776  
  1777  	* magick/monitor.c (MagickMonitor): Change `quantum` argument from
  1778  	type ExtendedSignedIntegralType to magick_int64_t. Change `span`
  1779  	argument from ExtendedUnsignedIntegralType to magick_uint64_t.
  1780  
  1781  	* magick/xwindow.c (XMagickMonitor): Change `quantum` argument from
  1782  	type ExtendedSignedIntegralType to magick_int64_t. Change `span`
  1783  	argument from ExtendedUnsignedIntegralType to magick_uint64_t.
  1784  
  1785  	* magick/widget.c (XMonitorWidget): Change `quantum` argument from
  1786  	type ExtendedSignedIntegralType to magick_int64_t. Change `span`
  1787  	argument from ExtendedUnsignedIntegralType to magick_uint64_t.
  1788  
  1789  	* magick/studio.h (QuantumTick): Change typecast from
  1790  	ExtendedSignedIntegralType to magick_int64_t.
  1791  
  1792  	* magick/resource.c (AcquireMagickResource): Change `size`
  1793  	argument type from ExtendedSignedIntegralType to magick_int64_t.
  1794  	(LiberateMagickResource): Change `size` argument type from
  1795  	ExtendedSignedIntegralType to magick_int64_t.
  1796  
  1797  	* magick/utility.c (FormatSize): Change `size` argument type from
  1798  	ExtendedSignedIntegralType to magick_int64_t.
  1799  
  1800  	* magick/nt_base.c: Change MagickOffset to magick_off_t.
  1801  
  1802  	* magick/studio.h (magick_off_t): Change MagickOffset to magick_off_t.
  1803  
  1804  	* coders/topol.c: Insert dummy member into palettRAS structure
  1805  	since Visual C++ doesn`t seem to handle empty structures.
  1806  
  1807  	* wand/GraphicsMagickWand.pc.in (prefix): Pass LFS CPPFLAGS.
  1808  
  1809  	* wand/GraphicsMagickWand-config.in: Pass LFS CPPFLAGS.
  1810  
  1811  	* wand/Makefile.am: Fix include path.
  1812  
  1813  	* magick/GraphicsMagick.pc.in (prefix): Pass LFS CPPFLAGS.
  1814  
  1815  	* magick/magick_config_api.h.in: Pass LFS configuration options
  1816  	until the API is fixed so that it is not LFS sensitive anymore.
  1817  
  1818  	* magick/GraphicsMagick-config.in: Pass LFS CPPFLAGS.
  1819  
  1820  	* PerlMagick/Makefile.PL.in: Pass LFS CPPFLAGS.
  1821  
  1822  	* magick/Makefile.am: Install magick_types.h.
  1823  
  1824  	* magick/api.h: Include magick_types.h.
  1825  
  1826  	* magick/studio.h: Include magick_types.h rather than integral_types.h.
  1827  	* VisualMagick/magick/magick_types.h.in: New header file (replacing
  1828  	integral_types.h) to contain CPU and system-dependent primitive
  1829  	typedefs.
  1830  
  1831  	* magick/magick_types.h.in: New header file (replacing
  1832  	integral_types.h) to contain CPU and system-dependent primitive
  1833  	typedefs.
  1834  
  1835  	* configure.ac: Use AC_SYS_LARGEFILE to test for large file
  1836  	options. Update to determine integral typedefs for current CPU and
  1837  	compiler options. Configure magick_types.h.
  1838  
  1839  	* magick/attribute.c (TraceClippingPath): Apply patch from Lars
  1840  	Ruben Skyum which fixes clipping path parsing for paths generated
  1841  	by Adobe software which pre-dates the Photoshop file format
  1842  	specification.
  1843  
  1844  2003-07-08  William Radcliffe  <billr@corbis.com>
  1845  
  1846  	* magick/semaphore.c: Modified the way the system handles the
  1847  	initialization of Win32 critical sections to use a spin lock
  1848  	on WIn32 to bootstrap the initialization of all other crtical
  1849  	sections. This is not an issue on UNIX since static init is used.
  1850  
  1851  	* magick/magic.c module.c magick.c log.c resource.c constitute.c
  1852  	color.c cache.c delegate.c registry.c type.c: Small modifications
  1853  	were made to eliminate the side effect of unlocking semaphores
  1854  	as part of the releasing procedure. This also eliminated the
  1855  	apparent bug of the system double locking certain semaphores.
  1856  	The locked flag should now not be needed, but remains in place
  1857  	for the time being as an added safegaurd.
  1858  
  1859  2003-07-04  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  1860  
  1861  	* png.c: added missing #ifdef JNG_SUPPORTED/#endif directives.
  1862  
  1863  2003-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1864  
  1865  	* NEWS: Updated news to include fixes and enhancements since the
  1866  	1.0 release.
  1867  
  1868  2003-07-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1869  
  1870  	* magick/semaphore.c (UnlockSemaphoreInfo): Bugfix, modify
  1871  	the `locked` flag while still under protection of the lock.
  1872  	This fix is necessary for thread-safety.
  1873  
  1874  2003-07-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1875  
  1876  	* coders/jpeg.c (ReadJPEGImage): Conditionally copy exception.
  1877  
  1878  	* wand/Makefile.am (noinst_HEADERS): Need to distribute
  1879  	magick_compat.h.
  1880  	(EXTRA_DIST): Need to distribute GraphicsMagickWand-config.1.
  1881  
  1882  	* coders/wmf.c (ipa_bmp_draw): Use CopyException.
  1883  	(ipa_device_begin): Use CopyException.
  1884  	(lite_font_map): Use CopyException.
  1885  	* coders/jpeg.c (ReadJPEGImage): Use CopyException.
  1886  	* magick/image.c (GetImageException): Use CopyException.
  1887  	* magick/constitute.c (WriteImages): Use CopyException.
  1888  	* Makefile.am (DIST_SUBDIRS): wand needs to be included in
  1889  	distribution.
  1890  
  1891  2003-06-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1892  
  1893  	* magick/static.c (RegisterStaticModules): Invoke
  1894  	RegisterTOPOLImage.
  1895  
  1896  	* magick/magick.h (MagickInfo): Add member usage comments.
  1897  
  1898  	* magick/error.c (CatchException): Restore saved errno from
  1899  	exception->error_number.
  1900  	(CopyException): Copy error_number.
  1901  	(DestroyExceptionInfo): Reset error_number to zero.
  1902  	(GetExceptionInfo): Initialize error_number to zero.
  1903  	(ThrowException): Save errno to exception-> error_number.
  1904  	(ThrowLoggedException): Save errno to exception-> error_number.
  1905  
  1906  	* magick/error.h (ExceptionInfo): Borrow John Cristy's idea and
  1907  	add a error_number member to ExceptionInfo to save the current
  1908  	errno value. Otherwise CatchException may use some random errno.
  1909  
  1910  	* coders/Makefile.am: Build topol.c.
  1911  
  1912  	* coders/topol.c: Added initial TOPOL X image coder which is under
  1913  	development by Jaroslav Fojtik. Not working yet.
  1914  
  1915  2003-06-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1916  
  1917  	* coders/pwp.c (ReadPWPImage): Ensure that image is initialized
  1918  	before invoking ThrowReaderException.
  1919  
  1920  	* magick/image.c (CloneImage): Use CopyException.
  1921  
  1922  	* magick/error.c (CopyException): Add function to support copying
  1923  	ExceptionInfo structures.
  1924  
  1925  	* magick/error.h (ExceptionInfo): Replaced recently-added `whence`
  1926  	member with module, function, and line members in order to keep
  1927  	the information seperate, and match the parameters used by the
  1928  	logging system.
  1929  	(ThrowException): Log thrown exceptions.
  1930  
  1931  	* magick/error.c (ThrowLoggedException): New function used to
  1932  	throw an exception, while recording and logging the location
  1933  	where the exception is thrown.
  1934  
  1935  	* doc/options.imdoc (operation): Document TemporaryFile and
  1936  	Exception events.
  1937  
  1938  	* magick/log.c (LogMagickEvent): Support logging ExceptionEvent.
  1939  
  1940  	* PerlMagick/Magick.xs: Added "Exception" event type.
  1941  
  1942  	* magick/log.h (LogEventType): Added ExceptionEvent.
  1943  
  1944  2003-06-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1945  
  1946  	* magick/error.c (ThrowException): Handle `whence`
  1947  	member. MagickFreeMemory already checks for null pointer so don't
  1948  	check again.
  1949  	(DestroyExceptionInfo): Handle `whence` member. MagickFreeMemory
  1950  	already checks for null pointer so don't check again.
  1951  
  1952  	* magick/error.h (ExceptionInfo): Add a `whence` member to support
  1953  	the ability to record where the exception is was thrown.
  1954  
  1955  	* VisualMagick/installer: Install Wand files.
  1956  
  1957  2003-06-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1958  
  1959  	* magick/blob.c (GetConfigureBlob): GetConfigureBlob should always
  1960  	return a value.
  1961  
  1962  	* magick/type.c (GetTypeBlob): GetTypeBlob should always return a
  1963  	value.
  1964  
  1965  	* magick/log.c (GetLogBlob): GetLogBlob should always return
  1966  	a value.
  1967  
  1968  	* magick/magick.c (GetMagickInfoArray): Fixed array memory
  1969  	allocation and clearing bug. Eliminate warnings.
  1970  
  1971  2003-06-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  1972  
  1973  	* VisualMagick/installer/inc/files-configs.isx: For a static
  1974  	build, install the configuration files directly into the
  1975  	application directory.
  1976  
  1977  	* VisualMagick/installer/inc/uninstallrun-unregister-com.isx
  1978  	(Filename): Change ImageMagickObject.dll path.
  1979  
  1980  	* VisualMagick/installer/inc/run-register-com.isx (Filename):
  1981  	Change ImageMagickObject.dll path.
  1982  
  1983  	* VisualMagick/installer/inc/files-com.isx (Source): Install
  1984  	ImageMagickObject.dll and MagickCMD.exe in the application
  1985  	directory alongside gm.exe and the CORE DLLs.
  1986  
  1987  	* INSTALL-unix.txt: Add additional information regarding LZW.
  1988  
  1989  	* VisualMagick/magick/magick_config.h.in: Add additional notes
  1990  	regarding UNISYS LZW patent.
  1991  
  1992  	* PerlMagick/Magick.xs: Applied Dissolve composite operator fix
  1993  	obtained from from John Cristy's ImageMagick which ensures that an
  1994  	unused matte channel is set to Opaque, and uses this knowledge to
  1995  	simplify the math.
  1996  
  1997  	* VisualMagick/configure/configure.cpp: The `wand` library has a
  1998  	linkage dependency on the `magick` library. Also don't include
  1999  	the magick subdirectory so that headers must be included like
  2000  	<magick/api.h> for safety.
  2001  
  2002  	* coders/xtrn.c: Fix magick header inclusion.
  2003  
  2004  	* lcms\src\cmserr.c: Fix magick header inclusion.
  2005  
  2006  2003-06-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2007  
  2008  	* doc/options.imdoc: Fix to formatting. Fix spelling of origin.
  2009  
  2010  	* PerlMagick/t/bzlib/read.t: Add test for reading BZipped file.
  2011  
  2012  	* PerlMagick/t/subroutines.pl (testRead): Skip testing reads
  2013  	of compressed BLOBs because reading compressed BLOBs is not
  2014  	supported yet.
  2015  
  2016  	* coders/bmp.c (ReadBMPImage): Only validate the file size value
  2017  	for compressed BMPs.
  2018  
  2019  	* VisualMagick/wand, wand: First stab at building the Wand API
  2020  	under Visual C++.  Still does not build as a DLL.
  2021  
  2022  2003-06-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2023  
  2024  	* magick/static.h: Add prototypes for RegisterXTRNImage and
  2025  	UnregisterXTRNImage.	
  2026  
  2027  	* Makefile.am (DISTDIRS): Don't distribute the `guide`
  2028  	subdirectory. It is available for checkout from CVS.
  2029  
  2030  	* www: Utilities documentation is updated from <imdoc> masters.
  2031  	Formatting could be improved, but the content seems ok.
  2032  
  2033  	* doc/environment.imdoc: New file to describe environment
  2034  	variables.
  2035  
  2036  	* coders/cut.c (ReadCUTImage): Use MagickAllocateMemory and
  2037  	MagickFreeMemory rather than malloc and free.
  2038  
  2039  	* doc/gmdoc2html: Add GraphicsMagick styling to utility web pages.
  2040  
  2041  	* doc/Makefile: Additional documentation Makefile enhancements.
  2042  
  2043  	* AUTHORS: New file to acknowledge significant contributors
  2044  	to the software. If an author is not listed here, please let
  2045  	us know.
  2046  
  2047  	* configure.ac: test -a is not POSIX compliant.
  2048  
  2049  2003-06-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2050  
  2051  	* doc: Source documentation for `gm` is now available via a `doc`
  2052  	CVS module. A Makefile is provided which formats the
  2053  	documentation and installs it into the `www` and `utilities`
  2054  	subdirectories.
  2055  
  2056  2003-06-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2057  
  2058  	* wand: Added Magick Wand library available via
  2059  	-lGraphicsMagickWand and <wand/wand_api.h>. Use
  2060  	GraphicsMagickWand-config or GraphicsMagickWand.pc to obtain the
  2061  	compilation options required to use the library. Magick Wand is
  2062  	authored by John Cristy. Magick Wand is provided as a separate
  2063  	library from -lGraphicsMagick in order to assure the stability of
  2064  	the core GraphicsMagick library while allowing Magick Wand to
  2065  	to evolve.
  2066  
  2067  	* images: Replace existing logo images with cleaner ones.
  2068  
  2069  	* www: Update links to point to updated logo images.
  2070  
  2071  	* logos: New CVS directory to contain master logos.
  2072  
  2073  	* scripts/txt2html: Updated inline logo image link.
  2074  
  2075  	* scripts/format_c_api_docs: Updated inline logo image link.
  2076  
  2077  	* version.sh: Support versioning all libraries independently.
  2078  
  2079  	* coders/meta.c: Prefix include paths for safety.
  2080  
  2081  	* magick/image.h: (TransmitType) Removed unused enumeration.
  2082  	(ProfileType) Removed unused enumeration.
  2083  	(QuantumType) Moved enumeration to constitute.h
  2084  	(StorageType) Moved enumeration to constitute.h
  2085  
  2086  	* magick/draw.c (DrawPeekGraphicContext): Added function to peek
  2087  	at head of drawing context stack (function added for ImageMagick
  2088  	compatability).
  2089  
  2090  	* magick/image.c (CycleColormapImage): Change return type from
  2091  	`void` to `unsigned int` so that error status is returned to user.
  2092  	(DescribeImage): Change return type from
  2093  	`void` to `unsigned int` so that error status is returned to user.
  2094  
  2095  	* magick/list.c (ReplaceImageInList): Incorporated function from
  2096  	John Cristy's ImageMagick to replace current image in the list.
  2097  
  2098  	* coders/sgi.c (ReadSGIImage): Applied patch from John Cristy's
  2099  	ImageMagick to save the compression type for SGI images.
  2100  
  2101  2003-06-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2102  
  2103  	* coders/txt.c (WriteTXTImage): Apply patch from John Cristy's
  2104  	ImageMagick to observe image depth while writing pixel colors.
  2105  	This patch is not applied to the 1.0 branch because it represents
  2106  	an output format change which could break a dependent application.
  2107  	(IsTXT): Recognize files written by the TXT coder.
  2108  	(ReadTXTImage): Reject files written by the TXT coder until support
  2109  	for reading these files is implemented.
  2110  	(IsTXT): Ensure that sscanf doesn't read outside of provided data
  2111  	by using a fixed size buffer.
  2112  
  2113  2003-06-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2114  
  2115  	* configure.ac: Don't add -lfpx to LIBS while configuring
  2116  	because the C compiler may fail to link with it in later
  2117  	tests.
  2118  
  2119  2003-06-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2120  
  2121  	* PerlMagick/Magick.xs: RotateImage is documented to take
  2122  	`degrees` argument, not `degree`.  SwirlImage is documented to
  2123  	take `degrees` argument, not `degree`.  SolarizeImage is
  2124  	documented to take a `threshold` argument, not `factor`.  Wave is
  2125  	documented to take `amplitude` and `wavelength` arguments.  Don't
  2126  	transform colorspace to RGB when retrieving `pixel` color value.
  2127  	Release memory acquired to store `length` pointer.  Picked up
  2128  	memory leak fix related to `SV **reference_vector` variable from
  2129  	John Cristy's ImageMagick.	
  2130  
  2131  	* configure: Incorporate patch to handle inline better.
  2132  
  2133  	* magick/utility.c (GetToken): Adjust code to avoid "end-of-loop
  2134  	code not reached" warning.
  2135  
  2136  	* magick/log.c (GetLogBlob): Eliminate warning regarding
  2137  	unreached code.	
  2138  
  2139  	* magick/command.c (AnimateImageCommand): Eliminate warning regarding
  2140  	unreached code.	
  2141  	(ConvertImageCommand): Eliminate warning regarding
  2142  	unreached code.	
  2143  	(ImportImageCommand): Eliminate warning regarding
  2144  	unreached code.	
  2145  
  2146  	* magick/type.c (GetTypeBlob): Eliminate warning regarding
  2147  	unreached code.	
  2148  
  2149  	* magick/blob.c (GetConfigureBlob): Eliminate warning regarding
  2150  	unreached code.
  2151  
  2152  	* coders/meta.c (super_fgets): Eliminated warnings regarding
  2153  	comparison and return of incompatible pointer types.
  2154  	(super_fgets_w): Eliminated warnings regarding
  2155  	comparison and return of incompatible pointer types.
  2156  
  2157  	* magick/command.c (ConvertImageCommand): Eliminate warnings
  2158  	noticed when using Sun's compiler.
  2159  
  2160  2003-06-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2161  
  2162  	* acinclude.m4: Add `#undef inline` in front of C++ tests.
  2163  
  2164  	* coders/x.c (RegisterXImage): Only register the X coder if HasX11
  2165  	is defined.
  2166  
  2167  2003-06-07  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2168  
  2169  	* magick/image.c (GetImageGeometry) Y was a function of width
  2170  	instead of height when processing EastGravity or WestGravity
  2171  	(bug report from Cristy).
  2172  
  2173  2003-06-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2174  
  2175  	* magick/utility.c (LocaleNCompare): Documented that comparison is
  2176  	case-insensitive.
  2177  	(LocaleCompare): Documented that comparison is case-insensitive.
  2178  
  2179  	* magick/log.c (ParseEvents): LocaleNCompare already does
  2180  	case-insensitive compare so lower-casing is not necessary.
  2181  
  2182  	* Magick++: Updates to cause exceptions to be thrown if a bad
  2183  	geometry specification is supplied.
  2184  
  2185  2003-06-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2186  
  2187  	* magick/log.c (ReadConfigureFile): Move event parsing to
  2188  	ParseEvents funtion.
  2189  	(SetLogEventMask): Move event parsing to
  2190  	ParseEvents funtion.
  2191  
  2192  	* magick/utility.c (GetGeometry): Validate that the geometry
  2193  	string only contains valid characters.
  2194  
  2195  	* PerlMagick/t/subroutines.pl (testMontage): It seems that passing
  2196  	an empty set of options to the SetImage method corrupts the image
  2197  	options (surely a PerlMagick bug), so don't invoke SetImage unless
  2198  	there are options to set.
  2199  
  2200  2003-06-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2201  
  2202  	* magick/command.c (VersionCommand): Add build information to
  2203  	version output.
  2204  
  2205  	* configure.ac: Save configure/build parameters for later use in
  2206  	version output.
  2207  
  2208  2003-06-04  William Radcliffe  <billr@corbis.com>
  2209  
  2210  	* coders/meta.c: Added some casts to make things compile better.
  2211  
  2212  2003-06-03  William Radcliffe  <billr@corbis.com>
  2213  
  2214  	* coders/meta.c: Was broken due to editing mistakes as well
  2215  	as inherent incompatability with MagickReallocMemory macro.
  2216  
  2217  2003-06-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2218  
  2219  	* coders/xpm.c (RegisterXPMImage): Module registration for PICON
  2220  	should have been XPM.  Thanks to John Cristy for noticing this
  2221  	bug.
  2222  
  2223  	* coders/psd.c (ReadPSDImage): Applied John Cristy's patch to fix
  2224  	a index calculation bug which is evident when QuantumDepth>8.
  2225  
  2226  2003-06-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2227  
  2228  	* coders/meta.c: Eliminated some compiler warnings.
  2229  
  2230  	* magick/transform.c (ProfileImage): Eliminated some compiler
  2231  	warnings.
  2232  
  2233  	* magick/static.c (RegisterStaticModules): Invoke
  2234  	RegisterXTRNImage if _VISUALC_ is defined.
  2235  
  2236  2003-06-02  William Radcliffe  <billr@corbis.com>
  2237  
  2238  	* utilities/gm.c: made -format work again but had to add off flag
  2239  	to MagickCommand to maintain backward compatability with previous
  2240  	versions of GM.
  2241  
  2242  	* magick/command.c: Added flag to tell MagickCommand whether GM is
  2243  	expected to process metadata requests. The COM object *always* does.
  2244  
  2245  	* magick/transform.c: Added error handling, memory leak avoidance
  2246  	and performanc enhancment.
  2247  
  2248  2003-06-01  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2249  
  2250  	* NEWS: Added Bug Fixes item with info about the JNG encoder fix.
  2251  
  2252  2003-06-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2253  
  2254  	* NEWS: Listed significant changes (thus far) in version 1.1.
  2255  
  2256  	* version.sh: Updated LIBRARY_CURRENT and LIBRARY_REVISION since
  2257  	some command.c interfaces have changed, and a new interface has
  2258  	been added. The only user of these interfaces should be `gm` but
  2259  	it always pays to be careful.
  2260  
  2261  	* utilities/gm.c (main): Use MagickCommand.
  2262  
  2263  	* magick/command.c (MagickCommand): New function to provide
  2264  	API-level command access to the command functions provided by the
  2265  	GM utility with an interface similar to ConvertImageCommand.
  2266  	(AnimateImageCommand): Changed function arguments to match
  2267  	ConvertImageCommand.
  2268  	(ConjureImageCommand): Changed function arguments to match
  2269  	ConvertImageCommand.
  2270  	(DisplayImageCommand): Changed function arguments to match
  2271  	ConvertImageCommand.
  2272  	(ImportImageCommand): Changed function arguments to match
  2273  	ConvertImageCommand.
  2274  
  2275  	* libxml/libxml2.def: Remove LIBRARY line since Visual C++ 6.0
  2276  	doesn't like that the build library doesn't match the name
  2277  	specified by LIBRARY.
  2278  
  2279  2003-05-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2280  
  2281  	* magick/magick.c (GetMagickInfoArray): Resolve thread-safety
  2282  	issue by accessing magick_list directly under the protection of a
  2283  	lock rather than using the pointer returned by GetMagickInfo.
  2284  	Added error handling for insufficient memory.
  2285  
  2286  	* coders/tile.c (RegisterTILEImage): Added a usage note in formats
  2287  	listing.
  2288  
  2289  	* coders/viff.c (RegisterVIFFImage): Module definition for "XV"
  2290  	was missing.
  2291  
  2292  	* coders/ps2.c (RegisterPS2Image): Module definition for "PS2" was
  2293  	missing.
  2294  
  2295  	* coders/wmf.c (RegisterWMFImage): Added usage note in formats
  2296  	listing.
  2297  
  2298  	* coders/xpm.c (RegisterXPMImage): Hide PM alias for XPM in the
  2299  	formats listing.
  2300  
  2301  	* coders/logo.c (RegisterLOGOImage): Hide registrations for
  2302  	GRANITE, LOGO, and NETSCAPE in the formats listing.
  2303  
  2304  	* coders/jpeg.c (RegisterJPEGImage): Module definition for "JPEG"
  2305  	was missing.
  2306  
  2307  	* coders/html.c (RegisterHTMLImage): Module definition for "HTML"
  2308  	was missing.
  2309  
  2310  	* coders/bmp.c (RegisterBMPImage): Module names for "BMP2" and
  2311  	"BMP3" should be "BMP".
  2312  
  2313  2003-05-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2314  
  2315  	* magick/magick.c (GetMagickInfoArray): New function to return
  2316  	MagickInfo array.
  2317  	(ListMagickInfo): Updated to use GetMagickInfoArray.
  2318  	(ListModuleMap): New function to list module map to a file.
  2319  
  2320  	* utilities/gm.c: Centered the file header and made note of this
  2321  	stupendously significant accomplishment.
  2322  
  2323  	* magick/command.c: Added a `-list modulemap` option. Added plural
  2324  	forms of other list options for people who are are not limited to
  2325  	the singular.  Also `-list font` and `-list fonts` now work for
  2326  	people who think in terms of fonts rather than type.
  2327  
  2328  2003-05-30  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2329  
  2330  	* MNG encoder failed to set the JNG bit in the simplicity profile.
  2331  
  2332  	* MNG encoder failed to write FRAM chunks when all images were JNG.
  2333  
  2334  	* JNG encoder wrote the wrong alpha_sample_depth for opaque images. 
  2335  
  2336  2003-05-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2337  
  2338  	* magick/magic.c (ReadConfigureFile): Removed bogus embedded magic
  2339  	data and ensured that errors with loading magic.mgk propogate to
  2340  	the top.
  2341  
  2342  	* magick/constitute.c (ReadImage): When building delegate error
  2343  	report, handle the case where the filename is empty (such as for
  2344  	"LOGO:").
  2345  
  2346  	* coders/png.c (WritePNGImage): Ensure that most severe exception
  2347  	is reported via exception argument.
  2348  	(ReadMNGImage): Ensure that most severe exception is reported via
  2349  	exception argument.
  2350  
  2351  	* magick/command.c (ConvertImageCommand): Ensure that most severe
  2352  	exception is reported via exception argument.
  2353  	(CompositeImageList): Ensure that most severe exception is
  2354  	reported via exception argument.
  2355  	(CompositeImageCommand): Ensure that most severe exception is
  2356  	reported via exception argument.
  2357  
  2358  	* magick/constitute.c (WriteImages): Ensure that most severe
  2359  	exception is reported via exception argument.
  2360  
  2361  	* utilities/gm.c: Centered file header because I didn't like it.
  2362  
  2363  	* locale/C.mgk: Removed some defunct messages.
  2364  
  2365  	* magick/blob.c (PingBlob): Report useful error message.
  2366  	(BlobToImage): Report sensible error message for null blob.
  2367  
  2368  	* magick/utility.c (AcquireString): Change UnableToAquireString to
  2369  	UnableToAllocateString.
  2370  
  2371  	* coders/xwd.c (ReadXWDImage): Report CorruptImage rather than
  2372  	CorruptXWDImage.
  2373  
  2374  	* coders/xpm.c (ReadXPMImage): Report CorruptImage rather than
  2375  	CorruptXPMImage.
  2376  
  2377  	* coders/xcf.c (load_level): Report CorruptImage rather than
  2378  	CorruptXCFImage.
  2379  
  2380  	* coders/wbmp.c (ReadWBMPImage): Report CorruptImage rather than
  2381  	CorruptWBMPImage.
  2382  
  2383  	* coders/pcd.c: Report CorruptImage rather than CorruptPCDImage.
  2384  
  2385  	* coders/otb.c (ReadOTBImage): Report CorruptImage rather than
  2386  	CorruptOTBImage.
  2387  
  2388  	* magick/constitute.c (ReadInlineImage): Report CorruptImage
  2389  	rather than CorruptInlineImage.
  2390  
  2391  	* coders/pdb.c (ReadPDBImage): Incorporated undocumented fix from
  2392  	ImageMagick which obtains the image depth from the image depth
  2393  	attribute, and increases the packet memory allocation. Report
  2394  	CorruptImage rather than CorruptPDBImageFile.
  2395  
  2396  2003-05-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2397  
  2398  	* VisualMagick/bin/modules.mgk: Add mapping from SVGZ to SVG.
  2399  
  2400  	* coders/modules.mgk: Add mapping from SVGZ to SVG.
  2401  
  2402  	* coders/svg.c (RegisterSVGImage): Add registration for SVGZ
  2403  	format.
  2404  
  2405  	* PerlMagick/t/zlib/read.t: Added test to check reading a file
  2406  	with .gz extension. The blob portion of the test currently fails.
  2407  
  2408  	* coders/wpg.c (ReadWPGImage): Fix reading WPGs with embedded
  2409  	Postscript. Ensure that scene numbers are sane. Bugs remain.
  2410  
  2411  	* magick/blob.c (OpenBlob): Recognize the .svgz extension as a
  2412  	gzipped format.  Not required in order to read .svgz files since
  2413  	the blob file magic detects gzip files.
  2414  
  2415  	* magick/command.c (MontageImageCommand): Wrong exception
  2416  	macro was being invoked.  Steps have been taken to ensure that
  2417  	this doesn't happen again.
  2418  	(ImportUsage): Fix spelling of `type`.
  2419  
  2420  	* magick/magick.c (DestroyMagick): Decided that initialization
  2421  	state should be tracked via an enum so that DestroyMagick will
  2422  	take effect even if InitializeMagick has never been called.
  2423  
  2424  2003-05-27  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2425  
  2426  	* coders/png.c: png.c would dump core when writing a grayscale
  2427  	image in png24 or png32 format.
  2428  
  2429  2003-05-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2430  
  2431  	* coders/ept.c (WriteEPTImage): Fixed writing EPT preview image and
  2432  	added logging.
  2433  
  2434  	* magick/enhance.c (NegateImage): If image is in CMYK colorspace,
  2435  	then negate the `K` channel as well.
  2436  
  2437  	* PerlMagick/Magick.xs: Fix spelling of `elevation` argument to
  2438  	Shade method.
  2439  
  2440  	* magick/image.h (ImageInfo): Added more documenting comments.
  2441  
  2442  	* magick/image.c (CloneImage): Don't clone huffman ascii85
  2443  	encoding support structure since it is not useful outside of the
  2444  	current image context. Cloning a structure via pointer assignment
  2445  	causes a memory leak.
  2446  
  2447  2003-05-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2448  
  2449  	* magick/shear.c: Incorporate math tweaks obtained from
  2450  	ImageMagick which are purported to improve accuracy when rotating
  2451  	and shearing using small angles. Also avoid unneccessarily
  2452  	transforming CMYK images into RGB images.
  2453  
  2454  	* magick/paint.c (ColorFloodfillImage): Fix hang while
  2455  	floodfilling using a pattern image with color similar to the
  2456  	border color.
  2457  
  2458  	* coders/modules.mgk: Add missing mappings for PNG8,
  2459  	PNG24, and PNG32.
  2460  
  2461  	* VisualMagick/bin/modules.mgk: Add missing mappings for PNG8,
  2462  	PNG24, and PNG32.
  2463  
  2464  2003-05-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2465  
  2466  	* magick/log.c (GetLogBlob): Return an error if log.mgk can not
  2467  	be accessed.
  2468  
  2469  	* locale/C.mgk: Added UnableToAccessLogFile.
  2470  
  2471  	* magick/blob.c (GetConfigureBlob): Only return result of
  2472  	NTResourceToBlob if it is non-NULL.
  2473  
  2474  	* magick/type.c (GetTypeBlob): Search $MAGICK_HOME for
  2475  	type.mgk. Only return result of NTResourceToBlob if it is
  2476  	non-NULL.
  2477  
  2478  	* magick/magick.c (GetMagickInfo): Return an error if GetModuleInfo
  2479  	reports an error.
  2480  
  2481  	* magick/module.c (GetModuleInfo): Return an error if modules.txt
  2482  	fails to load.
  2483  
  2484  	* utility.c (SubstituteString): Fixed a bug which was introduced
  2485  	while updating the code to use the memory allocation macros.
  2486  
  2487  2003-05-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2488  
  2489  	* magick/GraphicsMagick-config.in (usage): Added example
  2490  	usage to the help output.
  2491  
  2492  	* magick/magick.c (InitializeMagick): Added a static flag to
  2493  	ensure that the Magick library is initialized only one time.
  2494  	(DestroyMagick): Ensure that Magick library resources are only
  2495  	destroyed if it has previously been initialized.
  2496  
  2497  	* magick/nt_base.c (DllMain): Fix contributed by Achim Domma. For
  2498  	a DLL build, update PATH during Magick DLL initialization to
  2499  	include the directory where the Magick core DLL resides. This
  2500  	allows the loadable modules to find the core DLLs, even if the
  2501  	core DLLs are not already in the PATH.
  2502  
  2503  	* magick/image.c (TextureImage): Incorporate new implementation
  2504  	authored by John Cristy of ImageMagick Studio.  This
  2505  	implementation is a full 7X (run-time) or 14X (user-time) faster
  2506  	than the original ImageMagick implementation, and is about 2X
  2507  	faster than the speeded-up version I commited on the 19th.
  2508  
  2509  2003-05-20  William Radcliffe  <billr@corbis.com>
  2510  
  2511  	* VisualMagick\configure : Fixed bug with add on (plug-ins) not
  2512  	building automatically in DLL mode.
  2513  
  2514  2003-05-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2515  
  2516  	* magick/image.c (TextureImage): Creation of tiled image textures
  2517  	is speeded up by 3.7X.
  2518  
  2519  	* coders/tile.c (ReadTILEImage): Use TextureImage.
  2520  
  2521  	* VisualMagick/bin/modules.mgk: Map "PATTERN" to "LOGO".
  2522  
  2523  	* coders/modules.mgk: Map "PATTERN" to "LOGO".
  2524  
  2525  	* coders/logo.c (ReadLOGOImage): Add "PATTERN" tiling support in
  2526  	order to be compatible with ImageMagick.
  2527  
  2528  	* magick/image.c (SetImageInfo): Map "MAGICK" magick to "IMAGE" in
  2529  	order to be compatible with ImageMagick.
  2530  
  2531  2003-05-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2532  
  2533  	* www/Copyright.html: Try to fix formatting of XFig entry.
  2534  
  2535  	* www/windows.html: Update file names for 1.0.1 release.
  2536  
  2537  	* index.html: Mention 1.0.1 release as latest release.
  2538  
  2539  	* magick/magick_config_api.h.in: Add define for HasX11
  2540  	so that it is possible to use functions in the installed
  2541  	xwindow.h
  2542  
  2543  	* */*.c: Updated to use MagickAllocateMemory macro.
  2544  
  2545  2003-05-17  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2546  
  2547  	* coders/png.c: stifled compiler warnings about uninitialized
  2548  	chunk and blob variables.
  2549  
  2550  2003-05-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2551  
  2552  	* magick/utility.h (MagickAllocateMemory): New macro to allocate
  2553  	memory.
  2554  	(MagickFreeMemory): New macro to free memory.
  2555  	(MagickReallocMemory): New macro to reallocate memory.
  2556  
  2557  	* */*.c,*/*.h: Updated to use MagickFreeMemory and
  2558  	MagickReallocMemory. Eliminated warnings when compiling with
  2559  	GCC 3.3 using -Wall.
  2560  
  2561  	* images: The logo image was determined to have a copyright
  2562  	problem so replace with blank image until a replacement is
  2563  	available.
  2564  
  2565  2003-05-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2566  
  2567  	* VisualMagick/magick/magick_config.h.in (HAVE_SYS_TYPES_H): 
  2568  	Moved this define back from nt_base.h since removing it was
  2569  	causing some problems for Magick++.
  2570  
  2571  2003-05-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2572  
  2573  	* magick/image.c: (SetMagickInfo): Don't mask failure to
  2574  	read magic.mgk.
  2575  
  2576  	* magick/constitute.c (ReadImage): Don't overwrite specific
  2577  	exception info.
  2578  
  2579  	* magick/nt_base.c (NTResourceToBlob): Add logging similar
  2580  	to that used in IsAccessible() in order to make operation
  2581  	more clear.
  2582  
  2583  	* magick/module.c (FindMagickModule): Removed extraneous
  2584  	"Searching for module file" log event.
  2585  	(GetModuleBlob): Under Windows, don't clear or overwrite
  2586  	an existing exception.
  2587  
  2588  	* magick/nt_base.h: Imported some obscure defines from
  2589  	magick\magick_config.h.
  2590  
  2591  	* VisualMagick/magick/magick_config.h.in: Improved description
  2592  	text and formatting.  Moved some obscure defines to
  2593  	magick/nt_base.h.
  2594  
  2595  	* locale/C.mgk: Added a "RegistryKeyLookupFailed" error message.
  2596  
  2597  	* magick/type.c (GetTypeBlob): Report registry key lookup
  2598  	failures. Also ensure correct return value when an error is
  2599  	reported.
  2600  
  2601  	* magick/log.c (GetLogBlob): Report registry key lookup failures.
  2602  
  2603  	* magick/delegate.c (ReadConfigureFile): Report registry key
  2604  	lookup failures.	
  2605  
  2606  	* magick/blob.c (GetConfigureBlob): Report registry key lookup
  2607  	failures. Also ensure correct return value when an error is
  2608  	reported.	
  2609  
  2610  	* magick/module.c (FindMagickModule): Report registry key lookup
  2611  	failures. Also ensure correct return value when an error is
  2612  	reported.
  2613  
  2614  	* magick/nt_base.c (NTRegistryKeyLookup): Simplify base key lookup
  2615  	code, and improve coding style.	
  2616  
  2617  	* coders/logo.c, Copyright.txt, www/Copyright.html: Acknowledge
  2618  	and respect the XFig copyright.
  2619  
  2620  	* VisualMagick/installer/inc/files-documentation.isx: QuickStart.txt
  2621  	is no longer distributed so it is removed.
  2622  
  2623  2003-05-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2624  
  2625  	* magick/image.h (RoundToQuantum): New macro to round positive
  2626  	double to Quantum.
  2627  
  2628  	* magick/xwindow.c, magick/xwindow.h, magick/studio.h: Use FreeBSD
  2629  	portability fixes from FreeBSD ports collection.
  2630  
  2631  	* configure.ac: Test for <machine/param.h> as used by some *BSD systems.
  2632  
  2633  	* QuickStart.txt, www/QuickStart.html: Don't distribute QuickStart.txt or
  2634  	www/QuickStart.html since the content doesn't currently apply to
  2635  	GraphicsMagick.
  2636  
  2637  2003-05-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2638  
  2639  	* README.txt: Added text regarding where to obtain dcraw, a simple
  2640  	but useful decoder for the proprietary raw file formats produced
  2641  	by digital cameras (58 supported cameras!).
  2642  
  2643  	* configure.ac: Added support for finding dcraw.
  2644  
  2645  	* VisualMagick/bin/delegates.mgk: Added support for dcraw.
  2646  
  2647  	* coders/delegates.mgk.in: Added support for dcraw.
  2648  
  2649  	* version.sh (PACKAGE_RELEASE_DATE): Extract the most recent
  2650  	update date from the ChangeLog file using awk.
  2651  
  2652  2003-05-12  William Radcliffe  <billr@corbis.com>
  2653  
  2654  	* modules.mgk, magic.mgk : Sync up both of these for UNIX
  2655  	as well as VisualMagick builds. Includes changes for the
  2656  	meta.c code.
  2657  
  2658  2003-05-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2659  
  2660  	* www/formats.html: Documented embedded gray intensity images.
  2661  
  2662  	* coders/logo.c: Added the embedded dithered gray intensity images
  2663  	gray0, gray5, ..., through gray100 to support bilevel filling and
  2664  	painting with an intensity resolution of 5%.
  2665  
  2666  	* www/formats.html: Added description of images available via
  2667  	"IMAGE:" format tag, as well as providing a tiled preview.
  2668  
  2669  	* coders/logo.c: Renamed "transparent" image to "checkerboard"
  2670  	since it is a better description.  Added a set of tiny bilevel
  2671  	images (accessed via IMAGE:) for use when tiling, filling, or for
  2672  	use as a texture image.  The complete set of image names available
  2673  	via the IMAGE: coder are now BRICKS, CIRCLES, CROSSHATCH,
  2674  	CROSSHATCH30, CROSSHATCH45, FISHSCALES, GRANITE, HEXAGONS,
  2675  	HORIZONTAL, HORIZONTALSAW, HS_BDIAGONAL, HS_CROSS, HS_DIAGCROSS,
  2676  	HS_FDIAGONAL, HS_HORIZONTAL, HS_VERTICAL, LEFT30, LEFT45,
  2677  	LEFTSHINGLE, LOGO, NETSCAPE, OCTAGONS, RIGHT30, RIGHT45,
  2678  	RIGHTSHINGLE, ROSE, SMALLFISHSCALES, CHECKERBOARD, VERTICAL,
  2679  	VERTICALBRICKS, VERTICALLEFTSHINGLE, VERTICALRIGHTSHINGLE, &
  2680  	VERTICALSAW.  The HS_* variants are similar to the standard
  2681  	pattern images provided with the Windows GDI.
  2682  
  2683  	* coders/msl.c (MSLStartElement): Don't reset gravity if the user
  2684  	provides an x,y coordinate. Passing coodinates was loosing the
  2685  	gravity setting.
  2686  
  2687  2003-05-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2688  
  2689  	* coders/modules.mgk: Support the IMAGE: format via the LOGO
  2690  	module.
  2691  	* win2k/IMDisplay/IMDisplayView.cpp (DoDisplayImage):
  2692  	Transparent tile is created by reading "tile:image:transparent".
  2693  	* coders/logo.c (ReadLOGOImage): Add IMAGE: format to front for
  2694  	embedded images so that adding new images doesn't proliferate coder
  2695  	registrations. Legacy logo magick names (GRANITE, LOGO, NETSCAPE,
  2696  	and ROSE) are still supported, but they are also available in the
  2697  	IMAGE file space (e.g. IMAGE:ROSE).
  2698  
  2699  2003-05-09  William Radcliffe  <billr@corbis.com>
  2700  
  2701  	* VisualMagick\configure : Further refinements that support both
  2702  	the new "big" library and the normal dynamic DLL buidling styles.
  2703  
  2704  2003-05-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2705  
  2706  	* coders/logo.c (ReadLOGOImage): Added a "TRANSPARENT" pattern
  2707  	image which can be tiled to form the background of transparent
  2708  	images.
  2709  
  2710  	* win32/IMDisplay/IMDisplayView.cpp: When displaying images which
  2711  	include an opacity channel, use a checker-board pattern as the
  2712  	image background so non-opaque pixels become evident.
  2713  
  2714  2003-05-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2715  
  2716  	* coders/meta.c : Add or fix commenting of DebugString so that
  2717  	module does not require Windows.
  2718  
  2719  	* lcms: Updated to release 1.10.
  2720  
  2721  2003-05-07  William Radcliffe  <billr@corbis.com>
  2722  
  2723  	* VisualMagick\bin : Brought the MGK files back into sync with
  2724  	the rest of the package and added types for meta.c.
  2725  
  2726  	* VisualMagick\bin\win32\ATL : removed config files in order to
  2727  	prevent very old ATL project from being picked up in the config
  2728  
  2729  2003-05-06  William Radcliffe  <billr@corbis.com>
  2730  
  2731  	* VisualMagick\lcms\LIBRARY.txt : a define to prevent popup message
  2732  	box behaviour.
  2733  
  2734  	* VisualMagick\configure\ : New feature - -t consolidates all the
  2735  	coders into on library for the static build in order to make the
  2736  	build process tolerable.
  2737  
  2738  	* coders\xtrn.c : new support for BSTR - wdie character data
  2739  
  2740  	* coders\svg.c : put back logic that allows the -size parameter to
  2741  	control the pixel dimensions of the output image.
  2742  
  2743  	* coders\meta.c : added support for wide character parsing of iptc
  2744  	and 8BIM formats.
  2745  
  2746  2003-05-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2747  
  2748  	* version.sh : Update to reflect development status.
  2749  
  2750  2003-05-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2751  
  2752  	* GraphicsMagick 1.0 Released.
  2753  
  2754  	* version.sh (LIBRARY_REVISION): Updated for the 1.0 release.
  2755  
  2756  	* magick/studio.h: Add fix to avoid problems caused by zlib
  2757  	under AIX.
  2758  
  2759  	* magick/cache.h: Parameterized prototypes to make them easier
  2760  	to follow.
  2761  
  2762  	* filters/analyze.c: Replace C++ comments with C comments.
  2763  
  2764  	* magick/command.c: For the composite, convert, identify, mogrify,
  2765  	and montage commands, make sure a usage error is returned if a
  2766  	usage message is printed. This is useful for ImageMagickObject
  2767  	users who won't see the usage message if stdio is not supported.
  2768  
  2769  	* locale/C.mgk: Added "UsageError" error.  Added missing closure
  2770  	to <Corrupt> tag which caused most/many message lookups to fail.
  2771  
  2772  	* magick/nt_base.h: Fixed a compile problem caused by masking
  2773  	internals in delegate.h
  2774  
  2775  	* magick/ImageMagick.rc: Added missing .mgk files.
  2776  
  2777  2003-05-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2778  
  2779  	* magick/nt_base.c (lt_dlerror): Defining lt_dlerror to be
  2780  	NTGetLastError was not a correct implementation since the
  2781  	interface is defined to return a const pointer to a string, but
  2782  	NTGetLastError returns an allocated string, causing a memory leak
  2783  	if NTGetLastError is used in the place of lt_dlerror.  A new
  2784  	lt_dlerror function is added to fix this.
  2785  	(lt_dlsetsearchpath): lt_dlsetsearchpath should return an int
  2786  	and accept a const char *.
  2787  	(lt_dlsym): lt_dlsym is supposed to take a const char *.
  2788  
  2789  	* magick/nt_base.h: lt_dlclose should return an `int`.
  2790  
  2791  	* magick/nt_base.c (lt_dlclose): Return status from lt_dlclose.
  2792  
  2793  	* magick/module.c (lt_dlclose): lt_dlclose is supposed to return
  2794  	an `int`, not `void`. A return value of zero indicates success.
  2795  
  2796  	* VisualMagick/tests/run_constitute.bat: Add batch script to
  2797  	run constitute tests.
  2798  
  2799  	* magick/module.c: Added a ltdl_initialized static flag to track
  2800  	if libltdl has been initialized by lt_dlinit().
  2801  	(TagToFunctionName): Use a stack buffer for the string rather than
  2802  	allocating heap data.
  2803  	(UnregisterModule): Report errors via exception info as the
  2804  	interface suggests.
  2805  	(UnloadModule): Report errors via exception info as the interface
  2806  	suggests.
  2807  	(DestroyModuleInfo): Only invoke lt_dlexit() if lt_dlinit() has
  2808  	previously been invoked.
  2809  
  2810  	* locale/C.mgk: Added FailedToCloseModule module error.
  2811  
  2812  	* magick/module.c (UnloadModule): Report exception via exception
  2813  	parameter rather than simply printing out an error message and
  2814  	exiting.
  2815  
  2816  	* magick/Makefile.am (noinst_HEADERS): integral_types.h had to be
  2817  	listed *somewhere* in order to make it into the distribution.
  2818  
  2819  	* Magick++/lib/Magick++/Image.h: InitializeMagick must be DLL
  2820  	exported.
  2821  
  2822  2003-05-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2823  
  2824  	* Makefile.am (magick-version): Perform version.isx substitutions
  2825  	via Makefile.am rather than configure.
  2826  
  2827  	* magick/magick_config_api.h.in: Added template header for
  2828  	the installed magick_config.h.
  2829  
  2830  	* magick/magick.c (InitializeMagick): Improved the signal handling
  2831  	and registration method. Signal handlers are only registered for a
  2832  	signal if the current signal handling disposition for that signal
  2833  	is set to the default (SIG_DFL). When a signal is caught,
  2834  	DestroyMagick is invoked, the handling for the signal is set back
  2835  	to SIG_DFL, and then the signal is re-raised to trigger the
  2836  	default handler for that signal. This causes the process to behave
  2837  	as closely to the default as possible (e.g. generating a core
  2838  	file) while ensuring that DestroyMagick is executed. This also
  2839  	ensures that signal handlers registered by API users are not
  2840  	overridden by invoking InitializeMagick.
  2841  
  2842  	* configure.ac: Added tests for sigemptyset and
  2843  	sigaction.
  2844  	Add a check for the return type of signal handlers.
  2845  	Test for the `raise` function.
  2846  
  2847  	* www/formats.html: Add an entry for CUR, Microsoft
  2848  	Cursor Icon format.
  2849  
  2850  2003-05-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2851  
  2852  	* magick/semaphore.c (struct SemaphoreInfo): Added
  2853  	`locked` and `thread_id` members. These are used to record
  2854  	if the semaphore is locked, and to validate the thread
  2855  	ID of the unlocker.
  2856  
  2857  	* www/links.html: Added link to Nathan Day's MagickDocs
  2858  	"ImageMagick and GraphicsMagick documentation project"
  2859  	site.
  2860  	Added a link to an on-line article regarding the PHP front-end
  2861  	to ImageMagick.
  2862  
  2863  	* coders/icon.c (ReadIconImage): Add support for Windows
  2864  	.CUR format based on advice from Jean Piquemal.
  2865  
  2866  	* magick/image.c (SetImageInfo): Added missing CloseBlob
  2867  	in error path for failure to allocate temporary file.
  2868  
  2869  	* coders/pcx.c (ReadPCXImage): Added support for reading
  2870  	uncompressed PCX images based on code from Jean Piquemal.
  2871  
  2872  2003-05-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2873  
  2874  	* magick/effect.c (AddNoiseImage): For gray images, wrong
  2875  	pointer was being used to evaluate intensity, leading to a
  2876  	black image with noise.
  2877  	* magick/image.c (ChannelImage): Return the channel
  2878  	image in RGBColorspace. Also properly support extracting
  2879  	the opacity channel for images which are not CMYK.
  2880  
  2881  2003-04-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2882  
  2883  	* magick/Makefile.am (install-data-local): Install
  2884  	magick_config_api.h rather than magick_config.h.
  2885  
  2886  	* magick/api.h: Removed inclusion of integral_types.h from
  2887  	magick/api.h.  It is included by magick/studio.h.
  2888  
  2889  	* magick/delegate.h: Mapped out a block of private implementation
  2890  	code.
  2891  
  2892  	* configure.ac: Perform substitutions on magick_config_api.h.
  2893  
  2894  	* magick/magick_config_api.h.in: New header file template to
  2895  	use for installed magick_config.h.
  2896  
  2897  	* magick/studio.h (MAGICK_IMPLEMENTATION): Added the define
  2898  	MAGICK_IMPLEMENTATION used to enable private types, includes, and
  2899  	defines in the headers. This supports hiding implementation stuff
  2900  	that API users shouldn't see in the headers.
  2901  
  2902  	* utilities/Makefile.am (check): Cleaned up the utilities
  2903  	test/demo a bit as well as using the undocumented "tmp:" prefix to
  2904  	cause GraphicsMagick to remove temporary input files once they
  2905  	have been read.  This leaves just the final output file
  2906  	"demo.miff" when the test completes.
  2907  
  2908  	* coders/jpeg.c (WriteJPEGImage): If the image resolution is
  2909  	overwritten with 72DPI, make sure that the resolution units are
  2910  	set to PixelsPerInchResolution.	
  2911  
  2912  	* coders/jpeg.c (WriteJPEGImage): Don't overwrite the image
  2913  	resolution if it is valid.
  2914  
  2915  	* magick/command.c (MogrifyImageCommand): Added -resample
  2916  	option to match documentation.
  2917  
  2918  	* VisualMagick/configure: Added rpcrt4.lib to project settings
  2919  	for Visual C++ 6.0 so that configure links.  The code which
  2920  	needs these interfaces is to support Visual C++ 7.0 XML-style
  2921  	project files.
  2922  
  2923  2003-04-30  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2924  
  2925  	* utilities/Makefile.am (check) Change % to %% in -label parameter.
  2926  
  2927  	* www/gm.html, utilities/gm.1, etc. Documented use of %% to convey
  2928  	the % sign in -format, -comment, -label strings.
  2929  
  2930  2003-04-30  William Radcliffe <billr@corbis.com>
  2931  
  2932  	* magick/command.c: Changes from 2003-04-19 to free the arg
  2933  	list when it was still pointed to by the option arg and accessed
  2934  	on an exception. This caused gm to crash on any erroneous command
  2935  	line argument.
  2936  
  2937  2003-04-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2938  
  2939  	* www/windows.html: Updated to match current installer.
  2940  
  2941  	* VisualMagick/installer/inc/tasks-install-devel.isx (Name): 
  2942  	Added an installation checkbox so the user can select to install
  2943  	development headers and libraries for C & C++.
  2944  
  2945  	* VisualMagick/installer/inc/files-perlmagick.isx (Source):
  2946  	Only install PerlMagick PPD files if the user selects to install
  2947  	PerlMagick.	
  2948  
  2949  	* VisualMagick/installer/inc/files-com.isx (Source): Only
  2950  	install ImageMagickObject files if the user selects to install
  2951  	ImageMagickObject.
  2952  
  2953  	* magick/version.h.in: Added some documentation for the
  2954  	functioning of MagickLibVersion and MagickLibVersionNumber.
  2955  
  2956  	* configure.ac: Perform substutions to create
  2957  	VisualMagick/installer/inc/version.isx from
  2958  	VisualMagick/installer/inc/version.isx.in. This allows Windows
  2959  	versioning info to be updated from info in version.sh.
  2960  
  2961  	* Makefile.am (magick-version): For a VPATH build, update
  2962  	VisualMagick/installer/inc/version.isx in the source directory if
  2963  	it is out of date.
  2964  
  2965  2003-04-28  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  2966  
  2967  	* magick/cache.c: CloneImagePixels(): applied Cristy's bugfix
  2968  	from IM-5.5.7.
  2969  
  2970  2003-04-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  2971  
  2972  	* www/api.html: The demo program on the ImageMagick API page is
  2973  	usually intended to be an exercise for the reader.  It rarely
  2974  	compiles or works.  Sure enough the demo code was not even close
  2975  	to compiling, didn't run, and did something totally different than
  2976  	described. This is not a good way to treat new users.  Now the
  2977  	demo program compiles and runs, and its description is correct.
  2978  
  2979  	* www/magick.css, www/smile.c: Remove "Pair" advertisement which
  2980  	was discovered appended at the end of these files.
  2981  
  2982  	* coders/jpeg.c (ReadJPEGImage): Check for failure of
  2983  	AllocateImage.  Close blob prior to error return.
  2984  
  2985  	* configure.ac: Perform substitutions on magick/version.h
  2986  
  2987  	* magick/version.h.in: New file to provide base for configured
  2988  	magick/version.h
  2989  
  2990  	* version.sh (PACKAGE_RELEASE_DATE): Support setting a package
  2991  	release date.
  2992  
  2993  	* configure.ac: Perform substitutions on PerlMagick/Magick.pm.in to
  2994  	create PerlMagick/Magick.pm.in.
  2995  
  2996  	* PerlMagick/Magick.pm.in: @PACKAGE_VERSION@ is substituted while
  2997  	configuring PerlMagick/Magick.pm.
  2998  
  2999  	* magick/magic.mgk, VisualMagick/bin/magic.mgk: Removed risky
  3000  	entry for PICT which has been demonstrated to lead to a false
  3001  	match in the real-world.
  3002  
  3003  	* coders/pict.c (ReadPICTImage): Ensure that PICT decoder don't
  3004  	loop forever with an EOF condition if none of the PICT op-codes
  3005  	encountered result in a condition which terminates the input loop.
  3006  	If EOF is dectected while in the input loop a "corrupt image"
  3007  	"unexpected end of file" error is reported.
  3008  
  3009  	* VisualMagick/installer: Updated installer.
  3010  
  3011  2003-04-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3012  
  3013  	* magick/magick.c, magick/blob.c, magick/studio.h: Added
  3014  	Compilation fixes recommended by Harold Bien for for Borland C++.
  3015  
  3016  	* www/contribute.html: Added text regarding contributing to
  3017  	GraphicsMagick.
  3018  
  3019  	* www/api/types.html: Documentation for GraphicsMagick API types
  3020  	moved from www/api/types/*.html into this one file.  Types
  3021  	documentation is still very much under development.
  3022  
  3023  	* README.txt: Added note regarding the download location for free
  3024  	Windows fonts which are kindly made available by Microsoft.
  3025  
  3026  	* VisualMagick/installer/gm-dynamic-full-*.iss: Install
  3027  	nt_base.h and nt_feature.h.
  3028  
  3029  2003-04-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3030  
  3031  	* www/windows.html: Updated for GraphicsMagick 1.0 and to
  3032  	link to ImageMagickObject.html.
  3033  
  3034  	* www/programming.html: Added link to ImageMagickObject.html.
  3035  
  3036  	* www/ImageMagickObject.html: New file to provide some
  3037  	documentation for ImageMagickObject.
  3038  
  3039  	* www: Found and fixed broken URL links.
  3040  
  3041  2003-04-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3042  
  3043  	* FlashPIX: Applied patches from FreeBSD.  Bumped package
  3044  	version to version to 1.2.0.8.
  3045  
  3046  	* www/api.html: Updated to reflect GraphicsMagick
  3047  
  3048  	* www/*.html: Updated with format_c_api_docs script.
  3049  
  3050  	* Makefile.am (format_c_api_docs): Add a target to update
  3051  	the C API documentation.
  3052  
  3053  	* scripts/format_c_api_docs: Add script which extracts and
  3054  	formats the C API documentation into HTML files in the www/api
  3055  	subdirectory.
  3056  
  3057  2003-04-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3058  
  3059  	* version.sh (PACKAGE_VERSION): Update release version ID.
  3060  
  3061  	* magick/version.h (MagickReleaseDate): Update release date.
  3062  
  3063  	* magick/constitute.c (ConstituteImage): Fixed problems with
  3064  	reading intensity (gray) pixel arrays.
  3065  
  3066  	* magick/image.c (GrayscalePseudoClassImage): Use
  3067  	ScaleQuantumToIndex rather than ScaleQuantumToMap.
  3068  
  3069  	* magick/constitute.c (ConstituteImage): Use ScaleQuantumToIndex
  3070  	macro to scale integral intensity values to colormap range.
  3071  
  3072  	* magick/image.h (ScaleQuantumToIndex): New macro to scale a
  3073  	quantum to the maximum range of a colormap index.  Useful when
  3074  	writing to PsuedoClass grayscale images.
  3075  
  3076  	* VisualMagick/tests/run_constitute.bat: Batch script to run
  3077  	constitute tests.
  3078  
  3079  	* VisualMagick/installer/*.iss: Updated for Beta1 release.
  3080  
  3081  2003-04-22  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3082  
  3083  	* utilities/Makefile.am (check) fixed typos (RM -> RMDelegate
  3084  	and removed stray "gm"), added -random-threshold, ordered-dither.
  3085  
  3086  	* magick/effect.c: Random-threshold was not treating non-gray
  3087  	PseudoColor images correctly.
  3088  
  3089  2003-04-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3090  
  3091  	* utilities/Makefile.am (check): Added code to put logo on demo
  3092  	output.
  3093  
  3094  	* magick/command.c (MontageImageCommand): Pass exception rather
  3095  	than &image->exception because image may be null, and it is
  3096  	pointless to store the exception where it will not be reported to
  3097  	the user anyway.
  3098  
  3099  	* utilities/Makefile.am (check): Ported Glenn Randers-Pehrson's
  3100  	utilities demo script into the Makefile to serve as a check
  3101  	target.
  3102  	(check): Add definition to find Generic.ttf.
  3103  
  3104  	* locale/C.mgk: Fixed syntax error in <Option><FatalError>
  3105  	section.
  3106  
  3107  	* www/development.html: New file to describe development
  3108  	process.
  3109  
  3110  	* index.html, www/*.html: Added link to development.html
  3111  	and improved formatting a bit.
  3112  
  3113  2003-04-21  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3114  
  3115  	* Fixed bug with compiling png.c with libpng versions
  3116  	older than libpng-0.95.
  3117  
  3118  2003-04-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3119  
  3120  	* www/programming.html: Added links to Delphi and Scheme
  3121  	programming interfaces.
  3122  
  3123  	* configure.ac : Removed outdated test for jp2conf.h.
  3124  
  3125  2003-04-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3126  
  3127  	* magick/command.c: Add argument expansion and deallocation code
  3128  	to command functions which lacked this functionality.
  3129  	Replace calls to Exit with a return to the invoking function.
  3130  
  3131  	* utilities/gm.c: Expect each subcommand to expand and deallocate
  3132  	its own argument list.  Treat subcommands more similarly.
  3133  
  3134  	* magick/magick.c (InitializeMagick): Seed the random number
  3135  	generator.
  3136  
  3137  	* magick/utility.c (ExpandFilenames): Handle tilde expansion
  3138  	properly. Handle relative glob specifications. Skip over "*"
  3139  	argument to +profile properly. Don't expand VID: specifications
  3140  	since the VID: coder will execute ExpandFilenames() later. Apply
  3141  	format specifier prefix to globbed file names. Fix double frees
  3142  	and rationalize memory management by always copying to a new
  3143  	vector.
  3144  
  3145  2003-04-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3146  
  3147  	* magick/magick.c (InitializeMagick): Decided to
  3148  	move clean-up signal-handler registration from gm.c
  3149  	to magick.c in order to ensure that resources are
  3150  	cleaned up for all library users. This means that
  3151  	if a user program wants to do something special for
  3152  	signals registered to be caught by InitializeMagick
  3153  	(SIGHUP, SIGINT, SIGQUIT, SIGABRT, SIGTERM, SIGXCPU,
  3154  	& SIGXFSZ) then the user program should register its
  3155  	own signal handlers after invoking InitializeMagick.
  3156  	The user is then responsible for making sure that
  3157  	DestroyMagick is invoked if an unexpected signal is
  3158  	caught.
  3159  
  3160  	* tests/Makefile.am (check-constitute): Added
  3161  	constitute tests.
  3162  
  3163  	* magick/constitute.c: New test program to ensure
  3164  	that ConstituteImage and DispatchImage are working
  3165  	correctly.
  3166  
  3167  2003-04-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3168  
  3169  	* www/download.html: Added links to directories
  3170  	at ftp.graphicsmagick.org.
  3171  
  3172  	* index.html: Add notice regarding 1.0 Beta0
  3173  	availability.
  3174  
  3175  	* www/cvs.html: Updated CVS checkout information to
  3176  	include the GraphicsMagick-1_0 branch.
  3177  
  3178  	* coders/psd.c (ReadPSDImage): Applied patch
  3179  	(SourceForge patch ID 722849) from Derry Bryson to
  3180  	fix a memory leak. An image was being leaked.
  3181  
  3182  	* magick/constitute.c (DispatchImage): Applied patch
  3183  	(SourceForge patch ID 722655) from Derry Bryson to
  3184  	correctly use the switch_map array rather than the
  3185  	map array.  Without this patch, DispatchImage does
  3186  	not work at all.
  3187  
  3188  	* GraphicsMagick 1.0.0-beta0 release.
  3189  
  3190  	* version.sh: Updated for beta0 release.
  3191  
  3192  	* *.c magick/*.h: Update header inclusion to include
  3193  	"magick/" prefix in order to ensure that there is no
  3194  	confusion with headers from another package.
  3195  
  3196  2003-04-16  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3197  
  3198  	* magick/effect.c: 4x4 ordered dither threshold was
  3199  	incorrect.
  3200  
  3201  2003-04-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3202  
  3203  	* magick/resource.c (InitializeMagickResources):
  3204  	Added the ability to obtain the amount of physical
  3205  	memory by executing an external command.
  3206  
  3207  	* configure.ac: Check for getpagesize().
  3208  	(MAGICK_PHYSICAL_MEMORY_COMMAND): Added a test for
  3209  	an external command which (quickly) returns the
  3210  	amount of physical memory installed on the machine.
  3211  	Currently only activated for FreeBSD.
  3212  	(MAGICK_PHYSICAL_MEMORY_COMMAND): Use sysctl to
  3213  	determine total physical memory for Darwin.
  3214  
  3215  	* magick/delegate.c (ListDelegateInfo): If COLUMNS
  3216  	environment variable is set, then use it to obtain
  3217  	the screen width.  Some shells dynamically update
  3218  	COLUMNS, but COLUMNS may need to be explicitly
  3219  	exported in order for it to be seen by subordinate
  3220  	programs (such as gm).
  3221  
  3222  	* magick/effect.c (AddNoiseImage): Use IsGrayImage()
  3223  	to check if the image is gray.  Add missing columns
  3224  	loop for intensity case (oops!).
  3225  
  3226  	* magick/command.c (DisplayImageCommand): Fix
  3227  	-dispose option processing bug reported by 
  3228  	Felix Heimbrecht.
  3229  
  3230  	* coders/fpx.c: Check status from FPX_InitSystem().
  3231  
  3232  2003-04-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3233  
  3234  	* configure.ac: Define PERLMAINCC to be the C compiler
  3235  	if there are no C++ dependencies, or the C++ compiler
  3236  	if there are C++ dependencies.
  3237  
  3238  	* PerlMagick/Makefile.PL.in: Use PERLMAINCC to compile
  3239  	and link perlmain.c.  This allows using the C++ compiler
  3240  	to link, which is useful when the build depends on C++
  3241  	libraries like libfpx.
  3242  
  3243  	* ltmain.sh: Updated to libtool 1.5 release.
  3244  
  3245  	* Makefile.am ($(PERLMAGICK)/$(PERLSTATICNAME)): Add
  3246  	rules to make sure that static PerlMagick is linked
  3247  	against the current GraphicsMagick library.
  3248  
  3249  	* coders/miff.c (ReadMIFFImage): Properly scale
  3250  	colormap entries.
  3251  
  3252  	* magick/image.c (TransformRGBImage): Eliminate 32-bit
  3253  	integer overflow condition for Q:32 build while
  3254  	transforming CMYK pixels.
  3255  
  3256  2003-04-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3257  
  3258  	* PerlMagick/t/ttf/read.t: Updated signatures and
  3259  	reference image for FreeType 2.1.4.
  3260  
  3261  	* (PerlMagick/t/write.t, PerlMagick/t/montage.t,
  3262  	PerlMagick/t/rad/read.t, PerlMagick/t/rad/write.t):
  3263  	Fix signatures which were thrown off by previous
  3264  	change to how signatures are specified to functions
  3265  	in subroutines.pl.
  3266  
  3267  	* PerlMagick/t/cgm/read.t: Updated to use reference
  3268  	image.
  3269  
  3270  	* PerlMagick/Makefile.PL.in: Perform substitutions
  3271  	on generated Makefile to ensure that the proper
  3272  	-lGraphicsMagick is used for a static build.
  3273  
  3274  	* ttf: Updated to FreeType 2.1.4.  Now stored in
  3275  	CVS as delegates/freetype2 rather than delegates/ttf
  3276  	so be sure to re-checkout the ttf directory so that
  3277  	the correct files are used.
  3278  
  3279  	* wmf/incude/libwmf/api.h: Updating FreeType caused
  3280  	a problem since it introduced a copy of zlib and
  3281  	api.h included zlib.h.  Fixed problem by adding
  3282  	a typedef for gzFile and not including zlib.h.
  3283  
  3284  	* utilities/gm.c: Fixed minor compilation problem
  3285  	under Windows caused by a typo in the signal
  3286  	handler registration code.
  3287  
  3288  2003-04-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3289  
  3290  	* Makefile.am: When building a static PerlMagick,
  3291  	build PerlMagick as part of the `all` target and
  3292  	don't do a `make clean` of PerlMagick at install
  3293  	time.
  3294  
  3295  	* configure.ac (LIB_DPS): Add check to see if -lXt
  3296  	is required by -ldps.  XFree86 -ldps requires -lXt.
  3297  
  3298  	* FlashPIX: FlashPIX library now compiles under
  3299  	FreeBSD 5.0.
  3300  
  3301  	* magick/deprecate.c (ValidateColormapIndex): Remove
  3302  	non-interface deprecated function.
  3303  
  3304  	* magick/tempfile.c (AcquireTemporaryFileDescriptor):
  3305  	Priortize use of mkstemp() over tempname() since *BSD
  3306  	compilers whine about tempname() (although we do use
  3307  	tempname() safely).
  3308  
  3309  	* magick/color.c (ConstrainColormapIndex): Removed
  3310  	function since it is no longer used.
  3311  
  3312  	* magick/utility.c (TemporaryFilename): Removed
  3313  	TemporaryFilename utility function since it is
  3314  	no longer used and it makes *BSD compilers
  3315  	complain.
  3316  
  3317  	* magick/studio.h: Don't define _ISOC99_SOURCE,
  3318  	_POSIX_C_SOURCE, or _XOPEN_SOURCE when compiling
  3319  	under FreeBSD since this maps out a `ushort`
  3320  	definition required by /usr/include/sys/ipc.h.
  3321  
  3322  2003-04-11  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3323  
  3324  	* coders/png.c: Some grayscale PNG images and the
  3325  	JNG alpha channel were decoded improperly at Q:32.
  3326  
  3327  	* magick/constitute.c (PopImagePixels): Changed many
  3328  	instances of (Quantum) typecast to (unsigned char).
  3329  
  3330  2003-04-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3331  
  3332  	* PerlMagick/t/tiff/read.t: Added signature for 12-bit
  3333  	TIFF test and a Q:32 build.
  3334  
  3335  	* PerlMagick/t/subroutines.pl: Extended routines
  3336  	which are signature based to accept signatures for
  3337  	Q:32 as well.
  3338  
  3339  	* PerlMagick/t/wmf/read.t: Relax error values slightly
  3340  	to pass at Q:32.
  3341  
  3342  	* coders/miff.c (PushImageRLEPixels): Fix reading
  3343  	RLE MIFF at Q:32.  A fragment of old code was being
  3344  	used to obtain the length.
  3345  	(WriteRunlengthPacket): Fix writing RLE MIFF at Q:32.
  3346  	In most cases the wrong scaling macro was being used.
  3347  
  3348  	* tests/Makefile.am (check-miff): Added MIFF tests
  3349  	for supported compression options.
  3350  
  3351  2003-04-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3352  
  3353  	* magick/color.c (QueryColorDatabase): Extended to
  3354  	support parsing Q:32 hex color specification strings.
  3355  	Also add error reporting for failure to parse the
  3356  	color specification. This resolves a bug that drawing
  3357  	via the draw.c APIs was not working for Q:32 builds.
  3358  
  3359  	* utilities/gm.c (main): Add signal handlers to
  3360  	make sure that program cleans-up on exit by invoking
  3361  	DestroyMagick.
  3362  
  3363  	* magick/draw.c (DrawSetFillColor): Quote color
  3364  	specification.
  3365  	(DrawSetStrokeColor): Quote color specification.
  3366  	(DrawSetTextUnderColor): Quote color specification.
  3367  
  3368  	* ltmain.sh: Update to latest CVS libtool.
  3369  
  3370  2003-04-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3371  
  3372  	* magick/enhance.c (NormalizeImage): Only normalize the opacity
  3373  	channel if image->matte is true. This results in some (15%)
  3374  	speedup. While it can be argued that the `K` in CMYK should be
  3375  	normalized, it can also be argued that this is senseless since `K`
  3376  	is not a "linear" measure like C, M, & Y are, and there may not be
  3377  	any any value to normalizing CMY at all.
  3378  	(EqualizeImage): Only equalize the opacity channel if image->matte
  3379  	is true.  This results in a 23% speedup.
  3380  	(GammaImage): Minor loop optimization.
  3381  	(LevelImage): Don't level the opacity channel.  Doing so doesn't
  3382  	make any sense.
  3383  	(LevelImageChannel): Put loops inside switch statement rather than
  3384  	around it.
  3385  
  3386  	* PerlMagick/t/tiff/read.t: Added grayscale 12-bit and 16-bit TIFF
  3387  	read tests.
  3388  
  3389  2003-04-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3390  
  3391  	* coders/tiff.c (ReadTIFFImage): Add support for reading
  3392  	12-bit grayscale TIFFs. Fix reading 16-bit grayscale TIFFs
  3393  	when QuantumDepth=8.
  3394  
  3395  	* VisualMagick/installer/gm-dynamic-full-8.iss,
  3396  	VisualMagick/installer/gm-dynamic-full-16.iss: Many C header
  3397  	files were not being included in the distribution.  Oops!
  3398  
  3399  2003-04-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3400  
  3401  	* (index.html, www/*.html): Update to new web page style.
  3402  
  3403  	* scripts/txt2html: Update to output new web page style.
  3404  
  3405  	* ltmain.sh: Updated to latest CVS libtool.
  3406  
  3407  	* magick/tempfile.c (DestroyTemporaryFiles): Function was
  3408  	crashing if it was executed twice.
  3409  
  3410  2003-04-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3411  
  3412  	* coders/delegates.mgk.in: Ralcgm was appending ".ps" to the
  3413  	provided output file name, so change cgm delegate command so that
  3414  	the input file is delivered via standard input, output is
  3415  	re-directed to a file, and anything printed to stderr (such as
  3416  	the Ralcgm program name and version) is sent to /dev/null.
  3417  
  3418  	* INSTALL-unix.txt: Added/corrected/improved documentation
  3419  	regarding --disable-installed, --enable-shared, and
  3420  	--with-modules.
  3421  
  3422  	* VisualMagick/magick/magick_config.h.in: Add more documentation
  3423  	and explanatory notes in order to lessen confusion.
  3424  
  3425  	* Many files: Replaced "UseInstalledImageMagick" with
  3426  	"UseInstalledMagick" for obvious reasons.
  3427  
  3428  2003-04-04  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3429  
  3430  	* magick/command.c, utilities/gm.c: Print "help" screen for a
  3431  	tool when user types "gm tool" or "gm tool -help"
  3432  
  3433  	* magick/command.c, magick/effect.c: add -ordered-dither option.
  3434  
  3435  2003-04-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3436  
  3437  	* locale/C.mgk: Fixed message associated with
  3438  	"UnableToCreateTemporaryFile".
  3439  
  3440  	* magick/tempfile.c (AcquireTemporaryFileDescriptor): Decided
  3441  	to return a pathname (if possible), even on failure, for use
  3442  	in error reports.  The function return status should be used
  3443  	to determine if the function has succeeded.
  3444  
  3445  	* locale/locale.mgk: Updated copyright header.
  3446  
  3447  	* (magick/annotate.c, magick/attribute.c, magick/blob.c,
  3448  	magick/cache.c, magick/constitute.c, magick/delegate.c,
  3449  	magick/display.c, magick/image.c, magick/locale.c
  3450  	magick/tempfile.c, magick/tempfile.h, magick/utility.c,
  3451  	magick/xwindow.c, coders/dcm.c, coders/ept.c,
  3452  	coders/histogram.c, coders/mpeg.c, coders/pdf.c,
  3453  	coders/pict.c, coders/preview.c, coders/ps2.c,
  3454  	coders/ps3.c, coders/ps.c, coders/pwp.c, coders/sfw.c,
  3455  	coders/svg.c, coders/tiff.c, coders/url.c, coders/wpg.c):
  3456  	Ensure that failure to allocate/create temporary file is
  3457  	properly detected and reported.
  3458  
  3459  2003-04-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3460  
  3461  	* magick/type.c (GetTypeBlob): Prioritize hard-coded path
  3462  	over Windows registry values.
  3463  
  3464  	* magick/log.c (GetLogBlob): Prioritize hard-coded path
  3465  	over Windows registry values.
  3466  
  3467  	* magick/blob.c (GetConfigureBlob): Prioritize hard-coded path
  3468  	over Windows registry values.
  3469  
  3470  	* magick/delegate.c (ReadConfigureFile): Perform substitutions
  3471  	for "@GMDelegate@", "@GMDisplayDelegate@", "@MPEGDecodeDelegate@",
  3472  	"@MPEGEncodeDelegate@", and "@HPGLDecodeDelegate@" while reading
  3473  	delegates.mgk under windows.
  3474  	(ListDelegateInfo): Format delegate command line to multiple
  3475  	lines if necessary rather than truncating.
  3476  
  3477  	* configure.ac (MagickBinPathDefine): Added support for
  3478  	a MagickBinPath definition.
  3479  
  3480  	* configure.ac (GSVersion): Added test to obtain version
  3481  	of installed Ghostcript.
  3482  
  3483  	* magick/tempfile.c (AcquireTemporaryFileDescriptor): Open
  3484  	flag should have been O_RDWR, not O_WRONLY!
  3485  
  3486  2003-04-03  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3487  
  3488  	* magick/utility.c: Simplified skipping over the "*" in
  3489  	the +profile "*" option when expanding filenames.
  3490  
  3491  2003-04-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3492  
  3493  	* VisualMagick/bin/delegates.mgk: Update similarly to
  3494  	coders/delegates.mgk.in.
  3495  
  3496  	* coders/delegates.mgk.in: Replaced `mpeg-decode` delegate
  3497  	specification with `mpeg` delegate specification.
  3498  
  3499  	* PerlMagick/t/mpeg/read.t: Since -r option is no longer
  3500  	supplied to mpeg2decode, the signatures must be updated.
  3501  
  3502  	* magick/utility.c (ExpandFilenames): Skip over no-argument
  3503  	commands properly.
  3504  
  3505  	* coders/mpeg.c: Removed ReadMPEGImage since this is handled
  3506  	entirely by delegate now.
  3507  
  3508  	* magick/command.c: Add convert -temporary option for use
  3509  	when input files are temporary files which should be
  3510  	automatically removed.
  3511  
  3512  	* magick/delegate.c (InvokeDelegate): Ensure that temporary
  3513  	file access is secure.
  3514  
  3515  	* coders/ept.c (ReadEPTImage): Ensure that temporary file
  3516  	specified by image_info->filename is liberated before
  3517  	allocating a new temporary file name.
  3518  
  3519  	* coders/ps.c (ReadPSImage): Ensure that temporary file
  3520  	specified by image_info->filename is liberated before
  3521  	allocating a new temporary file name.
  3522  
  3523  	* coders/pdf.c (ReadPDFImage): Change TemporaryFilename
  3524  	to AcquireTemporaryFileName.
  3525  
  3526  	* magick/tempfile.c (LiberateTemporaryFile): Now takes
  3527  	a `char *` argument rather than `const char *`, and
  3528  	erases the provided filename if it is the name of a valid
  3529  	temporary file. This helps avoid errors. The return
  3530  	status may be used to determine if a file was removed.
  3531  	(AcquireTemporaryFileDescriptor): Decided that adding a
  3532  	.tmp extension to temporary file names is unnecessary.
  3533  
  3534  	* coders/jp2.c (WriteJP2Image): Destroy pixel matrix
  3535  	after encoding image.  Cristy says that there is memory
  3536  	corruption otherwise.
  3537  
  3538  2003-04-01  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3539  
  3540  	* coders/png.c: Use new temporary file manager for JNG components.
  3541  	Merge with IM 5.5.7 (mostly cosmetic changes).
  3542  
  3543  2003-03-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3544  
  3545  	* magick/cache.c (OpenCache): Add some Windows-specific
  3546  	open options.
  3547  
  3548  	* magick/resource.c (InitializeMagickResources): Increase
  3549  	the number of "lowio" file handles available for use under
  3550  	Windows.
  3551  
  3552  	* ltdl/ltdl.c: Incorporate more Darwin fixes from CVS libtool.
  3553  
  3554  	* coders/pcx.c (ReadPCXImage): Incorporate bugfix from
  3555  	ImageMagick -- Not enough memory allocated for reading PCX
  3556  	(bug report by Trevor Willis).
  3557  
  3558  	* magick/magick.c (InitializeMagick): Only invoke
  3559  	SetLogEventMask() to set debug options based on
  3560  	getenv("MAGICK_DEBUG") if the environment variable is set.
  3561  
  3562  2003-03-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3563  
  3564  	* magick/tempfile.c: Include tempfile.h rather than temporary.h
  3565  
  3566  	* magick/magick.c: Include tempfile.h rather than temporary.h
  3567  
  3568  	* coders/dcm.c, coders/ept.c, coders/histogram.c, coders/mpeg.c,
  3569  	coders/pdf.c, coders/pict.c, coders/preview.c, coders/ps.c,
  3570  	coders/ps2.c, coders/ps3.c, coders/pwp.c, coders/sfw.c,
  3571  	coders/svg.c, coders/tiff.c, coders/url.c, coders/wpg.c,
  3572  	magick/annotate.c, magick/attribute.c, magick/blob.c,
  3573  	magick/cache.c, magick/constitute.c, magick/delegate.c,
  3574  	magick/display.c, magick/image.c, magick/magick.c,
  3575  	magick/utility.c, magick/xwindow.c: Updated to use new temporary
  3576  	file allocation APIs.
  3577  
  3578  	* magick/tempfile.c: New temporary file allocation subsystem for
  3579  	allocating, tracking, and deallocating temporary files.  Use of
  3580  	this subsystem should reduce the likelyhood that temporary
  3581  	files will be left behind once the process exits.
  3582  	If the environment variable MAGICK_TMPDIR is set, then its
  3583  	value is used as the location to place temporary files.
  3584  
  3585  	* magick/utility.c (IsAccessibleAndNotEmpty): New function
  3586  	for testing for file exists, is a regular file, and is not empty.
  3587  	Used to test if a temporary file has been updated by a delegate.
  3588  
  3589  	* magick/log.c (SetLogEventMask): Add support for setting
  3590  	TemporaryFileEvent.
  3591  
  3592  	* PerlMagick/Magick.xs: Added TemporaryFile log event type.
  3593  
  3594  	* magick/log.h (LogEventType): Add TemporaryFileEvent event
  3595  	classification.
  3596  
  3597  2003-03-29  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3598  
  3599  	* magick/resize.c (SampleImage) and magick/render.c (DrawAffineImage():
  3600  	Applied Cristy fix for bug that offset images to the top and left.
  3601  
  3602  	* magick/resize.c (ScaleImage): Fixed bug that caused intensity
  3603  	levels to be one unit too high.
  3604  
  3605  	* coders/png.c: make JNG support depend on HasJPEG. Remove temp files.
  3606  
  3607  2003-03-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3608  
  3609  	* magick/resize.c (ResizeImage): Applied fix authored by John
  3610  	Cristy for distortion when using the bessel filter.
  3611  
  3612  	* magick/display.c: Applied fix authored by John Cristy which
  3613  	eliminates bogging down when using the magnifier window on
  3614  	large images.
  3615  
  3616  	* Several files: A few files included multiple copies of the
  3617  	copyright header text due to either pilot error, or equipment
  3618  	failure.
  3619  
  3620  2003-03-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3621  
  3622  	* tests/Makefile.am : Removed some debug code which was
  3623  	accidentally committed to CVS.
  3624  
  3625  	* Copyright.txt: Add copyright statements to all the files,
  3626  	including some apparently missing copyrights.
  3627  
  3628  2003-03-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3629  	* magick/Makefile.am: Added temporary.c and temporary.h. These
  3630  	are not finished yet.
  3631  
  3632  	* magick/cache.c: Transferred optimization from ImageMagick
  3633  	to read/write all requested pixel cache rows in one system
  3634  	call when accessing the cache using file I/O, and the
  3635  	requested columns equals the image columns.
  3636  
  3637  	* magick/resource.c: (ResourceInfo): Use type `double` rather
  3638  	than `long double`. For many systems, the range of `long double`
  3639  	is the same as `double`.  On others, use of `long double` incurs
  3640  	the cost of function calls since there is no hardware support.
  3641  
  3642  2003-03-22  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3643  
  3644  	* magick/effect.h, effect.c, command.c: Revised -random-dither
  3645  	to require parameters: channel LOWxHIGH.  Channel can presently
  3646  	be "intensity", "opacity", or "all".
  3647  
  3648  2003-03-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3649  
  3650  	* ltdl/ltdl.c: Updated to latest CVS version.  Claimed to
  3651  	support loading modules under MacOS-X.
  3652  
  3653  	* magick/resource.c (InitializeMagickResources): Enable code
  3654  	under Windows which queries system limits.
  3655  
  3656  	* magick/cache.c (S_MODE): Fixed portability problems with
  3657  	definition.
  3658  
  3659  	* VisualMagick/bin/delegates.mgk: Fix typo in "mpeg-decode"
  3660  	decode rule.
  3661  
  3662  	* libtool: Update to latest CVS version.
  3663  
  3664  	* configure.ac: Test zlib for gzseek and gztell.
  3665  
  3666  	* magick/effect.c (ChannelThresholdImage): The is_grayscale flag
  3667  	was not be evaluated correctly.
  3668  
  3669  2003-03-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3670  
  3671  	* magick/image.h (RoundSignedToQuantum): Added handy
  3672  	RoundSignedToQuantum macro for munging doubles into Quantums.
  3673  
  3674  	* magick/effect.c (ThresholdImage): Added optimizations for
  3675  	thresholding all pixels to white or black. Threshold using an
  3676  	integral value rather than a double so compares are faster.
  3677  	(ChannelThresholdImage): Threshold against integral values since
  3678  	compares are faster. Invoke ThresholdImage for simple thresholding
  3679  	across all channels since it is faster.
  3680  
  3681  2003-03-19  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3682  
  3683  	* coders/meta.c: #ifdef'ed out some dead code.
  3684  
  3685  	* magick/annotate.c: #ifdef'ed out some code that is only
  3686  	used when HasTTF is defined.
  3687  
  3688  	* Added RandomThresholdImage() method and -random-threshold
  3689  	commandline option.
  3690  
  3691  2003-03-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3692  
  3693  	* configure.ac (LIB_TIFF): Check for TIFFReadRGBATile and TIFFReadRGBAStrip
  3694  	in libtiff before deciding to use it.
  3695  
  3696  	* magick/blob.c (WriteBlob): Move pointer increment into
  3697  	paranthesis.
  3698  	(ReadBlob): Move pointer increment into paranthesis.
  3699  
  3700  	* magick/gem.c (HSLTransform): Removed inline statement.
  3701  	(TransformHSL): Removed inline statement.
  3702  
  3703  	* magick/random.[c|h]: Removed files from CVS.
  3704  
  3705  	* magick/command.c: Don't include random.h.
  3706  
  3707  	* PerlMagick/t/reference/jng: Update reference files to current output.
  3708  
  3709  2003-03-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3710  
  3711  	* configure.ac: Added tests for pread and pwrite functions.
  3712  
  3713  	* magick/image.c (GrayscalePseudoClassImage): Properly invoke
  3714  	SyncImagePixels.
  3715  
  3716  	* magick/cache.c (SyncCacheNexus): Add back in is_monochrome and
  3717  	is_grayscale flag resetting which was lost by copying over
  3718  	ImageMagick's cache.c.
  3719  	(FilePositionRead): Inline wrapper for reading a chunk of data at
  3720  	an offset.
  3721  	Cleans up some messy code, and makes it easy to use pread().
  3722  	(FilePositionWrite): Inline wrapper for writing a chunk of data at
  3723  	an offset.
  3724  	Cleans up some messy code, and makes it easy to use pwrite().
  3725  	Cache now uses pread() and pwrite() to access the cache if these
  3726  	calls are available.
  3727  
  3728  	* magick/resource.c (InitializeMagickResources): Support setting
  3729  	resource limits via the environment variables MAGICK_LIMIT_DISK,
  3730  	MAGICK_LIMIT_FILES, MAGICK_LIMIT_MEMORY, and MAGICK_LIMIT_MAP.
  3731  
  3732  2003-03-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3733  
  3734  	* magick/stream.c (AcquirePixelStream): Store total pixels in
  3735  	64-bit type.
  3736  	(SetPixelStream): Store total pixels in 64-bit type.
  3737  
  3738  	* coders/tiff.c (WriteTIFFImage): CoderError should be
  3739  	MissingDelegateError.
  3740  
  3741  	* coders/ps3.c (Huffman2DEncodeImage): CoderError should be
  3742  	MissingDelegateError.
  3743  	(WritePS3Image): CoderError should be MissingDelegateError.
  3744  
  3745  	* coders/ps2.c (Huffman2DEncodeImage): CoderError should be
  3746  	MissingDelegateError.
  3747  
  3748  	* coders/pdf.c (Huffman2DEncodeImage): CoderError should be
  3749  	MissingDelegateError.
  3750  
  3751  	* coders/fpx.c (ReadFPXImage): CoderError should be
  3752  	MissingDelegateError.
  3753  	(WriteFPXImage): CoderError should be MissingDelegateError.
  3754  
  3755  	* coders/dps.c (ReadDPSImage): CoderError should be
  3756  	MissingDelegateError.
  3757  
  3758  	* magick/image.c (AnimateImages): DelegateError should be
  3759  	MissingDelegateError.
  3760  
  3761  	* magick/annotate.c (RenderX11): DelegateError should be
  3762  	MissingDelegateError.
  3763  
  3764  	* magick/image.c (DisplayImages): DelegateError should be
  3765  	MissingDelegateError.
  3766  
  3767  2003-03-17  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3768  
  3769  	* magick/image.c Relocated misplaced break in ChannelImage()
  3770  	and sped up SetImageOpacity by avoiding blend operation when
  3771  	setting the image fully opaque.
  3772  
  3773  2003-03-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3774  
  3775  	* magick/cache.c: Snarfed cache.c updates from ImageMagick.
  3776  
  3777  	* magick/command.c: Added -list resource support.
  3778  
  3779  2003-03-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3780  
  3781  	* magick/Makefile.am (random.c): Removed building, packaging,
  3782  	and intialization of random.c functions since it is not actually
  3783  	used.
  3784  
  3785  	* magick/semaphore.c (InitializeSemaphore): Only initialize
  3786  	critical section if active_semaphore is not already true.
  3787  
  3788  	* magick/resource.c: Snarf resource.c updates from ImageMagick.
  3789  
  3790  	* PerlMagick/Magick.xs: Added missing log event types.
  3791  
  3792  	* magick/log.h (enum): Added ResourceEvent enumeration.
  3793  
  3794  	* magick/log.c (LogMagickEvent): fflush(stdout) at the end of
  3795  	each log.  Otherwise output may not be seen for a long time.
  3796  	(SetLogEventMask): Add support for "-debug resource".
  3797  
  3798  	* coders/tiff.c (RegisterTIFFImage): Don't register encode and
  3799  	decode handlers for TIFF if TIFF library is not available.
  3800  
  3801  	* magick/constitute.c (WriteImage): Fix cut-n-paste error
  3802  	in log message ("decoder" --> "encoder").
  3803  
  3804  2003-03-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3805  
  3806  	* index.html: Added a link to the GraphicsMagick mailing lists.
  3807  
  3808  	* Magick++/demo/zoom.cpp: Added dashed option support, including
  3809  	a -resample option for image resampling.
  3810  
  3811  2003-03-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3812  
  3813  	* Makefile.am (DIST_SUBDIRS): Filters subdirectory needs to
  3814  	be distributed.
  3815  
  3816  2003-03-14  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3817  
  3818  	* magick/render.c Ported Cristy's bugfix to DrawAffineImage().
  3819  
  3820  2003-03-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3821  
  3822  	* magick/image.c (DestroyImage): Comment out new assertions until
  3823  	we are certain that there are no ill effects.
  3824  
  3825  	* coders/mat.c (ReadMATImage): Set image->depth to valid values.
  3826  
  3827  	* PerlMagick/Magick.xs: Update so that new DestroyImage assertions
  3828   	aren't asserted.
  3829  
  3830  	* magick/list.c (DestroyImageList): Update so that new DestroyImage
  3831  	assertions aren't asserted.
  3832  
  3833  	* coders/wpg.c (ReadWPGImage): Don't leave dangling pointer when
  3834  	trimming list. Don't set image->depth to invalid values.
  3835  
  3836  2003-03-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3837  
  3838  	* magick/image.c (DestroyImage): Add assertions to verify
  3839  	that destroyed image is not currently referenced by another
  3840  	image.  This should help prevent accidental continued use
  3841  	of a destroyed image.
  3842  	(DestroyImage): Added assertions to enforce that images
  3843  	should not continue to reference the destroyed image.
  3844  
  3845  	* coders/wpg.c: Incorporated fixes from Jaroslav Fojtik.
  3846  
  3847  	* version.sh (PACKAGE_VERSION_ADDENDUM): Construct a package
  3848  	snapshot version based on the ChangeLog modification time.
  3849  	This requires GNU find to work propery since the -printf
  3850  	option is used.
  3851  
  3852  	* configure.ac (LIB_GS): Do not test for the Ghostscript
  3853  	library by default due to the issue of its embedded libjpeg
  3854  	conflicting with libjpeg.
  3855  
  3856  	* coders/ept.c (ReadEPTImage): "PostscriptDelegateFailed" should
  3857  	be classified as a DelegateError type.
  3858  
  3859  2003-03-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3860  
  3861  	* magick/blob.c (BlobToFile): Truncate while opening file.
  3862  	(ImageToFile): Truncate while opening file.
  3863  
  3864  	* magick/annotate.c (RenderFreetype): Missing freetype library
  3865  	should result in a MissingDelegateError type rather than a
  3866  	DelegateError type.
  3867  
  3868  	* INSTALL-windows.txt: Added a note regarding a workaround for
  3869  	internal compiler errors while compiling image.c when using
  3870  	Visual C++ 7.0.
  3871  
  3872  	* coders/jpeg.c (ReadICCProfile): Incorporate ImageMagick fix
  3873  	to handle short JPEG ICC profiles.
  3874  
  3875  	* magick/integral_types.h: Ignore SIZEOF_LONG_LONG and
  3876  	SIZEOF_UNSIGNED_LONG_LONG defines if _VISUALC_ is defined.
  3877  
  3878  2003-03-11  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3879  
  3880  	* www/gm.html, utilities/gm.1, guide/gm.tex: Expanded description
  3881  	of the -affine option.
  3882  
  3883  2003-03-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3884  
  3885  	* magick/image.c (GetImageDepth): Re-implemented using a single-pass
  3886  	algorithm and 1/2 the code. Previous implementation didn't return
  3887  	correct results for Q:32 build.  Now it does.
  3888  
  3889  	* magick/command.c (IdentifyImageCommand): For identify, when
  3890  	%q format specifier is present, image must be read rather than
  3891  	pinged.  If not, either the value 8 is returned, or there is a
  3892  	crash due to reading an uninitialized image.
  3893  
  3894  2003-03-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3895  
  3896  	* coders/mat.c: Incorporate fixes from Jaroslav Fojtik.  Close
  3897  	Blob before rotating image.
  3898  
  3899  	* PerlMagick/README.txt: Update to reflect that PerlMagick is
  3900  	part of GraphicsMagick.
  3901  
  3902  	* PerlMagick/t/input.mat: Added test image for Matlab format.
  3903  
  3904  	* PerlMagick/t/input.wpg: Added test image for WordPerfect Graphics Format.
  3905  
  3906  	* utilities/Makefile.am (ALLMANPAGES): Install gm.1 rather than
  3907  	old utility manual pages.
  3908  
  3909  2003-03-09  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  3910  
  3911  	* www/gm.html, utilities/gm.1, guide/gm.tex: First cut at
  3912  	manpage for gm, to replace individual utility manpages.
  3913  
  3914  2003-03-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3915  
  3916  	* magick/blob.c: Fix some erroneous log printf specifications.
  3917  	Improved blob log messages a bit. 
  3918  
  3919  	* magick/log.c (IsEventLogging): Use  InitializeLogInfo().
  3920  	(InitializeLogInfo): New function to intelligently initialize
  3921  	logging subsystem.  Only locks when initialization may be required,
  3922  	and only locks long enough to determine if initialization is required.
  3923  	This approach should avoid deadlocking while logging from functions
  3924  	used to initialize logging.
  3925  	(IsLogAccessible): No longer need this duplicate of IsAccessible().
  3926  	(SetLogEventMask): Use  InitializeLogInfo().
  3927  
  3928  	* coders/fpx.c (ReadFPXImage): FlashPIX library does not support
  3929  	BLOB I/O so don't use OpenBlob/CloseBlob.  Opening the blob caused
  3930  	a conflict when the FlashPIX library attempted to open the file.
  3931  
  3932  2003-03-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3933  
  3934  	* configure.ac: Test for libtiff functions (TIFFClientOpen &
  3935  	TIFFIsByteSwapped), which are required by GraphicsMagick, but
  3936  	not found in older libtiff versions.
  3937  
  3938  	* magick/blob.c: Added logging for Blob open/close and memory
  3939  	mapping operations.
  3940  
  3941  2003-03-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3942  
  3943  	* tests/rwblob.c (main): DestroyImage asserts on NULL so only
  3944  	call it for non-null image.
  3945  
  3946  	* tests/rwfile.c (main): DestroyImage asserts on NULL so only
  3947  	call it for non-null image.
  3948  
  3949  2003-03-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3950  
  3951  	* tests/rwblob.c (main): Add -pause option to require keypress to
  3952  	exit program. Clean-up to avoid any appearance of leaks.
  3953  
  3954  	* tests/rwfile.c (main): Add -pause option to require keypress to
  3955  	exit program. Clean-up to avoid any appearance of leaks.
  3956  
  3957  	* magick/static.c (ExecuteStaticModuleProcess): Don't bind in
  3958  	process filter functions for Visual C++ since the build environment
  3959  	doesn't support it yet.
  3960  
  3961  	* magick/log.c (GetLogBlob) Code wasn't actually testing current
  3962  	directory for log.mgk, now it does.
  3963  
  3964  	* magick/log.c (IsEventLogging): Eliminate accidental recursive, or
  3965  	repeated, initialization of the logging system.
  3966  
  3967  2003-03-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3968  
  3969  	* coders/jp2.c (WriteJP2Image): Improved -quality rate estimation
  3970  	for very small files.
  3971  
  3972  2003-03-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3973  
  3974  	* coders/jp2.c (WriteJP2Image): Add additional logging support.
  3975  
  3976  	* tests/rwblob.c: Added BLOB read/write logging.
  3977  
  3978  	* tests/rwfile.c: Added file read/write logging.
  3979  
  3980  	* magick/module.c (FindMagickModule): Minor code cleanup and limit
  3981  	directory and file name lengths to sensible values.
  3982  
  3983  	* magick/utility.c (IsAccessible): Log test failures along with
  3984  	test failure reason [strerror(errno)]. Also log test success.
  3985  
  3986  	* VisualMagick/bin/delegates.mgk: -DSAFER does not work with
  3987  	Ghostscript 8.0.
  3988  
  3989  	* magick/module.c: Needed to conditionally include nt_feature.h.
  3990  
  3991  2003-03-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  3992  
  3993  	* magick/module.c (ExecuteModuleProcess): Updated to support locating
  3994  	filter modules based on search rules.
  3995  	(CoderInfo): Declare only in module.c since use is private to this
  3996  	module.
  3997  	(GetCoderInfo): Made static and commented out since currently unused.
  3998  	(FindMagickModule): New function to search for a module.
  3999  	(GetModuleBlob): Moved from blob.c, made static, and re-implemented
  4000  	based on FindMagickModule.
  4001  
  4002  	* magick/blob.c: Moved GetTypeBlob() to type.c and made it static.
  4003  	Moved GetModuleBlob() to module.c and made it static.
  4004  
  4005  2003-03-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4006  
  4007  	* coders/Makefile.am: MIFF module does not depend on -ljpeg, but
  4008  	PNG module does (for JNG).
  4009  
  4010  	* filters/analyze.c (AnalyzeImage): Bugfix, image should be passed
  4011  	as Image** rather than Image*.
  4012  
  4013  	* magick/utility.c (IsAccessible): Don't log errno if errno==0.
  4014  
  4015  2003-03-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4016  
  4017  	* magick/Makefile.am: Link with libFilters convenience library.
  4018  
  4019  	* VisualMagick/magick/magick_config.h.in: Change MagickModulesPath
  4020  	to MagickCoderModulesPath and add a MagickFilterModulesPath to
  4021  	locate filter modules.
  4022  
  4023  	* filters/Makefile.am: New makefile to build filter modules.
  4024  
  4025  	* configure.ac: Configure magick/GraphicsMagick.pc and
  4026  	Magick++/lib/GraphicsMagick++.pc.
  4027  	(MagickModulesSubdir): Add quantum depth to modules path to ensure
  4028  	that modules with the correct depth are loaded.  The modules path
  4029  	is now
  4030  	${libdir}/GraphicsMagick-${PACKAGE_VERSION}/modules-Q${QuantumDepth}/coders.
  4031  	(MagickCoderModulesPath): Rename MagickModulesPath to
  4032  	MagickCoderModulesPath.
  4033  	(MagickFilterModulesPath): Define to location of filter modules.
  4034  
  4035  	* magick/Makefile.am: Added rules to install GraphicsMagick.pc.
  4036  
  4037  	* magick/GraphicsMagick.pc.in: Added pkgconfig file for
  4038  	-lGraphicsMagick.
  4039  
  4040  2003-02-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4041  
  4042  	* coders/jp2.c (WriteJP2Image): Quality factor calculation had
  4043  	accidentally been removed.  The calculation is back, but has been
  4044  	biased up slightly so that a quality factor of 75 results in a
  4045  	more reasonable 16:1 compression. Past a quality factor of 99.5,
  4046  	the compression is set to 1:1 (non-lossy).
  4047  
  4048  2003-02-27  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4049  
  4050  	* Fixed bug with reading interlaced PNG images, introduced
  4051  	yesterday.
  4052  
  4053  	* Fixed bug with skipping MNG subimages, also introduced
  4054  	yesterday.
  4055  
  4056  2003-02-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4057  
  4058  	* Makefile.am (EXTRA_DIST): Forgot to distribute version.sh
  4059  
  4060  	* configure.ac: Use definitions from version.sh to drive
  4061  	package versioning and naming. These definitions support
  4062  	libtool's recommended approach to library versioning.
  4063  
  4064  	* version.sh: New file for managing release versioning.
  4065  	Edit this file to change the release number, etc.
  4066  
  4067  	* PerlMagick/t/tiff/read.t: Added read tests for stripped,
  4068  	planar contiguous, and planar seperated TIFFs.
  4069  
  4070  	* coders/tiff.c (ReadTIFFImage): Transferred stripped-TIFF
  4071  	reading code from ImageMagick.
  4072  	Enumerated reading methods to make the logic more clear.
  4073  
  4074  2003-02-27  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4075  
  4076  	* JNG alpha sample depth was sometimes inconsistent.
  4077  
  4078  	* Bring only one line at a time into memory during PNG
  4079  	read/write (Merge with Cristy's 5.5.6 update).
  4080  
  4081  2003-02-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4082  
  4083  	* PerlMagick/Makefile.PL.in (LIBS): Put MAGICKLIB first to
  4084  	decrease the probability that the wrong libMagick is used
  4085  	when linking static PerlMagick.
  4086  
  4087  	* configure.ac (PerlMagick): Fix linker search path for
  4088  	-lGraphicsMagick when linking a static PerlMagick.  It seems
  4089  	that libtool changed the location where it places static
  4090  	libraries.
  4091  
  4092  	* PerlMagick/t/tiff/read.t: Added test for reading tiled TIFF.
  4093  
  4094  	* coders/tiff.c (ReadTIFFImage): Add optimized support for
  4095  	reading tiled TIFFs.
  4096  	(ReadTIFFImage): Optimize loops for reading tiled TIFFs as well.
  4097  	(ReadTIFFImage): Eliminate compiler warning.
  4098  	(ReadTIFFImage): Add some missing error handling for tiled TIFF.
  4099  
  4100  2003-02-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4101  
  4102  	* coders/tiff.c (ReadTIFFImage): Optimize RGBA transfer loop.
  4103  
  4104  2003-02-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4105  
  4106  	* magick/render.c (DrawPrimitive): Return DrawPolygonPrimitive
  4107  	status (edit transferred from ImageMagick).
  4108  
  4109  	* magick/utility.c (GetMagickGeometry): Scaling to an area now
  4110  	preserves the image aspect ratio.
  4111  
  4112  2003-02-24  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4113  
  4114  	* png.c: Added missing parentheses in typecast (cristy noticed
  4115  	the bug that I introduced on 2/18).
  4116  
  4117  2003-02-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4118  
  4119  	* Makefile.am: Add rules to produce www/README.html,
  4120  	www/INSTALL-mac.html, www/INSTALL-unix.html, www/INSTALL-vms.html,
  4121  	and www/INSTALL-windows.html
  4122  
  4123  	* www/README.html: New file produced from README.txt
  4124  
  4125  	* www/INSTALL-mac.html: New file produced from INSTALL-mac.txt.
  4126  
  4127  	* www/INSTALL-unix.html: New file produced from INSTALL-unix.txt.
  4128  
  4129  	* www/INSTALL-vms.html: New file produced from INSTALL-vms.txt.
  4130  
  4131  	* www/INSTALL-windows.html: New file produced from INSTALL-windows.txt.
  4132  
  4133  	* NEWS: Added news for GraphicsMagick 1.0.0.
  4134  
  4135  	* magick/locale.c: Added error messages to support JP2.
  4136  
  4137  	* locale/C.mgk: Added error messages to support JP2.
  4138  
  4139  	* locale/locale.mgk: Update to GraphicsMagick copyright.
  4140  
  4141  	* coders/jp2.c: Updated to use Jasper 1.700.1 interface
  4142  	conventions. Jasper 1.700.1 is required now. Support
  4143  	reading arbitrary quantum sizes up to 16-bits.  Return
  4144  	grayscale images as PseudoClass.
  4145  
  4146  	* jp2/: Updated Jasper sources to version 1.700.1.
  4147  
  4148  2003-02-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4149  
  4150  	* coders/jp2.c (ReadJP2Image): Obtain channel indexes by
  4151  	ID rather than assuming index value.  Validate that channel
  4152  	geometry and encoding is supported.
  4153  
  4154  	* magick/effect.c (ThresholdImage): Additional performance
  4155  	optimization. Work faster if image is already gray.
  4156  
  4157  2003-02-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4158  
  4159  	* coders/jp2.c (WriteJP2Image): Port to Jasper 1.7.
  4160  	For Q:32, don't write 32-bit pixels rather than the
  4161  	16-bit pixels we told Jasper we would write.
  4162  	(WriteJP2Image): Back-port to Jasper 1.6.
  4163  
  4164  2003-02-18  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4165  
  4166  	* coders/modules.mgk: Added JNG entry.
  4167  
  4168  2003-02-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4169  
  4170  	* coders/jp2.c (RegisterJP2Image): Added registration for
  4171  	"PGX" magick tag.
  4172  
  4173  	* magick/magic.mgk: Added entry for JPEG V2's PGX format.
  4174  
  4175  	* PerlMagick/t/jp2/read.t: Added JPEG Version 2 read tests.
  4176  
  4177  	* coders/modules.mgk: Added JPC and PGX magick types to
  4178  	support JPEG V2.
  4179  
  4180  	* magick/color.c (IsMonochromeImage): Re-arranged test logic
  4181  	to short-circuit test using ORs.
  4182  	(IsGrayImage): Re-arranged test logic to short-circuit test
  4183  	using ORs.
  4184  
  4185  	* magick/constitute.c (PopImagePixels): Speed GrayQuantum
  4186  	and GrayAlphaQuantum cases if is_grayscale is True.
  4187  
  4188  	* magick/quantize.c (AssignImageColors): Sync image to
  4189  	update DirectClass pixels to new colormap.
  4190  
  4191  	* coders/fpx.c (RegisterFPXImage): FlashPIX does not
  4192  	provide direct BLOB I/O support.
  4193  
  4194  	* magick/blob.c (BlobToImage): Add logging.
  4195  	(BlobToFile): Add logging.
  4196  
  4197  2003-02-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4198  
  4199  	* coders/fpx.c (ReadFPXImage): Removing the input file is
  4200  	antisocial.
  4201  
  4202  	* PerlMagick/t/fpx/*.fpx: Replaced with new copies.  Files
  4203  	seemed to be corrupt.
  4204  
  4205  	* PerlMagick/t/cgm/read.t: Specify file magick so that CGM
  4206  	read test passes for BLOB case.
  4207  
  4208  	* PerlMagick/t/rad/read.t: Specify file magick so that RAD
  4209  	read test passes for BLOB case.
  4210  
  4211  	* PerlMagick/t/jng/read.t: Add read tests for JNG.
  4212  
  4213  	* PerlMagick/t/jng/write.t: Add read/write tests for JNG.
  4214  
  4215  	* configure.ac (DELEGATES): Added `jng` to the DELEGATES list
  4216  	so that JNG can be included in the PerlMagick tests.
  4217  
  4218  2003-02-18  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4219  
  4220  	* coders/png.c: Write proper JNG image_interlace_method.
  4221  
  4222  	* coders/png.c: Read and write proper MNG and JNG sRGB intent.
  4223  
  4224  	* PerlMagick/t/jng: Add twelve test files in JNG format.
  4225  
  4226  	* coders/png.c: Write proper progressive JNG output when
  4227  	transparency is present.
  4228  
  4229  2003-02-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4230  
  4231  	* magick/version.c (GetMagickWebSite): New function.
  4232  
  4233  2003-02-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4234  
  4235  	* coders/wmf.c (ipa_device_begin): Use MagickWebSite definition.
  4236  
  4237  	* www/Copyright.html: Updated to match Copyright.txt
  4238  
  4239  	* www/perl: Updated to reflect GraphicsMagick vs ImageMagick.
  4240  
  4241  	* magick/xwindow.c (XMakeImageMSBFirst): Minor loop optimizations.
  4242  
  4243  	* magick/constitute.c (ConstituteImage): Check for grayscale
  4244  	and monochrome image if image is PseudoClass.
  4245  
  4246  2003-02-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4247  
  4248  	* magick/enhance.c (ContrastImage): Preserve is_grayscale flag.
  4249  	(EqualizeImage): Preserve is_grayscale flag.
  4250  	(ModulateImage): Preserve is_grayscale flag.
  4251  	(NegateImage): Preserve is_grayscale flag.
  4252  	(NormalizeImage): Preserve is_grayscale flag.
  4253  
  4254  	* magick/fx.c (ColorizeImage): Evaluate is_grayscale status.
  4255  	(ConvolveImage): Preserve is_grayscale flag.
  4256  	(ImplodeImage): Preserve is_grayscale flag.
  4257  	(SolarizeImage): Preserve is_grayscale flag.
  4258  	(OilPaintImage): Preserve is_grayscale flag.
  4259  	(SwirlImage): Preserve is_grayscale flag.
  4260  	(WaveImage): Preserve is_grayscale flag.
  4261  
  4262  	* magick/resize.c (MagnifyImage): Preserve is_grayscale flag.
  4263  	(MinifyImage): Preserve is_grayscale flag.
  4264  	(ResizeImage): Preserve is_grayscale flag.
  4265  
  4266  	* magick/decorate.c (FrameImage): Evaluate is_grayscale status.
  4267  	(RaiseImage): Preserve is_grayscale.
  4268  
  4269  	* magick/shear.c (IntegralRotateImage): Preserve is_grayscale.
  4270  	flag.
  4271  	(XShearImage): Evaluate is_grayscale status.
  4272  	(YShearImage): Evaluate is_grayscale status.
  4273  
  4274  	* magick/transform.c (ChopImage): Preserve is_grayscale flag.
  4275  	(CropImage): Preserve is_grayscale flag.
  4276  	(FlipImage): Preserve is_grayscale flag.
  4277  	(FlopImage): Preserve is_grayscale flag.
  4278  	(RollImage): Preserve is_grayscale flag.
  4279  
  4280  	* magick/effect.c (AddNoiseImage): If image colorspace is
  4281  	GRAYColorspace, then add intensity noise, and transfer
  4282  	image is_grayscale flag to output image.
  4283  	(BlurImage): Preserve is_grayscale flag.
  4284  	(DespeckleImage): Preserve is_grayscale flag.
  4285  	(EdgeImage): Preserve is_grayscale flag.
  4286  	(EmbossImage): Preserve is_grayscale flag.
  4287  	(GaussianBlurImage): Preserve is_grayscale flag.
  4288  	(MotionBlurImage): Preserve is_grayscale flag.
  4289  	(ShadeImage): Preserve is_grayscale flag.
  4290  	(SharpenImage): Preserve is_grayscale flag.
  4291  	(UnsharpMaskImage): Preserve is_grayscale flag.
  4292  
  4293  	* magick/quantize.c (QuantizeImage): Pre-reduce gray images
  4294  	to PseudoClass in order to quickly determine the number of
  4295  	colors, and provide the expected PseudoClass output. Also
  4296  	skip slow color quantization if there are already fewer
  4297  	colors than requested.
  4298  
  4299  	* magick/image.c (GrayscalePseudoClassImage): New function
  4300  	to quickly reduce an image to PseudoClass grayscale.  This
  4301  	is a fast way to determine the number of intensities in a
  4302  	grayscale image. Either a compact sorted colormap or a faster,
  4303  	contiguous linear colormap is created, depending on the
  4304  	optimize_colormap flag. If the image is already PseudoClass,
  4305  	and the optimize_colormap flag is True, then the existing
  4306  	colormap is sorted and reduced.
  4307  	(SyncImage): Preserve is_grayscale flag.
  4308  	(ChannelImage): Result is grayscale.
  4309  	(CycleColormapImage): Preserve is_grayscale and is_monochrome flags.
  4310  	(SetImage): Evaluate is_grayscale flag.
  4311  	(SetImageDepth): Preserve is_grayscale flag.
  4312  	(SetImageOpacity): Preserve is_grayscale flag.
  4313  	(SortColormapByIntensity): Preserve is_grayscale flag.
  4314  	(TransformRGBImage): Evaluate is_grayscale flag.
  4315  
  4316  2003-02-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4317  
  4318  	* magick/resize.c (SampleImage): Preserve grayscale and
  4319  	monochrome flags.
  4320  
  4321  	* magick/quantize.c (AssignImageColors): Set image monochrome
  4322  	flag to True when quantizing to two colors in GrayColorspace.
  4323  
  4324  	* magick/effect.c (SpreadImage): Preserve grayscale and
  4325  	monochrome flags.
  4326  	(AdaptiveThresholdImage): Short-circuit algorithm if image
  4327  	flags indicate it is already monochrome. Set monochrome and
  4328  	grayscale flags once algorithm completes.
  4329  	(ThresholdImage): Short-circuit algorithm if image
  4330  	flags indicate it is already monochrome. Set monochrome and
  4331  	grayscale flags once algorithm completes.
  4332  	(ChannelThresholdImage): Short-circuit algorithm if image
  4333  	flags indicate it is already monochrome. Set monochrome and
  4334  	grayscale flags once algorithm completes.
  4335  	(ShadeImage): If grayscale shading is done, then set image
  4336  	grayscale flag to True.
  4337  
  4338  	* magick/color.c (IsGrayImage): If the image is_grayscale
  4339  	flag is True, then short-circuit the test. Update the flag
  4340  	if the test is performed.
  4341  	(IsMonochromeImage): If the image is_monochrome flag is True
  4342  	then short-circuit the test. Update the flag if the test is
  4343  	performed.
  4344  
  4345  	* magick/image.c (CloneImage): Copy image is_grayscale and
  4346  	is_monochrome members.
  4347  
  4348  	* magick/cache.c (SyncCacheNexus): If image pixels are updated
  4349  	then set image is_grayscale and is_monochrome members to False.
  4350  	Algorithms which want to preserve the values of these members
  4351  	should save their original values before processing the image
  4352  	and restore them when processing is complete, or transfer them
  4353  	from the input image to the output image.
  4354  
  4355  	* magick/constitute.c (ReadImage): If the returned image is
  4356  	PseudoClass then invoke IsGrayImage() and IsMonochromeImage()
  4357  	and cache the result in image is_grayscale and is_monochrome
  4358  	members for later use.
  4359  
  4360  	* magick/image.h (Image): Added is_grayscale and is_monochrome
  4361  	members to remember if image is grayscale or monochrome.
  4362  
  4363  2003-02-14  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4364  
  4365  	* www/archives.html: commented out sites not mirroring GM yet.
  4366  	Changed "ftp.simplesystems.org" to "ftp.graphicsmagick.org".
  4367  	Added link to graphicsmagick.sf.net.
  4368  
  4369  2003-02-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4370  
  4371  	* magick/utility.c (FormatString): Check for the availability of
  4372  	vsprintf.
  4373  
  4374  	* magick/log.c (LogMagickEvent): Check for the availability of
  4375  	vsprintf.
  4376  
  4377  	* configure.ac: Test for vsprintf.
  4378  
  4379  2003-02-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4380  
  4381  	* magick/annotate.c (RenderFreetype): Used smarter code to prepare
  4382  	the beta argument for AlphaComposite.
  4383  
  4384  2003-02-12  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4385  
  4386  	* coders/logo.c: updated logo.c to produce the GraphicsMagick logo.
  4387  
  4388  2003-02-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4389  
  4390  	* INSTALL-unix.txt: Document that default quantum depth is now 8.
  4391  
  4392  	* VisualMagick/magick/magick_config.h.in: Default quantum depth is now 8.
  4393  
  4394  	* configure.ac: Default quantum depth is now 8.
  4395  
  4396  	* tests/Makefile.am: Test format types that require a size
  4397  	seperately since always specifying the size caused some formats
  4398  	(e.g. PCD) to improperly fail.
  4399  
  4400  2003-02-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4401  
  4402  	* www/NEWS.html: New HTML file for project news.
  4403  
  4404  	* scripts/txt2html: New script for formatting text into HTML.
  4405  
  4406  	* Makefile.am: Automated the generation of www/Changelog.html and
  4407  	www/NEWS.html.
  4408  
  4409  	* coders/xpm.c (WritePICONImage): Close blob using correct image.
  4410  
  4411  	* tests/Makefile.am (CHECK_SIZED_FILES): Added files to tests
  4412  	subdirectory so that tests don't need to use files from
  4413  	PerlMagick.
  4414  
  4415  	* magick/image.c (TransformColorspace): New function to
  4416  	simplify/centralize colorspace transform requests.  Replaced calls
  4417  	to RGBTransformImage and TransformRGBImage throughout the code
  4418  	with calls to TransformColorspace.
  4419  
  4420  	* IMDisplay: Disable save function since it is not implemented yet.
  4421  
  4422  2003-02-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4423  
  4424  	* PerlMagick/Magick.xs (SetAttribute): Support changing back to
  4425  	RGB or Transparent colorspace.
  4426  
  4427  2003-02-10  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4428  
  4429  	* Brought MNG handling of final delay into compliance with MNG spec.
  4430  
  4431  2003-02-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4432  
  4433  	* coders/bmp.c (WriteBMPImage): Added support for
  4434  	bits_per_pixel==4.
  4435  	(WriteBMPImage): Convert PseudoClass images with more than 256
  4436  	colors to DirectClass.
  4437  	(WriteBMPImage): Do not require 2-color images to pass the
  4438  	IsMonochromeImage() test before writing them as one-bit-per-pixel
  4439  	BMPs.  Decided to allow this after four readers (including Windows
  4440  	XP) displayed the image using the proper colormap.
  4441  	(WriteBMPImage): BMP2 encoder was writing colormap using wrong format.
  4442  
  4443  	* images: Updated logo images to GraphicsMagick
  4444  
  4445  	* Added PDF Sages to web page as a sponsor.
  4446  
  4447  2003-02-08  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4448  
  4449  	* www/GraphicsMagick.html: add "gm " prefix to examples.
  4450  
  4451  2003-02-07  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4452  
  4453  	* index.html: Update to distinguish between ImageMagick and
  4454  	GraphicsMagick, and to explain "gm" prefix of commandline utilities.
  4455  
  4456  2003-02-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4457  
  4458  	* magick/nt_feature.c (CropImageToHBITMAP): Remove useless
  4459  	autocrop support which was transferred from CropImage when
  4460  	creating CropImageToHBITMAP.
  4461  
  4462  2003-02-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4463  
  4464  	* coders/miff.c (ReadMIFFImage): RLE packet size was not
  4465  	calculated correctly, causing RLE-compressed MIFF images with
  4466  	depth>8 to not be read.
  4467  
  4468  2003-02-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4469  
  4470  	* magick/paint.c (ColorFloodfillImage): Transfered fix from
  4471  	ImageMagick for the problem that floodfill using a tiled image
  4472  	failed if the target color happened to match the current fill
  4473  	color.
  4474  
  4475  2003-02-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4476  
  4477  	* magick/command.c: Fixed preview error message.
  4478  
  4479  	* coders/preview.c: Previous update had broken noiseimage demo.
  4480  	Also some cleanups.
  4481  
  4482  	* magick/display.c (XMagickCommand): No longer uses
  4483  	MogrifyImage.
  4484  
  4485  	* coders/preview.c (WritePreviewImage): Re-wrote so that
  4486  	MogrifyImage is no longer used. Resize image outside of the loop
  4487  	to improve performance.
  4488  
  4489  2003-02-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4490  
  4491  	* magick/effect.c (ShadeImage): Use PixelIntensityToDouble macro.
  4492  
  4493  	* magick/image.h (PixelIntensityToDouble): Added
  4494  	PixelIntensityToDouble macro to handle the case where pixel
  4495  	intensity is used for floating arithmetic.
  4496  
  4497  2003-01-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4498  
  4499  	* Makefile.am: Distribute files ChangeLog, INSTALL-mac.txt,
  4500  	INSTALL-unix.txt, INSTALL-vms.txt INSTALL-windows.txt, and NEWS.
  4501  
  4502  2003-01-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4503  
  4504  	* coders/svg.c (SVGStartElement): Applied fix from ImageMagick to
  4505  	compute SVG +> MVG viewbox correctly.
  4506  
  4507  	* magick/image.c (CloneImage): Applied fix from ImageMagick which
  4508  	is purported to solve the problem that "negative (x,y) page offsets
  4509  	did not clone properly".
  4510  
  4511  	* magick/gem.c (TransformHWB): Replace implementation with
  4512  	ImageMagick's new version which is supposed to fix a rounding
  4513  	error problem.  Hard to say since implementation is totally
  4514  	different.
  4515  
  4516  	* coders/msl.c (MSLStartElement): Applied fix for missing break
  4517  	from ImageMagick.
  4518  
  4519  	* magick/integral_types.h: New header to include the integral
  4520  	types typedefs.  Needed new header in order to include in both
  4521  	studio.h and api.h at the right point.
  4522  
  4523  	* magick/studio.h: Move nt_feature.h inclusion to the few modules
  4524  	which actually use functions from it.
  4525  
  4526  	* magick/api.h: Added typedefs gm_int16_t, gm_uint16_t,
  4527  	gm_int32_t, gm_uint32_t, gm_int64_t, gm_uint64_t to support
  4528  	specifically sized types.
  4529  
  4530  	* configure.ac: Test for size of `short`, `unsigned short`, `int`,
  4531  	`unsigned int`, `long`, `unsigned long`, `long long`, `unsigned
  4532  	long long` assigning the result to the defines SIZEOF_SHORT,
  4533  	SIZEOF_UNSIGNED_SHORT, SIZEOF_INT, SIZEOF_UNSIGNED_INT,
  4534  	SIZEOF_LONG, SIZEOF_UNSIGNED_LONG, SIZEOF_LONG_LONG, and
  4535  	SIZEOF_UNSIGNED_LONG_LONG respectively.
  4536  
  4537  2003-01-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4538  
  4539  	* magick/fx.c (OilPaintImage): Compute histogram using 8-bit quantums
  4540  	for more sensible performance with Q:16 and Q:32 builds.
  4541  
  4542  	* magick/image.h (PixelIntensityToQuantum): Compute using integral
  4543  	arithmetic for Q:8 and Q:16.  Much faster than floating point!
  4544  	(PixelIntensity): Compute using integral arithmetic for Q:8 and
  4545  	Q:16. Much faster than floating point!
  4546  
  4547  2003-01-28  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4548  
  4549  	* Fixed bug in png.c, introduced in IM-5.5.1.  A pair of
  4550  	{ } brackets were omitted when logging was added, which lets
  4551  	old versions of libpng write a zero-length iCCP chunk.
  4552  
  4553  2003-01-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4554  
  4555  	* magick/effect.c (DespeckleImage): Put loops inside of case
  4556  	statement rather than outside.
  4557  	(SpreadImage): Improved algorithm so that -spread is 12X faster.
  4558  
  4559  	* magick/nt_feature.c (CropImageToHBITMAP): New function to return
  4560  	a region of the image as a HBITMAP.
  4561  
  4562  2003-01-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4563  
  4564  	* Fixed Copyright statement on all source files.
  4565  
  4566  	* magick/effect.c (ThresholdImage): Optimized loop.
  4567  
  4568  	* coders/tiff.c (ReadTIFFImage): Read bits more efficiently for
  4569  	bits_per_sample=1.
  4570  
  4571  	* magick/command.c (MogrifyImage): Set image->dither to
  4572  	image_info->dither prior to invoking SetImageType.
  4573  
  4574  	* magick/constitute.c (WriteImage): Set image->dither to
  4575  	image_info->dither.
  4576  
  4577  	* magick/image.c (SetImageType): For case BilevelType, normalize
  4578  	image, and threshold 50% if dithering is disabled.  This is at
  4579  	least 10X faster than quantizing with dither.
  4580  	(AllocateImage): Initialize image->dither.
  4581  	(CloneImage): Copy image->dither.
  4582  
  4583  	* magick/image.h: Added dither member to Image.
  4584  
  4585  2003-01-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4586  
  4587  	* PerlMagick/t/tiff/read.t: Added a test for reading 16-bit TIFF
  4588  	images.
  4589  
  4590  	* coders/tiff.c (ReadTIFFImage): Support reading 16-bit TIFF images
  4591  	with a Q:8 build.
  4592  
  4593  	* magick/color.c (ConstrainColormapIndex): Use VerifyColormapIndex.
  4594  
  4595  	* coders/pnm.c (ReadPNMImage): Use VerifyColormapIndex.
  4596  
  4597  	* coders/gif.c (DecodeImage): Use VerifyColormapIndex.
  4598  
  4599  	* magick/image.c (SyncImage): Use VerifyColormapIndex.
  4600  
  4601  2003-01-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4602  
  4603  	* magick/blob.c (ReadBlobByte): Use getc when reading from FILE stream.
  4604  
  4605  	* configure.ac: Added tests for getc_unlocked and putc_unlocked.
  4606  
  4607  	* magick/blob.c (ReadBlobByte): Optimized reading from BlobStream.
  4608  	(ReadBlobLSBLong): Optimized reading from BlobStream.
  4609  	(ReadBlobLSBShort): Optimized reading from BlobStream.
  4610  	(ReadBlobMSBLong): Optimized reading from BlobStream.
  4611  	(ReadBlobMSBShort): Optimized reading from BlobStream.
  4612  	(ReadBlobStream): New static inline function to read from BlobStream.
  4613  	(WriteBlob): "Manually" copy data rather than using memcpy() for
  4614  	very small copy sizes.
  4615  	(WriteBlobByte): Use putc() when writing to a FILE stream.
  4616  
  4617  2003-01-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4618  
  4619  	* magick/gem.c (Hull): Count down loops.  Might help.
  4620  	(InterpolateColor): Pre-compute common sub-expressions to improve
  4621  	performance.
  4622  
  4623  	* magick/segment.c (Classify): Implemented idea from Glenn
  4624  	Randers-Pehrson to avoid use of pow() when WeightingExponent is
  4625  	2.0 (which it is).  This makes image segmentation much faster
  4626  	(e.g. 8X).
  4627  
  4628  	* magick/annotate.c (RenderFreetype): For images with
  4629  	matte==False, simply set the opacity of the pixel to be updated to
  4630  	OpaqueOpacity before alpha-compositing the pixel rather than using
  4631  	SetImageType(TrueColorMatteType) to initialize the opacity of the
  4632  	entire image.  This is much faster and scales to large images.
  4633  
  4634  	* magick/image.c (SetImageType): Eliminated unnecessary conditionals.
  4635  
  4636  2003-01-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4637  
  4638  	* magick/effect.c (InsertMedianList): Assign computed quantum
  4639  	indexes to variables to avoid extra computations for
  4640  	QuantumDepth>8.
  4641  
  4642  	* magick/composite.c (AlphaComposite): Pre-compute common
  4643  	expressions in order to improve performance.
  4644  
  4645  	* magick/fx.c (ConvolveImage): Optimized loops.
  4646  
  4647  	* magick/paint.c (TransparentImage): Optimize for case fuzz == 0.
  4648  
  4649  	* magick/color.c (FuzzyColorMatch): Minor cleanup and optimization.
  4650  
  4651  	* magick/locale.c: Added error messages for convolve option.
  4652  
  4653  	* coders/locale.c: Picked up recent changes from ImageMagick version.
  4654  
  4655  	* locale/C.mgk: Added error messages for convolve option.
  4656  
  4657  	* magick/command.c (MogrifyImage): Added support for convolve option.
  4658  
  4659  	* coders/xcf.c (ReadXCFImage): Recognize latest GIMP XCF header.
  4660  
  4661  	* coders/dcm.c: Transferred the apparent salient fixes from
  4662  	ImageMagick for a bug described as "Some DCM grayscale images did
  4663  	not display correctly.".
  4664  
  4665  	* coders/miff.c (ReadMIFFImage): Reading RLE-compressed MIFFs is
  4666  	now about 4X faster.
  4667  
  4668  	* magick/blob.c (OpenBlob): Use setvbuf() to increase stdio buffer
  4669  	size to 16K.  Solaris default is 1K.  This should minimize system
  4670  	call overhead for accessing large files.
  4671  	(ReadBlob): "Manually" copy data rather than using memcpy() for
  4672  	very small copy sizes.
  4673  	(ReadBlobZC): New method, similar to ReadBlob, but provides the
  4674  	opportunity for zero copy on read.
  4675  
  4676  	* magick/constitute.c (PushImagePixels): CMYKA case for
  4677  	image->depth=16 was comparing with 8 instead.
  4678  
  4679  2003-01-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4680  
  4681  	* magick/utility.c (GetMagickGeometry): Removed support for `~`
  4682  	and disabled centering code until we learn where it should go (if
  4683  	anywhere).
  4684  
  4685  	* magick/command.c : Add HWB colorspace transform support.
  4686  
  4687  	* PerlMagick/Magick.xs: Add HWB colorspace transform support.
  4688  
  4689  	* magick/image.c (RGBTransformImage): Add HWB colorspace transform
  4690  	support.
  4691  	(TransformRGBImage): Add HWB colorspace transform support.
  4692  
  4693  2003-01-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4694  
  4695  	* magick/utility.c (GetMagickGeometry): Add support for new new
  4696  	`~` geometry string flag.  This also fixes a montage bug in which
  4697  	thumbnails were mis-sized if the geometry specification incuded x
  4698  	or y offsets.
  4699  
  4700  	* magick/image.h (GeometryFlags): Added CenterValue enumeration to
  4701  	correspond with new `~` geometry string flag.  Taking
  4702  	ImageMagick's lead on this.
  4703  
  4704  	* magick/render.c: Transferred fixes from ImageMagick for an
  4705  	artifact which occured at the 360 degree point when rendering
  4706  	circles, ellipses, and arcs.  Bug reported by io219@attbi.com.
  4707  
  4708  	* PerlMagick/Magick.xs: Add HSL colorspace transform support.
  4709  
  4710  	* magick/command.c: Add HSL colorspace transform support.
  4711  
  4712  	* magick/image.c (RGBTransformImage): Add HSL colorspace transform
  4713  	support.
  4714  	(TransformRGBImage): Add HSL colorspace transform support.
  4715  
  4716  2003-01-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4717  
  4718  	* Updated copyright statement on source files to reflect
  4719  	the GraphicsMagick Group rather than ImageMagick Studio.
  4720  
  4721  	* magick/constitute.c (ConstituteImage): Simplified the switch
  4722  	statement for inner loops by creating a simplified map in advance.
  4723  	(DispatchImage): Simplified the switch statement for inner loops
  4724  	by creating a simplified map in advance.
  4725  
  4726  	* magick/compress.c (HuffmanEncodeImage): Test and cache the
  4727  	return value of LocaleCompare(image_info->magick,"FAX") so that
  4728  	LocaleCompare is not executed repeatedly in the output loop.
  4729  
  4730  	* magick/color.c (IsGrayImage): Optimized loops.
  4731  	(IsMonochromeImage): Optimized loops.
  4732  	(IsOpaqueImage): Optimized loop.
  4733  
  4734  	* magick/delegate.c (InvokePostscriptDelegate): When using the
  4735  	Ghostscript library, identify the library as "[ghostscript library]"
  4736  	rather then "gsdll32" so that -verbose prints something useful for
  4737  	both Windows and Unix.
  4738  
  4739  2003-01-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4740  
  4741  	* NEWS: New file.
  4742  
  4743  	* magick/montage.c (MontageImages): Use ThumbnailImage() rather
  4744  	than ZoomImage() to resize montage thumbnails provided that the
  4745  	user has not specified an image filter, and the montage thumbnail
  4746  	is smaller than the image. This should provide faster montages
  4747  	for large images.
  4748  
  4749  	* magick/resize.c (ResizeImage): Added logging support.
  4750  	(MagnifyImage): Added logging support.
  4751  	(MinifyImage): Added logging support.
  4752  	(SampleImage): Added logging support.
  4753  	(ScaleImage): Added logging support.
  4754  
  4755  2003-01-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4756  
  4757  	* magick/transform.c (ProfileImage): Duplicate ImageMagick changes
  4758  	to image colorspace handling.  Avoids using
  4759  	SetImageType(image,ColorSeparationMatteType).
  4760  
  4761  	* magick/fx.c (OilPaintImage): Replaced with ImageMagick version
  4762  	since ImageMagick version has been updated to not penalize Q:8.
  4763  	Optimized loops.
  4764  
  4765  	* magick/display.c (XDisplayImage): Display to 100% of
  4766  	the screen size rather than 90% of the screen size.
  4767  
  4768  	* magick/enhance.c (ModulateImage): Ensure that arguments
  4769  	are always positive values.  Optimized loops.
  4770  	(ContrastImage): Optimized loops.
  4771  
  4772  	* magick/gem.c (HSLTransform): Optimized performance by
  4773  	eliminating redundant intermediate calculations. This
  4774  	makes `gm convert -contrast` 21% faster.
  4775  	(HSLTransform): Set to inline within the gem.c module.
  4776  	(TransformHSL): Set to inline within the gem.c module.
  4777  	(Contrast): Moved to bottom of gem.c module so HSLTransform
  4778  	and TransformHSL can be inlined. Simplified conditionals.
  4779  	(Modulate): Moved to bottom of gem.c module so HSLTransform
  4780  	and TransformHSL can be inlined. No longer check/correct
  4781  	negative values.
  4782  
  4783  2003-01-14 William Radcliffe <billr@corbis.com>
  4784  
  4785  	* magick/blob.c
  4786  
  4787  	* magick/blob.h
  4788  	Added new stream type flag and support to match with the one
  4789  	added to ImageMagick.
  4790  
  4791  2003-01-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4792  
  4793  	* magick/image.c (RGBTransformImage): Fixed bug (thanks to
  4794  	Bill for finding it) and finished optimizing XYZ table
  4795  	creation.
  4796  	(AverageImages): Optimized loops.
  4797  	(ChannelImage): Optimized loops.  3X speed-up for SPARC.
  4798  
  4799  	* magick/enhance.c: Optimized NegateImage().
  4800  
  4801  2003-01-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4802  
  4803  	* Set some common API structures to 0xbf prior to deallocation
  4804  	to make accidental continued use more obvious.
  4805  
  4806  2003-01-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4807  
  4808  	* magick/constitute.c: Minor optimizations to PopImagePixels()
  4809  
  4810  	* coders/dpx.c: Reading the DPX header was off by 4 bytes.
  4811  
  4812  	* coders/(art.c,avs.c,bmp.c,cmyk.c,dcm.c,dib.c,dpx.c,fax.c,
  4813  	fits.c,gray.c,icon.c,map.c,miff.c,mono.c,mpc.c,mtv.c,otb.c,
  4814  	pcx.c,pdb.c,pict.c,pix.c,pnm.c,pwp.c,rgb.c,rla.c,rle.c,sct.c,
  4815  	sgi.c,sun.c,tga.c,tim.c,uyvy.c,vicar.c,viff.c,wbmp.c,xwd.c,
  4816  	yuv.c): Ensure that blob is closed on unexpected EOF.
  4817  
  4818  	* magick/image.c: Optimized SetImageOpacity().
  4819  	Optimized SetImage() for intializing non-opaque images.  The
  4820  	opacity channel was being intialized twice.
  4821  
  4822  2003-01-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4823  
  4824  	* magick/constitute.c: Log entry and exit from coders so that
  4825  	coders don't need to.
  4826  
  4827  	* Finished re-writing PushImagePixels() using coding practices
  4828  	which may result in faster code.
  4829  
  4830  	* PerlMagick is changed from Image::Magick to Graphics::Magick
  4831  	in order to avoid conflicts with the ImageMagick version.  This
  4832  	means that any Perl scripts based on the ImageMagick version need
  4833  	to do a global replace of Image::Magick to Graphics::Magick.
  4834  
  4835  	* PerlMagick/reference/filter/Raise.miff: Replaced with new version.
  4836  
  4837  2003-01-08 William Radcliffe <billr@corbis.com>
  4838  
  4839  	* magick/nt_feature.c
  4840  	Make ImageToHBITMAP function in nt_feature.c compile under Visual
  4841  	C++ again.
  4842  
  4843  2003-01-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4844  
  4845  	* coders/delegates.mgk.in: Fix cgm entry.  How did it become so
  4846  	terribly broken?
  4847  
  4848  	* coders/dps.c: Adding logging support.
  4849  
  4850  	* PerlMagick/t/read.t: Changed file read tests to use image
  4851  	compares with a reference image rather than comparing with a
  4852  	signature.
  4853  
  4854  	* PerlMagick/t/wmf/read.t: Ditto.
  4855  	magick/shear.c: Fixed documentation for RotateImage.
  4856  
  4857  2003-01-08  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
  4858  
  4859  	* magick/magick.c, magick/magick.h: Add "note" member of magick_info.
  4860  
  4861  	* coders/art.c, coders/fax.c, coders/dcm.c, coders/png.c: add notes
  4862  	to format registrations.
  4863  
  4864  	* fx.c: changed default "colorize" behaviour to preserve image opacity.
  4865  
  4866  2003-01-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4867  
  4868  	* magick/svg.c: Allow the user to specify the initial background
  4869  	color via the -background option.  This is only useful if the SVG
  4870  	doesn't draw its own background rectangle.
  4871  
  4872  2003-01-06  Albert Chin-A-Young  <china@thewrittenword.com>
  4873  
  4874  	* ltdl/Makefile.am, ltdl/ltdl.c: Fix compilation problem
  4875  	under Tru64 UNIX 5.1.  The GraphicsMagick random.h was being
  4876  	included when the system random.h was needed.
  4877  
  4878  	* configure.ac: Improve robustness of POSIX thread API tests
  4879  	by including pthread.h when building the test program.
  4880  
  4881  2003-01-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
  4882  
  4883  	* magick/image.c: In IsImagesEqual() only use type `long double`
  4884  	for error summation if QuantumDepth > 16 and `long double` has
  4885  	more range than `double`.
  4886  
  4887  	* magick/quantize.c: In QuantizeImage() only use type `long
  4888  	double` for error summation if QuantumDepth > 16 and `long
  4889  	double` has more range than `double`.
  4890  
  4891  	* Replaced redundant code with macros.
  4892  
  4893  	* Optimize mapping to monochrome.
  4894  
  4895  	* utilities/conjure.c: Had missed removing this file earlier.
  4896  
  4897  2003-01-04  Derry Bryson  <dbryson@techass.com>
  4898  
  4899  	* magick/decorate.c: Use the ShadowFactor rather than ShadowModule
  4900  	define in RaiseImage() (bug-fix).
  4901