Commits

pierre  committed 994f623

- sync to 2.0.13

  • Participants
  • Parent commits d0566b5
  • Tags GD_2_0_13

Comments (0)

Files changed (7)

File src/configure

 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57 for GD 2.0.12.
+# Generated by GNU Autoconf 2.57 for GD 2.0.13.
 #
 # Report bugs to <gd@boutell.com>.
 #
 # Identity of this package.
 PACKAGE_NAME='GD'
 PACKAGE_TARNAME='gd'
-PACKAGE_VERSION='2.0.12'
-PACKAGE_STRING='GD 2.0.12'
+PACKAGE_VERSION='2.0.13'
+PACKAGE_STRING='GD 2.0.13'
 PACKAGE_BUGREPORT='gd@boutell.com'
 
 ac_unique_file="gd.c"
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GD 2.0.12 to adapt to many kinds of systems.
+\`configure' configures GD 2.0.13 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GD 2.0.12:";;
+     short | recursive ) echo "Configuration of GD 2.0.13:";;
    esac
   cat <<\_ACEOF
 
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-GD configure 2.0.12
+GD configure 2.0.13
 generated by GNU Autoconf 2.57
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GD $as_me 2.0.12, which was
+It was created by GD $as_me 2.0.13, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   $ $0 $@
 
 GDLIB_MAJOR=2
 GDLIB_MINOR=0
-GDLIB_REVISION=12
+GDLIB_REVISION=13
 GDLIBNAME=gd
 
 
 
 # Define the identity of the package.
  PACKAGE=gd
- VERSION=2.0.12
+ VERSION=2.0.13
 
 
 cat >>confdefs.h <<_ACEOF
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by GD $as_me 2.0.12, which was
+This file was extended by GD $as_me 2.0.13, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-GD config.status 2.0.12
+GD config.status 2.0.13
 configured by $0, generated by GNU Autoconf 2.57,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 

File src/configure.ac

 AC_PREREQ(2.54)
 
 #HEY! Change BOTH the vesion number and the GDLIB_REVISION setting!
-AC_INIT([GD], [2.0.12], [gd@boutell.com])
+AC_INIT([GD], [2.0.13], [gd@boutell.com])
 AC_CONFIG_SRCDIR([gd.c])
 AC_CONFIG_AUX_DIR(config)
 
 GDLIB_MAJOR=2
 GDLIB_MINOR=0
-GDLIB_REVISION=12
+GDLIB_REVISION=13
 GDLIBNAME=gd
 
 AC_SUBST(GDLIB_MAJOR)
 {
   float p_dist, p_alpha;
   unsigned char opacity;
-
+  /* 2.0.13: bounds check! AA_opacity is just as capable of
+    overflowing as the main pixel array. Arne Jorgensen. */
+  if (!gdImageBoundsSafeMacro (im, x, y))
+  {
+    return;
+  }
   /* 
    * Find the perpendicular distance from point C (px, py) to the line 
    * segment AB that is being drawn.  (Adapted from an algorithm from the
 	      tox++;
 	      continue;
 	    }
-	  /* 
-	   * If it's the same image, mapping is NOT trivial since we 
-	   * merge with greyscale target, but if pct is 100, the grey 
-	   * value is not used, so it becomes trivial. pjw 2.0.12. 
-	   */
-	  if (dst == src && pct == 100)
+	  /* If it's the same image, mapping is trivial */
+	  if (dst == src)
 	    {
 	      nc = c;
 	    }
 	      tox++;
 	      continue;
 	    }
-	  /* If it's the same image, mapping is trivial */
-	  if (dst == src)
+	  /* 
+	   * If it's the same image, mapping is NOT trivial since we 
+	   * merge with greyscale target, but if pct is 100, the grey 
+	   * value is not used, so it becomes trivial. pjw 2.0.12. 
+	   */
+	  if (dst == src && pct == 100)
 	    {
 	      nc = c;
 	    }

File src/gd_gd2.c

 	      if (!_gd2ReadChunk (chunkIdx[chunkNum].offset,
 				  compBuf,
 				  chunkIdx[chunkNum].size,
-				  chunkBuf, &chunkLen, in))
+				  (char*) chunkBuf, &chunkLen, in))
 		{
 		  printf ("Error reading comproessed chunk\n");
 		  goto fail2;
 		    {
 		      if (im->trueColor)
 			{
-			  if (!gdGetInt (&ch, in))
+			  if (!gdGetInt ( (int*) &ch, in))
 			    {
 			      ch = 0;
 			      /*printf("EOF while reading file\n"); */

File src/gd_png.c

 void
 gdImagePngCtx (gdImagePtr im, gdIOCtx * outfile)
 {
-  return gdImagePngCtxEx (im, outfile, -1);
+  /* 2.0.13: 'return' here was an error, thanks to Kevin Smith */
+  gdImagePngCtxEx (im, outfile, -1);
 }
 
 /* This routine is based in part on code from Dale Lutz (Safe Software Inc.)
   char *tmpstr = 0;
   int render = (im && (im->trueColor || (fg <= 255 && fg >= -255)));
   FT_BitmapGlyph bm;
-  int render_mode = FT_LOAD_RENDER | FT_LOAD_FORCE_AUTOHINT;
+  /* 2.0.13: Bob Ostermann: don't force autohint, that's just for testing 
+    freetype and doesn't look as good */
+  int render_mode = FT_LOAD_DEFAULT;
   int m, mfound;
   /* Now tuneable thanks to Wez Furlong */
   double linespace = LINESPACE;
       /* newlines */
       if (ch == '\n')
 	{
+          /* 2.0.13: reset penf.x. Christopher J. Grayce */
+	  penf.x = 0;
 	  penf.y -= face->size->metrics.height * linespace;
 	  penf.y = (penf.y - 32) & -64;	/* round to next pixel row */
 	  x1 = (penf.x * cos_a - penf.y * sin_a + 32) / 64;

File src/index.html

 <html>
 <head>
-<TITLE>gd 2.0.12</TITLE>
+<TITLE>gd 2.0.13</TITLE>
 </head>
 <body bgcolor="#FFFFFF">
 <!-- BANNER HERE -->
-<h1>This is gd 2.0.12.</h1>
+<h1>This is gd 2.0.13.</h1>
 <p>
-<H2>gd 2.0.12</H2>
+<H2>gd 2.0.13</H2>
 <H3>A graphics library for fast image creation</H3>
 <H3>Follow this link to the
 <A HREF="http://www.boutell.com/gd/">latest version
 new installation overwrites the old.
 <p>
 <strong>ABOUT GD AND GIF:</strong>
-gd 2.0.12 creates PNG, JPEG and WBMP images, not GIF images. This is a 
+gd 2.0.13 creates PNG, JPEG and WBMP images, not GIF images. This is a 
 good thing.  PNG is a more compact format, and full compression is
 available.  JPEG works best with photographic images, and is still
 more compatible with the major Web browsers than even PNG is. WBMP is
 modern image formats such as PNG and JPEG as soon as possible.
 
 <p>
-gd 2.0.12 <strong>requires</strong> that the following libraries 
+gd 2.0.13 <strong>requires</strong> that the following libraries 
 also be installed, in order to produce the related image formats.
 You may skip libraries associated with formats you do not use:
 <p>
 <H3>Table of Contents</H3>
 <UL>
 <LI><A HREF="#notice">Credits and license terms</A>
-<LI><A HREF="#whatsnew2.0.12">What's new in version "XYZ" of GD?</A>
+<LI><A HREF="#whatsnew2.0.13">What's new in version "XYZ" of GD?</A>
 <LI><A HREF="#whatis">What is gd?</A>
 <LI><A HREF="#gdother">What if I want to use another programming language?</A>
 <LI><A HREF="#required">What else do I need to use gd?</A>
 <A NAME="gdother"><H3>What if I want to use another programming
 language?</h3></A>
 Not all of these tools are necessarily up to date and fully compatible
-with 2.0.12.
+with 2.0.13.
 <h4>PHP</h4>
 A variant of gd 2.x is included in PHP 4.3.0. It is also possible
-to patch PHP 4.2.3 for use with gd 2.0.12; see the
+to patch PHP 4.2.3 for use with gd 2.0.13; see the
 <a href="http://www.boutell.com/gd/">gd home page</a> for a link to
 that information. It would be a Good Idea to merge all of the things
 that are better in mainstream gd and all of the things that are
 <li><a href="http://martin.gleeson.com/fly/">fly</a>, by Martin Gleeson
 </ul>
 <P>
+<A NAME="whatsnew2.0.13"><H3>What's new in version 2.0.13?</H3></A>
+<P>
+<ul>
+<li>The <code>main()</code> function of one of the test programs
+was accidentally included in the gd shared library, causing problems
+on some platforms. This has been corrected. Thanks to many people
+who pointed this out.
+<li>The antialiased drawing functions now have proper bounds
+checking. Thanks to Arne Jorgensen.
+<li>A void function returned a value in gd_png.c, causing warnings
+and, on some platforms, compilation errors but no reported runtime problems.
+Thanks to Kevin Smith, among others.
+<li>Autohinting was being forced ON for freetype text output. This is
+apparently meant only for testing freetype and does not look as good
+as the default behavior (FT_LOAD_DEFAULT). Thanks to Bob Ostermann.
+<li>penf.x is properly reset when newlines are encountered in freetype
+text output. Thanks to Christopher J. Grayce.
+</ul>
+<P>
 <A NAME="whatsnew2.0.12"><H3>What's new in version 2.0.12?</H3></A>
 <P>
 <ul>
 <P>
 <A NAME="getgd"><H3>How do I get gd?</H3></A>
 <ul>
-<li><a href="http://www.boutell.com/gd/http/gd-2.0.12.tar.gz">Gzipped Tar File (Unix)</a>
-<li><a href="http://www.boutell.com/gd/http/gd-2.0.12.zip">.ZIP File (Windows)</a>
+<li><a href="http://www.boutell.com/gd/http/gd-2.0.13.tar.gz">Gzipped Tar File (Unix)</a>
+<li><a href="http://www.boutell.com/gd/http/gd-2.0.13.zip">.ZIP File (Windows)</a>
 </ul>
 <P>
 <A NAME="buildgd"><H3>How do I build gd?</H3></A>
 consult with an experienced user of your system. Sorry, we cannot
 answer questions about basic Internet skills.
 <p>
-Unpacking the archive will produce a directory called "gd-2.0.12".
+Unpacking the archive will produce a directory called "gd-2.0.13".
 <p>
 <h4>For Unix</h4>
-<code>cd</code> to the 2.0.12 directory and type:
+<code>cd</code> to the 2.0.13 directory and type:
 <p>
 <code>./configure</code>
 <P>
 truecolor PNGs and JPEGs. The disk space gain of
 conversion to palette is not great (for small images
 it can be negative) and the quality loss is ugly. However,
-the version of this function included in version 2.0.12 does
+the version of this function included in version 2.0.12 and later does
 do a better job than the version included prior to 2.0.12.
 </DL>
 <H3><A NAME="drawing">Drawing Functions</A></H3>