Version for atoms is probably just a record version. It always appears to be
the same value per type of record when the drawing is made in Excel.

The meaning of "instance" depends on the type of atom. For example, on a
Properties atom, "instance" contains the number of properties.

The Escher records used by Excel will have a type between 0x0f000 and
0x0f200. These correspond to the basic low level drawing shapes, such as
lines, arrows, and images. Powerpoint also uses the same basic types (with
type between 0x0f000 and 0x0f200), but it has many more types which
represent such things as slides, bullets, slide titles, arrangements, etc.
(I thought Powerpoint used 0x0e000 through 0x0efff but I could be rong).

A good reference for the low level Escher objects (those used in common by
all Office applications) is at

http://chicago.sourceforge.net/devel/docs/escher

There is also some less well organized description of Powerpoint at

http://www.wotsit.org/download.asp?f=powerpoint97

-----Original Message-----
From: Darien Kindlund [mailto:[EMAIL PROTECTED]
Sent: Monday, February 23, 2004 7:16 PM
To: [EMAIL PROTECTED]
Subject: EscherRecord Specifications

Hi.  Long-time lurker; first-time poster.

Regarding Library: org.apache.poi.ddf

I've looked at the EscherRecord.java specifications and compared them
against what appears the OpenOffice and KOffice Escher code.  To foster
understanding, I'm assuming this is the rough breakdown of Escher
"record headers":

header - 8 bytes
"version"  -  4 bits unsigned
"instance" - 12 bits unsigned
"type"     - 16 bits unsigned
"length"   - 32 bits unsigned

In EscherRecord.java:

EscherRecord.options = (instance << 4 | version)
EscherRecord.recordId = type

... and length never really gets saved

Questions:

1) Aside from knowing that (version == 0xF) implies container, can
anyone attempt to explain meaning behind the "version" and "instance"
fields?

2) Before asking the question, here is some known information:

- The "type" or "recordId" defined within the library can have values
ranged from 0 to 65535... let's call that the "type spectrum".

- EscherDump.java and other corresponding files refer to record types
which are 0xF000 and above on the spectrum.

- Escher is known to exist in multiple applications, agnostic to some
extent.

- OpenOffice/KOffice references associate Escher with PPT specifically;
KOffice references the type spectrum ranging from 0 to about 10,000
(0x2710).

This suggests that there's some set range in the "spectrum" dedicated
for specific applications versus shared use... can anyone provide
additional insight as to what the partition structure may look like?

Thanks in advance,
-- Darien Kindlund



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to