diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2011-09-29 12:04:21 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2011-09-29 12:04:21 +0000 |
commit | 211a8519bb41a68b522fcadffad7df3041ab242b (patch) | |
tree | 1251b335808c5bcf4101303b9e13880583c9e1c8 /Build | |
parent | 89322e2db40185c65a21c59bebbf577fcee55357 (diff) |
psutils: add simple test cases
git-svn-id: svn://tug.org/texlive/trunk@24127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
21 files changed, 1839 insertions, 27 deletions
diff --git a/Build/source/utils/psutils/ChangeLog b/Build/source/utils/psutils/ChangeLog index 6bbbbfd5595..6ec46eab7b1 100644 --- a/Build/source/utils/psutils/ChangeLog +++ b/Build/source/utils/psutils/ChangeLog @@ -1,3 +1,10 @@ +2011-09-25 Peter Breitenlohner <peb@mppmu.mpg.de> + + * psutils.test: New shell script for tests. + * tests/play.ps tests/play{book,nup,ps,res,sel}.2 + tests/plot{,h,m,v}.eps: Test input and expected output. + * Makefile.am: Add the test and its data. + 2011-04-20 Peter Breitenlohner <peb@mppmu.mpg.de> * Makefile.am: Handle sh scripts (without .sh) as bin_SCRIPTS. diff --git a/Build/source/utils/psutils/Makefile.am b/Build/source/utils/psutils/Makefile.am index aa6e5223f99..d8a15f56cb6 100644 --- a/Build/source/utils/psutils/Makefile.am +++ b/Build/source/utils/psutils/Makefile.am @@ -1,6 +1,6 @@ ## Makefile.am for the TeX Live subdirectory utils/psutils/ ## -## Copyright (C) 2009 - 2011 Peter Breitenlohner <tex-live@tug.org> +## Copyright (C) 2009-2011 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. ## ACLOCAL_AMFLAGS = -I ../../m4 @@ -125,3 +125,14 @@ MAKETEXT = $(PERL) $(srcdir)/$(PSUTILS_TREE)/maketext %.1: $(PSUTILS_TREE)/%.man patchlev.h $(MAKETEXT) PAPER=$(PAPER) "MAN=$(nodist_man1_MANS)" $< >$@ +## Tests +## +TESTS = psutils.test +EXTRA_DIST += $(TESTS) + +## psutils.test +EXTRA_DIST += tests/play.ps tests/playbook.2 tests/playnup.2 tests/playps.2 \ + tests/playres.2 tests/playsel.2 \ + tests/plot.eps tests/ploth.eps tests/plotm.eps tests/plotv.eps +DISTCLEANFILES = play*.2 play*.ps plot*.eps + diff --git a/Build/source/utils/psutils/Makefile.in b/Build/source/utils/psutils/Makefile.in index bb8ca767e34..62fa86c01d6 100644 --- a/Build/source/utils/psutils/Makefile.in +++ b/Build/source/utils/psutils/Makefile.in @@ -124,6 +124,8 @@ NROFF = nroff MANS = $(nodist_man1_MANS) ETAGS = etags CTAGS = ctags +am__tty_colors = \ +red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -223,7 +225,11 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I ../../m4 -EXTRA_DIST = $(PSUTILS_TREE) $(PSUTILS_TREE)-PATCHES +EXTRA_DIST = $(PSUTILS_TREE) $(PSUTILS_TREE)-PATCHES \ + ../../build-aux/relpath $(TESTS) tests/play.ps \ + tests/playbook.2 tests/playnup.2 tests/playps.2 \ + tests/playres.2 tests/playsel.2 tests/plot.eps tests/ploth.eps \ + tests/plotm.eps tests/plotv.eps OS = UNIX PAPER = a4 AM_CPPFLAGS = -DUNIX -DPAPER=\"$(PAPER)\" @@ -313,6 +319,8 @@ nodist_man1_MANS = \ CLEANFILES = $(nodist_bin_SCRIPTS) $(nodist_texmf_SCRIPTS) $(nodist_man1_MANS) PERL = /usr/bin/env perl MAKETEXT = $(PERL) $(srcdir)/$(PSUTILS_TREE)/maketext +TESTS = psutils.test +DISTCLEANFILES = play*.2 play*.ps plot*.eps all: all-am .SUFFIXES: @@ -753,6 +761,98 @@ GTAGS: distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list=' $(TESTS) '; \ + $(am__tty_colors); \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + col=$$red; res=XPASS; \ + ;; \ + *) \ + col=$$grn; res=PASS; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xfail=`expr $$xfail + 1`; \ + col=$$lgn; res=XFAIL; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + col=$$red; res=FAIL; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + col=$$blu; res=SKIP; \ + fi; \ + echo "$${col}$$res$${std}: $$tst"; \ + done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="$$All$$all $$tests passed"; \ + else \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all $$tests failed"; \ + else \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + if test "$$failed" -eq 0; then \ + echo "$$grn$$dashes"; \ + else \ + echo "$$red$$dashes"; \ + fi; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes$$std"; \ + test "$$failed" -eq 0; \ + else :; fi + distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ @@ -917,6 +1017,7 @@ distcleancheck: distclean $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) installdirs: @@ -945,6 +1046,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1027,12 +1129,12 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-man \ $(MAKE) $(AM_MAKEFLAGS) uninstall-hook uninstall-man: uninstall-man1 -.MAKE: install-am install-data-am install-strip uninstall-am +.MAKE: check-am install-am install-data-am install-strip uninstall-am -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \ - dist-zip distcheck distclean distclean-compile \ +.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ + clean clean-binPROGRAMS clean-generic ctags dist dist-all \ + dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-compile \ distclean-generic distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-binSCRIPTS \ @@ -1053,10 +1155,8 @@ uninstall-man: uninstall-man1 # in case of an SVN repository dist-hook: rm -rf `find $(distdir) -name .svn` - -# .PHONY: install-lua-links install-perl-links install-shell-links \ - install-links make-links uninstall-links + install-links uninstall-links @WIN32_TRUE@@WIN32_WRAP_TRUE@$(wrappers): $(runscript) @WIN32_TRUE@@WIN32_WRAP_TRUE@ $(LN_S) $(runscript) $@ @@ -1069,21 +1169,18 @@ install-perl-links: install-shell-links: @WIN32_FALSE@ $(MAKE) $(AM_MAKEFLAGS) TYPE=shell EXT=sh install-links -# We support both multiplatform and non-multiplatform builds. +# We support native builds, multiplatform or not, as well as distro builds. install-links: - case "$(bindir)" in \ - */bin) $(MAKE) $(AM_MAKEFLAGS) REL=.. TYPE=$(TYPE) EXT=$(EXT) make-links;; \ - */bin/*) $(MAKE) $(AM_MAKEFLAGS) REL=../.. TYPE=$(TYPE) EXT=$(EXT) make-links;; \ - *) echo "strange directory '$(bindir)' for linked $(TYPE) scripts" >&2; \ - exit 1;; \ - esac - -make-links: - @cd $(DESTDIR)$(bindir) && \ + @REL=`$(SHELL) $(srcdir)/../../build-aux/relpath '$(DESTDIR)' '$(bindir)' '$(prefix)'`; \ + if test -z "$$REL"; then \ + echo 'unable to compute relative path for linked $(TYPE) scripts' >&2; \ + exit 1; \ + fi; \ + cd $(DESTDIR)$(bindir) && \ for f in $($(TYPE)_scripts); do \ rm -f $$f; \ - echo "creating link '$$f' -> '$(REL)/$(scriptsdir)/$$f.$(EXT)'"; \ - $(LN_S) $(REL)/$(scriptsdir)/$$f.$(EXT) $$f || exit 1; \ + echo "creating link '$$f' -> '$$REL/$(scriptsdir)/$$f.$(EXT)'"; \ + $(LN_S) $$REL/$(scriptsdir)/$$f.$(EXT) $$f || exit 1; \ done uninstall-links: diff --git a/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog b/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog index c699b08a7ef..f4bd0e67e6b 100644 --- a/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog +++ b/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog @@ -1,3 +1,8 @@ +2011-09-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-10-binary-mode (new): Fix error messages when setting + binary mode fails. + 2011-01-09 Peter Breitenlohner <peb@mppmu.mpg.de> * patch-07-TEMPDIR: Fix broken perl syntax. diff --git a/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-10-binary-mode b/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-10-binary-mode new file mode 100644 index 00000000000..e96839b911d --- /dev/null +++ b/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-10-binary-mode @@ -0,0 +1,60 @@ +diff -ur psutils-1.17.orig/psbook.c psutils-1.17/psbook.c +--- psutils-1.17.orig/psbook.c 2008-02-01 12:23:16.000000000 +0100 ++++ psutils-1.17/psbook.c 2011-09-22 19:16:13.000000000 +0200 +@@ -66,7 +66,7 @@ + if ( infile == stdin ) { + int fd = fileno(stdin) ; + if ( setmode(fd, O_BINARY) < 0 ) +- message(FATAL, "can't open input file %s\n", argv[4]); ++ message(FATAL, "can't reset stdin to binary mode\n"); + } + if ( outfile == stdout ) { + int fd = fileno(stdout) ; +diff -ur psutils-1.17.orig/psnup.c psutils-1.17/psnup.c +--- psutils-1.17.orig/psnup.c 2009-06-24 00:18:08.000000000 +0200 ++++ psutils-1.17/psnup.c 2011-09-22 19:16:16.000000000 +0200 +@@ -195,7 +195,7 @@ + if ( infile == stdin ) { + int fd = fileno(stdin) ; + if ( setmode(fd, O_BINARY) < 0 ) +- message(FATAL, "can't open input file %s\n", argv[4]); ++ message(FATAL, "can't reset stdin to binary mode\n"); + } + if ( outfile == stdout ) { + int fd = fileno(stdout) ; +diff -ur psutils-1.17.orig/psresize.c psutils-1.17/psresize.c +--- psutils-1.17.orig/psresize.c 2008-02-01 12:23:16.000000000 +0100 ++++ psutils-1.17/psresize.c 2011-09-22 19:16:18.000000000 +0200 +@@ -118,7 +118,7 @@ + if ( infile == stdin ) { + int fd = fileno(stdin) ; + if ( setmode(fd, O_BINARY) < 0 ) +- message(FATAL, "can't open input file %s\n", argv[4]); ++ message(FATAL, "can't reset stdin to binary mode\n"); + } + if ( outfile == stdout ) { + int fd = fileno(stdout) ; +diff -ur psutils-1.17.orig/psselect.c psutils-1.17/psselect.c +--- psutils-1.17.orig/psselect.c 2008-02-01 12:23:16.000000000 +0100 ++++ psutils-1.17/psselect.c 2011-09-22 19:16:21.000000000 +0200 +@@ -137,7 +137,7 @@ + if ( infile == stdin ) { + int fd = fileno(stdin) ; + if ( setmode(fd, O_BINARY) < 0 ) +- message(FATAL, "can't open input file %s\n", argv[4]); ++ message(FATAL, "can't reset stdin to binary mode\n"); + } + if ( outfile == stdout ) { + int fd = fileno(stdout) ; +diff -ur psutils-1.17.orig/pstops.c psutils-1.17/pstops.c +--- psutils-1.17.orig/pstops.c 2009-06-24 00:18:08.000000000 +0200 ++++ psutils-1.17/pstops.c 2011-09-22 19:16:24.000000000 +0200 +@@ -181,7 +181,7 @@ + if ( infile == stdin ) { + int fd = fileno(stdin) ; + if ( setmode(fd, O_BINARY) < 0 ) +- message(FATAL, "can't open input file %s\n", argv[4]); ++ message(FATAL, "can't reset stdin to binary mode\n"); + } + if ( outfile == stdout ) { + int fd = fileno(stdout) ; diff --git a/Build/source/utils/psutils/psutils-1.17/psbook.c b/Build/source/utils/psutils/psutils-1.17/psbook.c index 5e9b35b80cf..60627e0672f 100644 --- a/Build/source/utils/psutils/psutils-1.17/psbook.c +++ b/Build/source/utils/psutils/psutils-1.17/psbook.c @@ -66,7 +66,7 @@ int main(int argc, char *argv[]) if ( infile == stdin ) { int fd = fileno(stdin) ; if ( setmode(fd, O_BINARY) < 0 ) - message(FATAL, "can't open input file %s\n", argv[4]); + message(FATAL, "can't reset stdin to binary mode\n"); } if ( outfile == stdout ) { int fd = fileno(stdout) ; diff --git a/Build/source/utils/psutils/psutils-1.17/psnup.c b/Build/source/utils/psutils/psutils-1.17/psnup.c index 1a39e95c418..23fda2c6141 100644 --- a/Build/source/utils/psutils/psutils-1.17/psnup.c +++ b/Build/source/utils/psutils/psutils-1.17/psnup.c @@ -195,7 +195,7 @@ int main(int argc, char *argv[]) if ( infile == stdin ) { int fd = fileno(stdin) ; if ( setmode(fd, O_BINARY) < 0 ) - message(FATAL, "can't open input file %s\n", argv[4]); + message(FATAL, "can't reset stdin to binary mode\n"); } if ( outfile == stdout ) { int fd = fileno(stdout) ; diff --git a/Build/source/utils/psutils/psutils-1.17/psresize.c b/Build/source/utils/psutils/psutils-1.17/psresize.c index 7bc3a75c788..a0c86980b9b 100644 --- a/Build/source/utils/psutils/psutils-1.17/psresize.c +++ b/Build/source/utils/psutils/psutils-1.17/psresize.c @@ -118,7 +118,7 @@ int main(int argc, char *argv[]) if ( infile == stdin ) { int fd = fileno(stdin) ; if ( setmode(fd, O_BINARY) < 0 ) - message(FATAL, "can't open input file %s\n", argv[4]); + message(FATAL, "can't reset stdin to binary mode\n"); } if ( outfile == stdout ) { int fd = fileno(stdout) ; diff --git a/Build/source/utils/psutils/psutils-1.17/psselect.c b/Build/source/utils/psutils/psutils-1.17/psselect.c index e48c6cc7fa4..baa8e15efdb 100644 --- a/Build/source/utils/psutils/psutils-1.17/psselect.c +++ b/Build/source/utils/psutils/psutils-1.17/psselect.c @@ -137,7 +137,7 @@ int main(int argc, char *argv[]) if ( infile == stdin ) { int fd = fileno(stdin) ; if ( setmode(fd, O_BINARY) < 0 ) - message(FATAL, "can't open input file %s\n", argv[4]); + message(FATAL, "can't reset stdin to binary mode\n"); } if ( outfile == stdout ) { int fd = fileno(stdout) ; diff --git a/Build/source/utils/psutils/psutils-1.17/pstops.c b/Build/source/utils/psutils/psutils-1.17/pstops.c index 02632c1e74d..2b768da63d2 100644 --- a/Build/source/utils/psutils/psutils-1.17/pstops.c +++ b/Build/source/utils/psutils/psutils-1.17/pstops.c @@ -181,7 +181,7 @@ int main(int argc, char *argv[]) if ( infile == stdin ) { int fd = fileno(stdin) ; if ( setmode(fd, O_BINARY) < 0 ) - message(FATAL, "can't open input file %s\n", argv[4]); + message(FATAL, "can't reset stdin to binary mode\n"); } if ( outfile == stdout ) { int fd = fileno(stdout) ; diff --git a/Build/source/utils/psutils/psutils.test b/Build/source/utils/psutils/psutils.test new file mode 100755 index 00000000000..a54d9f9434b --- /dev/null +++ b/Build/source/utils/psutils/psutils.test @@ -0,0 +1,56 @@ +#! /bin/sh + +# Copyright (C) 2011 Peter Breitenlohner <tex-live@tug.org> +# You may freely use, modify and/or distribute this file. + +rm -rf play* +./psselect 5:15 $srcdir/tests/play.ps playsel.ps \ + 2>playsel.2 \ + && diff playsel.2 $srcdir/tests/playsel.2 \ + || exit 1 + +echo psselect tests OK + +./psbook -s4 playsel.ps playbook.ps \ + 2>playbook.2 \ + && diff playbook.2 $srcdir/tests/playbook.2 \ + || exit 1 + +echo psbook tests OK + +./psresize -Pa4 -pa5 playsel.ps playres.ps \ + 2>playres.2 \ + && diff playres.2 $srcdir/tests/playres.2 \ + || exit 1 + +echo psresize tests OK + +./psnup -2 playsel.ps playnup.ps \ + 2>playnup.2 \ + && diff playnup.2 $srcdir/tests/playnup.2 \ + || exit 1 + +echo psnup tests OK + +./pstops '2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)' playsel.ps playps.ps \ + 2>playps.2 \ + && diff playps.2 $srcdir/tests/playps.2 \ + || exit 1 + +echo pstops tests OK + +rm -rf plot* +./epsffit -c 0 0 600 368 $srcdir/tests/plot.eps ploth.eps \ + && diff ploth.eps $srcdir/tests/ploth.eps \ + || exit 1 + +./epsffit -c 0 0 500 400 $srcdir/tests/plot.eps plotv.eps \ + && diff plotv.eps $srcdir/tests/plotv.eps \ + || exit 1 + +./epsffit -m 0 0 368 500 $srcdir/tests/plot.eps plotm.eps \ + && diff plotm.eps $srcdir/tests/plotm.eps \ + || exit 1 + +echo epsffit tests OK + diff --git a/Build/source/utils/psutils/tests/play.ps b/Build/source/utils/psutils/tests/play.ps new file mode 100644 index 00000000000..c51a844b092 --- /dev/null +++ b/Build/source/utils/psutils/tests/play.ps @@ -0,0 +1,305 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.98 Copyright 2009 Radical Eye Software +%%Title: play.dvi +%%CreationDate: Fri Sep 23 19:01:22 2011 +%%Pages: 20 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: Times-Roman +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips play.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2011.09.23:1901 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: 8r.enc 0 0 +% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 +% +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, +% W. Schmidt, P. Lehman", +% version = "2.0", +% date = "27nov06", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "This is the encoding vector for Type1 and TrueType +% fonts to be used with TeX. This file is part of the +% PSNFSS bundle, version 9" +% @} +% +% The idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, +% MacRoman, and some extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% These are /dotlessj /ff /ffi /ffl. +% +% (4) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (5) /Euro was assigned to 128, as in Windows ANSI +% +% (6) Missing characters from MacRoman encoding incorporated as follows: +% +% PostScript MacRoman TeXBase1 +% -------------- -------------- -------------- +% /notequal 173 0x16 +% /infinity 176 0x17 +% /lessequal 178 0x18 +% /greaterequal 179 0x19 +% /partialdiff 182 0x1A +% /summation 183 0x1B +% /product 184 0x1C +% /pi 185 0x1D +% /integral 186 0x81 +% /Omega 189 0x8D +% /radical 195 0x8E +% /approxequal 197 0x8F +% /Delta 198 0x9D +% /lozenge 215 0x9E +% +/TeXBase1Encoding [ +% 0x00 + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef /breve + /minus /.notdef /Zcaron /zcaron +% 0x10 + /caron /dotlessi /dotlessj /ff + /ffi /ffl /notequal /infinity + /lessequal /greaterequal /partialdiff /summation + /product /pi /grave /quotesingle +% 0x20 + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /asciitilde /.notdef +% 0x80 + /Euro /integral /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /Omega /radical /approxequal +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /Delta /lozenge /Ydieresis +% 0xA0 + /.notdef /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot /hyphen /registered /macron +% 0xB0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde + /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +TeXDict begin 39158280 55380996 1000 600 600 (play.dvi) +@start /Fa 198[415 415 415 415 415 415 415 415 415 415 +48[{TeXBase1Encoding ReEncodeFont}10 830.22 /Times-Roman +rf /Fb 198[83 83 83 83 83 83 83 83 83 83 48[{ +TeXBase1Encoding ReEncodeFont}10 166.044 /Times-Roman +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +/setpagedevice where +{ pop << /PageSize [595 842] >> setpagedevice } +{ /a4 where { pop a4 } if } +ifelse +%%EndPaperSize + end +%%EndSetup +%%Page: 11 1 +TeXDict begin 11 0 bop 330 419 a Fb(1)2834 b(1)1622 3268 +y Fa(1)330 5670 y Fb(1)g(1)p eop end +%%Page: 12 2 +TeXDict begin 12 1 bop 330 419 a Fb(2)2834 b(2)1622 3268 +y Fa(2)330 5670 y Fb(2)g(2)p eop end +%%Page: 13 3 +TeXDict begin 13 2 bop 330 419 a Fb(3)2834 b(3)1622 3264 +y Fa(3)330 5670 y Fb(3)g(3)p eop end +%%Page: 14 4 +TeXDict begin 14 3 bop 330 419 a Fb(4)2834 b(4)1622 3268 +y Fa(4)330 5670 y Fb(4)g(4)p eop end +%%Page: 15 5 +TeXDict begin 15 4 bop 330 423 a Fb(5)2834 b(5)1622 3275 +y Fa(5)330 5670 y Fb(5)g(5)p eop end +%%Page: 16 6 +TeXDict begin 16 5 bop 330 419 a Fb(6)2834 b(6)1622 3264 +y Fa(6)330 5670 y Fb(6)g(6)p eop end +%%Page: 17 7 +TeXDict begin 17 6 bop 330 419 a Fb(7)2834 b(7)1622 3266 +y Fa(7)330 5670 y Fb(7)g(7)p eop end +%%Page: 18 8 +TeXDict begin 18 7 bop 330 419 a Fb(8)2834 b(8)1622 3264 +y Fa(8)330 5670 y Fb(8)g(8)p eop end +%%Page: 19 9 +TeXDict begin 19 8 bop 330 419 a Fb(9)2834 b(9)1622 3261 +y Fa(9)330 5670 y Fb(9)g(9)p eop end +%%Page: 20 10 +TeXDict begin 20 9 bop 330 419 a Fb(10)2668 b(10)1415 +3264 y Fa(10)330 5670 y Fb(10)g(10)p eop end +%%Page: 21 11 +TeXDict begin 21 10 bop 330 419 a Fb(11)2668 b(11)1415 +3268 y Fa(11)330 5670 y Fb(11)g(11)p eop end +%%Page: 22 12 +TeXDict begin 22 11 bop 330 419 a Fb(12)2668 b(12)1415 +3268 y Fa(12)330 5670 y Fb(12)g(12)p eop end +%%Page: 23 13 +TeXDict begin 23 12 bop 330 419 a Fb(13)2668 b(13)1415 +3264 y Fa(13)330 5670 y Fb(13)g(13)p eop end +%%Page: 24 14 +TeXDict begin 24 13 bop 330 419 a Fb(14)2668 b(14)1415 +3268 y Fa(14)330 5670 y Fb(14)g(14)p eop end +%%Page: 25 15 +TeXDict begin 25 14 bop 330 423 a Fb(15)2668 b(15)1415 +3275 y Fa(15)330 5670 y Fb(15)g(15)p eop end +%%Page: 26 16 +TeXDict begin 26 15 bop 330 419 a Fb(16)2668 b(16)1415 +3264 y Fa(16)330 5670 y Fb(16)g(16)p eop end +%%Page: 27 17 +TeXDict begin 27 16 bop 330 419 a Fb(17)2668 b(17)1415 +3266 y Fa(17)330 5670 y Fb(17)g(17)p eop end +%%Page: 28 18 +TeXDict begin 28 17 bop 330 419 a Fb(18)2668 b(18)1415 +3264 y Fa(18)330 5670 y Fb(18)g(18)p eop end +%%Page: 29 19 +TeXDict begin 29 18 bop 330 419 a Fb(19)2668 b(19)1415 +3261 y Fa(19)330 5670 y Fb(19)g(19)p eop end +%%Page: 30 20 +TeXDict begin 30 19 bop 330 419 a Fb(20)2668 b(20)1415 +3264 y Fa(20)330 5670 y Fb(20)g(20)p eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Build/source/utils/psutils/tests/playbook.2 b/Build/source/utils/psutils/tests/playbook.2 new file mode 100644 index 00000000000..353bc098e86 --- /dev/null +++ b/Build/source/utils/psutils/tests/playbook.2 @@ -0,0 +1 @@ +[4] [1] [2] [3] [8] [5] [6] [7] [*] [9] [10] [11] Wrote 12 pages, 10984 bytes diff --git a/Build/source/utils/psutils/tests/playnup.2 b/Build/source/utils/psutils/tests/playnup.2 new file mode 100644 index 00000000000..d1ff375b517 --- /dev/null +++ b/Build/source/utils/psutils/tests/playnup.2 @@ -0,0 +1 @@ +[1] [2] [3] [4] [5] [6] Wrote 6 pages, 16645 bytes diff --git a/Build/source/utils/psutils/tests/playps.2 b/Build/source/utils/psutils/tests/playps.2 new file mode 100644 index 00000000000..d1ff375b517 --- /dev/null +++ b/Build/source/utils/psutils/tests/playps.2 @@ -0,0 +1 @@ +[1] [2] [3] [4] [5] [6] Wrote 6 pages, 16645 bytes diff --git a/Build/source/utils/psutils/tests/playres.2 b/Build/source/utils/psutils/tests/playres.2 new file mode 100644 index 00000000000..7775d7fc7e1 --- /dev/null +++ b/Build/source/utils/psutils/tests/playres.2 @@ -0,0 +1 @@ +[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Wrote 11 pages, 15970 bytes diff --git a/Build/source/utils/psutils/tests/playsel.2 b/Build/source/utils/psutils/tests/playsel.2 new file mode 100644 index 00000000000..0d1dd700805 --- /dev/null +++ b/Build/source/utils/psutils/tests/playsel.2 @@ -0,0 +1 @@ +[5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Wrote 11 pages, 10962 bytes diff --git a/Build/source/utils/psutils/tests/plot.eps b/Build/source/utils/psutils/tests/plot.eps new file mode 100644 index 00000000000..11bc5843d63 --- /dev/null +++ b/Build/source/utils/psutils/tests/plot.eps @@ -0,0 +1,311 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: SM +%%BoundingBox: 34 176 564 568 +%%DocumentNeededResources: font Helvetica +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments +%%Page: 1 1 + 20 dict begin +72 300 div dup scale +1 setlinejoin 0 setlinecap +/Helvetica findfont 55 scalefont setfont +/B {CS newpath moveto} def +/F {moveto 0 setlinecap} def +/C {CS M 1 1 3 {pop 3 1 roll 255 div} for SET_COLOUR} def +/CS {currentpoint stroke} def +/CF {currentpoint eofill} def +/L {lineto} def /l {rlineto} def /M {moveto} def /m {rmoveto} def +/P {gsave 0 1 rlineto stroke grestore} def +/T {currentlinecap exch 1 setlinecap show setlinecap} def +errordict /nocurrentpoint {pop 0 0 M currentpoint} put +/SET_COLOUR statusdict begin /processcolors where + {pop processcolors 1 gt} {false} ifelse + {(setrgbcolor)} {(pop pop pop)} ifelse cvx end def + 80 600 translate +gsave +CS [] 0 setdash M +CS M 1 100 mul 72 div dup setlinewidth +/P [ /gsave cvx 0 5 -1 roll .05 add dup -2 div 0 exch /rmoveto cvx /rlineto cvx /stroke cvx /grestore cvx ] cvx def + 0 0 0 C + 0 0 0 C +CS [] 0 setdash M +321 295 M CS [] 0 setdash M +321 295 M 321 295 F (p=2 d=8) T +CS [] 0 setdash M +CS [] 0 setdash M + 0 0 0 C +1957 148 M 10 27 m 0 -27 l +1 27 m 0 -27 l +0 15 m 2 6 l +4 4 l +4 2 l +6 0 l +2 -2 l +0 -2 l +-2 -2 l +-2 2 l +2 2 l +-23 2 m 7 0 l +-7 -27 m 13 0 l +41 34 m 0 -34 l +-18 17 m 35 0 l +19 15 m 4 2 l +6 6 l +0 -40 l +-2 38 m 0 -38 l +-8 0 m 17 0 l + 0 0 0 C +CS [] 0 setdash M +CS [] 0 setdash M +219 219 M 2042 0 l +0 1531 l +219 1750 L +219 219 L +2042 0 l +219 219 M 2042 0 l +219 219 M 0 36 l +-16 -120 m 203 135 F (1) T +635 219 M 0 18 l +243 -18 m 0 18 l +173 -18 m 0 18 l +134 -18 m 0 18 l +110 -18 m 0 18 l +92 -18 m 0 18 l +80 -18 m 0 18 l +71 -18 m 0 18 l +63 -18 m 0 36 l +-31 -120 m 1570 135 F (10) T +2018 219 M 0 18 l +243 -18 m 0 18 l +219 1750 M 2042 0 l +219 1750 M 0 -36 l +416 36 m 0 -18 l +243 18 m 0 -18 l +173 18 m 0 -18 l +134 18 m 0 -18 l +110 18 m 0 -18 l +92 18 m 0 -18 l +80 18 m 0 -18 l +71 18 m 0 -18 l +63 18 m 0 -36 l +417 36 m 0 -18 l +243 18 m 0 -18 l +219 219 M 0 1531 l +219 219 M 34 0 l +-125 -28 m 128 191 F (-1) T +219 295 M 17 0 l +-17 77 m 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 34 0 l +66 574 M 66 574 F (-0.5) T +219 678 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +-94 -28 m 159 957 F (0) T +219 1061 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +97 1340 M 97 1340 F (0.5) T +219 1444 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 76 m 34 0 l +-94 -27 m 159 1723 F (1) T +2261 219 M 0 1531 l +2261 219 M -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 76 m -34 0 l +CS [] 0 setdash M +219 1750 M 30 -2 l +29 -6 l +28 -12 l +28 -17 l +25 -21 l +24 -25 l +22 -30 l +20 -32 l +18 -34 l +16 -36 l +15 -36 l +13 -37 l +12 -37 l +11 -36 l +10 -36 l +11 -35 l +10 -34 l +12 -33 l +14 -33 l +15 -32 l +18 -33 l +20 -33 l +23 -33 l +24 -33 l +25 -34 l +27 -35 l +28 -34 l +28 -35 l +29 -35 l +29 -34 l +29 -34 l +30 -33 l +29 -33 l +30 -31 l +30 -30 l +30 -29 l +29 -28 l +30 -26 l +30 -25 l +30 -24 l +30 -23 l +30 -21 l +30 -20 l +30 -19 l +30 -18 l +30 -16 l +30 -16 l +30 -14 l +30 -14 l +29 -12 l +30 -12 l +30 -11 l +30 -10 l +30 -9 l +30 -9 l +30 -8 l +30 -8 l +30 -7 l +30 -6 l +30 -6 l +30 -6 l +30 -5 l +30 -5 l +30 -4 l +30 -4 l +30 -4 l +30 -4 l +29 -3 l +30 -3 l +30 -3 l +30 -3 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -1 l +23 -2 l +219 1750 M 30 -5 l +29 -16 l +28 -28 l +28 -37 l +25 -44 l +24 -49 l +22 -51 l +20 -51 l +18 -48 l +16 -45 l +15 -41 l +13 -34 l +12 -27 l +11 -18 l +10 -7 l +11 6 l +10 19 l +12 33 l +14 47 l +15 55 l +18 59 l +20 58 l +23 51 l +24 43 l +25 34 l +27 26 l +28 20 l +28 14 l +29 10 l +29 8 l +29 5 l +30 4 l +29 3 l +30 2 l +30 1 l +30 1 l +29 1 l +30 0 l +30 0 l +30 1 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +23 0 l +442 1368 M CS [] 0 setdash M +411 1313 M 411 1313 F (N) T +CS [] 0 setdash M +1122 602 M CS [] 0 setdash M +1122 602 M 1122 602 F (W) T +CS [] 0 setdash M +stroke +grestore +showpage +end +%%Trailer +%%EOF diff --git a/Build/source/utils/psutils/tests/ploth.eps b/Build/source/utils/psutils/tests/ploth.eps new file mode 100644 index 00000000000..0e5ed6cdaf1 --- /dev/null +++ b/Build/source/utils/psutils/tests/ploth.eps @@ -0,0 +1,318 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: SM +%%DocumentNeededResources: font Helvetica +%%LanguageLevel: 1 +%%Pages: 1 +%%BoundingBox: 51 0 548 368 +%%EndComments +%%BeginProcSet: epsffit 1 0 +gsave +19.306 -165.224 translate +0.939 0.939 scale +%%EndProcSet + +%%Page: 1 1 + 20 dict begin +72 300 div dup scale +1 setlinejoin 0 setlinecap +/Helvetica findfont 55 scalefont setfont +/B {CS newpath moveto} def +/F {moveto 0 setlinecap} def +/C {CS M 1 1 3 {pop 3 1 roll 255 div} for SET_COLOUR} def +/CS {currentpoint stroke} def +/CF {currentpoint eofill} def +/L {lineto} def /l {rlineto} def /M {moveto} def /m {rmoveto} def +/P {gsave 0 1 rlineto stroke grestore} def +/T {currentlinecap exch 1 setlinecap show setlinecap} def +errordict /nocurrentpoint {pop 0 0 M currentpoint} put +/SET_COLOUR statusdict begin /processcolors where + {pop processcolors 1 gt} {false} ifelse + {(setrgbcolor)} {(pop pop pop)} ifelse cvx end def + 80 600 translate +gsave +CS [] 0 setdash M +CS M 1 100 mul 72 div dup setlinewidth +/P [ /gsave cvx 0 5 -1 roll .05 add dup -2 div 0 exch /rmoveto cvx /rlineto cvx /stroke cvx /grestore cvx ] cvx def + 0 0 0 C + 0 0 0 C +CS [] 0 setdash M +321 295 M CS [] 0 setdash M +321 295 M 321 295 F (p=2 d=8) T +CS [] 0 setdash M +CS [] 0 setdash M + 0 0 0 C +1957 148 M 10 27 m 0 -27 l +1 27 m 0 -27 l +0 15 m 2 6 l +4 4 l +4 2 l +6 0 l +2 -2 l +0 -2 l +-2 -2 l +-2 2 l +2 2 l +-23 2 m 7 0 l +-7 -27 m 13 0 l +41 34 m 0 -34 l +-18 17 m 35 0 l +19 15 m 4 2 l +6 6 l +0 -40 l +-2 38 m 0 -38 l +-8 0 m 17 0 l + 0 0 0 C +CS [] 0 setdash M +CS [] 0 setdash M +219 219 M 2042 0 l +0 1531 l +219 1750 L +219 219 L +2042 0 l +219 219 M 2042 0 l +219 219 M 0 36 l +-16 -120 m 203 135 F (1) T +635 219 M 0 18 l +243 -18 m 0 18 l +173 -18 m 0 18 l +134 -18 m 0 18 l +110 -18 m 0 18 l +92 -18 m 0 18 l +80 -18 m 0 18 l +71 -18 m 0 18 l +63 -18 m 0 36 l +-31 -120 m 1570 135 F (10) T +2018 219 M 0 18 l +243 -18 m 0 18 l +219 1750 M 2042 0 l +219 1750 M 0 -36 l +416 36 m 0 -18 l +243 18 m 0 -18 l +173 18 m 0 -18 l +134 18 m 0 -18 l +110 18 m 0 -18 l +92 18 m 0 -18 l +80 18 m 0 -18 l +71 18 m 0 -18 l +63 18 m 0 -36 l +417 36 m 0 -18 l +243 18 m 0 -18 l +219 219 M 0 1531 l +219 219 M 34 0 l +-125 -28 m 128 191 F (-1) T +219 295 M 17 0 l +-17 77 m 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 34 0 l +66 574 M 66 574 F (-0.5) T +219 678 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +-94 -28 m 159 957 F (0) T +219 1061 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +97 1340 M 97 1340 F (0.5) T +219 1444 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 76 m 34 0 l +-94 -27 m 159 1723 F (1) T +2261 219 M 0 1531 l +2261 219 M -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 76 m -34 0 l +CS [] 0 setdash M +219 1750 M 30 -2 l +29 -6 l +28 -12 l +28 -17 l +25 -21 l +24 -25 l +22 -30 l +20 -32 l +18 -34 l +16 -36 l +15 -36 l +13 -37 l +12 -37 l +11 -36 l +10 -36 l +11 -35 l +10 -34 l +12 -33 l +14 -33 l +15 -32 l +18 -33 l +20 -33 l +23 -33 l +24 -33 l +25 -34 l +27 -35 l +28 -34 l +28 -35 l +29 -35 l +29 -34 l +29 -34 l +30 -33 l +29 -33 l +30 -31 l +30 -30 l +30 -29 l +29 -28 l +30 -26 l +30 -25 l +30 -24 l +30 -23 l +30 -21 l +30 -20 l +30 -19 l +30 -18 l +30 -16 l +30 -16 l +30 -14 l +30 -14 l +29 -12 l +30 -12 l +30 -11 l +30 -10 l +30 -9 l +30 -9 l +30 -8 l +30 -8 l +30 -7 l +30 -6 l +30 -6 l +30 -6 l +30 -5 l +30 -5 l +30 -4 l +30 -4 l +30 -4 l +30 -4 l +29 -3 l +30 -3 l +30 -3 l +30 -3 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -1 l +23 -2 l +219 1750 M 30 -5 l +29 -16 l +28 -28 l +28 -37 l +25 -44 l +24 -49 l +22 -51 l +20 -51 l +18 -48 l +16 -45 l +15 -41 l +13 -34 l +12 -27 l +11 -18 l +10 -7 l +11 6 l +10 19 l +12 33 l +14 47 l +15 55 l +18 59 l +20 58 l +23 51 l +24 43 l +25 34 l +27 26 l +28 20 l +28 14 l +29 10 l +29 8 l +29 5 l +30 4 l +29 3 l +30 2 l +30 1 l +30 1 l +29 1 l +30 0 l +30 0 l +30 1 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +23 0 l +442 1368 M CS [] 0 setdash M +411 1313 M 411 1313 F (N) T +CS [] 0 setdash M +1122 602 M CS [] 0 setdash M +1122 602 M 1122 602 F (W) T +CS [] 0 setdash M +stroke +grestore +showpage +end +%%Trailer +%%EOF +grestore diff --git a/Build/source/utils/psutils/tests/plotm.eps b/Build/source/utils/psutils/tests/plotm.eps new file mode 100644 index 00000000000..adbceb05c67 --- /dev/null +++ b/Build/source/utils/psutils/tests/plotm.eps @@ -0,0 +1,319 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: SM +%%DocumentNeededResources: font Helvetica +%%LanguageLevel: 1 +%%Pages: 1 +%%BoundingBox: 0 0 368 497 +%%EndComments +%%BeginProcSet: epsffit 1 0 +gsave +533.224 -31.918 translate +90 rotate +0.939 0.939 scale +%%EndProcSet + +%%Page: 1 1 + 20 dict begin +72 300 div dup scale +1 setlinejoin 0 setlinecap +/Helvetica findfont 55 scalefont setfont +/B {CS newpath moveto} def +/F {moveto 0 setlinecap} def +/C {CS M 1 1 3 {pop 3 1 roll 255 div} for SET_COLOUR} def +/CS {currentpoint stroke} def +/CF {currentpoint eofill} def +/L {lineto} def /l {rlineto} def /M {moveto} def /m {rmoveto} def +/P {gsave 0 1 rlineto stroke grestore} def +/T {currentlinecap exch 1 setlinecap show setlinecap} def +errordict /nocurrentpoint {pop 0 0 M currentpoint} put +/SET_COLOUR statusdict begin /processcolors where + {pop processcolors 1 gt} {false} ifelse + {(setrgbcolor)} {(pop pop pop)} ifelse cvx end def + 80 600 translate +gsave +CS [] 0 setdash M +CS M 1 100 mul 72 div dup setlinewidth +/P [ /gsave cvx 0 5 -1 roll .05 add dup -2 div 0 exch /rmoveto cvx /rlineto cvx /stroke cvx /grestore cvx ] cvx def + 0 0 0 C + 0 0 0 C +CS [] 0 setdash M +321 295 M CS [] 0 setdash M +321 295 M 321 295 F (p=2 d=8) T +CS [] 0 setdash M +CS [] 0 setdash M + 0 0 0 C +1957 148 M 10 27 m 0 -27 l +1 27 m 0 -27 l +0 15 m 2 6 l +4 4 l +4 2 l +6 0 l +2 -2 l +0 -2 l +-2 -2 l +-2 2 l +2 2 l +-23 2 m 7 0 l +-7 -27 m 13 0 l +41 34 m 0 -34 l +-18 17 m 35 0 l +19 15 m 4 2 l +6 6 l +0 -40 l +-2 38 m 0 -38 l +-8 0 m 17 0 l + 0 0 0 C +CS [] 0 setdash M +CS [] 0 setdash M +219 219 M 2042 0 l +0 1531 l +219 1750 L +219 219 L +2042 0 l +219 219 M 2042 0 l +219 219 M 0 36 l +-16 -120 m 203 135 F (1) T +635 219 M 0 18 l +243 -18 m 0 18 l +173 -18 m 0 18 l +134 -18 m 0 18 l +110 -18 m 0 18 l +92 -18 m 0 18 l +80 -18 m 0 18 l +71 -18 m 0 18 l +63 -18 m 0 36 l +-31 -120 m 1570 135 F (10) T +2018 219 M 0 18 l +243 -18 m 0 18 l +219 1750 M 2042 0 l +219 1750 M 0 -36 l +416 36 m 0 -18 l +243 18 m 0 -18 l +173 18 m 0 -18 l +134 18 m 0 -18 l +110 18 m 0 -18 l +92 18 m 0 -18 l +80 18 m 0 -18 l +71 18 m 0 -18 l +63 18 m 0 -36 l +417 36 m 0 -18 l +243 18 m 0 -18 l +219 219 M 0 1531 l +219 219 M 34 0 l +-125 -28 m 128 191 F (-1) T +219 295 M 17 0 l +-17 77 m 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 34 0 l +66 574 M 66 574 F (-0.5) T +219 678 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +-94 -28 m 159 957 F (0) T +219 1061 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +97 1340 M 97 1340 F (0.5) T +219 1444 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 76 m 34 0 l +-94 -27 m 159 1723 F (1) T +2261 219 M 0 1531 l +2261 219 M -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 76 m -34 0 l +CS [] 0 setdash M +219 1750 M 30 -2 l +29 -6 l +28 -12 l +28 -17 l +25 -21 l +24 -25 l +22 -30 l +20 -32 l +18 -34 l +16 -36 l +15 -36 l +13 -37 l +12 -37 l +11 -36 l +10 -36 l +11 -35 l +10 -34 l +12 -33 l +14 -33 l +15 -32 l +18 -33 l +20 -33 l +23 -33 l +24 -33 l +25 -34 l +27 -35 l +28 -34 l +28 -35 l +29 -35 l +29 -34 l +29 -34 l +30 -33 l +29 -33 l +30 -31 l +30 -30 l +30 -29 l +29 -28 l +30 -26 l +30 -25 l +30 -24 l +30 -23 l +30 -21 l +30 -20 l +30 -19 l +30 -18 l +30 -16 l +30 -16 l +30 -14 l +30 -14 l +29 -12 l +30 -12 l +30 -11 l +30 -10 l +30 -9 l +30 -9 l +30 -8 l +30 -8 l +30 -7 l +30 -6 l +30 -6 l +30 -6 l +30 -5 l +30 -5 l +30 -4 l +30 -4 l +30 -4 l +30 -4 l +29 -3 l +30 -3 l +30 -3 l +30 -3 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -1 l +23 -2 l +219 1750 M 30 -5 l +29 -16 l +28 -28 l +28 -37 l +25 -44 l +24 -49 l +22 -51 l +20 -51 l +18 -48 l +16 -45 l +15 -41 l +13 -34 l +12 -27 l +11 -18 l +10 -7 l +11 6 l +10 19 l +12 33 l +14 47 l +15 55 l +18 59 l +20 58 l +23 51 l +24 43 l +25 34 l +27 26 l +28 20 l +28 14 l +29 10 l +29 8 l +29 5 l +30 4 l +29 3 l +30 2 l +30 1 l +30 1 l +29 1 l +30 0 l +30 0 l +30 1 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +23 0 l +442 1368 M CS [] 0 setdash M +411 1313 M 411 1313 F (N) T +CS [] 0 setdash M +1122 602 M CS [] 0 setdash M +1122 602 M 1122 602 F (W) T +CS [] 0 setdash M +stroke +grestore +showpage +end +%%Trailer +%%EOF +grestore diff --git a/Build/source/utils/psutils/tests/plotv.eps b/Build/source/utils/psutils/tests/plotv.eps new file mode 100644 index 00000000000..ddaa33f824b --- /dev/null +++ b/Build/source/utils/psutils/tests/plotv.eps @@ -0,0 +1,318 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: SM +%%DocumentNeededResources: font Helvetica +%%LanguageLevel: 1 +%%Pages: 1 +%%BoundingBox: 0 15 500 384 +%%EndComments +%%BeginProcSet: epsffit 1 0 +gsave +-32.075 -150.943 translate +0.943 0.943 scale +%%EndProcSet + +%%Page: 1 1 + 20 dict begin +72 300 div dup scale +1 setlinejoin 0 setlinecap +/Helvetica findfont 55 scalefont setfont +/B {CS newpath moveto} def +/F {moveto 0 setlinecap} def +/C {CS M 1 1 3 {pop 3 1 roll 255 div} for SET_COLOUR} def +/CS {currentpoint stroke} def +/CF {currentpoint eofill} def +/L {lineto} def /l {rlineto} def /M {moveto} def /m {rmoveto} def +/P {gsave 0 1 rlineto stroke grestore} def +/T {currentlinecap exch 1 setlinecap show setlinecap} def +errordict /nocurrentpoint {pop 0 0 M currentpoint} put +/SET_COLOUR statusdict begin /processcolors where + {pop processcolors 1 gt} {false} ifelse + {(setrgbcolor)} {(pop pop pop)} ifelse cvx end def + 80 600 translate +gsave +CS [] 0 setdash M +CS M 1 100 mul 72 div dup setlinewidth +/P [ /gsave cvx 0 5 -1 roll .05 add dup -2 div 0 exch /rmoveto cvx /rlineto cvx /stroke cvx /grestore cvx ] cvx def + 0 0 0 C + 0 0 0 C +CS [] 0 setdash M +321 295 M CS [] 0 setdash M +321 295 M 321 295 F (p=2 d=8) T +CS [] 0 setdash M +CS [] 0 setdash M + 0 0 0 C +1957 148 M 10 27 m 0 -27 l +1 27 m 0 -27 l +0 15 m 2 6 l +4 4 l +4 2 l +6 0 l +2 -2 l +0 -2 l +-2 -2 l +-2 2 l +2 2 l +-23 2 m 7 0 l +-7 -27 m 13 0 l +41 34 m 0 -34 l +-18 17 m 35 0 l +19 15 m 4 2 l +6 6 l +0 -40 l +-2 38 m 0 -38 l +-8 0 m 17 0 l + 0 0 0 C +CS [] 0 setdash M +CS [] 0 setdash M +219 219 M 2042 0 l +0 1531 l +219 1750 L +219 219 L +2042 0 l +219 219 M 2042 0 l +219 219 M 0 36 l +-16 -120 m 203 135 F (1) T +635 219 M 0 18 l +243 -18 m 0 18 l +173 -18 m 0 18 l +134 -18 m 0 18 l +110 -18 m 0 18 l +92 -18 m 0 18 l +80 -18 m 0 18 l +71 -18 m 0 18 l +63 -18 m 0 36 l +-31 -120 m 1570 135 F (10) T +2018 219 M 0 18 l +243 -18 m 0 18 l +219 1750 M 2042 0 l +219 1750 M 0 -36 l +416 36 m 0 -18 l +243 18 m 0 -18 l +173 18 m 0 -18 l +134 18 m 0 -18 l +110 18 m 0 -18 l +92 18 m 0 -18 l +80 18 m 0 -18 l +71 18 m 0 -18 l +63 18 m 0 -36 l +417 36 m 0 -18 l +243 18 m 0 -18 l +219 219 M 0 1531 l +219 219 M 34 0 l +-125 -28 m 128 191 F (-1) T +219 295 M 17 0 l +-17 77 m 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 34 0 l +66 574 M 66 574 F (-0.5) T +219 678 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +-94 -28 m 159 957 F (0) T +219 1061 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 77 m 34 0 l +97 1340 M 97 1340 F (0.5) T +219 1444 M 17 0 l +-17 77 m 17 0 l +-17 76 m 17 0 l +-17 77 m 17 0 l +-17 76 m 34 0 l +-94 -27 m 159 1723 F (1) T +2261 219 M 0 1531 l +2261 219 M -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 77 m -34 0 l +34 76 m -17 0 l +17 77 m -17 0 l +17 76 m -17 0 l +17 77 m -17 0 l +17 76 m -34 0 l +CS [] 0 setdash M +219 1750 M 30 -2 l +29 -6 l +28 -12 l +28 -17 l +25 -21 l +24 -25 l +22 -30 l +20 -32 l +18 -34 l +16 -36 l +15 -36 l +13 -37 l +12 -37 l +11 -36 l +10 -36 l +11 -35 l +10 -34 l +12 -33 l +14 -33 l +15 -32 l +18 -33 l +20 -33 l +23 -33 l +24 -33 l +25 -34 l +27 -35 l +28 -34 l +28 -35 l +29 -35 l +29 -34 l +29 -34 l +30 -33 l +29 -33 l +30 -31 l +30 -30 l +30 -29 l +29 -28 l +30 -26 l +30 -25 l +30 -24 l +30 -23 l +30 -21 l +30 -20 l +30 -19 l +30 -18 l +30 -16 l +30 -16 l +30 -14 l +30 -14 l +29 -12 l +30 -12 l +30 -11 l +30 -10 l +30 -9 l +30 -9 l +30 -8 l +30 -8 l +30 -7 l +30 -6 l +30 -6 l +30 -6 l +30 -5 l +30 -5 l +30 -4 l +30 -4 l +30 -4 l +30 -4 l +29 -3 l +30 -3 l +30 -3 l +30 -3 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -2 l +30 -1 l +23 -2 l +219 1750 M 30 -5 l +29 -16 l +28 -28 l +28 -37 l +25 -44 l +24 -49 l +22 -51 l +20 -51 l +18 -48 l +16 -45 l +15 -41 l +13 -34 l +12 -27 l +11 -18 l +10 -7 l +11 6 l +10 19 l +12 33 l +14 47 l +15 55 l +18 59 l +20 58 l +23 51 l +24 43 l +25 34 l +27 26 l +28 20 l +28 14 l +29 10 l +29 8 l +29 5 l +30 4 l +29 3 l +30 2 l +30 1 l +30 1 l +29 1 l +30 0 l +30 0 l +30 1 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +29 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +30 0 l +23 0 l +442 1368 M CS [] 0 setdash M +411 1313 M 411 1313 F (N) T +CS [] 0 setdash M +1122 602 M CS [] 0 setdash M +1122 602 M 1122 602 F (W) T +CS [] 0 setdash M +stroke +grestore +showpage +end +%%Trailer +%%EOF +grestore |