#!/bin/sh tmpfile=/tmp/ps2epsi$$ 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 ls -l ${infile} | awk 'F==1 { cd="%%CreationDate: " $6 " " $7 " " $8; t="%%Title: " $9; f="%%For:" U " " $3; c="%%Creator: Ghostscript ps2epsi from " $9; next; } /^%!/ {next;} /^%%Title:/ {t=$0; next;} /^%%Creator:/ {c=$0; next;} /^%%CreationDate:/ {cd=$0; next;} /^%%For:/ {f=$0; next;} !/^%/ { print "/ps2edict 30 dict def"; print "ps2edict begin"; print "/epsititle (" t "\\n) def"; print "/epsicreator (" c "\\n) def"; print "/epsicrdt (" cd "\\n) def"; print "/epsifor (" f "\\n) def"; print "end"; exit(0); } ' U="$USERNAME$LOGNAME" F=1 - F=2 ${infile} >$tmpfile gs -q -dNOPAUSE -r72 -sDEVICE=bit -sOutputFile=/dev/null $tmpfile ps2epsi.ps $tmpfile <${infile} 1>&2 rm -f $tmpfile ( cat << BEGINEPS save countdictstack mark newpath /showpage {} def %%EndProlog %%Page 1 1 BEGINEPS cat ${infile} | tr -d '\015' | sed -e '/^%%BeginPreview:/,/%%EndPreview$/d' -e '/^%!PS-Adobe/d'\ -e '/^%%[A-Za-z][A-Za-z]*$/d' -e '/^%%[A-Za-z][A-Za-z]*: /d' cat << ENDEPS %%Trailer cleartomark countdictstack exch sub { end } repeat restore %%EOF ENDEPS ) >> ${outfile} exit 0