*** TODO ***
+PRE-0.44:
+- set i_format for every file type on read and test for it:
+ - bmp - done
+ - jpeg - done
+ - tiff
+ - tga
+ - rgb
+ - png - done
+ - gif
+ - pnm
+- check each file reader for possible integer overflows
+ - bmp
+ - tiff
+ - tga
+ - rgb
+ - png
+ - gif
+ - pnm
+- check bmp code uses image data offset correctly - done
+- check quant code for integer overflows
+- check for old URLs (umich and imager.perl.org/~addi/...)
Iolayer:
- Add scalar/mmap to iolayer
- WMF (extract bitmap data on read)
- gzip or bzip2 compressed raw
- postscript for output
+ - PAM file support (man pam in recent PNM tools)
- Transforms, interpolated multidimensional lookup tables.
Usefull for CMYK <-> RGB table lookup.
(handles TIFF and GIF)
- write_multi() to save other multi-image types, (handles TIFF and GIF)
+ - pnm binary formats support multiple images per file
- compose channels - build a new image based on channels from several
images
the things I expect Imager to be used for.
- http://www.develop-help.com/imager/strokes.png (.jpg for smaller version)
+- have Imager::Color{::Float}? use Graphics::ColorNames if present.
+
Clean up:
- Make sure everything is doable with the OO interface
i_flood_fill() for example.
+ - include low-level functions like gsamp() and so on
- Compile with memory debugging enabled and fix all leaks
-- dynaload.c is strongly tied to perl
-
- Add mycalloc() memory allocation wrappers.
- should we overload <=> or cmp for Imager::Color objects?
- try to clean up the inconsistencies between font types:
- utf8 (even if we just treat characters over 0xFF as missing for T1)
- - transformations
- - has_char() method
+ (done for FT2, FT1, T1)
+ - transformations (done for FT2)
+ - has_char() method (done for FT2, FT1, T1)
Format specific issues:
- provide patches for libgif and libungif that fix their bugs
- read more metadata from images, esp tiff tags, EXIF format information
from TIFF and JPEG.
+- handle 16-bit/sample pgm/ppm files
+
Documentation:
- Add to the documentation
- Write a tutorial?
- see the IRC log in design/doclayout.txt
- method index?
- concept index?
+
+Build/configure:
+- use prompt() (from ExtUtils::MakeMaker) for questions in Makefile.PL
+- use the library's mechanism's to find the library if needed, for
+ example, freetype-config for FT2
+- the freetype2 library is built as "freetype.lib" on Win32 and needs
+ to be renamed to be found by the configuration process and included
+ with -lfreetype. Try to work around that.
+- freetype2 and freetype1 tend to be installed in /usr/include/freetype2
+ and /usr/include/freetype directories, or similarly named (somedir/freetype
+ for example), instead of putting these directly into the search path
+ search for the freetype{2}?/someheader and then add the subdirectory if
+ we find the file in that directory.
+- switch to Test::More