images revision 69216
1 2#------------------------------------------------------------------------------ 3# images: file(1) magic for image formats (see also "iff") 4# 5# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), 6# additions by janl@ifi.uio.no as well as others. Jan also suggested 7# merging several one- and two-line files into here. 8# 9# little magic: PCX (first byte is 0x0a) 10 11# Targa - matches `povray', `ppmtotga' and `xv' outputs 12# by Philippe De Muyter <phdm@macqel.be> 13# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 14# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise 15# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs 16# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) 17# `tgatoppm' recognizes a superset (Index may be anything) 181 belong&0xfff7ffff 0x01010000 Targa image data - Map 19>2 byte&8 8 - RLE 201 belong&0xfff7ffff 0x00020000 Targa image data - RGB 21>2 byte&8 8 - RLE 221 belong&0xfff7ffff 0x00030000 Targa image data - Mono 23>2 byte&8 8 - RLE 24 25# PBMPLUS images 26# The next byte following the magic is always whitespace. 270 string P1 Netpbm PBM image text 280 string P2 Netpbm PGM image text 290 string P3 Netpbm PPM image text 300 string P4 Netpbm PBM "rawbits" image data 310 string P5 Netpbm PGM "rawbits" image data 320 string P6 Netpbm PPM "rawbits" image data 330 string P7 Netpbm PAM image file 34 35# From: bryanh@giraffe-data.com (Bryan Henderson) 360 string \117\072 Solitaire Image Recorder format 37>4 string \013 MGI Type 11 38>4 string \021 MGI Type 17 390 string .MDA MicroDesign data 40>21 byte 48 version 2 41>21 byte 51 version 3 420 string .MDP MicroDesign page data 43>21 byte 48 version 2 44>21 byte 51 version 3 45 46# NIFF (Navy Interchange File Format, a modification of TIFF) images 470 string IIN1 NIFF image data 48 49# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 50# The second word of TIFF files is the TIFF version number, 42, which has 51# never changed. The TIFF specification recommends testing for it. 520 string MM\x00\x2a TIFF image data, big-endian 530 string II\x2a\x00 TIFF image data, little-endian 54 55# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 56# (Greg Roelofs, newt@uchicago.edu) 57# (Albert Cahalan, acahalan@cs.uml.edu) 58# 59# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 60# 610 string \x89PNG PNG image data, 62>4 belong !0x0d0a1a0a CORRUPTED, 63>4 belong 0x0d0a1a0a 64>>16 belong x %ld x 65>>20 belong x %ld, 66>>24 byte x %d-bit 67>>25 byte 0 grayscale, 68>>25 byte 2 \b/color RGB, 69>>25 byte 3 colormap, 70>>25 byte 4 gray+alpha, 71>>25 byte 6 \b/color RGBA, 72#>>26 byte 0 deflate/32K, 73>>28 byte 0 non-interlaced 74>>28 byte 1 interlaced 751 string PNG PNG image data, CORRUPTED 76 77# GIF 780 string GIF8 GIF image data 79>4 string 7a \b, version 8%s, 80>4 string 9a \b, version 8%s, 81>6 leshort >0 %hd x 82>8 leshort >0 %hd, 83#>10 byte &0x80 color mapped, 84#>10 byte&0x07 =0x00 2 colors 85#>10 byte&0x07 =0x01 4 colors 86#>10 byte&0x07 =0x02 8 colors 87#>10 byte&0x07 =0x03 16 colors 88#>10 byte&0x07 =0x04 32 colors 89#>10 byte&0x07 =0x05 64 colors 90#>10 byte&0x07 =0x06 128 colors 91#>10 byte&0x07 =0x07 256 colors 92 93# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 94# 1 plane, no encoding. 950 string \361\0\100\273 CMU window manager raster image data 96>4 lelong >0 %d x 97>8 lelong >0 %d, 98>12 lelong >0 %d-bit 99 100# Magick Image File Format 1010 string id=ImageMagick MIFF image data 102 103# Artisan 1040 long 1123028772 Artisan image data 105>4 long 1 \b, rectangular 24-bit 106>4 long 2 \b, rectangular 8-bit with colormap 107>4 long 3 \b, rectangular 32-bit (24-bit with matte) 108 109# FIG (Facility for Interactive Generation of figures), an object-based format 1100 string #FIG FIG image text 111>5 string x \b, version %.3s 112 113# PHIGS 1140 string ARF_BEGARF PHIGS clear text archive 1150 string @(#)SunPHIGS SunPHIGS 116# version number follows, in the form m.n 117>40 string SunBin binary 118>32 string archive archive 119 120# GKS (Graphics Kernel System) 1210 string GKSM GKS Metafile 122>24 string SunGKS \b, SunGKS 123 124# CGM image files 1250 string BEGMF clear text Computer Graphics Metafile 126# XXX - questionable magic 1270 beshort&0xffe0 0x0020 binary Computer Graphics Metafile 1280 beshort 0x3020 character Computer Graphics Metafile 129 130# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 1310 string yz MGR bitmap, modern format, 8-bit aligned 1320 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 1330 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 1340 string yx MGR bitmap, modern format, squeezed 135 136# Fuzzy Bitmap (FBM) images 1370 string %bitmap\0 FBM image data 138>30 long 0x31 \b, mono 139>30 long 0x33 \b, color 140 141# facsimile data 1421 string PC\ Research,\ Inc group 3 fax data 143>29 byte 0 \b, normal resolution (204x98 DPI) 144>29 byte 1 \b, fine resolution (204x196 DPI) 145 146# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) 1470 string BM PC bitmap data 148>14 leshort 12 \b, OS/2 1.x format 149>>18 leshort x \b, %d x 150>>20 leshort x %d 151>14 leshort 64 \b, OS/2 2.x format 152>>18 leshort x \b, %d x 153>>20 leshort x %d 154>14 leshort 40 \b, Windows 3.x format 155>>18 lelong x \b, %d x 156>>22 lelong x %d x 157>>28 leshort x %d 1580 string IC PC icon data 1590 string PI PC pointer image data 1600 string CI PC color icon data 1610 string CP PC color pointer image data 162# Conflicts with other entries [BABYL] 163#0 string BA PC bitmap array data 164 165# JPEG images 166# SunOS 5.5.1 had 167# 168# 0 string \377\330\377\340 JPEG file 169# 0 string \377\330\377\356 JPG file 170# 171# both of which turn into "JPEG image data" here. 172# 1730 beshort 0xffd8 JPEG image data 174>6 string JFIF \b, JFIF standard 175# HSI is Handmade Software's proprietary JPEG encoding scheme 1760 string hsi1 JPEG image data, HSI proprietary 177 178# XPM icons (Greg Roelofs, newt@uchicago.edu) 179# note possible collision with C/REXX entry in c-lang; currently commented out 1800 string /*\ XPM\ */ X pixmap image text 181 182# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 1830 leshort 0xcc52 RLE image data, 184>6 leshort x %d x 185>8 leshort x %d 186>2 leshort >0 \b, lower left corner: %d 187>4 leshort >0 \b, lower right corner: %d 188>10 byte&0x1 =0x1 \b, clear first 189>10 byte&0x2 =0x2 \b, no background 190>10 byte&0x4 =0x4 \b, alpha channel 191>10 byte&0x8 =0x8 \b, comment 192>11 byte >0 \b, %d color channels 193>12 byte >0 \b, %d bits per pixel 194>13 byte >0 \b, %d color map channels 195 196# image file format (Robert Potter, potter@cs.rochester.edu) 1970 string Imagefile\ version- iff image data 198# this adds the whole header (inc. version number), informative but longish 199>10 string >\0 %s 200 201# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 2020 belong 0x59a66a95 Sun raster image data 203>4 belong >0 \b, %d x 204>8 belong >0 %d, 205>12 belong >0 %d-bit, 206#>16 belong >0 %d bytes long, 207>20 belong 0 old format, 208#>20 belong 1 standard, 209>20 belong 2 compressed, 210>20 belong 3 RGB, 211>20 belong 4 TIFF, 212>20 belong 5 IFF, 213>20 belong 0xffff reserved for testing, 214>24 belong 0 no colormap 215>24 belong 1 RGB colormap 216>24 belong 2 raw colormap 217#>28 belong >0 colormap is %d bytes long 218 219# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 220# 221# See 222# http://reality.sgi.com/grafica/sgiimage.html 223# 2240 beshort 474 SGI image data 225#>2 byte 0 \b, verbatim 226>2 byte 1 \b, RLE 227#>3 byte 1 \b, normal precision 228>3 byte 2 \b, high precision 229>4 beshort x \b, %d-D 230>6 beshort x \b, %d x 231>8 beshort x %d 232>10 beshort x \b, %d channel 233>10 beshort !1 \bs 234>80 string >0 \b, "%s" 235 2360 string IT01 FIT image data 237>4 belong x \b, %d x 238>8 belong x %d x 239>12 belong x %d 240# 2410 string IT02 FIT image data 242>4 belong x \b, %d x 243>8 belong x %d x 244>12 belong x %d 245# 2462048 string PCD_IPI Kodak Photo CD image pack file 2470 string PCD_OPA Kodak Photo CD overview pack file 248 249# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 250# FITS is the Flexible Image Transport System, the de facto standard for 251# data and image transfer, storage, etc., for the astronomical community. 252# (FITS floating point formats are big-endian.) 2530 string SIMPLE\ \ = FITS image data 254>109 string 8 \b, 8-bit, character or unsigned binary integer 255>108 string 16 \b, 16-bit, two's complement binary integer 256>107 string \ 32 \b, 32-bit, two's complement binary integer 257>107 string -32 \b, 32-bit, floating point, single precision 258>107 string -64 \b, 64-bit, floating point, double precision 259 260# other images 2610 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 2620 string !! Bennet Yee's "face" format 263 264# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 265# stuff. 266# 2670 beshort 0x1010 PEX Binary Archive 268 269# Visio drawings 27003000 string Visio\ (TM)\ Drawing %s 271 272# Tgif files 2730 string \%TGIF\ x Tgif file version %s 274 275# DICOM medical imaging data 276128 string DICM DICOM medical imaging data 277