#############################
#
# Unix Printing Interface Program
# last Update 04/24/2004
# Copyright 1999-2004
#
# All rights reserved
# Ricoh Engineering
#
###########################
###########################
# LNX_TUB_B
# Beginning of the Body
#
# Paper Orientation (Default=Portrait)
# Delay Orientation command for 2up layout printing.
##########################
        portrait  )
	    
	    Orientation=0
	    ;;

	landscape )
	    
	    Orientation=1
	    ;;

        rportrait )
	    
	    Orientation=2
	    ;;

	rlandscape )
	    
	    Orientation=3
	    ;;

##########################
# Font Size
##########################
	fsize* )
	    fontsize=`expr $i : 'fsize\([0-9.]*\)'`
	    ;;

##########################
# Line Spacing
##########################
        lpi* )
	    lpi=`expr $i : 'lpi\([0-9]*\)'`
	    ;;

###########################
# VMI Spacing
###########################
	vmi* )
	    vmi=`expr $i : 'vmi\([0-9]*\)'`
	    ;;
	    
###########################
# HMI Spacing
###########################
	hmi* )
	    hmi=`expr $i : 'hmi\([0-9]*\)'`
	    ;;
	    	    
##########################
#  User Code
##########################

	usercode=* )
		usercode=`parse ${i}`
		if test -n "$usercode";then
			usercode=`expr $usercode : '\([0-9]\{0,8\}\)'`
		fi
            ;;
		
##########################
# Pitch (character per inch)
##########################
	10|12 )
		pitch=$i
		;;
	
	cpi* )
	    	pitch=`expr $i : 'cpi\([0-9.]*\)'`
	    	;;
	
	fp* )
		pitch=`expr $i : 'fp\([0-9.]*\)'`
		;;
	
##########################
# Character compresser
##########################
        compress|c )
	    printf "\033&k2S" >> $pcl_tmp
	    ;;

##########################
# 2-up Layout Print Mode
##########################
        2up )
	    layout=1
	    ;;

##########################
# Auto Wrap
##########################
        autowrap )
	    printf "\033&s0C" >> $pcl_tmp
	    ;;

	jobtype=* )
		jobtype=`parse ${i}`
		;;
	
	userid=* )
		userid=`parse ${i}`
		if test -n "$userid";then
			userid=`expr $userid : '\([A-Z,a-z,0-9]\{0,8\}\)'`
		fi
		;;

	filename=* )
		filename=`parse ${i}`
		if test -n "$filename";then
			filename=`expr $filename : '\([A-Z,a-z,0-9]\{0,16\}\)'`
		fi
		;;

	password=* )
		password=`parse ${i}`
		if test -n "$password";then
			password=`expr $password : '\([0-9][0-9][0-9][0-9]\)'`
		fi
		;;

####################
#
# Collate
#
####################
	collate=* )
	    collate=`parse ${i}`
	    ;;
	
	collate* )
		collate=`expr $i : 'collate\(.*\)'`
		;;

###########################
#
# Resolution
#
###########################
	
	resolution=* )
            resolution=`parse ${i}`		
            ;;
        
        resolution* )
		resolution=`expr $i : 'resolution\(.*\)'`
		;;
            
####################
#
# Toner Saving
#
####################
	toner=* )
	    toner=`parse ${i}`
	    ;;
	
	toner* )
		toner=`expr $i : 'toner\(.*\)'`
		;;


#####################
#
# Duplex
#
#####################
	duplex=* )
	    duplex=`parse ${i}`
	    ;;

	simplex )
		duplex="off"
		;;
	duplex|vd )
		duplex="long"
		;;
	hd|hdduplex )
		duplex="short"
		;;
		
#######################
#
# Staple
#
#######################
	staple=* )
	    staple=`parse ${i}`
	    ;;
	    
	staple )
		staple="tleft"
		;;

##################
#
# Punch
#
##################		
	punch=* )
	    punch=`parse ${i}`
	    ;;
	
	punch )
	    punch="eu4atleft"
	    ;;
	    	
##################
#
# Mediatype
#
##################
	mediatype=* )
	    mediatype=`parse ${i}`
	    ;;
	
	mtype* )
		mediatype=`expr $i : 'mtype\(.*\)'|tr "[:upper:]" "[:lower:]"`
		;;

######################
#
# Trayswitch
#
######################

	trayswitch=* )
	    trayswitch=`parse ${i}`
	    ;;

	printmode=* )
	    printmode=`parse ${i}`
	    ;;

#####################
#
# Feed Input Tray
#
#####################

	itray=* )
	    itray=`parse ${i}`
	    ;;
	manual )
		itray="bypass"
		;;
	tray1|tray2|tray3 )
		itray="$i"
		;;
#	lct|tray5 )
#		itray="lct"
#		;;
		
########################
#
# Output bin
#
########################
	outbin=* )
	    outbin=`parse ${i}`
	    ;;
	
#	bin? )
#		outbin="m$i"
#		;;
#	
#	mbin? )
#		outbin="$i"
#		;;
#	
#	standardbin|upperbin|externalbin )
#		outbin="$i"
#		;;
#	
#	finisher|finisher1|finisher2|finisherproof|finishershift )
#		outbin="$i"
#		;;
	
#########################
#
# Color 
#
#########################	
	
	color=* )
		color=`parse ${i}`
		;;
	
	color )
		color="yes"
		;;
		
	gray )
		color="no"
		;;
	
	colorsettings=* )
		colorsettings=`parse ${i}`
		;;
		
	profile=* )
		profile=`parse ${i}`
		;;
	
	gradation=* )
		gradation=`parse ${i}`
		;;
	
	dithering=* )
		dithering=`parse ${i}`
		;;
	
	black=* )
		black=`parse ${i}`
		;;
	
	blackoverprint=* )
		blackoverprint=`parse ${i}`
		;;
	
	cmyksimulation=* )
		inksimulation=`parse ${i}`
		;;	

#########################
#
# Paper size
#
#########################
	paper=* )
	    paper=`parse ${i}`
	    ;;
	A3|A4|A5|A6|B4|B4-JIS|B5|B5-JIS|legal|letter|halfletter|ledger|tabloid|11x17|executive|exec|8x13|folio|85x13|envelope|com10|env-monarch|monarc|env-c5|C5|env-c6|C6|env-dl|DL|8k|16k )
		paper="$i"
		;;
	esac
done

##############################################################
# Check some constraints here:
##############################################################
if [ "$itray" = "bypass" ]
then
    staple=off
    punch=off
    duplex=off
fi

if [ -n "$staple" ]
then
    if [ "$staple" != "off" ]
    then
	collate="on"
    fi
fi

mydate=`date +'%Y/%m/%d'`
mytime=`date +'%H:%M:%S'`
ps_timeinfo=`date +'%Y%m%d%H%M'`

if test -z "$password" -a "$jobtype" = "locked"
then
	jobtype=""
fi

if test -z "$userid"
then
	userid=`expr "$user_name" : '\([A-Z,a-z,0-9]\{0,8\}\)'`
fi

if test -z "$filename"
then
	filename=' '
fi

##############################################################
# The order below is somehow important:
#	paper have to be 1st
##############################################################

##########################
# Print Job Type
##########################
	case "$jobtype" in
	sample )
	    Custom_Banner=0
	    (
	    echo "mark ($userid) ($ps_timeinfo) {proofprint} stopped cleartomark" >> $device_tmp

	    echo "@PJL PROOFJOB" >> $pjl_tmp
	    echo "@PJL SET USERID=\"$userid\"" >> $pjl_tmp
	    echo "@PJL SET TIME=\"$mytime\"" >> $pjl_tmp
	    echo "@PJL SET DATE=\"$mydate\"" >> $pjl_tmp
	    echo "@PJL SET QTY=1" >> $pjl_tmp
	    )
	    ;;

	locked )
	    Custom_Banner=0
	    (
	    echo "mark ($userid) ($ps_timeinfo) ($password) {secureprint} stopped cleartomark" >> $device_tmp

	    echo "@PJL SECUREJOB" >> $pjl_tmp
	    echo "@PJL SET JOBPASSWORD=$password" >> $pjl_tmp
	    echo "@PJL SET USERID=\"$userid\"" >> $pjl_tmp
	    echo "@PJL SET TIME=\"$mytime\"" >> $pjl_tmp
	    echo "@PJL SET DATE=\"$mydate\"" >> $pjl_tmp
#	    echo "@PJL SET QTY=1" >> $pjl_tmp
	    )
	    ;;

	* )
	    ;;

	esac

########################################
#
# Update 05/17/2004
# send the usercode
# UserCode for PS and Text file format
#
########################################

	echo "mark ($userid) ($usercode) ($ps_timeinfo) {setuserinfo} stopped cleartomark" >> $device_tmp
	echo "@PJL SET USERCODE=\"$usercode\"" >> $pjl_tmp

##########################
# Paper Size (Default=Letter)
#   For landscape printing in PS, paper width/height have been swapped.
#   For 2up printing in PCL, paper size command has been delayed.
##########################
	case "$paper" in
	
	A4 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [595 842] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [842 595] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=26
		;;

	A5 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [421 595] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [595 421] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2000
		;;

	A6 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [298 421] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [421 298] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2001
		;;

	
	B5 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [516 729] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [729 516] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=45
		;;

	legal )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [612 1008] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [1008 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=3
		;;

	letter )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [612 792] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [792 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2
		;;

	halfletter|55x85 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [396 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [612 396] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2008
		;;

	
	executive )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [522 756] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [756 522] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=1
		;;

	folio|825x13 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [595 935] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [935 595] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2012
		;;

	8x13 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [576 936] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [936 576] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2011
		;;

	85x13 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [612 936] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [936 612] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2007
		;;

	16k )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [553 757] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [757 553] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2031
		;;
		
	envelope|envelop-com10 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [297 684] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [684 297] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=81
		;;
	
	
	env-monarch )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [279 540] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [540 279] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=80
		;;
	
	
	env-c5 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [459 649] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [649 459] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=91
		;;
	
	
	env-c6 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [323 459] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [459 323] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2022
		;;
	
	env-dl )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [311 623] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
  		 	/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [623 311] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=90
		;;
	
	
	* )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [612 792] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true
			/Policies << /PageSize 2 /MediaType 2 >>
			/PageSize [792 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2
		;;

	esac

##########################
# Input Tray Selection	(Default=AUTOSELECT)
##########################
	case "$itray" in
	auto )
		(
		printf "\033&l7H" >> $pcl_tmp
		)
		;;

	bypass )
		(
		printf "\033&l2H" >> $pcl_tmp
		echo "<</MediaPosition 0>> setpagedevice" >> $device_tmp
		)
		;;

	tray1 )
		(
		printf "\033&l8H" >> $pcl_tmp
		echo "<</MediaPosition 1>> setpagedevice" >> $device_tmp
		)
		;;

	tray2 )
		(
		printf "\033&l1H" >> $pcl_tmp
		echo "<</MediaPosition 2>> setpagedevice" >> $device_tmp
		)
		;;

	tray3 )
		(
		printf "\033&l4H" >> $pcl_tmp
		echo "<</MediaPosition 3>> setpagedevice" >> $device_tmp
		)
		;;

	* )
		(
		printf "\033&l7H" >> $pcl_tmp
#		echo "<</MediaPosition 1>> setpagedevice" >> $device_tmp
		)
		;;

	esac
	

##########################
#
#  Edge Smoothing (Default=On)
#
##########################

	case "$smoothing" in
	off )
		(
		echo "<< /PostRenderingEnhance false >> setpagedevice " >> $device_tmp
		echo "@PJL SET SMOOTHING=OFF" >> $pjl_tmp
		)
		;;
	on )
		(
		echo "<</PostRenderingEnhance true
			/PostRenderingEnhanceDetails <</Type 34 /OutputMode 0>>
			>> setpagedevice " >> $device_tmp
		echo "@PJL SET SMOOTHING=ON" >> $pjl_tmp
		)
		;;
	* )
		(
		echo "<</PostRenderingEnhance true
			/PostRenderingEnhanceDetails <</Type 34 /OutputMode 0>>
			>> setpagedevice " >> $device_tmp
		echo "@PJL SET SMOOTHING=ON" >> $pjl_tmp
		)
		;;
	esac
##########################
#
# Gradation (Default=Fast)
#
##########################

		case "$gradation" in

		fast )
			(
			echo "1 setbitsperpixel" >> $device_tmp
			)
			;;

		standard )
			(
			echo "2 setbitsperpixel" >> $device_tmp
			)
			;;

		* )
			(
			echo "1 setbitsperpixel" >> $device_tmp
			)
			;;

		esac
##########################
#
# Color / Grayscale (Default=yes)
#
##########################

		case "$color" in

		yes|on )
			(
			echo "(cmyk) RCsetdevicecolor" >> $device_tmp
			echo "@PJL SET DATAMODE=COLOR" >> $pjl_tmp
			)
			;;

		no|off )
			(
			echo "(gray) RCsetdevicecolor" >> $device_tmp
			echo "@PJL SET DATAMODE=GRAYSCALE" >> $pjl_tmp
			)
			;;

		* )
			(
			echo "(cmyk) RCsetdevicecolor" >> $device_tmp
			echo "@PJL SET DATAMODE=COLOR" >> $pjl_tmp
			)
			;;	

		esac

##########################
#
# Color Settings (Default=Fine)
#
##########################

		case "$colorsettings" in

		off )
			(
			echo "(none) RCsetrgbrevision" >> $device_tmp
			)
			;;

		fine )
			(
			echo "(precision-std) RCsetrgbrevision" >> $device_tmp
			)
			;;

		superfine )
			(
			echo "(precision-dark) RCsetrgbrevision" >> $device_tmp
			)
			;;

		* )
     			(
			echo "(precision-std) RCsetrgbrevision" >> $device_tmp
			)
			;;
		esac

##########################
#
# Color Profile (Default=Auto)
#
##########################

		case "$profile" in

		auto )
			(
			echo "(auto) RCsetcolorprofile" >> $device_tmp
			)
			;;

		usersetting )
			(
			echo "(user) RCsetcolorprofile" >> $device_tmp
			)
			;;

		photo|photographic )
			(
			echo "(photo) RCsetcolorprofile" >> $device_tmp
			)
			;;

		business|presentation )
			(
			echo "(business) RCsetcolorprofile" >> $device_tmp
			)
			;;

		solidcolor )
			(
			echo "(colorimetric) RCsetcolorprofile" >> $device_tmp
			)
			;;

		simulation )
			(
			echo "(hybrid10) RCsetcolorprofile" >> $device_tmp
			)
			;;

		* )
			(
			echo "(auto) RCsetcolorprofile" >> $device_tmp
			)
			;;

		esac

##########################
#
# Dithering (Default=Auto)
#
##########################

		case "$dithering" in

		auto )
			(
			echo "(auto) RCsethalftonetype" >> $device_tmp
			)
			;;

		photo* )
			(
			echo "(photo) RCsethalftonetype" >> $device_tmp
			)
			;;

		text )
			(
			echo "(text) RCsethalftonetype" >> $device_tmp
			)
			;;

		graphics )
			(
			echo "(graphic) RCsethalftonetype" >> $device_tmp
			)
			;;
		
		usersetting )
			(
			echo "(user) RCsethalftonetype" >> $device_tmp
			)
			;;

		* )
			(
			echo "(auto) RCsethalftonetype" >> $device_tmp
			)
			;;

		esac

#################################################
#
# Gray Reproduction (Text / Line Art) (Default=K)
#
#################################################

		case "$black" in

		k )
			(
			echo "(on) RCsetpureblack" >> $device_tmp
			)
			;;

		cmyk )
			(
			echo "(off) RCsetpureblack" >> $device_tmp
			)
			;;

		gray )
			(
			echo "(gray) RCsetpureblack" >> $device_tmp
			)
			;;
		
		* )
			(
			echo "(on) RCsetpureblack" >> $device_tmp
			)
			;;

		esac

##########################
#
# Black	Over Print (Default=Off)
#
##########################

		case "$blackoverprint" in

		off )
			(
			echo "(off) RCsetblackoverprint" >> $device_tmp
			)
			;;

		on )
			(
			echo "(on) RCsetblackoverprint" >> $device_tmp
			)
			;;

		* )
			(
			echo "(off) RCsetblackoverprint" >> $device_tmp
			)
			;;

		esac


##########################
#
# Toner Saver (Default=Off)
#
##########################

	case "$toner" in
	off )
		(
		echo "@PJL SET ECONOMODE=OFF" >> $pjl_tmp
		)
		;;
	on )
		(
		echo "<</PostRenderingEnhance true
			/PostRenderingEnhanceDetails <</Type 34 /OutputMode 3>>
			>> setpagedevice " >> $device_tmp
		echo "@PJL SET ECONOMODE=ON" >> $pjl_tmp
		)
		;;
	* )
		(
		echo "@PJL SET ECONOMODE=OFF" >> $pjl_tmp
		)
		;;
	esac

##########################
#
# Resolution (Default=600)
#
##########################

		case "$resolution" in

		1200 )
			(
			echo "<</HWResolution[1200 1200]>>setpagedevice
			/version (3010.103) def" >> $device_tmp
			echo "@PJL SET RESOLUTION=1200" >> $pjl_tmp
			)
			;;

		600 )
			(
			echo "<</HWResolution[600 600]>>setpagedevice
  			/version (3010.103) def" >> $device_tmp
			echo "@PJL SET RESOLUTION=600" >> $pjl_tmp
			)
			;;

		* )
			(
			echo "<</HWResolution[600 600]>>setpagedevice
  			/version (3010.103) def" >> $device_tmp
			echo "@PJL SET RESOLUTION=600" >> $pjl_tmp
			)
			;;

		esac

###########################
# Duplex (Default=OFF)
##########################
	case "$duplex" in
	off )
		(
		echo "<</Duplex false>>setpagedevice" >> $device_tmp

		echo "@PJL SET DUPLEX=OFF" >> $pjl_tmp
		)
		duplex_type=0
		;;

	long )
		(
		echo "<</Duplex true /Tumble false>>setpagedevice" >> $device_tmp

		echo "@PJL SET DUPLEX=ON" >> $pjl_tmp
		echo "@PJL SET BINDING=LONGEDGE" >> $pjl_tmp
		)
		duplex_type=1
		;;

	short )
		(
		echo "<</Duplex true /Tumble true>>setpagedevice" >> $device_tmp

		echo "@PJL SET DUPLEX=ON" >> $pjl_tmp
		echo "@PJL SET BINDING=SHORTEDGE" >> $pjl_tmp
		)
		duplex_type=2
		;;

	* )
		(
		echo "<</Duplex false>>setpagedevice" >> $device_tmp

		echo "@PJL SET DUPLEX=OFF" >> $pjl_tmp
		)
		duplex_type=0
		;;

	esac

##########################
# Collate (Default=off)
##########################
	case "$collate" in
	off )
		(
		echo "<</Collate false>>setpagedevice" >> $device_tmp

		echo "@PJL SET JOBOFFSET=OFF" >> $pjl_tmp
		printf "\033&l%dx" $copies >> $pcl_tmp
		)
		;;

	on )
		(
		echo "<</Collate true
			/CollateDetails	<</Type 6 /AlignSet false>> 
			>>setpagedevice" >> $device_tmp

		echo "@PJL SET QTY=$copies" >> $pjl_tmp
		printf "\033&l1x" >> $pcl_tmp
		)
		;;

	* )
		(
		echo "<</Collate false>>setpagedevice" >> $device_tmp

		echo "@PJL SET JOBOFFSET=OFF" >> $pjl_tmp
		printf "\033&l%dx" $copies >> $pcl_tmp
		)
		;;
	esac

##########################
# Media Type (Default=PLAIN)
##########################

	case "$mediatype" in
	
	plain )
		(
		printf "\033&n6WdPlain" >> $pcl_tmp
		
		echo "<< /MediaType (Plain) >> setpagedevice" >> $device_tmp
		)
		;;

	recycled )
		(
		printf "\033&n9WdRecycled" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=RECYCLED" >> $pjl_tmp
		echo "<< /MediaType (Recycled) >> setpagedevice" >> $device_tmp
		)
		;;

	special )
		(
		printf "\033&n8WdSpecial" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=SPECIAL" >> $pjl_tm
		echo "<< /MediaType (Special) >> setpagedevice" >> $device_tmp
		)
		;;

	color )
		(
		printf "\033&n6WdColor" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=COLOR" >> $pjl_tm
		echo "<< /MediaType (Color) >> setpagedevice" >> $device_tmp
		)
		;;

	letterhead )
		(
		printf "\033&n11WdLetterhead" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=LETTERHEAD" >> $pjl_tm
		echo "<< /MediaType (Letterhead) >> setpagedevice" >> $device_tmp
		)
		;;
		
	preprinted )
		(
		printf "\033&n11WdPreprinted" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=PREPRINTED" >> $pjl_tm
		echo "<< /MediaType (Preprinted) >> setpagedevice" >> $device_tmp
		)
		;;

	prepunched )
		(
		printf "\033&n11WdPrepunched" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=PREPUNCHED" >> $pjl_tm
		echo "<< /MediaType (Prepunched) >> setpagedevice" >> $device_tmp
		)
		;;

	
	bond )
		(
		printf "\033&n5WdBond" >> $pcl_tmp
#		echo "@PJL SET MEDIATYPE=BOND" >> $pjl_tm
		echo "<< /MediaType (Bond) >> setpagedevice" >> $device_tmp
		)
		;;

	* )
		(
		printf "\033&n6WdPlain" >> $pcl_tmp

		echo "<< /MediaType (Plain) >> setpagedevice" >> $device_tmp
		)
		;;

	esac

##########################
#  Output Bin (Default= default)
##########################
	case "$outbin" in
	default )
		(
		echo "<</OutputType null>>setpagedevice" >> $device_tmp
		)
		;;

	* )
		(
		echo "<</OutputType null>>setpagedevice" >> $device_tmp
		)
		;;

	esac


##########################
# Pitch (characters per inch)
# Delay Pitch command for 2up printing.
##########################
	case $pitch in
	0 )
		pitch=10
		;;
	* )
		;;
	esac


##########################
# Font Size (characters per inch)
##########################
	case $fontsize in
	0 )
		;;
	* )
		printf "\033(s%.2fH" $fontsize >> $pcl_tmp
		my_lpi=`expr $fontsize \* 3 \/ 5`

		if [ $my_lpi -lt 2 ]
		then
		    my_lpi=1
		elif [ $my_lpi -lt 3 ]
		then
		    my_lpi=2
		elif [ $my_lpi -lt 4 ]
		then
		    my_lpi=3
		elif [ $my_lpi -lt 6 ]
		then
		    my_lpi=4
		elif [ $my_lpi -lt 8 ]
		then
		    my_lpi=6
		elif [ $my_lpi -lt 12 ]
		then
		    my_lpi=8
		elif [ $my_lpi -lt 16 ]
		then
		    my_lpi=12
		elif [ $my_lpi -lt 24 ]
		then
		    my_lpi=16
		else
		    my_lpi=24
		fi

		printf "\033&l%dD" $my_lpi >> $pcl_tmp
		;;
	esac
    

##########################
# lpi (text lines per inch)
##########################
	case $lpi in
	0 )
		;;
	* )
		printf "\033&l%dD" $lpi >> $pcl_tmp
		;;
	esac

############################
#
# Vertical Motion Index
#
############################
	case $vmi in
	0 )
		;;
	* )
		printf "\033&l%dC"  $vmi >> $pcl_tmp
		;;
	esac
	
############################
#
# Horizontal Motion Index
#
############################
	case $hmi in
	0 )
		;;
	* )
		printf "\033&k%dH"  $hmi >> $pcl_tmp
		;;
	esac
	

#######################################
#  2-up Layout (variable initialization)
#######################################

	case $layout in
	1 )
		case $papersize in
		1 )							# Executive
			width=3028
       			height=2051
			;;
		2 )							# Letter
			width=3178
       			height=2366
			;;
		3 )							# Legal
			width=4058
       			height=2366
			;;
		
		26 )						# A4
			width=3380
       			height=2289
			;;
		
		45 )						# B5
			width=2909
       			height=1987
			;;
		
		80 )						# Mon-Env.
			width=2100
       			height=1000
			;;
		81 )						# Com10Env.
			width=2700
       			height=1060
			;;
		90 )						# DL-Env.
			width=2450
       			height=1090
			;;
		91 )						# C5-Env.
			width=2550
       			height=1790
			;;
		
		2000 )						# A5
			width=2359
       			height=1640
			;;
		2001 )						# A6
			width=1628
       			height=1135
			;;
		2007 )						# 8.5 x 13
			width=3760
       			height=2377
			;;
		2008 )						# HalfLetter
			width=2426
       			height=1549
			;;
		2011 )						# 8 x 13
			width=3760
       			height=2227
			;;
		2012 )						# folio
			width=3760
       			height=2302
			;;
		
		2022 )						# C6-Env.
			width=1750
       			height=1200
			;;
		
		2031 )						# 16k
			width=3010
       			height=2163
       			;;
		* )							# Default (Letter)
			width=3178
        		height=2366
			;;
		esac
		;;
	* )
		;;	esac


#######################################
#
#######################################


generate_custom_banner()
{
    printf "[*****************************************]\n" > $banner_text_tmp
    printf "[*                                       *]\n" >> $banner_text_tmp
    printf "[* User Name : %25.25s *]\n" $user_name >> $banner_text_tmp
    printf "[* Host : %30.30s *]\n" $host >> $banner_text_tmp
    printf "[*                                       *]\n" >> $banner_text_tmp
    printf "[*****************************************]\n" >> $banner_text_tmp
    printf "[*                                       *]\n" >> $banner_text_tmp
if [ -n "$title" ]; then
    printf "[* Title : %29.29s *]\n" "$title" >> $banner_text_tmp
fi
case `uname -s` in
HP-UX)
    printf "[* Request Id : %24.24s *]\n" $request_id >> $banner_text_tmp
    ;;
*)
    printf "[* Job Name : %26.26s *]\n" $print_file_name >> $banner_text_tmp
    ;;
esac
#    printf "[* Date : %30.30s *]\n" `date +'%d/%m/%Y'` >> $banner_text_tmp
    banner_date=`date |awk '{printf("%3s %02s, %4s",$2,$3,$6)}'`
    echo   "[* Date :                   $banner_date *]" >> $banner_text_tmp
    printf "[* Time : %30.30s *]\n" `date +'%H:%M:%S'` >> $banner_text_tmp
    printf "[*                                       *]\n" >> $banner_text_tmp
    printf "[*                                       *]\n" >> $banner_text_tmp
    printf "[* Unix Filter Version : %15.15s *]\n" $version >> $banner_text_tmp
    printf "[*                                       *]\n" >> $banner_text_tmp
    printf "[*****************************************]\n" >> $banner_text_tmp

#   a2ps -B -1 $banner_text_tmp -o $banner_ps_tmp
    printf "\033%%-12345X" > $banner_ps_tmp
    echo "@PJL SET JOB NAME=\"FilterBanner\"" >> $banner_ps_tmp
    echo "@PJL ENTER LANGUAGE=PCL" >> $banner_ps_tmp
    printf "\033E" >> $banner_ps_tmp

    case $Orientation in
	0 )
	    printf "\033&l0O" >> $banner_ps_tmp
	    ;;
	1 )
	    printf "\033&l1O" >> $banner_ps_tmp
	    ;;
	2 )
	    printf "\033&l2O" >> $banner_ps_tmp
	    ;;
	3 )
	    printf "\033&l3O" >> $banner_ps_tmp
	    ;;
	* )
	    printf "\033&l0O" >> $banner_ps_tmp
	    ;;
    esac

	printf "\033(8U\033(s0p%.2fh0s0b4099T" 10 >> $banner_ps_tmp

    echo >> $banner_ps_tmp
    cat $banner_text_tmp | awk '{print $0, "\r"}' >> $banner_ps_tmp
    printf "\033%%-12345X" >> $banner_ps_tmp
}

##########################
# LNX_TUB_E
#
# End of the Body
##########################
