#!/bin/bash

# (C) 2009 Holger Herrlich
# "as is" + no profit use granted

# This script converts a pbm-files to eps via gimp fuscript



if test -z "$1"; then
   echo no file
   exit 2
   fi


ext="pbm"
name=$(basename $1 ".$ext")
dir=$(dirname $1)

epsfile="$dir/$name.eps"
pbmfile="$dir/$name.$ext"

echo ":: start processing gimp on: $pbmfile."
gimp -i --console-messages --debug-handlers -b \
   "(let*  ((image    (car (file-pnm-load               1 \"$pbmfile\" \"$pbmfile\" )))
           ;; (tmp      (car (gimp-image-convert-grayscale image                       )))
            (drawable (car (gimp-image-active-drawable   image                       )))
         )
;;       (gimp-image-rotate         image   ;;
;;                                  0       ;; -90 deg
;;                                  )
       (plug-in-normalize   1
                            image
                            drawable
                            )

       (gimp-brightness-contrast  drawable  ;;
                                  55        ;; brightness
                                  75        ;; contrast
                                  )
       (file-eps-save             1             ;; run mode
                                  image         ;; image obj
                                  drawable      ;; internal obj
                                  \"$epsfile\"  ;; save to name
                                  \"$epsfile\"  ;; <same>
                                  272 400       ;; wid ht  (ht ignored)
                                  3 13          ;; x/y-offset
                                  1             ;; unit 1==mm  (0==in)
                                  1             ;; keep ratio  (0: use wid+ht)
                                  270           ;; rotation in deg
                                  1             ;; 0==ps, 1==eps
                                  0             ;; preview: 0==no, >0==size
                                  1             ;; postscript level
                                  )
    )
    (gimp-quit 0)"
