]> code.delx.au - offlineimap/blobdiff - docs/sgml-common/ps2epsi
Step 2 of SVN to arch tree conversion
[offlineimap] / docs / sgml-common / ps2epsi
diff --git a/docs/sgml-common/ps2epsi b/docs/sgml-common/ps2epsi
new file mode 100644 (file)
index 0000000..b253ee0
--- /dev/null
@@ -0,0 +1,76 @@
+#!/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