summaryrefslogtreecommitdiffstats
path: root/share/examples/printing/ifhp
diff options
context:
space:
mode:
Diffstat (limited to 'share/examples/printing/ifhp')
-rw-r--r--share/examples/printing/ifhp32
1 files changed, 32 insertions, 0 deletions
diff --git a/share/examples/printing/ifhp b/share/examples/printing/ifhp
new file mode 100644
index 0000000..21e6643
--- /dev/null
+++ b/share/examples/printing/ifhp
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# ifhp - Print Ghostscript-simulated PostScript on a DesJet 500
+# Installed in /usr/local/libexec/hpif
+
+#
+# Treat LF as CR+LF:
+#
+printf "\033&k2G" || exit 2
+
+#
+# Read first two characters of the file
+#
+read first_line
+first_two_chars=`expr "$first_line" : '\(..\)'`
+
+if [ "$first_two_chars" = "%!" ]; then
+ #
+ # It is PostScript; use Ghostscript to scan-convert and print it
+ #
+ /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \
+ && exit 0
+
+else
+ #
+ # Plain text or HP/PCL, so just print it directly; print a form
+ # at the end to eject the last page.
+ #
+ echo $first_line && cat && printf "\f" && exit 2
+fi
+
+exit 2
OpenPOWER on IntegriCloud