X-Git-Url: http://git.imager.perl.org/imager.git/blobdiff_plain/af3c245023f33e40cf904a5e4f20886ea6f1f8dd..e5744e01adf453d82e6feacc8425dda7ffcc1772:/Changes diff --git a/Changes b/Changes index 69abf5bf..a32d377d 100644 --- a/Changes +++ b/Changes @@ -470,16 +470,16 @@ Revision history for Perl extension Imager. - some utf8 support for freetype2 - some vertical layout support for freetype2 - named parameters for specifying colors, with quite a few options. - - glyph size issues for freetyp2 + - glyph size issues for freetyp2 - minor problem in handling of canon option - low-level bmp writing (moving it to laptop) - Windows BMP reading and writing - added OO interfaces for the mosaic, bumpmap, postlevels and watermark filters - added t/t61filters.t to test the filters - - fixed some problems in jpeg handling from the exp_represent merge + - fixed some problems in jpeg handling from the exp_represent merge - fixed buffer flushing for wiol jpeg code - - added some tests that will hopefully catch it in the future + - added some tests that will hopefully catch it in the future - added the OO interfaces to the mosaic, bumpmap, postlevels and watermark filters, and documented them - fixed a sample size conversion problem in i_gpixf_d() etc. @@ -520,10 +520,211 @@ Revision history for Perl extension Imager. - adjust ascender/descender values for FT1.x to avoid losing descenders (specifically the bottom of "g" in ImUgly.ttf or arial.ttf at 14pixels) - - Added tga.c to read targa images - - Added i_bumpmap_complex to do more accurate bumpmapping + - added tga.c to read targa images + - added i_bumpmap_complex to do more accurate bumpmapping - added an image type with doubles as samples - change i_copy() and i_sametype() to handle double/sample images + - added basic POD to trans2.c + - transform2 now uses the error interface + - myrealloc() is implemented for malloc debug mode + - now buffer chains are freed when destructor for Imager::IO + is called + - adjusted the Lanczos window width for the scaling code and + added code to normalize the filter generated to preserve + intensity scaling. + - constant edge extension for scaling operations + - better error checking of automatic fill conversions + - fix some range checking for the fountain fill segment type + +0.39 pre2 + - A few scattered mymalloc/free fixes + - io_buffer implemented as a source for io layer and + XS and perl OO code added. + - Test for iolayer t/t07iolayer.t implemented. + - Fixed known memory leaks. + - gif screen was wasn't being calculated correctly + +0.39 Released: Nov 2 2001. + +0.40 pre1 + - anti-aliased polygon fill + - add general fill to polygon fill + - make color values smarter for the drawing functions + - implemented reading and writing the TIFF text tags + - added prototypes for some of the derivative tags functions + - read paletted tiff images into Imager paletted images + - on partial tiff image reads, set the i_incomplete tag + - tiff reading now uses the error stack + - use the error stack value from reading bmp files + - fix an error message in bmp.c + - added has_chars() method to Imager::Font::FreeType2 + - freetype 2 bounding box function didn't know UTF8 (doh!) + - write paletted images as paletted to tiff + - initialize counter for packing 4 bit data + - don't allocate hashboxes as locals since it overflows the + stack by default in Darwin + - applied T1 afm patch from Claes Jacobsson + - split IM_INCPATH and IM_LIBPATH with $Config{path_sep}, so they + work on Windows + - Added memory pools for easy cleanup of temp buffers + - Added read support for sgi .rgb files. + - io_new_fd() now creates a FDSEEK io object + - implemented i_readgif_wiol() + - Imager->read() now uses i_readgif_wiol(); + - extend callback iolayers at C and Perl levels + - implemented i_writegif_wiol() + - split out Perl iolayer initialization into private methods + - add tests for each type of iolayer in t50basicoo.t + - read/write multi-image tiff files + - tests in t50basicoo.t for multi-image/file + - ASCII PBM files were reading white as dark gray (255 vs 1) + - modify the Freetype2 font code to pick it's own encoding + rather than using whatever strange translation FT2 happens to + pick + - modify the FT1 font code to use the first encoding as a default + if we don't find a unicode encoding + - use the glyph bbox to calculate the glyph bitmaps for rendering + with FT1 rather than the global ascender/descender. This helps + with fonts that have broken metrics. + - fix calculation of descender for FT2, it was calculating the + minimum decent rather than the maximum for the characters in + the string + - didn't set default for bounding_box() utf8 parameter (caused a + warning when calling bounding_box() on a FT2 font with no utf8 + parameter) + - Added lib/Imager/Draw.pod documentation of primitives. + - Added lib/Imager/Transformations.pod, some docs of simple transforms. + - Added lib/Imager/ImageTypes.pod, draft of ImageType pod. + - Added lib/Imager/Filters.pod, draft of Filters pod. + - Added lib/Imager/Engines.pod, draft of Engines pod. + - added getpixel() and setpixel() methods + - added Artur's OSX dlload() emulation, with minor changes + - modified _color() to work around a 5.6.0 bug + - replaced old gif options with tags + - we now log which memory block is being freed before giving + an error on it being re-freed + - fixed stupid bug in deleting tags + - fixed minor pod errors involving > + +0.40pre2 + - make t1log optional, defaulting to off. You can enable the log + with Imager::init(t1log=>1) (Ticket #369) + - quote a few hash key strings to prevent warnings on 5.004 + - modify quantization code to handle 1 channel images + correctly (Ticket #365) + - make channel pointer to i_gsamp() const int * so we can pass + const arrays + - handle the presence of the default broken giflib better, + by giving them some more prose about the problem, and skipping + all but the first test that fails with the broken giflib + - i_box_cfill() went into an infinite loop on fountain fills + or fills on images with more than 8-bits/sample + - hide more of our Darwin dlload emulation to prevent runtime + symbol conflicts + - use INT2PTR() and PTR2IV() macros instead of direct casts to + prevent pointer vs int size warnings on 64-bit builds of perl. + - add our own INT2PTR and PTR2IV definitions when perl doesn't + supply them + - difference() method + - hide (with static) or rename many symbols that could possibly + cause conflicts with other libraries or perl + - Fix runaway cache problem for freetype1 font cache. + - Added version logging when log is started. + +0.40 + - difference() wasn't setting an alpha channel when the input + image didn't have one + - improve crop() documentation, see + http://perlmonks.org/index.pl?lastnode_id=155767&node_id=155428 + - handle the first "buggy giflib" test more portably. Previously + it used fork() which caused problems on systems that didn't have + a real fork(). + +0.41 + - skip() in testtools should be skipn() and it should use the + loop variable for the test number + +0.42pre1 + - quote the 'min' parameter to scale in Imager::Transformations + and at least mention it in the docs beyond the examples + - document the values for the read() and write() method type + parameter + - support UTF8 text with Freetype 1.x + - second parameter to SvPV() must be of type STRLEN + - Doc pathces from cogent. + - Fixed out of bounds access on bitmap for flood fills. + - some char * vs unsigned char * casts missing on OSF1 v4.0 + - some enums had , on the last item in datatypes.h, which OSF1 + didn't like + - Compaq C 6.4 (OSF1) claims to be C99 but doesn't provide + stdint.h, don't try to use it under OSF + - fix missing initialization in tags.c + - Change i_draw to i_line and have it use Bresenham's line + drawing algorithm. + - support has_chars() method for Freetype 1.x + - fixed log message for i_ft2_has_chars() + - fixed some broken checking for UTF8 in FT2 code + - handle UTF8 strings passed to T1 low-level functions + - handle flags for underline, strikethrough and overline for T1 + low-level output functions + - OO interfaces to UTF8 and flags, for now leaving the flags as + specific to Imager::Font::Type1 + - mc_web_map was storing colors with an alpha of 0 + - update the URLs for libpng and zlib + - Fixed empty string handling for tt font driver. + - Fixed tiff handling of images all contained in a + single strip (rowsperstrip = -1) and added a hack + for images missing the rowsperstrip tag. + - Fixed default parameters for crop() + - Added Preliminary specialized scaling code. + - Added image type detection. + - added smoke test for win32 font bounding_box() method, and + fixed the problem reported in ticket #1748. + - update t37w32font.t to use i_line() instead of i_draw() + - replaced non-portable call to rint() with (int)(dy+0.5) (so we + can build on Win32) + - the default tifflib warning handler was crashing on Win32 + under ActivePerl, when an unrecognized tag was read from the + file. For now we'll just drop the warnings in the bit bucket. + (Ticket #1513) + - the code to read multiple tiffs didn't handle files with more + than five images correctly, causing a memory overrun. + - fix some minor test code hiccups + - implemented i_t1_has_chars(), tests for same + - added ExistenceTest.{pfb,afm,ttf} for testing $font->has_chars + - tests for Imager::Font::Type1::has_chars(); + - tests for Imager::Font::Truetype::has_chars(); + - internal and external bounding box calculations now use + the same hint flags as text output for Freetype 2.x + - made the i_foo_bbox() interface more expandable by using + symbolic constants for the sizes and array offsets + - added a / character to the ExistenceTest.foo fonts that + overlaps the right side of the character cell, to test the + advance width reporting. + - added advance width to the i_foo_bbox() interface, and + implemented it for FT2, FT1 and Type 1 + - Imager::Font::bounding_box() now returns an Imager::Font::BBox + object in scalar context. + - implemented $font->align() text output method, for simple output + of aligned text + - created Imager::Font::Wrap::wrap_text to perform simple text + wrapping + - FT1, FT2 and T1 fonts now support the face_name method + - FT1, FT2 and T1 now support the glyph_names() method + - Debian woody supplied FT2.0.9, which didn't support + FT_Has_PS_Names(), so we use the FT_HAS_GLYPH_NAMES() macro + instead. + - some older FT1 don't define TT_MS_LANGID_ENGLISH_GENERAL, + which we use, define it if freetype doesn't. + - Added extra options to rubthrough() so only a subpart of + source image is used. + - the image fills didn't handle filling with source images of + less than four channels correctly + - added comment support the postfix transform2() expression + parser + - transform2() can now produce images with other than 3 channels. + - added a correct T_AVREF input mapping to the typemap to + simplify parameter lists =================================================================