diff options
Diffstat (limited to 'Build/source/texk/dvipdfmx/dvipdft')
-rwxr-xr-x | Build/source/texk/dvipdfmx/dvipdft | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/Build/source/texk/dvipdfmx/dvipdft b/Build/source/texk/dvipdfmx/dvipdft new file mode 100755 index 00000000000..3bcd0027db1 --- /dev/null +++ b/Build/source/texk/dvipdfmx/dvipdft @@ -0,0 +1,105 @@ +#!/bin/sh +# dvipdft, completely rewritten by Thomas Esser for teTeX after an +# original script by Mark A. Wicks +# +# Thomas Esser. Public Domain. +# +# Modified by Matthias Franz for dvipdfmx (when running as dvipdfm) and +# TeX Live. + +# This script makes a first (fast) run with dvipdfm, then calls gs on +# the resulting pdf file to get the thumbnails and finally calls dvipdfm. + +progname=dvipdft +version=20090604.0046 + +# set trap for error +trap ' + echo "$progname: fatal error." >&2 + exit 1 +' 1 + +test -f /bin/sh5 && test -z "$RUNNING_SH5" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ + && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } +unset RUNNING_SH5 + +test -f /bin/bsh && test -z "$RUNNING_BSH" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ + && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } +unset RUNNING_BSH + +# hack around a bug in zsh: +test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' + +help="Usage: $progname [options] dvifile + $progname --help + $progname --version" + +quoteit() +{ + echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@" +} + +# process args 1 to (n-1) and scan for a -o argument keep a properly +# quoted backup of the options, so that they can be restored later +unset s outfile +while test $# -gt 1; do + case $1 in + -o) outfile=$2;; + esac + s="$s${s+ }"`quoteit "$1"` + shift +done + +# check for last argument +case $1 in + --help) + echo "$help" + exit 0 + ;; + --version) + echo "$progname version $version by Thomas Esser and others" + exit 0 + ;; + "") + echo "$help" + exit 1 + ;; +esac + +# args 1 to (n-1) are gone, last one must be the dvifile +dvifile="$1" + +# outfile comes from -o argument, else it is derived from the input file +test -n "$outfile" \ + || outfile=`echo "$dvifile" | sed 's@.*/@@; s@\.dvi$@@; s@$@.pdf@'` + +# outBase is part of the thumbname files just as dvipdfm expects them: +outBase=`echo "$outfile" | sed 's@\.pdf$@@'` + +ls "$outBase".[1-9]* >/dev/null 2>&1 && { + echo "$progname: Please move the following files out of the way:" >&2 + ls "$outBase".[1-9]* >&2 + exit 1 +} + +# restore args 1 to (n-1): +eval set x "$s"; shift + +# set trap for cleanup +trap ' + rm -f "$outBase".[1-9]* +' 0 + +# Run dvipdfm with the fastest options for the first pass +echo "$progname: running dvipdfm $@ -z0 $dvifile" >&2 +dvipdfm ${1+"$@"} -z0 "$dvifile" + +# run gs +echo "$progname: running gs" >&2 +gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 -sOutputFile="$outBase.%d" "$outfile" + +# run dvipdfm with the users specified options for the last pass +echo "$progname: running dvipdfm -t $@ $dvifile" >&2 +dvipdfm ${1+"$@"} -t "$dvifile" |