168349Sobrien
268349Sobrien#------------------------------------------------------------------------------
3354939Sdelphij# $File: printer,v 1.29 2019/04/19 00:42:27 christos Exp $
468349Sobrien# printer:  file(1) magic for printer-formatted files
568349Sobrien#
668349Sobrien
768349Sobrien# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com)
868349Sobrien0	string		%!		PostScript document text
9186690Sobrien!:mime	application/postscript
10191736Sobrien!:apple	ASPSTEXT
1168349Sobrien>2	string		PS-Adobe-	conforming
12186690Sobrien>>11	string		>\0		DSC level %.3s
13186690Sobrien>>>15	string		EPS		\b, type %s
14186690Sobrien>>>15	string		Query		\b, type %s
15186690Sobrien>>>15	string		ExitServer	\b, type %s
16328874Seadler>>>15   search/1000		%%LanguageLevel:\040
17186690Sobrien>>>>&0	string		>\0		\b, Level %s
1868349Sobrien# Some PCs have the annoying habit of adding a ^D as a document separator
1968349Sobrien0	string		\004%!		PostScript document text
20186690Sobrien!:mime	application/postscript
21191736Sobrien!:apple	ASPSTEXT
2268349Sobrien>3	string		PS-Adobe-	conforming
23186690Sobrien>>12	string		>\0		DSC level %.3s
24186690Sobrien>>>16	string		EPS		\b, type %s
25186690Sobrien>>>16	string		Query		\b, type %s
26186690Sobrien>>>16	string		ExitServer	\b, type %s
27328874Seadler>>>16   search/1000		%%LanguageLevel:\040
28186690Sobrien>>>>&0	string		>\0		\b, Level %s
2968349Sobrien0	string		\033%-12345X%!PS	PostScript document
3068349Sobrien
3168349Sobrien# DOS EPS Binary File Header
3268349Sobrien# From: Ed Sznyter <ews@Black.Market.NET>
3368349Sobrien0       belong          0xC5D0D3C6      DOS EPS Binary File
3468349Sobrien>4      long            >0              Postscript starts at byte %d
3568349Sobrien>>8     long            >0              length %d
3668349Sobrien>>>12   long            >0              Metafile starts at byte %d
3768349Sobrien>>>>16  long            >0              length %d
3868349Sobrien>>>20   long            >0              TIFF starts at byte %d
3968349Sobrien>>>>24  long            >0              length %d
4068349Sobrien
41186690Sobrien# Summary: Adobe's PostScript Printer Description File
42186690Sobrien# Extension: .ppd
43354939Sdelphij# Reference: https://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf, Section 3.8
44186690Sobrien# Submitted by: Yves Arrouye <arrouye@marin.fdn.fr>
4568349Sobrien#
46186690Sobrien0	string		*PPD-Adobe:\x20	PPD file
47186690Sobrien>&0	string		x		\b, version %s
4868349Sobrien
4968349Sobrien# HP Printer Job Language
5068349Sobrien0	string		\033%-12345X@PJL	HP Printer Job Language data
5168349Sobrien# HP Printer Job Language
52328874Seadler# The header found on Win95 HP plot files is the "Silliest Thing possible"
5368349Sobrien# (TM)
5468349Sobrien# Every driver puts the language at some random position, with random case
5568349Sobrien# (LANGUAGE and Language)
5668349Sobrien# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10
5768349Sobrien# From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
58328874Seadler#
5968349Sobrien0	string		\033%-12345X@PJL	HP Printer Job Language data
60328874Seadler>&0	string		>\0			%s
61328874Seadler>>&0	string		>\0			%s
62328874Seadler>>>&0	string		>\0			%s
63328874Seadler>>>>&0	string		>\0			%s
6468349Sobrien#>15	string		\ ENTER\ LANGUAGE\ =
6568349Sobrien#>31	string		PostScript		PostScript
6668349Sobrien
67226048Sobrien# From: Stefan Thurner <thurners@nicsys.de>
68226048Sobrien0	string		\033%-12345X@PJL
69226048Sobrien>&0	search/10000	%!			PJL encapsulated PostScript document text
70226048Sobrien
71267843Sdelphij# Rick Richardson <rickrich@gmail.com>
72267843Sdelphij
73267843Sdelphij# For Fuji-Xerox Printers - HBPL stands for Host Based Printer Language
74267843Sdelphij# For Oki Data Printers - HIPERC
75267843Sdelphij# For Konica Minolta Printers - LAVAFLOW
76267843Sdelphij# For Samsung Printers - QPDL
77267843Sdelphij# For HP Printers - ZJS stands for Zenographics ZJStream
78267843Sdelphij0	string		\033%-12345X@PJL	HP Printer Job Language data
79267843Sdelphij>0	search/10000	@PJL\ ENTER\ LANGUAGE=HBPL	- HBPL
80267843Sdelphij>0	search/10000	@PJL\ ENTER\ LANGUAGE=HIPERC	- Oki Data HIPERC
81267843Sdelphij>0	search/10000	@PJL\ ENTER\ LANGUAGE=LAVAFLOW	- Konica Minolta LAVAFLOW
82267843Sdelphij>0	search/10000	@PJL\ ENTER\ LANGUAGE=QPDL	- Samsung QPDL
83267843Sdelphij>0	search/10000	@PJL\ ENTER\ LANGUAGE\ =\ QPDL	- Samsung QPDL
84267843Sdelphij>0	search/10000	@PJL\ ENTER\ LANGUAGE=ZJS	- HP ZJS
85267843Sdelphij
86267843Sdelphij
8768349Sobrien# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com)
8868349Sobrien0	string		\033E\033	HP PCL printer data
8968349Sobrien>3	string		\&l0A		- default page size
9068349Sobrien>3	string		\&l1A		- US executive page size
9168349Sobrien>3	string		\&l2A		- US letter page size
9268349Sobrien>3	string		\&l3A		- US legal page size
9368349Sobrien>3	string		\&l26A		- A4 page size
9468349Sobrien>3	string		\&l80A		- Monarch envelope size
9568349Sobrien>3	string		\&l81A		- No. 10 envelope size
9668349Sobrien>3	string		\&l90A		- Intl. DL envelope size
9768349Sobrien>3	string		\&l91A		- Intl. C5 envelope size
9868349Sobrien>3	string		\&l100A		- Intl. B5 envelope size
9968349Sobrien>3	string		\&l-81A		- No. 10 envelope size (landscape)
10068349Sobrien>3	string		\&l-90A		- Intl. DL envelope size (landscape)
10168349Sobrien
10268349Sobrien# IMAGEN printer-ready files:
10368349Sobrien0	string	@document(		Imagen printer
10468349Sobrien# this only works if "language xxx" is first item in Imagen header.
10568349Sobrien>10	string	language\ impress	(imPRESS data)
10668349Sobrien>10	string	language\ daisy		(daisywheel text)
10768349Sobrien>10	string	language\ diablo	(daisywheel text)
10868349Sobrien>10	string	language\ printer	(line printer emulation)
10968349Sobrien>10	string	language\ tektronix	(Tektronix 4014 emulation)
11068349Sobrien# Add any other languages that your Imagen uses - remember
11168349Sobrien# to keep the word `text' if the file is human-readable.
11268349Sobrien# [GRR 950115:  missing "postscript" or "ultrascript" (whatever it was called)]
11368349Sobrien#
11468349Sobrien# Now magic for IMAGEN font files...
11568349Sobrien0	string		Rast		RST-format raster font data
116133359Sobrien>45	string		>0		face %s
11768349Sobrien# From Jukka Ukkonen
11868349Sobrien0	string		\033[K\002\0\0\017\033(a\001\0\001\033(g	Canon Bubble Jet BJC formatted data
119103373Sobrien
120103373Sobrien# From <mike@flyn.org>
121103373Sobrien# These are the /etc/magic entries to decode data sent to an Epson printer.
122103373Sobrien0       string          \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P        Epson Stylus Color 460 data
123133359Sobrien
124133359Sobrien
125133359Sobrien#------------------------------------------------------------------------------
126133359Sobrien# zenographics:  file(1) magic for Zenographics ZjStream printer data
127267843Sdelphij# Rick Richardson <rickrich@gmail.com>
128133359Sobrien0	string		JZJZ
129133359Sobrien>0x12	string		ZZ		Zenographics ZjStream printer data (big-endian)
130133359Sobrien0	string		ZJZJ
131133359Sobrien>0x12	string		ZZ		Zenographics ZjStream printer data (little-endian)
132133359Sobrien
133133359Sobrien
134133359Sobrien#------------------------------------------------------------------------------
135133359Sobrien# Oak Technologies printer stream
136267843Sdelphij# Rick Richardson <rickrich@gmail.com>
137133359Sobrien0       string          OAK
138133359Sobrien>0x07	byte		0
139133359Sobrien>0x0b	byte		0	Oak Technologies printer stream
140133359Sobrien
141133359Sobrien# This would otherwise be recognized as PostScript - nick@debian.org
142133359Sobrien0	string		%!VMF 		SunClock's Vector Map Format data
143133359Sobrien
144133359Sobrien#------------------------------------------------------------------------------
145133359Sobrien# HP LaserJet 1000 series downloadable firmware file
146328874Seadler0	string	\xbe\xefABCDEFGH	HP LaserJet 1000 series downloadable firmware
147159764Sobrien
148159764Sobrien# From: Paolo <oopla@users.sf.net>
149328874Seadler# Epson ESC/Page, ESC/PageColor
150159764Sobrien0	string	\x1b\x01@EJL	Epson ESC/Page language printer data
151