2003-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/annotate.c (RenderFreetype): Ensure that image storage class is set to DirectClass. Text rendering was not working properly on top of PseudoClass images.
magick/map.c (MagickMapRemoveEntry): Logic didn't properly handle removing entry in list.
configure.ac: Added --enable-efence option to enable memory debugging using Electric Fence.
2003-12-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
tests/maptest.c (main): Extended test to add an entry to the list after an entry has already been removed.
magick/image.c (ColorspaceTypeToString): Add support for LAB colorspace.
magick/map.c: Added signature members to all structures and added assertions to ensure that the signature == MagickSignature prior to use. MagickMapAllocateObject now initializes the object reference count to one, and MagickMapDestroyObject decrements it in order to be more correct even though the object reference count is not actually used yet. (MagickMapCopyString): Preserve a null argument, and use AcquireString since it doesn't enlarge the string storage. (MagickMapCopyBlob): Preserve null blobs.
configure.ac: Search for the shmctl() function. Under current Cygwin, this is hiding in -lcygipc.
2003-12-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/composite.c: Fixed the composite operator list in the CompositeImage documentation.
www/api/types.html: Corrected list of composition operators. Sometime prior to the creation of GraphicsMagick, the "Replace" composite operators were renamed to be "Copy" composite operators. Thanks to David Relson for bringing this problem to our attention.
PerlMagick/Magick.xs: Added "LAB" to colorspace types.
magick/image.h (enum ColorSpace): Add LABColorspace enumeration.
wand/magick_wand.h : Add some compatibility definitions to translate from ImageMagick enumerations to existing GraphicsMagick enumerations.
2003-12-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/annotate.c: Use header synonyms defined by FreeType's ftheader.h (included via <ft2build.h>) to include FreeType headers. This will presumably be more portable in the future.
configure.ac: <ft2build.h> is an optional prerequisite for <freetype/freetype.h> and <libwmf/ipa.h> so include it when testing for these headers.
magick/annotate.c: Include <ft2build.h> if it is available.
2003-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
wand/wandtest.c: Ported from latest ImageMagick version.
wand/drawing_wand.c: Adapted to be compatible with latest ImageMagick version.
wand/pixel_wand.c: Adapted to be compatible with latest ImageMagick version.
wand/magick_wand.c: Ported from latest ImageMagick version.
magick/image.h (Image): Members color_profile, iptc_profile, generic_profile, and generic_profiles are now deprecated and private although they continue to work as before. Please migrate existing code to use the GetImageProfile and SetImageProfile functions since these members will eventually be removed.
magick/image.c (GetImageProfile): New function to retrieve an image profile. Return value differs from similarly named ImageMagick method since the ImageMagick approach assumes a particular storage method. (SetImageProfile): New function to add (or remove) an image profile. Does not execute CMS color profiles.
magick/cache.c (SetImageVirtualPixelMethod): Return unsigned int to make the Wand implementation happy.
magick/image.c (TransformColorspace): Return unsigned int to make the Wand implementation happy. (SetImageType): Return unsigned int to make the Wand implementation happy.
magick/draw.h, magick/draw.c: Substitute unsigned long in place of size_t in interfaces so that the draw API is not sensitive to the definition of _LP64.
locale/C.mgk: Added new messages required by Wand library.
magick/error.c (ExceptionSeverityToTag): Add tag translations for the WandWarning, WandError, & WandFatalError enumerations
magick/error.h (enum ExceptionType): Add WandWarning, WandError, & WandFatalError enumerations to ExceptionType for ImageMagick API compatibility.
magick/image.h (enum ChannelType): Add an AllChannels enumeration to the ChannelType enumeration for ImageMagick API compatibility.
2003-12-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
PerlMagick, tests: Adjusted allowed error values for tests based on new error computation arithmatic. Some tests were left failing since the operation they test provides results which are unreasonably inaccurate, or obviously broken.
2003-12-17 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
coders/jpeg.c: Changed "JPEG:preserve-settings from a key/value pair to a simple flag. Save and restore attributes when "-define JPEG:preserve-settings" appears on the commandline. Use "+define JPEG:preserve-settings" to unset the flag.
2003-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/wmf.c: Include <ft2build.h> if it is available since some libwmf installs don't work unless it is included before the libwmf API headers.
configure.ac: Check for <ft2build.h>.
2003-12-16 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
coders/jpeg.c: Changed stored jpeg quality attribute from [jpeg-quality] to JPEG-Quality. Added attributes JPEG-Colorspace and JPEG-Sampling-factors. Added code to save and restore these attributes when "-define JPEG:preserve-settings=yes" is present in the comandline. Quality is restored if the input was a JPEG and the quality was preserved. Sampling factors are restored if the input was a JPEG, sampling factors were preserved, and the colorspace for the output file is the same as that of the input file.
2003-12-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
TclMagick/source/configure.ac: Add an initial TclMagick configure-based build environment based on a template and macros from the Tcl project. I recall that while the extension does build, it is possible that it is not properly registered as a module to Tcl.
2003-12-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/image.c (IsImagesEqual): Properly compute error distance vectors. Math was missing the necessary sqrt call. Also, pre-normalize the error differences to 1.0 in order to reduce the storage size required to store the summation of error values.
PerlMagick/t/composite.t: Update Minus and Xor reference images.
magick/composite.c (CompositeImage): Incorporated fixes from ImageMagick for XorCompositeOp, PlusCompositeOp, and MinusCompositeOp. Thanks to John Cristy for bringing the need for these fixes to our attention.
magick/image.h (RoundToQuantum): Added missing parenthesis.
2003-12-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
doc/environment.imdoc: Document MAGICK_CODER_MODULE_PATH and MAGICK_FILTER_MODULE_PATH.
rungm.sh.in: Pass MAGICK_CODER_MODULE_PATH and MAGICK_FILTER_MODULE_PATH in the environment so modules build may be tested without first being installed.
magick/module.c (FindMagickModule): Use the MAGICK_CODER_MODULE_PATH environment variable to specify a search path for coder modules. Use MAGICK_FILTER_MODULE_PATH to specify a search path for filter modules.
Makefile.am: Updated to Automake 1.8. (install-exec-perl): Fixes which achieve a successful make distcheck for the first time in *Magick history.
configure.ac: Set scripts to executable.
2003-12-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Makefile.am (uninstall-data-html): Pathnames were computed incorrectly so documentation directories were being left behind.
configure.ac: --without-frozenpaths is now the default. This helps make distcheck work and makes the package more portable. Path to gm was being incorrectly frozen when --without-frozenpaths was specified.
magick/delegate.c (ReadConfigureFile): Validate delegate paths prior to substitution.
rungm.sh.in (top_builddir): Use a more reliable scheme for computing location of source and build directories.
magick/Makefile.am: Improve include directory computation logic.
configure.ac: Don't override includedir. Pass user-supplied LIBS to the linker.
2003-12-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
coders/jpeg.c: store JPEG quality as "[jpeg_quality]" attribute.
2003-12-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
rungm.sh.in: New script to support executing uninstalled executables.
magick/blob.c (GetConfigureBlob): New MAGICK_CONFIGURE_PATH environment variable allows the user to specify the search path for configuration (.mgk) files.
2003-12-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
index.html: Added a table showing current stable release and development version.
2003-12-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
doc/options.imdoc (use): Describe the syntax of the -process argument.
acinclude.m4 (AC_CHECK_CC_OPT): Add quoting in AC_CHECK_CC_OPT definition. Change suggested by Patrick Welche
2003-12-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/magick.c (GetMagickInfo): Fix preprocessing logic error which caused moby shared library build to not register static modules.
2003-12-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/module.c (ExecuteModuleProcess): Add some logging.
magick/static.c (ExecuteStaticModuleProcess): Add some logging.
2003-11-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
VisualMagick/installer: Add optional build support for LZW.
wand/Makefile.am: Add AUTOMAKE_OPTIONS.
configure.ac: Update to Autoconf 2.59.
2003-11-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
VisualMagick/installer/inc/tasks-install-perlmagick.isx: Update to reflect that the next release will use ActivePerl 5.8.1 Build 807.
VisualMagick/installer/inc/files-configs.isx: Updated the source locations for the .mgk files. Install modules.mgk into the config directory rather than the modules directory.
configure.ac: Fixes to work with latest CVS libtool.
libtool.m4: Update to latest CVS libtool.
magick/modules.c, magick/static.c (ExecuteStaticModuleProcess): Fix conditional compilation logic so that "moby" shared library build works again.
magick/compress.c, magick/mac.c: Use existing SaveImageText and LoadImageText global constants rather than separate defines.
2003-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
configure.ac: Update to Autoconf 2.58.
Makefile.am: Update to Automake 1.7.9.
2003-11-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/draw.c (DrawComposite): Base64-encoded image was not being deallocated. Bad memory leak.
2003-11-03 Mike Chiarappa <mikechiarappa@libero.it>
BCBMagick: Updated installation procedure. Please read BCBMagick/readme.txt for details.
2003-11-03 Mike Chiarappa <mikechiarappa@libero.it>
BCBMagick: Released DLL Version. Please read BCBMagick/readme.txt for details about installation and/or use.
2003-11-03 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/utility.c (GetPathComponent): Added x, X, and + characters to list of legal characters in subimage specifications. Required by raw RGB image reader which accepts the syntax "image.rgb[100x100+50+50]". Thanks to John Cristy for catching that one.
2003-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/locale.c (GetLocaleMessageFromID): Fix ID range checking logic.
2003-10-30 Lars Ruben Skyum <lars.skyum@stibo.com>
coders/jpeg.c: changed to not write gray CMYK images as grayscales. That would not be a valid optimization.
magick/color.c (IsGrayImage, IsMonochromeImage): Changed to never return true for CMYK images. Separated images get wrong colors when optimized to grayscales based on what these two functions return. Gray and CMYK are two different color spaces.
magick/nt_feature.c (NTIsMagickConflict): changed to accept colon as part of the magick string, consistent with the way the function is used.
magick/utility.c, magick/utility.h (ExpandFilenames, GetPathComponent): Fixed filename glob expansion. Added handling of filename prefix-magick and sub-image specification to GetPathComponent. Sub-image specification takes precedence over any filename patterns.
2003-10-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/static.c (ExecuteModuleProcess): Renamed from ExecuteStaticModuleProcess. Only compiled if SupportMagickModules is not defined.
magick/type.c (GetTypeBlob): Eliminated function. (ReadTypeConfigureFile): Use GetConfigureBlob() rather than GetTypeBlob().
magick/module.c (GetModuleBlob): Eliminate this function since modules.mgk is now installed under ${prefix}/share/GraphicsMagick-version/config so GetConfigureBlob() may be used. (lt_dlexit, etc.) Eliminate fake libltdl function wrappers used for the static build. (DestroyMagickModules): Added a new destroy function (simply invokes DestroyModuleInfo()). (GetModuleList): Learn where modules live by using FindMagickModule() to locate the LOGO module rather than by using the location of modules.mgk. This is necessary since now modules.mgk may be seperate from the modules. (GetModuleBlob): Eliminated function. (InitializeMagickModules): New function to safely initialize the module loader. (OpenModule): Added logging messages. (OpenModules): Added logging messages. (ReadModuleConfigureFile): Use GetConfigureBlob() rather than GetModuleBlob(). Totally eliminated the rat's-nest of conditional code dependent on SupportMagickModules. Now all the code in module.c is dependent on #if defined(SupportMagickModules).
magick/magick.c (DestroyMagick): Invoke DestroyMagickModules(). (GetMagickInfo): #ifdef chunks of code which exist to support the modules-build rather than forcing the module loader to pretend that modules are being used when they are not. Pass module loading exceptions back to the user rather than discarding them. (GetMagickInfoArray): Don't inspect the exception status since may short-circuits the operation. Use best-effort instead. (ListMagickInfo): Don't inspect the current exception status so that all the modules which did load successfully will be represented. (InitializeMagick): Invoke InitializeMagickModules().
magick/log.c: (GetLogBlob): Eliminated function. GetConfigureBlob() is safe to use now when configuring logging. (LogToBlob): Simplified function. Only exists since FileToBlob() may throw exceptions (which are logged, causing deadlock). (ReadLogConfigureFile): Use GetConfigureBlob().
magick/blob.c (GetConfigureBlob): Re-written to use the MagickMap interface and to support the new lib and share config directories. The directory ${prefix}/lib/GraphicsMagick-version/config is scanned before ${prefix}/share/GraphicsMagick-version/config. (FileToBlob): Simplified implementation.
config/Makefile.am: New makefile to install .mgk files.
magick/magick_config.h.in: Added MagickLibConfigPath and MagickShareConfigPath defines.
configure.ac: Install configuration files (.mgk files) in ${prefix}/lib/GraphicsMagick-version/config and ${prefix}/share/GraphicsMagick-version/config. Architecture independent files to under "share" while architecture dependnet files go under "lib".
Makefile.am: Added config subdirectory to distribution. All .mgk files are moved from coders & magick into this single directory.
2003-10-21 Mike Chiarappa <mikechiarappa@libero.it>
magick/studio.h: small modifications to achieve DLL compilation of library with Borland C++ Builder.
coders/ps3.c (ZLIBEncode2Image): Fixed bug. Compilation fail when HasZLIB is undefined because parameters 5 and 6, are undefined.
2003-10-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
libtool.m4: Updated libtool again to CVS latest version. Libtool required some fixes for building DLLs under MinGW.
magick/resource.c (InitializeMagickResources): Some code is conditional based on HAVE_POPEN.
magick/utility.c (SystemCommand): Improved conditional compilation logic.
magick/blob.c (OpenBlob): Code depending on popen() is conditionally compiled based on HAVE_POPEN. Code depending on pclose() is conditionally compiled based on HAVE_PCLOSE.
configure.ac: Add test for _pclose(), pclose(), _popen(), and popen().
magick/locale.c (GetLocaleMessage): Add missing MagickExport. (GetLocaleMessageFromID): Add missing MagickExport.
VisualMagick/installer/inc/files-development.isx (Source): Include all of the headers from the magick directory in the development package. Including them individually is too error prone.
2003-10-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
VisualMagick/magick/magick_config.h.in: Added PREFIX_MAGICK_SYMBOLS as a configuration option.
magick/module.c (_CoderInfo): Added register_function and unregister_function members to record the module's register and unregister function addresses. (OpenModule): Locate the module's register and unregister functions and save their address to the module's CoderInfo record. (UnloadModule): Invoke the module unregister function using the address recorded by OpenModule(). (TagToFunctionName): If PREFIX_MAGICK_SYMBOLS is defined, then add a "Gm" prefix to the register and unregister function names.
libtool: Updated libtool files to the latest CVS version.
configure.ac: Changed define name from MAGICK_SYMBOL_PREFIX to PREFIX_MAGICK_SYMBOLS since support is not available for specifying an arbitrary prefix.
2003-10-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
configure.ac: Added --enable-symbol-prefix configure option which prepends "Gm" to all GraphicsMagick library symbols using the C pre-processor. In the future, this may change to support specifying an arbitrary prefix, depending on experience.
magick/studio.h: Include magick/symbols.h.
magick/api.h: Include magick/symbols.h.
magick/symbols.h: New header to support optionally remapping library symbols. If MAGICK_SYMBOL_PREFIX is defined, then library symbols are remapped.
2003-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/api.h: Removed inclusion of <magick/semaphore.h> since it is an implementation header.
2003-10-13 Lars Skyum <lrs@stibo.dk>
www/GraphicsMagick.html, www/animate.html, www/composite.html, www/conjure.html, www/convert.html, www/display.html, www/gm.html, www/identify.html, www/import.html, www/mogrify.html, www/montage.html: added documentation for "-define" command line option.
doc/brief_options.imdoc, doc/options.imdoc: Added documentation for "-define" command line option.
doc/gmdocselect, doc/imdocselect: Changed "skipform" label in sed scripts to just "skipf". Solaris sed had problems with the long(?) "skipform" label.
2003-10-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
doc/composite.imdoc, doc/options.imdoc, doc/GraphicsMagick.imdoc: Attempted to clarify the meaning of the compose arguments and how composition works, as well as eliminating use of hard-coded values like 255.
www/links.html: Added a link to Michael Still's article "Graphics from the command line".
2003-10-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/*.c: Updated module descriptions so that they accurately describe the module rather than saying "Read/Write GraphicsMagick Image Format".
coders/cineon.c: Fix source module description. Contrary to opinion, ImageMagick did not invent the Cineon X image format so description is now "Read/Write Cineon X Image Format."
magick/magic.mgk: Added a CINEON entry for the Cineon X image format.
magick/static.c (RegisterStaticModules): Invoke RegisterCINEONImage().
coders/modules.mgk: Map "CIN" magick to CINEON module.
2003-10-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
locale/C.mgk: Added message for "UnrecognizedCommand".
magick/command.c (MagickCommand): No error was reported when a subcommand failed to be matched so gm foo would silently return. Now an error message is properly reported.
2003-10-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Makefile.am: Updated to Automake 1.7.8.
various: Edits to eliminate minor issues detected by SGI C compiler.
coders/ps3.c (WritePS3Image): Variable value was set but never used so it is removed.
magick/image.c (RGBTransformPacket): Removed inline request since this function is too big to inline.
magick/animate.c (XAnimateBackgroundImage): Fixed a GCC 3.X "type pinning" warning.
magick/display.c (XDisplayBackgroundImage): Fixed a GCC 3.X "type pinning" warning.
magick/render.c (GetPixelOpacity): Removed inline directive. No one in their right mind could ever imagine this function inlining successfully.
magick/cache.c (IsNexusInCore): Adjusted so function inlines as requested.
coders/tiff.c (ReadTIFFImage): Improved logging information. (WriteTIFFImage): Changed the way the bilevel/grayscale logic works. Now bilevel images are treated similar to any other grayscale image unless CCITT FAX3 or FAX4 compression is requested (which selects the MINISWHITE photometric). The default is now to write uncompressed bilevel images with MINISBLACK photometric.
PerlMagick/t/composite.t: Use some reasonable error values.
magick/image.c (GetImageDepth): Added special cases for colormapped images and monochrome images in order to improve performance.
2003-10-09 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
NEWS: added info about color scaling, sampling-factor, and changed a reference to "-coder-options" to "-define".
2003-10-09 Lars Ruben Skyum <lars.skyum@stibo.com>
VisualMagick/bin/modules.mgk: added EPS3 mapping to PS3 module.
coders/ps3.c, coders/tiff.c, magick/command.c, magick/image.c, magick/image.h, magick/utility.c: Changed -coder-options option to -define. Also renamed functions {Add,Remove,Access}CoderOption(s) to {Add,Remove,Access}Definition(s). Changed ps coder-specific option ps:image=imagemask to just ps:imagemask.
2003-10-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/cineon.c: Imported and adapted Cineon image format coder written by Kelly Bergougnoux <three3@users.sourceforge.net> with assistance from John Cristy.
2003-10-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
coders/jpeg.c: Extended -sampling-factor option to allow user to supply full set of sampling factors. If the full set is not supplied, omitted ones are 1x1 by default, similar to the behavior of "cjpeg -sample".
magick/command.c: Accept multiple pairs of sampling factors.
2003-10-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/tiff.c (WriteTIFFImage): Re-arranged logging for improved output. Cleaned up evaluation of SAMPLESPERPIXEL and BITSPERSAMPLE. Provided support for the TIFF coder options tiff:samples-per-pixel and tiff:bits-per-sample for power users. (ReadTIFFImage): Colormap generation for PHOTOMETRIC_MINISBLACK and PHOTOMETRIC_MINISWHITE was inaccurate. Seems to be accurate now.
PerlMagick/t/reference/read/input.miff: Updated due to Glenn's change to scale macros.
PerlMagick/t/tiff/input_gray_12bit.tiff: Replaced 12 bit image with a different one which is written by GraphicsMagick.
coders/ps3.c (WritePS3Image): Use AccessCoderOption().
magick/image.c (AccessCoderOption): Added a function to use for accessing coder-specific options.
2003-10-08 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/attribute.c (TraceSVGClippingPath): optimized for speed and precision in clipping mask generation by using lines to connect Bezier curve anchor points where applicable.
2003-10-07 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
Revised ScaleColor5to8 and ScaleColor6to8 macros again, to fill the low bits correctly.
2003-10-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
PerlMagick/t/tiff/read.t: Added 16-color and 256 color colormapped tests with a matte channel.
PerlMagick/t/tiff/write.t: Added 16-color and 256 color colormapped tests with a matte channel.
coders/tiff.c (WriteTIFFImage): When using LZW compression, apply the horizontal differencing predictor to RGB truecolor and deep gray images since the TIFF spec says that LZW compression is usually improved by using horizontal differencing with continuous tone images. Re-implemented grayscale and colormapped scanline preparation to use the new bit-stream interface. This is a bit slower, but very flexible, and the implementation is very compact. Writing of a matte (transparency) channel is now believed to be correct for all depths.
magick/command.c (MogrifyImage): Only transform the colorspace if it has been set (i.e. is not UndefinedColorspace).
2003-10-06 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
coders/png.c (ReadOnePNGImage): PNG decoder would exit too early when reading image.png[0].
2003-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
PerlMagick/t/tiff/write.t: Added TIFF write tests for 4 bits-per-sample TIFF images, both with and without a transparency channel.
magick/image.c (DescribeImage): Added -verbose support for displaying individual channel depths.
2003-10-06 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/image.c (SetImageInfo): cleaned up parsing of subimage specification (image.psd[0]). It would fail sometimes due to incorrect reuse of variables. It's a bit strange the code accepts more range syntax-variations than can be stored in ImageInfo.
2003-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/image.c (ChannelImage): The OpacityChannel, MatteChannel, and BlackChannel operations set the matte channel to opaque, so set image->matte to False for those operations. (RGBTransformImage): Add an assertion to prevent passing the colorspace argument UndefinedColorspace. (TransformRGBImage): Add an assertion to prevent passing an image with colorspace set to UndefinedColorspace.
2003-10-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/log.c (LogToBlob): Since MagickSeek(file,0,SEEK_END) is used to obtain the Blob size, MagickSeek(file,0,SEEK_SET) must be used to restore the seek position. Thanks to John Cristy for bringing this to our attention.
2003-10-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/bit_stream.h: Added a bit-stream writer function.
PerlMagick/t/reference/read/input_tim.miff: Reference image was defective.
2003-10-03 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/image.c, magick/image.h: Updated AddCoderOptions to accept "flag" keys that have no values. They are placed in the coder options map with an empty, zero length string value. Option argument syntax is now: "key1[=[value1]],key2[=[value2]],..."
2003-10-03 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/command.c: Updated +coder-options option to not clear the entire map of coder options, but accept a list of names to remove from the map. Use option argument "*" to clear the entire map of coder options.
magick/image.c, magick/image.h: Added function RemoveCoderOptions. Added cast of signed char to unsigned char and int in calls to isspace and isprint.
magick/utility.c: Added cast of signed char to unsigned char and int in calls to isspace and isprint. Added special handling of +coder-options option in ExpandFilenames function.
2003-10-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
PerlMagick/t/reference/read/input_tim.miff: The TIM read results changed somewhat due to Glenn's ScaleColor5to8 fix.
2003-10-01 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
Revised ScaleColor5to8 and ScaleColor6to8 macros to fill in the low bytes.
coders/bmp.c (ReadBMPImage): scaling of 8-8-8-8-bit images was also slightly incorrect.
2003-09-30 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
coders/bmp.c (ReadBMPImage): scaling of 5-5-5-bit and 5-6-5-bit images was slightly incorrect.
2003-09-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/tiff.c (ReadTIFFImage): When using the generic bit-stream marshaller to read colormapped/gray images, the slight performance improvement from creating a special case for matte images did not justify almost doubling the amount of code. Therefore, the two loops are combined back into one.
2003-09-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/tiff.c (ReadTIFFImage): Fixed reading grayscale TIFFs that have a transparency channel. Now uses a generic bit-stream marshaller to allow reading any grayscale or colormapped TIFF with any bits per sample in the range of 1 to 16.
magick/bit_stream.h: Added a generic implementation for marshalling from a bit-stream into a quantum. Still needs re-writing for best performance.
PerlMagick/t/tiff/read.t: Added a test case for reading 8-bit grayscale TIFF with matte. Corrected grayscale 12-bit read signatures. Added 16 color PseudoClass read test. Added 4-bit grayscale read test.
2003-09-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/tiff.c (WriteTIFFImage): Add support for writing DirectClass grayscale images at 4 bits per sample, including those with an opacity channel. This allows writing smaller files (half the size) when the image has 16 (or less) levels of gray. Use "gm convert inimage.tiff -depth 4 outimage.tiff" to quickly create grayscale TIFF file with 16 (or less) levels of gray.
2003-09-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
NEWS: Updated NEWS file with changes since last update.
index.html: Added a link to the www/AUTHORS.html file, as well as text stating that GraphicsMagick is originally derived from ImageMagick 5.5.2, with a link to the ImageMagick site.
Makefile.am: Add rules to generate www/AUTHORS.html.
www/AUTHORS.html: New HTML file based on the AUTHORS file in the source package. GraphicsMagick has many authors.
magick/image.c: Updated DescribeImage to cleanup EXIF data display based on work by Cristy in ImageMagick.
2003-09-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/tiff.c (WriteTIFFImage): Add support for writing colormapped TIFF images with 1, 2, & 4 bits per colormap index. This allows writing smaller files.
2003-09-24 Lars Ruben Skyum <lars.skyum@stibo.com>
coders/ps3.c: Now creates a correct %%BoundingBox for images with resolution stored as pixels per centimeter. Renamed serialize functions. Added comment headers where they were missing. Reformatted code to be in alignment with GraphicsMagick standard formatting.
magick/map.c: Fixed semaphore double locking problem in MagickMapCloneMap.
2003-09-23 Mike Chiarappa <mikechiarappa@libero.it>
BCBMagick/readme.txt : Updated compilation instructions.
BCBMagick/magick/libMagick.bpr : Updated project, now include map.c.
BCBMagick/lcms/Projects/BCB6/lcms.bpr : Updated project, now include cmscam02.c and cmsvirt.c. Much thanks to Alex Dvoretsky for bringing this problem to my attention.
2003-09-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/image.h (Image): Moved private members to bottom of structure. (_ImageInfo): Moved private members to bottom of structure.
magick/Makefile.am (pkginclude_HEADERS): Don't install semaphore.h. (noinst_HEADERS): Distribute map.h and semaphore.h.
magick/image.h (ImageInfo): Change coder_options member from type MagickMap to type void *.
coders/png.c: include magick/semaphore.h.
magick/blob.c: include magick/semaphore.h.
magick/color.c: include magick/semaphore.h.
magick/constitute.c: include magick/semaphore.h.
magick/delegate.c: include magick/semaphore.h.
magick/log.c: include magick/semaphore.h.
magick/magic.c: include magick/semaphore.h.
magick/magick.c: include magick/semaphore.h.
magick/module.c: include magick/semaphore.h.
magick/semaphore.c: include magick/semaphore.h.
magick/stream.c: include magick/semaphore.h.
magick/tempfile.c: include magick/semaphore.h.
magick/type.c: include magick/semaphore.h.
magick/blob.h (_BlobInfo): Changed Semaphore * to void *.
magick/cache.h (_CacheInfo): Changed Semaphore * to void *.
magick/image.h (_Image): Changed Semaphore * to void *.
magick/command.c: Updated each invokation of MagickMapAddEntry() to add an exception argument.
tests/maptest.c: Updated to pass an exception argument to MagickMapAddEntry.
magick/image.c (AddCoderOptions): Added exception argument and some more error handling.
magick/map.c: Added formal documentation for methods. (MagickMapCloneMap): Added exception argument. (MagickMapAddEntry): Added exception argument and status.
2003-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/emf.c: Changed NotAnEMFFile to ImproperImageHeader.
magick/map.h: Changed all size parmeters from type unsigned long to size_t.
magick/map.c (MagickMapCopyBlob): Add new function to support copying a Blob in a MagickMap. (MagickMapDeallocateBlob): Add new function to support deallocating a Blob in MagickMap.
2003-09-23 Lars Ruben Skyum <lars.skyum@stibo.com>
coders/ps3.c: Fixed handling the case when no -coder-options are provided to the PS3 coder.
2003-09-22 Lars Ruben Skyum <lars.skyum@stibo.com>
coders/ps3.c: Changed %%Creator version to use MagickLibVersionText, increased precision in HiResBoundingBox, added a coder specific option for rendering bilevel images with the PS imagemask operator indstead of the image operator.
magick/command.c: Added "-coder-options" command line argument to all relevant command line utilities. Option argument to -coder-options is a list of comma separated key-value pairs that are saved in a MagickMap in ImageInfo for (de-)coders to use. See PS3 coder for an example that checks for: -coder-options "ps:image=imagemask"
magick/image.c, magick/image.h: Added function AddCoderOptions().
magick/map.c, magick/map.h: removed MS-DOS line terminators.
2003-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
tests/maptest.c (main): Test/demo program for key,value map API.
magick/map.c, magick/map.h: Implementation of a key,value map API for internal use.
2003-09-19 William Radcliffe <billr@corbis.com>
lcms/include/icc34.h lcms.h: Added back the icc34.h header and changes to make lcms compile on Win32" icc34.h lcms.h.
2003-09-19 Lars Ruben Skyum <lars.skyum@stibo.com>
coders/ps3.c: Fixed warnings from Solaris compiler.
2003-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
locale/C.mgk: Eliminated the many "NotA" messages since they may all be considered forms of "ImproperImageHeader". It is useful to provide the origin of such messages in case the wrong coder has been invoked, however, this is expensive to do via the message database since it explodes the number of messages. The exception logging can help here. Once the exception reports include the reporting entity, it will be more clear when the software misbehaves.
magick/error.h (ThrowReaderException2): Remove since no longer used. (ThrowReaderException): Simplified implementation so that ThrowException is not expanded twice.
magick/error.h (ThrowReaderException3): Remove since never used.
coders/xtrn.c (ReadXTRNImage): Use ThrowReaderException rather than ThrowReaderException2.
locale/C.mgk (MissingArgument) Updated to include %s so that the description field appears earlier in the message.
magick/error.c (DefaultErrorHandler): Added a hack to allow the reason member to include a %s so that it may specify the formating of the message. Care should be taken to not over-use this hack.
2003-09-18 Lars Ruben Skyum <lars.skyum@stibo.com>
coders/ps3.c: Major update of the PS3 coder. Now ascii85 encodes all binary data. Many printer spoolers don't like the binary data. The coder now creates much smaller files for bilevel, gray, and colormapped images. Compression and image type is now separated so they may be combined independently. Any alpha channel is separated into a separate mask so it's possible to mask bilevel, gray, colormapped, rgb, and CKYK images. You may also mask a JPEG compressed PS file for instance. Clipping masks created from a photoshop clipping path with -clip option is converted to a corresponding postscript clipping path. New functions need comment headers.
magick/attribute.c: Added TracePSClippingPath for creating a postscript clipping path from a photoshop clipping path.
magick/compress.c, magick/compress.h: Added write-hook based interface to compression functions. Required for ascii encoding compressed, binary data. The interface between blob write functions, compression functions, and encoding functions could benefit from more of this work.
magick/image.c: ClipPathImage now stores the name of the clipping path in the mask image filename so that it is remembered and may be used for creating a postscript clipping path for postscript output.
coders/modules.mgk: Added EPS3 mapping to module PS3.
2003-09-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/command.c: Coalesced various "Missing" error reports into one "MissingArgument" error report in order to reduce the number of messages to be maintained.
locale/C.mgk: Removed almost all "Missing" messages.
magick/gm_messages.mc: Added Microsoft message compiler source file to CVS until which time it may be generated automatically during the build.
2003-09-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
locale/Makefile: Added ability to generate gm_messages.mc (for Windows message compiler) as well as adding clean and install targets.
magick/delegate.h: Visual Studio .NET 2003 doesn't like the chaining of GhostscriptVector members which share a common return type. Splitting the definitions solves this problem.
2003-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/deprecate.h (MagickSignedType): Compatibility definition to handle ImageMagick API change. (MagickUnsignedType): Compatibility definition to handle ImageMagick API change. The new names are just as useless as the old names, but at least they are shorter.
magick/command.c: Linux's sscanf has the terrible bug that it improperly handles pulling out the first floating value from the string "0x1". Instead of retrieving the value 0 and returning 1, it returns 0, probably because it rejects the string as a hex constant. As a result, all options which used sscanf to validate this input are now converted to use IsGeometry().
2003-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
ltdl/ltdl.c: Update to libltdl current as of today.
ltmain.sh: Update to libtool current as of today.
configure.ac: For HPUX C++ compiler, add -AA to CXXFLAGS rather than CXX.
2003-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
configure.ac: Decided that the standards conformance defines create more problems than they solve so they are removed. Move the large-file tests to before the libtool configuration since the libtool configuration was causing stdlib.h to be included prior to the large file defines, and this causes header failure with C++ under AIX.
www/api/types.html: Update description of MonitorHandler.
2003-09-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
configure.ac: Set CXX to PTHREAD_CXX if necessary (and warn).
acinclude.m4 (ACX_PTHREAD): Add check to see if xlC_r should be used for AIX.
2003-09-10 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
magick/render.c: Fixed handling of arc primitive (see IM-5.5.8).
2003-09-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/log.h: It seems that test programs are using GetMagickModule so make it visible by default.
configure.ac: Use GM_FUNC_MMAP_FILEIO macro to test mmap.
acinclude.m4 (GM_FUNC_MMAP_FILEIO): New macro to test mmap's capability to do coherent file I/O. The AC_FUNC_MMAP macro was not testing the mmap features that GraphicsMagick uses, and was failing on a number of systems.
magick/blob.c (BlobMapModeToString): Only include this static function if HAVE_MMAP is defined.
coders/locale.c (WriteLOCALEImage): Fix FormatString argument type inconsistencies.
wand/magick_compat.h: Change MagickExport to WandExport.
coders/jpeg.c, coders/locale.c, coders/meta.c, coders/miff.c, coders/palm.c, coders/pict.c, coders/svg.c, coders/tiff.c, coders/topol.c, magick/cache.c, magick/display.c, magick/image.c, magick/widget.c: Removed unused values, changed storage types, or added explicit casts, in order to reduce the number of "REMARK"s when using the SGI IRIX compiler.
magick/render.c (DrawClipPath): Fix memory leak of clone_info->clip_path. Problem reported by Vladimir <lvm@integrum.ru>. (DestroyDrawInfo): Remove unnecessary checks for non-null prior to invoking MagickFreeMemory. MagickFreeMemory already checks for non-null.
magick/log.h (GetCurrentFunction): Apparently Visual C++ 6.0 does not support __FUNCTION__. Problem reported by Vladimir <lvm@integrum.ru>.
wand/magick_compat.c: All functions in magick_compat.c must use WandExport rather than MagickExport. Fix recommended by Vladimir <lvm@integrum.ru>.
magick/constitute.c (PushImagePixels): number_pixels was always cast to a long during use, so change to store value in a long instead. (PopImagePixels): number_pixels was always cast to a long during use, so change to store value in a long instead.
2003-09-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/psd.c: Eliminated warning regarding unused initialized variable.
magick/log.c: Eliminate type warnings regarding enum assignment.
coders/locale.c (WriteLOCALEImage): Use UndefinedException rather than 0 in severity_list terminating entry in order to avoid a type conversion warning.
magick/image.c (SetImageChannelDepth): Depth parameter was being returned rather than status. Oops!
magick/effect.c (BlurScanline): Due to automatic casting conventions, computation was being done (at least with SGI compiler) as type unsigned long rather than long as it should have been.
coders/jpeg.c, coders/meta.c, coders/miff.c, coders/msl.c, coders/palm.c, coders/pcd.c, coders/psd.c, coders/svg.c, coders/tiff.c, coders/xcf.c, magick/render.c, : Quench many SGI compiler warnings regarding variables which are initialized but never used.
magick/xwindow.h: Undef gravity defines so that enumerated type is used instead.
2003-09-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/log.c (LogMagickEvent): Windows system logging functionality is not currently ported to work with Cygwin so disable when compiling under Cygwin.
magick/log.c (Win32EventlogOutput): Remove spurious comma in enum.
wand/drawing_wand.h: Remove junk comment marker that I forgot to remove.
magick/studio.h: Provide prototypes for strlcpy and vsnprintf if the system doesn't provide them in the requested compilation environment.
configure.ac: Add necessary standards compilance definitions to magick_config.h. Check for strlcpy and vsnprintf prototypes.
Makefile.am (DOCDIRS): www/api/types does not exist anymore.
2003-09-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
configure.ac: Move multithread tests prior to libtool configuration in case value of CC is changed. Otherwise libtool gets confused and refuses to run.
acinclude.m4 (ACX_PTHREAD): If using AIX CC xlc use xlc_r for multithread compiler.
coders/jpeg.c: Undef HAVE_STDLIB_H before including the jpeg headers or else we get an already defined error/warning.
2003-09-04 Mike Chiarappa <mikechiarappa@libero.it>
BCBMagick : Updated whole directory tree to achieve correct compilation with Borland C++ Buider 6.0.
2003-09-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/image.c (ClipPathImage): Remove MS-DOS line terminations (actually, extra carriage returns) which somehow crept into ClipPathImage.
locale/C.mgk: Added message for "PNG library is too old".
2003-09-04 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/transform.c (ProfileImage): Bugfix: conditional compilation based on LCMS being present or not now works as expected. An exception is thrown if LCMS is not present and profile conversion is used.
2003-09-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/txt.c (ReadTXTImage): Fix strlen() pointer type warning.
magick/image.c (TextureImage): Fixed return with no value warning.
magick/color.c (GetColorInfoArray): Decided that the const return value was a bad idea. Therefore, the return type has been made non-const.
magick/magick.c (GetMagickInfoArray): Decided that the const return value was a bad idea. Therefore, the return type has been made non-const.
tests/constitute.c, tests/rwblob.c, tests/rwfile.c : Define MAGICK_IMPLEMENTATION since these test programs using some internal extensions.
configure.ac: Test C++ compiler for __func__ support.
magick/log.h: Added GetCurrentFunction() macro to handle __func__ support determination. Re-wrote GetMagickModule() macro to use GetCurrentFunction(). Changes should allow compilation of Magick++ when the C compiler supports __func__ but the C++ compiler does not.
configure.ac: Changed from using HAS___func__ define to HAS_C__func__ since this feature may be language sensitive.
locale/C.mgk: Added missing JNGCompressionNotSupported message.
2003-09-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/attribute.c (Generate8BIMAttribute): Fix sscanf argument type mis-match.
coders/ps3.c (ZLIBEncodeImage): Fix mis-classified ZipLibraryIsNotAvailable error report.
coders/url.c (RegisterURLImage): Only register URL format support if libxml2 is available.
coders/msl.c (RegisterMSLImage): Only register MSL format support if libxml2 is available.
2003-09-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/histogram.c (WriteHISTOGRAMImage): Remove a useless loop.
coders/wpg.c: Applied patch from Fojtik Jaroslav to support reading WPGs which use the EXT token.
2003-08-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/color.c (HistogramToFile): Renamed static method Histogram to HistogramToFile to make it more clear what this function does. (GetColorHistogram): Added new function to support retrieving a color histogram of the image. A color histogram contains a count of how many times each color occurs in the image.
magick/image.c (GetImageChannelDepth): Return an unsigned int rather than long.
2003-08-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
PerlMagick/Magick.xs: Add support for CopyCyan, CopyMagenta, CopyYellow, and CopyBlack, composition operators.
magick/composite.c (CompositeImage): Added support for CopyCyanCompositeOp, CopyMagentaCompositeOp, CopyYellowCompositeOp, and CopyBlackCompositeOp, composition operators.
2003-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
wand/*: Updated to current ImageMagick Wand API (minus a few unimplemented functions).
magick/image.c (TextureImage): Add status return because Wand API wants it. Inherit is_grayscale status from texture image.
magick/fx.c (SolarizeImage): Add status return because Wand API wants it.
magick/resource.c (SetMagickResourceLimit): Add status return because Wand API wants it.
magick/draw.c (DrawPeekGraphicContext): Now returns a copy of the current DrawInfo context rather than returning a pointer into the context stack. The user must destroy this copy using DestroyDrawInfo() once it is no longer needed.
2003-08-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
VisualMagick/filters/LIBRARY.txt: This file is necessary to incorporate analyze.c into the static build. Without it the build fails.
2003-08-23 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/transform.c: ProfileImage updated to handle alpha channels and grayscale images. Also optimized color profiling of color mapped images and fixed a few bugs in profiling of CMYK images.
magic/locale_c.h: added MagickExport to prototype declaration of GetLocaleMessageFromID in WriteLOCALEImage again. Please update your locale coder.
2003-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/wpg.c: Applied patch from Fojtik Jaroslav to use the GetMagicInfo() function to obtain the format of embedded images, and to provide a default WPG palette if the WPG file does not supply a palette.
2003-08-22 William Radcliffe <billr@corbis.com>
magickgm_messages.bin locale_c.h transform.c: Fixed missing message problem and added support for new lcms error handler.
2003-08-21 Lars Ruben Skyum <lars.skyum@stibo.com>
magick/attribute.c, magick/image.c, magick/command.c: Added "clippath" option for clipping named Photoshop clipping paths, increased precision in clipping path knots, added comments, and fixed a few bugs resulting from moving TraceClippingPath function from ImageMagick to GraphicsMagick. Still need to update some of the documentation.
magick/locale_c.h, magick/studio.h: added MagickExport to declaration of GetLocaleMessageFromID and moved include of magick/locale_c.h after declaration of MagickExport. This fixes a link error in dynamic, DLL version.
coders/locale.h: added MagickExport to prototype declaration of GetLocaleMessageFromID in WriteLOCALEImage.
2003-08-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
PerlMagick/t/subroutines.pl (testRead): Ignore useless TIFF warning so that 12-bit TIFF test passes.
magick/constitute.c (ReadImage): Ensure that the reported image magic string is that of the user-specified input file rather than a temporary file prepared by an external delegate program.
magick/command.c (ImportImageCommand): Since DestroyExceptionInfo() now sets the destroyed exception signature to an invalid value, GetExceptionInfo(exception) must be invoked when the intention is to simply purge the exception. This fix resolves an abort when executing gm import.
2003-08-18 William Radcliffe <billr@corbis.com>
magickgm_messages.bin locale_c.h transform.c: Updates that add latest enhancments by Lars to color management code in ProfileImage.
2003-08-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
coders/wpg.c: Incorporated patch from Fojtik Jaroslav to support rendering embedded WMFs.
2003-08-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/image.c (SetImageChannelDepth): New function to transform the specified channel so it fits the specified modulus depth.
magick/blob.c (BlobToImage): Skip calling SetImageInfo() if magick is already set.
2003-08-18 William Radcliffe <billr@corbis.com>
PerlMagick/Magick.xs: Some fixes to get PerlMagick compiling again due to new ID based error macros.
2003-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/error.h (enum): Remove spurious comma.
2003-08-17 William Radcliffe <billr@corbis.com>
coderspng.c: Had to modify a few exception calls to work with newest macros.
2003-08-17 William Radcliffe <billr@corbis.com>
coderslocale.c magick/error.h locale.c locale_c.h studio.h: The LOCALEH header file generator now adds an MGK_ prefiix to all the ID defines as part of a fix to support the new error and exception macros cross platform.
2003-08-16 William Radcliffe <billr@corbis.com>
wandmagick_wand.c pixel_wand.c: The wand api code was totally left out of the large macro conversion below as an oversight.
2003-08-15 William Radcliffe <billr@corbis.com>
.coders art.c avi.c avs.c bmp.c caption.c clipboard.c cmyk.c cut.c dcm.c dib.c dps.c dpx.c emf.c ept.c fax.c fits.c fpx.c gif.c gradient.c gray.c hdf.c histogram.c html.c icon.c jbig.c jp2.c jpeg.c label.c locale.c logo.c map.c mat.c matte.c meta.c miff.c mono.c mpc.c mpeg.c msl.c mtv.c mvg.c null.c otb.c palm.c pcd.c pcl.c pcx.c pdb.c pdf.c pict.c pix.c png.c pnm.c preview.c ps.c ps2.c ps3.c psd.c pwp.c rgb.c rla.c rle.c sct.c sfw.c sgi.c stegano.c sun.c svg.c tga.c tiff.c tile.c tim.c topol.c ttf.c txt.c uil.c url.c uyvy.c vicar.c vid.c viff.c wbmp.c wmf.c wpg.c x.c xbm.c xc.c xcf.c xpm.c xtrn.c xwd.c yuv.c .magickanimate.c annotate.c blob.c cache.c cache_view.c color.c color.h command.c compress.c constitute.c decorate.c delegate.c display.c draw.c effect.c enhance.c error.c error.h fx.c gm_messages.bin image.c list.c locale.c locale_c.h log.c mac.c magic.c magick.c module.c montage.c nt_feature.c paint.c quantize.c registry.c render.c resize.c segment.c semaphore.c shear.c signature.c static.c static.h stream.c studio.h tempfile.h transform.c type.c utility.c widget.c xwindow.c : Changes to support ID based message access and checking all message usages. The main thing that was done was to remove all the quotes around the "tags" used to lookup messages defined in the localeC.XML file. Macros were added to error.h to allow the code to be compiled for either string based access or binary ID based access. Using binary ID's will cause the code to fail to compile if a message does not exist in C.XML, since no ID will be created for a missing message. This change then allowed us to easily track down all the messages that were "missing" or not being accessed properly. The problems were massive and took many days to resolve. I have left the code compiling in ID mode to keep things in sync going forward and also because it makes message lookup instantaneous. An ID is just an index into and array of char *'s. There is still a lot of cleanup work remaining, but this is a very good start.
2003-08-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/error.c (GetLocaleExceptionMessage): Add check to avoid duplicating severity prefix.
magick/log.c (LogMagickEvent): Incorporated fix from Bill Radcliffe to enable logging control flags to work properly again.
NEWS: Updated news.
magick/blob.c (OpenBlob): Rewind file descriptor so that first read is at zero offset. This fixes reading GIFs via a user-provided file handle.
2003-08-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/image.c (GetImageDepth): Extend so that the actual minimum depth required to represent the image is returned. Previously only the values 8, 16, and 32 were returned. This means that a value of one is returned for a monochrome image. Also fixed a bug in that the pixels were incremented while the depth was incremented, resulting in the first image pixels not being properly evaluated for depth. (SetImageDepth): Extend to support converting the image to arbitrary modulus depths. (GetImageChannelDepth): New function to obtain the modulus depth for a specified image channel.
2003-08-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/draw.c (MvgAutoWrapPrintf): StreamError reported when DrawError was intended.
coders/logo.c (ReadLOGOImage): Report FileOpenError rather than BlobError if requested image does not exist.
2003-08-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/cache.c (PersistCache): If HAVE_SYSCONF and _SC_PAGE_SIZE are defined, then assume that sysconf works and don't use legacy getpagesize() function.
magick/studio.h (_XOPEN_SOURCE): Should be defined as 600 in order to match _POSIX_C_SOURCE=200112L according to the Single UNIX Specification v3. This is necessary for the vsnprintf prototype to be visible.
magick/attribute.c (ReadByte): Fix compilation warnings due to casting unsigned char * to char * by changing function definition to accept unsigned char * instead.
magick/error.h (UndefinedException): UndefinedException should be ExceptionType, not ExceptionBaseType.
magick/magick.c (IsValidFilesystemPath): Eliminate warning about unused function when UseInstalledMagick is defined.
magick/error.c (ThrowLoggedException): Fix improper parameters passed to LogMagickEvent() when reason is not available.
003-08-07 William Radcliffe <billr@corbis.com>
magick/log.c, log.h: Added ability to log by either severity or by category of event. Made the defualt on windows to log all fatal errors, errors, and warnings to the event log. This will include anything generated by exceptions currently, but not any normal "informational" logging.
2003-08-07 William Radcliffe <billr@corbis.com>
magick/log.c, log.h: Translation of event codes to mask vals was not working. Code was left out of last update. It is now in.
2003-08-07 William Radcliffe <billr@corbis.com>
magick/error.c: Protect against NULL string passed into the message lookup function.
2003-08-07 William Radcliffe <billr@corbis.com>
magick/locale.c: Switched use of IsAccessible to nonloggging version to prevent recursive problems.
2003-08-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
magick/Makefile.am (noinst_HEADERS): Distribute locale_c.h.
locale/Makefile: Output locale_c.h.
utilities/gm.c (main): Fix typo in Unix InitializeMagick invocation.
configure.ac: Use ACX_PTHREAD pthreads test macro.
magick/(semaphore.c,spinlock.h,studio.h): Change HasPTHREADS conditional define to HAVE_PTHREAD.
magick/Makefile.am (noinst_HEADERS): Include spinlock.h in distribution.
2003-08-06 William Radcliffe <billr@corbis.com>
contribwin32ATL7ImageMagickObject/ImageMagickObject.cpp, ImageMagickObject_.h, ImageMagickObject.def, ImageMagickObject.rc gm.rc: Changes to get things compiling again since all windows specific logging support has been eliminated. The special build script BuildImageMagickObject.cmd now compiles the message file for resource based messages. The result is in gm_messages.bin. The script also generates a special version of gm.exe that uses the COM dll as a regular DLL and links to it. This is the long desired Moby DLL build idea.
magick/error.c, magick/error.h, magick/log.c, magick/log.h: Upgrade of logging system to take over previous special logging code for windows in nt_base.c. The new logic provides logging of events to the debug api and the windows event log and also provides a generic text file logging method.
magick/gm_messages.bin, magick/ImageMagick.rc: New compiled message file based on data in localeC.mgk. RC file modified to include this as a resource.
magick/locale.c, magick/locale_c.h: locale_c.h is generated by the LOCALEH format of the locale coder. The logic in locale.c uses the tables in the header lookup messages. On windows, all the messages are stored as resources, while on UNIX they remain in a string table.
locale/C.mgk: Removed duplicate messages and added some new default messages that help to create a complete set of severity strings.
magick/command.c, magick/magick.c: Get rid compiler warnings.
2003-08-05 William Radcliffe <billr@corbis.com>
magick/command.c, magick/gm.c: Application level changes to implement the client name - filename changes. The client name can now be anything that the application wants and has nothing to do with the saved filename of the application.
magick/nt_base.c, magick/nt_base.h, magick/magick.c: Ripped out old nt specific debugging and logging logic. Moving to the standard logging. New and major revisions to InitializeMagick to make the code more maintainable, reliable, and reaable. It should be functionally identical, but implements the new split client name and filename methododology.
magick/utility.c, magick/utility.h: Added a couple of new routines to support splitting the overloaded use of the client name and client filename.
coders/xtrn.c: Minor code cleanup
2003-08-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Copyright.txt: Added missing copyright notice which is required due to copying the rlecomp manual page into ImageMagick.
doc/config_files.imdoc: Started documentation for configuration files.
magick/xwindow.c (XSignalHandler): Ensure that segment_info is non-null before attempting to use it. Much thanks to John Cristy for bringing this problem to our attention.
2003-08-05 William Radcliffe <billr@corbis.com>
coders/locale.c: Added several new formats to this coder to generate windows message resource format messages and also to generates a new header file format that will support a table based version of the other magick/locale.c.
coders/xtrn.c: Minor code cleanup
2003-08-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
configure.ac: Only configure C and C++ libtool tags.
PerlMagick/t/reference/composite/*.miff: Added some composition test reference images. These reference images will serve as placeholders until better composition tests can be figured out. It is not clear from the documentation what some of the composition operators are supposed to do.
2003-08-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
README.txt: Add documentation regarding using TRIO.
configure.ac: Test for TRIO library if vsnprintf is not available.
magick/studio.h: Remap vsnprintf to trio_vsnprintf if TRIO is available.
coders/topol.c, coders/wmf.c, magick/magick.c, ma