LibreOffice Module sw (master)  1
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
ww8scan.hxx File Reference
#include <cassert>
#include <cstddef>
#include <deque>
#include <memory>
#include <stack>
#include <unordered_map>
#include <vector>
#include <osl/endian.h>
#include <tools/solar.h>
#include <tools/stream.hxx>
#include <rtl/ustring.hxx>
#include "ww8struc.hxx"
#include "types.hxx"
Include dependency graph for ww8scan.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SprmInfo
 
struct  SprmInfoRow
 
class  wwSprmSearcher
 
struct  SprmResult
 
class  wwSprmParser
 wwSprmParser knows how to take a sequence of bytes and split it up into sprms and their arguments More...
 
struct  WW8FieldDesc
 
struct  WW8PLCFxSave1
 
class  WW8PLCFspecial
 among others for fields, that is, the same number of attr as positions, if Ctor-Param bNoEnd = false More...
 
class  WW8SprmIter
 simple Iterator for SPRMs More...
 
class  WW8PLCF
 
class  WW8PLCFpcd
 
class  WW8PLCFpcd_Iter
 
class  WW8PLCFx
 
class  WW8PLCFx_PCDAttrs
 
class  WW8PLCFx_PCD
 
class  WW8PLCFx_Fc_FKP
 Iterator for Piece Table Exceptions of Fkps works only with FCs, not with CPs ! ( Low-Level ) More...
 
class  WW8PLCFx_Fc_FKP::WW8Fkp
 
class  WW8PLCFx_Fc_FKP::WW8Fkp::Entry
 
class  WW8PLCFx_Cp_FKP
 iterator for Piece Table Exceptions of Fkps works on CPs (high-level) More...
 
class  WW8PLCFx_SEPX
 Iterator for Piece Table Exceptions of Sepx. More...
 
class  WW8PLCFx_SubDoc
 iterator for footnotes/endnotes and comments More...
 
class  WW8PLCFx_FLD
 Iterator for fields. More...
 
class  WW8PLCFx_Book
 Iterator for Booknotes. More...
 
class  WW8PLCFx_AtnBook
 Handles the import of PlcfAtnBkf and PlcfAtnBkl: start / end position of annotation marks. More...
 
class  WW8PLCFx_FactoidBook
 Handles the import of PlcfBkfFactoid and PlcfBklFactoid: start / end position of factoids. More...
 
struct  WW8PLCFManResult
 
struct  WW8PLCFxDesc
 
class  WW8PLCFMan
 
struct  WW8PLCFxSaveAll
 
class  WW8ScannerBase
 
class  WW8Fib
 FIB - the File Information Block. More...
 
class  WW8Style
 
class  WW8Fonts
 
struct  WW8Dop
 Document Properties. More...
 
class  WW8PLCF_HdFt
 

Namespaces

 SL
 
 nsHdFtFlags
 

Typedefs

typedef sal_uInt8 HdFtFlags
 

Enumerations

enum  ePLCFT {
  CHP =0,
  PAP,
  SEP,
  PLCF_END
}
 
enum  eExtSprm {
  eFTN = 256,
  eEDN = 257,
  eFLD = 258,
  eBKN = 259,
  eAND = 260,
  eATNBKN = 261,
  eFACTOIDBKN = 262
}
 
enum  eBookStatus {
  BOOK_NORMAL = 0,
  BOOK_IGNORE = 0x1,
  BOOK_FIELD = 0x2
}
 
enum  ManMaskTypes {
  MAN_MASK_NEW_PAP = 1,
  MAN_MASK_NEW_SEP = 2
}
 
enum  ManTypes {
  MAN_MAINTEXT = 0,
  MAN_FTN = 1,
  MAN_EDN = 2,
  MAN_HDFT = 3,
  MAN_AND = 4,
  MAN_TXBX = 5,
  MAN_TXBX_HDFT = 6
}
 

Functions

OUString read_uInt8_PascalString (SvStream &rStrm, rtl_TextEncoding eEnc)
 
OUString read_uInt16_PascalString (SvStream &rStrm)
 
OUString read_uInt8_BeltAndBracesString (SvStream &rStrm, rtl_TextEncoding eEnc)
 
OUString read_uInt16_BeltAndBracesString (SvStream &rStrm)
 
void WW8ReadSTTBF (bool bVer8, SvStream &rStrm, sal_uInt32 nStart, sal_Int32 nLen, sal_uInt16 nExtraLen, rtl_TextEncoding eCS, std::vector< OUString > &rArray, std::vector< ww::bytes > *pExtraArray=nullptr, std::vector< OUString > *pValueArray=nullptr)
 reads array of strings (see MS documentation: String Table stored in File) returns NOT the original pascal strings but an array of converted char* More...
 
Word2CHPX ReadWord2Chpx (SvStream &rSt, std::size_t nOffset, sal_uInt8 nSize)
 
std::vector< sal_uInt8ChpxToSprms (const Word2CHPX &rChpx)
 
bool checkRead (SvStream &rSt, void *pDest, sal_uInt32 nLength)
 

Variables

const char SL::aObjectPool [] = "ObjectPool"
 
const char SL::a1Table [] = "1Table"
 
const char SL::a0Table [] = "0Table"
 
const char SL::aData [] = "Data"
 
const char SL::aCheckBox [] = "CheckBox"
 
const char SL::aListBox [] = "ListBox"
 
const char SL::aTextBox [] = "TextBox"
 
const char SL::aTextField [] = "TextField"
 
const char SL::aMSMacroCmds [] = "MSMacroCmds"
 
const HdFtFlags nsHdFtFlags::WW8_HEADER_EVEN = 0x01
 
const HdFtFlags nsHdFtFlags::WW8_HEADER_ODD = 0x02
 
const HdFtFlags nsHdFtFlags::WW8_FOOTER_EVEN = 0x04
 
const HdFtFlags nsHdFtFlags::WW8_FOOTER_ODD = 0x08
 
const HdFtFlags nsHdFtFlags::WW8_HEADER_FIRST = 0x10
 
const HdFtFlags nsHdFtFlags::WW8_FOOTER_FIRST = 0x20
 
const sal_uInt16 lLetterWidth = 12242
 
const sal_uInt16 lLetterHeight = 15842
 

Typedef Documentation

Definition at line 1586 of file ww8scan.hxx.

Enumeration Type Documentation

Enumerator
BOOK_NORMAL 
BOOK_IGNORE 
BOOK_FIELD 

Definition at line 740 of file ww8scan.hxx.

enum eExtSprm
Enumerator
eFTN 
eEDN 
eFLD 
eBKN 
eAND 
eATNBKN 
eFACTOIDBKN 

Definition at line 384 of file ww8scan.hxx.

enum ePLCFT
Enumerator
CHP 
PAP 
SEP 
PLCF_END 

Definition at line 381 of file ww8scan.hxx.

Enumerator
MAN_MASK_NEW_PAP 
MAN_MASK_NEW_SEP 

Definition at line 857 of file ww8scan.hxx.

enum ManTypes
Enumerator
MAN_MAINTEXT 
MAN_FTN 
MAN_EDN 
MAN_HDFT 
MAN_AND 
MAN_TXBX 
MAN_TXBX_HDFT 

Definition at line 863 of file ww8scan.hxx.

Function Documentation

bool checkRead ( SvStream rSt,
void pDest,
sal_uInt32  nLength 
)
std::vector<sal_uInt8> ChpxToSprms ( const Word2CHPX rChpx)
OUString read_uInt16_BeltAndBracesString ( SvStream rStrm)
OUString read_uInt16_PascalString ( SvStream rStrm)
inline
OUString read_uInt8_BeltAndBracesString ( SvStream rStrm,
rtl_TextEncoding  eEnc 
)

Definition at line 2068 of file ww8scan.cxx.

References read_uInt8_lenPrefixed_uInt8s_ToOUString(), and SvStream::SeekRel().

Referenced by WW8Style::Read1Style().

OUString read_uInt8_PascalString ( SvStream rStrm,
rtl_TextEncoding  eEnc 
)
inline
Word2CHPX ReadWord2Chpx ( SvStream rSt,
std::size_t  nOffset,
sal_uInt8  nSize 
)
void WW8ReadSTTBF ( bool  bVer8,
SvStream rStrm,
sal_uInt32  nStart,
sal_Int32  nLen,
sal_uInt16  nExtraLen,
rtl_TextEncoding  eCS,
std::vector< OUString > &  rArray,
std::vector< ww::bytes > *  pExtraArray = nullptr,
std::vector< OUString > *  pValueArray = nullptr 
)

reads array of strings (see MS documentation: String Table stored in File) returns NOT the original pascal strings but an array of converted char*

attention: the extra data of each string are SKIPPED and ignored

Definition at line 4119 of file ww8scan.cxx.

References checkSeek(), i, read_uInt16_PascalString(), read_uInt8_lenPrefixed_uInt8s_ToOString(), read_uInt8s_ToOString(), SvStream::ReadBytes(), SvStream::ReadUChar(), SvStream::ReadUInt16(), SvStream::remainingSize(), SAL_MAX_UINT16, SAL_WARN, SvStream::Seek(), SvStream::SeekRel(), and SvStream::Tell().

Referenced by SwWW8ImplReader::CoreLoad(), WW8Glossary::Load(), SwWW8ImplReader::ReadDocVars(), SwWW8ImplReader::ReadRevMarkAuthorStrTabl(), and WW8PLCFx_Book::WW8PLCFx_Book().

Variable Documentation

const sal_uInt16 lLetterHeight = 15842

Definition at line 1864 of file ww8scan.hxx.

Referenced by wwSectionManager::CreateSep().

const sal_uInt16 lLetterWidth = 12242

Definition at line 1863 of file ww8scan.hxx.

Referenced by wwSectionManager::CreateSep().