#############################
#
# Unix Printing Interface Program
# COPYRIGHT (C) 1999-2011 RICOH COMPANY,LTD.
# All rights reserved
#
###########################
###########################
# 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.]*\)'`
	    ;;
	    
	vsi* )
	    vsi=`expr $i : 'vsi\([0-9.]*\)'`
	    ;;

###########################
# HMI Spacing
###########################
	hmi* )
	    hmi=`expr $i : 'hmi\([0-9.]*\)'`
	    ;;
	    
	hsi* )
	    hsi=`expr $i : 'hsi\([0-9.]*\)'`
	    ;;

##########################
#  User Code
##########################

	usercode=* )
		usercode=`parse ${i}`
		if test -n "$usercode";then
			usercode=`expr $usercode : '\([0-9]\{1,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|cpx )
	    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,9\}\)'`
		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]\{4,8\}\)'`
		fi
		;;
		
	coversheet=* )
		coversheet=`parse ${i}`
		;;
		
	slipsheet=* )
		slipsheet=`parse ${i}`
		;;
	
	inputtray=* )
		inputtray=`parse ${i}`
		;;	

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

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

####################
#
# Collate
#
####################
	collate=* )
	    collate=`parse ${i}`
	    ;;

	collate* )
		collate=`expr $i : 'collate\(.*\)'`
		;;

########################
#
# Z-Folding
#
########################

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

########################
#
# Edge to Edge
#
########################

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

###########################
#
#  Fit to Paper
#
###########################

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

###########################
#
# Resolution
#
###########################

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

        resolution* )
		resolution=`expr $i : 'resolution\(.*\)'`
		;;

####################
#
# Print Mode
#
####################
	printmode=* )
	    printmode=`parse ${i}`
	    ;;

	printmode* )
		printmode=`expr $i : 'printmode\(.*\)'`
		;;

####################
#
# Economy Color
#
####################
	economy=* )
	    economy=`parse ${i}`
	    ;;

######################
#
# Dithering Type
#
#####################
	dithering=* )
	    dithering=`parse ${i}`
	    ;;

	dithering* )
		dithering=`expr $i : 'dithering\(.*\)'`
		;;

#####################
#
# Image Smoothing
#
#####################

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

	imagesmoothing* )
		imagesmoothing=`expr $i : 'imagesmoothing\(.*\)'`
		;;

#################
#
# Color Printing
#
#################
	
	colorprinting=* )
		colorprinting=`parse ${i}`
		;;

    color )
        colorprinting="on"
        ;;

    gray )
        colorprinting="off"
        ;;

###################
#
# Color Setting
#
###################

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

####################
#
# Color Profile
#
####################

	colorprofile=* )
		colorprofile=`parse ${i}`
		;;
####################
#
# Gradation
#
####################

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


####################
#
# Gray Reproduction
#
####################

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

###################
#
# Black Over print
#
###################

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

#################################
#
# 2 Color Printing
#
#################################

    cyan=* )
        cyan=`parse ${i}`
        ;;
    magenta=* )
        magenta=`parse ${i}`
        ;;
    yellow=* )
        yellow=`parse ${i}`
        ;;
    black=* )
        black=`parse ${i}`
        ;;

############################
#
# Separation CMYK
#
############################		

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

########################
#
# CMYK Simulation
#
########################
		
	cmyksimulation=*)
		cmyksimulation=`parse ${i}`
		;;

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

	simplex )
		duplex="off"
		;;
	duplex|vd )
		duplex="long"
		;;
	hd|hduplex )
		duplex="short"
		;;


##################
#
# Mediatype
#
##################
	mediatype=* )
	    mediatype=`parse ${i}`
	    ;;

	mtype* )
		mediatype=`expr $i : 'mtype\(.*\)'|tr "[:upper:]" "[:lower:]"`
		;;

#################################
#
# Front Cover Print Mode
#
#################################

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

#################################
#
# Front Cover Input Tray
#
#################################

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

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

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

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

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

	itray=* )
	    itray=`parse ${i}`
	    ;;
	manual )
		itray="bypass"
		;;
	tray1|tray2 )
		itray="$i"
		;;

##################################
#
# Output bin update at 01/12/2005
#
##################################
	outbin=* )
	    outbin=`parse ${i}`
	    ;;

	bin0 )
		outbin="mbin1"
		;;
	bin1 )
		outbin="mbin2"
		;;
	bin2 )
		outbin="mbin3"
		;;
	bin3 )
		outbin="mbin4"
		;;
	bin4 )
		outbin="mbin5"
		;;
	bin5 )
		outbin="mbin6"
		;;
	bin6 )
		outbin="mbin7"
		;;
	bin7 )
		outbin="mbin8"
		;;
	bin8 )
		outbin="mbin9"
		;;
	standardbin )
		outbin="standard"
		;;
	printerdefault)
		outbin="default"
		;;
	upperbin|finisher|finisherproof )
		outbin="finisherupper"
		;;
	shift|finishershift )
		outbin="finishershift"
		;;
	internaltray1 )
		outbin="internaltray1"
		;;
	
	internaltray2 )
		outbin="internaltray2"
		;;
	externalbin )
	        outbin="external"
	        ;;
	        
########################
#
# Punch holes
#
########################

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

	punch* )
		punch=`expr $i : 'punch\(.*\)'`
		;;
########################
#
# Staple Features
#
########################

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

	staple* )
		staple=`expr $i : 'staple\(.*\)'`
		;;

#########################
#
# Paper size
#
#########################
	paper=* )
	    paper=`parse ${i}`
	    ;;
	A4|A5|A6|B5|B6|legal|letter|halfletter|executive|8x13|folio|825x13|85x13|16k|dlenv|c5env|c6env|monenv|com10env )
		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

if [ "$vmi" -ne 0 ];then
	ln=
fi

if [ -n "$ln" ];then
    if [ "$ln" -gt 0 ];then
        case "$paper" in
        executive )
            _ln=10.5
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=7.25
            fi
            ;;
        letter )
            _ln=11
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.5
            fi
            ;;
        legal )
            _ln=14
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.5
            fi
            ;;
        12x18 )
            _ln=18
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=12
            fi
            ;;
        11x17 )
            _ln=17
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=11
            fi
            ;;
        55x85 )
            _ln=8.5
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=5.5
            fi
            ;;
        A3 )
            _ln=16.54
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=11.69
            fi
            ;;
        A4 )
            _ln=11.69
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.27
            fi
            ;;
        A5 )
            _ln=8.27
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=5.83
            fi
            ;;
        A6 )
            _ln=5.83
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=4.13
            fi
            ;;
        B4 )
            _ln=14.33
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=10.12
            fi
            ;;
        B5 )
            _ln=10.12
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=7.17
            fi
            ;;
        B6 )
            _ln=7.17
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=5.04
            fi
            ;;
        825x13 )
            _ln=13
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.25
            fi
            ;;
        85x13 )
            _ln=13
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.5
            fi
            ;;
        8x13 )
            _ln=13
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8
            fi
            ;;
        8x10 )
            _ln=10
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8
            fi
            ;;
        825x14 )
            _ln=14
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.25
            fi
            ;;
        10x14 )
            _ln=14
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=10
            fi
            ;;
        10x15 )
            _ln=15
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=10
            fi
            ;;
        11x14 )
            _ln=14
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=11
            fi
            ;;
        11x15 )
            _ln=15
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=11
            fi
            ;;
        126x192 )
            _ln=19.2
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=12.6
            fi
            ;;
        126x185 )
            _ln=18.5
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=12.6
            fi
            ;;
        13x18 )
            _ln=18
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=13
            fi
            ;;
        13x192 )
            _ln=19.2
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=13
            fi
            ;;
        13x19 )
            _ln=19
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=13
            fi
            ;;
        sra3 )
            _ln=17.72
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=12.6
            fi
            ;;
        sra4 )
            _ln=12.6
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.9
            fi
            ;;
        com10env )
            _ln=9.5
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=4.125
            fi
            ;;
        monenv )
            _ln=7.5
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=3.875
            fi
            ;;
        dlenv )
            _ln=8.66
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=4.33
            fi
            ;;
        c6env )
            _ln=6.38
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=4.49
            fi
            ;;
        c5env )
            _ln=9.02
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=6.38
            fi
            ;;
        8k )
            _ln=15.35
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=10.51
            fi
            ;;
        16k )
            _ln=10.51
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=7.68
            fi
            ;;
        226x310 )
            _ln=12.21
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=8.9
            fi
            ;;
        310x432 )
            _ln=17.01
            if [ "$Orientation" -eq 1 -o "$Orientation" -eq 3 ];then
                _ln=12.21
            fi
            ;;
        esac
        OS_NAME=`uname -s`
        case "${OS_NAME}" in
        SunOS )
            vmi=`echo $ln|/usr/xpg4/bin/awk -v l="${_ln}" '{printf("%.2f",(l-1)*48/$1)}'`
            ;;
        Linux )
            vmi=`echo $ln|gawk -v l="${_ln}" '{printf("%.2f",(l-1)*48/$1)}'`
            ;;
        * )
            vmi=`echo $ln|awk -v l="${_ln}" '{printf("%.2f",(l-1)*48/$1)}'`
            ;;
        esac
    else
        vmi=8
    fi
fi

##############################################################
# The order below is somehow important:
#	paper have to be 1st
##############################################################
    case "$compress" in
	c )
	    	printf "\033&k2S" >> $pcl_tmp
		;;
	compress )
	    	printf "\033&k2S" >> $pcl_tmp
		;;
	cpx )
	    	printf "\033&k2S" >> $pcl_tmp		
		;;
	* )
		;;
	esac
##########################
# Print Job Type
##########################
	case "$jobtype" in
	
	locked )
	    Custom_Banner=0
	    (
	    user_id=`date +%R`" $userid"
	    echo "@PJL SET LOCKEDPRINT=\"$password\"" >> $pjl_tmp
	    echo "@PJL SET USERID=\"$user_id\"" >> $pjl_tmp
	    
	    echo "@PJL SET LOCKEDPRINT=\"$password\"" >> $banner_pjl_tmp
	    echo "@PJL SET USERID=\"$user_id\"" >> $banner_pjl_tmp
	    )
	    ;;
	    
	* )
	    ;;

	esac

##########################
# Front Cover Print Mode
##########################
	case "$fcmode" in
	off )
	    (
	    echo "@PJL SET FRONTCOVERPRINT=OFF" >> $pjl_tmp
	    echo "@PJL SET FRONTCOVERPRINT=OFF" >> $banner_pjl_tmp
	    echo "<< /FrontCoverPrint 0 >> setsystemparams" >> $device_tmp
	    echo "<< /FrontCoverTray 1 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	
	blank )
	    Custom_Banner=0
	    (
	    echo "@PJL SET FRONTCOVERPRINT=BLANK" >> $pjl_tmp
	    echo "<< /FrontCoverPrint 1 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	    
	oneside )
	    Custom_Banner=0
	    (
	    echo "@PJL SET FRONTCOVERPRINT=SIMPLEXCOPY" >> $pjl_tmp
	    echo "<< /FrontCoverPrint 2 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	
	bothsides )
	    Custom_Banner=0
	    (
	    echo "@PJL SET FRONTCOVERPRINT=DUPLEXCOPY" >> $pjl_tmp
	    echo "<< /FrontCoverPrint 3 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	
	* )
	    (
	    echo "@PJL SET FRONTCOVERPRINT=OFF" >> $pjl_tmp
	    echo "@PJL SET FRONTCOVERPRINT=OFF" >> $banner_pjl_tmp
	    echo "<< /FrontCoverPrint 0 >> setsystemparams" >> $device_tmp
	    echo "<< /FrontCoverTray 1 >> setsystemparams" >> $device_tmp
	    )
	    ;;

	esac

##########################
# Front Cover Input Tray
##########################
if [ "${fcmode}" = "blank" -o "${fcmode}" = "oneside" -o "${fcmode}" = "bothsides" ];then
	case "$fctray" in
	tray1 )
	    (
	    echo "@PJL SET FRONTCOVERPRINTTRAY=TRAY1" >> $pjl_tmp
	    echo "<< /FrontCoverTray 1 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	
	tray2 )
	    (
	    echo "@PJL SET FRONTCOVERPRINTTRAY=TRAY2" >> $pjl_tmp
	    echo "<< /FrontCoverTray 2 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	    
	bypass )
	    (
	    echo "@PJL SET FRONTCOVERPRINTTRAY=TRAY4" >> $pjl_tmp
	    echo "<< /FrontCoverTray 0 >> setsystemparams" >> $device_tmp
	    )
	    ;;
	
	* )
	    (
	    echo "@PJL SET FRONTCOVERPRINTTRAY=TRAY1" >> $pjl_tmp
	    )
	    ;;
	    
	esac
fi

########################################
#
# UserCode for Text file format
#
########################################
if [ -n "$usercode" ];then
	echo "@PJL SET USID=$usercode" >> $pjl_tmp
	echo "@PJL SET USID=$usercode" >> $banner_pjl_tmp
fi

##########################
# Resolution (Default=600dpi)
##########################
	case "$resolution" in

	* )
		(
		echo "@PJL SET RESOLUTION=600" >> $pjl_tmp
		echo "@PJL SET RESOLUTION=600" >> $banner_pjl_tmp
		)
		;;

	esac


##########################
# Economy Color
##########################
	case "$economy" in
	off )
		(
			echo "@PJL SET ECONOMODE=OFF" >> $pjl_tmp
			echo "@PJL SET ECONOMODE=OFF" >> $banner_pjl_tmp
			echo "globaldict /settonersave known {false settonersave} if" >> $device_tmp
		)
		;;

	on )
		(
			echo "@PJL SET ECONOMODE=ON" >> $pjl_tmp
			echo "@PJL SET ECONOMODE=ON" >> $banner_pjl_tmp
			echo "globaldict /settonersave known {true settonersave} if" >> $device_tmp
		)
		;;

		
	* )
		(
			echo "@PJL SET ECONOMODE=OFF" >> $pjl_tmp
			echo "@PJL SET ECONOMODE=OFF" >> $banner_pjl_tmp
			echo "globaldict /settonersave known {false settonersave} if" >> $device_tmp
		)
		;;
	esac


##########################
# Copies 
##########################
	case "$copies" in
	1 )
		;;

	* )
		(
		echo "%%BeginNonPPDFeature: NumCopies $copies" >> $device_tmp
		echo "$copies  /languagelevel where {pop languagelevel}{1} ifelse" >> $device_tmp
		echo "2 ge { 1 dict dup /NumCopies 4 -1 roll put setpagedevice }{ userdict /#copies 3 -1 roll put } ifelse" >> $device_tmp
		echo "%%EndNonPPDFeature" >> $device_tmp
		)
		;;
	esac


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

		case "$colorprinting" in

		on )
			(
			echo "%%BeginFeature: *HQColorMode COLOR" >> $device_tmp
			echo "<< /ProcessColorModel /DeviceCMYK >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp

			echo "@PJL SET DATAMODE=COLOR" >> $pjl_tmp
			echo "@PJL SET DATAMODE=COLOR" >> $banner_pjl_tmp
			)
			;;

		off )
			(
			echo "%%BeginFeature: *HQColorMode BW" >> $device_tmp
			echo "<< /ProcessColorModel /DeviceGray >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp

			echo "@PJL SET DATAMODE=BW" >> $pjl_tmp
			echo "@PJL SET DATAMODE=BW" >> $banner_pjl_tmp
			)
			;;

		* )
			(
			echo "%%BeginFeature: *HQColorMode COLOR" >> $device_tmp
			echo "<< /ProcessColorModel /DeviceCMYK >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp

			echo "@PJL SET DATAMODE=COLOR" >> $pjl_tmp
			echo "@PJL SET DATAMODE=COLOR" >> $banner_pjl_tmp
			)
			;;

		esac

##########################
#
# CMYK Simulation (Default=Off)
#
##########################

		case "$cmyksimulation" in

		off )
			(
			echo "%%BeginFeature: *HQColorSimul OFF" >> $device_tmp
			echo "globaldict /BrightColorInkSimulation known {" >> $device_tmp
			echo "isOff  BrightColorInkSimulation" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		usoffsetprint )
			(
			echo "%%BeginFeature: *HQColorSimul USSWOP" >> $device_tmp
			echo "globaldict /BrightColorInkSimulation known {" >> $device_tmp
			echo "isUSOffset  BrightColorInkSimulation" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		euroscale )
			(
			echo "%%BeginFeature: *HQColorSimul EUROSCALE" >> $device_tmp
			echo "globaldict /BrightColorInkSimulation known {" >> $device_tmp
			echo "isEuroscale  BrightColorInkSimulation" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		palettecolor )
			(
			echo "%%BeginFeature: *HQColorSimul PALETTE" >> $device_tmp
			echo "globaldict /BrightColorInkSimulation known {" >> $device_tmp
			echo "isPaletteColor  BrightColorInkSimulation" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;
		
		* )
			(
			echo "%%BeginFeature: *HQColorSimul OFF" >> $device_tmp
			echo "globaldict /BrightColorInkSimulation known {" >> $device_tmp
			echo "isOff  BrightColorInkSimulation" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		esac
		
##########################
#
# Color Profile (Default is Auto)
#
##########################

		case "$colorprofile" in

		off )
			(
			echo "%%BeginFeature: *HQColorRendering OFF" >> $device_tmp
			echo "globaldict /BrightColorTextColorTreatment known {" >> $device_tmp
			echo "ctNoTreatment BrightColorTextColorTreatment" >> $device_tmp
			echo "ctNoTreatment BrightColorGraphicsColorTreatment" >> $device_tmp
			echo "ctNoTreatment BrightColorImageColorTreatment" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		photo )
			(
			echo "%%BeginFeature: *HQColorRendering PHOTOGRAPHIC" >> $device_tmp
			echo "globaldict /BrightColorTextColorTreatment known {" >> $device_tmp
			echo "ctPerceptural BrightColorTextColorTreatment" >> $device_tmp
			echo "ctPerceptural BrightColorGraphicsColorTreatment" >> $device_tmp
			echo "ctPerceptural BrightColorImageColorTreatment" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		presentation )
			(
			echo "%%BeginFeature: *HQColorRendering PRESENTATION" >> $device_tmp
			echo "globaldict /BrightColorTextColorTreatment known {" >> $device_tmp
			echo "ctSaturation BrightColorTextColorTreatment" >> $device_tmp
			echo "ctSaturation BrightColorGraphicsColorTreatment" >> $device_tmp
			echo "ctSaturation BrightColorImageColorTreatment" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		solidcolor )
			(
			echo "%%BeginFeature: *HQColorRendering TEXT" >> $device_tmp
			echo "globaldict /BrightColorTextColorTreatment known {" >> $device_tmp
			echo "ctRelative BrightColorTextColorTreatment" >> $device_tmp
			echo "ctRelative BrightColorGraphicsColorTreatment" >> $device_tmp
			echo "ctRelative BrightColorImageColorTreatment" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		* )
			(
			echo "%%BeginFeature: *HQColorRendering TEXT" >> $device_tmp
			echo "globaldict /BrightColorTextColorTreatment known {" >> $device_tmp
			echo "ctRelative BrightColorTextColorTreatment" >> $device_tmp
			echo "ctRelative BrightColorGraphicsColorTreatment" >> $device_tmp
			echo "ctRelative BrightColorImageColorTreatment" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		esac

##########################
#
# Black	Over Print (Default is On)
#
##########################

		case "$blackoverprint" in

		off )
			(
			echo "%%BeginFeature: *HQBlackTextOverprint Off" >> $device_tmp
			echo "systemdict /setblackoverprint known {" >> $device_tmp
			echo "false setblackoverprint" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			
            echo "@PJL SET BLACKOVERPRINT=OFF" >> $pjl_tmp
            echo "@PJL SET BLACKOVERPRINT=OFF" >> $banner_pjl_tmp
			)
			;;

		on )
			(
			echo "%%BeginFeature: *HQBlackTextOverprint Text" >> $device_tmp
			echo "systemdict /setblackoverprint known {" >> $device_tmp
			echo "true setblackoverprint" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			
            echo "@PJL SET BLACKOVERPRINT=ON" >> $pjl_tmp
            echo "@PJL SET BLACKOVERPRINT=ON" >> $banner_pjl_tmp
			)
			;;

		* )
			(
			echo "%%BeginFeature: *HQBlackTextOverprint Text" >> $device_tmp
			echo "systemdict /setblackoverprint known {" >> $device_tmp
			echo "true setblackoverprint" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			
            echo "@PJL SET BLACKOVERPRINT=OFF" >> $pjl_tmp
            echo "@PJL SET BLACKOVERPRINT=OFF" >> $banner_pjl_tmp
			)
			;;

		esac

###################################
# Dithering (Default=auto) PS only
###################################
	case "$dithering" in

	auto )
       (
		echo "%%BeginFeature: *HQScreenMode Auto" >> $device_tmp
		echo "globaldict /BrightColorTextHalftone known {" >> $device_tmp
		echo "htHighLPI BrightColorTextHalftone" >> $device_tmp
		echo "htLowLPI BrightColorGraphicsHalftone" >> $device_tmp
		echo "htLowLPI BrightColorImageHalftone" >> $device_tmp
		echo "} if" >> $device_tmp
		echo "%%EndFeature" >> $device_tmp
		)
		;;

	photo* )
		(
		echo "%%BeginFeature: *HQScreenMode Photographic" >> $device_tmp
		echo "globaldict /BrightColorTextHalftone known {" >> $device_tmp
		echo "htLowLPI BrightColorTextHalftone" >> $device_tmp
		echo "htLowLPI BrightColorGraphicsHalftone" >> $device_tmp
		echo "htLowLPI BrightColorImageHalftone" >> $device_tmp
		echo "} if" >> $device_tmp
		echo "%%EndFeature" >> $device_tmp
		)
		;;

	text )
		(
		echo "%%BeginFeature: *HQScreenMode Text" >> $device_tmp
		echo "globaldict /BrightColorTextHalftone known {" >> $device_tmp
		echo "htHighLPI BrightColorTextHalftone" >> $device_tmp
		echo "htHighLPI BrightColorGraphicsHalftone" >> $device_tmp
		echo "htHighLPI BrightColorImageHalftone" >> $device_tmp
		echo "} if" >> $device_tmp
		echo "%%EndFeature" >> $device_tmp
		)
		;;

	* )
		(
		echo "%%BeginFeature: *HQScreenMode Auto" >> $device_tmp
		echo "globaldict /BrightColorTextHalftone known {" >> $device_tmp
		echo "htHighLPI BrightColorTextHalftone" >> $device_tmp
		echo "htLowLPI BrightColorGraphicsHalftone" >> $device_tmp
		echo "htLowLPI BrightColorImageHalftone" >> $device_tmp
		echo "} if" >> $device_tmp
		echo "%%EndFeature" >> $device_tmp
		)
		;;

	esac

##########################
#
# Gray Reproduction (Default is gray)
#
##########################

		case "$grayreproduc" in

		black )
			(
			echo "%%BeginFeature: *HQGrayMode Black" >> $device_tmp
			echo "globaldict /BrightColorTextNeutralAxis known {" >> $device_tmp
			echo "naTonerBlack BrightColorTextNeutralAxis" >> $device_tmp
			echo "naTonerBlack BrightColorGraphicsNeutralAxis" >> $device_tmp
			echo "naProcessBlack BrightColorImageNeutralAxis" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		cmyk )
			(
			echo "%%BeginFeature: *HQGrayMode Color" >> $device_tmp
			echo "globaldict /BrightColorTextNeutralAxis known {" >> $device_tmp
			echo "naProcessBlack BrightColorTextNeutralAxis" >> $device_tmp
			echo "naProcessBlack BrightColorGraphicsNeutralAxis" >> $device_tmp
			echo "naProcessBlack BrightColorImageNeutralAxis" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		* )
			(
			echo "%%BeginFeature: *HQGrayMode Black" >> $device_tmp
			echo "globaldict /BrightColorTextNeutralAxis known {" >> $device_tmp
			echo "naTonerBlack BrightColorTextNeutralAxis" >> $device_tmp
			echo "naTonerBlack BrightColorGraphicsNeutralAxis" >> $device_tmp
			echo "naProcessBlack BrightColorImageNeutralAxis" >> $device_tmp
			echo "} if" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		esac

##########################
#
# Gradation (Default is Standard)
#
##########################

		case "$gradation" in

		standard )
			(
			echo "@PJL SET BITSPERDOT=1" >> $pjl_tmp
			echo "@PJL SET BITSPERDOT=1" >> $banner_pjl_tmp

			echo "%%BeginFeature: *HQPrintMode 661" >> $device_tmp
			echo "<< /PixelDepth 1 >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		high )
			(
			echo "@PJL SET BITSPERDOT=2" >> $pjl_tmp
			echo "@PJL SET BITSPERDOT=2" >> $banner_pjl_tmp

			echo "%%BeginFeature: *HQPrintMode 662" >> $device_tmp
			echo "<< /PixelDepth 2 >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		best )
			(
			echo "@PJL SET BITSPERDOT=4" >> $pjl_tmp
			echo "@PJL SET BITSPERDOT=4" >> $banner_pjl_tmp

			echo "%%BeginFeature: *HQPrintMode 664" >> $device_tmp
			echo "<< /PixelDepth 4 >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_tmp
			)
			;;

		* )
			(
			echo "@PJL SET BITSPERDOT=1" >> $pjl_tmp
			echo "@PJL SET BITSPERDOT=1" >> $banner_pjl_tmp

			echo "%%BeginFeature: *HQPrintMode 661" >> $device_tmp
			echo "<< /PixelDepth 1 >> setpagedevice" >> $device_tmp
			echo "%%EndFeature" >> $device_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
		;;

	rlong )
		(
		echo "@PJL SET DUPLEX=ON" >> $pjl_tmp
		echo "@PJL SET BINDING=REVERSELONGEDGE" >> $pjl_tmp
		)
		duplex_type=1
		;;
		
	rshort )
	    (
	    echo "@PJL SET DUPLEX=ON" >> $pjl_tmp
	    echo "@PJL SET BINDING=REVERSESHORTEDGE" >> $pjl_tmp
        )
        duplex_type=2
        ;;
        
	* )
		(
		echo "<</Duplex false>>setpagedevice" >> $device_tmp

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

	esac

##########################
# 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 /PageSize [595 842] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [842 595] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l26A" >> $pcl_tmp
		papersize=26
		;;

	A5 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [420 595] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [595 420] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l25A" >> $pcl_tmp
		papersize=25
		;;


	A6 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [297 420] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [420 297] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l24A" >> $pcl_tmp
		papersize=24
		;;

	B5 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [516 729] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [729 516] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l45A" >> $pcl_tmp
		papersize=45
		;;

	B6 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [363 516] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [516 363] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l44A" >> $pcl_tmp
		papersize=44
		;;
	
	legal )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [612 1008] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [1008 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l3A" >> $pcl_tmp
		papersize=3
		;;


	letter )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [612 792] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [792 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l2A" >> $pcl_tmp
		papersize=2
		;;

	halfletter )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [396 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [612 396] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l93A" >> $pcl_tmp
		papersize=93
		;;

	executive )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [522 756] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [756 522] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l1A" >> $pcl_tmp
		papersize=1
		;;

	folio )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [594 936] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [936 594] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l2012A" >> $pcl_tmp
		papersize=2012
		;;

	8x13 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [576 936] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [936 576] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l2011A" >> $pcl_tmp
		papersize=2011
		;;

	85x13 )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [612 936] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [936 612] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l2007A" >> $pcl_tmp
		papersize=2007
		;;
		
	16k )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [553 757] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [757 553] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=2031
		;;
	
	com10env )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [297 684] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [684 297] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=81
		;;

	monenv )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [279 540] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [540 279] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=80
		;;

	c5env )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [459 649] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [649 459] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=91
		;;

	c6env )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [323 459] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [459 323] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=92
		;;
		
	dlenv )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [312 624] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [624 312] /ImagingBBox null>> setpagedevice" >> $device_tmp
			)
		fi
		papersize=90
		;;
		
	* )
		if [ "$Orientation" -eq 0 ]
		then
			(
			echo "<< /DeferredMediaSelection true /PageSize [612 792] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		else
			(
			echo "<< /DeferredMediaSelection true /PageSize [792 612] /ImagingBBox null >> setpagedevice" >> $device_tmp
			)
		fi
#		printf "\033&l2A" >> $pcl_tmp
		papersize=2
		;;

	esac

##########################
# Input Tray Selection	(Default=AUTOSELECT)
##########################
	case "$itray" in
	auto )
		(
		printf "\033&l7H" >> $pcl_tmp
		printf "\033&l7H" >> $banner_pcl_tmp
		#echo "<< /MediaPosition 7 >> setpagedevice" >> $device_tmp
		)
		;;

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

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

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

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

	tray4 )
		(
		printf "\033&l30H" >> $pcl_tmp
		printf "\033&l30H" >> $banner_pcl_tmp
		echo "<</MediaPosition 4>> setpagedevice" >> $device_tmp
		)
		;;

	lct )
		(
		printf "\033&l5H" >> $pcl_tmp
		printf "\033&l5H" >> $banner_pcl_tmp
		echo "<</MediaPosition 5>> setpagedevice" >> $device_tmp
		)
		;;

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

	esac
	

##########################
# Collate (Default=off)
##########################
	case "$collate" in
	off )
		(
		printf "\033&l%dx" $copies >> $pcl_tmp
		)
		;;

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

	* )
#		(
#		printf "\033&l%dx" $copies >> $pcl_tmp
#		)
		;;
	esac


##########################
# Media Type (Default=PLAIN)
##########################
	case "$mediatype" in
	
	auto )
		(
		printf "@PJL SET MEDIATYPE=PAPER" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=PAPER" >> $banner_pjl_tmp
		echo "<< /MediaType (PlainRecycled) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;
	
	plain )
		(
		printf "@PJL SET MEDIATYPE=THIN" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=THIN" >> $banner_pjl_tmp
		echo "<< /MediaType (Light) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;

	recycled )
		(
		printf "@PJL SET MEDIATYPE=RECYCLED" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=RECYCLED" >> $banner_pjl_tmp
		echo "<< /MediaType (Recycled) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	color )
		(
		printf "@PJL SET MEDIATYPE=COLOR" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=COLOR" >> $banner_pjl_tmp
		echo "<< /MediaType (Color) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	letterhead )
		(
		printf "@PJL SET MEDIATYPE=LETTERHEAD" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=LETTERHEAD" >> $banner_pjl_tmp
		echo "<< /MediaType (Letterhead) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;
		
	preprinted )
		(
		printf "@PJL SET MEDIATYPE=PREPRINTED" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=PREPRINTED" >> $banner_pjl_tmp
		echo "<< /MediaType (PrePrinted) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	prepunched )
		(
		printf "@PJL SET MEDIATYPE=PREPUNCHED" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=PREPUNCHED" >> $banner_pjl_tmp
		echo "<< /MediaType (PrePunched) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	labels )
		(
		printf "@PJL SET MEDIATYPE=LABELS" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=LABELS" >> $banner_pjl_tmp
		echo "<< /MediaType (Labels) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	bond )
		(
		printf "@PJL SET MEDIATYPE=BOND" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=BOND" >> $banner_pjl_tmp
		echo "<< /MediaType (Bond) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	cardstock )
		(
		printf "@PJL SET MEDIATYPE=CARDSTOCK" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=CARDSTOCK" >> $banner_pjl_tmp
		echo "<< /MediaType (Cardstock) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;

	thick1 )
		(
		printf "@PJL SET MEDIATYPE=THICKPLAIN" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=THICKPLAIN" >> $banner_pjl_tmp
		echo "<< /MediaType (Heavy) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;

	thick2 )
		(
		printf "@PJL SET MEDIATYPE=THICK" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=THICK" >> $banner_pjl_tmp
		echo "<< /MediaType (Thick) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;
	
	thin )
		(
		printf "@PJL SET MEDIATYPE=THINNER" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=THINNER" >> $banner_pjl_tmp
		echo "<< /MediaType (Lighter) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;
		
	envelope )
		(
		printf "@PJL SET MEDIATYPE=ENVELOPE" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=ENVELOPE" >> $banner_pjl_tmp
		echo "<< /MediaType (Envelope) /DeferredMediaSelection true>> setpagedevice" >> $device_tmp
		)
		;;
		
	mthick )
		(
		printf "@PJL SET MEDIATYPE=PLAIN" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=PLAIN" >> $banner_pjl_tmp
		echo "<< /MediaType (Plain) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;
	
	* )
		(
		printf "@PJL SET MEDIATYPE=PAPER" >> $pjl_tmp
		printf "@PJL SET MEDIATYPE=PAPER" >> $banner_pjl_tmp
		echo "<< /MediaType (PlainRecycled) /DeferredMediaSelection true >> setpagedevice" >> $device_tmp
		)
		;;

	esac
	

#################################
#
# 2 Color Printing
#
#################################
case "$cyan" in
on )
   (
   echo "%%BeginFeature: *HQCyan On" >> $device_tmp
   echo "<< /TwoColorPrintCyan true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
off )
   (
   echo "%%BeginFeature: *HQCyan Off" >> $device_tmp
   echo "<< /TwoColorPrintCyan false >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
* )
   (
   echo "%%BeginFeature: *HQCyan On" >> $device_tmp
   echo "<< /TwoColorPrintCyan true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
esac

case "$magenta" in
on )
   (
   echo "%%BeginFeature: *HQMagenta On" >> $device_tmp
   echo "<< /TwoColorPrintMagenta true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
off )
   (
   echo "%%BeginFeature: *HQMagenta Off" >> $device_tmp
   echo "<< /TwoColorPrintMagenta false >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
* )
   (
   echo "%%BeginFeature: *HQMagenta On" >> $device_tmp
   echo "<< /TwoColorPrintMagenta true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
esac

case "$yellow" in
on )
   (
   echo "%%BeginFeature: *HQYellow On" >> $device_tmp
   echo "<< /TwoColorPrintYellow true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
off )
   (
   echo "%%BeginFeature: *HQYellow Off" >> $device_tmp
   echo "<< /TwoColorPrintYellow false >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
* )
   (
   echo "%%BeginFeature: *HQYellow On" >> $device_tmp
   echo "<< /TwoColorPrintYellow true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
esac

case "$black" in
on )
   (
   echo "%%BeginFeature: *HQBlack On" >> $device_tmp
   echo "<< /TwoColorPrintBlack true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
off )
   (
   echo "%%BeginFeature: *HQBlack Off" >> $device_tmp
   echo "<< /TwoColorPrintBlack false >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $device_tmp
   )
   ;;
* )
   (
   echo "%%BeginFeature: *HQBlack On" >> $device_tmp
   echo "<< /TwoColorPrintBlack true >> setsystemparams" >> $device_tmp
   echo "%%EndFeature" >> $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%.4fC"  $vmi >> $pcl_tmp
		;;
	esac
	
	case $vsi in
	0 )
		;;
	* )
		printf "\033&l%.4fC"  $vsi >> $pcl_tmp
		;;
	esac

############################
#
# Horizontal Motion Index
#
############################
	case $hmi in
	0 )
		;;
	* )
		printf "\033&k%.4fH"  $hmi >> $pcl_tmp
		;;
	esac
	
	case $hsi in
	0 )
		;;
	* )
		printf "\033&k%.4fH"  $hsi >> $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
			;;
		6 )							# 11x17
			width=4971
       			height=3139
			;;
		26 )						# A4
			width=3380
       			height=2289
			;;
		27 )						# A3
			width=4831
       			height=3359
			;;
				
		45 )						# B5
			width=2909
       			height=1987
			;;
		46 )						# B4
			width=4174
       			height=2880
			;;
		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
			;;
		102 )						# 12x18
			width=5021
       			height=3210
			;;
		
		25 )						# A5
			width=2359
       			height=1640
			;;
		24 )						# A6
			width=1628
       			height=1135
			;;
		2007 )						# 8.5 x 13
			width=3760
       			height=2377
			;;
		93 )						# HalfLetter
			width=2426
       			height=1549
			;;
		2011 )						# 8 x 13
			width=3760
       			height=2227
			;;
		2012 )						# folio
			width=3760
       			height=2302
			;;
		44 )						# B6
			width=2088
       			height=2909
			;;
		
		92)						# C6-Env.
			width=1750
       			height=1200
			;;
		2030 )						# 8k
			width=4480
       			height=3030
       			;;

		2031 )						# 16k
			width=3010
       			height=2163
       			;;
		* )							# Default (Letter)
			width=3178
        		height=2366
			;;
		esac
		;;
	* )
		;;	esac


###################################################################
#
# Make The Banner Page
# $banner_text_tmp is text file only
# $banner_ps_tmp is PCL/PJL with "\r" line return code added file
#
###################################################################


generate_custom_banner()
{
    printf "[*****************************************]\r\n" > $banner_text_tmp
    printf "[*                                       *]\r\n" >> $banner_text_tmp
    printf "[* User Name : %25.25s *]\r\n" $user_name >> $banner_text_tmp
    printf "[* Host : %30.30s *]\r\n" $host >> $banner_text_tmp
    printf "[*                                       *]\r\n" >> $banner_text_tmp
    printf "[*****************************************]\r\n" >> $banner_text_tmp
    printf "[*                                       *]\r\n" >> $banner_text_tmp
if [ -n "$title" ]; then
    printf "[* Title : %29.29s *]\r\n" "$title" >> $banner_text_tmp
fi
case `uname -s` in
HP-UX)
    printf "[* Request Id : %24.24s *]\r\n" $request_id >> $banner_text_tmp
    ;;
*)
    printf "[* Job Name : %26.26s *]\r\n" $print_file_name >> $banner_text_tmp
    ;;
esac
#    printf "[* Date : %30.30s *]\r\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 "\r[* Time : %30.30s *]\r\n" `date +'%H:%M:%S'` >> $banner_text_tmp
    printf "[*                                       *]\r\n" >> $banner_text_tmp
    printf "[*                                       *]\r\n" >> $banner_text_tmp
    printf "[* Unix Filter Version : %15.15s *]\r\n" $version >> $banner_text_tmp
    printf "[*                                       *]\r\n" >> $banner_text_tmp
    printf "[*****************************************]\r\n" >> $banner_text_tmp    

######################################################
#
# Make the $banner_ps_tmp file 
#
######################################################
    
    printf "\033%%-12345X" > $banner_ps_tmp
    echo "@PJL JOB NAME=\"FilterBanner\"" >> $banner_ps_tmp
    echo "@PJL SET JOBNAME=\"FilterBanner\"" >> $banner_ps_tmp
    cat $banner_pjl_tmp >> $banner_ps_tmp
    printf "\n" >> $banner_ps_tmp
    echo "@PJL ENTER LANGUAGE=PCL" >> $banner_ps_tmp
    printf "\033E" >> $banner_ps_tmp
    printf "\033&l%dA" $papersize >> $banner_ps_tmp
    	
    case $Orientation in
	0 )
	  
	    printf "\033&l0O" >> $banner_pcl_tmp
	    ;;
	1 )
	   
	    printf "\033&l1O" >> $banner_pcl_tmp
	    ;;
	2 )
	   
	    printf "\033&l2O" >> $banner_pcl_tmp
	    ;;
	3 )
	   
	    printf "\033&l3O" >> $banner_pcl_tmp
	    ;;
	* )
	   
	    printf "\033&l0O" >> $banner_pcl_tmp
	    ;;
    esac
	cat $banner_pcl_tmp >> $banner_ps_tmp
	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@PJL EOJ NAME=\"FilterBanner\"\n" >> $banner_ps_tmp
    printf "\033%%-12345X" >> $banner_ps_tmp
}

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