LibreOffice Module sw (master) 1
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
ww8scan.hxx File Reference
#include <cassert>
#include <cstddef>
#include <deque>
#include <memory>
#include <optional>
#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

namespace  SL
 
namespace  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

constexpr OUStringLiteral SL::aObjectPool = u"ObjectPool"
 
constexpr OUStringLiteral SL::a1Table = u"1Table"
 
constexpr OUStringLiteral SL::a0Table = u"0Table"
 
constexpr OUStringLiteral SL::aData = u"Data"
 
constexpr OUStringLiteral SL::aCheckBox = u"CheckBox"
 
constexpr OUStringLiteral SL::aListBox = u"ListBox"
 
constexpr OUStringLiteral SL::aTextField = u"TextField"
 
constexpr OUStringLiteral SL::aMSMacroCmds = u"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

◆ HdFtFlags

Definition at line 1594 of file ww8scan.hxx.

Enumeration Type Documentation

◆ eBookStatus

Enumerator
BOOK_NORMAL 
BOOK_IGNORE 
BOOK_FIELD 

Definition at line 747 of file ww8scan.hxx.

◆ eExtSprm

enum eExtSprm
Enumerator
eFTN 
eEDN 
eFLD 
eBKN 
eAND 
eATNBKN 
eFACTOIDBKN 

Definition at line 388 of file ww8scan.hxx.

◆ ePLCFT

enum ePLCFT
Enumerator
CHP 
PAP 
SEP 
PLCF_END 

Definition at line 385 of file ww8scan.hxx.

◆ ManMaskTypes

Enumerator
MAN_MASK_NEW_PAP 
MAN_MASK_NEW_SEP 

Definition at line 864 of file ww8scan.hxx.

◆ ManTypes

enum ManTypes
Enumerator
MAN_MAINTEXT 
MAN_FTN 
MAN_EDN 
MAN_HDFT 
MAN_AND 
MAN_TXBX 
MAN_TXBX_HDFT 

Definition at line 870 of file ww8scan.hxx.

Function Documentation

◆ checkRead()

bool checkRead ( SvStream rSt,
void *  pDest,
sal_uInt32  nLength 
)

◆ ChpxToSprms()

std::vector< sal_uInt8 > ChpxToSprms ( const Word2CHPX rChpx)

◆ read_uInt16_BeltAndBracesString()

OUString read_uInt16_BeltAndBracesString ( SvStream rStrm)

◆ read_uInt16_PascalString()

OUString read_uInt16_PascalString ( SvStream rStrm)
inline

◆ read_uInt8_BeltAndBracesString()

OUString read_uInt8_BeltAndBracesString ( SvStream rStrm,
rtl_TextEncoding  eEnc 
)

◆ read_uInt8_PascalString()

OUString read_uInt8_PascalString ( SvStream rStrm,
rtl_TextEncoding  eEnc 
)
inline

◆ ReadWord2Chpx()

Word2CHPX ReadWord2Chpx ( SvStream rSt,
std::size_t  nOffset,
sal_uInt8  nSize 
)

◆ WW8ReadSTTBF()

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 4152 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(), rStrm, 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

◆ lLetterHeight

const sal_uInt16 lLetterHeight = 15842

Definition at line 1881 of file ww8scan.hxx.

Referenced by wwSectionManager::CreateSep().

◆ lLetterWidth

const sal_uInt16 lLetterWidth = 12242

Definition at line 1880 of file ww8scan.hxx.

Referenced by wwSectionManager::CreateSep().