Portable Network Graphics
In January 1995, in response to the announcement that Unisys would
begin enforcing its patent on the LZW compression algorithm used by the
Graphics Interchange Format (GIF), a bunch of people on the net got
together and designed a superior format, which came to be known as Portable Network Graphics (PNG).
Below are various documents and code I've written in connection with
- An exception-handling interface for C. It grew out of a
discussion of libpng error handling, but is now independent of
- Proposed extension of PNG Color
Tutorial draft 1.0.0 (2000-Mar-07-Tue)
- The PNG 1.2 spec is not very clear about how to use
the cHRM chunk. This proposal would remedy that.
- Proposed iTXt international
text chunk draft 0.2.0
- This proposal was incorporated into the PNG 1.2 spec.
revision 1 (1999-Jan-06)
- This file shows all the substantive changes between the
PNG 1.0 spec and the PNG 1.1 spec.
version 0.2.2 (Sat 19 Dec 1998)
- Example code for computing the mappings defined for the PNG
version 0.1.4 (Sat 19 Dec 1998)
- Example code for computing gamma correction lookup tables using
- Proposed Revision of PNG Gamma
Handling draft 1.2.8
(Tue 6 Oct 1998)
- A set of edits to the PNG 1.0 spec to fix the gamma
handling. This proposal was incorporated into the PNG 1.1 spec. Use
diff to see what changed since earlier
drafts of the proposal:
This proposal superceded my older Thoughts on PNG Gamma Handling.
- Proposed Incorporation of
1.0.1 (Wed 23 Sep 1998)
- A set of edits to the PNG 1.0 spec to incorporate
the sPLT chunk. This proposal was incorporated
into the PNG 1.1 spec. Use
diff to see what
changed since earlier drafts of the proposal:
- DOH draft 3 (Sun 19 Jan 1997)
- Proposal for an animation format based on PNG.
- IDS draft 3 (Sun 19 Jan 1997)
- DOH's companion image delta format.
- interlace.tar.gz (21 Feb 1995)
- A bunch of rough C code for testing interlace schemes, organized
just well enough to allow the simple addition of new schemes.
It is not well documented. One program,
displays a PPM file in an 8-bit PseudoColor X window. Another,
interlace, outputs a PPM file with reordered pixels. A
few other miscellaneous programs are included.