From koffice Thu Apr 20 21:04:37 2000 From: "Shaheed Haque" Date: Thu, 20 Apr 2000 21:04:37 +0000 To: koffice Subject: Re: Abiword/KWord cooperation X-MARC-Message: https://marc.info/?l=koffice&m=95626467610067 Hi Joaquin and all, [ Sorry I've not been listening, as Joel mentioned, I've been in end-of-project mode at work. ] Anyway, I think that there is plenty of scope for cooperation between the wv codebase and the kword MS filter; I hung out on the abi mailing list before I got started and was impressed by the amount of effort that is going into this stuff. I'm open to other influences/good ideas, but here is my current thinking... 1. The MS file format is fundamentally dreadful, and has been through many iterations. Looking at all the frustrated comments in the wv code makes this clear even to the casual observer. 2. There is structure to be extracted even from the MS file format, and that is what my code attempts to do at the level of I/O from/to OLE stream layer. Since I am focussing on Input at the moment, any architectural thoughts on Output are particularly welcome. Since much of the code is machine generated, I should be able to make structural changes quite easily. 3. This I/O abstraction layer will hide all the intricacies of the MS file format and present a reasonably linear/unconvoluted view of the data. Once this I/O abstraction layer is stable and a bit more complete, the next layer of code can be written to actually interpret the data and translate it without having to worry about all the low-level MS file format crap. That's where the accumulated knowledge of wv will be invaluable in interpreting the raw data. However, it is not yet clear to me how I can import that knowledge from the wv code base, since I had some difficulty disentangling the logic from the I/O structure when looking at it. Any ideas here are also very welcome. 4. Above this interpretation layer I hope to have another reasonably clean interface. That is where the translation will occur to kword; it is my hope that alternative clients would be supportable (the only toolkit specific thing in the current code is some use of QStrings, but that's just because I'm being a bit lazy and am generally ignorant of Unicode :-)). At the moment, an experimental "learning" version of the I/O abstraction layer is taking shape. The other two layers are kind of squashed into a minimal amount of code that (a) makes the basic import of text possible and (b) acts as a test harness. I'll be offline for 2-3 more weeks, but then hope to renew the attack on this layer. As you can see, there is a mountain of work; so all help is welcome! I hope this makes sense to you, and look forward to hearing from you. Thanks, Shaheed BTW: One of the major reasons I did not use wv directly as I think Abi has done was my belief in the need for this layering. ________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com