Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Eilidh

On Sun, 2011-05-08 at 17:08 +0100, Tibby Lickle wrote:
1. Get the interesting part ("VisioDocument") from the OLE container.
2. Parse the header to get a pointer to the trailer stream (as well as
version, length of file, etc.)
3. Inflate compressed trailer.
4. Parse out pointers in trailer to the various - potentially
compressed - streams that hold the actual Visio document content.
I've done 1 - 3. I'm using the WPXStream and its implementation from
libwpd (WPXStreamImplementation.h here) to read/extract OLE streams.
The implementation of LZW-esque decompression of the trailer is
translated from Python to C++ (i.e. shamelessly ripped off) from
oletoy (thanks frob).

Way too cool!


I suspect most of what I'll be doing will be stand-alone for now -
developing and debugging will be too slow if LO integration is
included at this early stage. Once I've got a very basic parser, the
callback interface discussed in my proposal will be implemented and
integration with LO should in theory be relatively easy.

Now, what I would really love is if we could put some anchor in some git
space so that I could create for you a quick skeleton of a library and
the build system so that you would only do the fleshing out. Just create
an empty module "libvisio" somewhere (I checked and libvsd exists
already for some virtual server daemon). I will create a skeleton there
and we can work easily.

A week or two ago, I refactored the writerperfect module in libreoffice
tree so that it might be +/- trivial to add the support.

Note to my mentor -- I've got a paper due for next Saturday so my main
focus will be on that. I will, however, be spending some time on the
next stage.

Hope everything went well.

F.


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.