home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # $Id: ps2epsi,v 1.7 2001/06/22 16:09:22 lpd Exp $
-
- 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 -dSAFER -dDELAYSAFER -r72 -sDEVICE=bit -sOutputFile=/dev/null $tmpfile ps2epsi.ps $tmpfile <"${infile}" 1>&2
- rm -f $tmpfile
-
- (
- cat << BEGINEPS
- save countdictstack mark newpath /showpage {} def /setpagedevice {pop} def
- %%EndProlog
- %%Page 1 1
- BEGINEPS
-
- cat "${infile}" |
- 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
-