Tony Cook [Mon, 28 Feb 2005 06:56:27 +0000 (06:56 +0000)]
- reading an image with an idstring of 128 or more bytes would result
in an allocation error, if the platform char type was signed
- tests now check that tga tags are set
Tony Cook [Thu, 10 Feb 2005 13:12:56 +0000 (13:12 +0000)]
- call read() instead of open() in the example code in Imager.pm,
and mention that open() is an alias for read().
http://rt.cpan.org/NoAuth/Bug.html?id=11431
- added reference list of crop() parameters.
http://rt.cpan.org/NoAuth/Bug.html?id=11430
Tony Cook [Mon, 31 Jan 2005 14:08:57 +0000 (14:08 +0000)]
- the right-side bearing used to adjust the final width wasn't being
calculated correctly, this would cause the bounding_box() function for
freetype 2.x to return a larger than expected text width.
http://rt.cpan.org/NoAuth/Bug.html?id=11291
Tony Cook [Mon, 24 Jan 2005 10:19:50 +0000 (10:19 +0000)]
- scanning for required include files is now down by directory rather
than by file, using -e to check for the existence for a file rather than
doing an eq against every filename in the directory.
- previously we only checked a candidate include directory for freetype.h
to consider it a valid FT1.x include directory. We now check if it
contains fterrors.h too, if it does, then it's from a FT2 installation
and we ignore it.
Tony Cook [Thu, 23 Dec 2004 23:01:27 +0000 (23:01 +0000)]
- we were undefing the wrong macro (used as an include guard) when
building the error code translation function for freetype 2. This
meant most errors came out as numbers.
Tony Cook [Thu, 23 Dec 2004 01:05:44 +0000 (01:05 +0000)]
- Makefile.PL now checks the directories specified by $Config{locincpth}
and $Config{loclibpth} for includes and libraries respectively.
Resolves: https://rt.cpan.org/Ticket/Display.html?id=2942
Tony Cook [Tue, 7 Dec 2004 22:59:23 +0000 (22:59 +0000)]
- make the inclusion of NO_META dependent on the version of EU::MM.
I was going to include a META.yml but EU::MM's generation is too
simplistic (and misses the leading document header too). For now
I'll leave it out.
Tony Cook [Thu, 2 Dec 2004 04:07:27 +0000 (04:07 +0000)]
- i_readraw_wiol() now checks for image creation failure
- i_readrgb_wiol() now checks for image creation failure
- i_writergb_wiol() was an empty stub, it now pushes an error message
and explicitly returns failure.
- i_readrgb_wiol() now sets i_format to rgb.
- set i_format to raw when reading tga files and test for it
- document i_format tag
Tony Cook [Thu, 2 Dec 2004 03:53:37 +0000 (03:53 +0000)]
- test t/t35ttfont.t no longer requires TTFONTTEST to be set (and
hasn't for a long time,) removed that requirement from README
- updated home page URLs throughout the .pods
- added information on reporting bugs to the SUPPORT section of Imager.pm
- regops.perl now sorts the dumped data structure to produce minimal diffs
Tony Cook [Sun, 28 Nov 2004 13:09:58 +0000 (13:09 +0000)]
- the BMP reader now validates the bfOffBits value from the BMP header
and skips to that offset before reading image data. Previously this
value was read but otherwise ignored.
Tony Cook [Thu, 25 Nov 2004 12:39:05 +0000 (12:39 +0000)]
- added many bad BMP files to test various code paths in bmp.c, and
made many minor fixes to bmp.c to make them work:
- it was possible for various types of read failures to SEGV, both
as NULL pointer dereferences and buffer overflows
- some errors, like palettes being too large for the number of bits
per pixel, were not being caught
- failing to read all of a packed data structure would not cause
a read failure
- invalid compression types were not always caught
- error messages are more consistent (still not always great messages,
but one step at a time)
- added bmp_compression_name, bmp_used_colors, bmp_filesize, bmp_bit_count
tags on reading a BMP file
Tony Cook [Fri, 12 Nov 2004 05:03:11 +0000 (05:03 +0000)]
- creating an image where the size of the allocated image buffer would
overflow an integer would cause too small a buffer to be allocated.
This could potentially be a security hole.
partly resolves https://rt.cpan.org/Ticket/Display.html?id=8213
Tony Cook [Mon, 25 Oct 2004 14:10:49 +0000 (14:10 +0000)]
- renamed io.h to imio.h to prevent problems building under cygwin.
resolve https://rt.cpan.org/Ticket/Display.html?id=7948
- i_writegif_low() wasn't setting the returned global palette, which
meant a rubbish palette was returned to the user (detected with valgrind)
Tony Cook [Mon, 18 Oct 2004 23:52:10 +0000 (23:52 +0000)]
- the XS code for i_tt_glyph_name() used unsigned char to store a
unicode character when it should have used unsigned long.
- the XS code for i_t1_glyph_name() used unsigned char to store a
unicode character when it should have used unsigned long.
- resolves https://rt.cpan.org/Ticket/Display.html?id=7949
- the type 1 glyph_names() method didn't do correct error handling
when the string parameter wasn't supplied
Tony Cook [Mon, 18 Oct 2004 05:34:03 +0000 (05:34 +0000)]
- the FT2 glyph_names() method didn't do correct error handling
when the string parameter wasn't supplied
- i_ft2_glyph_name() accepted only an unsigned char as the
character code to get the name for, which meant it
didn't work for unicode characters \x{100} or above
- the XS for i_ft2_glyph_name() had a similar problem
- added NameTest.ttf to be used in checking unicode glyph
names
- added reliable_only optional parameter to the glyph_names()
method so you can ignore theresult of FT_Has_PS_Glyph_Names()
- partly resolves https://rt.cpan.org/Ticket/Display.html?id=7949
- handle errors given by i_ft2_glyph_name() a bit more
correctly
- the FT1 glyph_names() method didn't do correct error handling
when the string parameter wasn't supplied
- some memory allocated when creating a callback IO object (io_new_cb)
wasn't being released (detected with valgrind)
- the testtools.pl match[nx]() functions escapes the test string on
test failure a bit better
Tony Cook [Fri, 8 Oct 2004 06:10:32 +0000 (06:10 +0000)]
- the parameters to crop() weren't handled correctly in most
cases other than supplying left,top,right,bottom.
- clarified the documentation for crop() providing more detail
and more examples
- the edges of the cropped area are now cropped against the
edges of the source image
- cropping to zero width/height is treated as an error (no
image is returned and $src->errstr has a message)
Resolves https://rt.cpan.org/Ticket/Display.html?id=7581
- built 0.43_01 for testing
Tony Cook [Fri, 10 Sep 2004 13:29:55 +0000 (13:29 +0000)]
- the image resulting from a crop is now the same type as the
source image (paletted vs direct, bits/sample)
Resolves https://rt.cpan.org/Ticket/Display.html?id=7578