#!/bin/sh
#
# $Header: a3sjlbp,v 4.300 91/06/09 01:20:32 root Rel41 $ SONY;
#
# @(#)NwNwNwIBA3LBPF 00020003

SIZE_DEFAULT=
# SIZE_DEFAULT=SA4P:
# printing size, one og following names:
# SA3P: / SA3L: / SA4P: / SA4L: / SB4P: / SB4L: / SB5P: / SB5L:

CASSETTE_DEFAULT=
# CASSETTE_DEFAULT=CudlUDL:
# 
# conbination of 'u', 'd', 'l', 'U', 'D', 'L'
#   u: upper cassette, d: paper deck,  l: lower cassette
#   U: upper (rot90), D: deck(rot90), L: lower (rot90)

DUP_DEFAULT=
# DUP_DEFAULT=D:
# duplex printing ( if D: )

TM_DEFAULT=
#TM_DEFAULT=TM0:
# top margin, -5(mm) <= TM_DEFAULT <= 5(mm)

LM_DEFAULT=
#LM_DEFAULT=LM0:
# left margin, -5(mm) <= TM_DEFAULT <= 5(mm)

# You may modify above part.

#######################################################################
#
# Do not modify the lines below:
ERROR=0

SIZE=
CASSETTE=
DUP=
TM=
LM=
MF=
OT=
NUM=
TRAILER=
TRCAS=
TRSIZE=
ERRORT=

while [ $# != 0 ]
do
	case $1X in
	-sizeX)
		if [ ${SIZE}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			case $1X in
			[aA]3[lL]X)	SIZE=SA3L: ;;
			[aA]4[lL]X)	SIZE=SA4L: ;;
			[bB]4[lL]X)	SIZE=SB4L: ;;
			[bB]5[lL]X)	SIZE=SB5L: ;;
			[aA]3X)		SIZE=SA3P: ;;
			[aA]4X)		SIZE=SA4P: ;;
			[bB]4X)		SIZE=SB4P: ;;
			[bB]5X)		SIZE=SB5P: ;;
			[aA]3[pP]X)	SIZE=SA3P: ;;
			[aA]4[pP]X)	SIZE=SA4P: ;;
			[bB]4[pP]X)	SIZE=SB4P: ;;
			[bB]5[pP]X)	SIZE=SB5P: ;;
			*) ERROR=1;;
			esac
		fi
		shift
		;;
	-casetteX|-cassetteX)
		if [ ${CASSETTE}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			CASSETTE=C$1:
		fi
		shift
		;;
	-tsizeX)
		if [ ${TRSIZE}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			case $1X in
			[aA]3[lL]X)	TRSIZE=TRSA3L: ;;
			[aA]4[lL]X)	TRSIZE=TRSA4L: ;;
			[bB]4[lL]X)	TRSIZE=TRSB4L: ;;
			[bB]5[lL]X)	TRSIZE=TRSB5L: ;;
			[aA]3X)		TRSIZE=TRSA3P: ;;
			[aA]4X)		TRSIZE=TRSA4P: ;;
			[bB]4X)		TRSIZE=TRSB4P: ;;
			[bB]5X)		TRSIZE=TRSB5P: ;;
			[aA]3[pP]X)	TRSIZE=TRSA3P: ;;
			[aA]4[pP]X)	TRSIZE=TRSA4P: ;;
			[bB]4[pP]X)	TRSIZE=TRSB4P: ;;
			[bB]5[pP]X)	TRSIZE=TRSB5P: ;;
			*) ERROR=1;;
			esac
		fi
		shift
		;;
	-tcasetteX|-tcassetteX)
		if [ ${TRCAS}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			TRCAS=TRC$1:
		fi
		shift
		;;
	-trailerX)
		if [ ${TRAILER}X != X ] ; then
			ERROR=1
			break
		fi
		TRAILER=TR:
		shift
		;;
	-tonerX)
		if [ ${ERRORT}X != X ] ; then
			ERROR=1
			break
		fi
		ERRORT=ERT:
		shift
		;;
	-dupX)
		if [ ${DUP}X != X ] ; then
			ERROR=1
			break
		fi
		DUP=D:
		shift
		;;
	-dupvX)
		if [ ${DUP}X != X ] ; then
			ERROR=1
			break
		fi
		DUP=DV:
		shift
		;;
	-lmX)
		if [ ${LM}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			LM=LM$1:
		fi
		shift
		;;
	-tmX)
		if [ ${TM}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			TM=TM$1:
		fi
		shift
		;;
	-manualfeed1X)
		if [ ${MF}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			MF=M-$1:
		fi
		shift
		;;
	-manualfeedX)
		if [ ${MF}X != X ] ; then
			ERROR=1
			break
		fi
		MF=M-:
		shift
		;;
	-trayX)
		if [ ${OT}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			OT=O$1:
		fi
		shift
		;;
	-copiesX)
		if [ ${NUM}X != X ] ; then
			ERROR=1
			break
		fi
		shift
		if [ $# != 0 ] ; then
			NUM=#$1:
		fi
		shift
		;;
	*)
		break;;
	esac
done

if [ $ERROR = "1" ]
then
	echo 'usage:' a3sjlbp \
		'[-size size] [-dup] [-cassette cassette]'
	echo '       [-lm val] [-tm val] [lpr_options] [file ..]'
	echo '       size -- A3/A3P/A3L/A4/A4P/A4L/B4/B4P/B4L/B5/B5P/B5L'
	echo '               a3/a3p/a3l/a4/a4p/a4l/b4/b4p/b4l/b5/b5p/b5l'
	echo '        ( P: portrate, L:landscape (none):portrait )'
	echo '       cassette -- udlUDL'
	exit 2
fi

if [ ${SIZE}X = X ] ; then
	SIZE=$SIZE_DEFAULT
fi
if [ ${CASSETTE}X = X ] ; then
	CASSETTE=$CASSETTE_DEFAULT
fi
if [ ${DUP}X = X ] ; then
	DUP=$DUP_DEFAULT
fi
if [ ${TM}X = X ] ; then
	TM=$TM_DEFAULT
fi
if [ ${LM}X = X ] ; then
	LM=$LM_DEFAULT
fi

ARG=-b:01:$SIZE$CASSETTE$DUP$LM$TM$MF$OT$NUM$TRAILER$TRCAS$TRSIZE$ERRORT

lpr $ARG $*

