Welcome to the seemingly never ending Panda TODO list. The format for this file
is a simple list of tasks that need to be completed. There are also the
following symbols defined to the left of the *'s, which have the following
meanings:

  K - release killer. The current development release of Panda will not be
	released for production use until this problem is resolved
  N - something that is expected to be fixed by the next major release of
	Panda (after the one which we are working on now)
  L - low priority, will one day be done.

A lack of a symbol to the left merely means that I have not decided what it's
priority is yet, and that it will oneday get done.

-------------------------------------------------------------------------------

N * Further improve font handling so that font changes are minimised (change
	the order text boxes are drawn in so that the font need only be defined
	once per page).

  * Callback for error handling implementation.

  * Make the \n -> \r\n conversion into a function call and make it faster...

L * Add see also sections in the man pages

K * Start using automake

K * Handling of vsnprintf return number based on the differnt ways that
	glibc behaves...

  * Be a bit more sensible in some of our error handling, for instance, if we
  	can't find a file to include in the PDF we shouldn't exit -- we should
	report it to the calling function and let them deal with it...

  * Documentation!

N * Linearisation (also known as optimised PDF)

  * Validity checks for things like names

N * TIFF support does not currently include the following compression options:
	- NONE
	- Flate
	- LZW (never!)
	- Packbit

N * More work on the lexer

N * PNG support

L * New font ids are handed out too often -- what about font reuse?

  * Handle image reuse better

K * Are the font man pages right? Perhaps I changed them to something that was
	wrong in a fit of confusion.

K * Work out how to get autoconf to define HAVE_LIBTIFF et al inside the source
	so that the compilation works properly.

  * At the moment if we can't change font we stop the whole schmozzle - should
	we just report an error and keep going in the old font?

  * Move the constants across to the new namespace

  * Re run GNU indent

  * Type cast warnings

  * Lines and stuff...
	The following operations in graphics mode are needed (p 159):
		- w (set the line width)
		- J (set the line cap)
		- j (set the line join style)
		- M (set the mitre limit)
		- d (set the dash pattern)
		- 

  * AM_CONFIG_HEADER problems

  * String length measuring with Freetype so that textboxes wrap nicely...

  * More freeing of memory than we do now

  * If you set the character spacing or something like that to a very
	negative number, then we should complain in some way...

  * Fix the implicit type casts

  * Save the state that someone is built for lines and curves and stuff, and
	allow them to restore that state later on if they would like to...

  * Line colours and fill colours don't actually work... Find out why and make
	it work!

  * Memory leaks

  * Empty pages (including template pages) cayses the demo application to
	crash with a Seg Fault. What is different between a newly initialised
	page and one later on?