xref: /plan9/sys/lib/lp/process/jpgpost (revision 14cc0f535177405a84c5b73603a98e5db6674719)
17dd7cddfSDavid du Colombier#!/bin/rc
29a747e4fSDavid du Colombier# convert JPG to PostScript
37dd7cddfSDavid du Colombierif (! ~ $DEBUG '') flag x +
47dd7cddfSDavid du ColombierPATCH='%%Patch from lp'
57dd7cddfSDavid du Colombierswitch ($LPCLASS) {
67dd7cddfSDavid du Colombiercase *hp4simx*;
77dd7cddfSDavid du Colombier	PATCH=$PATCH'
87dd7cddfSDavid du Colombier%% set the default papertray to be the lower tray for HP4siMX printers
97dd7cddfSDavid du Colombier	statusdict begin defaultpapertray end 1 ne {
107dd7cddfSDavid du Colombier		statusdict begin
117dd7cddfSDavid du Colombier			1 setdefaultpapertray
127dd7cddfSDavid du Colombier		end
137dd7cddfSDavid du Colombier	} if'
147dd7cddfSDavid du Colombier}
157dd7cddfSDavid du Colombierfor (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
167dd7cddfSDavid du Colombier	switch ($i) {
177dd7cddfSDavid du Colombier	case -P*;
187dd7cddfSDavid du Colombier	case man manual manualfeed;
197dd7cddfSDavid du Colombier		PATCH=$PATCH'
207dd7cddfSDavid du Colombier%%BeginFeature: *Select ManualFeed
217dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
227dd7cddfSDavid du Colombier    << /ManualFeed true >> setpagedevice
237dd7cddfSDavid du Colombier   } {statusdict begin /manualfeed true def end} ifelse
247dd7cddfSDavid du Colombier } stopped cleartomark
257dd7cddfSDavid du Colombier%%EndFeature'
267dd7cddfSDavid du Colombier	case simplex;
277dd7cddfSDavid du Colombier		DUPLEX=0
287dd7cddfSDavid du Colombier	case [0-9];
297dd7cddfSDavid du Colombier		PATCH=$PATCH'
307dd7cddfSDavid du Colombier%%BeginFeature: *Select InputTray
317dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
327dd7cddfSDavid du Colombier	<< '$i' << /MediaType (tray'$i') >> >>
337dd7cddfSDavid du Colombier    << /MediaType (tray'$i') >> setpagedevice
347dd7cddfSDavid du Colombier   } {statusdict begin '$i' setpapertray end} ifelse
357dd7cddfSDavid du Colombier } stopped cleartomark
367dd7cddfSDavid du Colombier%%EndFeature'
377dd7cddfSDavid du Colombier	case 11x17 [Ll]edger;
387dd7cddfSDavid du Colombier		PATCH=$PATCH'
397dd7cddfSDavid du Colombier%%BeginFeature: *Select Ledger
407dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
417dd7cddfSDavid du Colombier    << /PageSize [792 1224] >> setpagedevice
427dd7cddfSDavid du Colombier   } {statusdict begin '$i'tray end} ifelse
437dd7cddfSDavid du Colombier } stopped cleartomark
447dd7cddfSDavid du Colombier%%EndFeature'
457dd7cddfSDavid du Colombier	case transparency vg viewgraph;
467dd7cddfSDavid du Colombier		PATCH=$PATCH'
477dd7cddfSDavid du Colombier%%BeginFeature: *Select Transparency
487dd7cddfSDavid du Colombier[{ << /MediaType (Transparency) >> setpagedevice
497dd7cddfSDavid du Colombier } stopped cleartomark
507dd7cddfSDavid du Colombier%%EndFeature'
517dd7cddfSDavid du Colombier	case *;
527dd7cddfSDavid du Colombier		echo illegal option ''''-i $i'''' >[1=2]
537dd7cddfSDavid du Colombier	}
547dd7cddfSDavid du Colombier}
557dd7cddfSDavid du Colombierif (! ~ $#DUPLEX 0) {
567dd7cddfSDavid du Colombier	switch ($DUPLEX) {
577dd7cddfSDavid du Colombier	case 0;
587dd7cddfSDavid du Colombier		DUPLEX=false
597dd7cddfSDavid du Colombier	case 1;
607dd7cddfSDavid du Colombier		DUPLEX=true
617dd7cddfSDavid du Colombier	}
627dd7cddfSDavid du Colombier	PATCH=$PATCH'
637dd7cddfSDavid du Colombier%%BeginFeature: *Set DuplexMode
647dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
657dd7cddfSDavid du Colombier    << /Duplex '$DUPLEX'  >> setpagedevice
667dd7cddfSDavid du Colombier  } {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse
677dd7cddfSDavid du Colombier } stopped cleartomark
687dd7cddfSDavid du Colombier%%EndFeature'
697dd7cddfSDavid du Colombier}
707dd7cddfSDavid du ColombierPATCH=$PATCH'
717dd7cddfSDavid du Colombier%%EndPatch from lp'
727dd7cddfSDavid du Colombierif (! ~ $PATCH '' -P*)
737dd7cddfSDavid du Colombier	PATCH=-P$PATCH;
747dd7cddfSDavid du Colombier
757dd7cddfSDavid du Colombierif (~ $MAG '') MAG=1
767dd7cddfSDavid du Colombierif (~ $MAG [.0-9]*) MAG=-m^$MAG
777dd7cddfSDavid du Colombier
787dd7cddfSDavid du Colombierif (! ~ $LAND '') LAND=-L
797dd7cddfSDavid du Colombierif not LAND=()
807dd7cddfSDavid du Colombier
81*14cc0f53SDavid du Colombier/$cputype/bin/jpg -t9 |
82*14cc0f53SDavid du Colombier	/$cputype/bin/aux/p9bitpost $MAG $LAND $PATCH -p 32 26.17 |
83*14cc0f53SDavid du Colombier	$LPLIB/process/hpost
847dd7cddfSDavid du Colombierexit
85