From: Jakub Bogusz Date: Fri, 26 Dec 2003 14:48:44 +0000 (+0000) Subject: - based on patch_gd2.0.15_gif_030801.gz, manually updated for 2.0.17 X-Git-Tag: auto/ac/gd-2_0_17-1~3 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=68381d70c703e6289994c93746da328fd37f7753;p=packages%2Fgd.git - based on patch_gd2.0.15_gif_030801.gz, manually updated for 2.0.17 Changed files: gd-gif.patch -> 1.2 --- diff --git a/gd-gif.patch b/gd-gif.patch index dd2f472..b4713e5 100644 --- a/gd-gif.patch +++ b/gd-gif.patch @@ -1,148 +1,6 @@ ---- gd-2.0.9/Makefile.am.orig Tue Nov 12 20:29:13 2002 -+++ gd-2.0.9/Makefile.am Fri Jan 10 21:34:04 2003 -@@ -5,7 +5,7 @@ - - SUBDIRS = config test - --bin_PROGRAMS = annotate gdparttopng gdtopng gd2copypal gd2topng pngtogd pngtogd2 webpng -+bin_PROGRAMS = annotate gdparttopng gdtopng gd2copypal gd2topng pngtogd pngtogd2 webpng gd2togif gdcmpgif giftogd2 - - bin_SCRIPTS = bdftogd - -@@ -17,7 +17,7 @@ - - lib_LTLIBRARIES = libgd.la - --libgd_la_SOURCES = gd.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h mathmake.c wbmp.c wbmp.h -+libgd_la_SOURCES = gd.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h mathmake.c wbmp.c wbmp.h gd_gif_in.c gd_gif_out.c gd_biggif_out.c gd_lzw_out.c - - libgd_la_LDFLAGS = -version-info 2:0:0 - -diff -Naur gd-2.0.7orig/gd.c gd-2.0.7gif/gd.c ---- gd-2.0.7orig/gd.c 2002-11-15 02:36:11.000000000 +1100 -+++ gd-2.0.7gif/gd.c 2002-11-18 11:39:01.000000000 +1100 -@@ -1831,22 +1831,24 @@ - 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. */ -+ if (dst == src && pct == 100) - { - nc = c; - } - else - { - dc = gdImageGetPixel (dst, tox, toy); -- g = 0.29900 * dst->red[dc] -- + 0.58700 * dst->green[dc] + 0.11400 * dst->blue[dc]; -+ g = 0.29900 * gdImageRed(dst,dc) -+ + 0.58700 * gdImageGreen(dst,dc) -+ + 0.11400 * gdImageBlue(dst, dc); - - ncR = gdImageRed (src, c) * (pct / 100.0) -- + gdImageRed (dst, dc) * g * ((100 - pct) / 100.0); -+ + g * ((100 - pct) / 100.0); - ncG = gdImageGreen (src, c) * (pct / 100.0) -- + gdImageGreen (dst, dc) * g * ((100 - pct) / 100.0); -+ + g * ((100 - pct) / 100.0); - ncB = gdImageBlue (src, c) * (pct / 100.0) -- + gdImageBlue (dst, dc) * g * ((100 - pct) / 100.0); -+ + g * ((100 - pct) / 100.0); - - /* First look for an exact match */ -@@ -2253,7 +2254,17 @@ - } - - void --gdImagePolygon (gdImagePtr im, gdPointPtr p, int n, int c) -+gdImagePolygon(gdImagePtr im, gdPointPtr p, int n, int c) -+{ -+ if (!n) { -+ return; -+ } -+ gdImageLine(im, p->x, p->y, p[n-1].x, p[n-1].y, c); -+ gdImageOpenPolygon(im, p, n, c); -+} -+ -+void -+gdImageOpenPolygon (gdImagePtr im, gdPointPtr p, int n, int c) - { - int i; - int lx, ly; -@@ -2263,7 +2274,6 @@ - } - lx = p->x; - ly = p->y; -- gdImageLine (im, lx, ly, p[n - 1].x, p[n - 1].y, c); - for (i = 1; (i < n); i++) - { - p++; -@@ -2503,8 +2513,8 @@ - { - for (x = 0; (x < sx); x++) - { -- p1 = im1->pixels[y][x]; -- p2 = im2->pixels[y][x]; -+ p1 = im1->trueColor ? gdImageTrueColorPixel(im1, x, y) : gdImagePalettePixel(im1, x, y); -+ p2 = im2->trueColor ? gdImageTrueColorPixel(im2, x, y) : gdImagePalettePixel(im2, x, y); - if (gdImageRed (im1, p1) != gdImageRed (im2, p2)) - { - cmpStatus |= GD_CMP_COLOR + GD_CMP_IMAGE; -diff -Naur gd-2.0.7orig/gd.h gd-2.0.7gif/gd.h ---- gd-2.0.7orig/gd.h 2002-11-14 02:51:02.000000000 +1100 -+++ gd-2.0.7gif/gd.h 2002-11-18 11:39:01.000000000 +1100 -@@ -201,6 +201,10 @@ - - gdImagePtr gdImageCreateFromPngSource (gdSourcePtr in); - -+ gdImagePtr gdImageCreateFromGif (FILE * fd); -+ gdImagePtr gdImageCreateFromGifCtx (gdIOCtxPtr in); -+ gdImagePtr gdImageCreateFromGifSource (gdSourcePtr in); -+ - gdImagePtr gdImageCreateFromGd (FILE * in); - gdImagePtr gdImageCreateFromGdCtx (gdIOCtxPtr in); - -@@ -274,6 +278,7 @@ - } gdPoint, *gdPointPtr; - - void gdImagePolygon (gdImagePtr im, gdPointPtr p, int n, int c); -+ void gdImageOpenPolygon (gdImagePtr im, gdPointPtr p, int n, int c); - void gdImageFilledPolygon (gdImagePtr im, gdPointPtr p, int n, int c); - - /* These functions still work with truecolor images, -@@ -368,6 +373,14 @@ - /* Best to free this memory with gdFree(), not free() */ - void *gdImageJpegPtr (gdImagePtr im, int *size, int quality); - -+void gdImageLzw(gdImagePtr im, FILE *out); -+void* gdImageLzwPtr(gdImagePtr im, int *size); -+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out); -+ -+void gdImageBigGif(gdImagePtr im, FILE *out); -+void* gdImageBigGifPtr(gdImagePtr im, int *size); -+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out); -+ - /* A custom data sink. For backwards compatibility. Use - gdIOCtx instead. */ - /* The sink function must return -1 on error, otherwise the number -@@ -380,6 +393,11 @@ - - void gdImagePngToSink (gdImagePtr im, gdSinkPtr out); - -+ void gdImageGif (gdImagePtr im, FILE *out); -+ void* gdImageGifPtr (gdImagePtr im, int *size); -+ void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out); -+ void gdImageGifToSink (gdImagePtr im, gdSinkPtr out); -+ - void gdImageGd (gdImagePtr im, FILE * out); - void gdImageGd2 (gdImagePtr im, FILE * out, int cs, int fmt); - -diff -Naur gd-2.0.7orig/gd2togif.c gd-2.0.7gif/gd2togif.c ---- gd-2.0.7orig/gd2togif.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/gd2togif.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/gd2togif.c gd-2.0.17/gd2togif.c +--- gd-2.0.17.orig/gd2togif.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/gd2togif.c 2003-12-26 15:35:52.279572344 +0100 @@ -0,0 +1,40 @@ +#include +#include "gd.h" @@ -184,9 +42,9 @@ diff -Naur gd-2.0.7orig/gd2togif.c gd-2.0.7gif/gd2togif.c + return 0; +} + -diff -Naur gd-2.0.7orig/gd_biggif_out.c gd-2.0.7gif/gd_biggif_out.c ---- gd-2.0.7orig/gd_biggif_out.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/gd_biggif_out.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/gd_biggif_out.c gd-2.0.17/gd_biggif_out.c +--- gd-2.0.17.orig/gd_biggif_out.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/gd_biggif_out.c 2003-12-26 15:35:52.285571432 +0100 @@ -0,0 +1,823 @@ +#include +#include @@ -1011,9 +869,128 @@ diff -Naur gd-2.0.7orig/gd_biggif_out.c gd-2.0.7gif/gd_biggif_out.c +/* | provided "as is" without express or implied warranty. | */ +/* +-------------------------------------------------------------------+ */ + -diff -Naur gd-2.0.7orig/gd_gif_in.c gd-2.0.7gif/gd_gif_in.c ---- gd-2.0.7orig/gd_gif_in.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/gd_gif_in.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/gd.c gd-2.0.17/gd.c +--- gd-2.0.17.orig/gd.c 2003-12-24 22:43:06.000000000 +0100 ++++ gd-2.0.17/gd.c 2003-12-26 15:35:52.264574624 +0100 +@@ -2695,7 +2695,17 @@ + } + + void +-gdImagePolygon (gdImagePtr im, gdPointPtr p, int n, int c) ++gdImagePolygon(gdImagePtr im, gdPointPtr p, int n, int c) ++{ ++ if (!n) { ++ return; ++ } ++ gdImageLine(im, p->x, p->y, p[n-1].x, p[n-1].y, c); ++ gdImageOpenPolygon(im, p, n, c); ++} ++ ++void ++gdImageOpenPolygon (gdImagePtr im, gdPointPtr p, int n, int c) + { + int i; + int lx, ly; +@@ -2711,7 +2721,6 @@ + + lx = p->x; + ly = p->y; +- gdImageLine (im, lx, ly, p[n - 1].x, p[n - 1].y, c); + for (i = 1; (i < n); i++) + { + p++; +diff -Nur gd-2.0.17.orig/gdcmpgif.c gd-2.0.17/gdcmpgif.c +--- gd-2.0.17.orig/gdcmpgif.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/gdcmpgif.c 2003-12-26 15:35:52.303568696 +0100 +@@ -0,0 +1,85 @@ ++#include ++#include /* For unlink function */ ++#include "gd.h" ++ ++/* A short program which converts a .png file into a .gd file, for ++ your convenience in creating images on the fly from a ++ basis image that must be loaded quickly. The .gd format ++ is not intended to be a general-purpose format. */ ++ ++void CompareImages(char *msg, gdImagePtr im1, gdImagePtr im2); ++ ++ ++int main(int argc, char **argv) ++{ ++ gdImagePtr im1, im2; ++ FILE *in; ++ ++ if (argc != 3) { ++ fprintf(stderr, "Usage: gdcmpgif filename.gif filename.gif\n"); ++ exit(1); ++ } ++ in = fopen(argv[1], "rb"); ++ if (!in) { ++ fprintf(stderr, "Input file does not exist!\n"); ++ exit(1); ++ } ++ im1 = gdImageCreateFromGif(in); ++ fclose(in); ++ ++ if (!im1) { ++ fprintf(stderr, "Input is not in GIF format!\n"); ++ exit(1); ++ } ++ ++ in = fopen(argv[2], "rb"); ++ if (!in) { ++ fprintf(stderr, "Input file 2 does not exist!\n"); ++ exit(1); ++ } ++ im2 = gdImageCreateFromGif(in); ++ fclose(in); ++ ++ if (!im2) { ++ fprintf(stderr, "Input 2 is not in GIF format!\n"); ++ exit(1); ++ } ++ ++ CompareImages("gdcmpgif", im1, im2); ++ ++ gdImageDestroy(im1); ++ gdImageDestroy(im2); ++ ++ return 0; ++} ++ ++void CompareImages(char *msg, gdImagePtr im1, gdImagePtr im2) ++{ ++ int cmpRes; ++ ++ cmpRes = gdImageCompare(im1, im2); ++ ++ if (cmpRes & GD_CMP_IMAGE) { ++ printf("%%%s: ERROR images differ: BAD\n",msg); ++ } else if (cmpRes != 0) { ++ printf("%%%s: WARNING images differ: WARNING - Probably OK\n",msg); ++ } else { ++ printf("%%%s: OK\n",msg); ++ return; ++ } ++ ++ if (cmpRes & (GD_CMP_SIZE_X + GD_CMP_SIZE_Y)) { ++ printf("-%s: INFO image sizes differ\n",msg); ++ } ++ ++ if (cmpRes & GD_CMP_NUM_COLORS) { ++ printf("-%s: INFO number of pallette entries differ %d Vs. %d\n",msg, ++ im1->colorsTotal, im2->colorsTotal); ++ } ++ ++ if (cmpRes & GD_CMP_COLOR) { ++ printf("-%s: INFO actual colours of pixels differ\n",msg); ++ } ++} ++ ++ +diff -Nur gd-2.0.17.orig/gd_gif_in.c gd-2.0.17/gd_gif_in.c +--- gd-2.0.17.orig/gd_gif_in.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/gd_gif_in.c 2003-12-26 15:35:52.291570520 +0100 @@ -0,0 +1,573 @@ +#include +#include @@ -1588,9 +1565,9 @@ diff -Naur gd-2.0.7orig/gd_gif_in.c gd-2.0.7gif/gd_gif_in.c + } +} + -diff -Naur gd-2.0.7orig/gd_gif_out.c gd-2.0.7gif/gd_gif_out.c ---- gd-2.0.7orig/gd_gif_out.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/gd_gif_out.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/gd_gif_out.c gd-2.0.17/gd_gif_out.c +--- gd-2.0.17.orig/gd_gif_out.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/gd_gif_out.c 2003-12-26 15:35:52.294570064 +0100 @@ -0,0 +1,46 @@ +#include +#include @@ -1638,9 +1615,58 @@ diff -Naur gd-2.0.7orig/gd_gif_out.c gd-2.0.7gif/gd_gif_out.c +#endif +} + -diff -Naur gd-2.0.7orig/gd_lzw_out.c gd-2.0.7gif/gd_lzw_out.c ---- gd-2.0.7orig/gd_lzw_out.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/gd_lzw_out.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/gd.h gd-2.0.17/gd.h +--- gd-2.0.17.orig/gd.h 2003-12-24 20:55:14.000000000 +0100 ++++ gd-2.0.17/gd.h 2003-12-26 15:35:52.276572800 +0100 +@@ -240,6 +240,10 @@ + + gdImagePtr gdImageCreateFromPngSource (gdSourcePtr in); + ++ gdImagePtr gdImageCreateFromGif (FILE *fd); ++ gdImagePtr gdImageCreateFromGifCtx (gdIOCtxPtr in); ++ gdImagePtr gdImageCreateFromGifSource (gdSourcePtr in); ++ + gdImagePtr gdImageCreateFromGd (FILE * in); + gdImagePtr gdImageCreateFromGdCtx (gdIOCtxPtr in); + +@@ -354,6 +358,7 @@ + gdPoint, *gdPointPtr; + + void gdImagePolygon (gdImagePtr im, gdPointPtr p, int n, int c); ++ void gdImageOpenPolygon (gdImagePtr im, gdPointPtr p, int n, int c); + void gdImageFilledPolygon (gdImagePtr im, gdPointPtr p, int n, int c); + + /* These functions still work with truecolor images, +@@ -455,6 +460,14 @@ + /* Best to free this memory with gdFree(), not free() */ + void *gdImageJpegPtr (gdImagePtr im, int *size, int quality); + ++void gdImageLzw(gdImagePtr im, FILE *out); ++void* gdImageLzwPtr(gdImagePtr im, int *size); ++void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out); ++ ++void gdImageBigGif(gdImagePtr im, FILE *out); ++void* gdImageBigGifPtr(gdImagePtr im, int *size); ++void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out); ++ + /* A custom data sink. For backwards compatibility. Use + gdIOCtx instead. */ + /* The sink function must return -1 on error, otherwise the number +@@ -469,6 +482,11 @@ + + void gdImagePngToSink (gdImagePtr im, gdSinkPtr out); + ++ void gdImageGif (gdImagePtr im, FILE *out); ++ void* gdImageGifPtr (gdImagePtr im, int *size); ++ void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out); ++ void gdImageGifToSink (gdImagePtr im, gdSinkPtr out); ++ + void gdImageGd (gdImagePtr im, FILE * out); + void gdImageGd2 (gdImagePtr im, FILE * out, int cs, int fmt); + +diff -Nur gd-2.0.17.orig/gd_lzw_out.c gd-2.0.17/gd_lzw_out.c +--- gd-2.0.17.orig/gd_lzw_out.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/gd_lzw_out.c 2003-12-26 15:35:52.300569152 +0100 @@ -0,0 +1,796 @@ +#include +#include @@ -2438,99 +2464,10 @@ diff -Naur gd-2.0.7orig/gd_lzw_out.c gd-2.0.7gif/gd_lzw_out.c +/* | notice appear in supporting documentation. This software is | */ +/* | provided "as is" without express or implied warranty. | */ +/* +-------------------------------------------------------------------+ */ -diff -Naur gd-2.0.7orig/gdcmpgif.c gd-2.0.7gif/gdcmpgif.c ---- gd-2.0.7orig/gdcmpgif.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/gdcmpgif.c 2002-11-18 11:39:01.000000000 +1100 -@@ -0,0 +1,85 @@ -+#include -+#include /* For unlink function */ -+#include "gd.h" -+ -+/* A short program which converts a .png file into a .gd file, for -+ your convenience in creating images on the fly from a -+ basis image that must be loaded quickly. The .gd format -+ is not intended to be a general-purpose format. */ -+ -+void CompareImages(char *msg, gdImagePtr im1, gdImagePtr im2); -+ -+ -+int main(int argc, char **argv) -+{ -+ gdImagePtr im1, im2; -+ FILE *in; -+ -+ if (argc != 3) { -+ fprintf(stderr, "Usage: gdcmpgif filename.gif filename.gif\n"); -+ exit(1); -+ } -+ in = fopen(argv[1], "rb"); -+ if (!in) { -+ fprintf(stderr, "Input file does not exist!\n"); -+ exit(1); -+ } -+ im1 = gdImageCreateFromGif(in); -+ fclose(in); -+ -+ if (!im1) { -+ fprintf(stderr, "Input is not in GIF format!\n"); -+ exit(1); -+ } -+ -+ in = fopen(argv[2], "rb"); -+ if (!in) { -+ fprintf(stderr, "Input file 2 does not exist!\n"); -+ exit(1); -+ } -+ im2 = gdImageCreateFromGif(in); -+ fclose(in); -+ -+ if (!im2) { -+ fprintf(stderr, "Input 2 is not in GIF format!\n"); -+ exit(1); -+ } -+ -+ CompareImages("gdcmpgif", im1, im2); -+ -+ gdImageDestroy(im1); -+ gdImageDestroy(im2); -+ -+ return 0; -+} -+ -+void CompareImages(char *msg, gdImagePtr im1, gdImagePtr im2) -+{ -+ int cmpRes; -+ -+ cmpRes = gdImageCompare(im1, im2); -+ -+ if (cmpRes & GD_CMP_IMAGE) { -+ printf("%%%s: ERROR images differ: BAD\n",msg); -+ } else if (cmpRes != 0) { -+ printf("%%%s: WARNING images differ: WARNING - Probably OK\n",msg); -+ } else { -+ printf("%%%s: OK\n",msg); -+ return; -+ } -+ -+ if (cmpRes & (GD_CMP_SIZE_X + GD_CMP_SIZE_Y)) { -+ printf("-%s: INFO image sizes differ\n",msg); -+ } -+ -+ if (cmpRes & GD_CMP_NUM_COLORS) { -+ printf("-%s: INFO number of pallette entries differ %d Vs. %d\n",msg, -+ im1->colorsTotal, im2->colorsTotal); -+ } -+ -+ if (cmpRes & GD_CMP_COLOR) { -+ printf("-%s: INFO actual colours of pixels differ\n",msg); -+ } -+} -+ -+ -diff -Naur gd-2.0.7orig/gdtest.c gd-2.0.7gif/gdtest.c ---- gd-2.0.7orig/gdtest.c 2002-11-02 05:40:42.000000000 +1100 -+++ gd-2.0.7gif/gdtest.c 2002-11-18 11:39:01.000000000 +1100 -@@ -90,6 +90,59 @@ +diff -Nur gd-2.0.17.orig/gdtest.c gd-2.0.17/gdtest.c +--- gd-2.0.17.orig/gdtest.c 2003-03-29 16:46:35.000000000 +0100 ++++ gd-2.0.17/gdtest.c 2003-12-26 15:35:52.313567176 +0100 +@@ -91,6 +91,59 @@ gdImageDestroy (im2); ctx->gd_free (ctx); @@ -2590,7 +2527,7 @@ diff -Naur gd-2.0.7orig/gdtest.c gd-2.0.7gif/gdtest.c /* */ /* Send to GD2 File then Ptr */ -@@ -206,8 +259,6 @@ +@@ -209,8 +262,6 @@ gdImageDestroy (im2); }; @@ -2599,7 +2536,7 @@ diff -Naur gd-2.0.7orig/gdtest.c gd-2.0.7gif/gdtest.c /* */ /* Test Extraction */ /* */ -@@ -273,6 +324,10 @@ +@@ -277,6 +328,10 @@ printf ("[Merged Image has %d colours]\n", im2->colorsTotal); CompareImages ("Merged (gdtest.png, gdtest_merge.png)", im2, im3); @@ -2610,9 +2547,9 @@ diff -Naur gd-2.0.7orig/gdtest.c gd-2.0.7gif/gdtest.c gdImageDestroy (im2); gdImageDestroy (im3); -diff -Naur gd-2.0.7orig/gdtestft.c gd-2.0.7gif/gdtestft.c ---- gd-2.0.7orig/gdtestft.c 2002-11-15 02:39:33.000000000 +1100 -+++ gd-2.0.7gif/gdtestft.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/gdtestft.c gd-2.0.17/gdtestft.c +--- gd-2.0.17.orig/gdtestft.c 2003-03-29 16:46:35.000000000 +0100 ++++ gd-2.0.17/gdtestft.c 2003-12-26 15:35:52.316566720 +0100 @@ -23,6 +23,8 @@ #define MAXY(x) MAX4(x[1],x[3],x[5],x[7]) #define MINY(x) MIN4(x[1],x[3],x[5],x[7]) @@ -2622,9 +2559,9 @@ diff -Naur gd-2.0.7orig/gdtestft.c gd-2.0.7gif/gdtestft.c int main (int argc, char *argv[]) { -diff -Naur gd-2.0.7orig/giftogd2.c gd-2.0.7gif/giftogd2.c ---- gd-2.0.7orig/giftogd2.c 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/giftogd2.c 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/giftogd2.c gd-2.0.17/giftogd2.c +--- gd-2.0.17.orig/giftogd2.c 1970-01-01 01:00:00.000000000 +0100 ++++ gd-2.0.17/giftogd2.c 2003-12-26 15:35:52.319566264 +0100 @@ -0,0 +1,48 @@ +#include +#include @@ -2674,9 +2611,9 @@ diff -Naur gd-2.0.7orig/giftogd2.c gd-2.0.7gif/giftogd2.c + return 0; +} + -diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html ---- gd-2.0.7orig/index.html 2002-11-16 11:54:40.000000000 +1100 -+++ gd-2.0.7gif/index.html 2002-11-18 11:39:01.000000000 +1100 +diff -Nur gd-2.0.17.orig/index.html gd-2.0.17/index.html +--- gd-2.0.17.orig/index.html 2003-12-25 17:43:52.000000000 +0100 ++++ gd-2.0.17/index.html 2003-12-26 15:38:31.022439760 +0100 @@ -28,7 +28,12 @@ more compatible with the major Web browsers than even PNG is. WBMP is intended for wireless devices (not regular web browsers). Old @@ -2688,10 +2625,10 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html +who have not yet managed to move away from GIFs. +

+Please do not ask the original author to send you the old GIF - version of GD. Unisys holds a patent on the LZW compression - algorithm, which is used in fully compressed GIF images. The best + version of GD. Yes, Unisys still holds a patent on the LZW compression + algorithm in some countries. The best solution is to move to legally unencumbered, well-compressed, -@@ -116,6 +121,18 @@ +@@ -117,6 +122,18 @@ Portions relating to WBMP copyright 2000, 2001, 2002 Maurice Szmurlo and Johan Van den Brande.

@@ -2710,7 +2647,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html Permission has been granted to copy, distribute and modify gd in any context without fee, including a commercial application, provided that this notice is present in user-accessible supporting documentation. -@@ -191,6 +208,24 @@ +@@ -202,6 +219,24 @@

  • fly, by Martin Gleeson
@@ -2733,17 +2670,17 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html +Note: While every effort has been made to ensure that the _WinNT_ build works, it has not +been tested.

-

What's new in version 2.0.7?

+

What's new in version 2.0.17?

-@@ -418,6 +453,7 @@ +@@ -659,6 +694,7 @@ preprocessing them, this should not be a big problem. gd 2.0 should read old .gd and .gd2 files correctly. +

What's new in version 1.8.4?

    -
  • Add support for FreeType2 (John Ellson ellson@lucent.com) -@@ -450,6 +486,7 @@ +
  • Add support for FreeType2 (John Ellson ellson@graphviz.org) +@@ -691,6 +727,7 @@ corrected
  • Updated links to fast-moving, always dodging libpng and zlib web sites
@@ -2751,7 +2688,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html

What's new in version 1.8.1?

  • Optional components no longer built by default (following the -@@ -527,6 +564,7 @@ +@@ -768,6 +805,7 @@ gdImageCreateFromXpm function, if the Xpm library is available. Thanks to Caolan McNamara.
@@ -2759,7 +2696,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html

What's new in version 1.6.3?

Version 1.6.3 corrects a memory leak in gd_png.c. This leak caused a significant amount of memory to be allocated and not freed when -@@ -1047,7 +1085,8 @@ +@@ -1334,7 +1372,8 @@
gdPoint (TYPE)
Represents a point in the coordinate space of the image; used @@ -2769,7 +2706,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html gdImageFilledPolygon.
  typedef struct {
-@@ -1057,7 +1096,8 @@
+@@ -1344,7 +1383,8 @@
  
gdPointPtr (TYPE)
A pointer to a gdPoint structure; passed @@ -2779,7 +2716,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html and gdImageFilledPolygon.
gdFTStringExtra (TYPE) -@@ -1175,6 +1215,75 @@ +@@ -1457,6 +1497,75 @@ /* ... Use the image ... */ gdImageDestroy(im);
@@ -2855,7 +2792,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html
gdImageCreateFromPng(FILE *in) (FUNCTION)
gdImageCreateFromPngCtx(gdIOCtx *in) -@@ -1390,6 +1499,92 @@ +@@ -1672,6 +1781,92 @@ /* Now destroy it */ gdImageDestroy(im); @@ -2948,7 +2885,7 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html
void gdImageJpeg(gdImagePtr im, FILE *out, int quality) (FUNCTION)
-@@ -1810,6 +2005,15 @@ +@@ -2133,6 +2328,15 @@ /* Destroy it */ gdImageDestroy(im); @@ -2964,17 +2901,17 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html
void gdImageRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color) (FUNCTION)
-@@ -3784,6 +3988,9 @@ - gdImageCreateFromGd | - gdImageCreateFromGd2 | +@@ -4488,6 +4692,9 @@ + gdImageCreateFromGd2Ctx | gdImageCreateFromGd2Part | + gdImageCreateFromGd2PartCtx | +gdImageCreateFromGif | +gdImageCreateFromGifCtx | +gdImageCreateFromGifSource | gdImageCreateFromJpeg | + gdImageCreateFromJpegCtx | gdImageCreateFromPng | - gdImageCreateFromPngSource | -@@ -3801,6 +4008,10 @@ +@@ -4507,6 +4714,10 @@ gdImageGetInterlaced | gdImageGetPixel | gdImageGetTransparent | @@ -2985,35 +2922,33 @@ diff -Naur gd-2.0.7orig/index.html gd-2.0.7gif/index.html gdImageGreen | gdImageInterlace | gdImageJpeg | -@@ -3810,6 +4021,7 @@ - gdImagePng | +@@ -4522,6 +4733,7 @@ + gdImagePngPtrEx | gdImagePngToSink | gdImagePolygon | +gdImageOpenPolygon | gdImagePtr | gdImageWBMP | - gdImageRectangle | -diff -Naur gd-2.0.7orig/test/fttestref.png gd-2.0.7gif/test/fttestref.png ---- gd-2.0.7orig/test/fttestref.png 1970-01-01 10:00:00.000000000 +1000 -+++ gd-2.0.7gif/test/fttestref.png 2002-11-18 14:30:15.000000000 +1100 -@@ -0,0 +1,19 @@ -+‰PNG -+ -+ IHDR7=¯7ú” fIDATxœí]k’ã( V¶öø&öœÄ™“8s;'±û$NNÂþؑ[!€ ?Ò|UÔÔTژÏâ! !.Zk Šön@Nr.\.©v°àjG‘œÇC 阦Éù›Ü0 Ü*ò½_3t×uzžgNUјçYw]·´Á†‹ÖéëÜQ&2¡œ…ÜY!B®ë:˜ç´ÖÑûÜ<ÏÐu¿aœétÛ¶œ*¼SyÚ¶u>ϖÜõzåV‘íýìuŽñøR€}â¶£L(.p¥&W;ŠäΊBî¬(>”³¢øP|ø>”qYuÄ¢øPvhÇf(äΊBn Jj9……‹âCI„E?҇’ÜÑñђûhrÿæ¨tx<0MÓbï=ŸOPJ@UUÐ4ÍR²ArÍéºN+¥3$¤Ôu­û¾—lÆróŠ¼l³»¥R -+Æqܚ\–çÇãñç ðã\UÕãœý4‰äÔ;ϳ7Ó,¸½œ bäè¦l‘ÞèGˆ‹‘–¯HK‘=æ®×+Üïwçïu]/ãŒÆ‡ÑsÏçþüù·ÛÛ¬ÿÁù2ÔX¤¥mÛ¨nÖ÷ýKü¦Te‘3J¹±$Dz{x”)5©ñ‚LBz"Ü]׉\ûÀ-yÈAëïPG‰z“%‡3œ´–3ª„Ëðpö=’Æ;€[*¶!éäepK{œÀ-*?MÓ¢íìÀÇR$NnÐú°H8žX -+jܦE!õÁXäè×®ë:J«À4;¶ORîBv¤ì0 ðû÷ïåÿhmã˜1'Ó0Ѷ­\Ò&‰/Ä1Ti‘ÖvD£Ó9'Žs¸Ä£ÓcϊǎÕd‹NŸ¦i)tŒÑ1y½^Å5ŠzVrgE!wV°Dèh•4{$‘¼TUõ²ví&eCé–6Ün7PJRj÷Ô«. å¬(äΊBî¬(äΊBî¬(äΊBî¬(äΊBî¬(äΊ,Ü6`ð(ni™[ÇYXgÙõ#°åÑ -àٍœýÊ-)á âäæyN–Tˆ$c¤(~®@RZ®º‡.Fn+b1E<ΏÇš¦qÎ`ø}Ó4o!øf8>-Ó4-™JmÇÑ?£JHÍvh‚;ÓQÐ Œæ;|`“3£íðP|Ø&+ß,Ê&GÇYÛ¶›œô7ñ\ï;²õÍJ” ëÝ"ñ–Òi¡ c݆drôËmtAÓ-ÛÆy¹=»£ ”ž­Ñ&Ï4M/Á£{ŸÇ÷³ó¡Ø´½º$m8Ö¼(r¶Åúpµ%¸u®ƒ€G‹œO)>r· šPn·›S)Þ;4Šu·ñãñð¸= -+9묽&v—ÆO}#§\Äm÷\ÑC·8É쵐S Áö½äL©™±ÿ”|Î4kms& ÷U@‰¹l´Ø» -+$`~tçÕ® -+Ö²¡QÐe"ǽÛ©“$cÕ§Ú^j›9¦³­³k®>§ƒ#açy:µq»Ý–Ü -+ôˆ™£Átá¿Ôõî;˜›ä BIĎ!©ì!%¤WXÉáxK;RÇÍ|…å”mۖµvIï`‰M -+c%'1ĦìY+)ˌ•œdÚóÂÊXIqƒZgËËåt]÷Òe•R»uÓlj¿­ËÆ&Òå"»MƒK‰¹YâS 6YÄ%:.7Q¿r¶”Ôuý"a ìHâÓC%àt§çJÖî‚iÄJÀk¬né Òú5ÌWoµ˜cak {O»9ˆ| -+xÛ+ W@­nËoît<êU×õ©‰xö -+Ä.Dˆ€ïþƼ‘Ã\è{IM2Õ¹ɧC὿1¶YµÔûrš+XŽ0++¹­‹™%FyÀ)›Få\-÷&êª0­Œ rˆØì¾[KEÑ÷½nÛvQª· _·,Ñ gE!wVü,r{Þz›]qØïŽðªªò*Îû‘ã5Ùg€|׺Kqöºö‚T^èCΖ¶‹ÏSpHr2ù!»%B3Õ^«äÔß Ðµö_L>Ïóâ-SJAß÷ї¦cu]¿=ˆ9ćEI¥/@رdƒ•\È h•èÅaR­äB€R“<3‡Ž©Ý¯"Ek\:lþ.ä»^EŠ‡$Vк²,Áþ]2_­WBKa_h)©dSsg×Û:Ñí.i¢Ðº”À…–컍¥¦n[*.Dn¥æž0¶è•XbIJG¥DëùB5$z{gÝvÓf×uË¡>3:hÇÕxͬ»<±<„+™çá0w>JJ !žß2eW(W¨b¶ó|*=› -+/IqsÝûXvyΊBî¬ÏÀm^ 𿆯rdØ^ƒÔ´{øˆ6“ ‡ÐPr¥öa““Êœ‘có…EÎ'±¶mW•gÛ9 ¬~ËPØž¤+ËW-’S §[Qƒuw“ÇTŽ%Ž•QãwWcÕœí¤€Ë‰ÄÇÑP0ºV²®]7©ëMRÓðf÷Ûo Ç¥¾«S–vEI¯³d]ÉDMÓ@]×â B—º„Ç™d3 ƒøÅÍX—È86§Oˆ\Œqñ•Ð ©b QŸ7‚(t!E·^JƒPפ撔†b5VŸÏ'üúõ+º¤<“&[òsŠ”upHr2nõŸA $]¸°Jîì'VÉåòÝo «ä$ºÄð&¹O!°bÜn7¸\.âQã›ÁµFØ@9ó¢ç€óä£I ‹©=`N…5Ýҕ2ý›9à=³ŠYš¸sã™äm ñJçèVrô¥65ˆJËÖP*ÁØÍI—ú93ëkº¢~Ðü Éäæ*Ù"eC®§Xv4ʶ…ÛU¦ˆöÙ"ecŒF“\j=øq³Xât­½ „\ÊLˆùˆ¸ðÚsk}ßG§ùà¸å"ۆÿóùLv³K)îoŠ3Þ °®gš†-ý{®.¡Àg“Ç©:MS§¬¤-—zþt‘v8ó¡ðÜäMÓ$eÆî÷{sÌ© ð̖¨éĬqÒ ²½º¥o²Y&¨Æa»ëµ“µ ÅRa%‡_зN…³éŸ!E -+«ö\ŒâlCŠòœ•m”Kz¦õàSv]7}Ò"DPë•h !蚉&™o–&¼Þ”œÖß -+0MzkJB*êgsrZûÝ¢Ç0÷ §õwv_¨õKú=Ðu!…~VüLrUUyµúiš–`ì½ò§¬Â5»®óª_t½Úûª{¼¹öÀ£~A†uNÞÙ»œ­Ûù\ ‡9JÏæÇ7Õ¨#Â;[VU}ßÃ×××bY£©@2˜T!_À§Õï•ë9ÁêݾÈTEEý:+ -+¹³â?–5ÆmBIEND®B`‚ -\ No newline at end of file + gdImageWBMPCtx | +diff -Nur gd-2.0.17.orig/Makefile.am gd-2.0.17/Makefile.am +--- gd-2.0.17.orig/Makefile.am 2003-12-25 02:50:00.000000000 +0100 ++++ gd-2.0.17/Makefile.am 2003-12-26 15:36:42.047006544 +0100 +@@ -5,7 +5,7 @@ + + SUBDIRS = config test + +-bin_PROGRAMS = annotate gdparttopng gdtopng gd2copypal gd2topng pngtogd pngtogd2 webpng ++bin_PROGRAMS = annotate gdparttopng gdtopng gd2copypal gd2topng pngtogd pngtogd2 webpng gd2togif gdcmpgif giftogd2 + + bin_SCRIPTS = bdftogd + +@@ -17,7 +17,7 @@ + + lib_LTLIBRARIES = libgd.la + +-libgd_la_SOURCES = gd.c gdfx.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h wbmp.c wbmp.h ++libgd_la_SOURCES = gd.c gdfx.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h wbmp.c wbmp.h gd_gif_in.c gd_gif_out.c gd_biggif_out.c gd_lzw_out.c + + libgd_la_LDFLAGS = -version-info 2:0:0 + +Pliki gd-2.0.17.orig/test/fttestref.png i gd-2.0.17/test/fttestref.png ró¿ni± siê