The process of CDR file format reverse engineering seems to be more clear and quick than it was for VSD/VSS.
Possible reasons for that are:
- format of their containers
- LZW implementation in use
- 'object models'
- code for file format research
CDR uses (slightly modified) RIFF with standard LZW. Also
there are clearly
identifiable pointers to 'document-wise' parts like
fills and outlines parameters.
VSD uses OLE with 'customized' LZW version. There are a
entities there (I had ever asked native speakers to suggest
some good names for different kind of 'peaces'). The
relations mostly aren't clear.
A lot of time was wasted to find out LZW options (VSD).
cdr_explorer (and therefore sK1 importer) uses zlib
RIFF leaves some place to guess about chunk content because
of meaningful names (<obj >, <DISP>,
<IKEY>, <bmp >, <fntd>
can you guess what it is?).
In VSD _some_ parts of 'Visio Document Object Model' can be found from the 'type value in the pointer to stream', also one have to map chunk numbers to types.
For vsd/vss I stole some code from libgsf, but
my ability to adapt it is quite restricted. And I gave up
all attempts to make something useful in C with GObject.
For cdr Igor Novikov made a cdr_explorer, that is really nice and handy.
What could be my next target?
Well... there are some things to research in CDR ;-)
And show-stopper is not me (there are no more cdr files prepared to make meaningful conclusions.) Maybe or maybe not we will complete most of this job at LGM-2.
Alexandre Prokoudine suggested that it could be interesting to dig into photoshop related formats.
Jody pointed to PPT.
So I'm encouraging Igor Novikov to extend cdr_explorer with support for OLE.
It will help us to finish with VSD/VSS (and maybe create some kind of viewer
for a time while Ian Redfern implement VSD->..->Dia convertor)
and provide a base for possible treatment of PPT.
I would rather work with PPT because I know who will be responsible for utilization of the collected data =).
And I believe that nobody really need any data about PSD format and related staff.