TODO file for PEL: PHP Exif Library.  A library with support for
reading and writing Exif headers in JPEG and TIFF images using PHP.

Copyright (C) 2004, 2005, 2006  Martin Geisler.
Licensed under the GNU GPL, see COPYING for details.


TODO List for PEL
*****************

In addition to the following list, then the source contains a number
of comments beginning with `TODO' and `FIXME' which marks extra places
where attention is needed.

The list has been roughly ordered by priority and the release
targeted.


PEL Version 1.0
---------------

* Add convenience functions.
   It would be nice to have functions that could give you a particular
   entry or the embedded thumbnail with just one function call.
   Manually traversing the directory structure (and repeatedly
   checking for null pointers) requires too big a knowledge of the
   structure of JPEG, TIFF, and Exif formats.


PEL Version 1.x
---------------

* Only load necessary data.
   SF #1210126: instead of parsing the entire JPEG/TIFF image, we
   should load data as necessary.  This will save memory with big
   images.

* Interpret the MakerNotes.
   The libexif project already has code for interpretating the
   MakerNotes for a number of different camera models.

* Handle character encodings of the USER_COMMENT tag.
   The first eight bytes store the character encoding, but PEL ignores
   them for now.  Using the Multibyte String PHP extension we should
   be able to convert the data.

* Deal with characters outside Latin-1 in PelEntryWindowsString.
   This needs testing from people running Windows XP set to a locale
   different from Latin-1.


PEL Version 2.0
---------------

* Restructure information about tags.
   Currently information about the tags are stored in several places
   around the code, making updates difficult.  All information about a
   tag should be stored at one place, maybe by having a class per tag
   (how well does PHP handle 142 small classes?).

   The information in question is:

   - hex code,
   - title,
   - name,
   - description
   - format,
   - components,
   - valid IFD types,
   - how to load data,
   - how to display (the getText() method)

   This will most likely break API compatability and is delayed for
   PEL 2.
