xref: /dflybsd-src/share/examples/printing/psif (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino#!/bin/sh
286d7f5d3SJohn Marino#
386d7f5d3SJohn Marino#  psif - Print PostScript or plain text on a PostScript printer
486d7f5d3SJohn Marino#  Script version; NOT the version that comes with lprps
586d7f5d3SJohn Marino#  Installed in /usr/local/libexec/psif
686d7f5d3SJohn Marino#
786d7f5d3SJohn Marino
886d7f5d3SJohn Marinoread first_line
986d7f5d3SJohn Marinofirst_two_chars=`expr "$first_line" : '\(..\)'`
1086d7f5d3SJohn Marino
1186d7f5d3SJohn Marinoif [ "$first_two_chars" = "%!" ]; then
1286d7f5d3SJohn Marino   #
1386d7f5d3SJohn Marino   #  PostScript job, print it.
1486d7f5d3SJohn Marino   #
1586d7f5d3SJohn Marino   echo "$first_line" && cat && printf "\004" && exit 0
1686d7f5d3SJohn Marino   exit 2
1786d7f5d3SJohn Marinoelse
1886d7f5d3SJohn Marino   #
1986d7f5d3SJohn Marino   #  Plain text, convert it, then print it.
2086d7f5d3SJohn Marino   #
2186d7f5d3SJohn Marino   ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
2286d7f5d3SJohn Marino   exit 2
2386d7f5d3SJohn Marinofi
24