#!/bin/sh

export outfile

if [ $# -lt 1 -o $# -gt 2 ]; then
	echo "Usage: `basename $0` file.ps [file.epsi]" 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
	outfile=${base}.epsi
else
	outfile=$2
fi

gs -q -dNOPAUSE -sDEVICE=bit -sOutputFile=/dev/null ps2epsi.ps < ${infile} 1>&2

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

cat ${infile}

cat << ENDEPS
cleartomark
countdictstack exch sub { end } repeat
restore
ENDEPS

) >> ${outfile}

exit 0


