#! /usr/pkg/bin/magicfilter
#
# Magic filter setup file for HP LaserJet with less than 1.5 Mb RAM
#
# This file has been automatically adapted to your system.
#

# PostScript
0 %! filter /usr/bin/env TEMP=${TMPDIR:-/tmp} /usr/pkg/bin/gs -q -dSAFER -dNOPAUSE -r150 -sDEVICE=laserjet -sOutputFile=- -sPAPERSIZE=a4 -
0 \004%! filter /usr/bin/env TEMP=${TMPDIR:-/tmp} /usr/pkg/bin/gs -q -dSAFER -dNOPAUSE -r150 -sDEVICE=laserjet -sOutputFile=- -sPAPERSIZE=a4 -

# TeX DVI
0 \367\002 fpipe /usr/pkg/bin/dvips -D 150 -R -q -f

# compress'd data
0 \037\235 pipe /usr/bin/gzip -cdq

# packed, gzipped, frozen and SCO LZH data
0 \037\036 pipe /usr/bin/gzip -cdq
0 \037\213 pipe /usr/bin/gzip -cdq
0 \037\236 pipe /usr/bin/gzip -cdq
0 \037\240 pipe /usr/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/pkg/bin/pnmtops -scale 1000 -dpi 150 2>/dev/null
0 P2\n pipe /usr/pkg/bin/pnmtops -scale 1000 -dpi 150 2>/dev/null
0 P3\n pipe /usr/pkg/bin/pnmtops -scale 1000 -dpi 150 2>/dev/null
0 P4\n pipe /usr/pkg/bin/pnmtops -scale 1000 -dpi 150 2>/dev/null
0 P5\n pipe /usr/pkg/bin/pnmtops -scale 1000 -dpi 150 2>/dev/null
0 P6\n pipe /usr/pkg/bin/pnmtops -scale 1000 -dpi 150 2>/dev/null

# HP Printer Control Language (PCL) -- assume start with reset code
0 \033E\033 cat

# 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/pkg/bin/giftopnm 2>/dev/null
0 GIF89a pipe /usr/pkg/bin/giftopnm 2>/dev/null

# JFIF (JPEG) files
0 \377\330\377\340\?\?JFIF\0 pipe /usr/pkg/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 pipe /usr/pkg/bin/tifftopnm 2>/dev/null
0 II\x2a\0 pipe /usr/pkg/bin/tifftopnm 2>/dev/null

# BMP files (even lousier magic -- Microsoft strikes again!)
0 BM\?\?\?\?\?\?\?\?\?\?\?\?\x0c pipe \
 /usr/pkg/bin/bmptopnm 2>/dev/null
0 BM\?\?\?\?\?\?\?\?\?\?\?\?\x40 pipe \
 /usr/pkg/bin/bmptopnm 2>/dev/null
0 BM\?\?\?\?\?\?\?\?\?\?\?\?\x28 pipe \
 /usr/pkg/bin/bmptopnm 2>/dev/null

# Sun rasterfiles
0 \x59\xa6\x6a\x95 pipe /usr/pkg/bin/rasttopnm 2>/dev/null

# SGI Imagelib (IRIS RGB) files
0 \x1\xda pipe /usr/pkg/bin/sgitopnm 2>/dev/null
0 \xda\x1 pipe /usr/pkg/bin/sgitopnm 2>/dev/null

# FIG files; reported by Steven P. Hill <sph@uscbu.ih.att.com>
0 #FIG reject Cannot print FIG files on this printer.

#
# 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.

# optimistic troff magic
0 . fpipe `/usr/bin/grog -Tps $FILE`
# wacko troff magic
0 ''' fpipe `/usr/bin/grog -Tps $FILE`

# wild guess: PCL control codes start with <ESC>
0 \033 cat

# Default entry -- for normal (text) files. MUST BE LAST.
default cat \eE\e&k2G\e(0N \eE
