X-Git-Url: https://code.delx.au/offlineimap/blobdiff_plain/3673e4c5d45ce9683a0fd83b8f7645fdbaf4109c..d839be3c61888a837bf2de52939eca9831e68dfc:/docs/sgml-common/ps2epsi diff --git a/docs/sgml-common/ps2epsi b/docs/sgml-common/ps2epsi new file mode 100644 index 0000000..b253ee0 --- /dev/null +++ b/docs/sgml-common/ps2epsi @@ -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