diff options
author | minskim <minskim@pkgsrc.org> | 2011-07-28 04:37:32 +0000 |
---|---|---|
committer | minskim <minskim@pkgsrc.org> | 2011-07-28 04:37:32 +0000 |
commit | 8e460e471333578a4fd4c7ee021b866bd9b7456c (patch) | |
tree | 923d78f499db60f8e7cc69f6f847fdd417c28332 /print/luatex | |
parent | fe91842dc29ac15a0f35c06aed979186804b5467 (diff) | |
download | pkgsrc-8e460e471333578a4fd4c7ee021b866bd9b7456c.tar.gz |
Update luatex to 0.70.1.
Changes:
- luatex now uses the standard synctex files.
- The default form margin is now zero (was 1bp before).
- New function node.currentattr() queries the current active attribute list.
- Lua font loading; ignore unknown enumeration keys in MathConstants.
- JPEG 2000 image support.
- Bug fixes.
Diffstat (limited to 'print/luatex')
-rw-r--r-- | print/luatex/Makefile | 10 | ||||
-rw-r--r-- | print/luatex/distinfo | 11 | ||||
-rw-r--r-- | print/luatex/patches/patch-ab | 12 | ||||
-rw-r--r-- | print/luatex/patches/patch-ad | 449 |
4 files changed, 17 insertions, 465 deletions
diff --git a/print/luatex/Makefile b/print/luatex/Makefile index 2b166d2325f..2ca01e9d865 100644 --- a/print/luatex/Makefile +++ b/print/luatex/Makefile @@ -1,10 +1,9 @@ -# $NetBSD: Makefile,v 1.11 2011/03/09 12:16:35 drochner Exp $ +# $NetBSD: Makefile,v 1.12 2011/07/28 04:37:32 minskim Exp $ -DISTNAME= luatex-beta-0.65.0-source +DISTNAME= luatex-beta-0.70.1 PKGNAME= ${DISTNAME:S/-beta//:S/-source//} -PKGREVISION= 2 CATEGORIES= print -MASTER_SITES= http://foundry.supelec.fr/gf/download/frsrelease/386/1704/ +MASTER_SITES= http://foundry.supelec.fr/gf/download/frsrelease/392/1730/ EXTRACT_SUFX= .tar.bz2 MAINTAINER= minskim@NetBSD.org @@ -16,6 +15,7 @@ PKG_DESTDIR_SUPPORT= user-destdir MAKE_JOBS_SAFE=no CONFLICTS+= web2c<=7.5.7nb3 +DEPENDS+= kpathsea>=6.0.1:../../print/kpathsea GNU_CONFIGURE= yes USE_LANGUAGES= c c++ @@ -117,6 +117,8 @@ INSTALLATION_DIRS+= bin post-extract: ${RM} -rf ${WRKSRC}/texk/kpathsea + ${ECHO} '#define luatex_svn_revision 4279' \ + > ${WRKSRC}/texk/web2c/luatexdir/luatex_svnversion.h do-install: .for f in luatex diff --git a/print/luatex/distinfo b/print/luatex/distinfo index d9517a49789..06ed58ddf12 100644 --- a/print/luatex/distinfo +++ b/print/luatex/distinfo @@ -1,9 +1,8 @@ -$NetBSD: distinfo,v 1.5 2011/01/17 10:33:43 wiz Exp $ +$NetBSD: distinfo,v 1.6 2011/07/28 04:37:32 minskim Exp $ -SHA1 (luatex-beta-0.65.0-source.tar.bz2) = 5d01dc1dbc46b8c654ca5a45f3b537cae8a2cf6d -RMD160 (luatex-beta-0.65.0-source.tar.bz2) = c23ac8c3cc26c9064f099c5789ae64edd22fc1a7 -Size (luatex-beta-0.65.0-source.tar.bz2) = 7575951 bytes +SHA1 (luatex-beta-0.70.1.tar.bz2) = 063bd698daab38ac6b04b45c820a15a0423aaab5 +RMD160 (luatex-beta-0.70.1.tar.bz2) = dfa3710bb48ba5d73ae5e41746d7c1a3a965f619 +Size (luatex-beta-0.70.1.tar.bz2) = 8181155 bytes SHA1 (patch-aa) = 738c8bd631db36671d2c4eb48a360b7a16186c64 -SHA1 (patch-ab) = e9c4d72aaac53ee9f47d84a01438e23ce9e9c326 +SHA1 (patch-ab) = ee8ad45e980e655702925a164ee0ce6dd1689366 SHA1 (patch-ac) = 23d6c26c4ded11267f05730119c250a831cd53ff -SHA1 (patch-ad) = 98dd91c2741452b2356a2b7e6c74d8a5b82ae7bf diff --git a/print/luatex/patches/patch-ab b/print/luatex/patches/patch-ab index a47e1b5a893..ee5267811d4 100644 --- a/print/luatex/patches/patch-ab +++ b/print/luatex/patches/patch-ab @@ -1,13 +1,13 @@ -$NetBSD: patch-ab,v 1.1 2010/09/13 04:11:52 minskim Exp $ +$NetBSD: patch-ab,v 1.2 2011/07/28 04:37:32 minskim Exp $ ---- texk/web2c/Makefile.in.orig 2010-09-09 09:11:09.000000000 +0000 +--- texk/web2c/Makefile.in.orig 2011-05-19 05:39:16.000000000 +0000 +++ texk/web2c/Makefile.in -@@ -36,7 +36,7 @@ build_triplet = @build@ - host_triplet = @host@ +@@ -37,7 +37,7 @@ host_triplet = @host@ EXTRA_PROGRAMS = $(am__EXEEXT_1) tex$(EXEEXT) mf$(EXEEXT) \ - mf-nowin$(EXEEXT) mpost$(EXEEXT) luatex$(EXEEXT) + mf-nowin$(EXEEXT) mpost$(EXEEXT) luatex$(EXEEXT) \ + txt2zlib$(EXEEXT) -bin_PROGRAMS = tangle$(EXEEXT) ctangle$(EXEEXT) $(am__EXEEXT_2) \ +bin_PROGRAMS = $(am__EXEEXT_2) \ ctie$(EXEEXT) cweave$(EXEEXT) tie$(EXEEXT) $(am__EXEEXT_3) \ $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \ - $(am__EXEEXT_7) + $(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) \ diff --git a/print/luatex/patches/patch-ad b/print/luatex/patches/patch-ad deleted file mode 100644 index d97c911edf2..00000000000 --- a/print/luatex/patches/patch-ad +++ /dev/null @@ -1,449 +0,0 @@ -$NetBSD: patch-ad,v 1.1 2011/01/17 10:33:43 wiz Exp $ - -Fix build with png-1.5 from upstream SVN. -http://foundry.supelec.fr/gf/project/luatex/scmsvn/?action=browse&path=%2F&view=rev&revision=4045 -Further additional changes manually; ->transformations part -commented out on recommendation by John Bowler. - ---- texk/web2c/luatexdir/image/writepng.w.orig 2010-12-13 13:41:15.000000000 +0000 -+++ texk/web2c/luatexdir/image/writepng.w -@@ -67,7 +67,7 @@ void read_png_info(PDF pdf, image_dict * - if ((info_p = png_create_info_struct(png_p)) == NULL) - pdftex_fail("libpng: png_create_info_struct() failed"); - img_png_info_ptr(idict) = info_p; -- if (setjmp(png_p->jmpbuf)) -+ if (setjmp(png_jmpbuf(png_p))) - pdftex_fail("libpng: internal error"); - png_init_io(png_p, img_file(idict)); - png_read_info(png_p, info_p); -@@ -76,12 +76,12 @@ void read_png_info(PDF pdf, image_dict * - png_set_tRNS_to_alpha(png_p); - } - /* alpha channel support */ -- if (pdf->minor_version < 4 && png_p->color_type | PNG_COLOR_MASK_ALPHA) -+ if (pdf->minor_version < 4 && png_get_color_type (png_p, info_p) | PNG_COLOR_MASK_ALPHA) - png_set_strip_alpha(png_p); - /* 16bit depth support */ - if (pdf->minor_version < 5) - pdf->image_hicolor = 0; -- if ((info_p->bit_depth == 16) && (pdf->image_hicolor == 0)) -+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor == 0)) - png_set_strip_16(png_p); - /* gamma support */ - if (pdf->image_apply_gamma) { -@@ -94,15 +94,15 @@ void read_png_info(PDF pdf, image_dict * - /* reset structure */ - png_read_update_info(png_p, info_p); - /* resolution support */ -- img_xsize(idict) = (int) info_p->width; -- img_ysize(idict) = (int) info_p->height; -- if (info_p->valid & PNG_INFO_pHYs) { -+ img_xsize(idict) = (int) png_get_image_width (png_p, info_p); -+ img_ysize(idict) = (int) png_get_image_height (png_p, info_p); -+ if (png_get_valid(png_p, info_p, PNG_INFO_pHYs)) { - img_xres(idict) = - round(0.0254 * (double) png_get_x_pixels_per_meter(png_p, info_p)); - img_yres(idict) = - round(0.0254 * (double) png_get_y_pixels_per_meter(png_p, info_p)); - } -- switch (info_p->color_type) { -+ switch (png_get_color_type (png_p, info_p)) { - case PNG_COLOR_TYPE_PALETTE: - img_procset(idict) |= PROCSET_IMAGE_C | PROCSET_IMAGE_I; - break; -@@ -115,9 +115,9 @@ void read_png_info(PDF pdf, image_dict * - img_procset(idict) |= PROCSET_IMAGE_C; - break; - default: -- pdftex_fail("unsupported type of color_type <%i>", info_p->color_type); -+ pdftex_fail("unsupported type of color_type <%i>", (int)png_get_color_type (png_p, info_p)); - } -- img_colordepth(idict) = info_p->bit_depth; -+ img_colordepth(idict) = png_get_bit_depth (png_p, info_p); - if (readtype == IMG_CLOSEINBETWEEN) - close_and_cleanup_png(idict); - } -@@ -142,10 +142,10 @@ void read_png_info(PDF pdf, image_dict * - #define write_simple_pixel(r) pdf_quick_out(pdf,*r++) - - #define write_noninterlaced(outmac) \ -- for (i = 0; i < (int)info_p->height; i++) { \ -+ for (i = 0; i < (int)png_get_image_height (png_p, info_p); i++) { \ - png_read_row(png_p, row, NULL); \ - r = row; \ -- k = (int)info_p->rowbytes; \ -+ k = (int)png_get_rowbytes (png_p, info_p); \ - while(k > 0) { \ - l = (k > pdf->buf_size)? pdf->buf_size : k; \ - pdf_room(pdf,l); \ -@@ -157,9 +157,9 @@ void read_png_info(PDF pdf, image_dict * - } - - #define write_interlaced(outmac) \ -- for (i = 0; i < (int)info_p->height; i++) { \ -+ for (i = 0; i < (int)png_get_image_height (png_p, info_p); i++) { \ - row = rows[i]; \ -- k = (int)info_p->rowbytes; \ -+ k = (int)png_get_rowbytes (png_p, info_p); \ - while(k > 0) { \ - l = (k > pdf->buf_size)?pdf->buf_size: k;\ - pdf_room(pdf,l); \ -@@ -179,25 +179,30 @@ static void write_png_palette(PDF pdf, i - png_infop info_p = img_png_info_ptr(idict); - png_bytep row, r, *rows; - int palette_objnum = 0; -+ png_colorp palette; -+ int num_palette; -+ -+ png_get_PLTE(png_p, info_p, &palette, &num_palette); -+ - if (img_colorspace(idict) != 0) { - pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); - } else { - palette_objnum = pdf_create_obj(pdf, obj_type_others, 0); - pdf_printf(pdf, "[/Indexed /DeviceRGB %i %i 0 R]\n", -- (int) (info_p->num_palette - 1), (int) palette_objnum); -+ num_palette - 1, (int) palette_objnum); - } - pdf_begin_stream(pdf); -- if (info_p->interlace_type == PNG_INTERLACE_NONE) { -- row = xtalloc(info_p->rowbytes, png_byte); -+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { -+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - write_noninterlaced(write_simple_pixel(r)); - xfree(row); - } else { -- if (info_p->height * info_p->rowbytes >= 10240000L) -+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) - pdftex_warn - ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); -- rows = xtalloc(info_p->height, png_bytep); -- for (i = 0; (unsigned) i < info_p->height; i++) -- rows[i] = xtalloc(info_p->rowbytes, png_byte); -+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); -+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) -+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - png_read_image(png_p, rows); - write_interlaced(write_simple_pixel(row)); - xfree(rows); -@@ -206,11 +211,11 @@ static void write_png_palette(PDF pdf, i - if (palette_objnum > 0) { - pdf_begin_dict(pdf, palette_objnum, 0); - pdf_begin_stream(pdf); -- for (i = 0; (unsigned) i < info_p->num_palette; i++) { -+ for (i = 0; (unsigned) i < num_palette; i++) { - pdf_room(pdf, 3); -- pdf_quick_out(pdf, info_p->palette[i].red); -- pdf_quick_out(pdf, info_p->palette[i].green); -- pdf_quick_out(pdf, info_p->palette[i].blue); -+ pdf_quick_out(pdf, palette[i].red); -+ pdf_quick_out(pdf, palette[i].green); -+ pdf_quick_out(pdf, palette[i].blue); - } - pdf_end_stream(pdf); - } -@@ -229,17 +234,17 @@ static void write_png_gray(PDF pdf, imag - pdf_puts(pdf, "/DeviceGray\n"); - } - pdf_begin_stream(pdf); -- if (info_p->interlace_type == PNG_INTERLACE_NONE) { -- row = xtalloc(info_p->rowbytes, png_byte); -+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { -+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - write_noninterlaced(write_simple_pixel(r)); - xfree(row); - } else { -- if (info_p->height * info_p->rowbytes >= 10240000L) -+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) - pdftex_warn - ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); -- rows = xtalloc(info_p->height, png_bytep); -- for (i = 0; (unsigned) i < info_p->height; i++) -- rows[i] = xtalloc(info_p->rowbytes, png_byte); -+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); -+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) -+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - png_read_image(png_p, rows); - write_interlaced(write_simple_pixel(row)); - xfree(rows); -@@ -258,7 +263,7 @@ static void write_png_gray_alpha(PDF pdf - png_bytep smask; - int smask_ptr = 0; - int smask_size = 0; -- int bitdepth; -+ png_byte bitdepth; - if (img_colorspace(idict) != 0) { - pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); - } else { -@@ -266,26 +271,26 @@ static void write_png_gray_alpha(PDF pdf - } - smask_objnum = pdf_create_obj(pdf, obj_type_others, 0); - pdf_printf(pdf, "/SMask %i 0 R\n", (int) smask_objnum); -- smask_size = (int) ((info_p->rowbytes / 2) * info_p->height); -+ smask_size = (int) ((png_get_rowbytes (png_p, info_p) / 2) * png_get_image_height (png_p, info_p)); - smask = xtalloc((unsigned) smask_size, png_byte); - pdf_begin_stream(pdf); -- if (info_p->interlace_type == PNG_INTERLACE_NONE) { -- row = xtalloc(info_p->rowbytes, png_byte); -- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { -+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { -+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); -+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { - write_noninterlaced(write_gray_pixel_16(r)); - } else { - write_noninterlaced(write_gray_pixel_8(r)); - } - xfree(row); - } else { -- if (info_p->height * info_p->rowbytes >= 10240000L) -+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) - pdftex_warn - ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); -- rows = xtalloc(info_p->height, png_bytep); -- for (i = 0; (unsigned) i < info_p->height; i++) -- rows[i] = xtalloc(info_p->rowbytes, png_byte); -+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); -+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) -+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - png_read_image(png_p, rows); -- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { -+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { - write_interlaced(write_gray_pixel_16(row)); - } else { - write_interlaced(write_gray_pixel_8(row)); -@@ -295,14 +300,15 @@ static void write_png_gray_alpha(PDF pdf - pdf_end_stream(pdf); - pdf_flush(pdf); - /* now write the Smask object */ -- bitdepth = (int) info_p->bit_depth; -+ bitdepth = png_get_bit_depth (png_p, info_p); - pdf_begin_dict(pdf, smask_objnum, 0); - pdf_puts(pdf, "/Type /XObject\n/Subtype /Image\n"); - if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) - pdf_printf(pdf, "%s\n", img_attr(idict)); -- pdf_printf(pdf, "/Width %i\n/Height %i\n/BitsPerComponent %i\n", -- (int) info_p->width, -- (int) info_p->height, (bitdepth == 16 ? 8 : bitdepth)); -+ pdf_printf(pdf, "/Width %u\n/Height %i\n/BitsPerComponent %u\n", -+ png_get_image_width (png_p, info_p), -+ png_get_image_height (png_p, info_p), -+ (bitdepth == 16 ? 8 : bitdepth)); - pdf_puts(pdf, "/ColorSpace /DeviceGray\n"); - pdf_begin_stream(pdf); - for (i = 0; i < smask_size; i++) { -@@ -329,17 +335,17 @@ static void write_png_rgb(PDF pdf, image - pdf_puts(pdf, "/DeviceRGB\n"); - } - pdf_begin_stream(pdf); -- if (info_p->interlace_type == PNG_INTERLACE_NONE) { -- row = xtalloc(info_p->rowbytes, png_byte); -+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { -+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - write_noninterlaced(write_simple_pixel(r)); - xfree(row); - } else { -- if (info_p->height * info_p->rowbytes >= 10240000L) -+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) - pdftex_warn - ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); -- rows = xtalloc(info_p->height, png_bytep); -- for (i = 0; (unsigned) i < info_p->height; i++) -- rows[i] = xtalloc(info_p->rowbytes, png_byte); -+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); -+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) -+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - png_read_image(png_p, rows); - write_interlaced(write_simple_pixel(row)); - xfree(rows); -@@ -358,7 +364,7 @@ static void write_png_rgb_alpha(PDF pdf, - png_bytep smask; - int smask_ptr = 0; - int smask_size = 0; -- int bitdepth; -+ png_byte bitdepth; - if (img_colorspace(idict) != 0) { - pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); - } else { -@@ -366,26 +372,26 @@ static void write_png_rgb_alpha(PDF pdf, - } - smask_objnum = pdf_create_obj(pdf, obj_type_others, 0); - pdf_printf(pdf, "/SMask %i 0 R\n", (int) smask_objnum); -- smask_size = (int) ((info_p->rowbytes / 4) * info_p->height); -+ smask_size = (int) ((png_get_rowbytes (png_p, info_p) / 4) * png_get_image_height (png_p, info_p)); - smask = xtalloc((unsigned) smask_size, png_byte); - pdf_begin_stream(pdf); -- if (info_p->interlace_type == PNG_INTERLACE_NONE) { -- row = xtalloc(info_p->rowbytes, png_byte); -- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { -+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { -+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); -+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { - write_noninterlaced(write_rgb_pixel_16(r)); - } else { - write_noninterlaced(write_rgb_pixel_8(r)); - } - xfree(row); - } else { -- if (info_p->height * info_p->rowbytes >= 10240000L) -+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) - pdftex_warn - ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); -- rows = xtalloc(info_p->height, png_bytep); -- for (i = 0; (unsigned) i < info_p->height; i++) -- rows[i] = xtalloc(info_p->rowbytes, png_byte); -+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); -+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) -+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); - png_read_image(png_p, rows); -- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { -+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { - write_interlaced(write_rgb_pixel_16(row)); - } else { - write_interlaced(write_rgb_pixel_8(row)); -@@ -396,14 +402,15 @@ static void write_png_rgb_alpha(PDF pdf, - pdf_flush(pdf); - /* now write the Smask object */ - if (smask_objnum > 0) { -- bitdepth = (int) info_p->bit_depth; -+ bitdepth = png_get_bit_depth (png_p, info_p); - pdf_begin_dict(pdf, smask_objnum, 0); - pdf_puts(pdf, "/Type /XObject\n/Subtype /Image\n"); - if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) - pdf_printf(pdf, "%s\n", img_attr(idict)); -- pdf_printf(pdf, "/Width %i\n/Height %i\n/BitsPerComponent %i\n", -- (int) info_p->width, -- (int) info_p->height, (bitdepth == 16 ? 8 : bitdepth)); -+ pdf_printf(pdf, "/Width %u\n/Height %u\n/BitsPerComponent %i\n", -+ png_get_image_width (png_p, info_p), -+ png_get_image_height (png_p, info_p), -+ (bitdepth == 16 ? 8 : bitdepth)); - pdf_puts(pdf, "/ColorSpace /DeviceGray\n"); - pdf_begin_stream(pdf); - for (i = 0; i < smask_size; i++) { -@@ -451,7 +458,7 @@ static void copy_png(PDF pdf, image_dict - assert(idict != NULL); - png_p = img_png_png_ptr(idict); - info_p = img_png_info_ptr(idict); -- fp = (FILE *) png_p->io_ptr; -+ fp = (FILE *) png_get_io_ptr (png_p); - /* 1st pass to find overall stream /Length */ - if (fseek(fp, 8, SEEK_SET) != 0) - pdftex_fail("writepng: fseek in PNG file failed"); -@@ -473,11 +480,12 @@ static void copy_png(PDF pdf, image_dict - "/Filter/FlateDecode\n" - "/DecodeParms<<" - "/Colors %d" -- "/Columns %d" -+ "/Columns %u" - "/BitsPerComponent %i" - "/Predictor 10>>\n>>\nstream\n", streamlength, -- info_p->color_type == 2 ? 3 : 1, -- (int) info_p->width, info_p->bit_depth); -+ png_get_color_type (png_p, info_p) == 2 ? 3 : 1, -+ png_get_image_width (png_p, info_p), -+ png_get_bit_depth (png_p, info_p)); - /* 2nd pass to copy data */ - endflag = false; - if (fseek(fp, 8, SEEK_SET) != 0) -@@ -549,9 +557,10 @@ void write_png(PDF pdf, image_dict * idi - pdf_puts(pdf, "/Type /XObject\n/Subtype /Image\n"); - if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) - pdf_printf(pdf, "%s\n", img_attr(idict)); -- pdf_printf(pdf, "/Width %i\n/Height %i\n/BitsPerComponent %i\n", -- (int) info_p->width, -- (int) info_p->height, (int) info_p->bit_depth); -+ pdf_printf(pdf, "/Width %u\n/Height %u\n/BitsPerComponent %u\n", -+ png_get_image_width (png_p, info_p), -+ png_get_image_height (png_p, info_p), -+ png_get_bit_depth (png_p, info_p)); - pdf_puts(pdf, "/ColorSpace "); - checked_gamma = 1.0; - if (pdf->image_apply_gamma) { -@@ -563,21 +572,25 @@ void write_png(PDF pdf, image_dict * idi - } - /* the switching between |info_p| and |png_p| queries has been trial and error. - */ -- if (pdf->minor_version > 1 && info_p->interlace_type == PNG_INTERLACE_NONE && (png_p->transformations == 0 || png_p->transformations == 0x2000) /* gamma */ -- &&!(png_p->color_type == PNG_COLOR_TYPE_GRAY_ALPHA || -- png_p->color_type == PNG_COLOR_TYPE_RGB_ALPHA) -- && ((pdf->image_hicolor != 0) || (png_p->bit_depth <= 8)) -+ if (pdf->minor_version > 1 -+ && png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE -+ &&!(png_get_color_type (png_p, info_p) == PNG_COLOR_TYPE_GRAY_ALPHA || -+ png_get_color_type (png_p, info_p) == PNG_COLOR_TYPE_RGB_ALPHA) -+ && ((pdf->image_hicolor != 0) || (png_get_bit_depth (png_p, info_p) <= 8)) - && (checked_gamma <= 1.01 && checked_gamma > 0.99) - ) { -+ png_colorp palette; -+ int num_palette; -+ -+ png_get_PLTE(png_p, info_p, &palette, &num_palette); - if (img_colorspace(idict) != 0) { - pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); - } else { -- switch (info_p->color_type) { -+ switch (png_get_color_type (png_p, info_p)) { - case PNG_COLOR_TYPE_PALETTE: - palette_objnum = pdf_create_obj(pdf, obj_type_others, 0); - pdf_printf(pdf, "[/Indexed /DeviceRGB %i %i 0 R]\n", -- (int) (info_p->num_palette - 1), -- (int) palette_objnum); -+ num_palette - 1, (int) palette_objnum); - break; - case PNG_COLOR_TYPE_GRAY: - pdf_puts(pdf, "/DeviceGray\n"); -@@ -592,11 +605,11 @@ void write_png(PDF pdf, image_dict * idi - if (palette_objnum > 0) { - pdf_begin_dict(pdf, palette_objnum, 0); - pdf_begin_stream(pdf); -- for (i = 0; (unsigned) i < info_p->num_palette; i++) { -+ for (i = 0; (unsigned) i < num_palette; i++) { - pdf_room(pdf, 3); -- pdf_quick_out(pdf, info_p->palette[i].red); -- pdf_quick_out(pdf, info_p->palette[i].green); -- pdf_quick_out(pdf, info_p->palette[i].blue); -+ pdf_quick_out(pdf, palette[i].red); -+ pdf_quick_out(pdf, palette[i].green); -+ pdf_quick_out(pdf, palette[i].blue); - } - pdf_end_stream(pdf); - } -@@ -606,22 +619,20 @@ void write_png(PDF pdf, image_dict * idi - if ((pdf->image_apply_gamma != 0) && - (checked_gamma > 1.01 || checked_gamma < 0.99)) - tex_printf("gamma delta=%lf ", checked_gamma); -- if (png_p->transformations != PNG_TRANSFORM_IDENTITY) -- tex_printf("transform=%lu", (long) png_p->transformations); -- if ((info_p->color_type != PNG_COLOR_TYPE_GRAY) -- && (info_p->color_type != PNG_COLOR_TYPE_RGB) -- && (info_p->color_type != PNG_COLOR_TYPE_PALETTE)) -+ if ((png_get_color_type (png_p, info_p) != PNG_COLOR_TYPE_GRAY) -+ && (png_get_color_type (png_p, info_p) != PNG_COLOR_TYPE_RGB) -+ && (png_get_color_type (png_p, info_p) != PNG_COLOR_TYPE_PALETTE)) - tex_printf("colortype "); - if (pdf->minor_version <= 1) - tex_printf("version=%d ", pdf->minor_version); -- if (info_p->interlace_type != PNG_INTERLACE_NONE) -+ if (png_get_interlace_type (png_p, info_p) != PNG_INTERLACE_NONE) - tex_printf("interlaced "); -- if (info_p->bit_depth > 8) -- tex_printf("bitdepth=%d ", info_p->bit_depth); -+ if (png_get_bit_depth (png_p, info_p) > 8) -+ tex_printf("bitdepth=%d ", png_get_bit_depth (png_p, info_p)); - if (png_get_valid(png_p, info_p, PNG_INFO_tRNS)) - tex_printf("simple transparancy "); - } -- switch (info_p->color_type) { -+ switch (png_get_color_type (png_p, info_p)) { - case PNG_COLOR_TYPE_PALETTE: - write_png_palette(pdf, idict); - break; -@@ -647,7 +658,7 @@ void write_png(PDF pdf, image_dict * idi - break; - default: - pdftex_fail("unsupported type of color_type <%i>", -- info_p->color_type); -+ png_get_color_type (png_p, info_p)); - } - } - pdf_flush(pdf); |