2cb5e2256c
Use std::copy / std::reverse_copy for double serialization. Also remove __cplusplus conditions, because the header is not included in any C files. And simplify the functions uses, where casts were unneeded. Change-Id: I1d8375e601851231fdffcf52e3f3e3bdcbcbde7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169706 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> |
||
---|---|---|
.. | ||
inc | ||
qa/cppunit | ||
source/filter | ||
util | ||
CppunitTest_lotuswordpro_import_test.mk | ||
CppunitTest_lotuswordpro_test_lotuswordpro.mk | ||
IwyuFilter_lotuswordpro.yaml | ||
Library_lwpft.mk | ||
Makefile | ||
Module_lotuswordpro.mk | ||
README.md |
Import Filter for File Format of Lotus Word Pro (lwp)
Description
⚠️ Import Filter supports only Lotus Word Pro 97 and next versions
The import is not direct, but via an intermediate format: StarOffice XML,
the predecessor of ODF (yes, the code is old). The entry point to
the filter is class LotusWordProImportFilter
(refer to Source code
section), but that just hooks up the necessary machinery for processing
StarOffice XML produced by the filter. The real fun starts in function
ReadWordproFile()
(source/filter/lwpfilter.cxx
); this function
initializes the parser (class Lwp9Reader
) and the SAX XML handler that
produces the output (class XFSaxStream
). The Lwp9Reader
class then does
the actual parsing.
If the module is built with debug level greater than 0
, it is possible
to examine the intermediate XML: set environment variable
DBG_LWPIMPORT_DIR=
to an existing directory. During opening an .lwp
document, a file named lwpimport.xml
will be created in DBG_LWPIMPORT_DIR
directory.
Source Code
Module Contents
inc
: module-global headers (can be included by any file in source)qa
:cppunit
testssource
: the filter itselfutil
: UNO passive registration config
Source Contents
filter
:lwp
document format parserfilter/LotusWordProImportFilter.cxx
: the entry point to the filterfilter/xfilter
: export to StarOffice XML