xref: /freebsd/contrib/file/magic/Magdir/wordprocessors (revision 898496ee09ed2b7d25f6807edc4515628196ec0a)
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