diff options
-rw-r--r-- | Build/source/texk/README | 4 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/ChangeLog | 23 | ||||
-rwxr-xr-x | Build/source/texk/dvipdfmx/configure | 22 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/configure.ac | 2 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/Makefile.am | 2 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/Makefile.in | 2 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/dpxconf.c | 26 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/dvipdfmx.c | 48 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/dvipdfmx.h | 28 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/epdf.c | 15 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/jpegimage.c | 11 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/pngimage.c | 27 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/xbb.c | 29 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/xbb.h | 4 |
14 files changed, 162 insertions, 81 deletions
diff --git a/Build/source/texk/README b/Build/source/texk/README index e3183c93846..92cb870f66a 100644 --- a/Build/source/texk/README +++ b/Build/source/texk/README @@ -47,9 +47,9 @@ dvipdfm - checked 12apr09 ftp://ftp.kettering.edu/pub/outgoing/mwicks/dvipdfm/dvipdfm-0.13.2d.tar.gz (until dvipdfmx is a 100% replacement we cannot drop it.) -dvipdfmx - checked 19may09 +dvipdfmx - checked 26may09 http://project.ktug.or.kr/dvipdfmx/snapshot/latest/ - http://project.ktug.or.kr/dvipdfmx/snapshot/latest/dvipdfmx-20090506.tar.gz + http://project.ktug.or.kr/dvipdfmx/snapshot/latest/dvipdfmx-20090522.tar.gz dvipdfmx@project.ktug.or.kr (ChoF, Hirata, Matthias) dvipng - checked 12apr09 diff --git a/Build/source/texk/dvipdfmx/ChangeLog b/Build/source/texk/dvipdfmx/ChangeLog index 76cc7803ad9..22c2f12546a 100644 --- a/Build/source/texk/dvipdfmx/ChangeLog +++ b/Build/source/texk/dvipdfmx/ChangeLog @@ -1,8 +1,29 @@ -$Header: /home/cvsroot/dvipdfmx/ChangeLog,v 1.256 2009/05/06 06:09:05 chofchof Exp $ +$Header: /home/cvsroot/dvipdfmx/ChangeLog,v 1.260 2009/05/22 07:59:59 chofchof Exp $ ChangeLog: Changes for DVIPDFMx =============================== +2009-05-22 Jin-Hwan Cho + + * generic/pgf-doc-diff.version2cvs, generic/pgf-generic-diff.version2cvs: + Removed the patches for the CVS version of pgf, + because they are applied to the main stream. + +2009-05-10 Matthias Franz + + * epdf.c: + Don't try to convert included PDF files whose version number + is higher than output file version. (If run as dvipdfm, + conversion still occurs.) + + * Makefile.am, Makefile.in, dvipdfmx.c, dvipdfmx.h, jpegimage.c, pngimage.c, xbb.c, xbb.h: + Added dvipdfm compatibility mode. This mode is triggered + if dvipdfmx is called as "dvipdfm", and likewise extractbb + as "ebb". (The latter mode was already present.) + + * dpxconf.c: + Made predefined paper sizes match values given by libpaper. + 2009-05-06 Jin-Hwan Cho * dvipdfmx.c, pdflimits.h, pdfobj.c: diff --git a/Build/source/texk/dvipdfmx/configure b/Build/source/texk/dvipdfmx/configure index 561e5f1cfd2..e167cdcc461 100755 --- a/Build/source/texk/dvipdfmx/configure +++ b/Build/source/texk/dvipdfmx/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for dvipdfmx 20090506. +# Generated by GNU Autoconf 2.63 for dvipdfmx 20090522. # # Report bugs to <dvipdfmx@project.ktug.or.kr>. # @@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='dvipdfmx' PACKAGE_TARNAME='dvipdfmx' -PACKAGE_VERSION='20090506' -PACKAGE_STRING='dvipdfmx 20090506' +PACKAGE_VERSION='20090522' +PACKAGE_STRING='dvipdfmx 20090522' PACKAGE_BUGREPORT='dvipdfmx@project.ktug.or.kr' ac_unique_file="src/dvipdfmx.c" @@ -1495,7 +1495,7 @@ if test "$ac_init_help" = "long"; then # 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 dvipdfmx 20090506 to adapt to many kinds of systems. +\`configure' configures dvipdfmx 20090522 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1565,7 +1565,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dvipdfmx 20090506:";; + short | recursive ) echo "Configuration of dvipdfmx 20090522:";; esac cat <<\_ACEOF @@ -1682,7 +1682,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dvipdfmx configure 20090506 +dvipdfmx configure 20090522 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1696,7 +1696,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dvipdfmx $as_me 20090506, which was +It was created by dvipdfmx $as_me 20090522, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -6941,7 +6941,7 @@ fi # Define the identity of the package. PACKAGE='dvipdfmx' - VERSION='20090506' + VERSION='20090522' cat >>confdefs.h <<_ACEOF @@ -16308,7 +16308,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -dvipdfmx config.lt 20090506 +dvipdfmx config.lt 20090522 configured by $0, generated by GNU Autoconf 2.63. Copyright (C) 2008 Free Software Foundation, Inc. @@ -18713,7 +18713,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dvipdfmx $as_me 20090506, which was +This file was extended by dvipdfmx $as_me 20090522, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18776,7 +18776,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -dvipdfmx config.status 20090506 +dvipdfmx config.status 20090522 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/Build/source/texk/dvipdfmx/configure.ac b/Build/source/texk/dvipdfmx/configure.ac index b8809ae3df5..7085650e6f7 100644 --- a/Build/source/texk/dvipdfmx/configure.ac +++ b/Build/source/texk/dvipdfmx/configure.ac @@ -6,7 +6,7 @@ dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl -AC_INIT([dvipdfmx], [20090506], [dvipdfmx@project.ktug.or.kr]) +AC_INIT([dvipdfmx], [20090522], [dvipdfmx@project.ktug.or.kr]) AC_PREREQ([2.63]) AC_CONFIG_SRCDIR([src/dvipdfmx.c]) AC_CONFIG_AUX_DIR([../../build-aux]) diff --git a/Build/source/texk/dvipdfmx/src/Makefile.am b/Build/source/texk/dvipdfmx/src/Makefile.am index 269794671b9..71abfbad42d 100644 --- a/Build/source/texk/dvipdfmx/src/Makefile.am +++ b/Build/source/texk/dvipdfmx/src/Makefile.am @@ -19,7 +19,7 @@ dvipdfmx_SOURCES = \ unicode.c vf.c xbb.c \ agl.h bmpimage.h cff.h cff_dict.h cff_limits.h cff_stdstr.h cff_types.h \ cid.h cid_basefont.h cid_p.h cidtype0.h cidtype2.h cmap.h cmap_p.h cmap_read.h cmap_write.h \ - cs_type2.h dpxconf.h dpxcrypt.h dpxutil.h dpxfile.h dvi.h dvicodes.h epdf.h error.h fontmap.h \ + cs_type2.h dpxconf.h dpxcrypt.h dpxutil.h dpxfile.h dvi.h dvicodes.h dvipdfmx.h epdf.h error.h fontmap.h \ jpegimage.h mem.h mfileio.h mpost.h numbers.h otl_conf.h otl_opt.h pdfcolor.h pdfdev.h \ pdfdoc.h pdfdraw.h pdfencoding.h pdfencrypt.h pdffont.h pdflimits.h pdfnames.h pdfobj.h \ pdfparse.h pdfresource.h pdfximage.h pkfont.h pngimage.h pst.h pst_obj.h sfnt.h \ diff --git a/Build/source/texk/dvipdfmx/src/Makefile.in b/Build/source/texk/dvipdfmx/src/Makefile.in index b49126ddb0b..29cad0b7010 100644 --- a/Build/source/texk/dvipdfmx/src/Makefile.in +++ b/Build/source/texk/dvipdfmx/src/Makefile.in @@ -239,7 +239,7 @@ dvipdfmx_SOURCES = \ unicode.c vf.c xbb.c \ agl.h bmpimage.h cff.h cff_dict.h cff_limits.h cff_stdstr.h cff_types.h \ cid.h cid_basefont.h cid_p.h cidtype0.h cidtype2.h cmap.h cmap_p.h cmap_read.h cmap_write.h \ - cs_type2.h dpxconf.h dpxcrypt.h dpxutil.h dpxfile.h dvi.h dvicodes.h epdf.h error.h fontmap.h \ + cs_type2.h dpxconf.h dpxcrypt.h dpxutil.h dpxfile.h dvi.h dvicodes.h dvipdfmx.h epdf.h error.h fontmap.h \ jpegimage.h mem.h mfileio.h mpost.h numbers.h otl_conf.h otl_opt.h pdfcolor.h pdfdev.h \ pdfdoc.h pdfdraw.h pdfencoding.h pdfencrypt.h pdffont.h pdflimits.h pdfnames.h pdfobj.h \ pdfparse.h pdfresource.h pdfximage.h pkfont.h pngimage.h pst.h pst_obj.h sfnt.h \ diff --git a/Build/source/texk/dvipdfmx/src/dpxconf.c b/Build/source/texk/dvipdfmx/src/dpxconf.c index 03a22589003..5b8670310d6 100644 --- a/Build/source/texk/dvipdfmx/src/dpxconf.c +++ b/Build/source/texk/dvipdfmx/src/dpxconf.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dpxconf.c,v 1.3 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dpxconf.c,v 1.4 2009/05/10 16:39:53 matthias Exp $ This is DVIPDFMx, an eXtended version of DVIPDFM by Mark A. Wicks. @@ -38,10 +38,10 @@ const struct paper paperspecs[] = { {"legal" , 612.00, 1008.00}, {"ledger", 1224.00, 792.00}, {"tabloid", 792.00, 1224.00}, - {"a6", 297.64, 420.91}, - {"a5", 420.91, 595.27}, - {"a4", 595.27, 841.82}, - {"a3", 841.82, 1190.16}, + {"a6", 297.638, 419.528}, + {"a5", 419.528, 595.276}, + {"a4", 595.276, 841.890}, + {"a3", 841.890, 1190.550}, /* * The B series paper formats were first introduced in Japanese * patch (jpatch). The size of b6, ..., b5var paper is JIS paper @@ -49,10 +49,10 @@ const struct paper paperspecs[] = { * libpaper if you need ISO paper sizes. */ #if defined(USE_ISO_PAPERSIZE) || defined(ISO_PAPERSIZE) - {"b6", 354, 499}, - {"b5", 501, 709}, - {"b4", 709, 1002}, - {"b3", 1002, 1418}, + {"b6", 354.331, 498.898}, + {"b5", 498.898, 708.661}, + {"b4", 708.661, 1000.630}, + {"b3", 1000.630, 1417.320}, #else {"b6", 364.25, 515.91}, {"b5", 515.91, 728.50}, @@ -65,10 +65,10 @@ const struct paper paperspecs[] = { {"jisb5", 515.91, 728.50}, {"jisb4", 728.50, 1031.81}, {"jisb3", 1031.81, 1457.00}, - {"isob6", 354, 499}, - {"isob5", 501, 709}, - {"isob4", 709, 1002}, - {"isob3", 1002, 1418}, + {"isob6", 354.331, 498.898}, + {"isob5", 498.898, 708.661}, + {"isob4", 708.661, 1000.630}, + {"isob3", 1000.630, 1417.320}, /* -- */ {NULL, 0, 0}, }; diff --git a/Build/source/texk/dvipdfmx/src/dvipdfmx.c b/Build/source/texk/dvipdfmx/src/dvipdfmx.c index 1e71b205b66..4c324a2aca4 100644 --- a/Build/source/texk/dvipdfmx/src/dvipdfmx.c +++ b/Build/source/texk/dvipdfmx/src/dvipdfmx.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.c,v 1.74 2009/05/06 06:07:09 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.c,v 1.76 2009/05/10 17:04:54 matthias Exp $ This is DVIPDFMx, an eXtended version of DVIPDFM by Mark A. Wicks. @@ -30,7 +30,6 @@ #include <string.h> #include <limits.h> #include <ctype.h> -#include <libgen.h> #include "system.h" #include "mem.h" @@ -57,10 +56,13 @@ #include "pdfximage.h" #include "cid.h" +#include "dvipdfmx.h" #include "xbb.h" extern void error_cleanup (void); +int compat_mode = 0; /* 0 = dvipdfmx, 1 = dvipdfm */ + static int verbose = 0; static int mp_mode = 0; @@ -432,9 +434,6 @@ do_args (int argc, char *argv[]) pdf_load_fontmap_file(argv[1], FONTMAP_RMODE_REPLACE); POP_ARG(); break; - case 'e': - WARN("dvipdfm \"-e\" option not supported."); - break; case 'q': case 'v': break; case 'V': @@ -449,11 +448,16 @@ do_args (int argc, char *argv[]) ver_minor = atoi(argv[1]); POP_ARG(); } - if (ver_minor < PDF_VERSION_MIN || ver_minor > PDF_VERSION_MAX) { + if (ver_minor < PDF_VERSION_MIN) { + WARN("PDF version 1.%d not supported. Using PDF 1.%d instead.", + ver_minor, PDF_VERSION_MIN); + ver_minor = PDF_VERSION_MIN; + } else if (ver_minor > PDF_VERSION_MAX) { WARN("PDF version 1.%d not supported. Using PDF 1.%d instead.", - ver_minor, pdf_get_version()); - } else - pdf_set_version((unsigned) ver_minor); + ver_minor, PDF_VERSION_MAX); + ver_minor = PDF_VERSION_MAX; + } + pdf_set_version((unsigned) ver_minor); } break; case 'z': @@ -471,7 +475,11 @@ do_args (int argc, char *argv[]) pdf_set_compression(level); } break; - case 'd': + case 'd': + if (compat_mode) { + WARN("dvipdfm \"-d\" option not supported."); + break; + } if (isdigit(*(flag+1))) { flag++; pdfdecimaldigits = atoi(flag); @@ -522,6 +530,11 @@ do_args (int argc, char *argv[]) } POP_ARG(); break; + case 'e': + if (compat_mode) { + WARN("dvipdfm \"-e\" option not supported."); + break; + } /* else fall through */ default: if (!really_quiet) fprintf (stderr, "Unknown option in \"%s\"", flag); @@ -788,11 +801,14 @@ main (int argc, char *argv[]) double dvi2pts; { - char *base = basename(argv[0]); - if (strcmp(base, "ebb") == 0) - return extractbb(argc, argv, EBB_OUTPUT); - else if (strcmp(base, "xbb") == 0 || strcmp(base, "extractbb") == 0) - return extractbb(argc, argv, XBB_OUTPUT); + const char *base = xbasename(argv[0]); + + if (!(strcmp(base, "dvipdfm") && strcmp(base, "ebb"))) + compat_mode = 1; + + if (!(strcmp(base, "extractbb") && strcmp(base, "xbb") && + strcmp(base, "ebb"))) + return extractbb(argc, argv); } mem_debug_init(); @@ -846,7 +862,7 @@ main (int argc, char *argv[]) MESG("%s -> %s\n", dvi_filename, pdf_filename); if (do_encryption) { - if (key_bits > 40 && pdf_get_version() <= PDF_VERSION_MIN) + if (key_bits > 40 && pdf_get_version() < 4) ERROR("Chosen key length requires at least PDF 1.4. " "Use \"-V 4\" to change."); pdf_enc_set_passwd(key_bits, permission, dvi_filename, pdf_filename); diff --git a/Build/source/texk/dvipdfmx/src/dvipdfmx.h b/Build/source/texk/dvipdfmx/src/dvipdfmx.h new file mode 100644 index 00000000000..c2c03b0df1c --- /dev/null +++ b/Build/source/texk/dvipdfmx/src/dvipdfmx.h @@ -0,0 +1,28 @@ +/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.h,v 1.1 2009/05/10 17:04:54 matthias Exp $ + + This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. + + Copyright (C) 2009 by Jin-Hwan Cho, Matthias Franz, and Shunsaku Hirata, + the dvipdfmx project team <dvipdfmx@project.ktug.or.kr> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +*/ + +#ifndef _DVIPDFMX_H_ +#define _DVIPDFMX_H_ + +extern int compat_mode; + +#endif /* _DVIPDFMX_H_ */ diff --git a/Build/source/texk/dvipdfmx/src/epdf.c b/Build/source/texk/dvipdfmx/src/epdf.c index 78e269e04c3..938ae319c27 100644 --- a/Build/source/texk/dvipdfmx/src/epdf.c +++ b/Build/source/texk/dvipdfmx/src/epdf.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/epdf.c,v 1.27 2009/05/04 00:41:42 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/epdf.c,v 1.28 2009/05/10 21:35:12 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -40,6 +40,8 @@ #include "mfileio.h" #include "error.h" +#include "dvipdfmx.h" + #include "pdfobj.h" #include "pdfdev.h" #include "pdfdoc.h" @@ -202,8 +204,13 @@ pdf_include_page (pdf_ximage *ximage, FILE *image_file, const char *filename) return -1; too_recent: - WARN("PDF version of input file more recent than in output file."); - WARN("Converting. Use \"-V\" switch to change output PDF version."); pdf_close(pf); - return 1; + WARN("PDF version of input file more recent than in output file."); + if (compat_mode) { + WARN("Converting. Use \"-V\" switch to change output PDF version."); + return 1; + } else { + WARN("Use \"-V\" switch to change output PDF version."); + return -1; + } } diff --git a/Build/source/texk/dvipdfmx/src/jpegimage.c b/Build/source/texk/dvipdfmx/src/jpegimage.c index ed8d69165a2..6a4fdf20b32 100644 --- a/Build/source/texk/dvipdfmx/src/jpegimage.c +++ b/Build/source/texk/dvipdfmx/src/jpegimage.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/jpegimage.c,v 1.10 2009/03/24 02:07:48 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/jpegimage.c,v 1.11 2009/05/10 17:04:54 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -62,6 +62,8 @@ #include "mfileio.h" #include "numbers.h" +#include "dvipdfmx.h" + #include "pdfobj.h" #include "jpegimage.h" @@ -347,6 +349,13 @@ static void jpeg_get_density (struct JPEG_info *j_info, double *xdensity, double *ydensity) { + if (compat_mode) { + *xdensity = *ydensity = 72.0 / 100.0; + return; + } + + *xdensity = *ydensity = 1.0; + if (IS_JFIF(j_info)) { struct JPEG_APPn_JFIF *app_data; int i; diff --git a/Build/source/texk/dvipdfmx/src/pngimage.c b/Build/source/texk/dvipdfmx/src/pngimage.c index 6d4953650cd..db6ef2bcc95 100644 --- a/Build/source/texk/dvipdfmx/src/pngimage.c +++ b/Build/source/texk/dvipdfmx/src/pngimage.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pngimage.c,v 1.26 2009/03/24 02:07:48 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pngimage.c,v 1.27 2009/05/10 17:04:54 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -53,6 +53,8 @@ #include "error.h" #include "mem.h" +#include "dvipdfmx.h" + #include "pdfcolor.h" #include "pdfobj.h" @@ -210,10 +212,15 @@ png_include_image (pdf_ximage *ximage, FILE *png_file) info.width = width; info.height = height; info.bits_per_component = bpc; - if (xppm > 0) - info.xdensity = 72.0 / 0.0254 / xppm; - if (yppm > 0) - info.ydensity = 72.0 / 0.0254 / yppm; + + if (compat_mode) + info.xdensity = info.ydensity = 72.0 / 100.0; + else { + if (xppm > 0) + info.xdensity = 72.0 / 0.0254 / xppm; + if (yppm > 0) + info.ydensity = 72.0 / 0.0254 / yppm; + } stream = pdf_new_stream (STREAM_COMPRESS); stream_dict = pdf_stream_dict(stream); @@ -1040,10 +1047,12 @@ png_get_bbox (FILE *png_file, long *width, long *height, if (png_ptr) png_destroy_read_struct(&png_ptr, NULL, NULL); - if (xppm > 0) - *xdensity = 72.0 / 0.0254 / xppm; - if (yppm > 0) - *ydensity = 72.0 / 0.0254 / yppm; + if (compat_mode) + *xdensity = *ydensity = 72.0 / 100.0; + else { + *xdensity = xppm ? 72.0 / 0.0254 / xppm : 1.0; + *ydensity = yppm ? 72.0 / 0.0254 / yppm : 1.0; + } return 0; } diff --git a/Build/source/texk/dvipdfmx/src/xbb.c b/Build/source/texk/dvipdfmx/src/xbb.c index 03db02e0bed..fd329548dbd 100644 --- a/Build/source/texk/dvipdfmx/src/xbb.c +++ b/Build/source/texk/dvipdfmx/src/xbb.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/xbb.c,v 1.25 2009/05/04 00:41:43 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/xbb.c,v 1.26 2009/05/10 17:04:54 matthias Exp $ This is extractbb, a bounding box extraction program. @@ -37,6 +37,7 @@ #include "jpegimage.h" #include "pngimage.h" +#include "dvipdfmx.h" #include "xbb.h" #define XBB_PROGRAM "extractbb" @@ -81,8 +82,6 @@ char *extensions[] = { ".jpeg", ".JPEG", ".jpg", ".JPG", ".pdf", ".PDF", ".png", ".PNG" }; -static int xbb_output_mode = XBB_OUTPUT; - static int xbb_to_file = 1; static char *make_xbb_filename(const char *name) @@ -104,7 +103,7 @@ static char *make_xbb_filename(const char *name) strncpy(result, name, strlen(name)-strlen(extensions[i])); result[strlen(name)-strlen(extensions[i])] = 0; } - strcat(result, (xbb_output_mode == XBB_OUTPUT ? ".xbb" : ".bb")); + strcat(result, (!compat_mode ? ".xbb" : ".bb")); return result; } @@ -137,7 +136,7 @@ static void write_xbb(char *fname, fprintf(fp, "%%%%Creator: %s %s\n", XBB_PROGRAM, XBB_VERSION); fprintf(fp, "%%%%BoundingBox: %ld %ld %ld %ld\n", bbllx, bblly, bburx, bbury); - if (xbb_output_mode == XBB_OUTPUT) { + if (!compat_mode) { /* Note: * According to Adobe Technical Note #5644, the arguments to * "%%HiResBoundingBox:" must be of type real. And according @@ -164,16 +163,13 @@ static void write_xbb(char *fname, static void do_jpeg (FILE *fp, char *filename) { long width, height; - double xdensity = 1.0, ydensity = 1.0; + double xdensity, ydensity; if (jpeg_get_bbox(fp, &width, &height, &xdensity, &ydensity) < 0) { WARN("%s does not look like a JPEG file...\n", filename); return; } - if (xbb_output_mode == EBB_OUTPUT) - xdensity = ydensity = 72.0 / 100.0; - write_xbb(filename, 0, 0, xdensity*width, ydensity*height, -1, -1); return; } @@ -183,16 +179,13 @@ static void do_jpeg (FILE *fp, char *filename) static void do_png (FILE *fp, char *filename) { long width, height; - double xdensity = 1.0, ydensity = 1.0; + double xdensity, ydensity; if (png_get_bbox(fp, &width, &height, &xdensity, &ydensity) < 0) { WARN("%s does not look like a PNG file...\n", filename); return; } - if (xbb_output_mode == EBB_OUTPUT) - xdensity = ydensity = 72.0 / 100.0; - write_xbb(filename, 0, 0, xdensity*width, ydensity*height, -1, -1); return; } @@ -225,12 +218,10 @@ static void do_pdf (FILE *fp, char *filename) pdf_file_get_version(pf), count); } -int extractbb (int argc, char *argv[], int mode) +int extractbb (int argc, char *argv[]) { mem_debug_init(); - xbb_output_mode = mode; - pdf_files_init(); pdf_set_version(5); @@ -248,11 +239,11 @@ int extractbb (int argc, char *argv[], int mode) argc -= 1; argv += 1; break; case 'm': - xbb_output_mode = EBB_OUTPUT; + compat_mode = 1; argc -= 1; argv += 1; break; case 'x': - xbb_output_mode = XBB_OUTPUT; + compat_mode = 0; argc -= 1; argv += 1; break; case 'v': @@ -269,7 +260,7 @@ int extractbb (int argc, char *argv[], int mode) argc -= 1; argv += 1; break; case 'b': - if (mode == EBB_OUTPUT) { + if (compat_mode) { /* ignore obsolete "binary mode" option */ argc -= 1; argv += 1; break; diff --git a/Build/source/texk/dvipdfmx/src/xbb.h b/Build/source/texk/dvipdfmx/src/xbb.h index a36513b2220..9e139736d2c 100644 --- a/Build/source/texk/dvipdfmx/src/xbb.h +++ b/Build/source/texk/dvipdfmx/src/xbb.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/xbb.h,v 1.1 2008/05/17 07:22:21 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/xbb.h,v 1.2 2009/05/10 17:04:54 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -26,6 +26,6 @@ #define EBB_OUTPUT 0 #define XBB_OUTPUT 1 -extern int extractbb(int argc, char *argv[], int mode); +extern int extractbb(int argc, char *argv[]); #endif /* _XBB_H_ */ |