Packet Data Formats
Reserved packets may appear in a document prefix. Most of the strings in the packet data are
strings made up of short values. The high byte of the short value is the WP character set number.
The low byte of the short value is the character number. The strings are null terminated with a
short value unless otherwise specified.
Index Entry Is Available or Was Deleted
This does not apply to the index header, which is always the first index in the index block.
Document Height
The document height is the height of the entire document from top to bottom.
{document height (text mode)} in formatter text lines
{document height (graphics mode)} in WPUs
{document height (page mode)} in 3600ths
Packet Type 2 (0x02)
Document-Specific Flags
<flag bits for doc>
bit 0: 1 = baseline placement for typesetters is active
bits 1-2: 00 = font change
01 = character in right margin
10 = character in left margin
11 = character in alternating margins
bit 3: 1 = document needs to be formatted
bit 4: 1 = document needs to be (re)generated
bit 5: 1 = manual display pitch
bit 6: 1 = links should be updated on retrieval
bit 7: 1 = links codes should not be displayed
<text/graphics quality>
low nibble = text quality
high nibble = graphics quality
both nibbles:
0 = do not print
1 = draft
2 = medium
3 = high
[redline character]
[width of screen character]
<ink color>
0 = black
1 = full color
2 = solid color
<merge display flags>
2 (0x02) = display merge codes
4 (0x04) = show displayed codes as icons
<reserved>
<default form number>
[current undo-level number]
[current range level number]
<more document flags>
bit 0: 1 = hypertext mode is active
bit 1: 1 = hiding text marked for hiding
<reserved for future use>
Reserved
Form Hash Table
[hash value for each form contained in a document] x ?
Writing Tools API
[company ID]
[tool (or product) ID]
<tool information> x ?
The WordPerfect Speller uses the Tool information field for the document Supplemental
Dictionary. The format of the Supplemental Dictionary is a WP short string.
Character Map
This structure is the same as used in a MAP file. The file type for a MAP file is 49 (0x31). In a
MAP file, this structure begins directly following the 16-byte prefix.
[size of character mapping packet]
<map flags>
bit 7 is set when using 2-byte mappings (WP short string mappings)
80 = Japanese mapping
81 = Korean mapping
82 = Chinese mapping
83 = Taiwanese mapping
[pointer to map name] offset from start of packet
[pointer to map table] table for converting document characters to WP characters
[map name] x ? null terminated WP word string of indeterminate length
[min value = 1] minimum value of mappable characters
[max value = 127] maximum value of mappable characters
[number of mappable chars] max - min + 1
[size of map table]
[document char, WP char]
Document characters are mapped into the range 1-127. The 1-byte document character to WP
character mapping table is essentially a lookup table. It consists of 127 entries, each one word in
length. The first byte of the first word represents document character 1 and the second byte
represents the WP character that document character 1 is mapped to.
Native Filename
If this packet does not have any children, the format is:
<filename> x ? or [filename] x ? null terminated byte or word string
If this packet does have children, the format is the following:
[count of child IDs]
[ID 1] ID of child packet
[ID 2] ID of child packet
.. ..
[ID n] ID of last child
[tag 1] tag flag for first child packet
[tag 2] tag flag for second child packet
.. ..
[tag n] last tag flag for last child packet
[filename] x ? null terminated
Format for tag flags
0x0001 = data being kept internal
0x0010 = data being kept internal (hot link)
0x0011 = data being kept internal (warm link)
0x0012 = data being kept internal (cold link)
General WP Text
[number of text blocks]
{relative offset of first text block within packet}
{size of 1st text block}
{size of 2nd text block}
..
{size of last text block}
..
<text data for 1st block> x 1st block size
<text data for 2nd block> x 2nd block size
..
<text data for last block> x last block size
Bookmark Data
[reserved]
<bookmark flags>
bits 0-3: reserved
bit 4: 1 = paired bookmark
bit 5: 1 = bookmark is in a substructure
bit 6: 1 = quick bookmark
bit 7: 1 = deleted bookmark
<reserved>
[bookmark name]
null-terminated WP short string; max 78 bytes or 38 chars + null
Macro Executable
No documentation will be provided for this packet.
Mark Text for Generate Definition
The byte following the PIDs in each of the following structures indicates which type of definition
exits in a particular instance of this packet.
Table of Contents Definition
[number of child prefix IDs = 2-6]
[style PID 1 (type=0x30)]
[style PID 2 (type=0x30)]
..
[format PID (type=0x62)]
<ToC definition = 0>
<number mode>
0 = no number
1 = number follows entry
2 = number in parentheses follows entry
3 = number flush right
4 = number flush right with dot leaders
[ToC name = 0]
Index Definition
[number of child prefix IDs = 4]
[child PID (level 1) (type=0x30)]
[child PID (level 2) (type=0x30)]
[concordance filename PID (type=0x07, 0 if none)]
[format PID (type=0x62, 0 for document format)]
<index definition = 2>
<number mode>
0 = no number
1 = number follows entry
2 = number in parentheses follows entry
3 = number flush right
4 = number flush right with dot leaders
<definition flags>
1 = reserved
2 = combining of sequential page numbers (default)
[index name = 0]
List Definition
[number of child prefix IDs = 3]
[style PID (type=0x30)]
[format string PID (type=0x62)]
[graphics style PID (type=0x11)]
<list definition = 1>
<number mode>
0 = no number
1 = number follows entry
2 = number in parentheses follows entry
3 = number flush right
4 = number flush right with dot leaders
<reserved>
[list name] x ? short string format
Table of Authorities Definition
[number of child prefix IDs = 2]
[style PID (type=0x30)]
[format string PID (type=0x62)]
<ToA definition = 4>
<number mode>
0 = no number
1 = number follows entry
2 = number in parentheses follows entry
3 = number flush right
4 = number flush right with dot leaders
<definition flags>
1 = ToA definition - underlining allowed
2 = combining of sequential page numbers (default)
[ToA name] x ? short string format
Subdocument
If this packet does not have any children, the format is a short string of the filename for the
subdocument. The subdocument is stored externally on disk.
[subdocument filename] x ? null terminated
If this packet has children, the format is the following:
[number of child IDs]
[ID 1] ID of child packet containing subdocument information
[ID 2] ID of child packet containing subdocument information
.. ..
[ID cnt] last child ID for subdocument information
[tag 1] tag flag for first child packet
[tag 2] tag flag for second child packet
.. ..
[tag cnt] tag flag for last child packet
[subdocument filename] x ?
Format for tag flags
0x0001 = data is part of this file
0x0010 = data is part of this file (hot link)
0x0011 = data is part of this file (warm link)
0x0012 = data is part of this file (cold link)
Table of Authorities Mark
The full form Table of Authorities mark consists of this parent packet and a General WP Text
child packet.
[number of child prefix IDs = 1]
[child PID (type=0x08)]
[short form name] x ? WP word string
[ToA section name] x ? WP word string
The short form Table of Authorities mark consists of the short form name contained within this packet.
[short form name] x ? WP word string
Index Mark
[index name] x ? null terminated
[heading] x ? null terminated
[subheading] x ? null terminated
Cross-Reference Target
[target name] x ? null terminated
NeXT Total Page Count
No documentation will be provided for this packet.
Counters Data
[name or ID] x 16 There will always be 32 bytes set aside for the name, but if the counter is a system counter, then this field is an ID number instead of a name. Both the name and the ID number are null terminated with a word null and the remaining bytes are random.
<number of counter levels valid (1-5)> actual number of levels used
<default numbering method for level 1>
<default numbering method for level 2>
<default numbering method for level 3>
<default numbering method for level 4>
<default numbering method for level 5>
[level name 1] x 16 null terminated word strings, begin with two spaces ([2000] [2000])
[level name 2] x 16 null terminated word strings, begin with two spaces ([2000] [2000])
[level name 3] x 16 null terminated word strings, begin with two spaces ([2000] [2000])
[level name 4] x 16 null terminated word strings, begin with two spaces ([2000] [2000])
[level name 5] x 16 null terminated word strings, begin with two spaces ([2000] [2000])
Extended Document Summary
The extended summary data group occurs for up to 100 times, one for each field defined in the
extended summary:
[size] (byte length of data group.)
[tag] (field ID of the extended summary field.)
[type] (field data type)
bit 0: 1 = single line, data length is limited to 255 words
bit 1: 1 = multi-line, data length is limited to 1023 words
bit 2: 1 = date, see 10-byte date structure below.
bit 3: 1 = read only (document may be locked by another user)
[name] x ? (null-terminated word string, optional.)
[data] x ? (null-terminated word string or 10-byte date field.)
In the following table * denotes fields which are also defined in the WP 5.0, 5.1 or 5.2 Summary packet.
Valid predefined extended summary fields: | ||
Tag | Name | Type |
1 | Abstract* | Multi-line |
2 | Account* | Single line |
3 | Address | Multi-line |
4 | Attachments | Single line |
5 | Author* | Single line |
6 | Authorization | Single line |
7 | Bill To | Multi-line |
8 | Blind Copy | Single line |
9 | Carbon Copy | Single line |
10 | Category | Single line |
11 | Checked By | Single line |
12 | Client | Single line |
13 | Comments | Multi-line |
14 | Creation Date* | Date |
15 | Date Completed | Date |
16 | Department | Single line |
17 | Descriptive Name* | Single line |
18 | Descriptive Type* | Single line |
19 | Destination | Single line |
20 | Disposition | Single line |
21 | Division | Single line |
22 | Document number | Single line |
23 | Editor | Single line |
24 | Forward To | Single line |
25 | Group | Single line |
26 | Keywords* | Single line |
27 | Language | Single line |
28 | Mail Stop | Single line |
29 | Matter | Single line |
30 | Office | Single line |
31 | Owner | Single line |
32 | Project | Single line |
33 | Publisher | Single line |
34 | Purpose | Multi-line |
35 | Received From | Single line |
36 | Recorded By | Single line |
37 | Recorded Date | Date |
38 | Reference | Single line |
39 | Revision Date* | Date and read only |
40 | Revision Notes | Multi-line |
41 | Revision number | Single line |
42 | Section | Single line |
43 | Security | Single line |
44 | Source | Single line |
45 | Status | Single line |
46 | Subject* | Single line |
47 | Telephone number | Single line |
48 | Typist* | Single line |
49 | Version Date | Date |
50 | Version Notes | Multi-line |
51 | Version number | Single line |
10-Byte Date Structure
[year]
<month>
<day>
<hour>
<minute>
<second>
<day of week> (not implemented)
<time zone> (not implemented)
<unused>
User-defined extended summary fields have a tag number in the range of 101 to 65535 and must
have a field name.
Predefined fields have tag numbers in the range of 1 to 100 and may have a name, but for
multilingual purposes, the name displayed in all interfaces comes from a translatable resource file.
Tag number 39, Revision Date, is a special case where the date is extracted from the DOS file date.
Macro Labels
No documentation will be provided for this packet.
Macro Global Labels
No documentation will be provided for this packet.
Macro Translation Table
No documentation will be provided for this packet.
Macro Debug Information
No documentation will be provided for this packet.
Hypertext (Bookmark Name)
[bookmark name] x ? null terminated
Box Text Filename
[box text filename] x ? null terminated
If this packet ever has child IDs, the format will be that of the Native Filename packet type 0x07.
Equation Text Filename
[equation text filename] x ? null terminated
If this packet ever has child IDs, the format will be that of the Native Filename packet type 0x07.
Envelope Address Document
The structure of this packet is the same as packet type 8 (0x08), General WP Text.
Comment/Annotation
[number of prefix IDs = 1]
[text PID (type=0x08)]
<annotation flag> 0 = comment, 1 = annotation
date/time:
[year]
<month>
<day>
<hour>
<minute>
<second>
<day of week> not implemented
<time zone> not implemented
<unused>
<annotation color (RGBS)> x 4
[user initials] x ? word string null terminated
[user name] x ? word string null terminated
WP Hidden Outline Text
The structure of this packet is the same as packet type 8 (0x08), General WP Text.
Reserved
Font Typeface Descriptor Pool
This packet contains all font descriptors used in the document)
In the SET file the font typeface descriptor pool only contains the default descriptor.
Matched Font Descriptor (closest available to desired font)
[average character width (PSU)]
[ascender height (PSU)]
[x height (PSU)]
[descender height (PSU)]
[italic adjust]
[primary family ID]
0 = don't know
1 = Courier
2 = Helvetica
3 = Times Roman
4 = Letter Gothic
5 = Prestige
6 = Symbol
7 = AG Gothic
8 = Bookman
9 = Basker
10 = Bodoni
11 = Caslon
12 = Century
13 = Cooper
14 = Futura
15 = Garamond
16 = Glypha
17 = Optima
18 = Palatino
19 = Souvenir
20 = Univers
21 = Brush script
22 = Cursive script
23 = Dom casual
24 = Old English
25 = Hobo
26 = Stencil
27 = Computer
28 = OCR
29 = Broadway
30 = Decor
<scripting system> 1 = European classification
<primary character set> character set numbers 0-15
<width (aspect ratio)>
0 = don't know
16-31 = ultra condensed
32-47 = extra compressed
48-63 = compressed
64-79 = extra condensed
80-95 = condensed (compact)
96-111 = semi condensed (narrow)
112-127 = normal
128-143 = semi expanded
144-159 = expanded (extended)
160-175 = extra expanded
176-191 = ultra expanded
192-223 = double wide
224-254 = triple wide
255 = reserved
<weight>
0 = don't know
1-7 = ultra thin
8-15 = ultra light
16-23 = extra thin
24-31 = thin
32-47 = extra light
48-63 = light
64-79 = demi light
80-87 = semi light
88-95 = book
96-103 = regular (plain)
104-111 = Roman
112-127 = medium
128-135 = demi bold
136-143 = semi bold
144-159 = bold
160-175 = extra bold
176-191 = heavy
192-207 = extra heavy
208-223 = black
224-239 = extra black
240-247 = ultra heavy
248-254 = ultra black
254 = max weight
255 = reserved
<attributes>
bit 0: 1 = italic
bit 1: 1 = outline
bit 2: 1 = shadow
bit 3: 1 = small caps
<general characteristics>
bits 0-1: usage category
0 = don't know
1 = text
2 = display
3 = both
bits 2-3: general serif
0 = don't know
1 = sans serif
2 = serif
3 = script
bits 4-5: spacing
0 = don't know
1 = proportional
2 = monospace
<classification>
bits 0-3: serif type
0 = don't know
1 = bracket
2 = cupped
3 = round bracket
4 = line
5 = slab
6 = wedge
7 = half
8 = sans square
9 = sans round
10 = sans flare
11 = nonconnect
12 = joining
13 = black serif
14 = swash
<fill byte = 0>
<font type>
In .PRS file:
0 = built in
1 = cartridge slot
2 = memory (quantity units are in kilobytes)
3 = memory (quantity units are in font slots)
4 = print wheel
In .DRS file:
128 (0x80) = wp greeked font
129 (0x81) = wp menu
130 (0x82) = wp vector
131 (0x83) = wp outline
132 (0x84) = reserved
133 (0x85) = reserved
134 (0x86) = Speedo
135 (0x87) = bullet (not yet internal)
138 (0x8A) = ATM
139 (0x8B) = TrueType
140 (0x8C) = reserved
141 (0x8D) = TrueType
142 (0x8E) = reserved
143 (0x8F) = reserved
255 (0xFF) = no soft font driver loaded
<font source file type>
16 (0x10) = .PRS file type
20 (0x14) = .DRS file type
[typeface name length in bytes]
[typeface name] x 58? (word-string; max size = 116 bytes)
The typeface name is made up for four separate null word-terminated strings:
1st string = typeface family (such as Times or Swiss)
2nd string = attributes (such as Bold, Italic, or Bold Italic)
3rd string = name prefix (group abbreviation, used for sorting in fonts and cartridge menus [such as CG])
4th string = name extension. This is a symset string, an orientation string, or a string to simply
distinguish this font from other fonts (such as scalable).
Font PS Table
One document file packet is used for each PS (proportional space) table.
In a SET file, this packet contains the font PS table for the default initial font.
<PS status flag>
0 = byte characters
1 = word characters
<PS type flag>
0 = PS table
1 = monospaced bitmap
[pointers to the 16 character sets] x 16
[character widths/bitmap] x ? variable length
If the type is PS table, the following block of data will exist for each character set from 1 through
16.
<count of characters in this set (starting at 0)> same as the number of the last character in the set
[width of nth character] x count+1 (n = 0 to count)
If the type is monospaced bitmap, the following block of data will exist for each character set
from 1 through 16.
<count of characters in this set (starting at 0)> same as the number of the last character in the set
<bitmap of character set> x (count/8)+1 The bits in the bitmap in physical order indicate the
existence (1) or absence (0) of the corresponding character in the character set. For example, if
the high bit of first byte is 1 then character 0 exists. If the low bit of the first bit is 0, then
character 7 is omitted.
The actual spacing used by a monospaced font may be calculated by the formula:
nominal character width = (average character width * current point size) / 300
The current point size is found in the Font Face Change function code (function 0xD4,
subfunction 0x1A) in units of 3600ths and must be converted into 1200ths before it is used in the
formula. The average character width is found in the Font Typeface Descriptor Pool packet
(packet type 0x20) in units of 1200ths. The nominal character width is the spacing used by a
monospaced font and is also in units of 1200ths.
Font List
In a SET File, this packet contains the default initial font.
[font ID (instance pointer)]
[cache ID of PS table (-1 = no PS table)]
[top shoulder height (WPU)]
[bottom shoulder height (WPU)]
[printed character width (WPU)]
[optimal space width (WPU)]
[normal space width (WPU)]
[horizontal motion units]
[numerator for fractional units of horizontal motion]
[vertical motion units]
[numerator for fractional units of vertical motion]
[pointer in pool of typeface descriptor (packet type 20)]
<flags >
01 = scalable font
02 = faked small cap font
[point size (3600ths)]
[nominal width (WPU)]
[hash word of descriptor]
[afc list (entry numbers, -1 = none)] x 16
[character afc list] x 16
[orientation afc list] x 4
[language afc list] x 4
[substitute font list] x 6 (entry number, -1 = none, -2 = on disk)
Printer Selection
[long .PRS file] x 37 null terminated, padded to 74 bytes
<actual .PRS file name> x 13 null terminated, padded to 13 bytes
[minimum top margin (WPU)]
[minimum bottom margin (WPU)]
[minimum left margin (WPU)]
[minimum right margin (WPU)]
[minimum top margin (landscape) (WPU)]
[minimum bottom margin (landscape) (WPU)]
[minimum left margin (landscape) (WPU)]
[minimum right margin (landscape) (WPU)]
<flags>
bit 0: available
bit 1: initialize printer when WP starts
bit 3: right hyphenation zone disabled
bits 4-7: orientations supported
16 (0x10) = portrait
32 (0x20) = landscape
64 (0x40) = reverse portrait
128 (0x80) = reverse landscape
<port number>
0 = lpt1
1 = lpt2
2 = lpt3
4 = com1
5 = com2
6 = com3
7 = com4
-1 = filename or device
<byte to initialize serial port>
length (bit 0): 0 = 7, 1 = 8
stop bit (bit 1): 0 = 1 stop bit, 1 = 2 stop bits
extended baud rate (bit 2): 0 = no, 1 = yes (19200)
parity (bits 3-4): 0 = none, 1 = odd, 3 = even
baud rate (bits 5-7):
0 = 110
1 = 150
2 = 300
3 = 600
4 = 1200
5 = 2400
6 = 4800
7 = 9600
<network printer flag>
1 (0x01) network printer
2 (0x02) suppress top of form
4 (0x04) reserved
8 (0x08) reserved
16 (0x10) reserved
32 (0x20) reserved
64 (0x40) reserved
128 (0x80) reserved
<network form number>
<full pathname for non-port device> x 80
If port number is 0-7, bytes 1-6 (0 based) of this field are used for hardware printing information.
<pathname only - for auxiliary printer files> x 67
<additional flags>
1 (0x01) = prompt for file name
2 (0x02) = Xon/Xoff instead of DTR
4 (0x04) = check initial printer status
8 (0x08) = printer added to list by setup
16 (0x10) = configured for color
32 (0x20) = color-capable printer
64 (0x40) = extended checking
128 (0x80) = available
<output tray flags>
1 (0x01) = sorting supported
2 (0x02) = grouping supported
4 (0x04) = offset jogger supported
8 (0x08) = offset jogger on
16 (0x10) = output bin on
32 (0x20) = output bin supported
64 (0x40) = no output option
128 (0x80) = printer supports output options
[bin numbers] x 2 Up to 32 total bin numbers. Each bit is a bin number. When a bit is set, the corresponding bin is active.
bit 0 = output bin 1
bit 1 = output bin 2
bit 2 = output bin 3
bit 3 = output bin 4
bit 4 = output bin 5
bit 5 = output bin 6
bit 6 = output bin 7
bit 7 = output bin 8
bit 8 = output bin 9
bit 9 = output bin 10
bit 10 = output bin 11
bit 11 = output bin 12
bit 12 = output bin 13
bit 13 = output bin 14
bit 14 = output bin 15
bit 15 = output bin 16
bit 16 = output bin 17
bit 17 = output bin 18
bit 18 = output bin 19
bit 19 = output bin 20
bit 20 = output bin 21
bit 21 = output bin 22
bit 22 = output bin 23
bit 23 = output bin 24
bit 24 = output bin 25
bit 25 = output bin 26
bit 26 = output bin 27
bit 27 = output bin 28
bit 28 = output bin 29
bit 29 = output bin 30
bit 30 = output bin 31
bit 31 = output bin 32
[date of .PRS file]
bits 15-9 = year + 80
bits 8-5 = month
bits 4-0 = day (starting at 1)
[time of .PRS file]
bits 15-11 = hour (24 hour starting at 0)
bits 10-5 = minutes
bits 4-0 = seconds/2 (may not be completely accurate)
Embedded Printer Command
<embedded printer command> x ? native byte string, null terminated
Default Initial Font
[number of prefix IDs = 1]
[initial font descriptor PID (type=0x55)]
[point size (3600ths)]
Print Information for Q-codes
No documentation will be provided for this packet.
Output Device Type or Port for Q-codes
No documentation will be provided for this packet.
Machine Dependent Information
No documentation will be provided for this packet.
PS Table Prefix Packet IDs
This packet contains the prefix packet IDs of each font's PS table. There should be one PS table
entry for each font in the font list. The format is:
[number of child PS table IDs]
[ID 0] index 0 PS table ID (type=0x21)
[ID 1] index 1 PS table ID
.. ..
[ID n] index n PS table ID
Reserved
Form Paper Size/Type Name
No documentation will be provided for this packet.
Subdocument Summary
This is the same format as the extended document summary packet, packet type 18 (0x12).
Subdocument Password
No documentation will be provided for this packet.
Deletable Packet
No documentation will be provided for this packet.
Reserved
Normal Style
[number of prefix IDs]
[PID of style to link to (type=0x30)]
If this is null, look at the Enter flag. If this ID exists, it means that when this style is ended (or when Enter is pressed), the style ID that is linked to begins.
[number of text blocks = 4]
{relative offset of 1st text block}
{paragraph text size}
{beginning style text size}
{end style text size}
{extra style text size}
<style type>
1 = open style
2 = paired style
3 = paragraph style
4 = deleted "including codes"
5 = deleted "leaving codes"
<style flag>
1 (0x01) = library style (otherwise local only)
2 (0x02) = system style
4 (0x04) = Enter turns style off (ignored if link ID is valid)
8 (0x08) = Enter turns style back on again (ignored if link ID is valid)
16 (0x10) = reserved (always set to null when creating a style code)
32 (0x20) = style includes other style(s)
64 (0x40) = reserved
128 (0x80) = reserved
[style hash]
[offset from beginning of packet to description]
[style name] x 12(max) null terminated
[style description] x ? null terminated
The following data is the text block part of the style.
<paragraph-oriented begin information> x paragraph text size
<other begin information> x beginning style text size
<end information> x ending style text size
<extra information> x extra style text size
Outline Style
Null level IDs indicate that the default outline is used for that level.
[child ID cnt = 8]
[level 1 ID (type=0x30)]
[level 2 ID (type=0x30)]
[level 3 ID (type=0x30)]
[level 4 ID (type=0x30)]
[level 5 ID (type=0x30)]
[level 6 ID (type=0x30)]
[level 7 ID (type=0x30)]
[level 8 ID (type=0x30)]
<style flags>
low nibble values:
0x01 = library style
0x02 = system style
0x04 = outline does not use paragraph styles
0x08 = reserved
high nibble values:
0x00 = heading paragraph styles
0x10 = reserved
0x20 = normal paragraph styles
0x40 = use legal (non-indented) paragraph styles
0x60 = reserved
0x80 = reserved
0xA0 = reserved
0xC0 = reserved
0xE0 = this style has been deleted
[hash of IDs, name, flags] (set to null when creating the style)
<numbering methods for printing> x 8
one byte for each level
0 = Arabic numbers
1 = lowercase letters (a-z)
2 = uppercase letters (A-Z)
3 = lowercase Roman
4 = uppercase Roman
5 = character string (only valid for footnotes and endnotes)
6 = leading-zero Arabic numbers
For Asia: (2-byte character required; uses two character cells to PRN)
0x40 = 2-byte Arabic
0x41 = 2-byte lowercase letters (a-z)
0x42 = 2-byte uppercase letters (A-Z)
0x43 = 2-byte lowercase Roman
0x44 = 2-byte uppercase Roman
0x45 = 2-byte character string (only valid for footnotes and endnotes)
0x46 = 2-byte leading-zero Arabic numbers
0x80 = kanji
0x81 = 1-byte katakana (aiueo)
0x82 = 2-byte katakana (aiueo)
0x83 = 1-byte katakana (iroha)
0x84 = 2-byte katakana (iroha)
0x85 = available
0x86 = standard kanji with leading-zero
0xC0 = kanji 2 (ten = juu)
If the numbering method is character string, the following information exists:
[character string length]
[character string] x length in bytes
[pointer to description]
[8 pointers to number strings] x 8
[outline style name] x 13(max) null terminated
[description] x ? null terminated
[level 1 num string] x 21(max) WP word string null terminated
[level 2 num string] x 21(max) WP word string null terminated
[level 3 num string] x 21(max) WP word string null terminated
[level 4 num string] x 21(max) WP word string null terminated
[level 5 num string] x 21(max) WP word string null terminated
[level 6 num string] x 21(max) WP word string null terminated
[level 7 num string] x 21(max) WP word string null terminated
[level 8 num string] x 21(max) WP word string null terminated
Personal Style Library Filename
[personal style library filename] x ? null terminated
If this packet ever has child IDs, the format will be that of the Native Filename packet type 0x07.
Shared Style Library Filename
[shared style library filename] x ? null terminated
If this packet ever has child IDs, the format will be that of the Native Filename packet type 0x07.
Personal and Shared Library File Date/Time
<date structure for personal style library file> x 10
<date structure for shared style library file> x 10
10-Byte Date Structure
[year]
<month>
<day>
<hour>
<minute>
<second> (unused = 0)
<day of week> (unused = 0)
<time zone> (unused = 0)
<unused> (= 0)
Reserved
Graphics Filename
If this packet does not have any children, the format is:
[graphics filename] x ? null terminated
If this packet does have children, the format is the following:
[number of child IDs]
[ID 1 (type=0x6F)] ID of child packet containing graphics data
[ID 2 (type=0x6F)] ID of child packet containing graphics data
.. ..
[ID n (type=0x6F)] ID of last child containing graphics data
[tag 1] tag flag for first child packet
[tag 2] tag flag for second child packet
.. ..
[tag n] last tag flag for last child packet
[graphics filename] x ? null terminated
Format for tag flags
0x0001 = data being kept internal
0x0010 = data being kept internal (hot link)
0x0011 = data being kept internal (warm link)
0x0012 = data being kept internal (cold link)