1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*898496eeSXin LI# $File: wordprocessors,v 1.34 2023/01/24 20:13:40 christos Exp $ 4b6cee71dSXin LI# wordprocessors: file(1) magic fo word processors. 5b6cee71dSXin LI# 6b6cee71dSXin LI####### PWP file format used on Smith Corona Personal Word Processors: 7b6cee71dSXin LI2 string \040\040\040\040\040\040\040\040\040\040\040ML4D\040'92 Smith Corona PWP 8b6cee71dSXin LI>24 byte 2 \b, single spaced 9b6cee71dSXin LI>24 byte 3 \b, 1.5 spaced 10b6cee71dSXin LI>24 byte 4 \b, double spaced 11b6cee71dSXin LI>25 byte 0x42 \b, letter 12b6cee71dSXin LI>25 byte 0x54 \b, legal 13b6cee71dSXin LI>26 byte 0x46 \b, A4 14b6cee71dSXin LI 15d38c30c0SXin LI# URL: http://fileformats.archiveteam.org/wiki/Microsoft_Works_Word_Processor 16d38c30c0SXin LI# reference: http://mark0.net/download/triddefs_xml.7z 17d38c30c0SXin LI# /defs/w/wps-works-dos.trid.xml 18d38c30c0SXin LI# From: Joerg Jenderek 19d38c30c0SXin LI# Note: older non OLE 2 Compound based versions 20d38c30c0SXin LI0 ubeshort =0x01FE 21d38c30c0SXin LI>112 ubeshort =0x0100 Microsoft Works 1-3 (DOS) or 2 (Windows) document 22d38c30c0SXin LI# title like THE GREAT KHAN GAME 23d38c30c0SXin LI>>0x100 string x %s 24d38c30c0SXin LI!:mime application/vnd-ms-works 25d38c30c0SXin LI#!:mime application/x-msworks 26d38c30c0SXin LI# https://www.macdisk.com/macsigen.php 27d38c30c0SXin LI!:apple ????AWWP 28d38c30c0SXin LI!:ext wps 29d38c30c0SXin LI 303e41d09dSXin LI# Corel/WordPerfect 31a2dfb722SXin LI# URL: https://en.wikipedia.org/wiki/WordPerfect 32a2dfb722SXin LI# Reference: https://github.com/OneWingedShark/WordPerfect/blob/master/doc/SDK_Help/FileFormats/WPFF_DocumentStructure.htm 33a2dfb722SXin LI# http://mark0.net/download/triddefs_xml.7z/defs/w/wp-generic.trid.xml 343e41d09dSXin LI0 string \xffWPC 353e41d09dSXin LI# WordPerfect 363e41d09dSXin LI>8 byte 1 37a2dfb722SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/w/wpm-macro.trid.xml 38a2dfb722SXin LI# Note: there exist other macro variants 393e41d09dSXin LI>>9 byte 1 WordPerfect macro 40a2dfb722SXin LI#!:mime application/octet-stream 41a2dfb722SXin LI!:mime application/x-wordperfect-wpm 42a2dfb722SXin LI# like: ALTD.WPM ENDFOOT.WPM FOOTEND.WPM LABELS.WPM REVEALTX.WPM 43a2dfb722SXin LI!:ext wpm 44a2dfb722SXin LI# Note: used in WordPerfect 5.1; there exist other FIL variants 453e41d09dSXin LI>>9 byte 2 WordPerfect help file 46a2dfb722SXin LI#!:mime application/octet-stream 47a2dfb722SXin LI!:mime application/x-wordperfect-help 48a2dfb722SXin LI# like: WPHELP.FIL 49a2dfb722SXin LI!:ext fil 50a2dfb722SXin LI# pointer to document area like: 10h 51a2dfb722SXin LI>>>4 ulelong !0x10 \b, at %#x document area 523e41d09dSXin LI>>9 byte 3 WordPerfect keyboard file 53a2dfb722SXin LI#!:mime application/octet-stream 54a2dfb722SXin LI!:mime application/x-wordperfect-keyboard 55a2dfb722SXin LI!:ext wpk 56a2dfb722SXin LI# no document area, so point to end of file; so this is file size like: 23381 2978 32835 3355 3775 919 57a2dfb722SXin LI>>>4 ulelong x \b, %u bytes 58a2dfb722SXin LI>>9 byte 4 WordPerfect VAX keyboard definition 59a2dfb722SXin LI#!:mime application/octet-stream 60a2dfb722SXin LI!:mime application/x-wordperfect-keyboard 61a2dfb722SXin LI#!:ext foo 62a2dfb722SXin LI# URL: http://fileformats.archiveteam.org/wiki/WordPerfect 63a2dfb722SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/w/wpd-doc-gen.trid.xml 643e41d09dSXin LI>>9 byte 10 WordPerfect document 65a2dfb722SXin LI# https://www.iana.org/assignments/media-types/application/vnd.wordperfect 66a2dfb722SXin LI!:mime application/vnd.wordperfect 67a2dfb722SXin LI#!:apple ????WPC2 68a2dfb722SXin LI# TODO: distinguish different suffix 69a2dfb722SXin LI!:ext wpd/wpt/wkb/icr/tut/sty/tst/crs 703e41d09dSXin LI>>9 byte 11 WordPerfect dictionary 713e41d09dSXin LI>>9 byte 12 WordPerfect thesaurus 723e41d09dSXin LI>>9 byte 13 WordPerfect block 733e41d09dSXin LI>>9 byte 14 WordPerfect rectangular block 743e41d09dSXin LI>>9 byte 15 WordPerfect column block 753e41d09dSXin LI>>9 byte 16 WordPerfect printer data 76a2dfb722SXin LI#!:mime application/octet-stream 77a2dfb722SXin LI!:mime application/x-wordperfect-prs 78a2dfb722SXin LI# like: STANDARD.PRS WORKBOOK.PRS 79a2dfb722SXin LI!:ext prs 80a2dfb722SXin LI# like: "Standard Printer" "Workbook Printer" 81a2dfb722SXin LI>>>0x64 pstring/B >A "%s" 82a2dfb722SXin LI#>>9 byte 18 WordPerfect Prefix information file 83a2dfb722SXin LI# printer resource .ALL 843e41d09dSXin LI>>9 byte 19 WordPerfect printer data 85a2dfb722SXin LI#!:mime application/octet-stream 86a2dfb722SXin LI!:mime application/x-wordperfect-all 87a2dfb722SXin LI!:ext all 88a2dfb722SXin LI# display Resource 893e41d09dSXin LI>>9 byte 20 WordPerfect driver resource data 90a2dfb722SXin LI#!:mime application/octet-stream 91a2dfb722SXin LI!:mime application/x-wordperfect-drs 92a2dfb722SXin LI# like: WPSMALL.DRS 93a2dfb722SXin LI!:ext drs 94a2dfb722SXin LI# pointer to index area with string "smalldrs" like: 46h 95a2dfb722SXin LI>>>4 uleshort !0x46 \b, at %#x index area 96a2dfb722SXin LI>>9 byte 21 WordPerfect Overlay file 97a2dfb722SXin LI#!:mime application/octet-stream 98a2dfb722SXin LI!:mime application/x-wordperfect-fil 99a2dfb722SXin LI# like: WP.FIL 100a2dfb722SXin LI!:ext fil 101a2dfb722SXin LI# URL: http://fileformats.archiveteam.org/wiki/WordPerfect_Graphics 102a2dfb722SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-wpg.trid.xml 103a2dfb722SXin LI# Note: called "WordPerfect Graphics bitmap" by TrID and 104a2dfb722SXin LI# "WordPerfect Graphics Metafile" by DROID via x-fmt/395 fmt/1042 105a2dfb722SXin LI# "WPG (Word Perfect Graphics)" by ImageMagick `identify -verbose BUTTRFLY.WPG` 1063e41d09dSXin LI>>9 byte 22 WordPerfect graphic image 107a2dfb722SXin LI# TODO: skip DROID x-fmt-395-signature-id-132.wpg by check for existing document area 108a2dfb722SXin LI#>>>4 ulelong >15 WordPerfect_graphic_OK 109a2dfb722SXin LI#!:mime application/octet-stream 110a2dfb722SXin LI# http://extension.nirsoft.net/wpg 111a2dfb722SXin LI!:mime image/x-wordperfect-graphics 112a2dfb722SXin LI# https://reposcope.com/mimetype/application/x-wpg 113a2dfb722SXin LI#!:mime application/x-wpg 114a2dfb722SXin LI# like: BUTTRFLY.WPG STAR-5.WPG input.wpg WORDPFCT.WPG 115a2dfb722SXin LI!:ext wpg 116a2dfb722SXin LI# pointer to document area like: 10h 1Ah 117a2dfb722SXin LI>>>4 ulelong !0x1A \b, at %#x document area 1183e41d09dSXin LI>>9 byte 23 WordPerfect hyphenation code 1193e41d09dSXin LI>>9 byte 24 WordPerfect hyphenation data 1203e41d09dSXin LI>>9 byte 25 WordPerfect macro resource data 121a2dfb722SXin LI#!:mime application/octet-stream 122a2dfb722SXin LI!:mime application/x-wordperfect-mrs 123a2dfb722SXin LI# like: WP.MRS 124a2dfb722SXin LI!:ext mrs 1253e41d09dSXin LI>>9 byte 27 WordPerfect hyphenation lex 1263e41d09dSXin LI>>9 byte 29 WordPerfect wordlist 1273e41d09dSXin LI>>9 byte 30 WordPerfect equation resource data 128a2dfb722SXin LI#!:mime application/octet-stream 129a2dfb722SXin LI!:mime application/x-wordperfect-qrs 130a2dfb722SXin LI# like: WQ.QRS wpDE.qrs wpen.qrs 131a2dfb722SXin LI!:ext qrs 132a2dfb722SXin LI# jump to document area with some marker and equation 133a2dfb722SXin LI>>>(4.l) ubyte x 134a2dfb722SXin LI# equation like: "Fraction: x OVER y" 135a2dfb722SXin LI>>>>&1 string >A (...%-.19s...) 136a2dfb722SXin LI# pointer to document area like: 17C4h 137a2dfb722SXin LI>>>4 ulelong x \b, at %#x document area 138a2dfb722SXin LI#>>9 byte 31 reserved 139a2dfb722SXin LI#>>9 byte 32 WordPerfect VAX .SET 1403e41d09dSXin LI>>9 byte 33 WordPerfect spell rules 1413e41d09dSXin LI>>9 byte 34 WordPerfect dictionary rules 142a2dfb722SXin LI#>>9 byte 35 reserved 143a2dfb722SXin LI# video resource device driver 144a2dfb722SXin LI# Note: filetype 26 for VRS and filetype 36 for WPD apparently is wrong 145a2dfb722SXin LI>>9 byte 36 WordPerfect Video Resource 146a2dfb722SXin LI#!:mime application/octet-stream 147a2dfb722SXin LI!:mime application/x-wordperfect-vrs 148a2dfb722SXin LI# like: STANDARD.VRS 149a2dfb722SXin LI!:ext vrs 150a2dfb722SXin LI# like: "IBM CGA (& compatibles)" 151a2dfb722SXin LI>>>0x20 string >A "%.23s" 1523e41d09dSXin LI>>9 byte 39 WordPerfect spell rules (Microlytics) 153a2dfb722SXin LI#>>9 byte 40 reserved 154a2dfb722SXin LI>>9 byte 41 WordPerfect Install options 155a2dfb722SXin LI#!:mime application/octet-stream 156a2dfb722SXin LI!:mime application/x-wordperfect-ins 157a2dfb722SXin LI# like: WP51.INS 158a2dfb722SXin LI!:ext ins 159a2dfb722SXin LI# probably default directory name like: "C:\WP51\" 160a2dfb722SXin LI>>>0x12 string >A "%.8s" 161a2dfb722SXin LI# maybe mouse driver for WP5.1 162a2dfb722SXin LI>>9 byte 42 WordPerfect Resource 163a2dfb722SXin LI#!:mime application/octet-stream 164a2dfb722SXin LI!:mime application/x-wordperfect-irs 165a2dfb722SXin LI# like: STANDARD.IRS 166a2dfb722SXin LI!:ext irs 167a2dfb722SXin LI# like: "Mouse Driver (MOUSE.COM)" 168a2dfb722SXin LI>>>0x28 string >A "%.24s" 1693e41d09dSXin LI>>9 byte 43 WordPerfect settings file 170a2dfb722SXin LI# maybe Macintosh WP2.0 document 1713e41d09dSXin LI>>9 byte 44 WordPerfect 3.5 document 172a2dfb722SXin LI!:mime application/vnd.wordperfect 173a2dfb722SXin LI!:apple ????WPD3 174a2dfb722SXin LI# like: WP3.wpd 175a2dfb722SXin LI!:ext wpd 1763e41d09dSXin LI>>9 byte 45 WordPerfect 4.2 document 177a2dfb722SXin LI# External spell code module (WP5.1) 178a2dfb722SXin LI#>>9 byte 46 WordPerfect external spell 179a2dfb722SXin LI# external spell dictionary .LEX 180a2dfb722SXin LI#>>9 byte 47 WordPerfect external spell dictionary 181a2dfb722SXin LI# Macintosh SOFT graphics file (SOFT (Sequential Object Format) 182a2dfb722SXin LI#>>9 byte 48 WordPerfect SOFT graphics 183a2dfb722SXin LI#>>9 byte 49 reserved 184a2dfb722SXin LI#>>9 byte 50 reserved 185a2dfb722SXin LI# WPWin 5.1 Application Resource Library added for WPWin 5.1 186a2dfb722SXin LI#>>9 byte 51 WordPerfect application resource library 1873e41d09dSXin LI>>9 byte 69 WordPerfect dialog file 188a2dfb722SXin LI# From: Joerg Jenderek 189a2dfb722SXin LI# Note: found in sub directory WritingTools inside WordPerfect 2021 program directory 190a2dfb722SXin LI>>9 byte 70 WordPerfect Writing Tools 191a2dfb722SXin LI#!:mime application/octet-stream 192a2dfb722SXin LI!:mime application/x-wordperfect-cbt 193a2dfb722SXin LI# like: Wt13cbede.cbt Wt13cbeit.cbt Wt13cbefr.cbt WT21cbede.cbt Wt13cbeEN.CBD WT21cbeEN.CBD 194a2dfb722SXin LI!:ext cbd/cbt 1953e41d09dSXin LI>>9 byte 76 WordPerfect button bar 1963e41d09dSXin LI>>9 default x 1973e41d09dSXin LI>>>9 byte x Corel WordPerfect: Unknown filetype %d 1983e41d09dSXin LI# Corel Shell 1993e41d09dSXin LI>8 byte 2 2003e41d09dSXin LI>>9 byte 1 Corel shell macro 2013e41d09dSXin LI>>9 byte 10 Corel shell definition 2023e41d09dSXin LI>>9 default x 2033e41d09dSXin LI>>>9 byte x Corel Shell: Unknown filetype %d 2043e41d09dSXin LI# Corel Notebook 2053e41d09dSXin LI>8 byte 3 2063e41d09dSXin LI>>9 byte 1 Corel Notebook macro 2073e41d09dSXin LI>>9 byte 2 Corel Notebook help file 2083e41d09dSXin LI>>9 byte 3 Corel Notebook keyboard file 2093e41d09dSXin LI>>9 byte 10 Corel Notebook definition 2103e41d09dSXin LI>>9 default x 2113e41d09dSXin LI>>>9 byte x Corel Notebook: Unknown filetype %d 2123e41d09dSXin LI# Corel Calculator 2133e41d09dSXin LI>8 byte 4 2143e41d09dSXin LI>>9 byte 2 Corel Calculator help file 2153e41d09dSXin LI>>9 default x 2163e41d09dSXin LI>>>9 byte x Corel Calculator: Unknown filetype %d 2173e41d09dSXin LI# Corel File Manager 2183e41d09dSXin LI>8 byte 5 2193e41d09dSXin LI>>9 default x 2203e41d09dSXin LI>>>9 byte x Corel File Manager: Unknown filetype %d 2213e41d09dSXin LI# Corel Calendar 2223e41d09dSXin LI>8 byte 6 2233e41d09dSXin LI>>9 byte 2 Corel Calendar help file 2243e41d09dSXin LI>>9 byte 10 Corel Calendar data file 2253e41d09dSXin LI>>9 default x 2263e41d09dSXin LI>>>9 byte x Corel Calendar: Unknown filetype %d 2273e41d09dSXin LI# Corel Program Editor/Ed Editor 2283e41d09dSXin LI>8 byte 7 2293e41d09dSXin LI>>9 byte 1 Corel Editor macro 2303e41d09dSXin LI>>9 byte 2 Corel Editor help file 2313e41d09dSXin LI>>9 byte 3 Corel Editor keyboard file 2323e41d09dSXin LI>>9 byte 25 Corel Editor macro resource file 2333e41d09dSXin LI>>9 default x 2343e41d09dSXin LI>>>9 byte x Corel Program Editor/Ed Editor: Unknown filetype %d 2353e41d09dSXin LI# Corel Macro Editor 2363e41d09dSXin LI>8 byte 8 2373e41d09dSXin LI>>9 byte 1 Corel Macro editor macro 2383e41d09dSXin LI>>9 byte 2 Corel Macro editor help file 2393e41d09dSXin LI>>9 byte 3 Corel Macro editor keyboard file 2403e41d09dSXin LI>>9 default x 2413e41d09dSXin LI>>>9 byte x Corel Macro Editor: Unknown filetype %d 2423e41d09dSXin LI# Corel Plan Perfect 2433e41d09dSXin LI>8 byte 9 2443e41d09dSXin LI>>9 default x 2453e41d09dSXin LI>>>9 byte x Corel Plan Perfect: Unknown filetype %d 2463e41d09dSXin LI# Corel DataPerfect 2473e41d09dSXin LI>8 byte 10 2483e41d09dSXin LI# CHECK: Don't these belong into product 9? 2493e41d09dSXin LI>>9 byte 1 Corel PlanPerfect macro 2503e41d09dSXin LI>>9 byte 2 Corel PlanPerfect help file 2513e41d09dSXin LI>>9 byte 3 Corel PlanPerfect keyboard file 2523e41d09dSXin LI>>9 byte 10 Corel PlanPerfect worksheet 2533e41d09dSXin LI>>9 byte 15 Corel PlanPerfect printer definition 2543e41d09dSXin LI>>9 byte 18 Corel PlanPerfect graphic definition 2553e41d09dSXin LI>>9 byte 19 Corel PlanPerfect data 2563e41d09dSXin LI>>9 byte 20 Corel PlanPerfect temporary printer 2573e41d09dSXin LI>>9 byte 25 Corel PlanPerfect macro resource data 2583e41d09dSXin LI>>9 default x 2593e41d09dSXin LI>>>9 byte x Corel DataPerfect: Unknown filetype %d 2603e41d09dSXin LI# Corel Mail 2613e41d09dSXin LI>8 byte 11 2623e41d09dSXin LI>>9 byte 2 Corel Mail help file 2633e41d09dSXin LI>>9 byte 5 Corel Mail distribution list 2643e41d09dSXin LI>>9 byte 10 Corel Mail out box 2653e41d09dSXin LI>>9 byte 11 Corel Mail in box 2663e41d09dSXin LI>>9 byte 20 Corel Mail users archived mailbox 2673e41d09dSXin LI>>9 byte 21 Corel Mail archived message database 2683e41d09dSXin LI>>9 byte 22 Corel Mail archived attachments 2693e41d09dSXin LI>>9 default x 2703e41d09dSXin LI>>>9 byte x Corel Mail: Unknown filetype %d 2713e41d09dSXin LI# Corel Printer 2723e41d09dSXin LI>8 byte 12 2733e41d09dSXin LI>>9 byte 11 Corel Printer temporary file 2743e41d09dSXin LI>>9 default x 2753e41d09dSXin LI>>>9 byte x Corel Printer: Unknown filetype %d 2763e41d09dSXin LI# Corel Scheduler 2773e41d09dSXin LI>8 byte 13 2783e41d09dSXin LI>>9 byte 2 Corel Scheduler help file 2793e41d09dSXin LI>>9 byte 10 Corel Scheduler in file 2803e41d09dSXin LI>>9 byte 11 Corel Scheduler out file 2813e41d09dSXin LI>>9 default x 2823e41d09dSXin LI>>>9 byte x Corel Scheduler: Unknown filetype %d 2833e41d09dSXin LI# Corel WordPerfect Office 2843e41d09dSXin LI>8 byte 14 2853e41d09dSXin LI>>9 byte 10 Corel GroupWise settings file 2863e41d09dSXin LI>>9 byte 17 Corel GroupWise directory services 2873e41d09dSXin LI>>9 byte 43 Corel GroupWise settings file 2883e41d09dSXin LI>>9 default x 2893e41d09dSXin LI>>>9 byte x Corel WordPerfect Office: Unknown filetype %d 2903e41d09dSXin LI# Corel DrawPerfect 291*898496eeSXin LI# URL: http://fileformats.archiveteam.org/wiki/Corel_Presentations 292*898496eeSXin LI# Update: Joerg Jenderek 2933e41d09dSXin LI>8 byte 15 294*898496eeSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/shw-wp-2.trid.xml 295*898496eeSXin LI# Note: called "WordPerfect Presentations (v2)" by TrID and 296*898496eeSXin LI# "Corel Presentation" with version "7-8-9" by DROID via PUID fmt/877 297*898496eeSXin LI>>9 byte 10 WordPerfect Presentation 298*898496eeSXin LI#!:mime application/octet-stream 299*898496eeSXin LI#!:mime application/vnd.wordperfect 300*898496eeSXin LI!:mime application/x-drawperfect-shw 301*898496eeSXin LI# like: BENEFITS.SHW chartbar.shw chartbul.shw chartgal.shw chartorg.shw fig-demo.shw figurgal.shw mastrgal.shw scuba.shw tutorial.shw 302*898496eeSXin LI!:ext shw 303*898496eeSXin LI# pointer to document area like: 10h 304*898496eeSXin LI>>>4 ulelong !0x10 \b, at %#x document area 305*898496eeSXin LI# according to TrID this is nil 306*898496eeSXin LI>>>12 ulelong !0 \b, at 0xC %#x 307*898496eeSXin LI# search for embedded WP file like in tutorial.shw 308*898496eeSXin LI#>>>16 search/638/sb \xffWPC WPC_MAGIC_FOUND 309*898496eeSXin LI# GRR: indirect call leads to recursion! WHY? 310*898496eeSXin LI#>>>>&0 indirect x \b; contains 311*898496eeSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/shw-wp-3.trid.xml 312*898496eeSXin LI# Note: called "WordPerfect/Corel Presentations (v3)" by TrID and 313*898496eeSXin LI# "Corel Presentation" with version "3" by DROID via PUID fmt/878 314*898496eeSXin LI>>9 byte 15 Corel Presentation 315*898496eeSXin LI#!:mime application/octet-stream 316*898496eeSXin LI#!:mime application/vnd.wordperfect 317*898496eeSXin LI!:mime application/x-drawperfect-shw 318*898496eeSXin LI# like: FIG_ANIM.SHW presenta.shw 319*898496eeSXin LI!:ext shw 320*898496eeSXin LI# pointer to document area like: 1ah 321*898496eeSXin LI>>>4 ulelong !0x1a \b, at %#x document area 322*898496eeSXin LI# according to TrID this is nil 323*898496eeSXin LI>>>12 ulelong !0 \b, at 0xC %#x 324*898496eeSXin LI# reserved like: 3 325*898496eeSXin LI>>>16 ulelong !0x3 \b, at 0x10 %#x 326*898496eeSXin LI# file size, not including pad characters at EOF 327*898496eeSXin LI>>>0x14 ulelong x \b, %u bytes 328*898496eeSXin LI# search for embedded WP file like in foo 329*898496eeSXin LI#>>>24 search/638/sb \xffWPC WPC_MAGIC_FOUND 330*898496eeSXin LI# GRR: indirect call leads to recursion! WHY? 331*898496eeSXin LI#>>>>&0 indirect x \b; contains 332*898496eeSXin LI# embedded inside Compound Document variant handled by ./ole2compounddocs 333*898496eeSXin LI>>9 byte 16 Corel Presentation (embeded) 334*898496eeSXin LI#!:mime application/octet-stream 335*898496eeSXin LI#!:mime application/vnd.wordperfect 336*898496eeSXin LI!:mime application/x-corelpresentations 337*898496eeSXin LI# like: PerfectOffice_MAIN 338*898496eeSXin LI!:ext / 339*898496eeSXin LI# pointer to document area like: 1ah 340*898496eeSXin LI>>>4 ulelong !0x1a \b, at %#x document area 341*898496eeSXin LI>>>12 ulelong !0 \b, at 0xC %#x 342*898496eeSXin LI# reserved like: 3 343*898496eeSXin LI>>>16 ulelong !0x3 \b, at 0x10 %#x 344*898496eeSXin LI# file size, not including pad characters at EOF 345*898496eeSXin LI>>>0x14 ulelong x \b, %u bytes 346*898496eeSXin LI# search for embedded WP file 347*898496eeSXin LI#>>>24 search/638/sb \xffWPC WPC_MAGIC_FOUND 348*898496eeSXin LI# GRR: indirect call leads to recursion! WHY? 349*898496eeSXin LI#>>>>&0 indirect x \b; contains 3503e41d09dSXin LI>>9 default x 3513e41d09dSXin LI>>>9 byte x Corel DrawPerfect: Unknown filetype %d 3523e41d09dSXin LI# Corel LetterPerfect 3533e41d09dSXin LI>8 byte 16 3543e41d09dSXin LI>>9 default x 3553e41d09dSXin LI>>>9 byte x Corel LetterPerfect: Unknown filetype %d 3563e41d09dSXin LI# Corel Terminal 3573e41d09dSXin LI>8 byte 17 3583e41d09dSXin LI>>9 byte 10 Corel Terminal resource data 3593e41d09dSXin LI>>9 byte 11 Corel Terminal resource data 3603e41d09dSXin LI>>9 byte 43 Corel Terminal resource data 3613e41d09dSXin LI>>9 default x 3623e41d09dSXin LI>>>9 byte x Corel Terminal: Unknown filetype %d 3633e41d09dSXin LI# Corel loadable file 3643e41d09dSXin LI>8 byte 18 3653e41d09dSXin LI>>9 byte 10 Corel loadable file 3663e41d09dSXin LI>>9 byte 11 Corel GUI loadable text 3673e41d09dSXin LI>>9 byte 12 Corel graphics resource data 3683e41d09dSXin LI>>9 byte 13 Corel printer settings file 3693e41d09dSXin LI>>9 byte 14 Corel port definition file 3703e41d09dSXin LI>>9 byte 15 Corel print queue parameters 3713e41d09dSXin LI>>9 byte 16 Corel compressed file 3723e41d09dSXin LI>>9 default x 3733e41d09dSXin LI>>>9 byte x Corel loadable file: Unknown filetype %d 3743e41d09dSXin LI>>15 byte 0 \b, optimized for Intel 3753e41d09dSXin LI>>15 byte 1 \b, optimized for Non-Intel 3763e41d09dSXin LI# Network service 3773e41d09dSXin LI>8 byte 20 3783e41d09dSXin LI>>9 byte 10 Corel Network service msg file 3793e41d09dSXin LI>>9 byte 11 Corel Network service msg file 3803e41d09dSXin LI>>9 byte 12 Corel Async gateway login msg 3813e41d09dSXin LI>>9 byte 14 Corel GroupWise message file 3823e41d09dSXin LI>>9 default x 3833e41d09dSXin LI>>>9 byte x Corel Network service: Unknown filetype %d 3843e41d09dSXin LI# GroupWise 3853e41d09dSXin LI>8 byte 31 3863e41d09dSXin LI>>9 byte 20 GroupWise admin domain database 3873e41d09dSXin LI>>9 byte 21 GroupWise admin host database 3883e41d09dSXin LI>>9 byte 23 GroupWise admin remote host database 3893e41d09dSXin LI>>9 byte 24 GroupWise admin ADS deferment data file 3903e41d09dSXin LI>>9 default x 3913e41d09dSXin LI>>>9 byte x GroupWise: Unknown filetype %d 392a2dfb722SXin LI# Corel Writing Tools WT*.* 393a2dfb722SXin LI# From: Joerg Jenderek 394a2dfb722SXin LI# URL: https://support.corel.com/hc/en-us/articles/215876258-Writing-Tools-Spell-Check-Dictionary-does-not-work-in-WordPerfect-X5 395a2dfb722SXin LI# http://wordperfect.helpmax.net/en/editing-and-formatting-documents/using-the-writing-tools/working-with-user-word-lists/ 396a2dfb722SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/u/uwl-wp.trid.xml 397a2dfb722SXin LI>8 byte 32 398a2dfb722SXin LI>>9 byte 10 Corel Writing Tools User Word List 399a2dfb722SXin LI#!:mime application/octet-stream 400a2dfb722SXin LI!:mime application/x-wordperfect-wordlist 401a2dfb722SXin LI# personal user word list UWL under user directory like: WTDE.UWL WTUS.UWL WT21DE.UWL WT21US.UWL WT13DE.UWL ... 402a2dfb722SXin LI# and "template" SAV/HWL variant under program directory like: wt13en.hwl Wt13de.sav Wt13it.sav wt13ru.sav WT21us.sav Wtcz.sav ... 403a2dfb722SXin LI!:ext uwl/hwl/sav 404a2dfb722SXin LI# jump to document area with some marker and word list 405a2dfb722SXin LI>>>(4.l) ubyte x 406a2dfb722SXin LI# look for beginning of word list starting mostly with letter a as UTF-16 like: Wt13es.sav 407a2dfb722SXin LI# but not found in russian wt13ru.sav 408a2dfb722SXin LI>>>>&0 search/91/sb a\0 409a2dfb722SXin LI# word list starting like: "acsesory\022accessory.\001\026acomodate\026accommodate4\001" 410a2dfb722SXin LI>>>>>&0 lestring16 x (...%-.33s...) 411a2dfb722SXin LI# pointer to document area like: 200h 412a2dfb722SXin LI>>>4 ulelong !0x200 \b, at %#x document area 413a2dfb722SXin LI# file size, not including pad characters at EOF 414a2dfb722SXin LI>>>0x14 uleshort x \b, %u bytes 4153e41d09dSXin LI# IntelliTAG 4163e41d09dSXin LI>8 byte 33 4173e41d09dSXin LI>>9 byte 10 IntelliTAG (SGML) compiled DTD 4183e41d09dSXin LI>>9 default x 4193e41d09dSXin LI>>>9 byte x IntelliTAG: Unknown filetype %d 420a2dfb722SXin LI# Summary: Corel WordPerfect WritingTools advise part 421a2dfb722SXin LI# From: Joerg Jenderek 422a2dfb722SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/a/adv-wp.trid.xml 423a2dfb722SXin LI>8 byte 34 424a2dfb722SXin LI>>9 byte 11 Corel WordPerfect dictionary advise 425a2dfb722SXin LI#!:mime application/octet-stream 426a2dfb722SXin LI!:mime application/x-wordperfect-adv 427a2dfb722SXin LI#!:mime application/vnd.wordperfect.adv 428a2dfb722SXin LI# like: WT21de.adv Wt13de.adv Wt13es.adv Wt13fr.adv wt13us.adv 429a2dfb722SXin LI!:ext adv 430a2dfb722SXin LI# advise text part often start with tag like: 580A 431a2dfb722SXin LI#>>>(16.s) ubequad x ADVISE PART %#llx 432a2dfb722SXin LI# part of advise text like: "This is too informal for most writing." 433a2dfb722SXin LI>>>(16.s+16) string x (...%-.33s...) 4343e41d09dSXin LI# everything else 4353e41d09dSXin LI>8 default x 4363e41d09dSXin LI>>8 byte x Unknown Corel/Wordperfect product %d, 4373e41d09dSXin LI>>>9 byte x file type %d 4383e41d09dSXin LI>10 byte 0 \b, v5. 439*898496eeSXin LI# version of WP file; 2.1~WP 8.0 440*898496eeSXin LI# major version of WP file like: 1 2 4413e41d09dSXin LI>10 byte !0 \b, v%d. 442*898496eeSXin LI# minor version of WP file like: 0 1 4433e41d09dSXin LI>11 byte x \b%d 444b6cee71dSXin LI 445*898496eeSXin LI# Hancom HWP (Hangul Word Processor) 446*898496eeSXin LI# Hangul Word Processor 3.0 through 97 used HWP 3.0 format. 447*898496eeSXin LI# URL: https://www.hancom.com/etc/hwpDownload.do 448*898496eeSXin LI0 string HWP\ Document\ File Hancom HWP (Hangul Word Processor) file, version 3.0 449*898496eeSXin LI!:ext hwp 450b6cee71dSXin LI 451b6cee71dSXin LI# CosmicBook, from Benoit Rouits 452b6cee71dSXin LI0 string CSBK Ted Neslson's CosmicBook hypertext file 453b6cee71dSXin LI 454b6cee71dSXin LI2 string EYWR AmigaWriter file 455b6cee71dSXin LI 456b6cee71dSXin LI# chi: file(1) magic for ChiWriter files 457b6cee71dSXin LI0 string \\1cw\ ChiWriter file 458b6cee71dSXin LI>5 string >\0 version %s 459b6cee71dSXin LI0 string \\1cw ChiWriter file 460b6cee71dSXin LI 46148c779cdSXin LI# Quark Express from https://www.garykessler.net/library/file_sigs.html 462b6cee71dSXin LI2 string IIXPR3 Intel Quark Express Document (English) 463b6cee71dSXin LI2 string IIXPRa Intel Quark Express Document (Korean) 464b6cee71dSXin LI2 string MMXPR3 Motorola Quark Express Document (English) 465b6cee71dSXin LI!:mime application/x-quark-xpress-3 466b6cee71dSXin LI2 string MMXPRa Motorola Quark Express Document (Korean) 467b6cee71dSXin LI 468a4d6d3b8SXin LI# From: Joerg Jenderek 469a4d6d3b8SXin LI# URL: http://fileformats.archiveteam.org/wiki/PageMaker 470a4d6d3b8SXin LI# https://en.wikipedia.org/wiki/Adobe_PageMaker 471a4d6d3b8SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p 472a4d6d3b8SXin LI# pm4-pagemaker.trid.xml 473a4d6d3b8SXin LI# pm5-pagemaker.trid.xml 474a4d6d3b8SXin LI# Note: since version 6 in 1995 called Adobe PageMaker and 475a4d6d3b8SXin LI# embedded in Compound Document handled by ./ole2compounddocs 476a4d6d3b8SXin LI# mainly tested little endian variant 477a4d6d3b8SXin LI4 ubelong =0x0000FF99 478a4d6d3b8SXin LI>0 use PageMaker 479a4d6d3b8SXin LI# big endian variant 480a4d6d3b8SXin LI4 ubelong =0x000099FF 481a4d6d3b8SXin LI>0 use \^PageMaker 482a4d6d3b8SXin LI# display information of Aldus/Adobe PageMaker document/publication 483a4d6d3b8SXin LI0 name PageMaker 484a4d6d3b8SXin LI>110 uleshort <0x0600 Aldus 485a4d6d3b8SXin LI>110 uleshort >0x05FF Adobe 486a4d6d3b8SXin LI>110 uleshort x PageMaker 487a4d6d3b8SXin LI# "MP" marker for newer version 4 and above according to TrID 488a4d6d3b8SXin LI#>108 string x \b, MARKER "%.2s" 489a4d6d3b8SXin LI# http://www.nationalarchives.gov.uk/pronom/fmt/876 490a4d6d3b8SXin LI!:mime application/vnd.pagemaker 491a4d6d3b8SXin LI#!:mime application/x-pagemaker 492a4d6d3b8SXin LI# different file name extensions are used depending on version 493a4d6d3b8SXin LI# older version like 3 494a4d6d3b8SXin LI>110 uleshort/256 =0 document 495a4d6d3b8SXin LI# https://www.macdisk.com/macsigen.php 496a4d6d3b8SXin LI!:apple ALB3ALD3 497*898496eeSXin LI# PT3 for template and no example for PageMaker document/publication with PM3 extension 498a4d6d3b8SXin LI!:ext pm3/pt3 499a4d6d3b8SXin LI>110 uleshort/256 =4 document 500a4d6d3b8SXin LI!:apple ALD4ALB4 501a4d6d3b8SXin LI# no example for PT4 template 502a4d6d3b8SXin LI!:ext pm4/pt4 503a4d6d3b8SXin LI>110 uleshort/256 =5 document 504a4d6d3b8SXin LI!:apple ALD5ALB5 505a4d6d3b8SXin LI# no example for PT5 template 506a4d6d3b8SXin LI!:ext pm5/pt5 507a4d6d3b8SXin LI>110 uleshort =0x0600 document 508a4d6d3b8SXin LI!:apple ALD6ALB6 509a4d6d3b8SXin LI# PT6 for template 510a4d6d3b8SXin LI!:ext pm6/pt6 511a4d6d3b8SXin LI# HOWTO to distinguish version 7 from 6.5 ? 512a4d6d3b8SXin LI>110 uleshort =0x0632 document 513a4d6d3b8SXin LI!:apple AD65AB65 514a4d6d3b8SXin LI# no example for T65 template 515a4d6d3b8SXin LI!:ext p65/t65/pmd/pmt 516a4d6d3b8SXin LI# version 7 with PMT extension for template 517a4d6d3b8SXin LI#!:ext pmd/pmt 518a4d6d3b8SXin LI#!:apple ????PUBF 519a4d6d3b8SXin LI# endian marker FF 99 for little endian 520a4d6d3b8SXin LI>6 ubyte =0xFF \b, little-endian 521a4d6d3b8SXin LI>6 ubyte =0x99 \b, big-endian 522a4d6d3b8SXin LI# newer numeric version like: 4 5 6 6.50 523a4d6d3b8SXin LI#>110 uleshort x \b, VERSION=%#x 524a4d6d3b8SXin LI>110 uleshort >0x03FF 525a4d6d3b8SXin LI>>110 uleshort/256 x \b, version %u 526a4d6d3b8SXin LI>>110 uleshort%256 >0 \b.%u 527a4d6d3b8SXin LI# older version like 3 528a4d6d3b8SXin LI>110 uleshort <0x0400 \b, maybe version 3 529a4d6d3b8SXin LI 530b6cee71dSXin LI# adobe indesign (document, whatever...) from querkan 531b6cee71dSXin LI0 belong 0x0606edf5 Adobe InDesign 532b6cee71dSXin LI>16 string DOCUMENT Document 533b6cee71dSXin LI 534b6cee71dSXin LI#------------------------------------------------------------------------------ 535b6cee71dSXin LI# ichitaro456: file(1) magic for Just System Word Processor Ichitaro 536b6cee71dSXin LI# 537b6cee71dSXin LI# Contributor kenzo-: 538b6cee71dSXin LI# Reversed-engineered JS Ichitaro magic numbers 539b6cee71dSXin LI# 540b6cee71dSXin LI 541b6cee71dSXin LI0 string DOC 542b6cee71dSXin LI>43 byte 0x14 Just System Word Processor Ichitaro v4 543b6cee71dSXin LI!:mime application/x-ichitaro4 544b6cee71dSXin LI>144 string JDASH application/x-ichitaro4 545b6cee71dSXin LI 546b6cee71dSXin LI0 string DOC 547b6cee71dSXin LI>43 byte 0x15 Just System Word Processor Ichitaro v5 548b6cee71dSXin LI!:mime application/x-ichitaro5 549b6cee71dSXin LI 550b6cee71dSXin LI0 string DOC 551b6cee71dSXin LI>43 byte 0x16 Just System Word Processor Ichitaro v6 552b6cee71dSXin LI!:mime application/x-ichitaro6 553b6cee71dSXin LI 554b6cee71dSXin LI# Type: Freemind mindmap documents 555b6cee71dSXin LI# From: Jamie Thompson <debian-bugs@jamie-thompson.co.uk> 556b6cee71dSXin LI0 string/w \<map\ version Freemind document 557b6cee71dSXin LI!:mime application/x-freemind 558b6cee71dSXin LI 559b6cee71dSXin LI# Type: Freeplane mindmap documents 560b6cee71dSXin LI# From: Felix Natter <fnatter@gmx.net> 561b6cee71dSXin LI0 string/w \<map\ version="freeplane Freeplane document 562b6cee71dSXin LI!:mime application/x-freeplane 563b6cee71dSXin LI 564b6cee71dSXin LI# Type: Scribus 565b6cee71dSXin LI# From: Werner Fink <werner@suse.de> 566b6cee71dSXin LI0 string \<SCRIBUSUTF8\ Version Scribus Document 567b6cee71dSXin LI0 string \<SCRIBUSUTF8NEW\ Version Scribus Document 568b6cee71dSXin LI!:mime application/x-scribus 569b6cee71dSXin LI 570b6cee71dSXin LI# help files .hlp compiled from html and used by gfxboot added by Joerg Jenderek 571b6cee71dSXin LI# markups page=0x04,label=0x12, followed by strings like "opt" or "main" and title=0x14 572b6cee71dSXin LI0 ulelong&0x8080FFFF 0x00001204 gfxboot compiled html help file 573d38c30c0SXin LI 574d38c30c0SXin LI# From: Joerg Jenderek 575d38c30c0SXin LI# URL: https://en.wikipedia.org/wiki/StarOffice 57643a5ec4eSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z 57743a5ec4eSXin LI# /defs/t/thm-staroffice.trid.xml 578d38c30c0SXin LI# Note: used in Star-, Open- and Libre-Office 579d38c30c0SXin LI# named as soffice.StarConfigFile.6 or OpenOffice.org configuration by others 580d38c30c0SXin LI0 ubeshort 0x0400 58143a5ec4eSXin LI# non nil gap 58243a5ec4eSXin LI#>(2.s+8) ubequad x \b, gap %#16.16llx 583d38c30c0SXin LI# test for null value in gap after theme name maybe unreliable 584d38c30c0SXin LI#>(2.s+9) ubyte 0 \b, 0-byte 585d38c30c0SXin LI# look for keyword GALRESRV near the end 586d38c30c0SXin LI# "C:\Program Files (x86)\StarOffice6.0\share\gallery\sg27.thm" Navigation, 238 objects 587d38c30c0SXin LI#>0 search/8415 GALRESRV \b, GALRESRV found 588d38c30c0SXin LI# "neues thema6.thm" MorePictures, 315 objects 589d38c30c0SXin LI#>0 search/19299 GALRESRV \b, GALRESRV FOUND 590d38c30c0SXin LI#>2 uleshort x \b, name length %u 591d38c30c0SXin LI# skip file2147.chk by check for positive name length like for sg16.thm "3D" 59243a5ec4eSXin LI>2 uleshort >0 59343a5ec4eSXin LI# skip dBase printer form T6.PRF with misidentified gallery 59443a5ec4eSXin LI# name :\DBASE\IV\T6.txts by check for 1st object name or RESRV keyword 59543a5ec4eSXin LI# https://www.clicketyclick.dk/databases/xbase/xbase/dbase_ex.zip 59643a5ec4eSXin LI# template/t6/with_data/T6.PRF 59743a5ec4eSXin LI# by first char of object name or RESRV part of keyword GALRESRV 59843a5ec4eSXin LI>>(2.s+13) ubyte >0x1F StarOffice Gallery theme 599d38c30c0SXin LI!:mime application/x-stargallery-thm 60043a5ec4eSXin LI# thm is also used for JPEG thumbnail images 601d38c30c0SXin LI!:ext thm 60243a5ec4eSXin LI# gallery name often 1 word like: 3D sounds Diagrams Flussdiagramme Fotos 60343a5ec4eSXin LI# or like private://gallery/hidden/imgppt "Cisco - WAN - LAN" 60443a5ec4eSXin LI>>>2 pstring/h x %s 605d38c30c0SXin LI# number of objects 60643a5ec4eSXin LI>>>(2.s+4) ulelong x \b, %u object 607d38c30c0SXin LI# plural s 60843a5ec4eSXin LI>>>(2.s+4) ulelong !1 \bs 609d38c30c0SXin LI# if available then display first object name 61043a5ec4eSXin LI>>>(2.s+4) ulelong >0 611d38c30c0SXin LI# partial file name, URL or internal name like "dd2*" of 1st object or RESRV 61243a5ec4eSXin LI>>>>(2.s+11) pstring/h x \b, 1st %s 613d38c30c0SXin LI 6142726a701SXin LI# From: Joerg Jenderek 6152726a701SXin LI# URL: http://fileformats.archiveteam.org/wiki/StarOffice_Gallery 6162726a701SXin LI# Note: used in Star-, Open- and Libre-Office and found in directories like 6172726a701SXin LI# %APPDATA%\Roaming\LibreOffice\4\user\gallery 6182726a701SXin LI# $HOME/.config/libreoffice/4/user/gallery 6192726a701SXin LI0 string SGA3 StarOffice Gallery thumbnails 6202726a701SXin LI# Unknown like 0x04000?0001000142 62143a5ec4eSXin LI#>4 ubequad x \b, UNKNOWN %#16.16llx 6222726a701SXin LI#!:mime application/x-sdg 6232726a701SXin LI!:mime application/x-stargallery-sdg 6242726a701SXin LI!:ext sdg 6252726a701SXin LI# display image magic for debugging purpose like 'BM' 6262726a701SXin LI# looking like PC bitmap, Windows 3.x format with unknown compression 6272726a701SXin LI#>11 string x \b, image magic '%-.2s' 6282726a701SXin LI# inspect 1st GALLERY thumbnail magic by ./images with 1 space at end 6292726a701SXin LI#>11 indirect x \b; contains 6302726a701SXin LI 631