summaryrefslogtreecommitdiff
path: root/Master/xemtex/gslib/pj-gs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Master/xemtex/gslib/pj-gs.sh')
-rw-r--r--Master/xemtex/gslib/pj-gs.sh289
1 files changed, 289 insertions, 0 deletions
diff --git a/Master/xemtex/gslib/pj-gs.sh b/Master/xemtex/gslib/pj-gs.sh
new file mode 100644
index 00000000000..7f8eaa78c85
--- /dev/null
+++ b/Master/xemtex/gslib/pj-gs.sh
@@ -0,0 +1,289 @@
+#!/bin/sh
+# $Id: pj-gs.sh,v 1.1 2000/03/09 08:40:40 lpd Exp $
+
+# PaintJet driver script for Ghostscript,
+# created by Philippe-Andre Prindeville <philipp@res.enst.fr>
+
+# PCL level 1 interface
+#
+#=======================================================================#
+# OPTIONS RECOGNIZED: ( all may be preceded with a "-" ) #
+# NOTE: Options marked with a "*" before their descriptions #
+# are provided for backward compatibility with the #
+# former hp2225a, hp2227a and hp3630a printer models - #
+# these models have become links to this model. Consult #
+# your printer reference manual to determine which #
+# options are valid for your particular printer. #
+# #
+# Horizontal Pitch Selection: #
+# c compressed print mode #
+# e * expanded print pitch #
+# 10 * 10 cpi (Pica print pitch) #
+# (expanded compressed on thinkjet and quietjet)#
+# 12 * 12 cpi (Elite print pitch) #
+# #
+# Print Quality Selection #
+# q | lq * near letter quality #
+# #
+# Font Selection #
+# b | bold * set font stroke weight to bold #
+# #
+# Output filtering: (Default Cooked) #
+# r | raw raw mode for plotting mode etc. #
+# #
+# Other: #
+# nb do not output banner page (to save paper) #
+# #
+# NOTE: * = NOT OFFICIAL PCL LEVEL 1 OPTIONS, USE OF #
+# THESE OPTIONS MAY OR MAY NOT PRODUCE #
+# DESIRED RESULTS. #
+#=======================================================================#
+
+PATH="/bin:/usr/bin:/usr/lib:/usr/local/bin"
+export PATH
+
+# set up redirection of stderr
+log=/usr/spool/lp/log
+exec 2>>$log
+
+# sec_class=`getconf SECURITY_CLASS`
+sec_class=
+if [ $? -ne 0 ]
+then
+ echo "getconf SECURITY_CLASS failed"
+fi
+
+# Save the arguments to the model
+printer=`basename $0`
+
+if [ "$sec_class" = "2" ] # B1 Trusted System
+then
+ reqid=$1
+ user=$2
+ dev=$3
+ title=$4
+ copies=$5
+ options=$6
+else
+ reqid=$1
+ user=$2
+ title=$3
+ copies=$4
+ options=$5
+fi
+
+
+# Definitions of functions used within this script
+do_banner()
+{
+ # Print the standard header
+ x="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
+ echo "$x\n$x\n$x\n$x\n"
+ banner `echo $user`
+ echo "\n"
+ user=`pwget -n $user | line | cut -d: -f5`
+ if [ -n "$user" ]
+ then
+ echo "User: $user\n"
+ else
+ echo "\n"
+ fi
+ echo "Request id: $reqid Printer: `basename $0`\n"
+ date
+ echo "\n"
+ if [ -n "$title" ]
+ then
+ banner "$title"
+ fi
+ echo "\014\r\c"
+}
+
+# Set up interface
+if [ -t 1 ]
+then
+ stty 9600 opost onlcr -parenb cs8 ixon -istrip clocal tab3 <&1 2>/dev/null
+else
+ slp -n -k 2>/dev/null
+fi
+
+# Handle disable and cancel traps.
+trap "echo 'Terminated: $reqid' >> $log; trap 15; kill -15 0; exit 0 " 15
+
+# Set up printer default modes
+echo "\033&k0S\c" # reset pitches
+echo "\033(s0B\033)s0B\c" # reset stroke weights
+echo "\033&d@\c" # disable auto-underline
+echo "\033&l6D\c" # reset to 6 lpi
+echo "\033(s0Q\c" # reset print quality
+echo "\033&v0S\c" # reset color
+echo "\033&k2G\c" # Set line termination mode
+
+
+# Determine which options have been invoked
+pitch="def"
+weight="def"
+quality="def"
+# outputmode="cooked"
+outputmode="raw"
+# banner="yes"
+banner=
+
+for i in $options
+do
+ case "$i" in
+ -c | c) # compressed print
+ pitch="c";;
+
+ -e | e) # expanded print
+ pitch="e";;
+
+ -10 | 10) # pitch set to 10 cpi
+ pitch="10";;
+
+ -12 | 12) # pitch set to 12 cpi
+ pitch="12";;
+
+ -q | q | -lq | lq) # near letter quality
+ quality=1;;
+
+ -b | b | -bold | bold) # set font weight to bold
+ weight=1;;
+
+ r | raw) # raw mode for binary output to printer
+ outputmode="raw";;
+
+ -nb | nb) # do not output banner page
+ banner="";;
+
+ esac
+done
+
+shift; shift; shift; shift; shift
+
+if [ "$sec_class" = "2" ] # B1 Trusted System
+then
+ shift
+ files="$*"
+ Nofilter= Nolabel=
+ set -- `getopt fl $options`
+ if [ $? != 0 ]
+ then
+ exit 2
+ fi
+
+ for opt in $*
+ do
+ shift
+ case $opt in
+ -f) Nofilter=$opt ;;
+ -l) Nolabel=$opt ;;
+ --) break ;;
+ esac
+ done
+
+ # Print the sensitivity label of the process
+ echo "$x\n$x\n"
+ /usr/lib/lpbanner -j $reqid -t "$title" -u $user -p PCL1 -n $printer -d $dev $files
+ echo "\n$x\n$x"
+
+else
+ # Assume that the rest of the arguments are files
+ files="$*"
+ # print the banner if nb option not specified
+ if [ -n "$banner" ]
+ then
+ do_banner
+ fi
+fi
+
+# Print the spooled files
+i=1
+while [ $i -le $copies ]
+do
+ for file in $files
+ do
+
+ # If raw mode, turn off output processing,
+ # set for no tab expansion
+ # If cooked mode, uncomment the cooked case if it is
+ # desired not to print on the page perforations
+ case "$outputmode" in
+ raw) if [ -t 1 ]
+ then
+ stty raw 9600 -opost -parenb cs8 ixon -istrip clocal tab0 <&1 2>/dev/null
+ else
+ slp -r 2>/dev/null
+ fi
+ echo "\033&k0G";; # Reset line termination mode
+ # cooked) echo "\033&l1L\r\c";;
+ esac
+
+ case "$pitch" in
+ def);;
+ c) echo "\033&k2S\r\c";;
+ e) echo "\033&k1S\r\c";;
+ 10) echo "\033&k3S\r\c";;
+ 12) echo "\033&k0S\r\c"
+ echo "\033&k4S\r\c";;
+ esac
+
+ case "$quality" in
+ def);;
+ *) echo "\033(s${quality}Q\r\c";;
+ esac
+
+ case "$weight" in
+ def) echo "\033(s0B\033)s0B\r\c";;
+ *) echo "\033(s${weight}B\r\c";;
+ esac
+
+ if [ "$sec_class" = "2" ] # B1 Trusted System
+ then
+ /usr/lib/lprcat $Nofilter $Nolabel $file PCL1 $user $dev
+ else
+ type=`file $file | sed 's/^[^:]*..//'`
+ case "$type" in
+ postscript*)
+#
+# We could do the following, but this would leave gs with a rather large
+# image in memory for (possibly) several minutes. Better to use and
+# intermediate file, since cat is "lightweight"...
+#
+# gs -q -sDEVICE=paintjet -r180 -sOutputFile=- -dDISKFONTS -dNOPAUSE - < $file 2>/tmp/sh$$
+
+ gs -q -sDEVICE=paintjet -r180 -sOutputFile=/tmp/pj$$ -dDISKFONTS -dNOPAUSE - < $file 1>2
+ cat /tmp/pj$$
+ rm /tmp/pj$$
+ needff=
+ ;;
+ *) cat "$file" 2>/tmp/sh$$
+ needff=1
+ ;;
+ esac
+
+ if [ -s /tmp/sh$$ ]
+ then
+# cat /tmp/sh$$ # output any errors
+ cat /tmp/sh$$ 1>2 # output any errors
+ fi
+ rm -f /tmp/sh$$
+ if [ $needff ]; then echo "\014\r\c"; fi
+ fi
+
+ echo "\033&k0S\r\c" # reset pitches
+ echo "\033(s0B\033)s0B\r\c" # reset stroke weights
+ echo "\033&d@\r\c" # disable auto-underline
+ echo "\033&l6D\r\c" # reset to 6 lpi
+ echo "\033(s0Q\c" # reset print quality
+ echo "\033&v0S\c" # reset color
+ done
+ i=`expr $i + 1`
+ done
+
+# Insure all buffers are flushed to printer
+if [ -t 1 ]
+then
+ stty 9600 opost onlcr -parenb cs8 ixon -istrip clocal tab3 <&1 2>/dev/null
+fi
+
+exit 0