#!/bin/sh # # Convert an image to EPS # CMD=$(basename $0) MAGIC=/usr/share/misc/magic-mm WIDTH=8.26 HEIGHT=11.69 usage() { echo "usage: $CMD [-s scale] [-n] file" >&2 exit 1 } while getopts ":s:n" c do case "$c" in s) scale="-scale $OPTARG";; n) noturn=-noturn;; :|'?') usage;; esac done shift $(($OPTIND - 1)) [ $# -lt 1 ] && usage file=$1 case "$file" in *.[Jj][Bb][Gg]) pnmcmd=jbgtopbm done=1;; esac if [ -z "$done" ]; then ts="$(file -m $MAGIC "$file")"; t="${ts#*: }" case "$t" in GIF\ image\ data*) pnmcmd=giftoppm;; JPEG\ image\ data*) pnmcmd=djpeg;; PNG\ image\ data*) pnmcmd=pngtopnm;; IFF\ data,\ ILBM*) pnmcmd="ilbmtoppm";; TIFF\ image\ data*) pnmcmd=tifftopnm;; PC\ bitmap\ data*) pnmcmd=bmptopnm;; Targa\ image\ data*) pnmcmd=tgatoppm;; Kodak\ Photo\ CD\ image\ pack\ file*) pnmcmd="hpcdtoppm -3";; Netpbm\ PBM* | Netpbm\ PGM* | Netpbm\ PPM*) pnmcmd=cat;; *) case "$1" in *.[Pp][Cc][Xx]|*.[Pp][Cc][Cc]) pnmcmd=/usr/local/netpbm/bin/pcxtoppm;; *.[Mm][Aa][Cc]) pnmcmd=macptopbm;; *.[Pp][Ii]3) pnmcmd=pi3topbm;; *.[Xx][Bb][Mm]) pnmcmd=xbmtopbm;; *.[Xx][Pp][Mm]) pnmcmd=xpmtoppm;; *) echo "Error: Invalid file type" >&2 exit 1;; esac;; esac fi $pnmcmd "$file" 2>/dev/null | pnmcrop -white 2>/dev/null | \ pnmtops -width $WIDTH -height $HEIGHT $scale $noturn >"${file%.*}.eps" .