This class parses Microsoft Write 3.0 and 3.1. More...
#include <MSWrite.h>
Public Member Functions | |
MSWriteParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::WIN3_WEUROPE) | |
~MSWriteParser () override | |
void | parse (librevenge::RVNGTextInterface *documentInterface) override |
Public Member Functions inherited from WPSParser | |
WPSParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header) | |
virtual | ~WPSParser () |
Protected Member Functions | |
void | readStructures () |
virtual libwps_tools_win::Font::Type | getFileEncoding (libwps_tools_win::Font::Type hint) |
void | readFIB () |
virtual void | readFFNTB () |
void | readFOD (unsigned page, void(MSWriteParser::*parseFOD)(uint32_t fcFirst, uint32_t fcLim, unsigned size)) |
virtual void | readPAP (uint32_t fcFirst, uint32_t fcLim, unsigned cch) |
virtual void | readCHP (uint32_t fcFirst, uint32_t fcLim, unsigned cch) |
virtual void | readSUMD () |
virtual void | readFNTB () |
virtual void | readSED () |
void | readText (WPSEntry const &e, MSWriteParserInternal::Paragraph::Location location) |
int | numPages () |
void | processObject (WPSPosition &pos, unsigned long lastPos) |
bool | processDDB (librevenge::RVNGBinaryData &bmpdata, WPSPosition &pos, unsigned width, unsigned height, unsigned byte_width, unsigned planes, unsigned bits_pixel, unsigned size) |
bool | processDIB (librevenge::RVNGBinaryData &bmpdata, unsigned size) |
bool | processWMF (librevenge::RVNGBinaryData &wmfdata, unsigned size) |
void | processEmbeddedOLE (WPSPosition &pos, unsigned long lastPos) |
bool | processStaticOLE (librevenge::RVNGBinaryData &, std::string &mimetype, WPSPosition &pos, unsigned long lastPos) |
bool | readString (std::string &res, unsigned long lastPos) |
virtual void | insertSpecial (uint8_t val, uint32_t fc, MSWriteParserInternal::Paragraph::Location location) |
virtual void | insertControl (uint8_t val, uint32_t fc) |
void | insertNote (bool annotation, uint32_t fcPos, librevenge::RVNGString const &label) |
unsigned | insertString (const unsigned char *str, unsigned size, libwps_tools_win::Font::Type type) |
void | getHeaderFooters (uint32_t first, MSWriteParserInternal::Section &sep, WPSPageSpan &pageSpan) |
void | startSection (MSWriteParserInternal::Section const §ion) |
bool | checkFilePosition (uint32_t pos) const |
check if the file position is correct or not | |
Protected Member Functions inherited from WPSParser | |
RVNGInputStreamPtr & | getInput () |
RVNGInputStreamPtr | getFileInput () |
WPSHeaderPtr & | getHeader () |
int | version () const |
void | setVersion (int vers) |
libwps::DebugFile & | ascii () |
a DebugFile used to write what we recognize when we parse the document | |
NameMultiMap & | getNameEntryMap () |
NameMultiMap const & | getNameEntryMap () const |
Static Protected Member Functions | |
static void | getPageStyle (MSWriteParserInternal::Section &sep, WPSPageSpan &pageSpan) |
Protected Attributes | |
uint32_t | m_fileLength |
the last file position | |
uint32_t | m_fcMac |
std::vector< MSWriteParserInternal::Paragraph > | m_paragraphList |
std::vector< MSWriteParserInternal::Font > | m_fontList |
std::vector< MSWriteParserInternal::Footnote > | m_footnotes |
std::vector< MSWriteParserInternal::Section > | m_sections |
std::vector< librevenge::RVNGString > | m_fonts |
libwps_tools_win::Font::Type | m_fontType |
std::shared_ptr< WPSContentListener > | m_listener |
librevenge::RVNGPropertyList | m_metaData |
Private Member Functions | |
MSWriteParser (const MSWriteParser &)=delete | |
MSWriteParser & | operator= (const MSWriteParser &)=delete |
std::shared_ptr< WPSContentListener > | createListener (librevenge::RVNGTextInterface *interface) |
Friends | |
class | MSWriteParserInternal::SubDocument |
struct | MSWriteParserInternal::Paragraph |
struct | MSWriteParserInternal::Font |
Additional Inherited Members | |
Public Types inherited from WPSParser | |
typedef std::multimap< std::string, WPSEntry > | NameMultiMap |
a map to retrieve a file entry by name |
This class parses Microsoft Write 3.0 and 3.1.
MSWriteParser::MSWriteParser | ( | RVNGInputStreamPtr & | input, |
WPSHeaderPtr & | header, | ||
libwps_tools_win::Font::Type | encoding = libwps_tools_win::Font::WIN3_WEUROPE ) |
Referenced by DosWordParser::DosWordParser(), MSWriteParser(), MSWriteParserInternal::Font, operator=(), and readFOD().
|
override |
|
privatedelete |
|
inlineprotected |
check if the file position is correct or not
Referenced by DosWordParser::checkHeader(), processEmbeddedOLE(), processObject(), readFFNTB(), readFIB(), DosWordParser::readFNTB(), readFOD(), DosWordParser::readSECT(), DosWordParser::readSED(), readSED(), readString(), and DosWordParser::readSUMD().
|
private |
Referenced by operator=(), and parse().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by MSWriteParser(), and operator=().
|
protected |
Referenced by createListener(), and numPages().
|
staticprotected |
Referenced by createListener(), and numPages().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by numPages(), and readText().
|
protected |
Referenced by DosWordParser::insertSpecial(), numPages(), and readText().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by numPages(), and readText().
|
protected |
Referenced by numPages(), and readText().
|
protected |
|
privatedelete |
|
overridevirtual |
Implements WPSParser.
Referenced by MSWriteParserInternal::Font.
|
protected |
Referenced by numPages(), processObject(), and processStaticOLE().
|
protected |
Referenced by numPages(), and processStaticOLE().
|
protected |
Referenced by numPages(), and processObject().
|
protected |
Referenced by numPages(), and readText().
|
protected |
Referenced by numPages(), processEmbeddedOLE(), and processObject().
|
protected |
Referenced by numPages(), processObject(), and processStaticOLE().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by operator=(), and readStructures().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by operator=(), and readStructures().
|
protected |
Referenced by operator=(), and readStructures().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by operator=(), and readStructures().
|
protected |
Referenced by operator=(), and readStructures().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by operator=(), and readStructures().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by operator=(), and readStructures().
|
protected |
Referenced by numPages(), processEmbeddedOLE(), and processStaticOLE().
|
protected |
Referenced by operator=(), and parse().
|
protectedvirtual |
Reimplemented in DosWordParser.
Referenced by operator=(), and readStructures().
|
protected |
Referenced by operator=(), and parse().
|
protected |
Referenced by numPages(), and parse().
|
friend |
|
friend |
Referenced by DosWordParser::operator=().
|
friend |
|
protected |
Referenced by getHeaderFooters(), insertNote(), MSWriteParser(), readFIB(), readFOD(), DosWordParser::readSED(), readSED(), readStructures(), and readText().
|
protected |
the last file position
Referenced by checkFilePosition(), MSWriteParser(), and DosWordParser::readSED().
|
protected |
Referenced by MSWriteParser(), DosWordParser::readCHP(), readCHP(), readStructures(), and readText().
|
protected |
Referenced by MSWriteParser(), readCHP(), and readFFNTB().
|
protected |
Referenced by DosWordParser::DosWordParser(), MSWriteParser(), DosWordParser::readCHP(), readCHP(), readFFNTB(), and DosWordParser::readSUMD().
|
protected |
Referenced by insertNote(), MSWriteParser(), and DosWordParser::readFNTB().
|
protected |
|
protected |
Referenced by MSWriteParser(), parse(), and DosWordParser::readSUMD().
|
protected |
Referenced by getHeaderFooters(), MSWriteParser(), DosWordParser::readPAP(), readPAP(), readStructures(), and readText().
|
protected |