#!/bin/bash
###############################################################################
# Conversion of (gzipped) .ps and .eps files to *.gif and *icons.gif
# The produced files are stored in the current subdirectories gifs/ and icons/
# usage: 
# h1ps2gif 
# h1ps2gif name    
# (name is a starting string of the files to be processed, e.g. H1prelim-00-141)
#
# Author A.Schoening 27.11.2007
# added conversion for pdf files  K. Krueger 8.10.2010
###############################################################################

dir_gifs=gifs
dir_icons=icons

if ! test -d $dir_gifs
then
    mkdir $dir_gifs
fi

if ! test -d $dir_icons
then
    mkdir $dir_icons
fi

echo processing $1\*ps files
suffix=.ps
for f in $1*$suffix
do
  if test -f $f 
  then 
	fb=`basename $f $suffix`
	echo  converting $f  into $dir_gifs/$fb.gif
#        ps2gif $f $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
        convert $f $dir_gifs/$fb.gif 
        cp $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
#        convert $f $dir_icons/$fb.icon.gif
  fi
done

echo processing $1\*ps.gz files
suffix=.ps.gz
for f in $1*$suffix
do
  if test -f $f 
  then 
	fb=`basename $f $suffix`;
	echo  converting $f  into $dir_gifs/$fb.gif;
	gzip -c -d $f > dummy.ps; 
#        ps2gif dummy.ps $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif;
        convert dummy.ps $dir_gifs/$fb.gif ;
        cp $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
#        convert dummy.ps $dir_icons/$fb.icon.gif;
  fi
done

echo processing $1\*eps files
suffix=.eps
for f in $1*$suffix
do
  if test -f $f 
  then 
	fb=`basename $f $suffix`
	echo  converting $f  into $dir_gifs/$fb.gif
#        ps2gif $f $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
        convert $f $dir_gifs/$fb.gif
        cp $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
#        convert $f $dir_icons/$fb.icon.gif
  fi
done

echo processing $1\*eps.gz files
suffix=.eps.gz
for f in $1*$suffix
do
  if test -f $f 
  then 
	fb=`basename $f $suffix`
	echo  converting $f  into $dir_gifs/$fb.gif
	gzip -c -d $f > dummy.eps ; 
#        ps2gif dummy.eps  $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
        convert dummy.eps  $dir_gifs/$fb.gif
        cp $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
#        convert dummy.eps  $dir_icons/$fb.icon.gif
  fi
done

echo processing $1\*pdf files
suffix=.pdf
for f in $1*$suffix
do
  if test -f $f 
  then 
	fb=`basename $f $suffix`
	echo  converting $f  into $dir_gifs/$fb.gif
#        ps2gif $f $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
#        convert $f $dir_gifs/$fb.gif 
#        gs -sDEVICE=eps2write -dNOPAUSE -dBATCH -sOutputFile=tmp.eps $f 2>/dev/null
#pdfoption=
#pdfoption=-dUseBleedBox
pdfoption=-dUseCropBox
#pdfoption=-dUseArtBox
#pdfoption=-dUseTrimBox
        x0=$(gs -dNOPAUSE -dBATCH -sDEVICE=bbox $f $pdfoption 2>&1 | awk '($1=="%%BoundingBox:") {print $2;}')
        y0=$(gs -dNOPAUSE -dBATCH -sDEVICE=bbox $f $pdfoption 2>&1 | awk '($1=="%%BoundingBox:") {print $3;}')
        x1=$(gs -dNOPAUSE -dBATCH -sDEVICE=bbox $f $pdfoption 2>&1 | awk '($1=="%%BoundingBox:") {print $4;}')
        y1=$(gs -dNOPAUSE -dBATCH -sDEVICE=bbox $f $pdfoption 2>&1 | awk '($1=="%%BoundingBox:") {print $5;}')
        echo "x0="$x0 $y0 $x1 $y1
        w0=$((x1-x0+1))
        h0=$((y1-y0+1))
        h=648
        r=$((72*h/h0))
        w=$((w0*r/72))
        w=$((w+10))
        h=$((h+10))
        echo $w $h $r
#        gs -sDEVICE=eps2write -r$r -g$w"x"$h -dNOPAUSE -dBATCH -sOutputFile=tmp.eps $f 2>/dev/null
        gs -sDEVICE=pngalpha -r$r -g$w"x"$h -dNOPAUSE -dBATCH $pdfoption -sOutputFile=tmp.png $f 2>/dev/null
        convert tmp.png $dir_gifs/$fb.gif
#        rm tmp.eps
        cp $dir_gifs/$fb.gif $dir_icons/$fb.icon.gif
#        convert $f $dir_icons/$fb.icon.gif
  fi
done

