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]
