Corel Logo
Divider



Top

Navigational BarCorel

Ball

Packet Type 65 (0x41)

Graphics Box Style

The "Content" prefix ID referred to in this description, is the standard File Name packet. The "Caption" prefix ID referred to in this description is the standard WP Text packet.

Several of the fields documented in this packet exist only if various bit flags are set. The condition for the existence of a field and a reference to the controlling flag will precede the data. When computing overall sizes and offsets, remember to keep this fact in mind.

If an override bit is set in the box override flags, a mask appears defining which bits within the corresponding data are overridden followed by the actual override data. For example, assume a data byte has two fields, the first field covering bits 0-3 and the second field covering bits 4-7. Assume the first field (bits 0-3) is to be overridden but the second field (bits 4-7) is not. The corresponding override bit will be set in the box override flags word. The data corresponding to this override bit will be a mask byte (value 0x0F) and a data byte, of which only the bottom 4 bits matter.

[number of prefix packet IDs] (may be 0)

  [name/library data prefix IDs] (none currently defined) see box

name/library data prefix ID flag field below

  [counter prefix IDs (type=0x11)] (counter currently defined)

  [positioning data prefix IDs] (none currently defined) see box

positioning data prefix ID flag field below

  [content prefix IDs] (content rendering IDs, actual content not

allowed) see box content prefix ID flag field below

  [caption prefix IDs] (WP text packets), (2 possible: default caption

initial style, default caption number style; actual caption data not

allowed) see box caption prefix ID flag field below

  [border prefix IDs (type=0x30)] (2 possible: border style and border

style overrides) see box border prefix ID flag field below

  [fill prefix IDs (type=0x44)] (fill style currently defined) see box

fill prefix ID flag field below

  [wrap prefix IDs] (none currently defined) see box wrap prefix ID

flag field below

  [hypertext prefix IDs] (2 possible) see box hypertext prefix ID flag

field below

Box name/library data:

[total size of box data] (not including this word)

[size of box name and library data area] (not including this word)

<box name/library data prefix ID flags> (none currently defined)

<box library management flags>

  bit 0: 1 = this is a library style

  bits 1-7: undefined

[box name length word]

  > 0 user-defined box style; a word string containing the name

follows

  0 name is "Figure Box" (English only)

  -1 name is "Table Box" (English only)

  -2 name is "Text Box" (English only)

  -3 name is "User Box" (English only)

  -4 name is "Equation Box" (English only)

  -5 name is "Button Box" (English only)

  < -5 undefined box style name

[word text of name (if box name length > 0)] x ?

Box counter data:

[size of box counter area]

<box counter prefix ID flags>

  bit 0: 1 = counter prefix ID appears at front of style

  bits 1-7: currently undefined

Box positioning data:

[size of box positioning area] (not including this word)

<box positioning prefix ID flags> no bits currently defined

<box general positioning flags>

  bits 0-2: box anchor value

    0 = page anchor

    1 = paragraph anchor

    2 = character anchor

  bit 3: page offset bit (only used for page anchor boxes)

    0 = don't use automatic code placement when inserting

    1 = do use automatic code placement when inserting (will delay box

code if necessary)

  bit 4: overlap flag - Added for WP 7.0

    0 = box is not overlapping another box

    1 = box is overlapping another box

  bit 5: auto flag (used in WPwin) - Added for WP 7.0

    0 = place box to the right of the page

    1 = place the box at the cursor

  bits 6-7: currently undefined
<box horizontal position flags> horizontal position flags are ignored for character-anchored boxes bits 0-1: horizontal alignment type 0 = absolute from left of page 1 = aligned to margins 2 = aligned to columns bits 2-4: horizontal alignment 0 = left 1 = right 2 = center 3 = full bits 5-7: currently undefined [box horizontal offset (signed WPU) or absolute position (unsigned WPU)] <left column (for page anchored boxes aligned to columns)> <right column (for page anchored boxes aligned to columns)> <box vertical position flags> vertical position flags are ignored for paragraph- anchored boxes bits 0-1: vertical alignment type (ignored for character-anchored boxes) 0 = absolute from top of page 1 = aligned to margins bits 2-4: vertical alignment 0 = top 1 = bottom 2 = center 3 = full/baseline (treated as baseline for character boxes) bit 5: character box vertical effect 0 = box affects line height 1 = box does not affect line height (still affects cursor position) bits 6-7: currently undefined [box vertical offset (signed WPU) or absolute position (unsigned WPU)] <box width flags> bit 0: width value flag 0 = fixed width (width from width word) 1 = automatic width from content bits 1-7: currently undefined [box width (unsigned WPU)] <box height flags> bit 0: height value flag 0 = fixed height (height from height word) 1 = automatic height from content bits 1-7: currently undefined [box height (unsigned WPU)]

Box content data:

[size of content area] (not including this word)

<box content prefix ID flags> (not currently defined)

<box content type>

  0 = no content (empty)

  1 = text content (WP 7.0 document)

  2 = linked text content (WP 7.0 document)

  3 = image (graphics) content (WPG2.0 document)

  4 = equation content

  5 = presentation content (Draw Presentation document)

  6 = real-time video content (not used)

  7 = macro content (WPM document)

  8 = sound content(WPS document)

  128 (0x80) = external content (content rendering/editing is handled

by an outside application)

<box content alignment flags>

  bits 0-1: horizontal alignment of content

    0 = left

    1 = right

    2 = center

  bits 2-3: vertical alignment of content

    0 = top

    1 = bottom

    2 = center

  bit 4: if content is scalable, preserve aspect ratio

    0 = preserve aspect ratio

    1 = don't preserve aspect ratio

  bits 5-7: currently undefined

[total size of content rendering data] (not including this word)

If box content type is empty, there is no rendering data and this word

must be 0.  This word is the same as the total size word at the front

of all the content rendering data definitions.

<box content rendering information> (this will be one of the 9 blocks

of data defined below under Box Content Rendering Information

controlled by the box content type field)

Box Content Rendering Information

The following paragraphs describe the content rendering information for each content type (see the box content type field above). The general form is a word of total length, followed by a word of fixed-size length, followed by the data.

Text Content Rendering Information

Exists if box content type field equals 1.

[total size of text rendering information] (not including this word)

<prefix ID flags>

  bit 0: 1 = text content prefix ID appears at front of function.

This bit must not be set for a style.

  bit 1: 1 = text content default style prefix ID appears at front of

style.  This bit should not be set in function override data.

  bits 2-7: currently undefined

<text content rendering flag>

  bit 0: 1 = format text according to simple box rectangle (before

corners are applied, and before rotation and translation)

  bit 1: currently undefined

  bits 2-3: text rotation

    0 = text not rotated

    1 = rotated 90

    2 = rotated 180

    3 = rotated 270

  bits 4-7: currently undefined

Text Content Override

If the text content rendering override bit is set in the box override flags, and the content type of the box is text, the following data is appended to the bottom of the text content rendering flag field:

[total size of text content override data] (not including this word)

[text content override flags]  Bits in this flag determine which of

the following data exits.  If a bit is set, the corresponding data is

appended under this flag field.  If a bit is 0, the corresponding data

is omitted.

  bit 15: Prefix ID flag override.  Corresponding data:

    <mask>

    <data>

  bit 14: Text content rendering flag override.  Corresponding data:

    <mask>

    <data>

  bits 13-0: currently undefined

Linked Text Content Flags

Exists if box content type field equals 2. Currently not used.

Image Content Rendering Flags

Exists if box content type field equals 3.

[total size of graphics rendering information] (not including this

word)

<prefix ID flags>

  bit 0: 1 = Image content prefix ID appears at front of function.

This bit must not be set for a style.

  bits 1-7: currently undefined

[image native width (WPU)]

[image native height (WPU)]

<image content rendering flags>

  bits 0-1: area fill handling

    0 = normal fills

    1 = no area fills are performed (fills are transparent)

    2 = non-transparent area fills are always opaque white

  bit 2: 1 = Invert colors.  The color inversion is performed after

the color to black and white conversion, if black and white bit is

set.

  bit 3: 1 = colors converted to black and white (black and white

threshold)

  bits 4-5: available

  bit 6: 1 = mirror contents in y

  bit 7: 1 = mirror contents in x

{fixed point x scale factor to apply to image} default = 1.0 (scaled

to fit in box)

{fixed point y scale factor to apply to image} default = 1.0 (scaled

to fit in box)

{signed x translation value to apply to image}  (-1.0 to +1.0)

interpreted as fraction of untransformed image width.  Default = 0,

means no translation.  Positive translation means image is shifted

right.

{signed y translation value to apply to image}  (-1.0 to +1.0)

interpreted as fraction of untransformed image height.  Default = 0,

means no translation.  Positive translation means image is shifted up.

{fixed point rotation angle to apply to image} (0.0-360.0,

counterclockwise) default = 0

<black and white threshold> (0-255) default = 127

The black and white threshold value ranges from 0-255 and simply

defines the luminosity cutoff for mapping to black or white.

Luminosity is determined by calculating .30 Red + .59 Green + .11 Blue

and normalizing to 0-255 range.

{fixed point lightness value} (-1.0 to 1.0) 0 indicates no adjustment

{fixed point contrast value> (-1.0 to 1.0) 0 indicates no adjustment

<image dither method flags>

  bits 0-3: dither method

    0 = use .PRS specified default

    1 = force halftoning

    2 = force ordered dither

    3 = force error-diffusion dither

  bits 4-7: dither source

    0 = use .PRS specified default

    1 = force WP dithering/halftoning

    2 = force printer dithering/halftoning

    3 = use external source (e.g., OLE server under Windows)

{halftone screen LPI}  fixed point value, default = -1.0 for LPI is

interpreted to mean use the .PRS-specified default.

{plane 0, halftone screen angle}  fixed point value, default = -1.0

for the screen angle is interpreted to mean use the .PRS-specified

default.

{plane 1, halftone screen angle}  fixed point value, default = -1.0

{plane 2, halftone screen angle}  fixed point value, default = -1.0

{plane 3, halftone screen angle}  fixed point value, default = -1.0

The double word fixed point values are 65536ths.  In other words,

there is one word of integer and 1 word of fraction (65536ths).

[fractional portion]

[integer portion]

Image Content Override

If the image content rendering override bit is set in the box override flags, and the content type of the box is image, the following data is appended after the "plane 3, halftone screen angle" field above:

[total size of image content override data] (not including this word)

[image content override flags]

If the labeled bit in the image content override flags field is set,

the corresponding data will be appended under this flag field.

  bit 15: Prefix ID flag override.  If this override bit is set, and

bit 0 of the prefix ID flags is overridden, the image native size

override must also be set.

    <mask>

    <data>

  bit 14: Image native size.  This override bit must be set if bit 0

in the image content prefix id flags is overridden.

    [image native width (WPU)]

    [image native height (WPU)]

  bit 13: image content rendering flags override

    <mask>

    <data>

  bit 12: scaling factor override

    {fixed point x scaling factor}

    {fixed point y scaling factor}

  bit 11: translation factor override

    {x translation factor}

    {y translation factor}

  bit 10: rotation angle override

    {data}

  bit 9: black and white threshold override

    <data>

  bit 8: lightness value override

    {data}

  bit 7: contrast value override

    {data}

  bit 6: halftone data override

    {halftone screen LPI}

    {plane 0 halftone screen angle}

    {plane 1 halftone screen angle}

    {plane 2 halftone screen angle}

    {plane 3 halftone screen angle}

  bit 5: image dither flags override

    <mask>

    <data>

  bits 4-0: currently undefined

Equation Content Rendering Information

Used if box content type field equals 4. This is subject to change.

[total size of equation rendering data] (not including this word)

<prefix ID flags>

  bit 0: 1 = equation markup text prefix ID appears at front of

function.  This bit must not be set for a style.

  bit 1: 1 = equation compact box format appears at front of function.

This bit must not be set for a style.  If bit 0 is set (indicating

equation markup text prefix id), bit 2 must be set, even if the prefix

ID is invalid (0).

  bit 2:

    0 = use current document font for equation.  Current document font

means the font in effect where the box function appears.  For a box

template, current document font means the initial document font.

    1 = typeface descriptor prefix ID appears at front of style

  bits 3-7: currently undefined

<equation content rendering flags>

  bits 0-7: currently undefined

[equation base font size] (in unsigned WPU)

<equation color (RGBS)> x 4

{fixed point rotation value to apply to equation} (0.0-360.0,

counter-clockwise)






Equation Content Rendering Data Override

If the content rendering override bit is set in the box override flags, and the content type of the box is equation, the following data is appended to the fixed-point rotation value to apply to equation field above:

[total size of equation content override data] (not including this

word)

[equation content override flags]

The following data appear according to bits set in the equation

content override flags.  This corresponding data is appended to this

flag field.

  bit 15: prefix ID flag override

    <mask>

    <data>

  bit 14: equation rendering flags override

    <mask>

    <data>

  bit 13: equation font size override

    [equation base font size]

  bit 12: equation color override

    <equation color (RGBS)> x 4

  bit 11: equation rotation override

    {fixed-point rotation angle} (0.0-360.0)

  bits 10-0: currently undefined

Presentation Content Rendering Information

Used if Box content type field equals 5. This is subject to change.

[total size of presentation rendering data] (not including this word)

<prefix ID flags>

  bit 0: 1 = Presentation content prefix ID appears at front of

function. This bit must not be set for a style.

  bits 1-7: currently undefined

<presentation content rendering flags>

  bit 0:

    1 = run presentation in a full sized window/screen

    0 = run presentation inside the box which encloses it

Presentation Content Rendering Data Override

Information pending.

Video Content Rendering Information

Used if box content type field equals 6. Currently not used.

[total size of video rendering data] (not including this word)

<prefix ID flags>

  bit 0: 1 = Video content prefix ID appears at front of function.

This bit must not be set for a style.

  bits 1-7: currently undefined

<video content rendering flags>

  bit 0:

    1 = run video in a full sized window/screen

    0 = run video inside the box which encloses it

Video Content Rendering Data Override

Information pending.

Macro Content Rendering Information

Used if box content type field equals 7. Currently not used.

[total size of macro rendering data] (not including this word)

<prefix ID flags>

  bit 0: 1 = Macro content prefix ID appears at front of function.



This bit must not be set for a style.

  bits 1-7: currently undefined

<macro start action>

Macro Content Rendering Data Override

Information pending.

Sound Content Rendering Information

Used if box content type field equals 8. Currently not used.

[total size of sound rendering data] (not including this word)

<prefix ID flags>

  bit 0: 1 = Sound content prefix ID appears at front of function.

This bit must not be set for a style.

  bits 1-7: currently undefined

<sound start action>

Sound Content Rendering Data Override

Information pending.

External Content Rendering Information

Used if box content type field equals 128 (0x80). Currently not used.

[total size of external rendering data] (not including this word)

<prefix ID flags>

  bit 0: 1 = External content prefix ID appears at front of function.

This bit must not be set for a style.

  bits 1-7: currently undefined

External Content Rendering Data Override

Information pending.

(Graphics Box Style Packet Continued)

Box caption data:

[size of caption area] (not including this word)

<box caption prefix ID flags>

  bit 0: 1 = Caption data prefix ID appears at front of function.

This bit must not be set in a style.

  bit 1: 1 = Caption default initial style prefix ID appears at front

of style.  This should not be set in function override data.

  bit 2: 1 = Caption default number style prefix ID appears at front

of style.  This should not be set in function override data.

  bits 3-7: currently undefined

<caption positioning flags>

  bits 0-1: side of content that caption appears on.

    0 = left

    1 = right

    2 = top

    3 = bottom

  bit 2-3: where caption is in relation to border

    0 = outside

    1 = inside

    2 = on

  bits 4-5: caption alignment

    0 = left or top

    1 = right or bottom

    2 = center

  bit 6: caption alignment offset word

    0 = caption alignment offset word is signed WPU

    1 = caption alignment offset word is signed 32768ths of box width

or height, depending on caption rotation

  bit 7: currently undefined

<caption formatting flags>

  bits 0-1: formatting width

    0 = use caption formatting width word as unsigned WPU

    1 = use caption formatting width word as unsigned 65336ths

    2 = format caption as if 65536/65536ths, then use maximum line

width (automatic size)

  bits 2-3: caption rotation

    0 = caption not rotated

    1 = rotated 90

    2 = rotated 180

    3 = rotated 270

  bits 4-7: currently undefined

[caption formatting width] (the units of measure used here depends on

the caption formatting flags field above)

[caption alignment offset] (the units of measure used here depends on

the caption formatting flags field above)

Box border data:

[size of border area] (not including this word)

<box border prefix ID flags>

  bit 0: 1 = border style prefix ID appears at front of style

  bits 1-7: currently undefined

[total size of border template override data] (not including this

word, minimum = 2)

This word is the same as the total size word at the front of the

border template override data definitions.  It is not an additional

word.  The following word (fill template override flags) is the same

as the word described in the fill template override data definition.

It is not an additional flag word.

[border template override flags]

<border template override data> x ? (see Border Template Override Data

below)

Box fill data:

[size of fill area] (not including this word)

<box fill prefix ID flags>

  bit 0: 1 = fill style prefix ID appears at front of style

  bits 1-7: currently undefined

[total size of fill style override data] (not including this word,

minimum value = 2) This word is the same as the total size word at the

front of the fill template override data definitions.  It is not an

additional word.

[fill style override flags] This word is the same as the word

described in the fill template override data definition.  It is not an

additional flag word.

<fill style override data> x ?

Box wrapping data:

[size of box wrapping area] (not including this word)

<box wrapping prefix ID flags> No bits currently defined

<box wrapping flags>

  bits 0-3: indicates which side text wraps around box

    0 = wrap text on side with largest area for text (i.e., most space

between side and margin).

    1 = wrap text on left side

    2 = wrap text on right side

    3 = do not wrap text on either side (text flows from above box to

below box)

    4 = wrap text on both sides with text flow crossing the box for

each line

    5 = Wrap text on both sides with text flow working in a columnar

fashion.

    6 = no text wrap

  bits 4-7: method used to generate the wrapping rectangles.

    0 = Generate one wrap rectangle enclosing the entire box. Always

relative to the box, never the content.

    1 = Generate irregular wrap rectangles via an internal algorithm.

If no border style is referenced, generate wrap rectangles from

contents; otherwise, generate wrap rectangles from border (including

rounded corners) + border outside spacing.  If there is a border, the

wrap rectangle is relative to the box; otherwise, it is relative to

the content.

    2 = use user-defined wrap rectangles relative to the box

    3 = use user-defined wrap rectangles relative to the content

Box hypertext data:

Hypertext prefix IDs should not exist in a templates, and the hypertext action type should be none in a template.

[size of hypertext definition area] (not including this word)

<hypertext prefix ID flags>

  bit 0: 1 = filename (doc or macro) prefix ID appears at front of

function

  bit 1: 1 = bookmark name prefix ID appears at front of function

  bits 2-7: currently undefined

<hypertext type flag>

  0 = Hypertext action not defined (only value allowed in style)

  1 = Hypertext bookmark action

  2 = Hypertext macro action

Border Template Override Data

If the border template override bit is set in the box override flags, the following data appear:

[total size of border template override data] (not including this

word)

[border template override flags]

The following data appear according to bits set in the border template

override flags:

  bit 15: border template prefix ID flags data

    <mask>

    <data>

  bit 14: border general flags data

    <mask>

    <data>

  bit 13: corner radius data

    [corner radius]

  bit 12: inside spacing data

    [left inside spacing]

    [right inside spacing]

    [top inside spacing]

    [bottom inside spacing]

  bit 11: outside spacing data

    [left outside spacing]

    [right outside spacing]

    [top outside spacing]

    [bottom outside spacing]

  bit 10: drop shadow data

    <drop shadow flag>

    [drop shadow spacing>

    <drop shadow color (RGBS)> x 4

  bit 9: border color data

    <border color (RGBS)> x 4

  bits 0-8: currently undefined

Box Fill Override Data

If the box fill override bit is set in the box override flags, the following data appear:

[total size of fill template override data] (not including this word)

[border fill override flags]

The following data appear according to bits set in the fill template override flags:

bit 15: box fill prefix ID flags override

  <mask>

  <data>

bit 14: fill template data override (see Fill Template Override Data

below)

bits 13-0: currently undefined

Fill Template Override Data

If the fill template override bit is set in the box fill override flags, the following data appear:

[total size of fill template override data] (not including this word)

[fill template override flags]

The following data appear according to bits set in the fill template override flags:

bit 15: fill colors override

  <foreground/start color (RGBS)> x 4

  <background/end color (RGBS)> x 4

bits 14-0: currently undefined

Box Wrapping Override Data

If the box wrapping override bit is set in the box override flags, the following data appear:

[total size of box wrapping override data] (not including this word)

[box wrapping override flags]

The following data appear according to bits set in the box wrapping override flags:

bit 15: box wrapping prefix ID override

  <mask>

  <data>

bit 14: wrapping flags

  <mask>

  <data>

bits 13-0: currently undefined

Box Hypertext Override Data

If the box hypertext override bit is set in the box override flags, the following data appear:

[total size of box hypertext override data] (not including this word)

[box hypertext override flags]

The following data appear according to bits set in the box hypertext override flags:

bit 15: box hypertext prefix ID override

  <mask>

  <data>

bit 14: box hypertext type flags override

  <data>

bits 13-0: currently undefined

Format of Platform-Independent Wrap Rectangles

Each wrap rectangle consists of four 16-bit words as follows:

[unsigned offset of left side of rectangle from left side of formatted

render box]

[unsigned offset of right side of rectangle from left side of

formatted render box]

[unsigned offset of top side of rectangle from top side of formatted

render box]

[unsigned offset of bottom side of rectangle from top side of

formatted render box]

Units for the above values are in 65536ths of the appropriate dimension (width or height) of the formatted box in which content is to be rendered. The left offset value and the right offset value are measured in 65536ths of the width of the formatted box. The top offset value and bottom offset value are measured in 65536ths of the height of the formatted box. The right value must be greater than or equal to the left value and the bottom value must be greater than or equal to the top value. Allowable values are from 0 to 65535. For convenience, 65535 is considered 65536.

General Rules

All currently undefined data should be set to 0 when a new box template or box function is created.

For any flag data, only those bits currently defined should be modified. All others should be preserved.

Code should be written to preserve fixed and variable length data that may be added later. This means utilizing the value of the total length and the values of the lengths of individual data sections.

Names of templates will not be longer than 80 characters (160 bytes), not including length word.

Packet Type 66 (0x42)

Border Line Style

The following format shows all possible fields. Some of the fields may or may not exist depending on various flag bits.

[number of prefix IDs (minimum 0)]

  [name/library data PID] (none currently defined)

  [line data PIDs] (none currently defined)

[total size of line style data] (not including this word nor any

previous PID data)

Line name and library data area:

[size of line name and library data> (not including this word)

<line name/library data PID flags> (none currently defined, controls

name/library data PID above)

<line library management flags>

  bit 0: 1 = this is a library style

  bits 1-7: undefined

[line name length]

  > 0 length of style name in bytes

  0 single line (English only)

  -1 double line (English only)

  -2 dashed line (English only)

  -3 dotted line (English only)

  -4 thick line (English only)

  -5 extra thick line (English only)

  -6 thin/thick double line (English only)

  -7 thick/thin double line (English only)

  -8 button top/left line (English only)

  -9 button bottom/right line (English only)

[line name] x ?  exists only if line name length > 0

Line data area:

[size of line data] (not including this word)

<line data PID flags> (none currently defined, controls line data PIDs

above)

[total width of line definition (WPUs)]

<number of parallel line segments defined (minimum 1)>





When the line definition is used in a border, the first line defined is the innermost and the last line defined the outer-most. When the line definition is used for a horizontal line, the first line defined is the top-most and the last line defined is the bottom-most. When the line definition is used for a vertical line, the first line defined is the left-most and the last line defined is the right-most.

The following is repeated for each line piece defined:

[size of line segment definition] (not including this word)

<line segment general flags>

  Bits 0-1: style type

    0 = predefined WPG line style (see Predefined WPG Line Style Data

below)

    1 = custom (user-defined) line style, data in segment definition

  Bits 2-7: currently undefined

[width (thickness) of line (WPUs, may be zero)]

[spacing between this border line and the next] Spacing is measured

between the two printable edges of the lines next to each other.

<line segment (RGBS)> x 4

<line segment style definition> x ?  data depends on value in general

flags (see Line Segment Styles below)

Line Segment Styles

One of the following data fields appears in the style definition field above, based on the style type field in the line segment general flags.

Predefined WPG line style data (Exists if the line segment general flags field equals 0):

<WPG line style set (0 for now)>

<WPG line style Number>

Custom line style data (Exists if the line segment general flags field equals 1):

<number of on/off commands (minimum 2)> If the count is zero or 1, the line is solid. Therefore the minimum must be 2. The commands alternate between on and off run lengths for drawing the line.

[on/off commands] (run lengths in unsigned WPUs, see Rendition Options in the Graphics File Format section for examples)

Packet Type 67 (0x43)

Fill Style

The following format shows all possible fields. Some of the fields may or may not exist depending on various bit flags.

[number of child prefix IDs (minimum 0)]

  [name/library data PIDs] (none currently defined)

  [fill data PIDs] (none currently defined)

[total size of fill style data] (not including this word)

[size of fill name and library data area] (not including this word)]

<fill name/library data prefix ID flags] (none currently defined)

<fill library management flags>

  bit 0: 1 = this is a library style

  bits 1-7: undefined

[fill name length word]

  > 0 = length of fill style name text in bytes

  0 = 10% fill (English only)

  -1 = 20% fill (English only)

  -2 = 30% fill (English only)

  -3 = 40% fill (English only)

  -4 = 50% fill (English only)

  -5 = 60% fill (English only)

  -6 = 70% fill (English only)

  -7 = 80% fill (English only)

  -8 = 90% fill (English only)

  -9 = 100% fill (English only)

  -10 = button fill (English only)

<word text of name> x ?  (present only if fill name length > 0)

[size of fill style first variable-length area] (not including this

word)

<fill prefix ID flags> (none currently defined)

<color 1 (RGBS) (foreground for WPG2, starting for gradient)> x 4

<color 2 (RGBS) (background for WPG2, ending for gradient)> x 4

<fill type>

  0 = WPG2 pattern set/index

  1 = gradient fill

[size of fill information] (not including this word)

<variable fill information, depending on type> x ?  (see Fill Types

Data below)

Fill Types Data

Depending on how the value contained in the fill type field, one of the two following data blocks is inserted into the fill information field above.

WPG2 Pattern Fill

Used if fill type field equals 0.

<WPG2 pattern set (always 0)>

<WPG2 pattern index>

Gradient Fill

Used if fill type field equals 1.

<flags>

  bits 0-4:  Gradient type.  These correspond exactly to the gradient

types the graphical interface supports.

    0 = linear

    1 = radial

    2 = rectangular

  bit 5: 1 = rectangular or radial gradient has same aspect ratio as

document object

    0 = square or circular

  bits 6-7: currently undefined

[number of gradient steps] (0 means calculate number of steps)

{fixed point gradient rotation angle} (0.0-360.0)

[fractional (65536ths) x offset of gradient starting point from left

of object bounding box] (for convenience, 65535 is considered 65536)

[fractional (65536ths) y offset of gradient starting point from top of

object bounding box] (for convenience, 65535 is considered 65536)

Packet Type 68 (0x44)

Border Style

The following format shows all possible fields. Some of the fields may or may not exist, depending on various bit flags.

[number of prefix IDs (minimum 1)

  [left side line style PID (type=0x42)]

  [right side line style PID (type=0x42)]

  [top side line style PID (type=0x42)]

  [bottom side line style PID (type=0x42)]

  [separator side line style PID (type=0x42)]

[total size of border style data] (not including this word)

[size of border name and library data area] (not including this word)

<border name and library data prefix ID flags> (none currently

defined)

<border library management flags>

  bit 0: 1 = this is a library style

[border name length word]

  > 0 = length of border style name text in bytes

  0 = spacing only (no lines)

  -1 = single border (English only)

  -2 = double border (English only)

  -3 = dashed border line (English only)

  -4 = dotted border (English only)

  -5 = thick border (English only)

  -6 = extra thick border (English only)

  -7 = thin/thick double border (English only)

  -8 = thick/thin double border (English only)

  -9 = thick top and bottom border (English only)

  -10 = button border (English only)

<word text of name> x ?  (if border name length word > 0)

[size of border data area] (not including this word)

<border prefix ID flags>

  bit 0: 1 = left side line PID appears at front of style

  bit 1: 1 = right side line PID appears at front of style

  bit 2: 1 = top side line PID appears at front of style

  bit 3: 1 = bottom side line PID appears at front of style

  bit 4: 1 = separator line PID appears at front of style

  bits 5-7: currently undefined

<general definition flags>

  bit 0: 1 = user border color for line colors

    0 = use colors from individual segment definitions

  bits 1-7: currently undefined

[corner radius (WPUs)]

[left inside spacing]

[right inside spacing]

[top inside spacing]

[bottom inside spacing]

[left outside spacing]

[right outside spacing]

[top outside spacing]

[bottom outside spacing]

[separator outside spacing] (Separator spacing is added to both sides

of the separator line.)

<border color (RGBS)> x 4

<drop shadow flag>

  0 = no drop shadow effect

  1 = drop shadow toward upper left corner

  2 = drop shadow toward lower left corner

  3 = drop shadow toward lower right corner

  4 = drop shadow toward upper right corner

[drop shadow spacing (WPU)]

<drop shadow color (RGBS)> x 4

Packet Type 69 (0x45)

Graphics Rule Counter

This packet has the same format as the Counters Data packet 17 (0x11).

[name] x ?  null terminated

<number of counter levels valid (1-5)>

<default numbering method for each level> x 5

[level name 1] x ?  null terminated

[level name 2] x ?  null terminated

[level name 3] x ?  null terminated

[level name 4] x ?  null terminated

[level name 5] x ?  null terminated

Packet Type 70 (0x46) - Added for WP 7.0

Intellitag TAG with Attributes

[number of attributes]

  [attribute 1 prefix ID] prefix ID's of attribute values (child

packets)

  [attribute 2 prefix ID]

  ...

  [attribute n prefix ID]

[tag error flag] error flag that encompasses full tag (0 = no error)

  bit 0: tag length is exceeded

  bit 1: attribute specification length exceeded

  bit 2: number of IDs in attribute values exceeded

  bit 3: number of entities in attribute values exceeded

The following information is repeated for each attribute:

[attribute DTD index] can get type of attribute from index number

<attribute error code>

  bit 7: 1 = both LITDEL and ALITDEL are in the attribute value

  bits 0-6:

    0 no error

    1 attribute is unknown to DTD

    2 illegal character in attribute name value

    3 illegal character in attribute name token value

    4 illegal character in attribute number value

    5 illegal character in attribute number token value

    6 value in attribute exceeds NAMELEN limit

    7 too many tokens in attribute

    8 value in attribute exceeds LITLEN limit

    9 no mapping for extended character in attribute

    10 attribute has empty attribute value literal

    11 token value not in declared value list

    12 mismatch between DTD fixed value and attribute value

    13 unknown entity type attribute value

    14 illegal entity type attribute value

    15 entity open in attribute value not expanded

    16 character reference open in attribute value not checked

    17 attribute is duplicated in tag

Packet Type 71 (0x47) - Added for WP 7.0

IntelliTag® Attribute Text

[number of blocks = 1]

{offset to text}

{size of text}

<lit delimiter>

  1 = LITDEL present

  2 = ALITDEL present

  3 = both present

[attribute name] x ?

<text> x ?

Packet Type 72 (0x48) - Added for WP 7.0

IntelliTag LGC Filename

[number of child PIDs = 3]

[child ID for LSI filename]

[child ID for Document Type name]

[child ID for Alias filename]

<Reserved> x 6

<LGC filename> x ?

Packet Type 73 (0x49) - Added for WP 7.0

IntelliTag External File Reference

[number of child PIDs = 2]

[notation attribute PID]

[system identifier (filename) PID]

[data type] CDATA, SDATA, and so forth

[entity declaration error] error flag for entire declaration

[number of text strings] currently 3

[size of entity name]

[size of public identifier]

[size of notation name]

[external entity name] x ?

[public identifier] x ?

[notation name] x ?

Packet Type 74 (0x4A) - Added for WP 7.0

IntelliTag Notation Attributes

[number of attributes]

  [attribute 1 PID] prefix IDs of attribute values

  [attribute 2 prefix ID]

  ...

  [attribute n prefix ID]

[notation error flag] error flag for this set of attributes (see

packet 0x46)

The following information is repeated for each attribute:

[attribute 1 DTD index] can get type of attribute from index number

<attribute 1 error code> error for each attribute (see packet 0x46)

Packet Type 75 (0x4B) - Added for WP 7.0

IntelliTag DTD Entity Reference

[entity name] x ?



Packet Type 76 (0x4C) - 82 (0x52)

Reserved

Packet Type 83 (0x53)

Windows Data Store Directory

No documentation will be provided for this packet.

Packet Type 84 (0x54)

Windows Data Store Data

No documentation will be provided for this packet.

Packet Type 85 (0x55)

Desired Font Descriptor

For further description of the primary family ID, scripting system, width, weight, attributes, and so forth, see the documentation for Packet Type 32 (0x20), which has the same format as this packet.

[average character width (WPU)]

[short ascender height (PSU)]

[x height (PSU)]

[descender height (PSU)]

[italic adjust ()]

[primary family ID]

<scripting system>

<primary character set>

<width (aspect ratio)>

<weight>

<attributes>

<general characteristics>

<classification>

<fill byte>

<font type>

<font source file type>

[typeface name length] maximum 58

<typeface name> x ? WP word string

When no printer is selected, the default font descriptor is the following:

[0x3C = average character width]

<0x1e14 = ascender height (77%)>

<0x170C = x height>

<0x0A8C = descender height>

<0 = italic adj>

<1 = Courier family ID>

<1 = scripting system>

<0 = primary character set (ASCII)>

<0x70 = width (aspect ratio)>

<0x60 = weight>

<0 = attributes (normal)>

<0x25 = general characteristics>

<0 = serif classification>

<0 = built-in font type>

<0x10 = .PRS source>

<0 = typeface name length for default descriptor>

<typeface name = does not exist for default descriptor>

Packet Type 86 (0x56)

Merge File Type

[merge file type]

  1 = primary document

  2 = table secondary type merge document

  4 = secondary merge type document

Packet Type 87 (0x57)

Sound Clip

[number of child prefix IDs = 1]

[child file packet PID (type=0x58)]

<sound clip type>

  0 = MIDI sound

  1 = digital audio

  others to be defined

<left volume>  in units of dB

<right volume>  in units of dB

[sound clip description] x ?  null terminated

Example 1:

Packet type 0x57 points to a child packet type 0x58 (Sound Clip Child Packet). This child packet 0x58 contains a filename and may point to one or more child packets which are also packet type 0x58. These child packets contain sound data.

Example 2:

Packet type 0x57 points to a child packet type 0x07 (Native Filename). This child packet 0x07 contains a filename and may point to one or more child packets which are packet type 0x6F (Graphics Data). These child packets contain sound data in this case.

Both of these examples are supported by WordPerfect.

Packet Type 88 (0x58)

Sound Clip Child Packet

Contains a filename or a data packet. If this packet does not have any children, the format is:

[sound data filename] x ?  null terminated or <sound data> x ?

If this packet does have children, the format is the following:

[number of child IDs]

  [ID 1 (type=0x58)] ID of child packet containing sound data

  [ID 2 (type=0x58)] ID of child packet containing sound data

  .. ..

  [ID n (type=0x58)] last child ID containing sound data

  [tag 1] tag flag for first child packet

  [tag 2] tag flag for second child packet

  .. ..

  [tag n] last tag for last child ID

[sound 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 89 (0x59)

Merge Associated Data File

[merge associated filename] x ?

Packet Type 90 (0x5A)

Embedded Font (TrueType on Windows)

This data is platform specific.

<font data> x ?

Packet Type 91 (0x5B) - 95 (0x5F)

Available

Packet Type 96 (0x60)

Text/Single Cell Name

Holds floating cell name.

[length of cell name packet]

[count always = 0 for single cell packets]

[cell name word string] x 21(max)  null terminated

Packet Type 97 (0x61)

Table Names

This packet holds one or more table names.

[length of table names packet]

[count of names which follow the table name]





The count of names will be 0 if no data follows the table name. If count of names is greater than zero, the structure data following the table exists. The data following the table name is a repeating structure for names of cells, columns, rows, and blocks.

[table name] x 21(max)  null terminated

[length of this name structure]

[reference name] x ?  null terminated

[reference type]

  1 = row

  2 = column

  3 = cell

  4 = block

The data which follows depends on the reference type.

Row Type (1):

  [row number]





Column Type (2):

  [column number]





Cell Type (3):

  [row number of Cell]

  [col number of Cell]





Block Type (4):

  [begin row number of block]

  [begin col number of block]

  [end row number of block]

  [end col number of block]

Packet Type 98 (0x62)

Page Number Format String

[page number format string] x ?

Packet Type 99 (0x63)

Math Formulas for Columns

<constants and operators> x ?

Math Operators

Data are stored in postfix or Reverse Polish Notation (RPN) order. All postfix math rules apply. Operators are stored in the following WordPerfect-specific codes:



Operator Code
Add (+) 1 (0x1)
Subtract () 2 (0x2)
Multiply (*) 3 (0x3)
Divide (/) 4 (0x4)
Negative () 5 (0x5)
Positive (+) 6 (0x6)
Average (+/) 7 (0x7)
Equal (=) 8 (0x8)
Average Totals (=/) 9 (0x9)














Constants

Each (decimal) digit of a constant is stored as a hexadecimal value in a nibble (4 bits, 2 nibbles per byte). The first nibble of the constant equals 12 (0xC) and marks the beginning of the number. Following this nibble, each digit is stored as that digit plus 1 [that is, 0 = 1 (0x1), 1 = 2 (0x2), 9 = 10 (0xA)] and occupies one nibble. If the number occupies fewer than seven digits, a 15 (0xF) follows the last digit. A seven-digit number has no 15 (0xF) value on the end. The 14 (0xE) value represents a decimal point. WordPerfect puts 1 (0x1) into unused bytes that follow 15 (0xF), but these unused bytes are not required to read the value of the constant. Examples are shown in the table below.



Hex Bytes Decimal Value
C2 3E 4F 01 12.3
C1 F0 01 01 0
C3 51 2F 00 2,401 (in the last unused byte [2 nibbles], 00 is equivalent to 01)
CA 11 11 11 9,000,000
CE 42 71 F0 .3160
C1 E4 27 1F 0.3160
CA 9E 87 F0 98.76














Packet Type 100 (0x64)

Equation Compact Box

<node type>

<node contents> x ?

<node type>

<node contents> x ?

..

..

Node types:

1 = attribute type  (size = 8)

  [scale x]

  [scale y]

  [attributes]

  [font index]

    0 = base font

    1 = super/sub font

    2 = double super/sub font

2 = box type (size of fixed portion of box type = 5) [x position (relative to equation box)] [y position (relative to equation box)] <length of string> <string> x ?

3 = font type (three font descriptors, each 139 bytes long) <font descriptor for base font> x 139 <font descriptor for subscript/superscript font> x 139 <font descriptor for double subscript/superscript font> x 139

4 = diacritical type (same as box but for diacritical chars) [x position (relative to equation box)] [y position (relative to equation box)] <length of string> <string> x ?

5 = line type (line type box for underline) (size = 8) [x position (relative to equation box)] [y position (relative to equation box)] [width of box] [height of box]

Packet Type 101 (0x65)

Reserved

Format before printing flag. Used by WP formatter. Invalid in disk files.

Packet Type 102 (0x66)

Unique Table ID

The packet is repeated for each table that exists in a document. It contains only one word.

[unique table ID] table creation count

Packet Type 103 (0x67)

Unique Floating Cell ID

The packet is repeated for each floating cell that exists within a document. It contains only one word.

[unique floating cell ID] floating cell creation count

Packet Type 104 (0x68)

Table Database

This packet is used by WordPerfect for Windows and is not used in DOS.

Packet Type 105 (0x69) - Added for WP 7.0

Table Style

The data in this packet will appear in the order shown below. Much of the data is optional and exists only if a corresponding flag bit is set.

[number of PIDs]

  [table border ID] check bit 0 of [PID flags]

  [table default lines IDs] check bit 1 of [PID flags]

  [table border override line IDs] present for each [table border

override line IDs flags] bit set

  [default line override IDs] present for each [table default line IDs

flags] bit set

  [last row line IDs] present for each [last row border IDs flags] bit

set

  [first column line IDs] present for each [first column border IDs

flags] bit set

  [last column line IDs]  present for each [last column border IDs

flag]bit set

  [header rows line IDs] check bit 0 of [header row flags] for each

header row

  [table fill ID] check bit 2 of [PID flags]

  [table alternate fill ID] check bit 3 of [PID flags]

  [last row fill ID] check bit 7 of [PID flags]

  [first column fill ID] check bit 9 of [PID flags]

  [last column fill ID] check bit 11 of [PID flags]

  [header rows fill IDs] check bit 1 of [header row flags] for each

header row

[size of all of the following data] excluding this word

[size of name information]

<name/library PID flags> none currently defined.

<library management flags>

[length of table style name] negative number indicates predefined

table style

<table style name> x ? exists if length > 0

[size of rest of data] excluding this word

[PID flags] border and fill PIDs exist if bit is set

  bit 0: 1 = table border ID exists

  bit 1: 1 = table default lines ID exists

  bit 2: 1 = table fill ID exists

  bit 3: 1 = table alternate fill ID exists

  bit 4: 1 = table border override lines IDs exist

  bit 5: 1 = default line override IDs exist

  bit 6: 1 = last row line IDs exist

  bit 7: 1 = last row fill ID exists

  bit 8: 1 = first column line IDs exist

  bit 9: 1 = first column fill ID exists

  bit 10: 1 = last column line IDs exist

  bit 11: 1 = last column fill ID exists

  bit 12: 1 = drop shadow exists

[override flags] border, fill, and format overrides exist if bit is

set

  bit 0: 1 = table border overrides exist

  bit 1: 1 = default line overrides exist

  bit 2: 1 = table fill overrides exist

  bit 3: 1 = table alt. fill overrides exist

  bit 4: 1 = last row line overrides exist

  bit 5: 1 = last row fill overrides exist

  bit 6: 1 = first column line overrides exist

  bit 7: 1 = first column fill overrides exist

  bit 8: 1 = last column line overrides exist

  bit 9: 1 = last column fill overrides exist

  bit 10: 1 = table format overrides exist

  bit 11: 1 = last row format overrides exist

  bit 12: 1 = first column format overrides exist

  bit 13: 1 = last column format overrides exist

[number of header rows]

[starting header row number] zero based

<alternating fill flag>

  0 = no alternate fill

  1 = rows

  2 = columns

  3 = both rows and columns

[number of times to do primary fill]

[number of times to do alternating fill]

The remaining data is present only if the associated flag bits are set.

[table border override line IDs flags] check bit 4 of [PID flags]

  bit 0: 1 = left line PID exists

  bit 1: 1 = right line PID exists

  bit 2: 1 = top line PID exists

  bit 3: 1 = bottom line PID exists

  bit 4: 1 = inside/separator line PID exists

<table border overrides> x 6 check bit 0 of [override flags] (see

Border Override Data below)

[table default line IDs flags] check bit 5 of [PID flags]

  bit 0: 1 = left line PID exists

  bit 1: 1 = right line PID exists

  bit 2: 1 = top line PID exists

  bit 3: 1 = bottom line PID exists

  bit 4: 1 = inside/separator line PID exists

<table default line overrides> x 6 check bit 1 of [override flags]

(see Border Override Databelow)

<table fill overrides> x 10 check bit 2 of [override flags] (see Fill

Override Data below)

<table alternate fill overrides> x 10 check bit 3 of [override flags]

(see Fill Override Data below)

<table format data> x 11 check bit 10 of [override flags] (see Format

Data below)

<drop shadow overrides> x 7 check bit 12 of [PID flags] (see Drop

Shadow Data below)

[last row border IDs flags] check bit 6 of [PID flags]

  bit 0: 1 = left line PID exists

  bit 1: 1 = right line PID exists

  bit 2: 1 = top line PID exists

  bit 3: 1 = bottom line PID exists

  bit 4: 1 = inside/separator line PID exists

<last row border overrides> x 6 check bit 4 of [override flags] (see

Border Override Data below)

<last row fill overrides> x 10 check bit 5 of [override flags] (see

Fill Override Data below)

<last row format data> x 11 check bit 11 of [override flags] (see

Format Data below)

[first column border IDs flags] check bit 8 of [PID flags]

  bit 0: 1 = left line PID exists

  bit 1: 1 = right line PID exists

  bit 2: 1 = top line PID exists

  bit 3: 1 = bottom line PID exists

  bit 4: 1 = inside/separator line PID exists

<first column border overrides> x 6 check bit 6 of [override flags]

(see Border Override Databelow)

<first column fill overrides> x 10 check bit 7 of [override flags]

(see Fill Override Data below)

<first column format data> x 11 check bit 12 of [override flags] (see

Format Data below)

[last column border IDs flags] check bit 10 of [PID flags]

  bit 0: 1 = left line PID exists

  bit 1: 1 = right line PID exists

  bit 2: 1 = top line PID exists

  bit 3: 1 = bottom line PID exists

  bit 4: 1 = inside/separator line PID exists

<last column border overrides> x 6 check bit 8 of [override flags]

(see Border Override Databelow)

<last column fill overrides> x 10 check bit 9 of [override flags] (see

Fill Override Data below)

<last column format data> x 11 check bit 13 of [override flags] (see

Format Data below)

The following flags word is included for each header row in the table. The flags indicate what data exists after the flags word.

[header row flags]

  bit 0: 1 = border line IDs exist

  bit 1: 1 = fill pattern ID exists

  bit 2: 1 = border overrides exist

  bit 3: 1 = fill overrides exist

  bit 4: 1 = format data exists

[line IDs flags] check bit 0 of [header row flags]

[fill pattern PID] check bit 1 of [header row flags]

<border overrides> x 6 check bit 2 of [header row flags] (see Border

Override Data below)

<fill overrides> x 10 check bit 3 of [header row flags] (see Fill

Override Data below)

<format data> x 11 check bit 4 of [header row flags] (see Format Data

below)

Border Override Data

[use flags]

  bit 0: red

  bit 1: green

  bit 2: blue

  bit 3: shade

<border line override color (RGBS)> x 4

Fill Override Data

[use flags]

  bit 0: foreground

  bit 1: background

<fill override foreground color (RGBS)> x 4

<fill override background color (RGBS)> x 4

Format Data

[use flags]

  bit 0: attributes

  bit 1: number type

  bit 2: currency index

  bit 3: justification

  bit 4: join cells in row or column

[attribute word 1]

  bit 0: 1 = extra large

  bit 1: 1 = very large

  bit 2: 1 = large

  bit 3: 1 = small print

  bit 4: 1 = fine print

  bit 5: 1 = superscript

  bit 6: 1 = subscript

  bit 7: 1 = outline

  bit 8: 1 = italics

  bit 9: 1 = shadow

  bit 10: 1 = redline

  bit 11: 1 = double underline

  bit 12: 1 = bold

  bit 13: 1 = strikeout

  bit 14: 1 = underline

  bit 15: 1 = small caps

[attribute word 2]

  bit 0: 1 = blink

  bit 1: 1 = reverse video

[number type]

  bits 0-3: number of digits to display after decimal point or date

index information

  bit 4: 1 = display with commas

  bit 5: rounding

    0 = use full precision in calculations

    1 = use displayed precision

  bits 6-7: negative numbers

    0 = '-' (use minus sign)

    1 = ( )  (use parentheses)

    2 = CR/DR (use credit/debit symbols)

    3 = not defined

  bits 8-11: standard formats

    0 = general

    1 = integer

    2 = fixed

    3 = percent

    4 = currency

    5 = accounting

    6 = commas

    7 = scientific

    8 = date

    9 = text

  bit 12: 1 = text

  bit 13: 1 = set currency symbol on

  bits 14-15: notation

    0 = floating point

    1 = scientific

    2 = fixed

    3 = not defined

<currency symbol index>

  bits 0-6: index of the desired currency, default = 0

  bit 7: alignment

[justification]

  0 = left

  1 = full

  2 = center

  3 = right

  4 = all (kinto waritsuke)

  5 = decimal align

Drop Shadow Data

<drop shadow flag>

  0 = no drop shadow

  1 = upper left corner

  2 = lower left corner

  3 = lower right corner

  4 = upper right corner

[drop shadow spacing]

<drop shadow color (RGBS)> x 4

Packet Type 106 (0x6A) - 109 (0x6C)

Reserved



Packet Type 109 (0x6D) - Added for WP 7.0

World Wide Web

[number of PIDs = 2]

[base URL PID (type=0x07)]

[background image URL PID (type=0x07)]

[flags]

  bit 0: 1 = document is an Internet Publisher Document

  bit 1:

    0 = use first heading in document for HTML title

    1 = use Document Summary Descriptive Name for HTML title

<text color (RGB)>

<hypertext color (RGB)>

<visited hypertext color (RGB)>

<active hypertext color (RGB)>

<background color (RGB)>

Packet Type 110 (0x6E) - Added for WP 7.0

Conversion Font Descriptor

5.x and 6.x fonts which are used only for conversion purposes are stored. The equivalent 5.xpacket is 0x30. When a document is converted from 6.x to 5.x, the native 6.0 fonts are stored in 0x30 packets. When a document is converted from 5.x to 6.x, then the native 5.x fonts are stored in packet type 0x6E. This packet type was first used in 6.0a for Windows and 6.0b for DOS.



Packet Type 111 (0x6F)

Graphics Data

Contains WPG graphics data. See the Graphics File Format documentation for details of the graphic format.

Packet Type 112 (0x70)

OLE Object Descriptor

<marker> x 44

"WPWin7.0/OLE 2.0 Prefix Information Marker"

     "WPWin6.0/OLE 1.0 Prefix Information Marker"

{version} = 3 for WordPerfect 7

[extra data] = (boolean) True if data follows

[reserved]

[link options]

0 - Always

     1 - OnSave

     2 - OnCall

     3 - OnClose

[reserved]

{pfxFlags}

0 - none

     1 - empty

     2 - icon

     4 - link broken

{Object Number} - zero based

[null-terminated wordstring] x ?

If Ole 2, wordstring will be 7-8 characters and the null

     terminator indicating the ole stream.

     If Ole 1, contains all Ole 1 data (any size).



Packet Type 113 (0x71)

OLE Object Data

No documentation will be provided for this packet.

Packet Type 114 (0x72)

File Theta

Theta associated with this file. No documentation will be provided for this packet.

Packet Type 115 (0x73)

DDE Link Information

This packet will have at least one child packet defined. Any child packets will have a tag flag defining the platform of the DDE Data packet. All windows platforms use the Windows platform tag (0x9800).

[count (n) of child PIDs]

[child PID] x n PID for each child packet

[tag flags] x n platform private tag for each child packet

  0x8000 = DG

  0x8400 = Macintosh

  0x8800 = NeXT

  0x8C00 = PC (MS-DOS)

  0x9000 = UNIX

  0x9400 = VAX

  0x9800 = Windows

  0x9C00 = IBM 370

  0xA000 = OLE

[filename] x ? null-terminated word string defining the user name of

the DDE link


Packet Type 116 (0x74)

DDE Link Data

<link storage and update options>

  bit 0: 1 = text (bits 0 and 1 are mutually exclusive)

  bit 1: 1 = graphics

  bit 2: must be 0

  bit 3: must be 0

  bit 4: 1 = manual (bits 4 and 5 are mutually exclusive)

  bit 5: 1 = automatic

  bit 6: must be 0

  bit 7: must be 0

[default format for link]

{date time stamp (seconds)} reserved, set to NULL.

[date time stamp (year)] reserved, set to NULL.

[link name] x 128 This null-terminated string should be the same as

the filename in packet type 116 (0x73).

<link source> x 384 This null-terminated string should contain the

server application, topic and item names.  The names are to be

separated by a vertical bar (|) such as server|topic|item.

<link source document name> x 64 null-terminated string

The [default format for link] (DFL) and <link source document name> (LSDN) items are mutually exclusive. If the format is predefined, the DFL should be the predefined constant. If the format is not defined, the LSDN should have the name that would be returned from the Windows API function GetClipboardFormatName( ). If the format is unknown, then the DFL should be 0 and the LSDN a null string. WordPerfect will then negotiate the preferred format type when the document is loaded the first time.



Packet Type 117 (0x75)

Template Description

No documentation will be provided for this packet.

Packet Type 118 (0x76)

Macintosh Specific Data

No documentation will be provided for this packet.

Packet Type 119 (0x77) - Added for WP 7.0

Formatter Undo State

[undo levels] number of undos in document

[redo levels] number of redos in document (The structures for redos

are the same as the undos, but will start after the last undo index.)

The next 6 bytes are repeated for each undo and redo level.

[undo level]  level number at this index

[undo count] number of undos at this level

[undo token] token that triggered this undo (margin change, text, and

so forth)

Packet Type 120 (0x78)

Reserved



Packet Type 121 (0x79)

Reserved



Packet Type 122 (0x7A)

Reserved



Packet Type 123 (0x7B) - Added for WP 7.0

Swapped Style Undo

This packet is the same format as Normal Style packet type 0x30. It is used to undo a style change.

Packet Type 124 (0x7C) - Added for WP 7.0

OBEX ID

ID string for export of OBEX data.

{0xFFFFFFFF} region ID for the whole document

<Obex object ID> x ? null-terminated ANSI string format

Packet Type 125 (0x7D) - Added for WP 7.0

SGML Tag with Attributes (Parent Packet)

[number of attributes]

  [attribute 1 PID] PIDs of attribute values (child packets)

  [attribute 2 PID]

  ...

  [attribute n PID]

[tag error flag] bitwise error flag for the entire tag

  0 = no error

  1 = tag length is exceeded for the tag

  2 = attribute specification length exceeded for the tag

  4 = number of IDs in attribute values is exceeded

  8 = number of entities in attribute values is exceeded

The following information is repeated for each individual attribute.

[attribute 1 DTD index] index to attribute information in memory

<attribute 1 error code> error for individual attribute

Only bit 7 is bitwise.  If bit 7 is set then both LITDEL and ALITDEL

is in the attribute value.

  0 = no error

  1 = attribute is unknown to DTD

  2 = illegal character in attribute name value

  3 = illegal character in attribute name token value

  4 = illegal character in attribute number value

  5 = illegal character in attribute number token value

  6 = value in attribute exceeds name length limit

  7 = too many tokens in attribute

  8 = value in attribute exceeds LITLEN limit

  9 = no mapping for extended character in attribute

  10 = attribute has empty attribute value literal

  11 = token value not in declared value list

  12 = mismatch between DTD fixed value and attribute value

  13 = unknown entity type attribute value

  14 = illegal entity type attribute value

  15 = entity open in attribute value not expanded

  16 = character reference open in attribute value not checked

  17 = attribute is duplicated in tag



[attribute 2 DTD index]

<attribute 2 error code>

...

[attribute n DTD index]

<attribute n error code>

Packet Type 126 (0x7E) - Added for WP 7.0

SGML Attribute Value (Child Packet)

[number of blocks = 1]

{offset to text}

{size of text}

<literal delimiter>

  1 = LITDEL

  2 = ALITDEL

  3 = both present

[attribute name] x ?

<text> x ?

Packet Type 127 (0x7F) - Added for WP 7.0



SGML LGC Filename

If this packet ever has child IDs, the format will be that of the Native Filename packet type 0x07.

[LGC filename] x ? null terminated

Packet Type 128 (0x80) - Added for WP 7.0

SGML External Entity

[number of child IDs = 1]

[ID 1 (type=0x81)] ID of child packet for notation attributes

[data type] CDATA, SDATA, and so forth

[entity declaration error] error flag for full declaration

[number of text strings]

[size of entity name]

[size of file path (system ID)]

[size of public ID]

[size of notation name]

[external entity name] x ? [file path (system ID)] x ? [public ID] x ? [notation name] x ?

Packet Type 129 (0x81) - Added for WP 7.0



SGML Notation with Attributes

Identical to SGML Tag with Attributes packet (0x7D).

[number of attributes]

  [attribute 1 PID] PIDs of attribute values

  [attribute 2 PID]

  ...

  [attribute n PID]

  [notation error flag] error flag for entire notation (see packet

type 0x7D)



The following information is repeated for each individual attribute:

[attribute DTD index] index to attribute information in memory

<attribute error code> error for individual attributes (see packet

type 0x7D)

Divider

Copyright © 1997 Corel Corporation.
contact info

To contact Customer Service at one of our worldwide locations, click here

Last Updated: September 9, 1996