#!/bin/bash
# 	$Id: chkdvipdfmx.sh,v 1.3 2011/11/27 11:34:46 munepi Exp $	

EXTS="png jpg eps pdf"

TEMP=/tmp/$(basename $0 .sh).temp
[ -d $TEMP ] || mkdir -p $TEMP

EVINCE=$(which evince 2>/dev/null) && PDFPREVIEWER=$EVINCE
ACROREAD=$(which acroread 2>/dev/null) && PDFPREVIEWER=$ACROREAD
DVIPDFMX=$(which dvipdfmx 2>/dev/null)
GS=$(which gs 2>/dev/null)

if [ -z "$PDFPREVIEWER" -o -z "$DVIPDFMX" -o -z "GS" ]; then
    cat<<EOF
E: Please install the following softwares via apt-get install: 
EOF
    [ -z "$PDFPREVIEWER" ] && echo "evince or install-assist-AdobeReader_jpn"
    [ -z "$DVIPDFMX" ] && echo "dvipdfmx"
    [ -z "$GS" ] && echo "ghostscript"
    exit 1
fi

EPS=/usr/share/ghostscript/$(gs --version)/examples/tiger.eps
#EPS=/usr/share/ghostscript/$(gs --version)/examples/golfer.eps
[ ! -f $EPS ] && echo "E: No such file: $EPS" && exit 1

GS="$GS -dSAFER -dBATCH -dNOPAUSE" 

DIST_RELEASE=$(cat ${BUILD_ROOT}/etc/vine-release | cut -f3 -d" " | cut -f1 -d.)

## genpdf [ext]
genpdf(){
    local ext=$1
    local srcname=$(basename $EPS .eps)
    local target=${srcname}.${ext}

    local gs_dev=
    case $ext in
	eps)
	    ;;
	png)
	    gs_dev=pngalpha
	    ;;
	jpg)
	    gs_dev=jpegcmyk
	    ;;
	pdf)
	    gs_dev=pdfwrite
	    ;;
	*)
	    echo "E: unsupported extension: $ext"
	    exit 1
	    ;;
    esac

    ## convert a target media file from $EPS
    if [ ! -z $gs_dev ]; then
	rm -f ${target}
	$GS -sDEVICE=$gs_dev -sOutputFile=${target} $EPS
	[ ! -f ${target} ] && exit 1
	case ${DIST_RELEASE} in 
	    4|5) 
		ebbx -b ${target};;
	    6) 
		ebbx -x ${target};;
	    7) 
		ebb -x ${target};;
	esac
    else
	target=$EPS
    fi

    ## generate embedded $target pdf
    cat<<EOF > ${srcname}.tex
\documentclass{jarticle}
\usepackage[dvipdfmx]{graphicx}
\begin{document}
\scalebox{.5}{\includegraphics{${target}}}
\end{document}
EOF
    platex ${srcname}
    dvipdfmx -o ${srcname}-${ext}.pdf ${srcname}
}

cd $TEMP
rm -f *
for i in $EXTS; do genpdf $i; done
$ACROREAD *.pdf
cd -

exit

### end of file
