foo2zjs-wrapper.in

来自「Linux下的无线网卡通用驱动程序」· IN 代码 · 共 710 行 · 第 1/2 页

IN
710
字号
	600x600)	ulx=`expr $ulx / 2`;;	2400x600)	ulx=`expr $ulx \* 2`;;	esac	CLIP_UL="-u ${ulx}x${uly}"    fi    if [ "$CLIP_LR" = "" ]; then	case "$RES" in	600x600)	lrx=`expr $lrx / 2`;;	2400x600)	lrx=`expr $lrx \* 2`;;	esac	CLIP_LR="-l ${lrx}x${lry}"    fi}case "$PAPER" inCustom*)		#%%BeginFeature: *CustomPageSize True		#216		#360		#0		#0		#0		#pop pop pop pop pop		TMPFILE=/tmp/cus$$		cat >$TMPFILE		exec <$TMPFILE		XDIM=`head -n 1000 $TMPFILE | sed -n '/CustomPageSize/{n;p;}'`		case "$XDIM" in		""|0*)		    rm -f $TMPFILE		    error "Custom page size XDIM != 1-99999"		    ;;		esac		XDIM=`dc -e "$XDIM 1200* 72/p"`		YDIM=`head -n 1000 $TMPFILE | sed -n '/CustomPageSize/{n;n;p;}'`		case "$YDIM" in		""|0*)		    rm -f $TMPFILE		    error "Custom page size YDIM != 1-99999"		    ;;		esac		YDIM=`dc -e "$YDIM 600* 72/p"`		PAPER=256;        paper=letter;		MEDIA=261                set_clipping 2 100     2 100		;;1|letter)	PAPER=1;	paper=letter;    XDIM="10200"; YDIM="6600"		case "$MODEL" in		0)	set_clipping 204 102	204 106;;		1)	set_clipping 192 96	192 96;;		# 1)	set_clipping 96 96	288 96;;		esac		;;5|legal)	PAPER=5;	paper=legal;     XDIM="10200"; YDIM="8400"		case "$MODEL" in		0)	set_clipping 204 102	204 106;;		1)	set_clipping 192 96	192 96;;		esac		;;7|executive)	PAPER=7;	paper=executive; XDIM="8700";  YDIM="6300"		case "$MODEL" in		0)	set_clipping 206 102	206 102;;		1)	set_clipping 192 96	192 96;;		esac		;;9|a4|A4)	PAPER=9;	paper=a4;        XDIM="9920";  YDIM="7016"		case "$MODEL" in		0)		    if [ "$NOPLANES" != "" -a "$RES" = 600x600 ]; then			# Hack fix for LJ1000			set_clipping 224 100	224 100		    else			# 2200DL			set_clipping 200 100	200 100		    fi		    ;;		1)	set_clipping 192 96	192 96;;		esac		;;11|a5|A5)	PAPER=11;	paper=a5;        XDIM="6992";  YDIM="4960"		case "$MODEL" in		0)	set_clipping 200 100	200 100;;		1)	set_clipping 192 96	192 96;;		esac		;;13|b5|B5)	PAPER=13;	paper=b5;        XDIM="8598";  YDIM="6070"		case "$MODEL" in		0)	set_clipping 207 107	207 107;;		1)	set_clipping 192 96	192 96;;		esac		;;20|"env#10")	PAPER=20;	paper=env10;     XDIM="4950";  YDIM="5700"		case "$MODEL" in		0)	set_clipping 171 78	171 78;;		1)	set_clipping 171 78	171 78;;		esac		;;27|envDL)	PAPER=27;	paper=envDL;     XDIM="5200";  YDIM="5200"		case "$MODEL" in		0)	set_clipping 176 84	176 84;;		1)	set_clipping 176 84	176 84;;		esac		;;28|envC5)	PAPER=28;	paper=envC5;     XDIM="7650";  YDIM="5408"		case "$MODEL" in		0)	set_clipping 170 80	169 80;;		1)	set_clipping 170 80	169 80;;		esac		;;34|envB5)	PAPER=34;	paper=envB5;     XDIM="8316";  YDIM="5892"		case "$MODEL" in		0)	set_clipping 174 74	174 74;;		1)	set_clipping 174 74	174 74;;		esac		;;37|envMonarch)	PAPER=37;	paper=envMonarch;XDIM="4650";  YDIM="4500"		case "$MODEL" in		0)	set_clipping 174 78	173 78;;		1)	set_clipping 174 78	173 78;;		esac		;;*)		error "Unimplemented paper code $PAPER";;esac# e.g. /usr/share/ghostscript/7.07/lib/gs_statd.psPAPERSIZE="-sPAPERSIZE=$paper";case "$RES" in600x600)	XDIM=`expr $XDIM / 2`;;1200x600)	;;2400x600)	XDIM=`expr $XDIM \* 2`;;esacDIM="${XDIM}x${YDIM}"## Filter thru psnup if N-up printing has been requested#case $NUP in[234689]|1[024568])	PREFILTER="nup";;*)			PREFILTER=cat;;esac##	Overload -G.  If the file name ends with ".icm" or ".ICM"#	then convert the ICC color profile to a Postscript CRD,#	then prepend it to the users job.  Select the intent#	using the -I option.#create_crd() {    #    # Create a Postscript CRD    #    ICC2PS=$PREFIX/bin/foo2zjs-icc2ps    if [ -x $ICC2PS ]; then	case "$GAMMAFILE" in	none | none.icm | */none.icm)	    ;;	*)	$ICC2PS -o $GAMMAFILE -t$INTENT > $ICCTMP.crd.ps 2>$ICCTMP.log \	|| error "Problem converting .ICM file to Postscript"	    ;;	esac	cat > $ICCTMP.usecie.ps <<-EOF		%!PS-Adobe-3.0		<</UseCIEColor true>>setpagedevice	EOF	if [ "$QUALITY" = wts ]; then	    cat >> $ICCTMP.usecie.ps <<-EOF		<< /UseWTS true >> setuserparams		<<		    /AccurateScreens true		    /HalftoneType 1		    /HalftoneName (Round Dot Screen) cvn		    /SpotFunction { 180 mul cos exch 180 mul cos add 2 div}		    /Frequency 137		    /Angle 37		>> sethalftone		EOF	fi	cat > $ICCTMP.selcrd.ps <<-EOF		/Current /ColorRendering findresource setcolorrendering	EOF	case "$GAMMAFILE" in	none | none.icm | */none.icm) GAMMAFILE="$ICCTMP.usecie.ps";;	*)	GAMMAFILE="$ICCTMP.usecie.ps $ICCTMP.crd.ps $ICCTMP.selcrd.ps";;	esac    else	GAMMFILE=    fi}if [ $DEBUG -gt 0 ]; then    ICCTMP=/tmp/iccelse    ICCTMP=/tmp/icc$$fiif [ "" = "$COLOR" ]; then    COLORMODE=    GAMMAFILE=else    case "$COLORMODE" in    default)	COLORMODE=$DEFAULTCOLORMODE;;    esac    case "$GAMMAFILE" in    default)	GAMMAFILE=DL2312.icm;;    esacfiCRDBASE="$PREFIX/share/foo2zjs/crd"case "$RES" in    600x600)	SCREEN=screen1200.ps;;    1200x600)	SCREEN=screen1200.ps;;    2400x600)	SCREEN=screen2400.ps;;esaccase "$COLORMODE" in0|"")    # Monochrome    ;;10|icm)    # Use old ICM method    AIB=-A    BC=-B    case "$GAMMAFILE" in    none | none.icm | */none.icm)	create_crd	;;    *.icm|*.ICM|*.icc|*.ICC)	#	# Its really an .ICM file, not a gamma file.	#	# The file can be a full path name, or the name of a file in $SHARE/icm/	#	if [ -r "$GAMMAFILE" ]; then	    create_crd	elif [ -r "$SHARE/icm/$GAMMAFILE" ]; then	    GAMMAFILE="$SHARE/icm/$GAMMAFILE"	    create_crd	else	    GAMMAFILE=	fi	;;    esac    ;;1|photo)    # Photo    GAMMAFILE="$CRDBASE/prolog.ps"    GAMMAFILE="$GAMMAFILE $CRDBASE/2300w-1200@150-l250-kx,ucr125,75-per.crd"    GAMMAFILE="$GAMMAFILE $CRDBASE/$SCREEN"    ;;2|graphics)    # Photo and Text    GAMMAFILE="$CRDBASE/prolog.ps"    #GAMMAFILE="$GAMMAFILE $CRDBASE/2300w-1200@150-l250-kx,ucr100,75-per.crd"    GAMMAFILE="$GAMMAFILE $CRDBASE/kh.crd"    GAMMAFILE="$GAMMAFILE $CRDBASE/$SCREEN"    ;;3|text)    # Graphic and Text    GAMMAFILE="$CRDBASE/prolog.ps"    #GAMMAFILE="$GAMMAFILE $CRDBASE/2300w-1200@150-l250-kx,ucr100,50-per.crd"    GAMMAFILE="$GAMMAFILE $CRDBASE/kx.crd"    GAMMAFILE="$GAMMAFILE $CRDBASE/$SCREEN"    ;;4|tonersave)    # Reduced toner    GAMMAFILE="$CRDBASE/prolog.ps"    GAMMAFILE="$GAMMAFILE $CRDBASE/2300w-1200@150-l250-kx,ucr100,0-per.crd"    GAMMAFILE="$GAMMAFILE $CRDBASE/$SCREEN"    ;;*.crd)    GAMMAFILE="$CRDBASE/prolog.ps"    if [ -f $COLORMODE ]; then	GAMMAFILE="$GAMMAFILE $COLORMODE"    elif [ -f $CRDBASE/$COLORMODE ]; then	GAMMAFILE="$GAMMAFILE $CRDBASE/$COLORMODE"    else	error "Can't find CRD '$COLORMODE' in . or in $CRDBASE"    fi    GAMMAFILE="$GAMMAFILE $CRDBASE/$SCREEN"    ;;*)    error "Unknown color method '$COLORMODE'"    ;;esacif [ "" != "$COLOR" ]; then    if [ "" = "$AIB" -a "" = "$BC" ]; then	# Faster, but can't handle AllIsBlack or BlackClears	GSDEV=-sDEVICE=pksmraw    else	# Can't handle different size pages	GSDEV=-sDEVICE=bitcmyk    fifi##	Figure out USERNAME#if [ "$LPUSER" != "" ]; then    USER="$LPUSER@$LPHOST"else    USER=""fi##	Main Program, just cobble together the pipeline and run it##	The malarky with file descriptors 1 and 3 is to avoid a bug in#	(some versions?) of Ghostscript where Postscript's stdout gets#	intermingled with the printer drivers output, resulting in#	corrupted image data.#GS="$GSBIN -q -dBATCH -dSAFER -dQUIET -dNOPAUSE"sed 's#^[^/]*cupsPSLevel2#false#' | \$PREFILTER \| ($GS $PAPERSIZE -g$DIM -r$RES $GSDEV $GSOPTS \    -sOutputFile="|cat 1>&3" $GAMMAFILE - >/dev/null) 3>&1 \| foo2zjs -r$RES -g$DIM -p$PAPER -m$MEDIA -n$COPIES -d$DUPLEX -s$SOURCE \	    -z$MODEL $COLOR $CLIP_UL $CLIP_LR $CLIP_LOG $SAVETONER \	    -J "$LPJOB" -U "$USER" \	    $BC $AIB $COLOR2MONO $NOPLANES $EXTRAPAD -D$DEBUG##	Log the command line, for debugging and problem reports#if [ -x /usr/bin/logger ]; then    logger -t "$BASENAME" -p lpr.info -- \	"$GSBIN $PAPERSIZE -g$DIM -r$RES $GSDEV $GSOPTS $GAMMAFILE"    logger -t "$BASENAME" -p lpr.info -- \	"foo2zjs -r$RES -g$DIM -p$PAPER -m$MEDIA \-n$COPIES -d$DUPLEX -s$SOURCE -z$MODEL $COLOR $CLIP_UL $CLIP_LR $CLIP_LOG \$SAVETONER $BC $AIB $COLOR2MONO $NOPLANES $EXTRAPAD"fi##	Remove cruft#if [ $DEBUG -eq 0 ]; then    for i in crd.ps log usecie.ps selcrd.ps    do	file="$ICCTMP.$i"	[ -f $file ] && rm -f $file    done    [ -f "$TMPFILE" ] && rm -f $TMPFILEfiexit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?