diff options
Diffstat (limited to 'contrib/file/Magdir/macintosh')
-rw-r--r-- | contrib/file/Magdir/macintosh | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/contrib/file/Magdir/macintosh b/contrib/file/Magdir/macintosh new file mode 100644 index 0000000..841deb2 --- /dev/null +++ b/contrib/file/Magdir/macintosh @@ -0,0 +1,224 @@ + +#------------------------------------------------------------------------------ +# macintosh description +# +# BinHex is the Macintosh ASCII-encoded file format (see also "apple") +# Daniel Quinlan, quinlan@yggdrasil.com +11 string must\ be\ converted\ with\ BinHex BinHex binary text +>41 string x \b, version %.3s + +# Stuffit archives are the de facto standard of compression for Macintosh +# files obtained from most archives. (franklsm@tuns.ca) +0 string SIT! StuffIt Archive (data) +>2 string x : %s +0 string SITD StuffIt Deluxe (data) +>2 string x : %s +0 string Seg StuffIt Deluxe Segment (data) +>2 string x : %s + +# Macintosh Applications and Installation binaries (franklsm@tuns.ca) +0 string APPL Macintosh Application (data) +>2 string x \b: %s + +# Macintosh System files (franklsm@tuns.ca) +0 string zsys Macintosh System File (data) +0 string FNDR Macintosh Finder (data) +0 string libr Macintosh Library (data) +>2 string x : %s +0 string shlb Macintosh Shared Library (data) +>2 string x : %s +0 string cdev Macintosh Control Panel (data) +>2 string x : %s +0 string INIT Macintosh Extension (data) +>2 string x : %s +0 string FFIL Macintosh Truetype Font (data) +>2 string x : %s +0 string LWFN Macintosh Postscript Font (data) +>2 string x : %s + +# Additional Macintosh Files (franklsm@tuns.ca) +0 string PACT Macintosh Compact Pro Archive (data) +>2 string x : %s +0 string ttro Macintosh TeachText File (data) +>2 string x : %s +0 string TEXT Macintosh TeachText File (data) +>2 string x : %s +0 string PDF Macintosh PDF File (data) +>2 string x : %s + +# MacBinary format (Eric Fischer, enf@pobox.com) +# +# Unfortunately MacBinary doesn't really have a magic number prior +# to the MacBinary III format. The checksum is really the way to +# do it, but the magic file format isn't up to the challenge. +# +# 0 byte 0 +# 1 byte # filename length +# 2 string # filename +# 65 string # file type +# 69 string # file creator +# 73 byte # Finder flags +# 74 byte 0 +# 75 beshort # vertical posn in window +# 77 beshort # horiz posn in window +# 79 beshort # window or folder ID +# 81 byte # protected? +# 82 byte 0 +# 83 belong # length of data segment +# 87 belong # length of resource segment +# 91 belong # file creation date +# 95 belong # file modification date +# 99 beshort # length of comment after resource +# 101 byte # new Finder flags +# 102 string mBIN # (only in MacBinary III) +# 106 byte # char. code of file name +# 107 byte # still more Finder flags +# 116 belong # total file length +# 120 beshort # length of add'l header +# 122 byte 129 # for MacBinary II +# 122 byte 130 # for MacBinary III +# 123 byte 129 # minimum version that can read fmt +# 124 beshort # checksum +# +# This attempts to use the version numbers as a magic number, requiring +# that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second +# be 0x81. This works for the files I have, but maybe not for everyone's. + +122 beshort&0xFCFF 0x8081 Macintosh MacBinary data + +# MacBinary I doesn't have the version number field at all, but MacBinary II +# has been in use since 1987 so I hope there aren't many really old files +# floating around that this will miss. The original spec calls for using +# the nulls in 0, 74, and 82 as the magic number. +# +# Another possibility, that would also work for MacBinary I, is to use +# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will +# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset, +# and that 74 will be 0. So something like +# +# 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data +# +# >73 byte&0x01 0x01 \b, inited +# >73 byte&0x02 0x02 \b, changed +# >73 byte&0x04 0x04 \b, busy +# >73 byte&0x08 0x08 \b, bozo +# >73 byte&0x10 0x10 \b, system +# >73 byte&0x10 0x20 \b, bundle +# >73 byte&0x10 0x40 \b, invisible +# >73 byte&0x10 0x80 \b, locked + +>65 string x \b, type "%4.4s" + +>65 string 8BIM (PhotoShop) +>65 string ALB3 (PageMaker 3) +>65 string ALB4 (PageMaker 4) +>65 string ALT3 (PageMaker 3) +>65 string APPL (application) +>65 string AWWP (AppleWorks word processor) +>65 string CIRC (simulated circuit) +>65 string DRWG (MacDraw) +>65 string EPSF (Encapsulated PostScript) +>65 string FFIL (font suitcase) +>65 string FKEY (function key) +>65 string FNDR (Macintosh Finder) +>65 string GIFf (GIF image) +>65 string Gzip (GNU gzip) +>65 string INIT (system extension) +>65 string LIB\ (library) +>65 string LWFN (PostScript font) +>65 string MSBC (Microsoft BASIC) +>65 string PACT (Compact Pro archive) +>65 string PDF\ (Portable Document Format) +>65 string PICT (picture) +>65 string PNTG (MacPaint picture) +>65 string PREF (preferences) +>65 string PROJ (Think C project) +>65 string QPRJ (Think Pascal project) +>65 string SCFL (Defender scores) +>65 string SCRN (startup screen) +>65 string SITD (StuffIt Deluxe) +>65 string SPn3 (SuperPaint) +>65 string STAK (HyperCard stack) +>65 string Seg\ (StuffIt segment) +>65 string TARF (Unix tar archive) +>65 string TEXT (ASCII) +>65 string TIFF (TIFF image) +>65 string TOVF (Eudora table of contents) +>65 string WDBN (Microsoft Word word processor) +>65 string WORD (MacWrite word processor) +>65 string XLS\ (Microsoft Excel) +>65 string ZIVM (compress (.Z)) +>65 string ZSYS (Pre-System 7 system file) +>65 string acf3 (Aldus FreeHand) +>65 string cdev (control panel) +>65 string dfil (Desk Acessory suitcase) +>65 string libr (library) +>65 string nX^d (WriteNow word processor) +>65 string nX^w (WriteNow dictionary) +>65 string rsrc (resource) +>65 string scbk (Scrapbook) +>65 string shlb (shared library) +>65 string ttro (SimpleText read-only) +>65 string zsys (system file) + +>69 string x \b, creator "%4.4s" + +# Somewhere, Apple has a repository of registered Creator IDs. These are +# just the ones that I happened to have files from and was able to identify. + +>69 string 8BIM (Adobe Photoshop) +>69 string ALD3 (PageMaker 3) +>69 string ALD4 (PageMaker 4) +>69 string ALFA (Alpha editor) +>69 string APLS (Apple Scanner) +>69 string APSC (Apple Scanner) +>69 string BRKL (Brickles) +>69 string BTFT (BitFont) +>69 string CCL2 (Common Lisp 2) +>69 string CCL\ (Common Lisp) +>69 string CDmo (The Talking Moose) +>69 string CPCT (Compact Pro) +>69 string CSOm (Eudora) +>69 string DMOV (Font/DA Mover) +>69 string DSIM (DigSim) +>69 string EDIT (Macintosh Edit) +>69 string ERIK (Macintosh Finder) +>69 string EXTR (self-extracting archive) +>69 string Gzip (GNU gzip) +>69 string KAHL (Think C) +>69 string LWFU (LaserWriter Utility) +>69 string LZIV (compress) +>69 string MACA (MacWrite) +>69 string MACS (Macintosh operating system) +>69 string MAcK (MacKnowledge terminal emulator) +>69 string MLND (Defender) +>69 string MPNT (MacPaint) +>69 string MSBB (Microsoft BASIC (binary)) +>69 string MSWD (Microsoft Word) +>69 string NCSA (NCSA Telnet) +>69 string PJMM (Think Pascal) +>69 string PSAL (Hunt the Wumpus) +>69 string PSI2 (Apple File Exchange) +>69 string R*ch (BBEdit) +>69 string RMKR (Resource Maker) +>69 string RSED (Resource Editor) +>69 string Rich (BBEdit) +>69 string SIT! (StuffIt) +>69 string SPNT (SuperPaint) +>69 string Unix (NeXT Mac filesystem) +>69 string VIM! (Vim editor) +>69 string WILD (HyperCard) +>69 string XCEL (Microsoft Excel) +>69 string aCa2 (Fontographer) +>69 string aca3 (Aldus FreeHand) +>69 string dosa (Macintosh MS-DOS file system) +>69 string movr (Font/DA Mover) +>69 string nX^n (WriteNow) +>69 string pdos (Apple ProDOS file system) +>69 string scbk (Scrapbook) +>69 string ttxt (SimpleText) +>69 string ufox (Foreign File Access) + +# Just in case... + +102 string mBIN MacBinary III data with surprising version number |