[devel] Fix typos in comments, add new API synopses to libpng.3
diff --git a/ANNOUNCE b/ANNOUNCE
index 6d7110b..e2fe85d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.5.3beta06 - May 7, 2011
+Libpng 1.5.3beta06 - May 8, 2011
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -97,8 +97,9 @@
     the code more robust.  Also deflateEnd checking is added - previously
     libpng would ignore an error at the end of the stream.
 
-Version 1.5.3beta06 [May 7, 2011]
+Version 1.5.3beta06 [May 8, 2011]
   Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt
+  Implementated premultiplied alpha support: png_set_alpha_mode API
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
 (subscription required; visit
diff --git a/CHANGES b/CHANGES
index 5cb5626..2551ec0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3356,8 +3356,9 @@
     the code more robust.  Also deflateEnd checking is added - previously
     libpng would ignore an error at the end of the stream.
 
-Version 1.5.3beta06 [May 7, 2011]
+Version 1.5.3beta06 [May 8, 2011]
   Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt
+  Implementated premultiplied alpha support: png_set_alpha_mode API
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/libpng-manual.txt b/libpng-manual.txt
index c889aa4..8cb47bc 100644
--- a/libpng-manual.txt
+++ b/libpng-manual.txt
@@ -1,6 +1,6 @@
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.5.3beta06 - May 7, 2011
+ libpng version 1.5.3beta06 - May 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.3beta06 - May 7, 2011
+ libpng versions 0.97, January 1998, through 1.5.3beta06 - May 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
 
@@ -4198,7 +4198,7 @@
 
 XIV. Y2K Compliance in libpng
 
-May 7, 2011
+May 8, 2011
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
diff --git a/libpng.3 b/libpng.3
index 55f4235..935fa72 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "May 7, 2011"
+.TH LIBPNG 3 "May 8, 2011"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.3beta06
 .SH SYNOPSIS
@@ -512,6 +512,14 @@
 
 \fI\fB
 
+\fBvoid png_set_alpha_mode (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fImode\fP\fB, double \fIoutput_gamma\fP\fB);\fP
+
+\fI\fB
+
+\fBvoid png_set_alpha_mode_fixed (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fImode\fP\fB, png_fixed_point \fIoutput_gamma\fP\fB);\fP
+
+\fI\fB
+
 \fBvoid png_set_background (png_structp \fP\fIpng_ptr\fP\fB, png_color_16p \fP\fIbackground_color\fP\fB, int \fP\fIbackground_gamma_code\fP\fB, int \fP\fIneed_expand\fP\fB, double \fIbackground_gamma\fP\fB);\fP
 
 \fI\fB
@@ -943,7 +951,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.5.3beta06 - May 7, 2011
+ libpng version 1.5.3beta06 - May 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -954,7 +962,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.3beta06 - May 7, 2011
+ libpng versions 0.97, January 1998, through 1.5.3beta06 - May 8, 2011
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
 
@@ -2415,6 +2423,11 @@
 gamma is, and why all applications should support it.  It is strongly
 recommended that PNG viewers support gamma correction.
 
+This API unconditionally sets the screen and file gamma values, so it will
+override the value in the PNG file unless it is called before the PNG file
+reading starts.  For this reason you must always call it with the PNG file
+value when you call it in this position:
+
    if (png_get_gAMA(png_ptr, info_ptr, &file_gamma))
       png_set_gamma(png_ptr, screen_gamma, file_gamma);
 
@@ -5136,7 +5149,7 @@
 
 .SH XIV. Y2K Compliance in libpng
 
-May 7, 2011
+May 8, 2011
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
@@ -5388,7 +5401,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.5.3beta06 - May 7, 2011:
+Libpng version 1.5.3beta06 - May 8, 2011:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -5411,7 +5424,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 7, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 8, 2011, are
 Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -5510,7 +5523,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 7, 2011
+May 8, 2011
 
 .\" end of man page
 
diff --git a/png.h b/png.h
index 6cae5e1..ebe214e 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.3beta06 - May 7, 2011
+ * libpng version 1.5.3beta06 - May 8, 2011
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.5.3beta06 - May 7, 2011: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.3beta06 - May 8, 2011: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -182,7 +182,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 7, 2011, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.3beta06, May 8, 2011, are
  * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -294,7 +294,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 7, 2011
+ *    May 8, 2011
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -357,7 +357,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.5.3beta06"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.3beta06 - May 7, 2011\n"
+     " libpng version 1.5.3beta06 - May 8, 2011\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
@@ -1145,7 +1145,7 @@
  * standard alpha composition is relatively low, because the pixels are
  * isolated, therefore typically the accuracy loss in storing 8 bit linear
  * values is acceptable.  (This is not true if the alpha channel is used to
- * simiulate transparency over large areas - use 16 bits or the PNG format in
+ * simulate transparency over large areas - use 16 bits or the PNG format in
  * this case!)  This is the 'OPTIMIZED' format.  For this format a pixel is
  * treated as opaque only if the alpha value is equal to the maximum value.
  *
@@ -1229,7 +1229,7 @@
  * values.
  */
 #define PNG_DEFAULT_sRGB 0        /* sRGB gamma and color space */
-#define PNG_GAMMA_sRGB   220000   /* Television standards - matchs sRGB gamma */
+#define PNG_GAMMA_sRGB   220000   /* Television standards--matches sRGB gamma */
 #define PNG_GAMMA_MAC    151724   /* Television with a 1.45 correction table */
 #define PNG_GAMMA_LINEAR PNG_FP_1 /* Linear */
 
@@ -1248,7 +1248,7 @@
  *    display preceeded by a power-law lookup table of power 1.45.  This is how
  *    early Mac systems behaved.
  *
- * png_set_alpha_mode(pp, PNG_ALPHA_STANDRAD, PNG_GAMMA_LINEAR);
+ * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR);
  *    This is the classic Jim Blinn approach and will work in academic
  *    environments where everything is done by the book.  It has the shortcoming
  *    of assuming that input PNG data with no gamma information is linear - this
@@ -1413,7 +1413,7 @@
 #define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001)
 
 /* Handle gamma correction. Screen_gamma=(display_exponent).
- * NOTE: this API simply sets the screen and file gamma values, it will
+ * NOTE: this API simply sets the screen and file gamma values. It will
  * therefore override the value for gamma in a PNG file if it is called after
  * the file header has been read - use with care!
  */
diff --git a/pngrtran.c b/pngrtran.c
index 7c9c551..bc818f5 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -196,7 +196,7 @@
    else if (output_gamma < 70000 || output_gamma > 300000)
       png_error(png_ptr, "output gamma out of expected range");
 
-   /* The default file gamma is the inverse of the output gamma, the output
+   /* The default file gamma is the inverse of the output gamma; the output
     * gamma may be changed below so get the file value first:
     */
    file_gamma = png_reciprocal(output_gamma);
@@ -260,7 +260,7 @@
    /* But always set the output gamma: */
    png_ptr->screen_gamma = output_gamma;
 
-   /* Finally, if pre-multiplying, set the background fields to achive the
+   /* Finally, if pre-multiplying, set the background fields to achieve the
     * desired result.
     */
    if (compose)
@@ -1540,7 +1540,7 @@
 
             /* Prevent the transformations being done again.
              *
-             * NOTE: this is highly dubious, it zaps the transformations in
+             * NOTE: this is highly dubious; it zaps the transformations in
              * place.  This seems inconsistent with the general treatment of the
              * transformations elsewhere.
              */
@@ -1893,7 +1893,7 @@
       png_error(png_ptr, "NULL row buffer");
    }
 
-   /* The following is debugging, prior to 1.5.3 the code was never compiled in,
+   /* The following is debugging; prior to 1.5.3 the code was never compiled in;
     * in 1.5.3 PNG_FLAG_DETECT_UNINITIALIZED was added and the macro
     * PNG_WARN_UNINITIALIZED_ROW removed.  In 1.5 the new flag is set only for
     * selected new APIs to ensure that there is no API change.