20#ifndef INCLUDED_SW_SOURCE_FILTER_WW8_WW8STRUC_HXX
21#define INCLUDED_SW_SOURCE_FILTER_WW8_WW8STRUC_HXX
25#include <rtl/ustring.hxx>
49 ShortToSVBT16(
n, *
reinterpret_cast<SVBT16*
>(
p) );
55 UInt32ToSVBT32(
n, *
reinterpret_cast<SVBT32*
>(
p) );
198static_assert(
sizeof (
WW8_STD) == 10,
"this has to match the msword size");
217static_assert(
sizeof (
WW8_FFN_BASE) == 6,
"this has to match the msword size");
249 {
return aBits1[0] & 0x07; }
251 {
return (
aBits1[0] & 0x18) >> 3; }
253 {
return !!(
aBits1[0] & 0x20); }
255 {
return ((
aBits1[0] & 0xc0) >> 6) | ((
aBits1[1] & 0x07) << 2); }
257 {
return aBits1[1] >> 3; }
281 {
return aBits2[1] & 0x1f; }
283 {
return !!(
aBits2[1] & 0x20); }
285 {
return !!(
aBits2[1] & 0x40); }
290 sal_uInt8 _dptSpace,
bool _fShadow,
bool _fFrame)
292 assert(_dptSpace < 0x20);
293 aBits1[0] = _dptLineWidth;
297 | (
static_cast<sal_uInt8>(_fFrame) << 6);
321 sal_uInt32
cv() const
322 {
return SVBT32ToUInt32(
aBits1); }
328 {
return aBits2[2] & 0x1f; }
330 {
return !!(
aBits2[2] & 0x20); }
332 {
return !!(
aBits2[2] & 0x40); }
334 {
return SVBT32ToUInt32(
aBits2) == 0xffffffff; }
337 sal_uInt8 _dptSpace,
bool _fShadow,
bool _fFrame)
339 assert(_dptSpace < 0x20);
340 UInt32ToSVBT32(_cv,
aBits1);
341 aBits2[0] = _dptLineWidth;
344 | (
static_cast<sal_uInt8>(_fFrame) << 6);
398 =
u"\u0021\u0025\u0029\u002c\u002e\u003a\u003b\u003f"
399 "\u005d\u007d\u00a2\u00b0\u2019\u201d\u2030\u2032"
400 "\u2033\u2103\u3001\u3002\u3005\u3009\u300b\u300d"
401 "\u300f\u3011\u3015\u309b\u309c\u309d\u309e\u30fb"
402 "\u30fd\u30fe\uff01\uff05\uff09\uff0c\uff0e\uff1a"
403 "\uff1b\uff1f\uff3d\uff5d\uff61\uff63\uff64\uff65"
404 "\uff9e\uff9f\uffe0";
406 =
u"\u0024\u0028\u005b\u005c\u007b\u00a3\u00a5\u2018"
407 "\u201c\u3008\u300a\u300c\u300e\u3010\u3014\uff04"
408 "\uff08\uff3b\uff5b\uff62\uffe1\uffe5";
442static_assert(
sizeof (
WW8_DOGRID) == 10,
"this has to match the msword size");
514static_assert(
sizeof (
WW8_PIC_SHADOW) == 0x2E,
"this has to match the msword size");
597 {
return static_cast<sal_uInt8>((
maBits >> 10) & ( bVer67 ? 0x1f : 0x3f ) ); }
611 maBits |= (nVal & 0x1f) << 5;
616 maBits |= (nVal & 0x3f) << 10;
963static_assert(
sizeof (
WW8_FSPA_SHADOW) == 26,
"this has to match the msword size");
[MS-OSHARED] FactoidType: one smart tag type.
void Write(WW8Export &rExport)
void Read(SvStream &rStream)
[MS-OSHARED] PropertyBagStore: smart tag types and string store.
void Write(WW8Export &rExport)
void Read(SvStream &rStream)
std::vector< MSOFactoidType > m_aFactoidTypes
std::vector< OUString > m_aStringTable
[MS-OSHARED] PropertyBag: stores information about one smart tag.
bool Read(SvStream &rStream)
void Write(WW8Export &rExport)
std::vector< MSOProperty > m_aProperties
sal_uInt16 m_nId
Matches MSOFactoidType::m_nId in MSOPropertyBagStore::m_aFactoidTypes.
[MS-OSHARED] Property: stores information about one smart-tag key/value.
sal_uInt32 m_nValue
Index into MSOPropertyBagStore::m_aStringTable.
void Write(SvStream &rStream)
sal_uInt32 m_nKey
Index into MSOPropertyBagStore::m_aStringTable.
void Read(SvStream &rStream)
sal_Int16 m_cchFollowingPunct
static constexpr OUStringLiteral JapanNotBeginLevel1
void ReadFromMem(sal_uInt8 *&pData)
sal_uInt16 m_iLevelOfKinsoku
static constexpr OUStringLiteral JapanNotEndLevel1
void WriteToMem(sal_uInt8 *&pData) const
sal_uInt16 m_fKerningPunct
sal_Int16 m_cchLeadingPunct
LanguageType GetConvertedLang() const
sal_Unicode m_rgxchLPunct[nMaxLeading]
sal_Unicode m_rgxchFPunct[nMaxFollowing]
sal_uInt16 m_iJustification
Exporter of the binary Word file formats.
[MS-DOC] SmartTagData: stores information about all smart tags in the document.
void Read(SvStream &rStream, WW8_FC fcFactoidData, sal_uInt32 lcbFactoidData)
std::vector< MSOPropertyBag > m_aPropBags
void Write(WW8Export &rExport)
MSOPropertyBagStore m_aPropBagStore
std::unique_ptr< sal_Int32[]> pData
::Color BGRToRGB(sal_uInt32 nColour)
sal_uInt32 RGBToBGR(::Color nColour)
sal_Int32 rgdxaColumnWidthSpacing[MAX_NO_OF_SEP_COLUMNS *2+1]
sal_uInt8 brcType() const
sal_uInt8 dxpLineWidth() const
sal_uInt8 dxpSpace() const
sal_uInt8 brcType() const
WW8_BRCVer9(sal_uInt32 _cv, sal_uInt8 _dptLineWidth, sal_uInt8 _brcType, sal_uInt8 _dptSpace, bool _fShadow, bool _fFrame)
sal_uInt8 dptLineWidth() const
sal_uInt8 dptSpace() const
short DetermineBorderProperties(short *pSpace=nullptr) const
sal_uInt8 dptSpace() const
sal_uInt8 dptLineWidth() const
sal_uInt8 brcType() const
WW8_BRC(sal_uInt8 _dptLineWidth, sal_uInt8 _brcType, sal_uInt8 _ico, sal_uInt8 _dptSpace, bool _fShadow, bool _fFrame)
short DetermineBorderProperties(short *pSpace) const
WW8_DP_POLYLINE dpPolyLine
WW8_DPHEAD dpheadPolyLine
base for reading AND working on (will have different subclasses
This is what we use in the Parser (and Dumper)
struct WW8_PIC_SHADOW::@14 MFP
void SetBack(sal_uInt8 nVal)
sal_uInt16 GetValue() const
sal_uInt8 GetBack() const
void SetFore(sal_uInt8 nVal)
void SetWWValue(SVBT16 const nVal)
sal_uInt8 GetFore() const
sal_uInt8 GetStyle(bool bVer67) const
void SetStyle(sal_uInt8 nVal)
void Set_UInt32(sal_uInt8 *&p, sal_uInt32 n)
void Set_UInt8(sal_uInt8 *&p, sal_uInt8 n)
const sal_uInt8 MAX_NO_OF_SEP_COLUMNS
WW8_BRCVer9 WW8_BRCVer9_5[5]
void Set_UInt16(sal_uInt8 *&p, sal_uInt16 n)