thirdparty/vcs-load-dirs/docs/sgml-common/ps2epsi
changeset 2311 e8262ca32109
equal deleted inserted replaced
2310:d51331eaec15 2311:e8262ca32109
       
     1 #!/bin/sh
       
     2 # $RCSfile: ps2epsi,v $ $Revision: 1.4.2.2 $
       
     3 # arch-tag: ps2epsi customized for sgml-common
       
     4 
       
     5 tmpfile=/tmp/ps2epsi$$
       
     6 
       
     7 export outfile
       
     8 
       
     9 if [ $# -lt 1 -o $# -gt 2 ]; then
       
    10 	echo "Usage: `basename $0` file.ps [file.epsi]" 1>&2
       
    11 	exit 1
       
    12 fi
       
    13 
       
    14 infile=$1;
       
    15 
       
    16 if [ $# -eq 1 ]
       
    17 then
       
    18 	case "${infile}" in
       
    19 	  *.ps)		base=`basename ${infile} .ps` ;;
       
    20 	  *.cps)	base=`basename ${infile} .cps` ;;
       
    21 	  *.eps)	base=`basename ${infile} .eps` ;;
       
    22 	  *.epsf)	base=`basename ${infile} .epsf` ;;
       
    23 	  *)		base=`basename ${infile}` ;;
       
    24 	esac
       
    25 	outfile=${base}.epsi
       
    26 else
       
    27 	outfile=$2
       
    28 fi
       
    29 
       
    30 ls -l ${infile} |
       
    31 awk 'F==1	{
       
    32 		cd="%%CreationDate: " $6 " " $7 " " $8;
       
    33 		t="%%Title: " $9;
       
    34 		f="%%For:" U " " $3;
       
    35 		c="%%Creator: Ghostscript ps2epsi from " $9;
       
    36 		next;
       
    37 		}
       
    38 	/^%!/	{next;}
       
    39 	/^%%Title:/	{t=$0; next;}
       
    40 	/^%%Creator:/	{c=$0; next;}
       
    41 	/^%%CreationDate:/	{cd=$0; next;}
       
    42 	/^%%For:/	{f=$0; next;}
       
    43 	!/^%/	{
       
    44 		print "/ps2edict 30 dict def";
       
    45 		print "ps2edict begin";
       
    46 		print "/epsititle (" t "\\n) def";
       
    47 		print "/epsicreator (" c "\\n) def";
       
    48 		print "/epsicrdt (" cd "\\n) def";
       
    49 		print "/epsifor (" f "\\n) def";
       
    50 		print "end";
       
    51 		exit(0);
       
    52 		}
       
    53 	' U="$USERNAME$LOGNAME"  F=1 - F=2 ${infile} >$tmpfile
       
    54 
       
    55 gs -q -dNOPAUSE -dSAFER -dDELAYSAFER -r72 -sDEVICE=bit -sOutputFile=/dev/null $tmpfile ps2epsi.ps $tmpfile <${infile} 1>&2
       
    56 rm -f $tmpfile
       
    57 
       
    58 (
       
    59 cat << BEGINEPS
       
    60 save countdictstack mark newpath /showpage {} def /setpagedevice {pop} def
       
    61 %%EndProlog
       
    62 %%Page 1 1
       
    63 BEGINEPS
       
    64 
       
    65 cat ${infile} |
       
    66 sed -e '/^%%BeginPreview:/,/^%%EndPreview[^!-~]*$/d' -e '/^%!PS-Adobe/d'\
       
    67     -e '/^%%[A-Za-z][A-Za-z]*[^!-~]*$/d' -e '/^%%[A-Za-z][A-Za-z]*: /d'
       
    68 
       
    69 cat << ENDEPS
       
    70 %%Trailer
       
    71 cleartomark countdictstack exch sub { end } repeat restore
       
    72 %%EOF
       
    73 ENDEPS
       
    74 
       
    75 ) >> ${outfile}
       
    76 
       
    77 exit 0