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