WordPerfect 5.1 Document Format
This section describes the WordPerfect file format for WordPerfect 5.0 (WP5.0 DOS, UNIX, Data General, VAX), WordPerfect 5.1 (WP5.1DOS, UNIX, VAX), and WordPerfect 5.1/5.2 for Windows (WPWin5.1/5.2) documents.
Note:WP5.1 (without an extension) refers collectively to WP5.1DOS, WP5.1VAX, WP5.1 UNIX, and WPWin5.1/5.2.
WordPerfect documents are binary files that contain both ASCII characters and special formatting codes. Each document has two major sections: a prefix area and a document area.
The prefix area contains:
Information that identifies the file as a WP5.1/5.0 document
Default values for margins, fonts, and other format settings
Information about the selected printer
Graphic images contained in the document
The document area contains the actual text and formatting codes that make up the bulk of the file.
Sizes are referred to as bytes, short (for short integers), or long (for long integers). Depending on the environment and operating system you are working on, these can be translated using the information in the following table.
Table WPF.1: Size Definitions
Byte
character (char)
byte
8 bits
Short
integer
word
16 bits
Long
long integer
double word
32 bits
All Wordperfect document files follow the Intel "byte reversed" method of storing short and long integer values. In this storage method the high byte of a short integer comes first, and the high short integer comes first in a long integer value. The following two block diagrams represent this storage format.
<---------------------- short integer ------------------------>
[low byte]
[high byte]
(high nibble)
(low nibble)
(high nibble)
(low nibble)
Bit #
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
<--------------------------------------- long integer ---------------------------------------->
[low short integer]
[high short integer]
(low byte)
(high byte)
(low byte)
(high byte)
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Decimal numbers larger than 9 are followed, in parentheses ( ), by a number that begins with 0x. This represents the equivalent value in the hexadecimal number system. Singledigit decimal numbers stand alone, because such numbers have the same value in either hexadecimal or decimal. In most cases values are unsigned. An example of how unsigned values are documented is 255 (0xFF). An example of how signed values are documented is 1 (0xFF).
Measurements and positions can be stored in one of two units:
wpu = WordPerfect units (1 = 1/1200th of an inch, or 0.02117 mm)
su= Screen pitch units (1 = 1 screen display column)
The file format for the WP4.2 version contains only a document body with function codes. WP4.2 files do not have a prefix header. The WP42FF.TXT file on the Toolkit diskette (PC Developer's Toolkit only) contains the function codes for WP4.2.WordPerfect Prefix Area
Prefix Area
The prefix area of a WP5.1 document consists of a 16byte file prefix followed by additional prefix information that is specific to the document. This can be any length, depending on the WordPerfect document and file prefix contents.
File Prefix
All files created by WPCorp products begin with a 16byte file prefix that identifies the file type, product, and version.
The file prefix has the following structure:
FieldSizeValue for WP5.1 Document
WPCorp File ID4 bytes1 (0xFF),WPC
Start of DocumentlongFile position of start of document
Product Type1 byte1
File Type1 byte10 (0xA)
Major Version #1 byte0
Minor Version #1 byte0 in WP5.0, 1 in WP5.1
Encryption Keyshort0 = not encrypted
Reservedshort0
The following diagram illustrates the prefix area structure of a WP5.0, WP5.1,and WPWin5.1 document. The shaded section of the diagram is the 16byte file prefix that identifies a WPCorp file. The definitions of the 16byte length are in byte, short, or long lengths.
1
W
P
C
Pointer to Document Area
Prd
File
MjV
Mnv
Encrypt
Reserved
65531 (0xFFFB)
# Indexes
Indx Bk Size
Pointer to Next Block
Packet Type
Length
Pointer to Data 1
Packet Type
Length
Ptr to Data 2
. . .
. . .
Data 1 Data 1 Data 1 Data 1 Data 1
Data 2 Data 2
Data 2 Data 2 Data 2
. . .
Prefix continued
Document Area
WPCorp File ID
The WPCorp File ID fields are the first four bytes of a file and have the same values for all files produced by WPCorp products (excluding WP4.2). It is displayed as 1WPC or FF 57 50 43 in hexadecimal value. If you look at a WPCorp file in any binary program editor or ASCII editor, this ID ought to be there. If you do not see this ID, the file is not a WPCorp 5.x file.
Start of Document
The Start of Document field is a long value that begins at offset 4 in the 16byte file prefix heading. This is a pointer to the beginning of the document area. Short integers and long integers are saved in a bytereversed order.
Please note that if you place any codes such as margins, tabs, font changes, or a specific page size at the beginning of your document, those codes appear before the actual text begins.
Product Type Field
The Product Type field is one byte in length and is the ninth byte from the beginning of the file. It contains a value that identifies the WPCorp software product used to create the file. The field type can have one of the following values:
ValueProduct
1WordPerfect
2Shell
3Notebook
4Calculator
5File Manager
6Calendar
7Program Editor/Ed Editor
8Macro Editor
9PlanPerfect
10 (0xA)DataPerfect
11 (0xB)Mail
12 (0xC)Printer (PTR.EXE)
13 (0xD)Scheduler
14 (0xE)WordPerfect Office
15 (0xF)DrawPerfect
16 (0x10)LetterPerfect
Please remember that other product type values may be added in the future.
File Type Field
The File Type field is one byte in length and is the tenth byte from the beginning of the file. The value depends on the Product Type (WPCorp software product) used to create the file. The first ten values (09) are reserved for general purpose files that have application across all WPCorp products. The values 10 and above are available for productspecific file types and are listed below in the WordPerfect File Types subsection.
General Purpose File Types
These general purpose file types are documented for your information only. These files types are specified for the use of WPCorp software.
ValueFile
1Macro file
2Help file
3Keyboard definition file
4VAX keyboard definition file added for WP5.1 (33090)
Note:The Help file does not have a prefix, but the 2 value is still reserved for the help file. Any thirdparty software or application can thus disregard the help file types.
WordPerfect File Types
The file type for WPCorp products is one byte in length and identifies what type of file it is. The values are 16 (0x10) and above, and the file may not specifically be a document file.
The following file types are specific to WP5.0 and are also used for WP5.1.
The following file types are specific to WPCorp:
ValueFile
10 (0xA)WordPerfect document
11 (0xB)Dictionary file
12 (0xC)Thesaurus file
13 (0xD)Block
14 (0xE)Rectangular block
15 (0xF)Column block
16 (0x10)Printer resource file (.PRS)
17 (0x11)Setup file (contains the system values for WP{WP}.SET [Setup values, ShiftF1])
18 (0x12Reserved
19 (0x13)Printer resource file (.ALL)
20 (0x14)Display resource file (.DRS)
21 (0x15)Overlay file (WP.FIL)
22 (0x16)WP graphic file (.WPG)
23 (0x17)Hyphenation code module
24 (0x18)Hyphenation data module
25 (0x19)Macro resource file (.MRS)
26 (0x1A)WP5.0 Graphics/Text Drivers
27 (0x1B)Hyphenation lex module
The following file types were added to the WordPerfect file type for WP5.1:
ValueFile
28 (0x1C)Printer Q codes (used by VAX/DG)
29 (0x1D)Spell code moduleword list
30 (0x1E)WP.QRS file (WP5.1 equation resource file)
31 (0x1F)Reserved
32 (0x20)VAX .SET
33 (0x21)Spell code modulerules
34 (0x22)Dictionaryrules
35 (0x23)Reserved
36 (0x24)WP5.1 Graphics/Text Drivers
37 (0x25)Rhymer word file (WPCorp product, TSR)
38 (0x26)Rhymer pronunciation file
39 40 (0x27 0x28)Reserved
41 (0x29)WP51.INS file (install options file)
ValueFile42 (0x2A)Mouse driver for WP5.1
43 (0x2B)UNIX Setup file for WP5.0
44 (0x2C)MAC WP2.0 document
45 (0x2D)VAX file (WP4.2 document)
46 (0x2E)External Spell Code Module (WP5.1)
(This file type is set aside for third parties to create their own speller code modules in WP5.1 DOS)
47 (0x2F)External Spell Dictionary
(This file type is set aside for third parties to create their own dictionary .LEX files to be read by their speller code.)
48 (0x30)MAC SOFT graphics file
(SOFT(Sequential Object FormaT) graphics file for the MAC WP)
49 50 (0x31 0x37)Reserved
51 (0x38)WPWin5.1 Application Resource Library added for WPWin5.1
Major and Minor Version Field
The Major and Minor Version fields are each one byte in length. The value in the fields indicates the version number that the file type was created for. The value may or may not correspond to the product's published revision number. The Major version number for WordPerfect 5.x files is 0.
Note:The Minor Version # for WP5.0 is 0. The Minor Version # was incremented for WordPerfect 5.1 (the value is 1). The Minor Version # for WPWin5.1/5.2 is 1, the same number used for WP5.1.
Encryption Key Field
The Encryption Key field is a shortinteger value and occupies the 13th and 14th bytes. It must be a value 0 if the file is not encrypted; otherwise, it must contain a hash value of the password. This hash value is used as a checksum to see if the user typed the correct password.
Reserved Field Type
Do not use the Reserved field. It must be zero (0).
Additional Prefix Area
The additional prefix area follows the 16byte file prefix. Its structure depends on the product and file type. The additional prefix information for WP5.0 and WP5.1documents is organized into index blocks and data packets. Each index block contains several indexes that point to data packets. The first index in each block is a special header index that gives the number of indexes in the block. It also gives the pointer to the next block. There can be more than one block (five indexes) in a prefix header, depending on how much information is stored in the prefix.
WP5.0 and WP5.1currently store five, and only five, indexes in each index block (the special header index plus four general purpose indexes).
Each index block in a WP5.0/5.1 and WPWin5.1/5.2 file consists of a special header index followed by four indexes that point to data packets. The data packets immediately follow the index block. The prefix area of the file consists of a sequence of index blocks and associated data chained together by the special header index in each index block.
Special Header Index
The special header index is 10 bytes long. It has the following structure (also illustrated in the shaded area of the diagram):
OffsetSizeUsage
0shortPacket type for header index 65531 (0xFFFB)
2short# of indexes (including the special header, there are five in WP5.0 and WP5.1 documents.)
4shortSize of index block 50 (0x32) (# of indexes * 10)
6longFile position of next index block from beginning of file
1
W
P
C
Pointer to Document Area
Prd
File
MjV
Mnv
Encrypt
Reserved
65531 (0xFFFB)
# Indexes
Indx Bk Size
Pointer to Next Block
Packet Type
Length
Pointer to Data 1
Packet Type
Length
Ptr to Data 2
. . .
. . .
Data 1 Data 1 Data 1 Data 1 Data 1
Data 2 Data 2
Data 2 Data 2 Data 2
. . .
Prefix continued
Document Area
General Packet Types
The general packet types indexes in the index block are also 10 bytes long. They have the following structure and are illustrated in the diagram below:
OffsetSizeUsage
0shortPacket type
2longLength of data packet
6longFile position of data for packet type
1
W
P
C
Pointer to Document Area
Prd
File
MjV
Mnv
Encrypt
Reserved
65531 (0xFFFB)
# Indexes
Indx Bk Size
Pointer to Next Block
Packet Type
Length
Pointer to Data 1
Packet Type
Length
Ptr to Data 2
. . .
. . .
Data 1 Data 1 Data 1 Data 1 Data 1
Data 2 Data 2
Data 2 Data 2 Data 2
. . .
Prefix continued
Document Area
Special Data Packet Types
The following special data packet types are defined for use by all file types:
ValuePacket Type
0End of prefix
65531 (0xFFFB)Header index for index block
65532 (0xFFFC)Reserved
65533 (0xFFFD)Reserved
65534 (0xFFFE)Reserved
65535 (0xFFFF)Deleted packet (may still exist in file)
Notes:The WP5.1 document prefix has the same structure as it does in WP5.0. However, some data packets have different values in WP5.1 and add new packet types for WP5.1 additional features. Note the following changes listed under packet types. WP5.0 and WP5.1 are forward and reverse compatible. When retrieved into WP5.0, additional features of WP5.1 are recognized as [UNKNOWN] codes. When the document is again retrieved into WP5.1, the [UNKNOWN] codes are recognized as their original features.
If Fast Save is not active in WordPerfect 5.1, the file prefix is purged of deleted packets (65535 [0xFFFF]) when the file is saved. If Fast Save is active, deleted packets can still exist in the file prefix after the file is saved.
WordPerfect Packet Types
The following are data packet types defined for WP5.0/5.1, and WPWin5.1/5.2 documents that are found in the additional prefix area. They are used or referred to in the general packet types structure.
ValuePacket Type
1Document summary packet
2List of fonts used in document (WP5.0)
3Document initial codes
4Reserved
5Reserved
6Document specific flags
7Font name string pool
8Graphics information
9Form hash table
10 (0xA)Reserved
11 (0xB)Reserved
12 (0xC)Document printer (.PRS file name, etc.)
13 (0xD)Reserved
14 (0xE)Supplemental dictionary compressed words
15 (0xF)List of fonts used in document (WP5.1)
16 (0x10)DDE link packet added for WPWin5.1 (In UNIX 5.1 only, this packet # indicates the # of pages)
17 (0x11)Macro executable code added for WPWin5.1
18 (0x12)Reserved
19 (0x13)Macro information block added for WPWin5.1
20 (0x14)Reserved
21 (0x15)OLE prefix added for WPWIN 5.2
256 (0x100)First style packet # (use 256 packets for styles)
511 (0x1FF)Last style packet # (use 256 packets for styles)
512 (0x200)PS table packet first packet
767 (0x2FF)PS table packet last packet
WP Packet Type Structure for Packets 1 767 (1 0x2FF)
The following are the related structures to the WordPerfect document prefix packet types:
Packet Type 1 Document Summary Packet
Except for the fields marked and the last 3 fields in the WP5.1 format, all fields are null terminated strings.
If a user imports a 5.0 document file into the 11/6/89 release of WP5.1, and the file had a summary packet in it, the following could happen: If the user never edited the summary information, this version of 5.1 would not rewrite the 5.0 summary packet. A document saved out of this version of 5.1, labeled as being a 5.1 document, but has a 5.0 formatted summary packet. Keep this in mind if your program is reading WP5.1 files.
FieldWP5.1 Max LenWP5.0 Max Len
Creation date (string form)26 (w/null)26 (w/null)
Descriptive name68 (no null)41 (w/null)
Descriptive type21 (w/null)N/A
Lengths are padded with spaces to be exact, so that a document management program can change the name or type without completely rewriting the prefix packet.
Subject16140
Author6140
Typist6140Abstract (comments in WP5.0)781780
End of WP5.0 Document Summary
Account161N/A
Key words161N/A
WP5.1 Format Marker 1N/A (always equals 1 [FFh])
Creation date (10byte format)10N/A
WP5.1 Format Marker 1N/A (always equals 1 [FFh])
Note:"WP5.1 Format Markers" are used by WP to determine whether the summary packet is in the format used by WP5.0 (the markers don't exist) or the expanded format of WP5.1. If the end of the packet data has the value 0FFh (1), then it is a WP5.1 format. If the packet ends with zero, then it is a WP5.0 packet.
Packet Type 1 and the 10byte Creation Date format for the Document Summary Packet is as follows:
OffsetSizeMeaning
0shortYear
21 byteMonth
31 byteDay
41 byteHour
51 byteMinute
The next four bytes are unused (0) in the Document Summary Packet, but are:
61 byteSecond
71 byteDay_of_week
81 byteTime_zone
91 byteUnused
Packet Type 2 List of Fonts Used in Document (WP5.0)
This packet is a variablelength list of records. To determine the number of these records, divide the size of the packet by the size of the record structure below. The structure of these records is as follows:
OffsetSizeUsage
0shortFont ID (instance pointer)
2shortCache ID of PS table (0xFF [1] = no PS table)
4shortTop shoulder height (psu)
6shortBottom shoulder height (psu)
8shortPrinted char width (wpu)
10shortDesired space width (wpu)
12shortNormal space width (wpu)
14shortHorizontal motion units
16shortNumerator for fractional units of horizontal motion
18shortPointer into font string pool of font names
201 byteFlags
211 byteAvailable (to ensure short integer alignment)
22shortPrinter point size in 3600ths (same as offset 26 if not scalable)
24shortHash
2624 bytesOffsets 0 20 of Font Descriptor (See Packet 15 [0xF] for format)
5016 bytesAFC (Automatic Font Changes) list (attribute list)
6616 bytesCharacter AFC list
824 bytesOrientation AFC list
Packet Type 3 Document Initial Codes
This variablelength packet contains function codes as they appear inside a document. Setup Initial Codes inserts the function codes originally, but you can modify them separately. They keep the system's setup environment and the document together when both are moved to a different environment.
Packet Type 4 Reserved (not used)
Packet Type 5 Reserved (not used)
Packet Type 6 DocumentSpecific Flags and Information
This packet contains information about the document itself at the time it was saved. The format of Packet Type 6 is as follows:
OffsetSizeUsage
01 byteFlag bits for document
bit 0:
0 = WPWIN Wysiwyg manual display pitch
1 = WPWIN Wysiwyg auto display pitch
bits 1 & 2:
0 = font change
1 = red color
2 = char in left margin
3 = char in alternating margins
bit 3 = 1 if document must be formatted
bit 4 = 1 if document must be (re)generated
bit 5 = 1 if manual display pitch
bit 6 = 1 if links must be updated on retrieval
bit 7 = 1 if links codes are not to be displayed
11 byteLow nibble = print quality
High nibble = graphics quality
For each nibble:
0 = don't print
1 = draft
2 = med
3 = high
2shortRedline character
4shortWidth of screen character
6shortBinding width of document
81 bytePrinter select cnt flag for eqn hash
91 byte Reserved
10shortDocument display pitch. 0x100 = 100%
12shortScreen resolution
14shortReserved
Packet Type 7 Font Name String Pool
This variablelength packet contains the font names in the font list. The font list records each have a field that points to an offset in this packet that indicates its font name. These are nullterminated, font-name strings.
Packet Type 8 Graphics Information
Give special handling to the graphics image data (Packet Type 8). The index for this data packet must be the last index in the prefix area (except for an End of Prefix index). The value of the long integer length given in the index is 2. The graphic image data has the following structure:
OffsetSizeUsage
0shortCount of # of graphic images
2longSize of first graphic image
6longSize of second graphic image
10longSize of third graphic image
......
......
(# graphics * 4)+2variableData for first graphic image (see the DrawPerfect section of this manual for .WPG file formats)
+ size 1variableData for second graphic image
+ size 2variableData for third graphic image
......
......
......
Packet Type 9 Forms Hash Table
This variablelength packet is a list of hash values (short integers). The hash values correspond to each form that the user defined. To determine the number of forms hashed, divide the packet size by 2.
Packet Type 10 (0xA) Reserved
Packet Type 11 (0xB) Reserved
Packet Type 12 (0xC) Document Printer (.PRS file, etc.)
This fixedsize packet contains information about the selected printer. The structure is as follows:
OffsetSizeDescription
037 bytesLong name of .PRS file
3713 bytesActual .PRS filename
5024 bytesDescriptor for initial font
74shortMinimum top margin
76shortMinimum bottom margin
78shortMinimum left margin
80shortMinimum right margin
821 byteFlags
bit 0 = used by printer selection to mark selected printer
bit 1 = initialize printer when WP starts
bit 3 = right hzone disabled
bits 4,5,6,7 = orientations supported
83short Date of .PRS file
bits 04 = day (starting at 1)
bits 58 = month
bits 915 = year+80
85shortTime of .PRS file
bits 04 = seconds/2 (may not be too accurate)
bits 510 = minutes
bits 1115 = hour (24 hour starting at 0)
87shortPoint size of current font
891 byteTypeface flags
Packet Type 13 (0xD) Reserved
Packet Type 14 (0xE) Supplemental Dictionary Compressed Words
Packet Type 15 (0xF) List of Fonts Used in Document (WP5.1)
Structure of Prefix Font Information
The following 86byte structure is repeated for each font in a document:
Where in
OffsetSizeDescription.PRS File
0shortFont ID (instance pointer)Font def
2shortCache ID of PS table (1 [0xFF] = no PS table)Font def
4shortTop shoulder height (psu)
6shortBottom shoulder height (psu)
8shortPrinted char width (wpu)
10shortOptimal space width (wpu)
12shortNormal space width (wpu)
14shortHorizontal motion units
16shortNumerator for fraction units of horizontal motionFont def
18shortPointer in font string pool of font name Font def
(see Packet 7)
201 byte Flags
21shortHash of descriptor (Match font hash value inFunction209(0xD1) Subfunction 1)
2327 bytesFont descriptor (see Font Descriptor below)
5016 bytesAFC list (prffont entry #'s, 1 (0xFF) = none)
6616 bytesChar afc list
824 bytesOrientation afc list
Font Descriptor
OffsetSizeDescriptionWhere in .PRS File
0shortCell height (5.0)(3600ths)Font def
2shortOptimal width (wpu)Font def
4shortCap height (psu)Typeface def
6shortx height (psu)Typeface def
8shortDescender height (psu)Typeface def
10shortItalic adjustment (psu, )Typeface def
123 bytesTypeface descriptorTypeface def
Low short integer:
bit 0 = 1 casual
bit 1 = 1 connected letters
bit 2 = 1 decorative
bit 3 = 1 formal
bit 4 = 1 future
bit 5 = 1 old style
bit 6 = 1 script or calligraphic
bit 7 = 1 cupped
bit 8 = 1 exaggerated
bit 9 = 1 hairline
bit 10 = 1 slab
bit 11 = 1 slanted
bit 12 = 1 transitional
bit 13 = 1 triangular
bit 14 = 1 curved or bowed diagonalsbit 15 = 1 nonconnecting enclosures
OffsetSizeDescriptionWhere in .PRS File
High byte:
bit 0 = 1 round
bit 1 = 1 square
bit 2 = 1 angular
bit 3 = 1 exaggerated
bit 4 = 1 uniform
bit 5 = 1 ball terminals
bit 6 = 1 tails
bit 7 = 1 reserved; must = 0
151 byteTypeface def flags; same format as offset 26, exTypeface def
cluding the information added for WP5.1 (for WP5.0)
161 byteHash of typeface nameTypeface def
171 byteQuality of the font (only relevant for .DRS fonts) Font def
18shortHash of font nameFont def
202 short int.Charset completeness bits Nonshareable font Def size
(The completeness bits are read from each of
the 2 short integers.)
Low Short Int.High Short Int.Meaning
Bit n =Bit n =
00Charset not supported
10Charset supported 1%25%
01Charset supported 26%59%
11Charset supported 60%100%
Note:The n in Bit n = equals the number of the character set. For example, if you wanted to check the completeness of character set zero (the ASCII character set), you would look at bit zero (0) of the low and high short integers.
24shortPoint size (5.1) (3600ths)Font def
261 byte Typeface def flagsTypeface def
1Small caps font
2Shadow font
4Outline font
8Italic or oblique
16 (0x10)PS font (font descriptor only)
Weight high three bits
00000000b extra light
00100000b light
01000000b normal
01100000b demibold
10000000b bold
10100000b heavy added for WP5.1
11000000b black added for WP5.1
11100000b ultrablack added for WP5.1
Packet Type 16 (0x10) DDE Link Packet added for WPWin5.1
The existence of this packet signifies that the document contains DDE links. The presence of this packet tells the Open and Retrieve functions to scan the document and reestablish the links.
Packet Type 16 (0x10) Total Number of Document Pages UNIX WP5.1 only
OffsetSizeDescription
0long# of pages
Packet Type 17 (0x11) Macro Executable Code added for WPWin5.1
This packet is a part of every macro file.
Packet Type 18 (0x12) Reserved
Packet Type 19 (0x13) Macro Information Block added for WPWin5.1
OffsetSizeDescription
010 bytesCreation date (if this is altered, the macro is recompiled at runtime)
Note: For creation date format, see Document Summary Packet (prefix packet 1).
10shortFile type
12shortMajor version
14shortMinor version
16shortMaintenance version
18shortLanguage (for example, US, UK, etc.)
19short# of product types in macro
The following section is repeated for each product type in offset 19 (above):
..2 short int.Product (for example, WPWP)
..shortProduct major version
..shortProduct minor version
..shortProduct maintenance version
Packet Type 20 (0x14) Reserved
Packet Type 21 (0x15) OLE Prefix added for WPWin5.2
OffsetSizeDescription
01 byteObject Information Structure major version (currently always 1)
11 byteObject Information Structure minor version (currently always 0)
2shortSize of Object Information Structure (currently always 4)
4short# of OLE objects
Note:The following information repeats for each object in the packet. Offset 4 determines how many times the information will be repeated.
6shortSize of object name (includes the NULL)
8variableObject name (nullterminated ANSI string)
..variableObject information structure (currently contains only an unsigned long integer value. The value is the size of the OLE object)
..variableOLE object
Packet Type Styles 256511 (0x100 0x1FF)
Prefix structure of style packet types. The style library file format is the same as the style prefix information.
A style is stored in the prefix in two parts:
PART_1:NameTypeDescriptionUnique#
sizes:211551
PART_2:BegSizeBegHashEndSizeEndHashXtrSizeBegTextEndText
sizes:22222....
FieldMeaning
NameA short name for the style, the actual identifier for the style
TypeInformation about the style
bit 0 set= paired type stylebit 0 clear= global type style
bit 6,7
0 = Enter = HRt
2 = Enter = Off
3 = Enter = Off/On
DescriptionA lengthy description for human use only
Unique#A # to identify this style from others
BegSizeThe size of the beginning text
BegHashThe hash value of the beginning text
EndSizeThe size of the ending text
EndHashThe hash value of the ending text
XtrSizeThe size of the extra text (auto-added to End_Text)
BegTextText and function codes in the Style On code
EndTextText and function codes in the Style Off code
XtrtextCodes added to the Style Off code
Packet Type 512 767 (0x200 0x2FF)
Structure of Prefix PS Information
The first three fields uniquely identify a PS table entry:
OffsetSizeMeaning
01 bytePS status flag (0 = bytes, 1 = short int.)
11 byteReserved
216 short int.Pointers to the 16character sets (1 = pointer is being used)
34variableChar widths
....._________________.
..char set 1 | Last char or count| Note: last char + 1 = count
....| char 0 width |
....| char 1 width |
....| .. |
....| .. |
....| .. |
....._________________.
..char set 2 | Last char or count |
....| char 0 width |
....| char 1 width |
....| .. |
....| .. |
Abbreviated Prefix
One of the following two conditions signals the end of the prefix data: when an index with a packet type of End of Prefix (0) is encountered, or when the pointer to the next index block in the special header index is equal to 0.
To quickly create a simple but valid WordPerfect document prefix, use the following information. This abbreviated prefix enables successful retrieval into WordPerfect. WordPerfect adds the remaining information when the document is saved after bringing it into WordPerfect (The following values are all in hexadecimal).
FF 57 50 43 4C 00 00 00 01 0A 00 00 00 00 00 00
FB FF 05 00 32 00 00 00 00 00 06 00 08 00 00 00
42 00 00 00 08 00 02 00 00 00 4A 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 08 00 7C 00 78 00 00 00 00 00
Note:This generic prefix is on disk so you do not have to type it in. It is saved under the filename "PREFIX.QCK." Refer to the "Toolkit Diskette" section to find which disk this file is on.