#!/bin/sh

LOCALPATH=/usr/local/bin:/usr/local/gnu/bin
PATH=$LOCALPATH:/bin:/usr/bin:/usr/ucb

# appended by take
outfile="/tmp/$USER.$$"

# export PATH outfile
export PATH outfile TMP

# appended by take
trap 'rm -f ${outfile} ; exit' 1 2 3 4 13 15

if [ $# -lt 1 -o $# -gt 2 ]; then
#	echo "Usage: pstoepsi file.ps [file.epsi]" 1>&2
	echo "Usage: ps2epsi file.ps [file.eps]" 1>&2
	exit 1
fi

infile=$1

if [ $# -eq 1 ]
then
	case "${infile}" in
	  *.ps)		base=`basename ${infile} .ps` ;;
	  *.cps)	base=`basename ${infile} .cps` ;;
	  *.eps)	base=`basename ${infile} .eps` ;;
	  *.epsf)	base=`basename ${infile} .epsf` ;;
	  *)		base=`basename ${infile}` ;;
	esac
	TMP=${base}.eps
else
	TMP=$2
fi

# outfile is refered as output file name by gs
gs -q -dNOPAUSE -dNODISPLAY ps2epsi.ps < ${infile} 1>&2

(
cat << BEGINEPS
/InitDictCount countdictstack def
gsave
save
mark
newpath
/showpage {} def
BEGINEPS

cat ${infile}

cat << ENDEPS
countdictstack InitDictCount sub { end } repeat
cleartomark
restore
grestore
ENDEPS

) >> ${outfile}

# appended by take output file name is ${TMP}
repairEps ${outfile} > ${TMP}

# appended by take
rm -f ${outfile}

exit 0
