summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/bin/x86_64-linux/afm2plbin85160 -> 85416 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/afm2tfmbin94872 -> 94872 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/alephbin488160 -> 488160 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/bboxbin0 -> 9088 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/bibtexbin147432 -> 149896 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/bibtex8bin178944 -> 178944 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ctanglebin96816 -> 96816 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ctiebin71640 -> 71768 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/cweavebin130800 -> 131088 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/detexbin85240 -> 85512 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dmpbin84008 -> 84008 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dt2dvbin37040 -> 37040 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvicopybin110552 -> 110840 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dviljbin103736 -> 104856 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvilj2pbin104856 -> 104856 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvilj4bin109304 -> 109560 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvilj4lbin109304 -> 109560 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvipdfmbin425368 -> 425368 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvipdfmxbin777472 -> 777600 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvipngbin951184 -> 951472 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dviposbin0 -> 100944 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvipsbin237904 -> 241936 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvitompbin92600 -> 92600 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/dvitypebin96928 -> 96928 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ebbbin241544 -> 241832 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/fmtutil70
-rwxr-xr-xMaster/bin/x86_64-linux/gftodvibin98472 -> 98760 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/gftopkbin80576 -> 80864 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/gftypebin81224 -> 81512 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/gsftopkbin81160 -> 81432 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/hbf2gfbin92280 -> 92280 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/htcontext6
-rwxr-xr-xMaster/bin/x86_64-linux/htlatex4
-rwxr-xr-xMaster/bin/x86_64-linux/htmex4
-rwxr-xr-xMaster/bin/x86_64-linux/httex4
-rwxr-xr-xMaster/bin/x86_64-linux/httexi4
-rwxr-xr-xMaster/bin/x86_64-linux/kpsewhichbin72448 -> 72544 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/makeindexbin133744 -> 134032 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/makempxbin71992 -> 72264 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/mfbin291264 -> 291264 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/mf-nowinbin282632 -> 282888 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/mftbin105864 -> 106120 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/mk4ht10
-rwxr-xr-xMaster/bin/x86_64-linux/mpostbin392232 -> 392232 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/odvicopybin114488 -> 114776 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/odvitypebin97248 -> 97536 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/omegabin493792 -> 494048 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/omfontsbin169552 -> 169552 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/otftotfmbin742224 -> 745232 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/otp2ocpbin87200 -> 87472 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/outocpbin67656 -> 67656 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/pdftexbin1464864 -> 1465120 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/pdftosrcbin0 -> 564688 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/pktogfbin77576 -> 77864 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/pktypebin73112 -> 73368 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ps2eps929
-rwxr-xr-xMaster/bin/x86_64-linux/ps2pkbin185632 -> 185920 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/t4htbin84408 -> 87960 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/tanglebin98936 -> 99224 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/texbin314720 -> 315008 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/tex4htbin152136 -> 152392 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/texconfig6
-rwxr-xr-xMaster/bin/x86_64-linux/texmfstart56
-rwxr-xr-xMaster/bin/x86_64-linux/tftoplbin92568 -> 92568 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ttf2afmbin86744 -> 87000 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ttf2pkbin251512 -> 251576 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/ttf2tfmbin270736 -> 271024 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/vftovpbin105000 -> 105000 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/weavebin121288 -> 121416 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/xdvi-xaw.binbin863464 -> 863464 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/xdvipdfmxbin1335280 -> 1335536 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/xetexbin8120272 -> 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
index 640eb391a1a..dd5e8b07227 100755
--- a/Master/bin/x86_64-linux/afm2pl
+++ b/Master/bin/x86_64-linux/afm2pl
Binary files differ
diff --git a/Master/bin/x86_64-linux/afm2tfm b/Master/bin/x86_64-linux/afm2tfm
index 959d399da07..43703b2d214 100755
--- a/Master/bin/x86_64-linux/afm2tfm
+++ b/Master/bin/x86_64-linux/afm2tfm
Binary files differ
diff --git a/Master/bin/x86_64-linux/aleph b/Master/bin/x86_64-linux/aleph
index b5a328abbe5..6205230ee32 100755
--- a/Master/bin/x86_64-linux/aleph
+++ b/Master/bin/x86_64-linux/aleph
Binary files differ
diff --git a/Master/bin/x86_64-linux/bbox b/Master/bin/x86_64-linux/bbox
new file mode 100755
index 00000000000..98f202b6fc5
--- /dev/null
+++ b/Master/bin/x86_64-linux/bbox
Binary files differ
diff --git a/Master/bin/x86_64-linux/bibtex b/Master/bin/x86_64-linux/bibtex
index fbcde76fc80..f42d466a1e0 100755
--- a/Master/bin/x86_64-linux/bibtex
+++ b/Master/bin/x86_64-linux/bibtex
Binary files differ
diff --git a/Master/bin/x86_64-linux/bibtex8 b/Master/bin/x86_64-linux/bibtex8
index e0ea2e0d2bb..e8fc8b94707 100755
--- a/Master/bin/x86_64-linux/bibtex8
+++ b/Master/bin/x86_64-linux/bibtex8
Binary files differ
diff --git a/Master/bin/x86_64-linux/ctangle b/Master/bin/x86_64-linux/ctangle
index 188485ad13b..35ae461a5ee 100755
--- a/Master/bin/x86_64-linux/ctangle
+++ b/Master/bin/x86_64-linux/ctangle
Binary files differ
diff --git a/Master/bin/x86_64-linux/ctie b/Master/bin/x86_64-linux/ctie
index ce6cd131ca1..a33321e856f 100755
--- a/Master/bin/x86_64-linux/ctie
+++ b/Master/bin/x86_64-linux/ctie
Binary files differ
diff --git a/Master/bin/x86_64-linux/cweave b/Master/bin/x86_64-linux/cweave
index f28d4f70ded..117c40150ef 100755
--- a/Master/bin/x86_64-linux/cweave
+++ b/Master/bin/x86_64-linux/cweave
Binary files differ
diff --git a/Master/bin/x86_64-linux/detex b/Master/bin/x86_64-linux/detex
index 7562198d29d..89dc059813f 100755
--- a/Master/bin/x86_64-linux/detex
+++ b/Master/bin/x86_64-linux/detex
Binary files differ
diff --git a/Master/bin/x86_64-linux/dmp b/Master/bin/x86_64-linux/dmp
index cf7dd2156c8..774e06f0b70 100755
--- a/Master/bin/x86_64-linux/dmp
+++ b/Master/bin/x86_64-linux/dmp
Binary files differ
diff --git a/Master/bin/x86_64-linux/dt2dv b/Master/bin/x86_64-linux/dt2dv
index 1d68b01d13e..ab49a9cee7d 100755
--- a/Master/bin/x86_64-linux/dt2dv
+++ b/Master/bin/x86_64-linux/dt2dv
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvicopy b/Master/bin/x86_64-linux/dvicopy
index 1b93d68cb64..fa01e1097e9 100755
--- a/Master/bin/x86_64-linux/dvicopy
+++ b/Master/bin/x86_64-linux/dvicopy
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvilj b/Master/bin/x86_64-linux/dvilj
index 0ccdd9bfb8f..0ed277e7548 100755
--- a/Master/bin/x86_64-linux/dvilj
+++ b/Master/bin/x86_64-linux/dvilj
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvilj2p b/Master/bin/x86_64-linux/dvilj2p
index 20ca0312c1d..7a2ff74c329 100755
--- a/Master/bin/x86_64-linux/dvilj2p
+++ b/Master/bin/x86_64-linux/dvilj2p
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvilj4 b/Master/bin/x86_64-linux/dvilj4
index b08f77f7daf..14d06ea7a06 100755
--- a/Master/bin/x86_64-linux/dvilj4
+++ b/Master/bin/x86_64-linux/dvilj4
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvilj4l b/Master/bin/x86_64-linux/dvilj4l
index d491b81412d..bcc0ac09f6c 100755
--- a/Master/bin/x86_64-linux/dvilj4l
+++ b/Master/bin/x86_64-linux/dvilj4l
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvipdfm b/Master/bin/x86_64-linux/dvipdfm
index 7d56c02e5cd..31e6ea3a966 100755
--- a/Master/bin/x86_64-linux/dvipdfm
+++ b/Master/bin/x86_64-linux/dvipdfm
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvipdfmx b/Master/bin/x86_64-linux/dvipdfmx
index 72e076ec204..a4f25a90561 100755
--- a/Master/bin/x86_64-linux/dvipdfmx
+++ b/Master/bin/x86_64-linux/dvipdfmx
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvipng b/Master/bin/x86_64-linux/dvipng
index 4c06b72db9c..5b6825768dc 100755
--- a/Master/bin/x86_64-linux/dvipng
+++ b/Master/bin/x86_64-linux/dvipng
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvipos b/Master/bin/x86_64-linux/dvipos
new file mode 100755
index 00000000000..b72f1ce039a
--- /dev/null
+++ b/Master/bin/x86_64-linux/dvipos
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvips b/Master/bin/x86_64-linux/dvips
index ce208906711..63fdc9097f9 100755
--- a/Master/bin/x86_64-linux/dvips
+++ b/Master/bin/x86_64-linux/dvips
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvitomp b/Master/bin/x86_64-linux/dvitomp
index 83ee8df8770..f5537f64f79 100755
--- a/Master/bin/x86_64-linux/dvitomp
+++ b/Master/bin/x86_64-linux/dvitomp
Binary files differ
diff --git a/Master/bin/x86_64-linux/dvitype b/Master/bin/x86_64-linux/dvitype
index e3c2a976b41..375f8211057 100755
--- a/Master/bin/x86_64-linux/dvitype
+++ b/Master/bin/x86_64-linux/dvitype
Binary files differ
diff --git a/Master/bin/x86_64-linux/ebb b/Master/bin/x86_64-linux/ebb
index 12c9faa3f47..e750c14677b 100755
--- a/Master/bin/x86_64-linux/ebb
+++ b/Master/bin/x86_64-linux/ebb
Binary files differ
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
index 1870bfbd61a..3e86de39981 100755
--- a/Master/bin/x86_64-linux/gftodvi
+++ b/Master/bin/x86_64-linux/gftodvi
Binary files differ
diff --git a/Master/bin/x86_64-linux/gftopk b/Master/bin/x86_64-linux/gftopk
index 883893e3471..423baab3e5f 100755
--- a/Master/bin/x86_64-linux/gftopk
+++ b/Master/bin/x86_64-linux/gftopk
Binary files differ
diff --git a/Master/bin/x86_64-linux/gftype b/Master/bin/x86_64-linux/gftype
index 9659493ad77..bac19ec73ec 100755
--- a/Master/bin/x86_64-linux/gftype
+++ b/Master/bin/x86_64-linux/gftype
Binary files differ
diff --git a/Master/bin/x86_64-linux/gsftopk b/Master/bin/x86_64-linux/gsftopk
index c0f9a66daf5..9860f6cfd4f 100755
--- a/Master/bin/x86_64-linux/gsftopk
+++ b/Master/bin/x86_64-linux/gsftopk
Binary files differ
diff --git a/Master/bin/x86_64-linux/hbf2gf b/Master/bin/x86_64-linux/hbf2gf
index 6e3867131c7..637ada781f0 100755
--- a/Master/bin/x86_64-linux/hbf2gf
+++ b/Master/bin/x86_64-linux/hbf2gf
Binary files differ
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
index 3281b048b4b..60431f4fc16 100755
--- a/Master/bin/x86_64-linux/kpsewhich
+++ b/Master/bin/x86_64-linux/kpsewhich
Binary files differ
diff --git a/Master/bin/x86_64-linux/makeindex b/Master/bin/x86_64-linux/makeindex
index 6c0c3ef1b7d..f8a4197fabd 100755
--- a/Master/bin/x86_64-linux/makeindex
+++ b/Master/bin/x86_64-linux/makeindex
Binary files differ
diff --git a/Master/bin/x86_64-linux/makempx b/Master/bin/x86_64-linux/makempx
index eb3422851c2..3dda694d47a 100755
--- a/Master/bin/x86_64-linux/makempx
+++ b/Master/bin/x86_64-linux/makempx
Binary files differ
diff --git a/Master/bin/x86_64-linux/mf b/Master/bin/x86_64-linux/mf
index b6ba9a93bf7..7dfd77add8c 100755
--- a/Master/bin/x86_64-linux/mf
+++ b/Master/bin/x86_64-linux/mf
Binary files differ
diff --git a/Master/bin/x86_64-linux/mf-nowin b/Master/bin/x86_64-linux/mf-nowin
index 6b64c801927..f29d533bdb7 100755
--- a/Master/bin/x86_64-linux/mf-nowin
+++ b/Master/bin/x86_64-linux/mf-nowin
Binary files differ
diff --git a/Master/bin/x86_64-linux/mft b/Master/bin/x86_64-linux/mft
index 6f53a1062cf..7564040a555 100755
--- a/Master/bin/x86_64-linux/mft
+++ b/Master/bin/x86_64-linux/mft
Binary files differ
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
index e6d181d557e..4fda1bb654d 100755
--- a/Master/bin/x86_64-linux/mpost
+++ b/Master/bin/x86_64-linux/mpost
Binary files differ
diff --git a/Master/bin/x86_64-linux/odvicopy b/Master/bin/x86_64-linux/odvicopy
index 66e4333835c..4d3b77dd767 100755
--- a/Master/bin/x86_64-linux/odvicopy
+++ b/Master/bin/x86_64-linux/odvicopy
Binary files differ
diff --git a/Master/bin/x86_64-linux/odvitype b/Master/bin/x86_64-linux/odvitype
index ae2afd37517..76f6df919cc 100755
--- a/Master/bin/x86_64-linux/odvitype
+++ b/Master/bin/x86_64-linux/odvitype
Binary files differ
diff --git a/Master/bin/x86_64-linux/omega b/Master/bin/x86_64-linux/omega
index 1bcd564c551..97c9784b28d 100755
--- a/Master/bin/x86_64-linux/omega
+++ b/Master/bin/x86_64-linux/omega
Binary files differ
diff --git a/Master/bin/x86_64-linux/omfonts b/Master/bin/x86_64-linux/omfonts
index 64b0a2dd70e..a022968a264 100755
--- a/Master/bin/x86_64-linux/omfonts
+++ b/Master/bin/x86_64-linux/omfonts
Binary files differ
diff --git a/Master/bin/x86_64-linux/otftotfm b/Master/bin/x86_64-linux/otftotfm
index c6b26c9453e..1918358a634 100755
--- a/Master/bin/x86_64-linux/otftotfm
+++ b/Master/bin/x86_64-linux/otftotfm
Binary files differ
diff --git a/Master/bin/x86_64-linux/otp2ocp b/Master/bin/x86_64-linux/otp2ocp
index 63ab4c81ddf..8da0adfcf54 100755
--- a/Master/bin/x86_64-linux/otp2ocp
+++ b/Master/bin/x86_64-linux/otp2ocp
Binary files differ
diff --git a/Master/bin/x86_64-linux/outocp b/Master/bin/x86_64-linux/outocp
index 3cef7853783..ea2243b0d4c 100755
--- a/Master/bin/x86_64-linux/outocp
+++ b/Master/bin/x86_64-linux/outocp
Binary files differ
diff --git a/Master/bin/x86_64-linux/pdftex b/Master/bin/x86_64-linux/pdftex
index 68f6912e58c..219bfb33b93 100755
--- a/Master/bin/x86_64-linux/pdftex
+++ b/Master/bin/x86_64-linux/pdftex
Binary files differ
diff --git a/Master/bin/x86_64-linux/pdftosrc b/Master/bin/x86_64-linux/pdftosrc
new file mode 100755
index 00000000000..e21abccda49
--- /dev/null
+++ b/Master/bin/x86_64-linux/pdftosrc
Binary files differ
diff --git a/Master/bin/x86_64-linux/pktogf b/Master/bin/x86_64-linux/pktogf
index f13e9936007..636b95e0631 100755
--- a/Master/bin/x86_64-linux/pktogf
+++ b/Master/bin/x86_64-linux/pktogf
Binary files differ
diff --git a/Master/bin/x86_64-linux/pktype b/Master/bin/x86_64-linux/pktype
index 66db50f2228..a03623edf51 100755
--- a/Master/bin/x86_64-linux/pktype
+++ b/Master/bin/x86_64-linux/pktype
Binary files differ
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
index bbf79228ce7..653aa3cda60 100755
--- a/Master/bin/x86_64-linux/ps2pk
+++ b/Master/bin/x86_64-linux/ps2pk
Binary files differ
diff --git a/Master/bin/x86_64-linux/t4ht b/Master/bin/x86_64-linux/t4ht
index 57d110feaaf..f6e0e6b0ddc 100755
--- a/Master/bin/x86_64-linux/t4ht
+++ b/Master/bin/x86_64-linux/t4ht
Binary files differ
diff --git a/Master/bin/x86_64-linux/tangle b/Master/bin/x86_64-linux/tangle
index 84224c5eaf2..53f4f8e0b7d 100755
--- a/Master/bin/x86_64-linux/tangle
+++ b/Master/bin/x86_64-linux/tangle
Binary files differ
diff --git a/Master/bin/x86_64-linux/tex b/Master/bin/x86_64-linux/tex
index 642c0095803..7c910f62ec0 100755
--- a/Master/bin/x86_64-linux/tex
+++ b/Master/bin/x86_64-linux/tex
Binary files differ
diff --git a/Master/bin/x86_64-linux/tex4ht b/Master/bin/x86_64-linux/tex4ht
index 935b42a5bf1..3c6e02712ea 100755
--- a/Master/bin/x86_64-linux/tex4ht
+++ b/Master/bin/x86_64-linux/tex4ht
Binary files differ
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
index 71a502678fc..9a586f58729 100755
--- a/Master/bin/x86_64-linux/tftopl
+++ b/Master/bin/x86_64-linux/tftopl
Binary files differ
diff --git a/Master/bin/x86_64-linux/ttf2afm b/Master/bin/x86_64-linux/ttf2afm
index 1c0862b7254..e83d171e3a7 100755
--- a/Master/bin/x86_64-linux/ttf2afm
+++ b/Master/bin/x86_64-linux/ttf2afm
Binary files differ
diff --git a/Master/bin/x86_64-linux/ttf2pk b/Master/bin/x86_64-linux/ttf2pk
index d66fb18897f..6b9976ef633 100755
--- a/Master/bin/x86_64-linux/ttf2pk
+++ b/Master/bin/x86_64-linux/ttf2pk
Binary files differ
diff --git a/Master/bin/x86_64-linux/ttf2tfm b/Master/bin/x86_64-linux/ttf2tfm
index 47f9b32fae6..84e9b9ea7c5 100755
--- a/Master/bin/x86_64-linux/ttf2tfm
+++ b/Master/bin/x86_64-linux/ttf2tfm
Binary files differ
diff --git a/Master/bin/x86_64-linux/vftovp b/Master/bin/x86_64-linux/vftovp
index 7c582ddfc36..3e088ffebed 100755
--- a/Master/bin/x86_64-linux/vftovp
+++ b/Master/bin/x86_64-linux/vftovp
Binary files differ
diff --git a/Master/bin/x86_64-linux/weave b/Master/bin/x86_64-linux/weave
index 628a5efdbda..f78f7a7bd6f 100755
--- a/Master/bin/x86_64-linux/weave
+++ b/Master/bin/x86_64-linux/weave
Binary files differ
diff --git a/Master/bin/x86_64-linux/xdvi-xaw.bin b/Master/bin/x86_64-linux/xdvi-xaw.bin
index 8f646bbf27e..f810a0ab0e9 100755
--- a/Master/bin/x86_64-linux/xdvi-xaw.bin
+++ b/Master/bin/x86_64-linux/xdvi-xaw.bin
Binary files differ
diff --git a/Master/bin/x86_64-linux/xdvipdfmx b/Master/bin/x86_64-linux/xdvipdfmx
index 0a2a71a915a..3bb3225a61e 100755
--- a/Master/bin/x86_64-linux/xdvipdfmx
+++ b/Master/bin/x86_64-linux/xdvipdfmx
Binary files differ
diff --git a/Master/bin/x86_64-linux/xetex b/Master/bin/x86_64-linux/xetex
index 62af8e749c2..0ce818b2cf6 100755
--- a/Master/bin/x86_64-linux/xetex
+++ b/Master/bin/x86_64-linux/xetex
Binary files differ