From 9c296ba992f56ef478604802a7c6b765c41e9feb Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Fri, 9 Aug 2013 09:07:15 +0000 Subject: dvipdfm-x: Bug fix for papersize specials from Akira and Kitagawa-san plus tests git-svn-id: svn://tug.org/texlive/trunk@31398 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfm-x/ChangeLog | 11 ++++++++++ Build/source/texk/dvipdfm-x/Makefile.am | 7 +++--- Build/source/texk/dvipdfm-x/Makefile.in | 9 ++++---- Build/source/texk/dvipdfm-x/dvi.c | 10 +++++---- Build/source/texk/dvipdfm-x/dvipdfm-ann.test | 16 +++++++------- Build/source/texk/dvipdfm-x/dvipdfm-bb.test | 4 ++-- Build/source/texk/dvipdfm-x/dvipdfm-psz.test | 30 ++++++++++++++++++++++++++ Build/source/texk/dvipdfm-x/dvipdfmx.test | 13 +++++------ Build/source/texk/dvipdfm-x/tests/paper.dvi | Bin 0 -> 260 bytes Build/source/texk/dvipdfm-x/tests/paper.tex | 6 ++++++ Build/source/texk/dvipdfm-x/xdvipdfm-ann.test | 16 +++++++------- Build/source/texk/dvipdfm-x/xdvipdfm-bb.test | 4 ++-- Build/source/texk/dvipdfm-x/xdvipdfm-psz.test | 30 ++++++++++++++++++++++++++ Build/source/texk/dvipdfm-x/xdvipdfmx.test | 12 +++++------ 14 files changed, 125 insertions(+), 43 deletions(-) create mode 100755 Build/source/texk/dvipdfm-x/dvipdfm-psz.test create mode 100644 Build/source/texk/dvipdfm-x/tests/paper.dvi create mode 100644 Build/source/texk/dvipdfm-x/tests/paper.tex create mode 100755 Build/source/texk/dvipdfm-x/xdvipdfm-psz.test diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index 9902e8f2459..88053827fbc 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,14 @@ +2013-08-09 Peter Breitenlohner + + * dvi.c: Bug fix: handle papersize specials, suggested by Akira + (from Hironori Kitagawa ). + + * (x)dvipdfm-psz.test: Additional tests with papersize specials. + * tests/paper.{dvi,tex}: Additional test input files. + * Makefile.am: Adapted. + + * *.test: Sanitize environment variables (from Akira). + 2013-08-08 Peter Breitenlohner * pdfdoc.[ch], pdfnames.c, spc_pdfm.c: Bug fix: handle pdf:bann, diff --git a/Build/source/texk/dvipdfm-x/Makefile.am b/Build/source/texk/dvipdfm-x/Makefile.am index 0f9ce460813..d0a73518343 100644 --- a/Build/source/texk/dvipdfm-x/Makefile.am +++ b/Build/source/texk/dvipdfm-x/Makefile.am @@ -270,11 +270,11 @@ DISTCLEANFILES = config.force ## Tests ## TESTS = -dvipdfmx_tests = dvipdfmx.test dvipdfm-ann.test dvipdfm-bb.test +dvipdfmx_tests = dvipdfmx.test dvipdfm-ann.test dvipdfm-bb.test dvipdfm-psz.test if DVIPDFMX TESTS += $(dvipdfmx_tests) endif DVIPDFMX -xdvipdfmx_tests = xdvipdfmx.test xdvipdfm-ann.test xdvipdfm-bb.test +xdvipdfmx_tests = xdvipdfmx.test xdvipdfm-ann.test xdvipdfm-bb.test xdvipdfm-psz.test if XDVIPDFMX TESTS += $(xdvipdfmx_tests) endif XDVIPDFMX @@ -286,5 +286,6 @@ EXTRA_DIST += tests/image.pdf tests/imgpdf.bb tests/imgpdf.xbb tests/picpdf.bb t EXTRA_DIST += tests/image.png tests/imgpng.bb tests/imgpng.xbb tests/picpng.bb tests/picpng.xbb EXTRA_DIST += tests/image.dvi tests/image.tex EXTRA_DIST += tests/cmr10.pfb tests/cmr10.tfm tests/annot.dvi tests/annot.tex -DISTCLEANFILES += img*.* pic*.* image*.pdf annot*.pdf +EXTRA_DIST += tests/paper.dvi tests/paper.tex +DISTCLEANFILES += img*.* pic*.* image*.pdf annot*.pdf paper*.pdf diff --git a/Build/source/texk/dvipdfm-x/Makefile.in b/Build/source/texk/dvipdfm-x/Makefile.in index dab8f3b5f39..e5d95cbd96d 100644 --- a/Build/source/texk/dvipdfm-x/Makefile.in +++ b/Build/source/texk/dvipdfm-x/Makefile.in @@ -833,10 +833,11 @@ mapdatadir = $(datarootdir)/texmf-dist/fonts/map/dvipdfmx dist_mapdata_DATA = data/cid-x.map cmapdatadir = $(datarootdir)/texmf-dist/fonts/cmap/dvipdfmx dist_cmapdata_DATA = data/EUC-UCS2 -DISTCLEANFILES = config.force img*.* pic*.* image*.pdf annot*.pdf +DISTCLEANFILES = config.force img*.* pic*.* image*.pdf annot*.pdf \ + paper*.pdf TESTS = $(am__append_5) $(am__append_6) -dvipdfmx_tests = dvipdfmx.test dvipdfm-ann.test dvipdfm-bb.test -xdvipdfmx_tests = xdvipdfmx.test xdvipdfm-ann.test xdvipdfm-bb.test +dvipdfmx_tests = dvipdfmx.test dvipdfm-ann.test dvipdfm-bb.test dvipdfm-psz.test +xdvipdfmx_tests = xdvipdfmx.test xdvipdfm-ann.test xdvipdfm-bb.test xdvipdfm-psz.test EXTRA_DIST = $(dvipdfmx_tests) $(xdvipdfmx_tests) tests/dvipdfmx.cfg \ tests/psfonts.map tests/image.jpeg tests/imgjpeg.bb \ tests/imgjpeg.xbb tests/picjpeg.bb tests/picjpeg.xbb \ @@ -845,7 +846,7 @@ EXTRA_DIST = $(dvipdfmx_tests) $(xdvipdfmx_tests) tests/dvipdfmx.cfg \ tests/imgpng.bb tests/imgpng.xbb tests/picpng.bb \ tests/picpng.xbb tests/image.dvi tests/image.tex \ tests/cmr10.pfb tests/cmr10.tfm tests/annot.dvi \ - tests/annot.tex + tests/annot.tex tests/paper.dvi tests/paper.tex all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am diff --git a/Build/source/texk/dvipdfm-x/dvi.c b/Build/source/texk/dvipdfm-x/dvi.c index 25bdbe6e7eb..4f1977b6598 100644 --- a/Build/source/texk/dvipdfm-x/dvi.c +++ b/Build/source/texk/dvipdfm-x/dvi.c @@ -2551,16 +2551,18 @@ scan_special (double *wd, double *ht, double *xo, double *yo, char *lm, qchr = *p; p++; skip_white(&p, endptr); } - error = read_length(&tmp, dvi_tell_mag(), &p, endptr); + error = read_length(&tmp, 1.0, &p, endptr); if (!error) { - *wd = tmp * dvi_tell_mag(); + double tmp1; + skip_white(&p, endptr); if (p < endptr && *p == ',') { p++; skip_white(&p, endptr); } - error = read_length(&tmp, dvi_tell_mag(), &p, endptr); + error = read_length(&tmp1, 1.0, &p, endptr); if (!error) - *ht = tmp * dvi_tell_mag(); + *wd = tmp; + *ht = tmp1; skip_white(&p, endptr); } if (!error && qchr) { /* Check if properly quoted */ diff --git a/Build/source/texk/dvipdfm-x/dvipdfm-ann.test b/Build/source/texk/dvipdfm-x/dvipdfm-ann.test index 74e1021692b..09b145d5a24 100755 --- a/Build/source/texk/dvipdfm-x/dvipdfm-ann.test +++ b/Build/source/texk/dvipdfm-x/dvipdfm-ann.test @@ -3,18 +3,18 @@ # Copyright (C) 2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. -# Not really a test, just making sure the program executes. - -TEXMFCNF=${srcdir}/../kpathsea -TEXFONTS=${srcdir}/tests:${srcdir}/data -DVIPDFMXINPUTS=${srcdir}/tests:${srcdir}/data -TEXPICTS=${srcdir}/tests -export TEXMFCNF TEXFONTS DVIPDFMXINPUTS TEXPICTS +TEXMFCNF=$srcdir/../kpathsea +TFMFONTS="$srcdir/tests;$srcdir/data" +T1FONTS="$srcdir/tests;$srcdir/data" +TEXFONTMAPS="$srcdir/tests;$srcdir/data" +DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data" +TEXPICTS=$srcdir/tests +export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS failed= echo "*** dvipdfmx -v -o annot1.pdf annot" && echo \ - && ./dvipdfmx -v -o annot1.pdf ${srcdir}/tests/annot \ + && ./dvipdfmx -v -o annot1.pdf $srcdir/tests/annot \ && echo && echo "dvipdfmx-ann tests OK" && echo \ || failed="$failed dvipdfmx-ann" diff --git a/Build/source/texk/dvipdfm-x/dvipdfm-bb.test b/Build/source/texk/dvipdfm-x/dvipdfm-bb.test index 646d26aa98d..e3cb8e8aa4e 100755 --- a/Build/source/texk/dvipdfm-x/dvipdfm-bb.test +++ b/Build/source/texk/dvipdfm-x/dvipdfm-bb.test @@ -3,8 +3,8 @@ # Copyright (C) 2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. -TEXMFCNF=${srcdir}/../kpathsea -DVIPDFMXINPUTS=${srcdir}/tests:${srcdir}/data +TEXMFCNF=$srcdir/../kpathsea +DVIPDFMXINPUTS=$srcdir/tests:$srcdir/data export TEXMFCNF DVIPDFMXINPUTS testsrc=$srcdir/tests diff --git a/Build/source/texk/dvipdfm-x/dvipdfm-psz.test b/Build/source/texk/dvipdfm-x/dvipdfm-psz.test new file mode 100755 index 00000000000..8add93e2abf --- /dev/null +++ b/Build/source/texk/dvipdfm-x/dvipdfm-psz.test @@ -0,0 +1,30 @@ +#! /bin/sh + +# Copyright (C) 2013 Peter Breitenlohner +# You may freely use, modify and/or distribute this file. + +TEXMFCNF=$srcdir/../kpathsea +TFMFONTS="$srcdir/tests;$srcdir/data" +T1FONTS="$srcdir/tests;$srcdir/data" +TEXFONTMAPS="$srcdir/tests;$srcdir/data" +DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data" +TEXPICTS=$srcdir/tests +export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS + +failed= + +echo "*** dvipdfmx -v -m 1.0 -o paper1.pdf paper" && echo \ + && ./dvipdfmx -v -m 1.0 -o paper1.pdf $srcdir/tests/paper \ + && echo && echo "dvipdfmx-paper tests OK" && echo \ + || failed="$failed dvipdfmx-paper" + +echo "*** dvipdfmx -v -m 1.4 -o paper1m.pdf paper" && echo \ + && ./dvipdfmx -v -m 1.4 -o paper1m.pdf $srcdir/tests/paper \ + && echo && echo "dvipdfmx-paper-mag tests OK" && echo \ + || failed="$failed dvipdfmx-paper-mag" + +test -z "$failed" && exit 0 +echo +echo "failed tests:$failed" +exit 1 + diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx.test b/Build/source/texk/dvipdfm-x/dvipdfmx.test index 4fb17db507c..fc5ae188d94 100755 --- a/Build/source/texk/dvipdfm-x/dvipdfmx.test +++ b/Build/source/texk/dvipdfm-x/dvipdfmx.test @@ -3,11 +3,12 @@ # Copyright (C) 2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. -TEXMFCNF=${srcdir}/../kpathsea -TEXFONTS=${srcdir}/tests:${srcdir}/data -DVIPDFMXINPUTS=${srcdir}/tests:${srcdir}/data -TEXPICTS=${srcdir}/tests -export TEXMFCNF TEXFONTS DVIPDFMXINPUTS TEXPICTS + +TEXMFCNF=$srcdir/../kpathsea +TEXFONTMAPS="$srcdir/tests;$srcdir/data" +DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data" +TEXPICTS=$srcdir/tests +export TEXMFCNF TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS failed= @@ -22,7 +23,7 @@ echo "*** dvipdfmx --help" \ || failed="$failed dvipdfmx-help" echo "*** dvipdfmx -v -o image1.pdf image" && echo \ - && ./dvipdfmx -v -o image1.pdf ${srcdir}/tests/image \ + && ./dvipdfmx -v -o image1.pdf $srcdir/tests/image \ && echo && echo "dvipdfmx-image tests OK" && echo \ || failed="$failed dvipdfmx-image" diff --git a/Build/source/texk/dvipdfm-x/tests/paper.dvi b/Build/source/texk/dvipdfm-x/tests/paper.dvi new file mode 100644 index 00000000000..5975677b4f9 Binary files /dev/null and b/Build/source/texk/dvipdfm-x/tests/paper.dvi differ diff --git a/Build/source/texk/dvipdfm-x/tests/paper.tex b/Build/source/texk/dvipdfm-x/tests/paper.tex new file mode 100644 index 00000000000..761a28b048d --- /dev/null +++ b/Build/source/texk/dvipdfm-x/tests/paper.tex @@ -0,0 +1,6 @@ +% +\special{papersize=10cm , 10 true cm} + +This is a test. + +\bye diff --git a/Build/source/texk/dvipdfm-x/xdvipdfm-ann.test b/Build/source/texk/dvipdfm-x/xdvipdfm-ann.test index 5ea0d0be35a..9a0ae4b8193 100755 --- a/Build/source/texk/dvipdfm-x/xdvipdfm-ann.test +++ b/Build/source/texk/dvipdfm-x/xdvipdfm-ann.test @@ -3,18 +3,18 @@ # Copyright (C) 2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. -# Not really a test, just making sure the program executes. - -TEXMFCNF=${srcdir}/../kpathsea -TEXFONTS=${srcdir}/tests:${srcdir}/data -DVIPDFMXINPUTS=${srcdir}/tests:${srcdir}/data -TEXPICTS=${srcdir}/tests -export TEXMFCNF TEXFONTS DVIPDFMXINPUTS TEXPICTS +TEXMFCNF=$srcdir/../kpathsea +TFMFONTS="$srcdir/tests;$srcdir/data" +T1FONTS="$srcdir/tests;$srcdir/data" +TEXFONTMAPS="$srcdir/tests;$srcdir/data" +DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data" +TEXPICTS=$srcdir/tests +export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS failed= echo "*** xdvipdfmx -v -o annot2.pdf annot" && echo \ - && ./xdvipdfmx -v -o annot2.pdf ${srcdir}/tests/annot \ + && ./xdvipdfmx -v -o annot2.pdf $srcdir/tests/annot \ && echo && echo "xdvipdfmx-ann tests OK" && echo \ || failed="$failed xdvipdfmx-ann" diff --git a/Build/source/texk/dvipdfm-x/xdvipdfm-bb.test b/Build/source/texk/dvipdfm-x/xdvipdfm-bb.test index 955b98eec41..d4c3c0aa38d 100755 --- a/Build/source/texk/dvipdfm-x/xdvipdfm-bb.test +++ b/Build/source/texk/dvipdfm-x/xdvipdfm-bb.test @@ -3,8 +3,8 @@ # Copyright (C) 2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. -TEXMFCNF=${srcdir}/../kpathsea -DVIPDFMXINPUTS=${srcdir}/tests:${srcdir}/data +TEXMFCNF=$srcdir/../kpathsea +DVIPDFMXINPUTS=$srcdir/tests:$srcdir/data export TEXMFCNF DVIPDFMXINPUTS testsrc=$srcdir/tests diff --git a/Build/source/texk/dvipdfm-x/xdvipdfm-psz.test b/Build/source/texk/dvipdfm-x/xdvipdfm-psz.test new file mode 100755 index 00000000000..1e7d0910814 --- /dev/null +++ b/Build/source/texk/dvipdfm-x/xdvipdfm-psz.test @@ -0,0 +1,30 @@ +#! /bin/sh + +# Copyright (C) 2013 Peter Breitenlohner +# You may freely use, modify and/or distribute this file. + +TEXMFCNF=$srcdir/../kpathsea +TFMFONTS="$srcdir/tests;$srcdir/data" +T1FONTS="$srcdir/tests;$srcdir/data" +TEXFONTMAPS="$srcdir/tests;$srcdir/data" +DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data" +TEXPICTS=$srcdir/tests +export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS + +failed= + +echo "*** xdvipdfmx -v -m 1.0 -o paper2.pdf paper" && echo \ + && ./xdvipdfmx -v -m 1.0 -o paper2.pdf $srcdir/tests/paper \ + && echo && echo "xdvipdfmx-paper tests OK" && echo \ + || failed="$failed xdvipdfmx-paper" + +echo "*** xdvipdfmx -v -m 1.4 -o paper2m.pdf paper" && echo \ + && ./xdvipdfmx -v -m 1.4 -o paper2m.pdf $srcdir/tests/paper \ + && echo && echo "xdvipdfmx-paper-mag tests OK" && echo \ + || failed="$failed xdvipdfmx-paper-mag" + +test -z "$failed" && exit 0 +echo +echo "failed tests:$failed" +exit 1 + diff --git a/Build/source/texk/dvipdfm-x/xdvipdfmx.test b/Build/source/texk/dvipdfm-x/xdvipdfmx.test index d9354034a8a..c20b8e27df8 100755 --- a/Build/source/texk/dvipdfm-x/xdvipdfmx.test +++ b/Build/source/texk/dvipdfm-x/xdvipdfmx.test @@ -3,11 +3,11 @@ # Copyright (C) 2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. -TEXMFCNF=${srcdir}/../kpathsea -TEXFONTS=${srcdir}/tests:${srcdir}/data -DVIPDFMXINPUTS=${srcdir}/tests:${srcdir}/data -TEXPICTS=${srcdir}/tests -export TEXMFCNF TEXFONTS DVIPDFMXINPUTS TEXPICTS +TEXMFCNF=$srcdir/../kpathsea +TEXFONTMAPS="$srcdir/tests;$srcdir/data" +DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data" +TEXPICTS=$srcdir/tests +export TEXMFCNF TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS failed= @@ -22,7 +22,7 @@ echo "*** xdvipdfmx --help" \ || failed="$failed xdvipdfmx-help" echo "*** xdvipdfmx -v -o image2.pdf image" && echo \ - && ./xdvipdfmx -v -o image2.pdf ${srcdir}/tests/image \ + && ./xdvipdfmx -v -o image2.pdf $srcdir/tests/image \ && echo && echo "xdvipdfmx-image tests OK" && echo \ || failed="$failed xdvipdfmx-image" -- cgit v1.2.3