#!/bin/sh

TYPE=$1
RES=$2
INPUT=$3
OUTPUT=$4

#set -- `sed -n '/^%%BoundingBox:/{
#s/^[^:]*://
#s/\.[0-9]+//g
#p;q
#}'	$INPUT`

# Correction pour fdl:
# - une ligne avec %%BoundingBox: (atend)
# - une ligne avec %%BoundingBox: 42 42 552 799
# => prendre la dernière ligne
set -- `cat $INPUT | grep "%%BoundingBox" | grep -v "%%BoundingBox: (atend)" | gawk '{ print $2 " " $3 " " $4 " " $5 }'`

llx=$1 lly=$2 urx=$3 ury=$4

if	[ $llx != 0 ]; then
	llx=`expr $llx - 1`
fi
if	[ $lly != 0 ]; then
	lly=`expr $lly - 1`
fi
urx=`expr $urx + 1`
ury=`expr $ury + 1`

width=`expr \( $urx - $llx \) \* $RES / 72 + 1`
height=`expr \( $ury - $lly \) \* $RES / 72 + 1`

echo "$llx neg $lly neg translate" | gs -q -sDEVICE=$TYPE -sOutputFile=$OUTPUT -r$RES -g${width}x${height} - $INPUT
