Tony Cook [Sun, 18 Mar 2007 12:11:33 +0000 (12:11 +0000)]
generate the %attr hash ourselves instead of with Data::Dumper since
not all of the facilities we use there are available on the older
perls we (try to) support
Tony Cook [Sat, 30 Dec 2006 21:44:33 +0000 (21:44 +0000)]
Various changes:
- fix drawing text on 2/4 channel images for FT2
- reading ASCII PBMs was broken, it assumed there was whitespace
between samples but there doesn't need to be
- add makemap type of mono/monochrome for producing monochrome images
- roughly tripled speed of reading any sort of PNM
- reading a pnm can now return a partial image if you set allow_partial
- reading a bmp can now return a partial image if you set allow_partial
- we can now read 16-bit/sample binary PGM/PPM images
- we can now write 16-bit/sample binary PGM/PPM files if explicitly
requested (since GIMP can't read them)
- reading a tiff will now only return an incomplete image if you set
allow_partial
- some documentation reformatting
Tony Cook [Sat, 16 Dec 2006 22:23:17 +0000 (22:23 +0000)]
bump to 0.55:
This is primarily a bug fix release.
Note: Test::More is now a pre-requisite for Imager and is no longer
bundled.
There is one new feature:
- the Win32 font driver now supports UTF8 (RT 22166)
Several bugs were fixed:
- the string() method would not output the string "0" (RT 21770)
- fills.c was failing to compile on Solaris 10 (compiler unknown) (RT 21944)
- the gif_disposal and gif_user_input tags weren't being read from the file
correctly (RT 22192)
- Win32 font driver fixes:
- the global descent value from bounding box was the wrong sign
- if the first or last glyph overflowed the left or right side of
the advance width they would be clipped
- gif.c was failing to build under MSVC (RT 23922)
- in some cases strings passed to the string() method were treated as
terminated by NUL (chr 0) (RT 21770)
- on "MSWin32" perl builds we now link to -lzlib instead of -lz since
that's the default build name for zlib on Win32. (RT 23064)
- search $Config{incpath} for headers too, which we should have been
doing all along.
Tony Cook [Sun, 29 Oct 2006 08:37:43 +0000 (08:37 +0000)]
fixed a variety of problems:
- global descent from bounding box has been the wrong sign forever
- the left and right side bearing calculations were ignoring the utf 8 flag
- glyphs that overflowed the left or right side of the advance width were being clipped
- the ascent/descent calculations were completely broken by the last (unreleased) commit, fixed that
Tony Cook [Thu, 14 Sep 2006 07:43:24 +0000 (07:43 +0000)]
This is primarily a feature release:
- a new qtype value 'mixing' has been added to the scale() method.
This is faster than 'normal', slower than 'preview'. This is based on
the method used by pnmscale, and seems to produce less blurry results
than normal.
- the rubthrough() method can now render onto images with an alpha
channel.
- the read_multi() method now falls back to calling doing a single
image read via the read() method and write_multi() will now fall
back to calling write() if a single image is supplied. This means
you can simply call the read_multi() or write_multi() functions
without having to check if the type is formatted by that method.
- the GIF loop extension can now be written. If you don't have
libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent)
you should upgrade.
- getscanline() and setscanline() can now read/write palette index
based data from/to the image for paletted images, by setting type to
'index'.
- we now set the GIF header depending on the features enabled in the
GIF. Since we don't do configure type probes for bugs we have to
enable this based on the gif_lib.h version number, it's enabled for
4.1.0 and later, but requires 4.1.3 and later (maybe 4.1.3) to run
without crashing.
You can avoid this crash by passing --nogifsetversion to Makefile.PL,
or by installing a non-buggy libungif/libgif, if there is such a
thing.
Tony Cook [Fri, 18 Aug 2006 04:35:27 +0000 (04:35 +0000)]
Merged in the scale branch:
- adds a new scaling mechanism 'mixing' based on the method
implemented by pnmscale. Produces better detail when scaling down and
is faster than the 'normal' method.
- the scale() method can now scale non-proportionally if the caller
specifically asks for it with xscalefactor/yscalefactor or by setting
type to 'nonprop'.
Tony Cook [Tue, 25 Jul 2006 04:43:38 +0000 (04:43 +0000)]
bump to 0.52
This is primarily a feature release, but contains a fair few bug
fixes, new features:
- ability to read and write MS Windows ICO and CUR files
- you can now add file format plugins to support new file formats
- add POD coverage tests
- setcolors() and addcolors() now accept color names and so on instead
of requiring Imager::Color objects.
- flood_fill() can now fill to a specified border color instead of
just to the area the same color as the seed.
Bug fixes:
- bounding_box for the T1 driver wasn't converting UTF8 to ascii when
calculating the advance width.
- bounding_box for the T1 driver wasn't including leading and trailing
spaces in the bounding box as the other drivers did, it also produced
strange results for empty strings or strings containing only spaces
- when reading CMYK jpeg images they were being transferred to the
image object as is, producing a four channel image. It only looked
ok due to an old still unfixed Photoshop bug. We now convert from
the inverted CMYK that photoshop (and Corel for example) produce
into RGB.
- reading a CYMK TIFF would result in a 4 channel image, reading any
image with more than 4 channels (eg. RGB with 2 alpha channels)
would result in an error.
- added /usr/local/include to the default include search path, since
we were already searching /usr/local/lib for libraries.
And various minor fixes and documentation updates.