1327e51cbSPeter Avalos 2327e51cbSPeter Avalos#------------------------------------------------------------------------------ 36fca56fbSSascha Wildner# $File: printer,v 1.29 2019/04/19 00:42:27 christos Exp $ 4327e51cbSPeter Avalos# printer: file(1) magic for printer-formatted files 5327e51cbSPeter Avalos# 6327e51cbSPeter Avalos 7327e51cbSPeter Avalos# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com) 8a96e001bSPeter Avalos0 string %! PostScript document text 979343712SPeter Avalos!:mime application/postscript 1079343712SPeter Avalos!:apple ASPSTEXT 11327e51cbSPeter Avalos>2 string PS-Adobe- conforming 1279343712SPeter Avalos>>11 string >\0 DSC level %.3s 1379343712SPeter Avalos>>>15 string EPS \b, type %s 1479343712SPeter Avalos>>>15 string Query \b, type %s 1579343712SPeter Avalos>>>15 string ExitServer \b, type %s 16*c30bd091SSascha Wildner>>>15 search/1000 %%LanguageLevel:\040 1779343712SPeter Avalos>>>>&0 string >\0 \b, Level %s 18327e51cbSPeter Avalos# Some PCs have the annoying habit of adding a ^D as a document separator 19327e51cbSPeter Avalos0 string \004%! PostScript document text 2079343712SPeter Avalos!:mime application/postscript 2179343712SPeter Avalos!:apple ASPSTEXT 22327e51cbSPeter Avalos>3 string PS-Adobe- conforming 2379343712SPeter Avalos>>12 string >\0 DSC level %.3s 2479343712SPeter Avalos>>>16 string EPS \b, type %s 2579343712SPeter Avalos>>>16 string Query \b, type %s 2679343712SPeter Avalos>>>16 string ExitServer \b, type %s 27*c30bd091SSascha Wildner>>>16 search/1000 %%LanguageLevel:\040 2879343712SPeter Avalos>>>>&0 string >\0 \b, Level %s 29327e51cbSPeter Avalos0 string \033%-12345X%!PS PostScript document 30327e51cbSPeter Avalos 31327e51cbSPeter Avalos# DOS EPS Binary File Header 32327e51cbSPeter Avalos# From: Ed Sznyter <ews@Black.Market.NET> 33327e51cbSPeter Avalos0 belong 0xC5D0D3C6 DOS EPS Binary File 34327e51cbSPeter Avalos>4 long >0 Postscript starts at byte %d 35327e51cbSPeter Avalos>>8 long >0 length %d 36327e51cbSPeter Avalos>>>12 long >0 Metafile starts at byte %d 37327e51cbSPeter Avalos>>>>16 long >0 length %d 38327e51cbSPeter Avalos>>>20 long >0 TIFF starts at byte %d 39327e51cbSPeter Avalos>>>>24 long >0 length %d 40327e51cbSPeter Avalos 4179343712SPeter Avalos# Summary: Adobe's PostScript Printer Description File 4279343712SPeter Avalos# Extension: .ppd 436fca56fbSSascha Wildner# Reference: https://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf, Section 3.8 4479343712SPeter Avalos# Submitted by: Yves Arrouye <arrouye@marin.fdn.fr> 45327e51cbSPeter Avalos# 4679343712SPeter Avalos0 string *PPD-Adobe:\x20 PPD file 4779343712SPeter Avalos>&0 string x \b, version %s 48327e51cbSPeter Avalos 49327e51cbSPeter Avalos# HP Printer Job Language 50327e51cbSPeter Avalos0 string \033%-12345X@PJL HP Printer Job Language data 51327e51cbSPeter Avalos# HP Printer Job Language 52327e51cbSPeter Avalos# The header found on Win95 HP plot files is the "Silliest Thing possible" 53327e51cbSPeter Avalos# (TM) 54327e51cbSPeter Avalos# Every driver puts the language at some random position, with random case 55327e51cbSPeter Avalos# (LANGUAGE and Language) 56327e51cbSPeter Avalos# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10 57327e51cbSPeter Avalos# From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de> 58327e51cbSPeter Avalos# 59327e51cbSPeter Avalos0 string \033%-12345X@PJL HP Printer Job Language data 60327e51cbSPeter Avalos>&0 string >\0 %s 61327e51cbSPeter Avalos>>&0 string >\0 %s 62327e51cbSPeter Avalos>>>&0 string >\0 %s 63327e51cbSPeter Avalos>>>>&0 string >\0 %s 64327e51cbSPeter Avalos#>15 string \ ENTER\ LANGUAGE\ = 65327e51cbSPeter Avalos#>31 string PostScript PostScript 66327e51cbSPeter Avalos 67884044a5SPeter Avalos# From: Stefan Thurner <thurners@nicsys.de> 68884044a5SPeter Avalos0 string \033%-12345X@PJL 69884044a5SPeter Avalos>&0 search/10000 %! PJL encapsulated PostScript document text 70884044a5SPeter Avalos 7182c5fa3eSPeter Avalos# Rick Richardson <rickrich@gmail.com> 7282c5fa3eSPeter Avalos 7382c5fa3eSPeter Avalos# For Fuji-Xerox Printers - HBPL stands for Host Based Printer Language 7482c5fa3eSPeter Avalos# For Oki Data Printers - HIPERC 7582c5fa3eSPeter Avalos# For Konica Minolta Printers - LAVAFLOW 7682c5fa3eSPeter Avalos# For Samsung Printers - QPDL 7782c5fa3eSPeter Avalos# For HP Printers - ZJS stands for Zenographics ZJStream 7882c5fa3eSPeter Avalos0 string \033%-12345X@PJL HP Printer Job Language data 7982c5fa3eSPeter Avalos>0 search/10000 @PJL\ ENTER\ LANGUAGE=HBPL - HBPL 8082c5fa3eSPeter Avalos>0 search/10000 @PJL\ ENTER\ LANGUAGE=HIPERC - Oki Data HIPERC 8182c5fa3eSPeter Avalos>0 search/10000 @PJL\ ENTER\ LANGUAGE=LAVAFLOW - Konica Minolta LAVAFLOW 8282c5fa3eSPeter Avalos>0 search/10000 @PJL\ ENTER\ LANGUAGE=QPDL - Samsung QPDL 8382c5fa3eSPeter Avalos>0 search/10000 @PJL\ ENTER\ LANGUAGE\ =\ QPDL - Samsung QPDL 8482c5fa3eSPeter Avalos>0 search/10000 @PJL\ ENTER\ LANGUAGE=ZJS - HP ZJS 8582c5fa3eSPeter Avalos 8682c5fa3eSPeter Avalos 87327e51cbSPeter Avalos# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com) 88327e51cbSPeter Avalos0 string \033E\033 HP PCL printer data 89327e51cbSPeter Avalos>3 string \&l0A - default page size 90327e51cbSPeter Avalos>3 string \&l1A - US executive page size 91327e51cbSPeter Avalos>3 string \&l2A - US letter page size 92327e51cbSPeter Avalos>3 string \&l3A - US legal page size 93327e51cbSPeter Avalos>3 string \&l26A - A4 page size 94327e51cbSPeter Avalos>3 string \&l80A - Monarch envelope size 95327e51cbSPeter Avalos>3 string \&l81A - No. 10 envelope size 96327e51cbSPeter Avalos>3 string \&l90A - Intl. DL envelope size 97327e51cbSPeter Avalos>3 string \&l91A - Intl. C5 envelope size 98327e51cbSPeter Avalos>3 string \&l100A - Intl. B5 envelope size 99327e51cbSPeter Avalos>3 string \&l-81A - No. 10 envelope size (landscape) 100327e51cbSPeter Avalos>3 string \&l-90A - Intl. DL envelope size (landscape) 101327e51cbSPeter Avalos 102327e51cbSPeter Avalos# IMAGEN printer-ready files: 103327e51cbSPeter Avalos0 string @document( Imagen printer 104327e51cbSPeter Avalos# this only works if "language xxx" is first item in Imagen header. 105327e51cbSPeter Avalos>10 string language\ impress (imPRESS data) 106327e51cbSPeter Avalos>10 string language\ daisy (daisywheel text) 107327e51cbSPeter Avalos>10 string language\ diablo (daisywheel text) 108327e51cbSPeter Avalos>10 string language\ printer (line printer emulation) 109327e51cbSPeter Avalos>10 string language\ tektronix (Tektronix 4014 emulation) 110327e51cbSPeter Avalos# Add any other languages that your Imagen uses - remember 111327e51cbSPeter Avalos# to keep the word `text' if the file is human-readable. 112327e51cbSPeter Avalos# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)] 113327e51cbSPeter Avalos# 114327e51cbSPeter Avalos# Now magic for IMAGEN font files... 115327e51cbSPeter Avalos0 string Rast RST-format raster font data 116327e51cbSPeter Avalos>45 string >0 face %s 117327e51cbSPeter Avalos# From Jukka Ukkonen 118327e51cbSPeter Avalos0 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data 119327e51cbSPeter Avalos 120327e51cbSPeter Avalos# From <mike@flyn.org> 121327e51cbSPeter Avalos# These are the /etc/magic entries to decode data sent to an Epson printer. 122327e51cbSPeter Avalos0 string \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P Epson Stylus Color 460 data 123327e51cbSPeter Avalos 124327e51cbSPeter Avalos 125327e51cbSPeter Avalos#------------------------------------------------------------------------------ 126327e51cbSPeter Avalos# zenographics: file(1) magic for Zenographics ZjStream printer data 12782c5fa3eSPeter Avalos# Rick Richardson <rickrich@gmail.com> 128327e51cbSPeter Avalos0 string JZJZ 129327e51cbSPeter Avalos>0x12 string ZZ Zenographics ZjStream printer data (big-endian) 130327e51cbSPeter Avalos0 string ZJZJ 131327e51cbSPeter Avalos>0x12 string ZZ Zenographics ZjStream printer data (little-endian) 132327e51cbSPeter Avalos 133327e51cbSPeter Avalos 134327e51cbSPeter Avalos#------------------------------------------------------------------------------ 135327e51cbSPeter Avalos# Oak Technologies printer stream 13682c5fa3eSPeter Avalos# Rick Richardson <rickrich@gmail.com> 137327e51cbSPeter Avalos0 string OAK 138327e51cbSPeter Avalos>0x07 byte 0 139327e51cbSPeter Avalos>0x0b byte 0 Oak Technologies printer stream 140327e51cbSPeter Avalos 141327e51cbSPeter Avalos# This would otherwise be recognized as PostScript - nick@debian.org 142327e51cbSPeter Avalos0 string %!VMF SunClock's Vector Map Format data 143327e51cbSPeter Avalos 144327e51cbSPeter Avalos#------------------------------------------------------------------------------ 145327e51cbSPeter Avalos# HP LaserJet 1000 series downloadable firmware file 146327e51cbSPeter Avalos0 string \xbe\xefABCDEFGH HP LaserJet 1000 series downloadable firmware 147327e51cbSPeter Avalos 148327e51cbSPeter Avalos# From: Paolo <oopla@users.sf.net> 149327e51cbSPeter Avalos# Epson ESC/Page, ESC/PageColor 150327e51cbSPeter Avalos0 string \x1b\x01@EJL Epson ESC/Page language printer data 151