#!/usr/sbin/magicfilter
#
# Magic filter setup file for HP printers 720, 820 and 1000 series.
# pnm2ppa supports color and black/white printing. This file was
# tested on a HP Deskjet 720C printer, but is supposed to work on
# other printers using the HP PPA protocol, too. Supported pagesizes
# are a4, letter and legal. The pagesize has to be set in /etc/papersize
# and not in the configuration files in /etc/ppa/pnm2ppa.conf.hp*.
# Adapted from dj500-filter, cpsonly600-filter and pbm2ppa-filter
# by Roland Bauerschmidt <roland@copyleft.de>, 2000
# PostScript
0 %! fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r600 -sDEVICE=ppmraw -sOutputFile=- - -c quit
0 \004%! fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r600 -sDEVICE=ppmraw -sOutputFile=- - -c quit
# PDF
0 %PDF fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r600 -sDEVICE=ppmraw -sOutputFile=- $FILE -c quit
# TeX DVI
0 \367\002 fpipe /usr/bin/dvips -D 600 -R -q -f
# compress'd data
0 \037\235 pipe /bin/gzip -cdq
# packed, gzipped, frozen and SCO LZH data
0 \037\036 pipe /bin/gzip -cdq
0 \037\213 pipe /bin/gzip -cdq
0 \037\236 pipe /bin/gzip -cdq
0 \037\240 pipe /bin/gzip -cdq
# troff documents
0 .\?\?\040 fpipe `/usr/bin/grog -Tps $FILE`
0 .\\\" fpipe `/usr/bin/grog -Tps $FILE`
0 '\\\" fpipe `/usr/bin/grog -Tps $FILE`
0 '.\\\" fpipe `/usr/bin/grog -Tps $FILE`
0 \\\" fpipe `/usr/bin/grog -Tps $FILE`
# ditroff
0 "x T ps" pipe /usr/bin/grops
0 "x T dvi" pipe /usr/bin/grodvi
0 "x T ascii" pipe /usr/bin/grotty
0 "x T latin1" pipe /usr/bin/grotty
0 "x T lj4" reject Cannot print LaserJet 4 ditroff files.
# Portable bit-, grey- and pixmaps
0 P1\n pipe /usr/bin/pnmtops -scale 1000 -dpi 600 2>/dev/null
0 P2\n pipe /usr/bin/pnmtops -scale 1000 -dpi 600 2>/dev/null
0 P3\n pipe /usr/bin/pnmtops -scale 1000 -dpi 600 2>/dev/null
0 P4\n pipe /usr/bin/pnmtops -scale 1000 -dpi 600 2>/dev/null
0 P5\n pipe /usr/bin/pnmtops -scale 1000 -dpi 600 2>/dev/null
0 P6\n filter /usr/bin/pnm2ppa -f /etc/ppa/pnm2ppa.conf.hp1000 -i - -o -
# HP Printer Control Language (PCL) -- assume start with reset code
0 \033E\033 reject Cannot print PCL files on this printer.
# HP Printer Job Language (PJL)
0 \033%-12345X reject Cannot print PJL files on this printer.
0 "@PJL " reject Cannot print PJL files on this printer.
0 @PJL\t reject Cannot print PJL files on this printer.
0 @PJL\r reject Cannot print PJL files on this printer.
0 @PJL\n reject Cannot print PJL files on this printer.
# GIF files
0 GIF87a pipe /usr/bin/giftopnm 2>/dev/null
0 GIF89a pipe /usr/bin/giftopnm 2>/dev/null
# JFIF (JPEG) files
0 \377\330\377\340\?\?JFIF\0 pipe /usr/bin/djpeg -pnm
# TIFF files (the last two bytes of the "magic" is really a version number;
# but the magic is really lame and as far as I have understood the version
# number has never changed and never will, so we include it.)
0 MM\0\x2a fpipe /usr/bin/tiff2ps $FILE
0 II\x2a\0 fpipe /usr/bin/tiff2ps $FILE
# BMP files (even lousier magic -- Microsoft strikes again!)
0 BM\?\?\?\?\?\?\?\?\?\?\?\?\x0c pipe \
/usr/bin/bmptoppm 2>/dev/null
0 BM\?\?\?\?\?\?\?\?\?\?\?\?\x40 pipe \
/usr/bin/bmptoppm 2>/dev/null
0 BM\?\?\?\?\?\?\?\?\?\?\?\?\x28 pipe \
/usr/bin/bmptoppm 2>/dev/null
# Garbage delivered from Windows via Samba
# (donated by Andree Leidenfrost <leidenfrost@dkrz.de>)
# 300 \033\052\157 cat
# later changed to
# (Bug report #22866: magicfilter: Incorrect magic for Win95/Samba print jobs)
0 \000\000\000\000\000 cat
# Sun rasterfiles
0 \x59\xa6\x6a\x95 pipe /usr/bin/rasttopnm 2>/dev/null
# SGI Imagelib (IRIS RGB) files
0 \x1\xda pipe /usr/bin/sgitopnm 2>/dev/null
0 \xda\x1 pipe /usr/bin/sgitopnm 2>/dev/null
# FIG files; reported by Steven P. Hill <sph@uscbu.ih.att.com>
0 #FIG pipe /usr/bin/X11/fig2dev -Lps -P -l dummy
#
# Standard rejects... things we don't want to print
#
# Various archive formats
257 ustar\0 reject Attempted to print a tar file.
257 "ustar \0" reject Attempted to print a tar file.
0 07070 reject Attempted to print a cpio file.
0 PK\3\4 reject Attempted to print a zip file.
20 \xdc\xa7\xc7\xfd reject Attempted to print a zoo file.
# Binaries (Linux): reject with email message
0 \013\1d\0 reject Attempted to print a compiled binary.
0 \100\1d\0 reject Attempted to print a compiled binary.
0 \007\1d\0 reject Attempted to print a compiled binary.
0 \314\0d\0 reject Attempted to print a compiled binary.
0 \177ELF reject Attempted to print an ELF object.
0 \007\001\0 reject Attempted to print an object file.
216 \021\001\0\0 reject Attempted to print a core dump file.
0 !<arch> reject Attempted to print an archive.
0 =<ar> reject Attempted to print an archive.
# Don't confuse this one with troff!
0 .snd reject Attempted to print Sun/NeXT audio data.
# wacko troff magic
0 ''' fpipe `/usr/bin/grog -Tps $FILE`
# wild guess: PCL control codes start with <ESC>
0 \033 reject Cannot print PCL files on this printer.
# Default entry -- for normal (text) files. MUST BE LAST.
# If you do not have djscript use the other default line or, better, install
# it. MM
#
default pipe /usr/bin/enscript -B -p-