diff options
-rwxr-xr-x | Master/bin/x86_64-linux/afm2pl | bin | 85160 -> 85416 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/afm2tfm | bin | 94872 -> 94872 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/aleph | bin | 488160 -> 488160 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/bbox | bin | 0 -> 9088 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/bibtex | bin | 147432 -> 149896 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/bibtex8 | bin | 178944 -> 178944 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ctangle | bin | 96816 -> 96816 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ctie | bin | 71640 -> 71768 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/cweave | bin | 130800 -> 131088 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/detex | bin | 85240 -> 85512 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dmp | bin | 84008 -> 84008 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dt2dv | bin | 37040 -> 37040 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvicopy | bin | 110552 -> 110840 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvilj | bin | 103736 -> 104856 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvilj2p | bin | 104856 -> 104856 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvilj4 | bin | 109304 -> 109560 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvilj4l | bin | 109304 -> 109560 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvipdfm | bin | 425368 -> 425368 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvipdfmx | bin | 777472 -> 777600 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvipng | bin | 951184 -> 951472 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvipos | bin | 0 -> 100944 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvips | bin | 237904 -> 241936 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvitomp | bin | 92600 -> 92600 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/dvitype | bin | 96928 -> 96928 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ebb | bin | 241544 -> 241832 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/fmtutil | 70 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/gftodvi | bin | 98472 -> 98760 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/gftopk | bin | 80576 -> 80864 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/gftype | bin | 81224 -> 81512 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/gsftopk | bin | 81160 -> 81432 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/hbf2gf | bin | 92280 -> 92280 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/htcontext | 6 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/htlatex | 4 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/htmex | 4 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/httex | 4 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/httexi | 4 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/kpsewhich | bin | 72448 -> 72544 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/makeindex | bin | 133744 -> 134032 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/makempx | bin | 71992 -> 72264 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/mf | bin | 291264 -> 291264 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/mf-nowin | bin | 282632 -> 282888 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/mft | bin | 105864 -> 106120 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/mk4ht | 10 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/mpost | bin | 392232 -> 392232 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/odvicopy | bin | 114488 -> 114776 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/odvitype | bin | 97248 -> 97536 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/omega | bin | 493792 -> 494048 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/omfonts | bin | 169552 -> 169552 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/otftotfm | bin | 742224 -> 745232 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/otp2ocp | bin | 87200 -> 87472 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/outocp | bin | 67656 -> 67656 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/pdftex | bin | 1464864 -> 1465120 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/pdftosrc | bin | 0 -> 564688 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/pktogf | bin | 77576 -> 77864 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/pktype | bin | 73112 -> 73368 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ps2eps | 929 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/ps2pk | bin | 185632 -> 185920 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/t4ht | bin | 84408 -> 87960 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/tangle | bin | 98936 -> 99224 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/tex | bin | 314720 -> 315008 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/tex4ht | bin | 152136 -> 152392 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/texconfig | 6 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/texmfstart | 56 | ||||
-rwxr-xr-x | Master/bin/x86_64-linux/tftopl | bin | 92568 -> 92568 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ttf2afm | bin | 86744 -> 87000 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ttf2pk | bin | 251512 -> 251576 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/ttf2tfm | bin | 270736 -> 271024 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/vftovp | bin | 105000 -> 105000 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/weave | bin | 121288 -> 121416 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/xdvi-xaw.bin | bin | 863464 -> 863464 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/xdvipdfmx | bin | 1335280 -> 1335536 bytes | |||
-rwxr-xr-x | Master/bin/x86_64-linux/xetex | bin | 8120272 -> 8120272 bytes |
72 files changed, 1024 insertions, 69 deletions
diff --git a/Master/bin/x86_64-linux/afm2pl b/Master/bin/x86_64-linux/afm2pl Binary files differindex 640eb391a1a..dd5e8b07227 100755 --- a/Master/bin/x86_64-linux/afm2pl +++ b/Master/bin/x86_64-linux/afm2pl diff --git a/Master/bin/x86_64-linux/afm2tfm b/Master/bin/x86_64-linux/afm2tfm Binary files differindex 959d399da07..43703b2d214 100755 --- a/Master/bin/x86_64-linux/afm2tfm +++ b/Master/bin/x86_64-linux/afm2tfm diff --git a/Master/bin/x86_64-linux/aleph b/Master/bin/x86_64-linux/aleph Binary files differindex b5a328abbe5..6205230ee32 100755 --- a/Master/bin/x86_64-linux/aleph +++ b/Master/bin/x86_64-linux/aleph diff --git a/Master/bin/x86_64-linux/bbox b/Master/bin/x86_64-linux/bbox Binary files differnew file mode 100755 index 00000000000..98f202b6fc5 --- /dev/null +++ b/Master/bin/x86_64-linux/bbox diff --git a/Master/bin/x86_64-linux/bibtex b/Master/bin/x86_64-linux/bibtex Binary files differindex fbcde76fc80..f42d466a1e0 100755 --- a/Master/bin/x86_64-linux/bibtex +++ b/Master/bin/x86_64-linux/bibtex diff --git a/Master/bin/x86_64-linux/bibtex8 b/Master/bin/x86_64-linux/bibtex8 Binary files differindex e0ea2e0d2bb..e8fc8b94707 100755 --- a/Master/bin/x86_64-linux/bibtex8 +++ b/Master/bin/x86_64-linux/bibtex8 diff --git a/Master/bin/x86_64-linux/ctangle b/Master/bin/x86_64-linux/ctangle Binary files differindex 188485ad13b..35ae461a5ee 100755 --- a/Master/bin/x86_64-linux/ctangle +++ b/Master/bin/x86_64-linux/ctangle diff --git a/Master/bin/x86_64-linux/ctie b/Master/bin/x86_64-linux/ctie Binary files differindex ce6cd131ca1..a33321e856f 100755 --- a/Master/bin/x86_64-linux/ctie +++ b/Master/bin/x86_64-linux/ctie diff --git a/Master/bin/x86_64-linux/cweave b/Master/bin/x86_64-linux/cweave Binary files differindex f28d4f70ded..117c40150ef 100755 --- a/Master/bin/x86_64-linux/cweave +++ b/Master/bin/x86_64-linux/cweave diff --git a/Master/bin/x86_64-linux/detex b/Master/bin/x86_64-linux/detex Binary files differindex 7562198d29d..89dc059813f 100755 --- a/Master/bin/x86_64-linux/detex +++ b/Master/bin/x86_64-linux/detex diff --git a/Master/bin/x86_64-linux/dmp b/Master/bin/x86_64-linux/dmp Binary files differindex cf7dd2156c8..774e06f0b70 100755 --- a/Master/bin/x86_64-linux/dmp +++ b/Master/bin/x86_64-linux/dmp diff --git a/Master/bin/x86_64-linux/dt2dv b/Master/bin/x86_64-linux/dt2dv Binary files differindex 1d68b01d13e..ab49a9cee7d 100755 --- a/Master/bin/x86_64-linux/dt2dv +++ b/Master/bin/x86_64-linux/dt2dv diff --git a/Master/bin/x86_64-linux/dvicopy b/Master/bin/x86_64-linux/dvicopy Binary files differindex 1b93d68cb64..fa01e1097e9 100755 --- a/Master/bin/x86_64-linux/dvicopy +++ b/Master/bin/x86_64-linux/dvicopy diff --git a/Master/bin/x86_64-linux/dvilj b/Master/bin/x86_64-linux/dvilj Binary files differindex 0ccdd9bfb8f..0ed277e7548 100755 --- a/Master/bin/x86_64-linux/dvilj +++ b/Master/bin/x86_64-linux/dvilj diff --git a/Master/bin/x86_64-linux/dvilj2p b/Master/bin/x86_64-linux/dvilj2p Binary files differindex 20ca0312c1d..7a2ff74c329 100755 --- a/Master/bin/x86_64-linux/dvilj2p +++ b/Master/bin/x86_64-linux/dvilj2p diff --git a/Master/bin/x86_64-linux/dvilj4 b/Master/bin/x86_64-linux/dvilj4 Binary files differindex b08f77f7daf..14d06ea7a06 100755 --- a/Master/bin/x86_64-linux/dvilj4 +++ b/Master/bin/x86_64-linux/dvilj4 diff --git a/Master/bin/x86_64-linux/dvilj4l b/Master/bin/x86_64-linux/dvilj4l Binary files differindex d491b81412d..bcc0ac09f6c 100755 --- a/Master/bin/x86_64-linux/dvilj4l +++ b/Master/bin/x86_64-linux/dvilj4l diff --git a/Master/bin/x86_64-linux/dvipdfm b/Master/bin/x86_64-linux/dvipdfm Binary files differindex 7d56c02e5cd..31e6ea3a966 100755 --- a/Master/bin/x86_64-linux/dvipdfm +++ b/Master/bin/x86_64-linux/dvipdfm diff --git a/Master/bin/x86_64-linux/dvipdfmx b/Master/bin/x86_64-linux/dvipdfmx Binary files differindex 72e076ec204..a4f25a90561 100755 --- a/Master/bin/x86_64-linux/dvipdfmx +++ b/Master/bin/x86_64-linux/dvipdfmx diff --git a/Master/bin/x86_64-linux/dvipng b/Master/bin/x86_64-linux/dvipng Binary files differindex 4c06b72db9c..5b6825768dc 100755 --- a/Master/bin/x86_64-linux/dvipng +++ b/Master/bin/x86_64-linux/dvipng diff --git a/Master/bin/x86_64-linux/dvipos b/Master/bin/x86_64-linux/dvipos Binary files differnew file mode 100755 index 00000000000..b72f1ce039a --- /dev/null +++ b/Master/bin/x86_64-linux/dvipos diff --git a/Master/bin/x86_64-linux/dvips b/Master/bin/x86_64-linux/dvips Binary files differindex ce208906711..63fdc9097f9 100755 --- a/Master/bin/x86_64-linux/dvips +++ b/Master/bin/x86_64-linux/dvips diff --git a/Master/bin/x86_64-linux/dvitomp b/Master/bin/x86_64-linux/dvitomp Binary files differindex 83ee8df8770..f5537f64f79 100755 --- a/Master/bin/x86_64-linux/dvitomp +++ b/Master/bin/x86_64-linux/dvitomp diff --git a/Master/bin/x86_64-linux/dvitype b/Master/bin/x86_64-linux/dvitype Binary files differindex e3c2a976b41..375f8211057 100755 --- a/Master/bin/x86_64-linux/dvitype +++ b/Master/bin/x86_64-linux/dvitype diff --git a/Master/bin/x86_64-linux/ebb b/Master/bin/x86_64-linux/ebb Binary files differindex 12c9faa3f47..e750c14677b 100755 --- a/Master/bin/x86_64-linux/ebb +++ b/Master/bin/x86_64-linux/ebb diff --git a/Master/bin/x86_64-linux/fmtutil b/Master/bin/x86_64-linux/fmtutil index e061f4f20af..9342c679aaf 100755 --- a/Master/bin/x86_64-linux/fmtutil +++ b/Master/bin/x86_64-linux/fmtutil @@ -24,10 +24,12 @@ # Options: # --cnffile file set configfile for fmtutil # --fmtdir directory set destination directory for format files +# --no-engine-subdir don't use $engine subdirectory of the fmtdir ############################################################################### ############################################################################### # program history: +# 2007-01-04 patch by JK to support $engine subdir (enabled by default) # Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code # Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS # So Mär 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP @@ -198,6 +200,7 @@ Usage: fmtutil [option] ... cmd [argument] Valid options: --cnffile file --fmtdir directory + --no-engine-subdir don't use engine-specific subdir of the fmtdir --quiet (not implemented, just for compatibility) --test (not implemented, just for compatibility) --dolinks (not implemented, just for compatibility) @@ -383,6 +386,7 @@ main() ;; esac + use_engine_dir=true # whether to use web2c/$engine subdirs while case $1 in --cnffile) @@ -393,6 +397,8 @@ main() shift; destdir=$1;; --fmtdir=*) destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;; + --no-engine-subdir) + use_engine_dir=false;; --all|-a) cmd=all;; --edit|-e) @@ -547,31 +553,11 @@ main() refresh) recreate_existing;; byfmt) - create_one_format "$arg";; + recreate_by_fmt "$arg";; byhyphen) recreate_by_hyphenfile "$arg";; esac - # install the log files and format files: - for i in *.log; do - test -f "$i" || continue - rm -f "$destdir/$i" - - # We don't want user-interaction for the following "mv" command: - mv "$i" "$destdir/$i" </dev/null - done - for i in *.fmt *.mem *.base; do - test -f "$i" || continue - rm -f "$destdir/$i" - - # We don't want user-interaction for the following "mv" command: - if mv "$i" "$destdir/$i" </dev/null; then - verboseMsg "$progname: $destdir/$i installed." - $mktexfmtMode && echo "$destdir/$i" - fi - mktexupd "$destdir" "$i" - done - byebye } @@ -622,9 +608,9 @@ parse_line() inifile=`echo $lastarg | sed 's%^\*%%'` case "$engine" in - mpost) fmtfile="$format.mem"; kpsefmt=mpost;; - mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf;; - *) fmtfile="$format.fmt"; kpsefmt=tex;; + mpost) fmtfile="$format.mem"; kpsefmt=mpost; texengine=metapost;; + mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;; + *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;; esac # See if we can find $inifile for return code: @@ -699,16 +685,30 @@ run_initex() verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs ) </dev/null + if test $use_engine_dir; then + fulldestdir="$destdir/$texengine" + else + fulldestdir="$destdir" + fi + mkdir -p $fulldestdir if test -f $fmtfile; then grep '^! ' $format.log >/dev/null 2>&1 && log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." + rm -f "$fulldestdir/$format.log" + # We don't want user-interaction for the following "mv" commands: + mv "$format.log" "$fulldestdir/$format.log" </dev/null + if mv "$fmtfile" "$fulldestdir/$fmtfile" </dev/null; then + verboseMsg "$progname: $fulldestdir/$fmtfile installed." + $mktexfmtMode && echo "$fulldestdir/$fmtfile" + mktexupd "$fulldestdir" "$fmtfile" + fi else log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed" fi } ############################################################################### -# recreate_loop(hyphenfile) +# recreate_loop() # for each line in config file: check match-condition and recreate format # if there is a match ############################################################################### @@ -723,7 +723,6 @@ recreate_loop() do parse_line $line || continue check_match || continue - echo; echo run_initex done } @@ -759,15 +758,14 @@ check_match() } ############################################################################### -# create_one_format(fmtname) -# (re)create the format file for the format `fmtname' +# recreate_by_fmt(fmtname) +# recreate all versions of fmtname ############################################################################### -create_one_format() +recreate_by_fmt() { fmtname=$1 - - find_info_for_name $fmtname || abort "format \`$fmtname' not available" - run_initex + match_cmd="test x\$format = x$fmtname" + recreate_loop } ############################################################################### @@ -777,7 +775,7 @@ create_one_format() create_missing() { # match_cmd='test ! -f $destdir/$fmtfile' - match_cmd='test ! -f "`kpsewhich -progname=$format $fmtfile`"' + match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"' recreate_loop } @@ -787,7 +785,7 @@ create_missing() ############################################################################### recreate_existing() { - match_cmd='test -f "`kpsewhich -progname=$format $fmtfile`"' + match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"' recreate_loop } @@ -862,7 +860,7 @@ disablefmt() grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; } ed $cnf_file >/dev/null 2>&1 <<-eof - /^$1[ ]/s/^/#! / + g/^$1[ ]/s/^/#! / w q eof @@ -877,7 +875,7 @@ enablefmt() { grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; } ed $cnf_file >/dev/null 2>&1 <<-eof - /^#![ ]*$1[ ]/s/..[ ]*// + g/^#![ ]*$1[ ]/s/..[ ]*// w q eof diff --git a/Master/bin/x86_64-linux/gftodvi b/Master/bin/x86_64-linux/gftodvi Binary files differindex 1870bfbd61a..3e86de39981 100755 --- a/Master/bin/x86_64-linux/gftodvi +++ b/Master/bin/x86_64-linux/gftodvi diff --git a/Master/bin/x86_64-linux/gftopk b/Master/bin/x86_64-linux/gftopk Binary files differindex 883893e3471..423baab3e5f 100755 --- a/Master/bin/x86_64-linux/gftopk +++ b/Master/bin/x86_64-linux/gftopk diff --git a/Master/bin/x86_64-linux/gftype b/Master/bin/x86_64-linux/gftype Binary files differindex 9659493ad77..bac19ec73ec 100755 --- a/Master/bin/x86_64-linux/gftype +++ b/Master/bin/x86_64-linux/gftype diff --git a/Master/bin/x86_64-linux/gsftopk b/Master/bin/x86_64-linux/gsftopk Binary files differindex c0f9a66daf5..9860f6cfd4f 100755 --- a/Master/bin/x86_64-linux/gsftopk +++ b/Master/bin/x86_64-linux/gsftopk diff --git a/Master/bin/x86_64-linux/hbf2gf b/Master/bin/x86_64-linux/hbf2gf Binary files differindex 6e3867131c7..637ada781f0 100755 --- a/Master/bin/x86_64-linux/hbf2gf +++ b/Master/bin/x86_64-linux/hbf2gf diff --git a/Master/bin/x86_64-linux/htcontext b/Master/bin/x86_64-linux/htcontext index 9d6d4549574..9e01fa97f66 100755 --- a/Master/bin/x86_64-linux/htcontext +++ b/Master/bin/x86_64-linux/htcontext @@ -1,7 +1,7 @@ #!/bin/sh - texexec --arg="ht-1=$2" --use=tex4ht $5 $1 - tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 - t4ht -f/$1 $4 ## -d~/WWW/temp/ -m644 + texexec --arg="ht-1=$2" --use=tex4ht --dvi --nobackend $5 $1 + tex4ht \dirchar $1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 + t4ht \dirchar $1 $4 ## -d~/WWW/temp/ -m644 diff --git a/Master/bin/x86_64-linux/htlatex b/Master/bin/x86_64-linux/htlatex index 1b8b7cea74a..ebab47dbaa6 100755 --- a/Master/bin/x86_64-linux/htlatex +++ b/Master/bin/x86_64-linux/htlatex @@ -2,8 +2,8 @@ latex $5 '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode '$2'.a.b.c.\input ' $1 latex $5 '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode '$2'.a.b.c.\input ' $1 latex $5 '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode '$2'.a.b.c.\input ' $1 - tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 - t4ht -f/$1 $4 ## -d~/WWW/temp/ -m644 + tex4ht \dirchar $1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 + t4ht \dirchar $1 $4 ## -d~/WWW/temp/ -m644 diff --git a/Master/bin/x86_64-linux/htmex b/Master/bin/x86_64-linux/htmex index b4aa3d9a06e..485a7594468 100755 --- a/Master/bin/x86_64-linux/htmex +++ b/Master/bin/x86_64-linux/htmex @@ -2,8 +2,8 @@ mex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\HCode '$2'.a.b.c.\input ' $1 mex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\HCode '$2'.a.b.c.\input ' $1 mex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\HCode '$2'.a.b.c.\input ' $1 - tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 - t4ht -f/$1 $4 ## -d~/WWW/temp/ -m644 + tex4ht \dirchar $1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 + t4ht \dirchar $1 $4 ## -d~/WWW/temp/ -m644 diff --git a/Master/bin/x86_64-linux/httex b/Master/bin/x86_64-linux/httex index 44920e72077..4c184897d13 100755 --- a/Master/bin/x86_64-linux/httex +++ b/Master/bin/x86_64-linux/httex @@ -2,8 +2,8 @@ tex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\HCode '$2'.a.b.c.\input ' $1 tex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\HCode '$2'.a.b.c.\input ' $1 tex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\HCode '$2'.a.b.c.\input ' $1 - tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 - t4ht -f/$1 $4 ## -d~/WWW/temp/ -m644 + tex4ht \dirchar $1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 + t4ht \dirchar $1 $4 ## -d~/WWW/temp/ -m644 diff --git a/Master/bin/x86_64-linux/httexi b/Master/bin/x86_64-linux/httexi index 0ce3cb4a589..26427698991 100755 --- a/Master/bin/x86_64-linux/httexi +++ b/Master/bin/x86_64-linux/httexi @@ -2,8 +2,8 @@ tex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\let\svrm=\rm\def\rm{\svrm\ifx\c\comment\def\rm{\let\rm=\svrm\catcode`\@=12\catcode`\\=0 \csname tex4ht\endcsname\catcode`\@=0\catcode`\\=13 }\expandafter\rm\fi}\HCode '$2'.a.b.c.\input ' $1 tex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\let\svrm=\rm\def\rm{\svrm\ifx\c\comment\def\rm{\let\rm=\svrm\catcode`\@=12\catcode`\\=0 \csname tex4ht\endcsname\catcode`\@=0\catcode`\\=13 }\expandafter\rm\fi}\HCode '$2'.a.b.c.\input ' $1 tex $5 '\def\Link#1.a.b.c.{\expandafter\def\csname tex4ht\endcsname{\expandafter\def\csname tex4ht\endcsname{#1,html}\input tex4ht.sty }}\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\let\svrm=\rm\def\rm{\svrm\ifx\c\comment\def\rm{\let\rm=\svrm\catcode`\@=12\catcode`\\=0 \csname tex4ht\endcsname\catcode`\@=0\catcode`\\=13 }\expandafter\rm\fi}\HCode '$2'.a.b.c.\input ' $1 - tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 - t4ht -f/$1 $4 ## -d~/WWW/temp/ -m644 + tex4ht \dirchar $1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 + t4ht \dirchar $1 $4 ## -d~/WWW/temp/ -m644 # texindex ? diff --git a/Master/bin/x86_64-linux/kpsewhich b/Master/bin/x86_64-linux/kpsewhich Binary files differindex 3281b048b4b..60431f4fc16 100755 --- a/Master/bin/x86_64-linux/kpsewhich +++ b/Master/bin/x86_64-linux/kpsewhich diff --git a/Master/bin/x86_64-linux/makeindex b/Master/bin/x86_64-linux/makeindex Binary files differindex 6c0c3ef1b7d..f8a4197fabd 100755 --- a/Master/bin/x86_64-linux/makeindex +++ b/Master/bin/x86_64-linux/makeindex diff --git a/Master/bin/x86_64-linux/makempx b/Master/bin/x86_64-linux/makempx Binary files differindex eb3422851c2..3dda694d47a 100755 --- a/Master/bin/x86_64-linux/makempx +++ b/Master/bin/x86_64-linux/makempx diff --git a/Master/bin/x86_64-linux/mf b/Master/bin/x86_64-linux/mf Binary files differindex b6ba9a93bf7..7dfd77add8c 100755 --- a/Master/bin/x86_64-linux/mf +++ b/Master/bin/x86_64-linux/mf diff --git a/Master/bin/x86_64-linux/mf-nowin b/Master/bin/x86_64-linux/mf-nowin Binary files differindex 6b64c801927..f29d533bdb7 100755 --- a/Master/bin/x86_64-linux/mf-nowin +++ b/Master/bin/x86_64-linux/mf-nowin diff --git a/Master/bin/x86_64-linux/mft b/Master/bin/x86_64-linux/mft Binary files differindex 6f53a1062cf..7564040a555 100755 --- a/Master/bin/x86_64-linux/mft +++ b/Master/bin/x86_64-linux/mft diff --git a/Master/bin/x86_64-linux/mk4ht b/Master/bin/x86_64-linux/mk4ht index 0f4b664506c..2bd1f7e2038 100755 --- a/Master/bin/x86_64-linux/mk4ht +++ b/Master/bin/x86_64-linux/mk4ht @@ -1,7 +1,7 @@ #!/usr/bin/env perl #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# mk4ht 2006-08-28-20:45 % -# Copyright (C) 2003--2006 Eitan M. Gurari % +# mk4ht 2007-01-04-01:34 % +# Copyright (C) 2003--2007 Eitan M. Gurari % # % # % # This work may be distributed and/or modified under the % @@ -58,6 +58,10 @@ my @options = ( "js", "jstex", "tex", "xhtml,jsml", " -cjsmlhtf", "-cjsml", "js", "jstexi", "texi", "xhtml,jsml", " -cjsmlhtf", "-cjsml", "js", "jscontext", "context", "xhtml,jsml", " -cjsmlhtf", "-cjsml", + "jm", "jmlatex", "latex", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmtex", "tex", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmtexi", "texi", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmcontext", "context", "xhtml,jsmath", " -cmozhtf", "", "tei", "teilatex", "latex", "xhtml,tei", " -cunihtf", "-cvalidate", "tei", "teitex", "tex", "xhtml,tei", " -cunihtf", "-cvalidate", "tei", "teitexi", "texi", "xhtml,tei", " -cunihtf", "-cvalidate", @@ -178,7 +182,7 @@ print " clean.htlatex lg tmp\n"; } -print "mk4ht (2006-08-28-20:45)\n"; +print "mk4ht (2007-01-04-01:34)\n"; if( !@ARGV ){ print "improper command\n"; showInstrucions(); exit(1); diff --git a/Master/bin/x86_64-linux/mpost b/Master/bin/x86_64-linux/mpost Binary files differindex e6d181d557e..4fda1bb654d 100755 --- a/Master/bin/x86_64-linux/mpost +++ b/Master/bin/x86_64-linux/mpost diff --git a/Master/bin/x86_64-linux/odvicopy b/Master/bin/x86_64-linux/odvicopy Binary files differindex 66e4333835c..4d3b77dd767 100755 --- a/Master/bin/x86_64-linux/odvicopy +++ b/Master/bin/x86_64-linux/odvicopy diff --git a/Master/bin/x86_64-linux/odvitype b/Master/bin/x86_64-linux/odvitype Binary files differindex ae2afd37517..76f6df919cc 100755 --- a/Master/bin/x86_64-linux/odvitype +++ b/Master/bin/x86_64-linux/odvitype diff --git a/Master/bin/x86_64-linux/omega b/Master/bin/x86_64-linux/omega Binary files differindex 1bcd564c551..97c9784b28d 100755 --- a/Master/bin/x86_64-linux/omega +++ b/Master/bin/x86_64-linux/omega diff --git a/Master/bin/x86_64-linux/omfonts b/Master/bin/x86_64-linux/omfonts Binary files differindex 64b0a2dd70e..a022968a264 100755 --- a/Master/bin/x86_64-linux/omfonts +++ b/Master/bin/x86_64-linux/omfonts diff --git a/Master/bin/x86_64-linux/otftotfm b/Master/bin/x86_64-linux/otftotfm Binary files differindex c6b26c9453e..1918358a634 100755 --- a/Master/bin/x86_64-linux/otftotfm +++ b/Master/bin/x86_64-linux/otftotfm diff --git a/Master/bin/x86_64-linux/otp2ocp b/Master/bin/x86_64-linux/otp2ocp Binary files differindex 63ab4c81ddf..8da0adfcf54 100755 --- a/Master/bin/x86_64-linux/otp2ocp +++ b/Master/bin/x86_64-linux/otp2ocp diff --git a/Master/bin/x86_64-linux/outocp b/Master/bin/x86_64-linux/outocp Binary files differindex 3cef7853783..ea2243b0d4c 100755 --- a/Master/bin/x86_64-linux/outocp +++ b/Master/bin/x86_64-linux/outocp diff --git a/Master/bin/x86_64-linux/pdftex b/Master/bin/x86_64-linux/pdftex Binary files differindex 68f6912e58c..219bfb33b93 100755 --- a/Master/bin/x86_64-linux/pdftex +++ b/Master/bin/x86_64-linux/pdftex diff --git a/Master/bin/x86_64-linux/pdftosrc b/Master/bin/x86_64-linux/pdftosrc Binary files differnew file mode 100755 index 00000000000..e21abccda49 --- /dev/null +++ b/Master/bin/x86_64-linux/pdftosrc diff --git a/Master/bin/x86_64-linux/pktogf b/Master/bin/x86_64-linux/pktogf Binary files differindex f13e9936007..636b95e0631 100755 --- a/Master/bin/x86_64-linux/pktogf +++ b/Master/bin/x86_64-linux/pktogf diff --git a/Master/bin/x86_64-linux/pktype b/Master/bin/x86_64-linux/pktype Binary files differindex 66db50f2228..a03623edf51 100755 --- a/Master/bin/x86_64-linux/pktype +++ b/Master/bin/x86_64-linux/pktype diff --git a/Master/bin/x86_64-linux/ps2eps b/Master/bin/x86_64-linux/ps2eps new file mode 100755 index 00000000000..aeb0e9a8e43 --- /dev/null +++ b/Master/bin/x86_64-linux/ps2eps @@ -0,0 +1,929 @@ +#!/usr/bin/env perl +# The expression in the previous line replaces the unix specific line +# {#!/usr/bin/perl}. +# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files +# ------------------------------------------------------------------- +# $Id: ps2eps,v 1.61 2006/12/28 16:34:06 bless Exp $ +# ------------------------------------------------------- +# (C)opyright 1999-2006 Roland Bless +# +# 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 +# +# Author: Roland Bless +# Send bug reports to roland <at> bless.de +# ------------------------------------------------------------------- +# Additional filtering is performed when Windows generated PostScript files +# are processed. Some instructions will otherwise lead to bad output +# if EPS-file gets embedded into other PostScript files. +# +# Requirements: +# + perl +# + gs (ghostscript supporting pbm output) +# + bbox (a little C program [ANSI-C - should work on every platform] +# for calculation of the actual BoundingBox) + +use POSIX; + +#use warnings; + +#use Getopt package +use Getopt::Long; +Getopt::Long::Configure("no_ignore_case"); + +$prgname= "ps2eps"; + +if (! -d "/usr/bin") +{ # we assume that we are running under native windows + $ghostscriptname = "gswin32c"; + $NULLDEV = "nul"; +} +else +{ # Unix or cygwin + $ghostscriptname = "gs"; + $NULLDEV = "/dev/null 2>&1"; +} + +$bboxver=`bbox >$NULLDEV -V`; +$bboxname= ($?== -1) ? "" : "bbox"; +$version= '$Id: ps2eps,v 1.61 2006/12/28 16:34:06 bless Exp $'; #' +$insertPScode= 1; # Insert surrounding Postscript code +$infhandle = STDIN; # Standard input is the default input file +$outfhandle = STDOUT; # Standard output is default output if STDIN is input +$infname= '-'; +$outfname= '-'; +$forceoverwrite=0; # do not overwrite existing files +$ignoreBB= 0; # ignore existing Bounding Box comment +$removeDSC= 1; # remove Adobe document structure comments +$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...] +$ignoreEOFDSC= 0; # ignore %%EOF DSC hint +$removePreview= 0; # remove preview +$quiet= 0; # write progress to stdout +$resolution= 144; # resolution for bounding box calculation is 2x72 dpi +$trytofixps= 1; # try to fix postscript code +$forcefixps= 0; # fix postscript code unconditionally if eq 1 +$filterorientation= 1;# filter Orientation line +$looseBB=''; # default: tight bounding box +$clip=0; # do not clip +$warnings=0; # do not print warnings concerning postscript sanity +$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call +$inch=2.54; # one inch is 2.54cm +$fullcolors= 1; # use ppm format (24-bit full color) +$trailerseen= 0; # Trailer comment seen? +$PSversion="2.0"; # default Postscript Version +$PSDSCversion="2.0"; # default Postscript DSC Version +$translate_x= 0; # translate by x postscript points +$translate_y= 0; # translate by y postscript points + +$defaultext = '(ps|prn)'; # default extension +$defaultoutext = '.eps'; # default output extension +$envname_size = 'PS2EPS_SIZE'; +$envname_gsbbox = 'PS2EPS_GSBBOX'; + +$gpar=""; +$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter"; +$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\ +a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\ +b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\ +jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n"; +$trigger= 0; +$notsane= 0; +$dummy=""; + +@ver= split(/ /,$version); + +# filename for temporary files +if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i) +{ + # it is less trouble to use the current directory if working on + # cygwin and nevertheless using gswin32c. + $tmpfname= "$prgname.$$"; + $win=1; +} +elsif (defined($ENV{'TMP'})) +{ + $tmpdir= $ENV{'TMP'}; + $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/'; + if ($tmpdir =~ /$filesep$/) + { $tmpfname= $tmpdir . "$prgname.$$"; } + else + { $tmpfname= $tmpdir . "$filesep$prgname.$$"; } + $win=1; +} +else #assume we're on a UNIXBOX +{ + $tmpfname= "/tmp/" . "$prgname.$$"; + $win=0; +} + + +$licensetxt= "\ + 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\n"; + +@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n", + "(C)opyright 1998-2006 Roland Bless\n\n" ); + +@helptxt= ("Version: $ver[2]\n", + "Operation:\n", + " Without any argument, $prgname reads from standard input\n", + " and writes to standard output.\n", + " If filenames are given as arguments they are processed\n", + " one by one and output files are written to filenames\n", + " with extension '$defaultoutext'. If input filenames have the extension\n", + " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n", + " In all other cases '$defaultoutext' is appended to the input filename.\n", + " Please note that PostScript files for input should contain\n", + " only one single page.\n\n", + " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" ); + +@usagetxt= ("Syntax:\n", + " $prgname [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s <pagedim>] [-R +|-|^] [-t <x,y>] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n", + "Options:\n", + " -f, --force force overwriting existing files\n", + " -q, --quiet quiet operation (no output while processing files)\n", + " -N, --noinsert do not insert any postscript code\n", + " -O, --preserveorientation do not filter Orientation: header comment\n", + " -n, --nofix do not try to fix postscript code\n", + " -P, --removepreview remove preview image (smaller file, but no preview)\n", + " -F, --fixps fix postscript code unconditionally\n", + " -c, --comments preserve document structure comments\n", + " -C, --clip insert postscript code for clipping\n", + " -m, --mono use black/white bitmap as base for calculation\n", + " -s, --size=<pagedim> page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n", + " use --size=list to list pre-defined page sizes\n", + " -R, --rotate=<direction> rotate resulting EPS. <direction>: +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n", + " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n", + " -r, --resolution specify dpi resolution to render with ghostscript (default 144)", + " -l, --loose expand the original bounding box by one point in each direction\n", + " -B, --ignoreBB do not use existing bounding box as page size for rendering\n", + " -E, --ignoreEOF do not use %%EOF as hint for end of file\n", + " -g, --gsbbox use internal bbox device of ghostscript\n", + " -H, --no-hires do not use a HiResBoundingBox\n", + " -h, --help help information\n", + " -L, --license show licensing information\n", + " -V, --version show version information\n", + " -d, --debuggs show ghostscript call\n", + " -W, --warnings show warnings about sanity of generated eps file\n", + " -- all following arguments are treated as files\n", + " (allows filenames starting with -)\n", + "\n", + "Arguments:\n", + " One or more names of PostScript files for input\n"); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- argument checking -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +#environment variable for papersize +if (defined($ENV{"$envname_size"})) +{ + $opt_s= $ENV{"$envname_size"}; +} +else +{ + $opt_s = ''; # for s-option +} + +if (defined($ENV{"$envname_gsbbox"})) +{ + $bboxname=""; +} + +$opt_t = ''; # for t-option +$opt_R = ''; # for R-option +$opt_r = ''; # for r-option +$stopnow = 0; +die "Wrong option(s), please check usage with $prgname --help\n" unless +GetOptions('f|force' => \$forceoverwrite, + 'q|quiet' => \$quiet, + 'm|mono' => sub { $fullcolors = 0 }, + 'n|nofix' => sub { $trytofixps = 0 }, + 'F|fixps' => \$forcefixps, + 'N|noinsert' => sub { $insertPScode = 0 }, + 'O|preserveorientation' => sub { $filterorientation= 0 }, + 'P|removepreview' => \$removePreview, + 'c|comments' => sub { $removeDSC = 0 }, + 'C|clip' => \$clip, + 'l|loose' => sub { $looseBB = '-l' }, + 'B|ignoreBB' => \$ignoreBB, + 'E|ignoreEOF'=> \$ignoreEOFDSC, + 's|size=s' => \$opt_s, + 't|translate=s' => \$opt_t, + 'r|resolution=s' => \$opt_r, + 'R|rotate=s' => \$opt_R, + 'g|gsbbox' => sub { $bboxname=""; }, + 'H|nohires' => \$nohires, + 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'd|debuggs' => \$debuggs, + 'W|warnings' => \$warnings, + 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- wildcard processing -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## internal wildcard processing for current directory, +## only used for non UNIX-based OSs (which may lack shell wildcard expansion) +@filenames = (); +foreach $object (@ARGV) { + if ($win && $object =~ m/\*/o) # asterisk is present in filename + { + $wildcard = $object; + $wildcard =~ s/\./\\\./g; # replace . in pattern with \. + $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*) + opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory + print STDERR $wildcard; + @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR); + foreach (@fid) { push @filenames, $_; } + closedir DIR; + } + else { push @filenames, $object; } +} # end foreach +$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input + +print STDERR "Input files: @filenames\n" if (!$quiet); + +if ($opt_r ne '') +{ + $resolution=$opt_r; +} + +# papersize stuff +if ($opt_s ne '') +{ + # if explicit size is given, ignore existing BoundingBox always + $ignoreBB = 1; + $pagedimension = $opt_s; + if ($opt_s eq "list") + { + print STDERR "Available paper sizes: $papersize_help"; + exit 0; + } + + #explicit format XxY[cm|in] + if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/) + { + ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension); + if ( $x_dim !~ /^\d*\.?\d+$/ ) + { die "$x_dim in $arg is not a valid number, stopped"; } + if ( $y_dim !~ /^\d*\.?\d+$/ ) + { die "$y_dim in $arg is not a valid number, stopped"; } + + #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ; + if (!defined($unit) ) + { + $unit='cm'; + $opt_s=$opt_s . $unit; + } + if ( $unit ne 'in' ) # assume centimeters + { # calculate dimension in pixels (remember: resolution is in dpi) + $xpixels= int(($x_dim * $resolution) / $inch)+1; + $ypixels= int(($y_dim * $resolution) / $inch)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + else + { + $xpixels= int($x_dim * $resolution)+1; + $ypixels= int($y_dim * $resolution)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + } #endif XxY in opt_s + else + { + if ($opt_s =~ /$known_papersizes/) + { + $gpar="-sPAPERSIZE=$opt_s"; + } + else + { + print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n"; + exit 1; + } + } +} + +#translate option +if ($opt_t ne '') +{ + ($translate_x,$translate_y)= split(/\,/,$opt_t); +} + +#rotate +$rotright='-90 rotate'; +$rotleft='90 rotate'; +$rotupsidedown='180 rotate'; +$rotate=''; +if ($opt_R ne '') +{ + if ($opt_R eq '+') { $rotate=$rotright; } + elsif ($opt_R eq '-') { $rotate=$rotleft; } + elsif ($opt_R eq '^') { $rotate=$rotupsidedown; } + else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; }; +} + +$device= $fullcolors ? "ppmraw" : "pbmraw"; + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- iterate over different input files -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +PROCESSFILE: +while ($infname= (shift @filenames)) +{ + # reset filter definitions for each file + undef $linefilter; + undef $rangefilter_begin; + undef $rangefilter_end; + $fixthisps= $trytofixps; + $fixmsgprinted= 0; + + if (!$quiet) { print STDERR "Processing: $infname\n"; } + unless (open($infhandle,"<$infname")) + { # skip over this file + print STDERR "$prgname: Can't open $infname: $!\n"; + next PROCESSFILE; + } + + # buffer input from stdin into temporary file, because it has to be read twice + # one time for ghostscript processing, the second time for generating output + if ($infname eq '-') # input is stdin + { + $tmpfhandle=''; + open($tmpfhandle,">$tmpfname") or + die "Cannot open temporary file $tmpfname for writing: $!\n"; + } + else # input is not stdin + { + undef $tmpfhandle; + #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext + if ($infname =~ /\.$defaultext$/i) + { + $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i; + } + else # otherwise simply append the extension $defaultoutext + { + $outfname= $infname . "$defaultoutext"; + } + if (!$forceoverwrite and -s "$outfname") + { + die "$prgname: Sorry, file named $outfname already exists,", + " will not overwrite it.\n", + " You will have to use the -f option, delete it or rename it", + " before running $prgname again.\n"; + } + else + { + open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n"; + } + } #end else input is not stdin + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- process input file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + $linefilter= '^$'; #'# filter empty lines by default + while (<$infhandle>) + { + # get postscript and DSC version + if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/) + { + $PSversion=$1; + $PSDSCversion=$2; + if (! ($PSversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + if (! ($PSDSCversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + } + + # check for existing BoundingBox parameters + if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) ) + { + $BBarg= $1; + # accept even negative and fractional BBs + if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\d+/ ) # ignore %% BoundingBox: (atend) comments + { + ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg; + #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n"; + if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); } + if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); } + + $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72)+1; + $ypixels= int((($eBBury-$eBBlly) * $resolution)/72)+1; + if (!$ignoreBB) + { + $gpar= "-g${xpixels}x${ypixels}"; + # check for meaningful values + if (($xpixels <= 1) || ($ypixels <= 1)) + { + $gpar=""; undef $eBBllx; undef $eBBlly; + } + else + { + if (!$quiet) + { + print STDERR "Rendering with existing $_"; + if (int($eBBllx) < 0 || int($eBBlly) < 0) + { + print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n"; + } + } + } + } #endif !$ignoreBB + } #endif $BBarg =~ + } + + + if ($fixthisps) # try to fix bad postscript code + { + # check for Windows 3.x output + if ( /^Win.*Dict/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; } + $linefilter= '^(EJ|RS)'; + $rangefilter_begin= '^statusdict'; + $rangefilter_end= 'cvx\ settransfer$'; #' + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( /^%%Creator:\s*Wind.U\s*Xprinter/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; } + $linefilter= '^rs'; + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( $forcefixps || + /^\/NTPS/ || + /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output + { + if (!$quiet && !$fixmsgprinted) + { + if ($forcefixps) + { + print STDERR "Postscript filtering requested, fixing\n"; + } + else + { + print STDERR "Windows generated Postscript file detected, fixing\n"; + } + } + $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #' + $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)'; + $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #' + $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature'; + #$triggered_rangefilter_begin= ''; #' + #$triggered_rangefilter_end= ''; #' + $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)'; + $fixreplacepat=' '; + $fixmsgprinted= 1; # stop printing message + } # end if NTPS + } #end else + } + } #end if trytofixps + + if (defined($tmpfhandle)) + { + print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname"; + } + + if (/^%%EOF\s*$/) + { + $totalEOFDSC++ + } + } #end while <$infhandle> + + if (defined($tmpfhandle)) + { + close($tmpfhandle); + } + else + { + $tmpfhandle= $infhandle; + $tmpfname= $infname; + } + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- calculate the bounding box -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if ($translate_x!=0 || $translate_y!=0) + { + $translation="$translate_x $translate_y translate"; + $translatecmd="-c $translation"; + } + else + { + $translation=""; + $translatecmd=""; + } + + if (!$quiet) + { + print STDERR "Calculating Bounding Box..."; + if ($opt_s) + { + print STDERR "using page size $opt_s..."; + } + } + + $rotatecmd=''; + if ($rotate ne '') + { + $rotatecmd="-c \"$rotate\"" + } + if ($bboxname ne '') + { + $cmdline="$ghostscriptname -dSAFER -dNOPAUSE -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f $tmpfname -c showpage -c quit | $bboxname -r $resolution"; + } + else + { + if (!$quiet) { + print STDERR "...using bbox device of $ghostscriptname..."; + } + $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f $tmpfname -c quit 2>&1"; + } + + if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; } + + # actual ghostscript call + $boundingbox=`$cmdline`; + if ($debuggs) { print STDERR "Call result: $boundingbox"; } + + # check result of gs call + if ($boundingbox !~ /^%%BoundingBox/m) + { + print STDERR "Error: Could not determine bounding box!\n", + "I suppose $ghostscriptname had some trouble interpreting the postscript-file\n"; + } + + $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m; + if (defined($1)) # HiResBoundingBox given + { + ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1); + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + $cBBllx = floor($hcBBllx); + $cBBlly = floor($hcBBlly); + $cBBurx = ceil($hcBBurx); + $cBBury = ceil($hcBBury); + } + else + { #use normal BoundingBox + $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/; + ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1); + } + # if loose BB should be performed by ps2eps + # apply changes to resulting bounding box if needed + if ($looseBB ne '') + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; $cBBury++; + } + # extend clipping box by 1 point + if ($clip) + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; $cBBury++; + } + if ($cBBllx < 0 || $cBBlly < 0) + { + if (!$quiet) + { + print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n"; + } + $translate_x= -int($cBBllx); + $translate_y= -int($cBBlly); + $cBBllx=0; + $cBBurx= $cBBurx + $translate_x; + $cBBlly=0; + $cBBury= $cBBury + $translate_y; + + $hcBBurx= $hcBBurx + $hcBBllx; + $hcBBury= $hcBBury + $hcBBlly; + $hcBBllx= 0; + $hcBBlly= 0; + + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + + $translation="$translate_x $translate_y translate"; + $translatecmd="-c \'$translation\'"; + } + $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n"; + + if (!$quiet) { print STDERR "ready. $boundingbox" }; + + $before_startps= 1; + $inserted_prolog= 0; + $prolog_passed= 0; + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- Create output file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if (!$quiet) { print STDERR "Creating output file $outfname..."; } + + open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading"; + CREATEOUTPUT: + while (<$tmpfhandle>) + { + # check whether we are in a binary section + + $binarysection=(/^(%%BeginBinary)|(beginimage)\r?\n?$/ ... /^(%%EndBinary)|^(endimage)/) || + (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^pdfIm/ ... /^%-EOD-/); + + if ( !$binarysection ) + { + s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section + } + + # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code + if ($before_startps) + { + if ( /%!/ ) # This is usually the smallest magic sequence + { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable + if (! /%!PS-Adobe.*/i) # some strange programs use other magics + { + print STDERR "** Warning **: Weird heading line -- ",$_," -- "; + } + $before_startps= 0; + } + next CREATEOUTPUT; + } + else # we are hopefully in regular postscript code now + { + # count %%EOFs as we want to know when we got the last EOF + if ( /^%%EOF\s*$/ ) + { + $seenEOF++; + } + + # We should insert our own prologue including the newly calculated BoundingBox + if (! $inserted_prolog) + { + print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n"; + # check if we need to rotate + $transrotcmd=''; + if ($rotatecmd) + { + if ($rotate eq $rotright) + { + $transrotcmd="-$cBBlly $cBBurx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + + } + elsif ($rotate eq $rotleft) + { + $transrotcmd="$cBBury -$cBBllx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + } + elsif ($rotate eq $rotupsidedown) + { + $transrotcmd="$cBBurx $cBBury translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n"; + } + } + } + print $outfhandle $boundingbox; + if (!defined($hiresboundingbox)) + { + $nohires=1; + } + if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; } + $inserted_prolog= 1; + redo CREATEOUTPUT; + } + else # already inserted_prolog + { + if (! $prolog_passed) + { + #ignore the following lines in the prologue + if ( /^%%(HiRes)?BoundingBox/ || + /^%%Pages/ || + /^%%BeginProlog/ || + /^%%EndProlog/ || + ($filterorientation && /^%%Orientation/) || + ($removeDSC && /^%%.*: \(atend\)/) || + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) ) + { + next CREATEOUTPUT; + } + else + { + if ( /^[^%].*/ || + /^%%EndComments/ ) # line is not a comment + { + #output postscript code for proper EPS file + if ($insertPScode) + { + print $outfhandle "%%EndComments\n", + "% EPSF created by ps2eps $ver[2]\n", + "%%BeginProlog\n"; + } + # Insert own postscript code for clipping + if ($clip) + { + if (!defined($nohires)) + { + printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx-0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBury+0.1,$hcBBllx-0.1,$hcBBury+0.1; + } + else + { + printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury; + } + } #endif clip + + if ($rotate ne '') + { + print $outfhandle "$transrotcmd\n"; + print $outfhandle "$rotate\n"; + } + if ($translation ne '') + { + print $outfhandle "$translation\n"; + } + + #insert surrounding postscript code + if ($insertPScode) + { + print $outfhandle "save\n", + "countdictstack\n", + "mark\n", + "newpath\n", + "/showpage {} def\n", + "/setpagedevice {pop} def\n", + "%%EndProlog\n", + "%%Page 1 1\n"; + } + $prolog_passed= 1; + if (/^%%EndComments/) { next CREATEOUTPUT; } + } #endif line is not a comment + } #end else + } #endif (we are in the prologue section) + else #we are in the main part of postscript file + { + #end of postscript file reached? + #Usually the DSC %%EOF signifies the end + if ( eof($tmpfhandle) || + ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC) + || ( $trailerseen && /^II\*\000.*/ ) + ) + { + #do not forget to print last line if not terminated by LF + if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice + { + print $outfhandle $_,"\n"; + } + #add appropriate trailer + if ($insertPScode) + { + print $outfhandle "%%Trailer\n", + "cleartomark\n", + "countdictstack\n", + "exch sub { end } repeat\n", + "restore\n", + "%%EOF\n"; + } + last CREATEOUTPUT; + } # stop output + + # Trailer comment seen? + if ( /^%%Trailer\s*$/ ) + { + $trailerseen=1; + } + else + { + if (!/^\s*$/) #non empty lines follow + { + $trailerseen=0; + } + } + + # check for trigger + if (defined($triggerstring) && /^$triggerstring$/) + { + $trigger= 1; + }; + + # remove complete lines if one of the expression matches + if ( !$binarysection # only when not in binary section + && + ( + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) + || # no preview + (defined($rangefilter_begin) && + (/$rangefilter_begin/ ... /$rangefilter_end/) && + (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/)) + ) + || + (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) && + $trigger && + (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/) + ) + || + /$linefilter/ # lines by linefilter + || + ($removeDSC && (/^%( |!)(\w )+/ || /^%%/)) # any type of structured comment + || + ($removeADO && + (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ || + /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ )) + || + /^$/ # empty lines + ) + ) + { + next CREATEOUTPUT; + } + + # replacement + if ( defined($fixsearchpat) ) + { + #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; } + #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";} + s/$fixsearchpat/$fixreplacepat/; + } + + # sanity check for potential dangerous commands + if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ ) + { + $notsane= 1; + #print STDERR "Warning: dangerous command in line: ",$_,"\n"; + } + } # end else (this is main part) + + # Output the postscript line to result file + print $outfhandle $_; + + if (!$binarysection) + { + print $outfhandle "\n"; # terminate line with LF + } + } # end else prolog_passed + } # end else inserted_prolog + } # end while CREATEOUTPUT + + close($tmpfhandle); + + if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file + + close ($outfhandle); + + # print warning if magic sequence not found + if ( $before_startps ) + { + print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n"; + } + + if (!$quiet) { print STDERR "ready.\n"; } + if ($warnings and $notsane and !$quiet) + { + print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n", + "of the following commands was still present:\n", + "clear erasepage initmatrix initclip initgraphics startjob\n", + "cleardictstack setmatrix setpagedevice copypage grestoreall\n", + "exitserver quit\n"; + } +} #end while PROCESSFILE + +# ---- end of perl-script ------- diff --git a/Master/bin/x86_64-linux/ps2pk b/Master/bin/x86_64-linux/ps2pk Binary files differindex bbf79228ce7..653aa3cda60 100755 --- a/Master/bin/x86_64-linux/ps2pk +++ b/Master/bin/x86_64-linux/ps2pk diff --git a/Master/bin/x86_64-linux/t4ht b/Master/bin/x86_64-linux/t4ht Binary files differindex 57d110feaaf..f6e0e6b0ddc 100755 --- a/Master/bin/x86_64-linux/t4ht +++ b/Master/bin/x86_64-linux/t4ht diff --git a/Master/bin/x86_64-linux/tangle b/Master/bin/x86_64-linux/tangle Binary files differindex 84224c5eaf2..53f4f8e0b7d 100755 --- a/Master/bin/x86_64-linux/tangle +++ b/Master/bin/x86_64-linux/tangle diff --git a/Master/bin/x86_64-linux/tex b/Master/bin/x86_64-linux/tex Binary files differindex 642c0095803..7c910f62ec0 100755 --- a/Master/bin/x86_64-linux/tex +++ b/Master/bin/x86_64-linux/tex diff --git a/Master/bin/x86_64-linux/tex4ht b/Master/bin/x86_64-linux/tex4ht Binary files differindex 935b42a5bf1..3c6e02712ea 100755 --- a/Master/bin/x86_64-linux/tex4ht +++ b/Master/bin/x86_64-linux/tex4ht diff --git a/Master/bin/x86_64-linux/texconfig b/Master/bin/x86_64-linux/texconfig index f5a85098e0d..3f02cebb312 100755 --- a/Master/bin/x86_64-linux/texconfig +++ b/Master/bin/x86_64-linux/texconfig @@ -1257,7 +1257,7 @@ Valid PAPER settings: set x `getRes "$tcBatchPdftexMode"`; shift fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1" if $fmgrConfigReplaceChanged; then - fmtutil --all + fmtutil --refresh fi else echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2 @@ -1276,7 +1276,7 @@ Valid PAPER settings: wChanged=$fmgrConfigReplaceChanged fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h" if $wChanged || $fmgrConfigReplaceChanged; then - fmtutil --all + fmtutil --refresh fi ;; a4) @@ -1285,7 +1285,7 @@ Valid PAPER settings: wChanged=$fmgrConfigReplaceChanged fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h" if $wChanged || $fmgrConfigReplaceChanged; then - fmtutil --all + fmtutil --refresh fi ;; "") echo "$help" >&2; rc=1;; diff --git a/Master/bin/x86_64-linux/texmfstart b/Master/bin/x86_64-linux/texmfstart index a886b2aa142..4d1e2976145 100755 --- a/Master/bin/x86_64-linux/texmfstart +++ b/Master/bin/x86_64-linux/texmfstart @@ -425,7 +425,7 @@ class KpseFast @rootpath = '' @treepath = '' @progname = 'kpsewhich' - @engine = 'pdfetex' + @engine = 'pdftex' @variables = Hash.new @expansions = Hash.new @files = Hash.new @@ -1074,7 +1074,7 @@ end # puts k.expansion("$TEXMF") # puts k.expanded_path("TEXINPUTS","context") - # k.progname, k.engine, k.format = 'context', 'pdfetex', 'tfm' + # k.progname, k.engine, k.format = 'context', 'pdftex', 'tfm' # k.scandisk = false # == must_exist # k.expand_variables @@ -1429,7 +1429,7 @@ end $mswindows = Config::CONFIG['host_os'] =~ /mswin/ $separator = File::PATH_SEPARATOR -$version = "2.0.2" +$version = "2.0.3" $ownpath = File.dirname($0) if $mswindows then @@ -1520,7 +1520,7 @@ def set_applications(page=1) $applications['perl'] = $applications['pl'] = 'perl' $applications['ruby'] = $applications['rb'] = 'ruby' $applications['python'] = $applications['py'] = 'python' - $applications['lua'] = $applications['lua'] = 'lua' + $applications['lua'] = $applications['lua'] = 'luatex --luaonly' $applications['java'] = $applications['jar'] = 'java' if $mswindows then @@ -1804,14 +1804,16 @@ def changeddir?(path) if path.empty? then return true else + oldpath = File.expand_path(path) begin - Dir.chdir(path) if ! path.empty? + Dir.chdir(path) if not path.empty? rescue report("unable to change to directory: #{path}") else report("changed to directory: #{path}") end - return File.expand_path(Dir.getwd) == File.expand_path(path) + newpath = File.expand_path(Dir.getwd) + return oldpath == newpath end end @@ -1971,10 +1973,15 @@ def find(filename,program) end filename.sub!(/^.*[\\\/]/, '') # next we look at the current path and the callerpath - [ ['.','current'], - [$ownpath,'caller'], ["#{$ownpath}/../#{suffixlist[0]}",'caller'], - [registered("THREAD"),'thread'], ["#{registered("THREAD")}/../#{suffixlist[0]}",'thread'], - ].each do |p| + pathlist = [ ] + progpath = $applications[suffixlist[0]] + threadok = registered("THREAD") !~ /unknown/ + pathlist << ['.','current'] + pathlist << [$ownpath,'caller'] if $ownpath != '.' + pathlist << ["#{$ownpath}/../#{progpath}",'caller'] if progpath + pathlist << [registered("THREAD"),'thread'] if threadok + pathlist << ["#{registered("THREAD")}/../#{progpath}",'thread'] if progpath && threadok + pathlist.each do |p| if p && ! p.empty? && ! (p[0] == 'unknown') then suffixlist.each do |suffix| fname = "#{filename}.#{suffix}" @@ -2483,27 +2490,35 @@ def execute(arguments) if $selfmerge then output("ruby libraries are cleaned up") if SelfMerge::cleanup output("ruby libraries are merged") if SelfMerge::merge + return true elsif $selfcleanup then output("ruby libraries are cleaned up") if SelfMerge::cleanup + return true elsif $serve then if ENV['KPSEMETHOD'] && ENV['KPSEPORT'] then # # kpse_merge_done: require 'base/kpseremote' begin KpseRemote::start_server rescue + return false + else + return true end else usage puts("") puts("message : set 'KPSEMETHOD' and 'KPSEPORT' variables") + return false end elsif $help || ! $filename || $filename.empty? then usage loadtree($tree) loadenvironment($environment) show_environment() + return true elsif $batch && $filename && ! $filename.empty? then # todo, take commands from file and avoid multiple starts and checks + return false else report("texmfstart version #{$version}") loadtree($tree) @@ -2524,33 +2539,42 @@ def execute(arguments) make(filename,$mswindows,!$mswindows,$remove) end end + return true # guess elsif $browser && $filename =~ /^http\:\/\// then - launch($filename) + return launch($filename) else begin process do if $direct || $filename =~ /^bin\:/ then - direct($filename) + return direct($filename) elsif $edit && ! $editor.empty? then - edit($filename) + return edit($filename) else # script: or no prefix command = find(shortpathname($filename),$program) if command then register("THREAD",File.dirname(File.expand_path(command))) - run(command) + return run(command) else report('unable to locate program') + return false end end end rescue report('fatal error in starting process') + return false end end end end -execute(ARGV) +if execute(ARGV) then + report("\nexecution was successful") if $verbose + exit(0) +else + report("\nexecution failed") if $verbose + exit(1) +end -exit (if ($?.to_i rescue 0) > 0 then 1 else 0 end) +# exit (if ($?.to_i rescue 0) > 0 then 1 else 0 end) diff --git a/Master/bin/x86_64-linux/tftopl b/Master/bin/x86_64-linux/tftopl Binary files differindex 71a502678fc..9a586f58729 100755 --- a/Master/bin/x86_64-linux/tftopl +++ b/Master/bin/x86_64-linux/tftopl diff --git a/Master/bin/x86_64-linux/ttf2afm b/Master/bin/x86_64-linux/ttf2afm Binary files differindex 1c0862b7254..e83d171e3a7 100755 --- a/Master/bin/x86_64-linux/ttf2afm +++ b/Master/bin/x86_64-linux/ttf2afm diff --git a/Master/bin/x86_64-linux/ttf2pk b/Master/bin/x86_64-linux/ttf2pk Binary files differindex d66fb18897f..6b9976ef633 100755 --- a/Master/bin/x86_64-linux/ttf2pk +++ b/Master/bin/x86_64-linux/ttf2pk diff --git a/Master/bin/x86_64-linux/ttf2tfm b/Master/bin/x86_64-linux/ttf2tfm Binary files differindex 47f9b32fae6..84e9b9ea7c5 100755 --- a/Master/bin/x86_64-linux/ttf2tfm +++ b/Master/bin/x86_64-linux/ttf2tfm diff --git a/Master/bin/x86_64-linux/vftovp b/Master/bin/x86_64-linux/vftovp Binary files differindex 7c582ddfc36..3e088ffebed 100755 --- a/Master/bin/x86_64-linux/vftovp +++ b/Master/bin/x86_64-linux/vftovp diff --git a/Master/bin/x86_64-linux/weave b/Master/bin/x86_64-linux/weave Binary files differindex 628a5efdbda..f78f7a7bd6f 100755 --- a/Master/bin/x86_64-linux/weave +++ b/Master/bin/x86_64-linux/weave diff --git a/Master/bin/x86_64-linux/xdvi-xaw.bin b/Master/bin/x86_64-linux/xdvi-xaw.bin Binary files differindex 8f646bbf27e..f810a0ab0e9 100755 --- a/Master/bin/x86_64-linux/xdvi-xaw.bin +++ b/Master/bin/x86_64-linux/xdvi-xaw.bin diff --git a/Master/bin/x86_64-linux/xdvipdfmx b/Master/bin/x86_64-linux/xdvipdfmx Binary files differindex 0a2a71a915a..3bb3225a61e 100755 --- a/Master/bin/x86_64-linux/xdvipdfmx +++ b/Master/bin/x86_64-linux/xdvipdfmx diff --git a/Master/bin/x86_64-linux/xetex b/Master/bin/x86_64-linux/xetex Binary files differindex 62af8e749c2..0ce818b2cf6 100755 --- a/Master/bin/x86_64-linux/xetex +++ b/Master/bin/x86_64-linux/xetex |