#! /usr/sbin/magicfilter --debug
#
# Magic filter setup file for LaserJet III series
#
# This file has been automatically adapted to your system.
#

# Raw G3 data
0	\000\024	filter	/bin/cat >$$.01.g3

# PostScript
0	%!		filter	/usr/bin/gs  -q -dSAFER -dNOPAUSE -sDEVICE=faxg3 -r204x196 -sOutputFile=$$.%02d.g3 -
0	\004%!		filter	/usr/bin/gs  -q -dSAFER -dNOPAUSE -sDEVICE=faxg3 -r204x196 -sOutputFile=$$.%02d.g3 -

# PDF
0	%PDF		fpipe 	/usr/bin/gs  -q -dSAFER -dNOPAUSE -sDEVICE=faxg3 -r204x196 -sOutputFile=$$.%02d.g3 -


# TeX DVI
0	\367\002	fpipe	/usr/bin/dvips  -D 300  -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		filter 	/usr/bin/pbm2g3 > $$.g3
0	P2\n		filter 	/usr/bin/pbm2g3 > $$.g3
0	P3\n		filter 	/usr/bin/pbm2g3 > $$.g3
0	P4\n		filter 	/usr/bin/pbm2g3 > $$.g3
0	P5\n		pipe 	/usr/bin/pgmtopbm
0	P6\n		pipe 	/usr/bin/ppmtopgm
#0	P1\n		pipe 	/usr/bin/pnmtops  -noturn -scale 1000 -dpi 300  2>/dev/null 
#0	P2\n		pipe 	/usr/bin/pnmtops  -noturn -scale 1000 -dpi 300  2>/dev/null 
#0	P3\n		pipe 	/usr/bin/pnmtops  -noturn -scale 1000 -dpi 300  2>/dev/null 
#0	P4\n		pipe 	/usr/bin/pnmtops  -noturn -scale 1000 -dpi 300  2>/dev/null 
#0	P5\n		pipe 	/usr/bin/pnmtops  -noturn -scale 1000 -dpi 300  2>/dev/null 
#0	P6\n		pipe 	/usr/bin/pnmtops  -noturn -scale 1000 -dpi 300  2>/dev/null 

# PNG - Portable network graphics
0       \x89PNG         pipe    /usr/bin/pngtopnm

# HP Printer Control Language (PCL) -- assume start with reset code
0	\033E\033	filter	/usr/bin/hp2hig3 -r $$

# 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   reject	Cannot print Windows binary formats

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

# 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		reject	Cannot print PCL guess files 

# Default entry -- for normal (text) files.  MUST BE LAST.
#default			cat	\eE\e&k2G\e(0N	\eE 
#default			pipe	/usr/bin/enscript -o - 2>/dev/null
default				pipe	/usr/bin/awk 'BEGIN {printf("%cE%c",27,27)} {printf("%s\r\n",$0)}'
