77 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
# $RCSfile: ps2epsi,v $ $Revision: 1.4.2.2 $
 | 
						|
 | 
						|
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
 |