summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-01-11 22:31:29 +0000
committerKarl Berry <karl@freefriends.org>2007-01-11 22:31:29 +0000
commite921c04a6c9692286b96cea92e7aa067d0e99451 (patch)
treed8c7b70b96d1e2fadeba8b4f28c704585630a8e4
parent4787e07d02683e0cf4b6b49bd81b4f217707df25 (diff)
new from vvv
git-svn-id: svn://tug.org/texlive/trunk@3348 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/bin/sparc-solaris/afm2plbin147480 -> 147704 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/afm2tfmbin154828 -> 155052 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/alephbin704240 -> 704472 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/bboxbin0 -> 9456 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/bibtexbin256300 -> 256532 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/bibtex8bin289560 -> 289784 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/cfftot1bin462236 -> 462236 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ctanglebin167952 -> 168176 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ctiebin131352 -> 131576 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/cweavebin208044 -> 208268 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/detexbin143544 -> 143768 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dmpbin146644 -> 146868 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dt2dvbin36016 -> 36016 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvicopybin208572 -> 208804 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dviljbin171008 -> 171232 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvilj2pbin171404 -> 171628 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvilj4bin179704 -> 179928 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvilj4lbin179700 -> 179924 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipdfmbin590352 -> 590576 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipdfmxbin1085828 -> 1086052 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipngbin1249328 -> 1230484 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dviposbin0 -> 170440 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipsbin375524 -> 375756 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvitompbin174252 -> 174476 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvitypebin183668 -> 183900 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ebbbin351640 -> 351864 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/fmtutil70
-rwxr-xr-xMaster/bin/sparc-solaris/getnonfreefonts2
-rwxr-xr-xMaster/bin/sparc-solaris/gftodvibin188104 -> 188328 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/gftopkbin168916 -> 169140 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/gftypebin161944 -> 162168 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/gsftopkbin146068 -> 146292 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/hbf2gfbin157356 -> 157580 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/htcontext6
-rwxr-xr-xMaster/bin/sparc-solaris/htlatex4
-rwxr-xr-xMaster/bin/sparc-solaris/htmex4
-rwxr-xr-xMaster/bin/sparc-solaris/httex4
-rwxr-xr-xMaster/bin/sparc-solaris/httexi4
-rwxr-xr-xMaster/bin/sparc-solaris/kpsewhichbin140368 -> 140592 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/makeindexbin217144 -> 217368 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/makempxbin131084 -> 131316 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mfbin438540 -> 438772 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mf-nowinbin433128 -> 433360 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mftbin182172 -> 182396 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mk4ht10
-rwxr-xr-xMaster/bin/sparc-solaris/mpostbin556624 -> 556856 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/odvicopybin215636 -> 215868 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/odvitypebin185504 -> 185736 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/omegabin719432 -> 719664 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/omfontsbin277828 -> 278052 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otfinfobin592652 -> 592652 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otftotfmbin1092548 -> 1092724 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otp2ocpbin152088 -> 152312 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/outocpbin123856 -> 124080 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pdftexbin1721004 -> 1720620 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pdftosrcbin0 -> 503036 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pktogfbin163268 -> 163492 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pktypebin149556 -> 149780 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ps2eps929
-rwxr-xr-xMaster/bin/sparc-solaris/ps2pkbin291000 -> 291232 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t4htbin144060 -> 144868 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/tanglebin188812 -> 189036 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/texbin458436 -> 458668 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/tex4htbin218316 -> 218540 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/texconfig15
-rwxr-xr-xMaster/bin/sparc-solaris/tftoplbin173720 -> 173944 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttf2afmbin160956 -> 161180 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttf2pkbin332872 -> 333096 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttf2tfmbin349636 -> 349860 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttftotype42bin382436 -> 382436 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/vftovpbin194864 -> 195088 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/weavebin211488 -> 211712 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/xdvi-motif.binbin1235744 -> 1235968 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/xdvipdfmxbin1678868 -> 1660024 bytes
l---------Master/bin/sparc-solaris/xeplain1
-rwxr-xr-xMaster/bin/sparc-solaris/xetexbin8612332 -> 8593560 bytes
76 files changed, 991 insertions, 58 deletions
diff --git a/Master/bin/sparc-solaris/afm2pl b/Master/bin/sparc-solaris/afm2pl
index 0ace65a7c69..366acd829e2 100755
--- a/Master/bin/sparc-solaris/afm2pl
+++ b/Master/bin/sparc-solaris/afm2pl
Binary files differ
diff --git a/Master/bin/sparc-solaris/afm2tfm b/Master/bin/sparc-solaris/afm2tfm
index 666724c3104..74d731e5553 100755
--- a/Master/bin/sparc-solaris/afm2tfm
+++ b/Master/bin/sparc-solaris/afm2tfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/aleph b/Master/bin/sparc-solaris/aleph
index ed0f5906eb4..cbd76a9d040 100755
--- a/Master/bin/sparc-solaris/aleph
+++ b/Master/bin/sparc-solaris/aleph
Binary files differ
diff --git a/Master/bin/sparc-solaris/bbox b/Master/bin/sparc-solaris/bbox
new file mode 100755
index 00000000000..1db97b128fa
--- /dev/null
+++ b/Master/bin/sparc-solaris/bbox
Binary files differ
diff --git a/Master/bin/sparc-solaris/bibtex b/Master/bin/sparc-solaris/bibtex
index 0331c25bec2..b7ebd81839b 100755
--- a/Master/bin/sparc-solaris/bibtex
+++ b/Master/bin/sparc-solaris/bibtex
Binary files differ
diff --git a/Master/bin/sparc-solaris/bibtex8 b/Master/bin/sparc-solaris/bibtex8
index 1fdd633a7de..186d2e6b5db 100755
--- a/Master/bin/sparc-solaris/bibtex8
+++ b/Master/bin/sparc-solaris/bibtex8
Binary files differ
diff --git a/Master/bin/sparc-solaris/cfftot1 b/Master/bin/sparc-solaris/cfftot1
index eb8852b752d..c3d860c9e37 100755
--- a/Master/bin/sparc-solaris/cfftot1
+++ b/Master/bin/sparc-solaris/cfftot1
Binary files differ
diff --git a/Master/bin/sparc-solaris/ctangle b/Master/bin/sparc-solaris/ctangle
index 58419b7a7a5..299cf5eb667 100755
--- a/Master/bin/sparc-solaris/ctangle
+++ b/Master/bin/sparc-solaris/ctangle
Binary files differ
diff --git a/Master/bin/sparc-solaris/ctie b/Master/bin/sparc-solaris/ctie
index 990152bbd0e..f697f01fa4f 100755
--- a/Master/bin/sparc-solaris/ctie
+++ b/Master/bin/sparc-solaris/ctie
Binary files differ
diff --git a/Master/bin/sparc-solaris/cweave b/Master/bin/sparc-solaris/cweave
index 0a5a5eeb8c3..a057dde0710 100755
--- a/Master/bin/sparc-solaris/cweave
+++ b/Master/bin/sparc-solaris/cweave
Binary files differ
diff --git a/Master/bin/sparc-solaris/detex b/Master/bin/sparc-solaris/detex
index 6a5d252b3fe..5f1e1998ad8 100755
--- a/Master/bin/sparc-solaris/detex
+++ b/Master/bin/sparc-solaris/detex
Binary files differ
diff --git a/Master/bin/sparc-solaris/dmp b/Master/bin/sparc-solaris/dmp
index 4b2f5d45d0b..b073403a22d 100755
--- a/Master/bin/sparc-solaris/dmp
+++ b/Master/bin/sparc-solaris/dmp
Binary files differ
diff --git a/Master/bin/sparc-solaris/dt2dv b/Master/bin/sparc-solaris/dt2dv
index b499562aa70..c3525899563 100755
--- a/Master/bin/sparc-solaris/dt2dv
+++ b/Master/bin/sparc-solaris/dt2dv
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvicopy b/Master/bin/sparc-solaris/dvicopy
index e766f54ed29..3b31a13442f 100755
--- a/Master/bin/sparc-solaris/dvicopy
+++ b/Master/bin/sparc-solaris/dvicopy
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj b/Master/bin/sparc-solaris/dvilj
index 07cc4b65be5..af0369251ce 100755
--- a/Master/bin/sparc-solaris/dvilj
+++ b/Master/bin/sparc-solaris/dvilj
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj2p b/Master/bin/sparc-solaris/dvilj2p
index d218d8c552b..78e58a8af81 100755
--- a/Master/bin/sparc-solaris/dvilj2p
+++ b/Master/bin/sparc-solaris/dvilj2p
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj4 b/Master/bin/sparc-solaris/dvilj4
index 3c58950bedf..5b8244dedd4 100755
--- a/Master/bin/sparc-solaris/dvilj4
+++ b/Master/bin/sparc-solaris/dvilj4
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj4l b/Master/bin/sparc-solaris/dvilj4l
index 0668803f2dd..337ba9c1b76 100755
--- a/Master/bin/sparc-solaris/dvilj4l
+++ b/Master/bin/sparc-solaris/dvilj4l
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipdfm b/Master/bin/sparc-solaris/dvipdfm
index f154da34326..4a292c8a0d7 100755
--- a/Master/bin/sparc-solaris/dvipdfm
+++ b/Master/bin/sparc-solaris/dvipdfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipdfmx b/Master/bin/sparc-solaris/dvipdfmx
index a1bf3b95866..99f4f72a3f2 100755
--- a/Master/bin/sparc-solaris/dvipdfmx
+++ b/Master/bin/sparc-solaris/dvipdfmx
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipng b/Master/bin/sparc-solaris/dvipng
index a2fc14db247..a54696a7d60 100755
--- a/Master/bin/sparc-solaris/dvipng
+++ b/Master/bin/sparc-solaris/dvipng
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipos b/Master/bin/sparc-solaris/dvipos
new file mode 100755
index 00000000000..09736667f00
--- /dev/null
+++ b/Master/bin/sparc-solaris/dvipos
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvips b/Master/bin/sparc-solaris/dvips
index 2e97774ed4e..971441dbe1a 100755
--- a/Master/bin/sparc-solaris/dvips
+++ b/Master/bin/sparc-solaris/dvips
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvitomp b/Master/bin/sparc-solaris/dvitomp
index 6387b1986d8..2c27e4d47ef 100755
--- a/Master/bin/sparc-solaris/dvitomp
+++ b/Master/bin/sparc-solaris/dvitomp
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvitype b/Master/bin/sparc-solaris/dvitype
index 497ac8ad397..91ea4948536 100755
--- a/Master/bin/sparc-solaris/dvitype
+++ b/Master/bin/sparc-solaris/dvitype
Binary files differ
diff --git a/Master/bin/sparc-solaris/ebb b/Master/bin/sparc-solaris/ebb
index 35ad539091e..d7e508e73d9 100755
--- a/Master/bin/sparc-solaris/ebb
+++ b/Master/bin/sparc-solaris/ebb
Binary files differ
diff --git a/Master/bin/sparc-solaris/fmtutil b/Master/bin/sparc-solaris/fmtutil
index e061f4f20af..9342c679aaf 100755
--- a/Master/bin/sparc-solaris/fmtutil
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/getnonfreefonts b/Master/bin/sparc-solaris/getnonfreefonts
index 5965b4fc64a..3ab220ee570 100755
--- a/Master/bin/sparc-solaris/getnonfreefonts
+++ b/Master/bin/sparc-solaris/getnonfreefonts
@@ -11,7 +11,7 @@
#
# The current maintainer is Reinhard Kotucha.
-my $TL_version='2006';
+my $TL_version='2007';
my $getfont_url="ftp://tug.org/tex/getnonfreefonts/getfont$TL_version";
diff --git a/Master/bin/sparc-solaris/gftodvi b/Master/bin/sparc-solaris/gftodvi
index 804862e0d12..195959b2ea9 100755
--- a/Master/bin/sparc-solaris/gftodvi
+++ b/Master/bin/sparc-solaris/gftodvi
Binary files differ
diff --git a/Master/bin/sparc-solaris/gftopk b/Master/bin/sparc-solaris/gftopk
index 370e7f74418..6d774c54bdf 100755
--- a/Master/bin/sparc-solaris/gftopk
+++ b/Master/bin/sparc-solaris/gftopk
Binary files differ
diff --git a/Master/bin/sparc-solaris/gftype b/Master/bin/sparc-solaris/gftype
index b0a78637f62..4bb49e0fa52 100755
--- a/Master/bin/sparc-solaris/gftype
+++ b/Master/bin/sparc-solaris/gftype
Binary files differ
diff --git a/Master/bin/sparc-solaris/gsftopk b/Master/bin/sparc-solaris/gsftopk
index 8c496ac2305..990f9646186 100755
--- a/Master/bin/sparc-solaris/gsftopk
+++ b/Master/bin/sparc-solaris/gsftopk
Binary files differ
diff --git a/Master/bin/sparc-solaris/hbf2gf b/Master/bin/sparc-solaris/hbf2gf
index 4fa78bcea91..b6f5f45800b 100755
--- a/Master/bin/sparc-solaris/hbf2gf
+++ b/Master/bin/sparc-solaris/hbf2gf
Binary files differ
diff --git a/Master/bin/sparc-solaris/htcontext b/Master/bin/sparc-solaris/htcontext
index 9d6d4549574..9e01fa97f66 100755
--- a/Master/bin/sparc-solaris/htcontext
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/htlatex b/Master/bin/sparc-solaris/htlatex
index 1b8b7cea74a..ebab47dbaa6 100755
--- a/Master/bin/sparc-solaris/htlatex
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/htmex b/Master/bin/sparc-solaris/htmex
index b4aa3d9a06e..485a7594468 100755
--- a/Master/bin/sparc-solaris/htmex
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/httex b/Master/bin/sparc-solaris/httex
index 44920e72077..4c184897d13 100755
--- a/Master/bin/sparc-solaris/httex
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/httexi b/Master/bin/sparc-solaris/httexi
index 0ce3cb4a589..26427698991 100755
--- a/Master/bin/sparc-solaris/httexi
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/kpsewhich b/Master/bin/sparc-solaris/kpsewhich
index 640d315ffd8..64c95f117b9 100755
--- a/Master/bin/sparc-solaris/kpsewhich
+++ b/Master/bin/sparc-solaris/kpsewhich
Binary files differ
diff --git a/Master/bin/sparc-solaris/makeindex b/Master/bin/sparc-solaris/makeindex
index d93ee996503..804ec628999 100755
--- a/Master/bin/sparc-solaris/makeindex
+++ b/Master/bin/sparc-solaris/makeindex
Binary files differ
diff --git a/Master/bin/sparc-solaris/makempx b/Master/bin/sparc-solaris/makempx
index 11a6c11eb1e..b4a0d6b2b3e 100755
--- a/Master/bin/sparc-solaris/makempx
+++ b/Master/bin/sparc-solaris/makempx
Binary files differ
diff --git a/Master/bin/sparc-solaris/mf b/Master/bin/sparc-solaris/mf
index 01d307b6b0a..05bb21d937b 100755
--- a/Master/bin/sparc-solaris/mf
+++ b/Master/bin/sparc-solaris/mf
Binary files differ
diff --git a/Master/bin/sparc-solaris/mf-nowin b/Master/bin/sparc-solaris/mf-nowin
index c9cfc1dfd6f..8e0b6b1f385 100755
--- a/Master/bin/sparc-solaris/mf-nowin
+++ b/Master/bin/sparc-solaris/mf-nowin
Binary files differ
diff --git a/Master/bin/sparc-solaris/mft b/Master/bin/sparc-solaris/mft
index 19aa4c513c7..3268adadbea 100755
--- a/Master/bin/sparc-solaris/mft
+++ b/Master/bin/sparc-solaris/mft
Binary files differ
diff --git a/Master/bin/sparc-solaris/mk4ht b/Master/bin/sparc-solaris/mk4ht
index 0f4b664506c..2bd1f7e2038 100755
--- a/Master/bin/sparc-solaris/mk4ht
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/mpost b/Master/bin/sparc-solaris/mpost
index ca12cb0b0b5..cffaf27bf46 100755
--- a/Master/bin/sparc-solaris/mpost
+++ b/Master/bin/sparc-solaris/mpost
Binary files differ
diff --git a/Master/bin/sparc-solaris/odvicopy b/Master/bin/sparc-solaris/odvicopy
index bad35019a92..0badb6058ed 100755
--- a/Master/bin/sparc-solaris/odvicopy
+++ b/Master/bin/sparc-solaris/odvicopy
Binary files differ
diff --git a/Master/bin/sparc-solaris/odvitype b/Master/bin/sparc-solaris/odvitype
index 45b18021618..225f900a0ec 100755
--- a/Master/bin/sparc-solaris/odvitype
+++ b/Master/bin/sparc-solaris/odvitype
Binary files differ
diff --git a/Master/bin/sparc-solaris/omega b/Master/bin/sparc-solaris/omega
index 1046c0c616f..ed41db72174 100755
--- a/Master/bin/sparc-solaris/omega
+++ b/Master/bin/sparc-solaris/omega
Binary files differ
diff --git a/Master/bin/sparc-solaris/omfonts b/Master/bin/sparc-solaris/omfonts
index 7004c627db7..69fb9c38244 100755
--- a/Master/bin/sparc-solaris/omfonts
+++ b/Master/bin/sparc-solaris/omfonts
Binary files differ
diff --git a/Master/bin/sparc-solaris/otfinfo b/Master/bin/sparc-solaris/otfinfo
index 8d9e95f1b76..25cd2a7bd35 100755
--- a/Master/bin/sparc-solaris/otfinfo
+++ b/Master/bin/sparc-solaris/otfinfo
Binary files differ
diff --git a/Master/bin/sparc-solaris/otftotfm b/Master/bin/sparc-solaris/otftotfm
index 6d9e67e6789..aeb15686206 100755
--- a/Master/bin/sparc-solaris/otftotfm
+++ b/Master/bin/sparc-solaris/otftotfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/otp2ocp b/Master/bin/sparc-solaris/otp2ocp
index cfea54e5df8..a97e1ae01a0 100755
--- a/Master/bin/sparc-solaris/otp2ocp
+++ b/Master/bin/sparc-solaris/otp2ocp
Binary files differ
diff --git a/Master/bin/sparc-solaris/outocp b/Master/bin/sparc-solaris/outocp
index 8b12a41f2d9..64d175b68c7 100755
--- a/Master/bin/sparc-solaris/outocp
+++ b/Master/bin/sparc-solaris/outocp
Binary files differ
diff --git a/Master/bin/sparc-solaris/pdftex b/Master/bin/sparc-solaris/pdftex
index a5f7c50a9dc..51c87c94071 100755
--- a/Master/bin/sparc-solaris/pdftex
+++ b/Master/bin/sparc-solaris/pdftex
Binary files differ
diff --git a/Master/bin/sparc-solaris/pdftosrc b/Master/bin/sparc-solaris/pdftosrc
new file mode 100755
index 00000000000..039b1fb0357
--- /dev/null
+++ b/Master/bin/sparc-solaris/pdftosrc
Binary files differ
diff --git a/Master/bin/sparc-solaris/pktogf b/Master/bin/sparc-solaris/pktogf
index ffd481c6dff..04ac8fb7661 100755
--- a/Master/bin/sparc-solaris/pktogf
+++ b/Master/bin/sparc-solaris/pktogf
Binary files differ
diff --git a/Master/bin/sparc-solaris/pktype b/Master/bin/sparc-solaris/pktype
index 4e4a9df2c4a..549aa2db000 100755
--- a/Master/bin/sparc-solaris/pktype
+++ b/Master/bin/sparc-solaris/pktype
Binary files differ
diff --git a/Master/bin/sparc-solaris/ps2eps b/Master/bin/sparc-solaris/ps2eps
new file mode 100755
index 00000000000..aeb0e9a8e43
--- /dev/null
+++ b/Master/bin/sparc-solaris/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/sparc-solaris/ps2pk b/Master/bin/sparc-solaris/ps2pk
index 7b64252cb25..81cc980626f 100755
--- a/Master/bin/sparc-solaris/ps2pk
+++ b/Master/bin/sparc-solaris/ps2pk
Binary files differ
diff --git a/Master/bin/sparc-solaris/t4ht b/Master/bin/sparc-solaris/t4ht
index fbfcaf42961..4c8162a2041 100755
--- a/Master/bin/sparc-solaris/t4ht
+++ b/Master/bin/sparc-solaris/t4ht
Binary files differ
diff --git a/Master/bin/sparc-solaris/tangle b/Master/bin/sparc-solaris/tangle
index 8d5dba6deb4..2d2f0b76bcc 100755
--- a/Master/bin/sparc-solaris/tangle
+++ b/Master/bin/sparc-solaris/tangle
Binary files differ
diff --git a/Master/bin/sparc-solaris/tex b/Master/bin/sparc-solaris/tex
index b314726f17a..70b8a2bcdae 100755
--- a/Master/bin/sparc-solaris/tex
+++ b/Master/bin/sparc-solaris/tex
Binary files differ
diff --git a/Master/bin/sparc-solaris/tex4ht b/Master/bin/sparc-solaris/tex4ht
index fe6a8b7c26e..458062a39d5 100755
--- a/Master/bin/sparc-solaris/tex4ht
+++ b/Master/bin/sparc-solaris/tex4ht
Binary files differ
diff --git a/Master/bin/sparc-solaris/texconfig b/Master/bin/sparc-solaris/texconfig
index 0dc3f753f0b..3f02cebb312 100755
--- a/Master/bin/sparc-solaris/texconfig
+++ b/Master/bin/sparc-solaris/texconfig
@@ -24,7 +24,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
progname=texconfig
# the version string
-version=1167506445 # seconds since `00:00:00 1970-01-01 UTC'
+version=1168206389 # seconds since `00:00:00 1970-01-01 UTC'
# date '+%s' (with GNU date)
envVars="
@@ -593,7 +593,7 @@ tcBatch()
$progname font rw
$progname formats
$progname hyphen FORMAT
- $progname init [format]
+ $progname init [formats]
$progname mode MODE
$progname paper PAPER
$progname pdftex [options]
@@ -1149,7 +1149,10 @@ $formatsForHyphenFmt"
updmap || rc=1
;;
*)
- fmtutil --byfmt "$2" || rc=1
+ shift 1
+ for i in "$@"; do
+ fmtutil --byfmt "$i" || rc=1
+ done
;;
esac
;;
@@ -1254,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
@@ -1273,7 +1276,7 @@ Valid PAPER settings:
wChanged=$fmgrConfigReplaceChanged
fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
if $wChanged || $fmgrConfigReplaceChanged; then
- fmtutil --all
+ fmtutil --refresh
fi
;;
a4)
@@ -1282,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/sparc-solaris/tftopl b/Master/bin/sparc-solaris/tftopl
index 4d2160bdc33..e3c55a19667 100755
--- a/Master/bin/sparc-solaris/tftopl
+++ b/Master/bin/sparc-solaris/tftopl
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttf2afm b/Master/bin/sparc-solaris/ttf2afm
index ba4d830a7d1..e6dad7275fe 100755
--- a/Master/bin/sparc-solaris/ttf2afm
+++ b/Master/bin/sparc-solaris/ttf2afm
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttf2pk b/Master/bin/sparc-solaris/ttf2pk
index 15c895f4ffb..3943789b788 100755
--- a/Master/bin/sparc-solaris/ttf2pk
+++ b/Master/bin/sparc-solaris/ttf2pk
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttf2tfm b/Master/bin/sparc-solaris/ttf2tfm
index 0eee371d5ee..93279f06e28 100755
--- a/Master/bin/sparc-solaris/ttf2tfm
+++ b/Master/bin/sparc-solaris/ttf2tfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttftotype42 b/Master/bin/sparc-solaris/ttftotype42
index 9e1e6f04c87..e746b234a85 100755
--- a/Master/bin/sparc-solaris/ttftotype42
+++ b/Master/bin/sparc-solaris/ttftotype42
Binary files differ
diff --git a/Master/bin/sparc-solaris/vftovp b/Master/bin/sparc-solaris/vftovp
index 7f0b3a53971..fc39c760acc 100755
--- a/Master/bin/sparc-solaris/vftovp
+++ b/Master/bin/sparc-solaris/vftovp
Binary files differ
diff --git a/Master/bin/sparc-solaris/weave b/Master/bin/sparc-solaris/weave
index d37a3c56b72..98cf2ec5fd2 100755
--- a/Master/bin/sparc-solaris/weave
+++ b/Master/bin/sparc-solaris/weave
Binary files differ
diff --git a/Master/bin/sparc-solaris/xdvi-motif.bin b/Master/bin/sparc-solaris/xdvi-motif.bin
index 5fffdb0f5bf..07cbd6b3dc9 100755
--- a/Master/bin/sparc-solaris/xdvi-motif.bin
+++ b/Master/bin/sparc-solaris/xdvi-motif.bin
Binary files differ
diff --git a/Master/bin/sparc-solaris/xdvipdfmx b/Master/bin/sparc-solaris/xdvipdfmx
index 33ea638500d..825093213f9 100755
--- a/Master/bin/sparc-solaris/xdvipdfmx
+++ b/Master/bin/sparc-solaris/xdvipdfmx
Binary files differ
diff --git a/Master/bin/sparc-solaris/xeplain b/Master/bin/sparc-solaris/xeplain
deleted file mode 120000
index ef9fe406fd6..00000000000
--- a/Master/bin/sparc-solaris/xeplain
+++ /dev/null
@@ -1 +0,0 @@
-xetex \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/xetex b/Master/bin/sparc-solaris/xetex
index 48ff02f5664..81bffdf1bdb 100755
--- a/Master/bin/sparc-solaris/xetex
+++ b/Master/bin/sparc-solaris/xetex
Binary files differ