<IMGALT="Corel Solution Partners Program" WIDTH=89 HEIGHT=40 BORDER=0 SRC="/graphics/navigationside/partners&developers/ns_1solutionpartnersprogram.gif"> <IMGALT="Corel Approved Service Bureaus" WIDTH=89 HEIGHT=44 BORDER=0 SRC="/graphics/navigationside/partners&developers/ns_1corelapprovedservicebureaus.gif">
<IMGALT="Partner Solutions" WIDTH=89 HEIGHT=30 BORDER=0 SRC="/graphics/navigationside/partners&developers/ns_1partnersolutions.gif">
<IMGALT="Developer Support" WIDTH=89 HEIGHT=30 BORDER=0 SRC="/graphics/navigationside/partners&developers/ns_1developersupporth.gif">

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.

####

#### Packet Type 0 (0x00)

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.

####

#### Packet Type 1 (0x01)

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>

####

#### Packet Type 3 (0x03)

Reserved

####

#### Packet Type 4 (0x04)

Form Hash Table

    [hash value for each form contained in a document] x ?

####

#### Packet Type 5 (0x05)

Writing Tools API

    [company ID]

    [tool (or product) ID]

    <tool information> x ?

The Speller uses the Tool information field for the document Supplemental Dictionary. The format of the Supplemental Dictionary is a WP short string.

####

#### Packet Type 6 (0x06)

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.

####

#### Packet Type 7 (0x07)

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)

####

#### Packet Type 8 (0x08)

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

####

#### Packet Type 9 (0x09)

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] x ? (null-terminated WP short string; max 78 bytes or

    38 chars + null)

####

#### Packet Type 10 (0x0A)

Macro Executable

No documentation will be provided for this packet.

####

#### Packet Type 11 (0x0B)

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

####

#### Packet Type 12 (0x0C)

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)

####

#### Packet Type 13 (0x0D)

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

####

#### Packet Type 14 (0x0E)

Index Mark

    [index name] x ?  null terminated

    [heading] x ?  null terminated

    [subheading] x ?  null terminated

####

#### Packet Type 15 (0x0F)

Cross-Reference Target

    [target name] x ?  null terminated

####

#### Packet Type 16 (0x10)

NeXT Total Page Count

No documentation will be provided for this packet.

####

#### Packet Type 17 (0x11)

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])

####

#### Packet Type 18 (0x12)

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.)

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.

####

#### Packet Type 19 (0x13)

Macro Labels

No documentation will be provided for this packet.

####

#### Packet Type 20 (0x14)

Macro Global Labels

No documentation will be provided for this packet.

####

#### Packet Type 21 (0x15)

Macro Translation Table

No documentation will be provided for this packet.

####

#### Packet Type 22 (0x16)

Macro Debug Information

No documentation will be provided for this packet.

####

#### Packet Type 23 (0x17)

Hypertext (Bookmark Name)

    [bookmark name] x ?  null terminated

####

#### Packet Type 24 (0x18)

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.

####

#### Packet Type 25 (0x19)

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.

####

#### Packet Type 26 (0x1A)

Envelope Address Document

The structure of this packet is the same as packet type 8 (0x08), General WP Text.

####

#### Packet Type 27 (0x1B)

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

####

#### Packet Type 28 (0x1C)

WP Hidden Outline Text

The structure of this packet is the same as packet type 8 (0x08), General WP Text.

####

#### Packet Type 29 (0x1D) - Added for WP 7.0

Prefix Needs Spell-Check

The entire document is dirty regardless of clean/dirty spell gates. An index exists only if a spell-check is needed. The data size is zero. The data pointer is unused and invalid if non-zero.

####

#### Packet Type 30 (0x1E)- Added for WP 7.0

Formatter Region

Region being tracked in the formatter for any changes. This packet contains a region packet header followed by information for each region packet.

Header information in the Formatter Region packet:

    [offset to first region packet information]

    {number of region entries in this prefix packet}

    {the next region number to allocate}

    <name of file this packet created with> x ?

Region information for each region packet:

    {unique number representing this tracked region}

    {byte count offset in edit buffer to region on code} (distance from

    beginning of file if positive, distance from end of file if negative)

    {byte count offset in edit buffer to region off code} (distance from

    beginning of file if positive, distance from end of file if negative)

    [page number where start of tracked region starts]

    [y position where start of tracked region starts]

    [page number where end of tracked region ends]

    [y position where end of tracked region ends]

    [font face at start of region]

    [font size at start of region]

    [attributes at start of region]

    <color at start of region (RGB)> x 3

    <region active flag> indicates if changes to region should be sent to

    the interface

      0 = region is not active

      1 = region is active

    <type of region being tracked>

      1 = OLE

      2 = OBEX

####

#### Packet Type 31 (0x1F)- Added for WP 7.0

Mideast Flags Prefix

Mideast-specific document flags.

    <ligature control>

      0 = none

      1 = partial ligatures

      2 = full ligatures

    <number shape>

      0 = context

      1 = force English font

      2 = force Arabic/Hebrew font

####

#### Packet Type 32 (0x20)

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]

0x0100 Family: ITCBenguiat

0x0101 = Bellini | 0x0117 = Stratford
0x0102 = Erasmus | 0x0118 = ITCTiffany
0x0103 = HollandseMediaeval | 0x0119 = ITCBenguiat
0x0104 = Pastonchi | 0x011A = Seagull
0x0105 = Windsor | 0x011B = ITCSouvenir
0x0106 = Kennerley | 0x011C = Vendome
0x0107 = Raleigh | 0x011D = ItalianOldStyle
0x0108 = SurreyOldStyle | 0x011E = ITCItalia
0x0109 = Trajanus | 0x011F = JensonOldStyle
0x010A = Verona | 0x0120 = Guardi
0x010B = WorchesterRound | 0x0121 = Cantoria
0x010C = DellaRobbia | 0x0122 = ITCBerkleyOldStyle
0x010D = BauerText | 0x0123 = ITCGiovanni
0x010E = Cloister | 0x0124 = Lavenham
0x010F = Jenson | 0x0125 = ITCVeljovic
0x0110 = SchneidlerOldStyle | 0x0126 = HampshireOldStyle
0x0111 = Centaur | 0x0127 = ITCEsprit
0x0112 = HorleyOldStyle | 0x0128 = Hadriano
0x0113 = Deepdene | 0x0129 = ITCWeidemann
0x0114 = Brighton | 0x012A = Minion
0x0115 = ITCClearface | 0x012B = Seneca
0x0116 = Lutetia | 0x012C = Carmina
0x0900 Family: TimesRoman
0x0901 = Bembo | 0x090E = ITCStoneSerif
0x0902 = BernhardModern | 0x090F = Life
0x0903 = GoudyOldStyle | 0x0910 = Minister
0x0904 = Plantin | 0x0911 = TimesRoman
0x0905 = Poliphilus | 0x0912 = Calisto
0x0906 = Trajan | 0x0913 = Adroit
0x0907 = Leamington | 0x0914 = ITCSlimbach
0x0908 = Missal | 0x0915 = Administer
0x0909 = TrumpMediaeval | 0x0916 = Caxton
0x090A = Berling | 0x0917 = Eldorado
0x090B = Hiroshige | 0x0918 = Symposia
0x090C = Albertina | 0x0919 = Artcraft
0x090D = Emerson | 0x091A = ZAntiqua
0x1100 Family: ITCGaramond
0x1101 = BinnyOldStyle | 0x1119 = QuadrigaAntiqua
0x1102 = Bookman | 0x111A = Sabon
0x1103 = Bulmer | 0x111B = Barbou
0x1104 = Caslon540 | 0x111C = Fournier
0x1105 = Amerigo | 0x111D = Garamond
0x1106 = ChiswellOldFace | 0x111E = Spectrum
0x1107 = Fontana | 0x111F = Weiss
0x1108 = Granjon | 0x1120 = Concorde
0x1109 = Imprint | 0x1121 = ITCCushing
0x110A = Monticello | 0x1122 = Dante
0x110B = OldStyleNo2 | 0x1123 = Gazette
0x110C = GarthGraphic | 0x1124 = ITCIsbell
0x110D = Scenario | 0x1125 = Romulus
0x110E = Ehrhardt | 0x1126 = Rotation
0x110F = Galliard | 0x1127 = VanDijck
0x1110 = Aldus | 0x1128 = Janson
0x1111 = Aster | 0x1129 = Roundfunk
0x1112 = Baskerville | 0x112A = Charter
0x1113 = RotisSerif | 0x112B = Criterion
0x1114 = Congress | 0x112C = Ellington
0x1115 = Lectura | 0x112D = HollandSeminar
0x1116 = Palatino | 0x112E = ITCGamma
0x1117 = PopplPontifex | 0x112F = ITCLeawood
0x1118 = TimesEuropa | 0x1130 = Pasquale
0x1900 Family: CenturySchoolbook
0x1901 = Joanna | 0x1911 = Impressum
0x1902 = Maximus | 0x1912 = Melior
0x1903 = Breughel | 0x1913 = Dominante
0x1904 = Excelsior | 0x1914 = Menhart
0x1905 = Perpetua | 0x1915 = Paragon
0x1906 = Primer | 0x1916 = Cochin
0x1907 = Nofret | 0x1917 = Electra
0x1908 = CenturySchoolBook | 0x1918 = Iridium
0x1909 = Nimrod | 0x1919 = ITCZapfInternational
0x190A = Cheltenham | 0x191A = Accolade
0x190B = Comenius | 0x191B = Cardinal
0x190C = Sorbonne | 0x191C = Claridge
0x190D = Bramley | 0x191D = Else
0x190E = GoudyModern | 0x191E = ITCJamille
0x190F = Athenaeum | 0x191F = MonoTypeEngravers
0x1910 = Diotima | 0x1920 = ITCStoneInformal
0x2100 Family: Bodoni
0x2101 = Auriga | 0x210A = Walbaum
0x2102 = ITCZapfBook | 0x210B = ITCFenice
0x2103 = BauerBodoni | 0x210C = Modern
0x2104 = Corvinus | 0x210D = ScotchRoman
0x2105 = Albion42 | 0x210E = Centennial
0x2106 = Caledonia | 0x210F = Versailles
0x2107 = Fairfield | 0x2110 = Wilke
0x2108 = DeVinne | 0x2111 = Inflex
0x2109 = Madison | 0x2112 = ITCDidi
0x2900 Family: ITCLubalinGraph
0x2901 = ASGallatin | 0x290C = AntiqueNo5
0x2902 = Beton | 0x290D = ITCPacella
0x2903 = Calvert | 0x290E = SchadowAntiqua
0x2904 = Candida | 0x290F = Aachen
0x2905 = City | 0x2910 = PMNCaecilia
0x2906 = Glypha | 0x2911 = available17
0x2907 = ITCLubalinGraph | 0x2912 = Clarendon
0x2908 = Memphis | 0x2913 = EgyptienneF
0x2909 = Rockwell | 0x2914 = Egizio
0x290A = Serifa | 0x2915 = Fortune
0x290B = Stymie | 0x2916 = ITCAmericanTypewriter
0x3100 Family: Albertus
0x3101 = Albertus | 0x310E = Biltmore
0x3102 = Americana | 0x310F = ITCLSCBook
0x3103 = Flange | 0x3110 = Meridien
0x3104 = FrenchOldStyle | 0x3111 = ITCTiepolo
0x3105 = ITCFrizQuadrata | 0x3112 = RotisSemiserif
0x3106 = Icone | 0x3113 = ITCSerifGothic
0x3107 = ITCKorinna | 0x3114 = available20
0x3108 = ITCNewText | 0x3115 = available21
0x3109 = ITCNovarese | 0x3116 = available22
0x310A = PopplLaudatio | 0x3117 = Footlight
0x310B = ITCQuorum | 0x3118 = ITCElan
0x310C = Romana | 0x3119 = ITCUsherwood
0x310D = ITCBarcelona | 0x311A = Copperplate
0x3900 Family: Courier
0x3901 = Courier | 0x3902 = PrestigeElite
0x4100 Family: Helvetica
0x4101 = Abadi | 0x4116 = Helvetica
0x4102 = AkzidenzGrotesk | 0x4117 = HollandTitle
0x4103 = AlpinGothic | 0x4118 = Imago
0x4104 = AntiqueOlive | 0x4119 = Impact
0x4105 = Avenir | 0x411A = Insignia
0x4106 = CGSymphony | 0x411B = ITCAvantGardeGothic
0x4107 = DINSchriften | 0x411C = ITCKabel
0x4108 = DirectoryGothic | 0x411D = ITCMixage
0x4109 = Flyer | 0x411E = Ambassador
0x410A = Folio | 0x411F = ITCStoneSans
0x410B = Formata | 0x4120 = TradeGothic
0x410C = FranklinGothic | 0x4121 = Metro
0x410D = Frontiera | 0x4122 = NeuzeitS
0x410E = Frutiger | 0x4123 = NewsGothic
0x410F = Futura | 0x4124 = Placard
0x4110 = GillSans | 0x4125 = VAGRounded
0x4111 = Gothic | 0x4126 = RotisSansSerif
0x4112 = Grotesque | 0x4127 = Sans
0x4113 = CenturyGothic | 0x4128 = SassoonPrimary
0x4114 = Harry | 0x4129 = Syntax
0x4115 = Headline | 0x412A = Uncia
0x4900 Family: ITCRonda
0x4901 = ITCBauhaus | 0x4904 = ITCRonda
0x4902 = BlippoBlack | 0x4905 = Wexford
0x4903 = Churchward70 | 0x4906 = ITCBusorama
0x5100 Family: Microstyle
0x5101 = Doric | 0x5106 = MagnumGothic
0x5102 = Heldustry | 0x5107 = Microstyle
0x5103 = ITCBolt | 0x5108 = Neographik
0x5104 = ITCEras | 0x5109 = RussellSquare
0x5105 = available5 | 0x510A = Serpentine
0x5900 Family: Optima
0x5901 = BakerSignet | 0x5908 = Optima
0x5902 = BlueJack | 0x5909 = Lisbon
0x5903 = Chelmsford | 0x590A = RotisSemisans
0x5904 = Peignot | 0x590B = Shannon
0x5905 = ITCPanache | 0x590C = Triplett
0x5906 = ITCSymbol | 0x590D = Video
0x5907 = Omega |
0x6100 Family: LetterGothic
0x6101 = available1 | 0x6105 = OCRB
0x6102 = LetterGothic | 0x6106 = Orator
0x6103 = LinePrinter | 0x6107 = Presentation
0x6104 = OCRA |
0x6900 Family: Brush
0x6901 = AshleyScript | 0x6908 = FreeStyleScript
0x6902 = BiffoScript | 0x6909 = Kaufmann
0x6903 = BrophyScript | 0x690A = MonoLineScript
0x6904 = BrushScript | 0x690B = BickleyScript
0x6905 = CascadeScript | 0x690C = PresentScript
0x6906 = Chaplin | 0x690D = Swing
0x6907 = Charme | 0x690E = Bronx
0x7100 Family: ParkAvenue
0x7101 = AristonLightScript | 0x710D = ITCIsadora
0x7102 = Basilica | 0x710E = ITCZapfChancery
0x7103 = Bellevue | 0x710F = Jasper
0x7104 = BertholdScript | 0x7110 = Liberty
0x7105 = Boulevard | 0x7111 = LisbonCursive
0x7106 = Amazone | 0x7112 = MediciScript
0x7107 = CarmineTango | 0x7113 = MurrayHill
0x7108 = CommercialScript | 0x7114 = ParkAvenue
0x7109 = Coronet | 0x7115 = Stuyvesant
0x710A = Corsiva | 0x7116 = UniversityRoman
0x710B = Diskus | 0x7117 = Musketeer
0x710C = FloridianScript | 0x7118 = TypoUpright
0x7900 Family: SignetRoundhand
0x7901 = AbelCursive | 0x790D = NuptialScript
0x7902 = Aristocrat | 0x790E = OldFashionScript
0x7903 = CitadelScript | 0x790F = OriginalScript
0x7904 = DorchesterScript | 0x7910 = PalaceScript
0x7905 = FlemishScript | 0x7911 = PopplResidenz
0x7906 = FlorentineScript | 0x7912 = Balmoral
0x7907 = FrenchScript | 0x7913 = ShelleyAllegroScript
0x7908 = Isabella | 0x7914 = ShelleyAndanteScript
0x7909 = KunstlerScript | 0x7915 = SignetRoundhand
0x790A = LinoScript | 0x7916 = VenitianScript
0x790B = LuciaScript | 0x7917 = Vivaldi
0x790C = MahoganyScript |
0x8100 Family: Tekton
0x8101 = Banco | 0x810B = Matura
0x8102 = Bison | 0x810C = Mercurius
0x8103 = ITCGrizzly | 0x810D = NewBerolina
0x8104 = DomCasual | 0x810E = Mistral
0x8105 = Hebrastyle | 0x810F = Pepita
0x8106 = Herculanum | 0x8110 = Reporter
0x8107 = ITCFlora | 0x8111 = Tekton
0x8108 = Forte | 0x8112 = Jiffy
0x8109 = Klang | 0x8113 = Visigoth
0x810A = Lithos |
0x8900 Family: Uncial
0x8901 = AbbottOldStyle | 0x890A = available10
0x8902 = Amigo | 0x890B = available11
0x8903 = Auriol | 0x890C = Libra
0x8904 = Camelot | 0x890D = available13
0x8905 = Carolina | 0x890E = Omnia
0x8906 = Clairvaux | 0x890F = Ondine
0x8907 = AuraScript | 0x8910 = available16
0x8908 = Euclid | 0x8911 = PostAntiqua
0x8909 = Feinen | 0x8912 = Uncial
0x9100 Family: OldEnglish
0x9101 = Basque | 0x910A = BlackMoor
0x9102 = CloisterBlack | 0x910B = OldEnglish
0x9103 = DucDeBerry | 0x910C = Agincourt
0x9104 = EngraversText | 0x910D = SanMarco
0x9105 = FetteFraktur | 0x910E = WeddingText
0x9106 = GoudyText | 0x910F = WilhelmKlingsporGotisch
0x9107 = AmericanText | 0x9110 = YorkShire
0x9108 = LinoText | 0x9111 = AlteSchwabacher
0x9109 = LondonText |
0x9900 Family: ITCZapfDingbats
0x9901 = BorderPi | 0x990B = Sonata
0x9902 = BundesbahnPi | 0x990C = StarTrekPi
0x9903 = Carta | 0x990D = Symbol
0x9904 = Cheq | 0x990E = WoodTypeOrnaments
0x9905 = EuropeanPi | 0x990F = LineDraw
0x9906 = HelveticaFractions | 0x9910 = BarCodes
0x9907 = ITCZapfDingbats | 0x9911 = KeyCaps
0x9908 = LinoTypeDecorationPi | 0x9912 = MonoTypeSorts
0x9909 = LinoTypeGamePi | 0x9913 = MTExtra
0x990A = LinoTypeHolidayPi | 0x9914 = Fences
0xA100 Family: Broadway
0xA101 = Braggadocio | 0xA10A = ITCLSCManhattan
0xA102 = Brittanic | 0xA10B = ITCTomsRoman
0xA103 = Broadway | 0xA10C = McCollough
0xA104 = Falstaff | 0xA10D = Binner
0xA105 = Annlie | 0xA10E = Normande
0xA106 = GlobeGothic | 0xA10F = Parisian
0xA107 = ITCBernase | 0xA110 = Stencil
0xA108 = ITCFatFace | 0xA111 = Trooper
0xA109 = ITCFirenze | 0xA112 = Bremen
0xA900 Family: Computer
0xA901 = Computer | 0xA907 = PrinterNo1
0xA902 = Countdown | 0xA908 = PrinterNo2
0xA903 = Data70 | 0xA909 = Zeitgeist
0xA904 = Digital | 0xA90A = LCD
0xA905 = ITCMachine | 0xA90B = OrbitB
0xA906 = Amelia |
0xB100 Family: PTBarnum
0xB101 = Playbill | 0xB105 = Figaro
0xB102 = BrandingIron | 0xB106 = Hidalgo
0xB103 = available3 | 0xB107 = PTBarnum
0xB104 = available4 |
0xB900 Family: Ponderosa
0xB901 = AldousVertical | 0xB90A = Lafayette
0xB902 = Arcadia | 0xB90B = LatinExtraCondensed
0xB903 = Birch | 0xB90C = Mesquite
0xB904 = Compacta | 0xB90D = Onyx
0xB905 = Eccentric | 0xB90E = Ponderosa
0xB906 = Industria | 0xB90F = Runic
0xB907 = Ironwood | 0xB910 = TipTop
0xB908 = ITCLSCCondensed | 0xB911 = Willow
0xB909 = Juniper |
0xC100 Family: Madrone
0xC101 = BlackOak | 0xC103 = Poplar
0xC102 = Madrone | 0xC104 = Thunderbird
0xC900 Family: Hobo
0xC901 = AntikvaMargaret | 0xC911 = KochAntiqua
0xC902 = ArnoldBocklin | 0xC912 = Milton
0xC903 = Belwe | 0xC913 = Neptune
0xC904 = BlackfriarsRoman | 0xC914 = Packard
0xC905 = BrynMawr | 0xC915 = Pretorian
0xC906 = Charleston | 0xC916 = Raphael
0xC907 = Columbus | 0xC917 = Richmond
0xC908 = CooperBlack | 0xC918 = Skyjald
0xC909 = Cottonwood | 0xC919 = Tango
0xC90A = Croydon | 0xC91A = Thalia
0xC90B = Eckmann | 0xC91B = Belshaw
0xC90C = Hobo | 0xC91C = LoType
0xC90D = Hogarth | 0xC91D = Parsons
0xC90E = ITCGorilla | 0xC91E = Romic
0xC90F = ITCGrouch | 0xC91F = BitstreamArrus
0xC910 = ITCHonda |
0xD100 Family: Revue
0xD101 = AdLib | 0xD108 = Pump
0xD102 = Becket | 0xD109 = Revue
0xD103 = Kino | 0xD10A = Sintex1
0xD104 = MotterTektura | 0xD10B = Stop
0xD105 = Neuland | 0xD10C = Tabasco
0xD106 = Octopuss | 0xD10D = Balloon
0xD107 = Othello |
0xD900 Family: AestheticOrnamented
0xD901 = Abramesque | 0xD919 = RaffiaInitials
0xD902 = AestheticOrnamented | 0xD91A = RayShaded
0xD903 = BedRock | 0xD91B = RomantiquesNo5
0xD904 = BlockUp | 0xD91C = Sapphire
0xD905 = Chevalier | 0xD91D = Sinaloa
0xD906 = Fatima | 0xD91E = SnowCap
0xD907 = Flintstones | 0xD91F = TalbotsRockyMountian
0xD908 = Flirt | 0xD920 = Tonal
0xD909 = Florist | 0xD921 = Trocadero
0xD90A = Fontanesi | 0xD922 = UncleSam
0xD90B = FrysOrnamented | 0xD923 = ViaFaceDonBlack
0xD90C = Gallia | 0xD924 = Zip
0xD90D = GoodVibrations | 0xD925 = Shadows
0xD90E = ITCNeon | 0xD926 = Cameos
0xD90F = Karnak | 0xD927 = StripedPatterns
0xD910 = Kismet | 0xD928 = HatchPatterns
0xD911 = LettresOrnees | 0xD929 = Engraved
0xD912 = Lexington | 0xD92A = Outlines
0xD913 = Lilith | 0xD92B = BabyTeeth
0xD914 = Nymphic | 0xD92C = Bottleneck
0xD915 = OldGlory | 0xD92D = Davida
0xD916 = Picadilly | 0xD92E = OldDreadfulNo7
0xD917 = Pinball | 0xD92F = Shotgun
0xD918 = Quentin |

    <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).

####

#### Packet Type 33 (0x21)

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.

####

#### Packet Type 34 (0x22)

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)

####

#### Packet Type 35 (0x23)

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)

####

#### Packet Type 36 (0x24)

Embedded Printer Command

<embedded printer command> x ? native byte string, null terminated

####

#### Packet Type 37 (0x25)

Default Initial Font

    [number of prefix IDs = 1]

    [initial font descriptor PID (type=0x55)]

    [point size (3600ths)]

####

#### Packet Type 38 (0x26)

Print Information for Q-codes

No documentation will be provided for this packet.

####

#### Packet Type 39 (0x27)

Output Device Type or Port for Q-codes

No documentation will be provided for this packet.

####

#### Packet Type 40 (0x28)

Machine Dependent Information

No documentation will be provided for this packet.

####

#### Packet Type 41 (0x29)

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

####

#### Packet Type 42 (0x2A) - Added for WP 7.0

Third-Party Data

This packet is always used in conjunction with the Third Party function (0xE10B). The format of this packet is defined by the third-party company.

####

#### Packet Type 43 (0x2B)

Form Paper Size/Type Name

No documentation will be provided for this packet.

####

#### Packet Type 44 (0x2C)

Subdocument Summary

This is the same format as the extended document summary packet, packet type 18 (0x12).

####

#### Packet Type 45 (0x2D)

Subdocument Password

No documentation will be provided for this packet.

####

#### Packet Type 46 (0x2E)

Deletable Packet

No documentation will be provided for this packet.

####

#### Packet Type 47 (0x2F) - Added for WP 7.0

Routing Annotation

    <flags>

      bit 0: set means this document came from the routing system

      bits 1-7: reserved

    <user count> the number of users listed in this packet

    {user IDs size} the size, in bytes, of the user IDs data area

    {work flow ID offset}  offset into packet of work flow ID

    {work flow filename offset} offset into packet of routed filename

    <user data> x ? the following five bytes per user, ordered to match

    the user IDs

    <user display color (RGBS)> x 4

    <flag byte>

      bit 0: set means the user has completed his review of the document

      bits 1-7: reserved

    [users IDs index] x ? two bytes per user containing the offset of his

    mail system user ID relative to the beginning of user IDs data (user

    IDs are stored in route order)

    <user IDs data> x ? the user IDs stored as packed strings of 8-bit

    ANSI characters

    [user names index] x ? two bytes per user containing the offset of his

    long name relative to the beginning of user names data (ordered to

    match the user IDs)

    <user names data> x ? the user long names stored as packed strings of

    8-bit ANSI characters (ordered to match the user IDs)

    <work flow ID> x ? Ensemble Lite work flow ID passed to WP on the

    command line (a null-terminated string)

    <work flow document name> x ? Ensemble Lite routed document name as

    returned from the routing system (a null-terminated string)

####

#### Packet Type 48 (0x30)

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

####

#### Packet Type 49 (0x31)

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

####

#### Packet Type 50 (0x32)

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.

####

#### Packet Type 51 (0x33)

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.

####

#### Packet Type 52 (0x34)

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)

####

#### Packet Type 53 (0x35) - Added for WP 7.0

Default Native Fonts

Mideast default font and size for dual or multiple fonts.

    [number of child prefix IDs = 1]

    [PID of desired font]

    <point size of font> in 3600ths

    <language set of the initial native font>

      9 = Hebrew

      13 = Arabic

####

#### Packet Type 54 (0x36) - Added for WP 7.0

English AFC (Fareast)

Use English AFC for Asian fonts.

    <use English AFC flag> 1 = use English AFC for double byte fonts

####

#### Packet Type 55 (0x37) - 63 (0x3F)

Reserved

####

#### Packet Type 64 (0x40)

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, 0x70, or 0x71)] ID of child packet containing

    graphics data

      [ID 2 (type=0x6F, 0x70, or 0x71)] ID of child packet containing

    graphics data

    .. ..

      [ID n (type=0x6F, 0x70, or 0x71)] 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)

| Copyright © 1997 Corel Corporation. contact info To contact Customer Service at one of our worldwide locations, click here Last Updated: September 9, 1996