WordPerfect
Dan Tobias (Talk | contribs) |
Dexvertbot (Talk | contribs) m (→Sample files) |
||
(29 intermediate revisions by 6 users not shown) | |||
Line 2: | Line 2: | ||
|formattype=electronic | |formattype=electronic | ||
|subcat=Document | |subcat=Document | ||
+ | |subcat2=Word Processor | ||
|extensions={{ext|wpd}}, {{ext|wp}}, {{ext|wp4}}, {{ext|wp5}}, {{ext|wp6}}, {{ext|wp7}} | |extensions={{ext|wpd}}, {{ext|wp}}, {{ext|wp4}}, {{ext|wp5}}, {{ext|wp6}}, {{ext|wp7}} | ||
+ | |mimetypes={{mimetype|application/vnd.wordperfect}} | ||
+ | |pronom={{PRONOM|fmt/949}}, {{PRONOM|x-fmt/393}}, {{PRONOM|x-fmt/394}}, {{PRONOM|x-fmt/203}}, {{PRONOM|x-fmt/44}}, {{PRONOM|fmt/892}}, {{PRONOM|fmt/1220}}, {{PRONOM|fmt/1221}}, {{PRONOM|fmt/1222}} | ||
|released=1979 | |released=1979 | ||
+ | |type code={{Type Code|WPD2}}, {{Type Code|WPD3}}, {{Type Code|WPD4}} | ||
+ | |wikidata={{wikidata|Q62664770}}, {{wikidata|Q61641450}}, {{wikidata|Q50308743}}, {{wikidata|Q73019664}} | ||
}} | }} | ||
− | + | '''WordPerfect''' is a word processor that was extremely popular in the 1980s and 1990s. It was first developed on a Data General computer at Brigham Young University in 1979, but later ported to many different operating systems, and was most popular in its PC/MS-DOS version. Currently, only the Windows version is being developed and maintained, though WordPerfect never achieved the dominance in that platform that it had in DOS. For some reason, lawyers seem to have taken a particular liking to this program and its file format, and are among the small group of people still using it even now. | |
+ | |||
+ | == Related formats == | ||
+ | There are separate articles for these formats: | ||
+ | * [[WordPerfect Graphics]] (.wpg) | ||
+ | * [[WordPerfect macro]] (.wpm, .wcm) | ||
==Introduction== | ==Introduction== | ||
Line 14: | Line 24: | ||
==Detecting WordPerfect files== | ==Detecting WordPerfect files== | ||
− | The "signature bytes" at the beginning of a WordPerfect file are (hex) FF 57 50 43, which spells "WPC" after a flag character #255. | + | The "signature bytes" at the beginning of a WordPerfect 5+ file are (hex) {{magic|FF 57 50 43}}, which spells "WPC" after a flag character #255. |
+ | |||
+ | Creator Code on Macintosh is "{{magic|WPC2}}" | ||
+ | |||
+ | ===WordPerfect 4.2=== | ||
+ | WordPerfect 4.2 use plain ascii with no magic header values.<ref>https://archive.org/download/wordperfectsdkperfectfit1994/WordPerfect_SDK_PerfectFit1994.iso/51PCSDK%2FWP42FF.TXT</ref> | ||
+ | |||
+ | WordPerfect 4.2 allows "locking" of the document which will require a password in order to open the file. Files having encryption created by WordPerfect 4.2 begin with the "{{magic|FEFF6161}}". See {{PRONOM|fmt/1424}} The method for encryption is fairly simple and can be quickly recovered.<ref>https://github.com/john-hern/wp_encrypt_crack</ref> | ||
+ | |||
+ | ===WordPerfect 7=== | ||
+ | Since version 7 WordPerfect can also store the documents using [[Microsoft_Compound_File|Microsoft OLE Compound file format]].<ref>https://github.com/OneWingedShark/WordPerfect/blob/master/doc/SDK_Help/FileFormats/WPFF_DocumentStructure.htm</ref> | ||
+ | This is called "<code>WordPerfect Compound File</code>". The file name extension and mime type still remains the same like in previous versions. | ||
+ | OLE embedded objects are stored inside a storage called <code>PerfectOffice_OBJECT</code>, whereas the real document part is now stored as stream <code>PerfectOffice_MAIN</code>. | ||
+ | In principal the format of this internal document part is the same like in previous versions, but one difference is that the minor version number is raised from 1 to 2. | ||
==Extracting plain-text content== | ==Extracting plain-text content== | ||
Line 24: | Line 47: | ||
#192..#236: skip ahead and ignore all characters until another occurrence | #192..#236: skip ahead and ignore all characters until another occurrence | ||
of character c is found; resume at the following character | of character c is found; resume at the following character | ||
− | #0..#31, #129..#159, #161..#168, #172, #175..#255: ignore (control characters) | + | #0..#31, #129..#159, #161..#168, #172, #175..#191, #237..#255: ignore (control characters) |
else treat as regular text character | else treat as regular text character | ||
+ | |||
+ | == Software == | ||
+ | * [https://archive.org/details/apple_2_wordperfect_v1.1_for_iie_iic WordPerfect for the IIe and IIc Version 1.1 (1986)] (Internet Archive, with in-browser emulation) | ||
+ | * [https://archive.org/details/msdos_wordperfect6 WordPerfect 6.0 for MS-DOS] (Internet Archive in-browser emulation) | ||
+ | * [http://sourceforge.net/p/libwpd/wiki/writerperfect/ WordPerfect Document importer (writerperfect)] | ||
+ | * [https://www.libreoffice.org/ LibreOffice] also seems to be able to import old WordPerfect files | ||
+ | * [https://web.archive.org/web/20010611205351/http://www.corel.com/partners_developers/ds/CO32SDK/tools/wplook.zip WP 7.0 Look Utility (Binary Viewer)] | ||
==Developer utilities== | ==Developer utilities== | ||
* [https://web.archive.org/web/20120125025312/http://apps.corel.com/partners_developers/csp/wordperfect_fileformatsdk.htm WordPerfect file format SDK] (archived version at Internet Archive, original pages have been taken offline) | * [https://web.archive.org/web/20120125025312/http://apps.corel.com/partners_developers/csp/wordperfect_fileformatsdk.htm WordPerfect file format SDK] (archived version at Internet Archive, original pages have been taken offline) | ||
− | * [http:// | + | * [https://archive.org/details/wordperfectsdkperfectfit1994 WordPerfect SDK CD-ROM circa 1994] |
+ | * [https://web.archive.org/web/20021022035637/http://www.corel.com/partners_developers/ds/CO32SDK/docs/ff/A_FRNTFF.htm WP 7.0 File Format] | ||
+ | * [https://github.com/OneWingedShark/WordPerfect Repository with old SDK] | ||
+ | * libwpd - programmer library for dealing with WordPerfect files | ||
+ | ** [http://libwpd.sourceforge.net/features.html Features] | ||
+ | ** [http://sourceforge.net/projects/libwpd/ Document import] | ||
+ | ** [http://sourceforge.net/projects/libwpg/ Graphics import] | ||
+ | |||
+ | == Sample files == | ||
+ | * {{DexvertSamples|document/wp}} | ||
+ | * https://fossies.org/linux/wp2latex/test/ole6.wpd | ||
==References== | ==References== | ||
− | * [ | + | * [[Wikipedia:WordPerfect|WordPerfect (Wikipedia)]] |
+ | * [https://www.wordperfect.com/en/product/office-suite/ WordPerfect Office website] | ||
* [http://www.wpuniverse.com/ WPUniverse: forum devoted to WordPerfect] | * [http://www.wpuniverse.com/ WPUniverse: forum devoted to WordPerfect] | ||
+ | <references/> | ||
+ | |||
+ | |||
+ | [[Category:Corel]] |
Latest revision as of 04:25, 28 December 2023
WordPerfect is a word processor that was extremely popular in the 1980s and 1990s. It was first developed on a Data General computer at Brigham Young University in 1979, but later ported to many different operating systems, and was most popular in its PC/MS-DOS version. Currently, only the Windows version is being developed and maintained, though WordPerfect never achieved the dominance in that platform that it had in DOS. For some reason, lawyers seem to have taken a particular liking to this program and its file format, and are among the small group of people still using it even now.
Contents |
[edit] Related formats
There are separate articles for these formats:
- WordPerfect Graphics (.wpg)
- WordPerfect macro (.wpm, .wcm)
[edit] Introduction
Name for both word processing application and file format.
[edit] Printer definitions
WordPerfect uses so called 'printer definitions' for "pretty printing".
[edit] Detecting WordPerfect files
The "signature bytes" at the beginning of a WordPerfect 5+ file are (hex) FF 57 50 43
, which spells "WPC" after a flag character #255.
Creator Code on Macintosh is "WPC2
"
[edit] WordPerfect 4.2
WordPerfect 4.2 use plain ascii with no magic header values.[1]
WordPerfect 4.2 allows "locking" of the document which will require a password in order to open the file. Files having encryption created by WordPerfect 4.2 begin with the "FEFF6161
". See fmt/1424 The method for encryption is fairly simple and can be quickly recovered.[2]
[edit] WordPerfect 7
Since version 7 WordPerfect can also store the documents using Microsoft OLE Compound file format.[3]
This is called "WordPerfect Compound File
". The file name extension and mime type still remains the same like in previous versions.
OLE embedded objects are stored inside a storage called PerfectOffice_OBJECT
, whereas the real document part is now stored as stream PerfectOffice_MAIN
.
In principal the format of this internal document part is the same like in previous versions, but one difference is that the minor version number is raised from 1 to 2.
[edit] Extracting plain-text content
If you're a programmer attempting to get a program to extract the plain text out of a WordPerfect document, and are not interested in the fancy formatting and other features, this is a fairly simple process; just make the program skip the parts that are not text. When reading through the characters of the file in order, this pseudocode manipulates them (using decimal values of the characters/bytes):
For each character c, if its value is: #128, #160: treat as space ' ' #169..#171, #173, #174: treat as dash '-' #192..#236: skip ahead and ignore all characters until another occurrence of character c is found; resume at the following character #0..#31, #129..#159, #161..#168, #172, #175..#191, #237..#255: ignore (control characters) else treat as regular text character
[edit] Software
- WordPerfect for the IIe and IIc Version 1.1 (1986) (Internet Archive, with in-browser emulation)
- WordPerfect 6.0 for MS-DOS (Internet Archive in-browser emulation)
- WordPerfect Document importer (writerperfect)
- LibreOffice also seems to be able to import old WordPerfect files
- WP 7.0 Look Utility (Binary Viewer)
[edit] Developer utilities
- WordPerfect file format SDK (archived version at Internet Archive, original pages have been taken offline)
- WordPerfect SDK CD-ROM circa 1994
- WP 7.0 File Format
- Repository with old SDK
- libwpd - programmer library for dealing with WordPerfect files