25#include <rtl/tencinfo.h>
71#include <officecfg/Office/Writer.hxx>
88#include <lineinfo.hxx>
123 static const Color eSwWW8ColA[] =
132 "ico " << sal_uInt32(nIco) <<
" >= " <<
SAL_N_ELEMENTS(eSwWW8ColA));
156 sal_uInt16 nVal = (
pS && aRes.
nRemainingData >= 2) ? SVBT16ToUInt16(
pS) : nDefaultVal;
174 OSL_ENSURE(
false,
"Unknown layout type");
177 meDir=SvxFrameDirection::Horizontal_LR_TB;
180 meDir=SvxFrameDirection::Vertical_RL_TB;
187 meDir=SvxFrameDirection::Vertical_RL_TB;
191 meDir=SvxFrameDirection::Vertical_RL_TB;
195 meDir=SvxFrameDirection::Horizontal_LR_TB;
200 if ((
meDir == SvxFrameDirection::Horizontal_LR_TB) && bRTLPgn)
201 meDir = SvxFrameDirection::Horizontal_RL_TB;
206 return meDir == SvxFrameDirection::Vertical_RL_TB ||
meDir == SvxFrameDirection::Vertical_LR_TB;
230 nTextareaWidth -= rLR.
GetLeft();
234 std::swap(nTextareaHeight, nTextareaWidth);
247 OSL_ENSURE(
false,
"Unknown grid type");
271 bool bSquaredMode =
false;
276 sal_uInt32 nCharWidth=240;
277 for (sal_uInt16 nI = 0; nI <
m_xStyles->GetCount(); ++nI)
280 m_vColl[nI].IsWW8BuiltInDefaultStyle())
284 nCharWidth = rFontHeightItem.
GetHeight();
294 sal_Int32 nMain = (nCharSpace & 0xFFFFF000);
296 nCharWidth += nMain*20;
298 int nFraction = (nCharSpace & 0x00000FFF);
299 nFraction = (nFraction*20)/0xFFF;
300 nCharWidth += nFraction;
303 aGrid.
SetBaseWidth( writer_cast<sal_uInt16>(nCharWidth));
307 if (nLinePitch >= 1 && nLinePitch <= 31680)
309 aGrid.
SetLines(writer_cast<sal_uInt16>(nTextareaHeight/nLinePitch));
323 m_xPlcxMan->GetPap()->nRelativeJustify = bRel ? 1 : 0;
341 bRet = nRelative > 0;
345 sal_Int16 nRelative =
m_xPlcxMan->GetPap()->nRelativeJustify;
352 bRet = nRelative > 0;
362 &&
"pointless to search styles if relative justify is impossible");
366 rVisitedStyles.
insert(nColl);
368 sal_Int16 nRelative =
m_vColl[nColl].m_nRelativeJustify;
369 if ( nColl == 0 || nRelative >= 0 )
370 bRet = nRelative > 0;
371 else if (rVisitedStyles.
find(
m_vColl[nColl].m_nBase) == rVisitedStyles.
end())
385 *
pData ? SvxFrameDirection::Horizontal_RL_TB : SvxFrameDirection::Horizontal_LR_TB;
393 bBiDiSwap = (eDir == SvxFrameDirection::Horizontal_RL_TB && !bParentRTL)
394 || (eDir == SvxFrameDirection::Horizontal_LR_TB && bParentRTL);
403 if ( eDir == SvxFrameDirection::Horizontal_LR_TB )
412 if ( eJustify == SvxAdjust::Left )
414 else if ( eJustify == SvxAdjust::Right )
427 sal_uInt32 nNetWidth)
430 const sal_Int16 nCols = rSection.
NoCols();
435 const sal_uInt16 nNetWriterWidth = writer_cast<sal_uInt16>(nNetWidth);
436 if (nNetWriterWidth == 0)
455 aCol.
Init(nCols, writer_cast<sal_uInt16>(nColSpace), nNetWriterWidth);
462 for (sal_uInt16
i = 0, nIdx = 1;
i < nCols && nIdx < maxIdx;
i++, nIdx+=2 )
469 pCol->
SetWishWidth(writer_cast<sal_uInt16>(nWishWidth));
470 pCol->
SetLeft(writer_cast<sal_uInt16>(nLeft));
471 pCol->
SetRight(writer_cast<sal_uInt16>(nRight));
521 const wwSection &rSection,
bool bIgnoreCols)
550 sal_Int32 nNewMargin = nMSMargin;
567 short aSizeArray[5]={0};
574 aLR.
SetLeft(SetBorderDistance(bFromEdge, aBox, SvxBoxItemLine::LEFT, aLR.
GetLeft()));
575 aLR.
SetRight(SetBorderDistance(bFromEdge, aBox, SvxBoxItemLine::RIGHT, aLR.
GetRight()));
576 aUL.
SetUpper(SetBorderDistance(bFromEdge, aBox, SvxBoxItemLine::TOP, aUL.
GetUpper()));
577 aUL.
SetLower(SetBorderDistance(bFromEdge, aBox, SvxBoxItemLine::BOTTOM, aUL.
GetLower()));
620 rData.
nSwUp = nWWHTop;
625 rData.
nSwHLo = nWWUp - nWWHTop;
639 rData.
nSwLo = nWWFBot;
643 rData.
nSwFUp = nWWLo - nWWFBot;
681 aHdUL.
SetLower(
static_cast< sal_uInt16
>(nHdLowerSpace) );
685 pHdFormat->SetFormatAttr(aHdUL);
708 aFtUL.
SetUpper(
static_cast< sal_uInt16
>(nFtUpperSpace) );
712 pFtFormat->SetFormatAttr(aFtUL);
731 bRTLPgn ? SvxFrameDirection::Horizontal_RL_TB : SvxFrameDirection::Horizontal_LR_TB,
RES_FRAMEDIR));
742 OSL_ENSURE(rSection.
mpSection,
"section not inserted!");
748 [](
const wwSection& rSegment) { return rSegment.mpPage != nullptr; });
750 pPage = aIter->mpPage;
752 OSL_ENSURE(pPage,
"no page outside this section!");
758 OSL_ENSURE(pFormat,
"impossible");
768 if ((nSectionLeft != 0) || (nSectionRight != 0))
785 bool bRestartLnNumPerSection = (1 == rSection.
maSep.
lnc);
813 if ((0 < rSection.
maSep.
lnnMin) || bRestartLnNumPerSection)
835 , mnVerticalAdjustment(drawing::TextVerticalAdjust_TOP)
837 , mbHasFootnote(false)
872 OSL_ENSURE(pSep,
"impossible!");
882 if( txtNode->Len() == 0 )
894 pWkb->
Where() == nTextPos)
898 bool bSuccess = pWkb->
Get(nTest,
pData);
915 sal_uInt16 nLIdx = ( (
static_cast<sal_uInt16
>(
mrReader.
m_xWwFib->m_lid) & 0xff ) == 0x9 ) ? 1 : 0;
920 static const sal_uInt16 aVer2Ids0[] =
930 static const sal_uInt16 aVer67Ids0[] =
940 static const sal_uInt16 aVer8Ids0[] =
950 const sal_uInt16* pIds = eVer <=
ww::eWW2 ? aVer2Ids0 : eVer <=
ww::eWW7 ? aVer67Ids0 : aVer8Ids0;
1003 int nColumnDataIdx = 0;
1009 for (
sal_uInt8 nColumn = 0; nColumn < nColumnCount; ++nColumn )
1015 OSL_ENSURE( pSW,
"+Sprm 136 (resp. 0xF203) (ColWidth) missing" );
1016 sal_uInt16 nWidth = (pSW && aSWRes.
nRemainingData >= 3) ? SVBT16ToUInt16(pSW + 1) : 1440;
1020 if ( nColumn < nColumnCount - 1 )
1026 OSL_ENSURE( pSD,
"+Sprm 137 (resp. 0xF204) (Colspacing) missing" );
1029 nWidth = SVBT16ToUInt16(pSD + 1);
1037 static const sal_uInt16 aVer2Ids1[] =
1051 static const sal_uInt16 aVer67Ids1[] =
1065 static const sal_uInt16 aVer8Ids1[] =
1079 pIds = eVer <=
ww::eWW2 ? aVer2Ids1 : eVer <=
ww::eWW7 ? aVer67Ids1 : aVer8Ids1;
1091 static const sal_uInt16 nLef[] = {
MM_250, 1800 };
1092 static const sal_uInt16 nRig[] = {
MM_250, 1800 };
1134 aRes = pSep->
HasSprm(pIds[8]);
1139 aRes = pSep->
HasSprm(pIds[9]);
1144 static const sal_uInt16 nTop[] = {
MM_250, 1440 };
1145 static const sal_uInt16 nBot[] = {
MM_200, 1440 };
1147 static const sal_uInt16 aVer2Ids2[] =
1159 static const sal_uInt16 aVer67Ids2[] =
1170 static const sal_uInt16 aVer8Ids2[] =
1182 pIds = eVer <=
ww::eWW2 ? aVer2Ids2 : eVer <=
ww::eWW7 ? aVer67Ids2 : aVer8Ids2;
1242 for (
int nI = 0, nMask = 1; nI < 6; ++nI, nMask <<= 1)
1327 else if (nBrcVer == 8 && nLen >=
sizeof(
WW8_BRC))
1333 return nullptr !=
pS;
1352 a8Sprm[0], a8Sprm[1], a8Sprm[2], a8Sprm[3]))
1354 for(
int i = 0;
i < 4; ++
i )
1363 a9Sprm[0], a9Sprm[1], a9Sprm[2], a9Sprm[3]))
1365 for(
int i = 0;
i < 4; ++
i )
1373 static const sal_uInt16 aVer67Ids[5] = {
1381 static const sal_uInt16 aVer8Ids[5] = {
1389 static const sal_uInt16 aVer9Ids[5] = {
1401 for(
int i = 0;
i < 5; ++
i )
1409 for(
int i = 0;
i < 5; ++
i )
1415 for(
int i = 0;
i < 5; ++
i )
1426 for(
int i = 0;
i < 5; ++
i )
1434 for(
int i = 0;
i < 5; ++
i )
1440 for(
int i = 0;
i < 5; ++
i )
1448 OSL_ENSURE( pSty || pPap,
"WW8PLCFx_Cp_FKP and WW8RStyle "
1449 "and WW8PLCFx_SEPX is 0" );
1457 sal_uInt32 cv,
short nIdx,
SvxBoxItemLine nOOIndex, sal_uInt16 nWWIndex,
1461 if ( nIdx == 0x1A || nIdx == 0x1B )
1463 nIdx = (nIdx == 0x1A) ? 0x12 : 0x11;
1468 ::editeng::ConvertBorderStyleFromWord(nIdx));
1472 double const fConverted( (SvxBorderLineStyle::NONE == eStyle) ? 0.0 :
1473 ::editeng::ConvertBorderWidthFromWord(eStyle, nLineThickness, nIdx));
1482 pSize[nWWIndex] = fConverted + nSpace;
1484 rBox.
SetLine(&aLine, nOOIndex);
1490 sal_uInt16 nWWIndex,
short *pSize,
const bool bIgnoreSpace)
1495 GetLineIndex(rBox, nLineThickness, bIgnoreSpace ? 0 : nSpace,
1496 rBor.
cv(), rBor.
brcType(), nOOIndex, nWWIndex, pSize );
1515 short *pSizeArray,
sal_uInt8 nSetBorders)
1517 bool bChange =
false;
1518 static const std::pair<sal_uInt16, SvxBoxItemLine> aIdArr[] =
1520 {
WW8_TOP, SvxBoxItemLine::TOP },
1521 {
WW8_LEFT, SvxBoxItemLine::LEFT },
1523 {
WW8_BOT, SvxBoxItemLine::BOTTOM },
1524 {
WW8_BETW, SvxBoxItemLine::BOTTOM }
1527 for(
int i = 0;
i < 4; ++
i )
1536 else if ( nSetBorders & (1 << aIdArr[
i].
first) )
1549 rBox.
SetLine(
nullptr, aIdArr[
i ].second );
1568 rShadow.
SetLocation(SvxShadowLocation::BottomRight);
1578 pbrc[ 0 ].dptSpace() * 20,
1579 pbrc[ 3 ].dptSpace() * 20,
1580 pbrc[ 2 ].dptSpace() * 20 );
1586 bool bShadowed =
false;
1592 rFlySet.
Put( aBox );
1599 rFlySet.
Put( aShadow );
1608#define MAX_BORDER_SIZE 210
1609#define MAX_EMPTY_BORDER 10
1624 *pVar =
static_cast<sal_Int16
>(SVBT16ToUInt16(aS.
pSprm));
1625 return aS.
pSprm !=
nullptr;
1632 *pVar =
static_cast<sal_Int16
>(SVBT16ToUInt16(aS.
pSprm));
1633 return aS.
pSprm !=
nullptr;
1689 ((
nSp45 & 0x7fff) == (rSrc.
nSp45 & 0x7fff)) &&
1747 nTPc = (nOrigSprmTPc & 0xCF) | 0x20;
1749 nTPc = nOrigSprmTPc;
1754 std::shared_ptr<WW8PLCFMan> xPlcxMan = pIo->
m_xPlcxMan;
1757 Read(nOrigSprmTPc, pPap);
1768 xPlcxMan->GetPap()->Save( aSave );
1777 if( nText[0] != 0x01 || nText[1] != 0x0d )
1795 sal_uInt16 nColl = pPap->
GetIstd();
1798 ww::sti eSti = eVer < ww::eWW6 ? ww::GetCanonicalStiFromStc(nColl) : static_cast<ww::sti>(nColl);
1799 while (eSti !=
ww::stiNil &&
static_cast<size_t>(nColl) < pIo->
m_vColl.size() &&
nullptr == (pNowStyleApo = pIo->
m_vColl[nColl].m_xWWFly.get()))
1801 aSeenStyles.
insert(nColl);
1803 nColl = pIo->
m_vColl[nColl].m_nBase;
1805 if (aSeenStyles.
find(nColl) != aSeenStyles.
end())
1807 SAL_WARN(
"sw.ww8",
"loop in style chain");
1811 eSti = eVer < ww::eWW6 ? ww::GetCanonicalStiFromStc(nColl) : static_cast<ww::sti>(nColl);
1817 if( !( aF == *
this ) )
1823 xPlcxMan->GetPap()->Restore( aSave );
1875 nTPc = (nOrigSprmTPc & 0xCF) | 0x20;
1877 nTPc = nOrigSprmTPc;
1888 OSL_ENSURE(aEmpty.
nPWr == 2,
"this is not what we expect for nPWr");
1889 if (this->
nPWr == 0)
1891 return aEmpty == *
this;
1898 const sal_uInt32 nWWPgTop,
1899 const sal_uInt32 nPgWidth,
1900 const sal_Int32 nIniFlyDx,
1901 const sal_Int32 nIniFlyDy ):
1906nUpperMargin(rWW.nUpperMargin),
1907nLowerMargin(rWW.nLowerMargin),
1910nNetWidth(rWW.nSp28),
1912eHRel(
text::RelOrientation::PAGE_FRAME),
1914eVAlign(
text::VertOrientation::
NONE),
1915eHAlign(
text::HoriOrientation::
NONE),
1916nXBind(( rWW.nTPc & 0xc0 ) >> 6),
1917nYBind(( rWW.nTPc & 0x30 ) >> 4),
1926 eSurround = css::text::WrapTextMode_DYNAMIC;
1930 eSurround = css::text::WrapTextMode_NONE;
1934 eSurround = css::text::WrapTextMode_PARALLEL;
1937 eSurround = css::text::WrapTextMode_THROUGH;
1940 eSurround = css::text::WrapTextMode_DYNAMIC;
1965 msword_cast<sal_Int16>(nPgWidth ? nPgWidth : 2268);
1987 eVRel = text::RelOrientation::PAGE_PRINT_AREA;
1990 eVRel = text::RelOrientation::PAGE_FRAME;
2003 eVRel = text::RelOrientation::FRAME;
2006 eVAlign = text::VertOrientation::TOP;
2011 eVAlign = text::VertOrientation::CENTER;
2014 eVAlign = text::VertOrientation::BOTTOM;
2026 eHAlign = text::HoriOrientation::LEFT;
2030 eHAlign = text::HoriOrientation::CENTER;
2033 eHAlign = text::HoriOrientation::RIGHT;
2037 eHAlign = text::HoriOrientation::LEFT;
2041 eHAlign = text::HoriOrientation::RIGHT;
2053 eHRel = text::RelOrientation::FRAME;
2056 eHRel = text::RelOrientation::PAGE_PRINT_AREA;
2072 sal_Int16 nLeBorderMgn( 0 );
2077 nLeBorderMgn = nLeBorderMgn + nTemp;
2080 sal_Int16 nRiBorderMgn( 0 );
2085 nRiBorderMgn = nRiBorderMgn + nTemp;
2087 if ( !
bAutoWidth &&
eHAlign == text::HoriOrientation::LEFT &&
eHRel == text::RelOrientation::PAGE_FRAME )
2093 eHRel = text::RelOrientation::PAGE_PRINT_AREA;
2098 else if ( !
bAutoWidth &&
eHAlign == text::HoriOrientation::RIGHT &&
eHRel == text::RelOrientation::PAGE_FRAME )
2104 eHRel = text::RelOrientation::PAGE_RIGHT;
2109 else if ( !
bAutoWidth &&
eHAlign == text::HoriOrientation::LEFT &&
eHRel == text::RelOrientation::PAGE_PRINT_AREA )
2114 eHRel = text::RelOrientation::PAGE_PRINT_AREA;
2115 nXPos = -nLeBorderMgn;
2119 else if ( !
bAutoWidth &&
eHAlign == text::HoriOrientation::RIGHT &&
eHRel == text::RelOrientation::PAGE_PRINT_AREA )
2124 eHRel = text::RelOrientation::PAGE_RIGHT;
2137 sal_Int16 nLeLMgn = 0;
2139 nLeLMgn = nLeLMgn + nTemp;
2143 if (
eHAlign == text::HoriOrientation::LEFT)
2154 eVRel = text::RelOrientation::PAGE_FRAME;
2155 nYPos =
static_cast< sal_Int16
>(
nYPos + nWWPgTop );
2201 sal_Int16 eHRel = pFS->
eHRel;
2215 if ( pFS->
eSurround == css::text::WrapTextMode_DYNAMIC )
2219 short aSizeArray[5]={0};
2227 text::WrapInfluenceOnPosition::ONCE_SUCCESSIVE ) );
2250 Init(rReader, pPaM);
2254 short aSizeArray[5]={0};
2265 for (
int i = 0;
i < 4;
i++)
2299 : m_pCtrlStck(pStack),
2300 m_aChrSet(rDoc.GetAttrPool()),
2301 m_aParSet(rDoc.GetAttrPool())
2306 for (
size_t i=0;
i < nCnt; ++
i)
2335 }
while ((pItem = aIter.
NextItem()));
2348 OSL_ENSURE( rContent.
GetContentIdx(),
"No content prepared." );
2383 if(aIdx.GetNode().IsTableNode())
2388 if ( (aIdx < aEnd) && aIdx.GetNode().IsTextNode() )
2392 if (aIdx == aEnd && pNd && pNd->
GetText().isEmpty())
2435 OSL_ENSURE(rApo.
HasFrame() || pTabPos,
2436 "If no frame found, *MUST* be in a table");
2444 pRet->ApplyTabPos(pTabPos);
2446 if (pRet->IsEmpty())
2474 short nDCS = SVBT16ToUInt16(aDCS.
pSprm);
2528 if (pAnchorNode && *pAnchorNode == pPoint->
GetNode())
2543 OSL_ENSURE(
m_xSFlyPara->GetFlyFormat()->GetAnchor().GetAnchorId() ==
2552 m_xWWZOrder->InsertTextLayerObject(pOurNewObject);
2617 if (aLastAnchorPos == aToBeJoined)
2625 if (aDropCharPos == aToBeJoined)
2634 if (aOpenApoPos == aToBeJoined)
2687 OSL_ENSURE(
m_xSFlyPara->xMainTextPos,
"StopApo: xMainTextPos is nullptr");
2740 if (aLastAnchorPos == aToBeJoined)
2796 m_xSFlyPara->GetFlyFormat()->SetFormatAttr(aSize);
2819 OSL_ENSURE(
m_xWFlyPara,
" Where is my pWFlyPara ? ");
2839 const bool bFirstLineOfStSet,
2840 const bool bLeftIndentSet )
2862 if ( bFirstLineOfStSet )
2868 if ( bLeftIndentSet )
2991 else if (
m_pPaM !=
nullptr)
3029 reinterpret_cast<const char*
>(
pData+2), 1,
3030 RTL_TEXTENCODING_MS_1252).toChar();
3051 const int nContiguousWestern = 8;
3052 const int nWestern = nContiguousWestern + 1;
3053 const int nEastern = 2;
3055 const int nIds = nWestern + nEastern + nCTL;
3056 static const sal_uInt16 nEndIds[ nIds ] =
3075 nI = nContiguousWestern;
3087 sal_uInt16 nMask = 1 << nI;
3108 bool bOn = *
pData & 1;
3249 static const sal_uInt16 nEndIds[2] =
3263 OSL_ENSURE(nI <= 1,
"not happening");
3267 sal_uInt16 nMask = 1 << nI;
3275 bool bOn = *
pData & 1;
3290 && ( *
pData & 0x80 )
3335 OSL_ENSURE(
false,
"Unhandled unknown bidi toggle attribute");
3414 OSL_ENSURE(
false,
"Unhandled unknown toggle attribute");
3420 sal_uInt16 nNewStyle81Mask )
3422 sal_uInt16
i = 1, nToggleAttrFlags =
m_xCtrlStck->GetToggleAttrFlags();
3426 (
i & nToggleAttrFlags) &&
3427 ((
i & nOldStyle81Mask) != (
i & nNewStyle81Mask))
3436 sal_uInt16 nNewStyle81Mask )
3438 sal_uInt16
i = 1, nToggleAttrFlags =
m_xCtrlStck->GetToggleBiDiAttrFlags();
3442 (
i & nToggleAttrFlags) &&
3443 ((
i & nOldStyle81Mask) != (
i & nNewStyle81Mask))
3496 aBegin == aEnd && nBegin == nEnd - 1 &&
3521 bool bIsGraphicPlacementHack =
false;
3536 bIsGraphicPlacementHack =
true;
3539 return bIsGraphicPlacementHack;
3546 if (nLen < (eVersion <=
ww::eWW2 ? 1 : 2))
3563 short nPos = eVersion <= ww::eWW2 ? static_cast< sal_Int8 >( *
pData ) : SVBT16ToInt16(
pData );
3564 sal_Int32 nPos2 =
nPos * ( 10 * 100 );
3567 OSL_ENSURE(pF,
"Expected to have the fontheight available here");
3570 sal_Int32 nHeight = 240;
3571 if (pF !=
nullptr && pF->GetHeight() != 0)
3572 nHeight = pF->GetHeight();
3585 bool bWordLine =
false;
3594 case 2: bWordLine =
true;
3645 else if(
pData && 6 == nLen )
3652 switch( SVBT16ToUInt16(
pData+1 ) )
3654 case 1: cStt =
'('; cEnd =
')';
break;
3655 case 2: cStt =
'['; cEnd =
']';
break;
3656 case 3: cStt =
'<'; cEnd =
'>';
break;
3657 case 4: cStt =
'{'; cEnd =
'}';
break;
3665 bool bFitToLine = 0 != *(
pData+1);
3754 if (pUnderlineAttr && nLen >= 4)
3760 OUString& rName,
FontPitch& rePitch, rtl_TextEncoding& reCharSet )
3792 reCharSet = RTL_TEXTENCODING_DONTKNOW;
3794 reCharSet = rtl_getTextEncodingFromWindowsCharset(pF->
aFFNBase.
chs);
3801 if (rName.startsWithIgnoreAsciiCase(
"Tms Rmn") ||
3802 rName.startsWithIgnoreAsciiCase(
"Timmons") ||
3803 rName.startsWithIgnoreAsciiCase(
"CG Times") ||
3804 rName.startsWithIgnoreAsciiCase(
"MS Serif") ||
3805 rName.startsWithIgnoreAsciiCase(
"Garamond") ||
3806 rName.startsWithIgnoreAsciiCase(
"Times Roman") ||
3807 rName.startsWithIgnoreAsciiCase(
"Times New Roman"))
3811 else if (rName.startsWithIgnoreAsciiCase(
"Helv") ||
3812 rName.startsWithIgnoreAsciiCase(
"Arial") ||
3813 rName.startsWithIgnoreAsciiCase(
"Univers") ||
3814 rName.startsWithIgnoreAsciiCase(
"LinePrinter") ||
3815 rName.startsWithIgnoreAsciiCase(
"Lucida Sans") ||
3816 rName.startsWithIgnoreAsciiCase(
"Small Fonts") ||
3817 rName.startsWithIgnoreAsciiCase(
"MS Sans Serif"))
3835 rtl_TextEncoding eSrcCharSet;
3852 eSrcCharSet = RTL_TEXTENCODING_DONTKNOW;
3865 eSrcCharSet = RTL_TEXTENCODING_DONTKNOW;
3874 rtl_TextEncoding eDstCharSet = eSrcCharSet;
3876 SvxFontItem aFont( eFamily,
aName, OUString(), ePitch, eDstCharSet, nWhich);
3993 sal_uInt16 nFCode = SVBT16ToUInt16(
pData );
4023 if (nLen < (eVersion <=
ww::eWW2 ? 1 : 2))
4073 if (nfChsDiff && nLen >= 2)
4121 sal_uInt16
nId = SVBT16ToUInt16(
pData );
4150 sal_Int16 nKern = SVBT16ToUInt16(
pData );
4161 sal_Int16 nAutoKern = SVBT16ToUInt16(
pData );
4185 std::map<OUString, css::uno::Any>& rMap = aGrabBag.
GetGrabBag();
4186 rMap.insert(std::pair<OUString, css::uno::Any>(
"CharShadingMarker",
uno::Any(
true)));
4199 OSL_ENSURE(nLen == 10,
"Len of para back colour not 10!");
4207 std::map<OUString, css::uno::Any>& rMap = aGrabBag.
GetGrabBag();
4208 rMap.insert(std::pair<OUString, css::uno::Any>(
"CharShadingMarker",
uno::Any(
true)));
4277 short nPara = SVBT16ToUInt16(
pData );
4280 ::std::unique_ptr<SvxFirstLineIndentItem> pFirstLine(pItem
4284 ::std::unique_ptr<SvxTextLeftMarginItem> pLeftMargin(pItem
4288 ::std::unique_ptr<SvxRightMarginItem> pRightMargin(pItem
4309 pFirstLine->SetTextFirstLineOffset(
static_cast<short>(pFormat->
GetFirstLineIndent()));
4311 pTextNode->
SetAttr(*pLeftMargin);
4312 pTextNode->
SetAttr(*pFirstLine);
4343 bool bFirstLinOfstSet(
false );
4344 bool bLeftIndentSet(
false );
4352 pLeftMargin->SetTextLeft(nPara);
4357 bLeftIndentSet =
true;
4385 pFirstLine->SetTextFirstLineOffset(nPara);
4395 pLeftMargin->SetTextLeft(pNumFormat->GetIndentAt());
4399 if ( pDefaultStopItem && pDefaultStopItem->
Count() > 0 )
4409 bFirstLinOfstSet =
true;
4415 pRightMargin->SetRight(nPara);
4421 NewAttr(*pFirstLine, bFirstLinOfstSet,
false);
4422 NewAttr(*pLeftMargin,
false, bLeftIndentSet);
4423 NewAttr(*pRightMargin,
false,
false);
4435 if (nLen < (eVersion <=
ww::eWW2 ? 3 : 4))
4443 short nSpace = SVBT16ToUInt16(
pData );
4444 short nMulti = (eVersion <=
ww::eWW2) ? 1 : SVBT16ToUInt16(
pData + 2 );
4450 eLnSpc = SvxLineSpaceRule::Fix;
4453 eLnSpc = SvxLineSpaceRule::Min;
4465 sal_uInt16 nSpaceTw = 0;
4477 nSpaceTw = o3tl::narrowing<sal_uInt16>(
n * pH->
GetHeight() / 100 );
4482 nSpaceTw = o3tl::narrowing<sal_uInt16>(nSpace);
4494 if (fDontUseHTMLAutoSpacing)
4574 short nPara = SVBT16ToUInt16(
pData );
4617 if (!pText || !
nPos)
4676 bool bDistributed =
false;
4683 eAdjust = SvxAdjust::Center;
4686 eAdjust = SvxAdjust::Right;
4689 eAdjust = SvxAdjust::Block;
4692 eAdjust = SvxAdjust::Block;
4693 bDistributed =
true;
4711 bRTL = *aDir.
pSprm != 0;
4716 if (pItem && (pItem->GetValue() == SvxFrameDirection::Horizontal_RL_TB))
4737 bool bDistributed =
false;
4744 eAdjust = SvxAdjust::Center;
4747 eAdjust = SvxAdjust::Left;
4750 eAdjust = SvxAdjust::Block;
4753 eAdjust = SvxAdjust::Block;
4754 bDistributed =
true;
4780 OSL_ENSURE(
false,
"wrong Id" );
4789 pI->SetValue( 0 != *
pData );
4821 nVal = FontEmphasisMark::NONE;
4825 nVal = (FontEmphasisMark::Circle | FontEmphasisMark::PosAbove);
4827 nVal = (FontEmphasisMark::Accent | FontEmphasisMark::PosAbove);
4829 nVal = (FontEmphasisMark::Dot | FontEmphasisMark::PosBelow);
4832 nVal = (FontEmphasisMark::Circle | FontEmphasisMark::PosAbove);
4835 nVal = (FontEmphasisMark::Dot | FontEmphasisMark::PosBelow);
4839 nVal = (FontEmphasisMark::Dot | FontEmphasisMark::PosBelow);
4841 nVal = (FontEmphasisMark::Dot | FontEmphasisMark::PosAbove);
4844 nVal = (FontEmphasisMark::Dot | FontEmphasisMark::PosAbove);
4858 sal_uInt16 nVal = SVBT16ToUInt16(
pData );
4860 if (nVal < 1 || nVal > 600)
4882 : FontRelief::NONE );
4883 if( pOld->GetValue() == nNewValue )
4885 if( FontRelief::NONE != nNewValue )
4886 nNewValue = FontRelief::NONE;
4919 OSL_ENSURE(b < 17,
"ww8: colour out of range");
4926 OSL_ENSURE(b < 17,
"ww8: colour out of range");
5016 Color nUseBack = nBack;
5025 switch (nWW8BrushStyle)
5032 Color aForeColor(nFore);
5033 Color aBackColor(nUseBack);
5035 sal_uInt32 nRed = aForeColor.
GetRed() * nWW8BrushStyle;
5036 sal_uInt32 nGreen = aForeColor.
GetGreen() * nWW8BrushStyle;
5037 sal_uInt32 nBlue = aForeColor.
GetBlue() * nWW8BrushStyle;
5038 nRed += aBackColor.
GetRed() * (1000 - nWW8BrushStyle);
5039 nGreen += aBackColor.
GetGreen()* (1000 - nWW8BrushStyle);
5040 nBlue += aBackColor.
GetBlue() * (1000 - nWW8BrushStyle);
5080 OSL_ENSURE(nLen == 10,
"Len of para back colour not 10!");
5095 OSL_ENSURE(!bVer67,
"Impossible");
5100 sal_uInt16
nIndex = SVBT16ToUInt16(rpData);
5107 "ww8: don't know what to do with such a transparent bg colour, report");
5117 drawing::TextVerticalAdjust nVA = drawing::TextVerticalAdjust_TOP;
5121 nVA = drawing::TextVerticalAdjust_CENTER;
5124 nVA = drawing::TextVerticalAdjust_BLOCK;
5127 nVA = drawing::TextVerticalAdjust_BOTTOM;
5175 std::shared_ptr<SvxBoxItem> aBox(std::make_shared<SvxBoxItem>(
RES_BOX));
5177 aBox.reset(pBox->
Clone());
5178 short aSizeArray[5]={0};
5186 aBox->SetDistance( o3tl::narrowing<sal_uInt16>(aInnerDist.
Left()), SvxBoxItemLine::LEFT );
5189 aBox->SetDistance( o3tl::narrowing<sal_uInt16>(aInnerDist.
Top()), SvxBoxItemLine::TOP );
5192 aBox->SetDistance( o3tl::narrowing<sal_uInt16>(aInnerDist.
Right()), SvxBoxItemLine::RIGHT );
5195 aBox->SetDistance( o3tl::narrowing<sal_uInt16>(aInnerDist.
Bottom()), SvxBoxItemLine::BOTTOM );
5201 if ( aBox->CalcLineSpace( SvxBoxItemLine::RIGHT ) )
5226 std::unique_ptr<SvxBoxItem> aBoxItem(pBox->
Clone());
5232 Set1Border(*aBoxItem, aBrc, SvxBoxItemLine::TOP, 0,
nullptr,
true);
5233 Set1Border(*aBoxItem, aBrc, SvxBoxItemLine::BOTTOM, 0,
nullptr,
true);
5234 Set1Border(*aBoxItem, aBrc, SvxBoxItemLine::LEFT, 0,
nullptr,
true);
5235 Set1Border(*aBoxItem, aBrc, SvxBoxItemLine::RIGHT, 0,
nullptr,
true);
5241 if ( aBoxItem->CalcLineSpace( SvxBoxItemLine::RIGHT ) )
5242 SetShadow( aShadowItem, &aSizeArray[0], aBrc );
5310 sal_uInt16 nVal = SVBT16ToUInt16(
pData );
5331 OSL_ENSURE(
false,
"Unknown paragraph vertical align");
5360 ( *
pData & 1 ) ? SvxBreak::PageBefore : SvxBreak::NONE,
RES_BREAK ) );
5419 static const FNReadRecordExt aWwSprmTab[] =
5434 && aWwSprmTab[nIdx] )
5435 return (this->*aWwSprmTab[nIdx])(pRes);
5447 static const FNReadRecordExt aWwSprmTab[] =
5458 && aWwSprmTab[nIdx] )
5459 (this->*aWwSprmTab[nIdx])();
5475 return (rFirst.
nId < rSecond.
nId);
6238 pFound = pDispatcher->
search(aSrch);
6248 if( (
nId > 255 ) && (
nId < 0x0800 ) )
return;
6261 OSL_ENSURE(
nId != 0xff,
"Sprm FF !!!!" );
6269 (this->*rSprm.
pReadFnc)(
nId, pPos + nFixedLen, nL - nFixedLen);
sal_uInt8 GetBlue() const
bool IsTransparent() const
sal_uInt8 GetGreen() const
void SetAlpha(sal_uInt8 nAlpha)
virtual void DeleteRange(SwPaM &)=0
Delete a range SwFlyFrameFormat.
virtual void set(DocumentSettingId id, bool value)=0
Set the specified document setting.
static bool isKorean(LanguageType nLang)
static bool isTraditionalChinese(LanguageType nLang)
static bool isSimplifiedChinese(LanguageType nLang)
static void ResetFrameFormatAttrs(SfxItemSet &rFrameSet)
const std::map< OUString, css::uno::Any > & GetGrabBag() const
const SfxPoolItem * GetCurItem() const
const SfxPoolItem * NextItem()
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
const SfxPoolItem * GetPoolDefaultItem(sal_uInt16 nWhich) const
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
virtual SfxPoolItem * Clone(SfxItemPool *pPool=nullptr) const=0
sal_uInt64 Seek(sal_uInt64 nPos)
SvxAdjust GetAdjust() const
void SetLastBlock(const SvxAdjust eType)
virtual SvxBoxItem * Clone(SfxItemPool *pPool=nullptr) const override
const editeng::SvxBorderLine * GetLine(SvxBoxItemLine nLine) const
void SetLine(const editeng::SvxBorderLine *pNew, SvxBoxItemLine nLine)
sal_Int16 GetDistance(SvxBoxItemLine nLine, bool bAllowNegative=false) const
void SetDistance(sal_Int16 nNew, SvxBoxItemLine nLine)
const Color & GetColor() const
short GetTextFirstLineOffset() const
sal_uInt32 GetHeight() const
void SetHyphen(const bool bNew)
sal_uInt8 & GetMaxHyphens()
sal_uInt8 & GetMinTrail()
void SetGutterMargin(const tools::Long nGutterMargin)
void SetRight(const tools::Long nR, const sal_uInt16 nProp=100)
tools::Long GetRight() const
tools::Long GetLeft() const
void SetLeft(const tools::Long nL, const sal_uInt16 nProp=100)
void SetPropLineSpace(const sal_uInt16 nProp)
void SetLineSpaceRule(SvxLineSpaceRule e)
void SetLineHeight(const sal_uInt16 nHeight)
void SetNumberingType(SvxNumType nSet)
static tools::Long GetSloppyPaperDimension(tools::Long nSize)
void SetRight(const tools::Long nR, const sal_uInt16 nProp=100)
tools::Long GetRight() const
void SetLocation(SvxShadowLocation eNew)
void SetWidth(sal_uInt16 nNew)
void SetColor(const Color &rNew)
tools::Long GetHeight() const
tools::Long GetWidth() const
void SetHeight(tools::Long n)
void SetWidth(tools::Long n)
void SetColor(const Color &rColor)
void SetLower(const sal_uInt16 nL, const sal_uInt16 nProp=100)
sal_uInt16 GetUpper() const
void SetUpper(const sal_uInt16 nU, const sal_uInt16 nProp=100)
sal_uInt16 GetLower() const
void SetContextValue(const bool bC)
void SetRight(sal_uInt16 nNew)
void SetLeft(sal_uInt16 nNew)
void SetWishWidth(sal_uInt16 nNew)
SwFlyFrameFormat * MakeFlySection(RndStdIds eAnchorType, const SwPosition *pAnchorPos, const SfxItemSet *pSet=nullptr, SwFrameFormat *pParent=nullptr, bool bCalledFromShell=false)
SwSection * InsertSwSection(SwPaM const &rRange, SwSectionData &, std::tuple< SwTOXBase const *, sw::RedlineMode, sw::FieldmarkMode, sw::ParagraphBreakMode > const *pTOXBase, SfxItemSet const *const pAttr, bool const bUpdate=true)
const SwLineNumberInfo & GetLineNumberInfo() const
IDocumentContentOperations const & getIDocumentContentOperations() const
IDocumentSettingAccess const & getIDocumentSettingAccess() const
OUString GetUniqueSectionName(const OUString *pChkStr=nullptr) const
std::shared_ptr< SwUnoCursor > CreateUnoCursor(const SwPosition &rPos, bool bTableCursor=false)
void SetLineNumberInfo(const SwLineNumberInfo &rInfo)
const SwAttrPool & GetAttrPool() const
void SetDefaultPageMode(bool bSquaredPageMode)
void CopyFooter(const SwFrameFormat &rSrcFormat, SwFrameFormat &rDestFormat)
Copy footer (with contents) from SrcFormat to DestFormat.
const SwPageDesc & GetPageDesc(const size_t i) const
void CopyHeader(const SwFrameFormat &rSrcFormat, SwFrameFormat &rDestFormat)
Copy header (with contents) from SrcFormat to DestFormat (can also be copied into other document).
Entries::size_type size() const
SW_DLLPUBLIC bool MakeRegion(SwDoc &rDoc, SwPaM &rRegion, RegionMode eCheck) const
std::unique_ptr< SfxPoolItem > m_pAttr
Content, content of frame (header, footer, fly).
const SwNodeIndex * GetContentIdx() const
< purpose of derivation from SwClient: character style for displaying the numbers.
void SetPaintLineNumbers(bool b)
void SetPos(LineNumberPosition eP)
void SetCountBlankLines(bool b)
void SetRestartEachPage(bool b)
void SetNumType(SvxNumberType aNew)
void SetCountBy(sal_uInt16 n)
void SetPosFromLeft(sal_uInt16 n)
void SetCountInFlys(bool b)
Marks a node in the document model.
SwNodeOffset GetIndex() const
Base class of the Writer document model elements.
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
SwTableNode * GetTableNode()
const SwEndNode * EndOfSectionNode() const
const SwNumFormat * GetNumFormat(sal_uInt16 i) const
PaM is Point and Mark: a selection of the document model.
const SwPosition * GetMark() const
SwNode & GetPointNode() const
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
const SwPosition * End() const
const SwPosition * GetPoint() const
const SwPosition * Start() const
SwFrameFormat & GetMaster()
SwFrameFormat & GetFirstMaster()
void SetNumType(const SvxNumberType &rNew)
SwFrameFormat & GetLeft()
void SetLandscape(bool bNew)
SAL_DLLPRIVATE void SetProtectFlag(bool const bFlag)
void SetLinkFileName(OUString const &rNew)
SwSectionFormat * GetFormat()
const SwTable & GetTable() const
SwTable is one table in the document model, containing rows (which contain cells).
SwTableFormat * GetFrameFormat()
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
const SwFormatFlyCnt & GetFlyCnt() const
Represents the style of a paragraph.
void DeleteAssignmentToListLevelOfOutlineStyle()
void SetSnapToChars(bool bNew)
void SetRubyHeight(sal_uInt16 nNew)
void SetBaseHeight(sal_uInt16 nNew)
void SetSquaredMode(bool bNew)
void SetPrintGrid(bool bNew)
void SetBaseWidth(sal_uInt16 nNew)
void SetGridType(SwTextGrid eNew)
void SetDisplayGrid(bool bNew)
void SetLines(sal_Int32 nNew)
SwTextNode is a paragraph in the document model.
virtual SwContentNode * JoinNext() override
SwTextAttr * InsertItem(SfxPoolItem &rAttr, const sal_Int32 nStart, const sal_Int32 nEnd, const SetAttrMode nMode=SetAttrMode::DEFAULT)
create new text attribute from rAttr and insert it
::sw::ListLevelIndents AreListLevelIndentsApplicable() const
Determines, if the list level indent attributes can be applied to the paragraph.
const SfxPoolItem & GetAttr(sal_uInt16 nWhich, bool bInParent=true) const
End: Data collected during idle time.
virtual bool SetAttr(const SfxPoolItem &) override
overriding to handle change of certain paragraph attributes
SwNumRule * GetNumRule(bool bInParent=true) const
Returns numbering rule of this text node.
int GetActualListLevel(SwListRedlineType eRedline=SwListRedlineType::SHOW) const
Returns the actual list level of this text node, when it is a list item.
const OUString & GetText() const
SwTextAttr * GetTextAttrForCharAt(const sal_Int32 nIndex, const sal_uInt16 nWhich=RES_TXTATR_END) const
get the text attribute at position nIndex which owns the dummy character CH_TXTATR_* at that position...
void NewAttr(const SwPosition &rPos, const SfxPoolItem &rAttr)
Stack.
void Read_Justify(sal_uInt16, const sal_uInt8 *, short nLen)
void Read_DoubleLine_Rotate(sal_uInt16, const sal_uInt8 *pDATA, short nLen)
void Read_POutLvl(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::optional< SwPosition > m_oLastAnchorPos
std::stack< rtl_TextEncoding > m_aFontSrcCJKCharSets
void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn)
void Read_FontSize(sal_uInt16, const sal_uInt8 *, short nLen)
void Read_Symbol(sal_uInt16, const sal_uInt8 *pData, short nLen)
sal_uInt16 End_Footnote()
void Read_AlignFont(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_LR(sal_uInt16 nId, const sal_uInt8 *, short nLen)
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingFirstLineOfstSet
std::unique_ptr< WW8PostProcessAttrsInfo > m_pPostProcessAttrsInfo
const WW8Fib & GetFib() const
void Read_Underline(sal_uInt16, const sal_uInt8 *, short nLen)
friend struct WW8SwFlyPara
static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat)
std::vector< SwWW8StyInf > m_vColl
void Read_ScaleWidth(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8 *, short nLen)
void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection)
rtl_TextEncoding m_eHardCharSet
void Read_WidowControl(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_TabRowEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_FontKern(sal_uInt16, const sal_uInt8 *pData, short nLen)
void closeFont(sal_uInt16 nId)
void Read_ANLevelNo(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_Border(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
void Read_TextColor(sal_uInt16, const sal_uInt8 *, short nLen)
static Color ExtractColour(const sal_uInt8 *&rpData, bool bVer67)
void HandleLineNumbering(const wwSection &rSection)
void Read_SubSuper(sal_uInt16, const sal_uInt8 *, short nLen)
void Read_BoolItem(sal_uInt16 nId, const sal_uInt8 *, short nLen)
void Read_UL(sal_uInt16 nId, const sal_uInt8 *, short nLen)
void Read_CharHighlight(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_Bidi(sal_uInt16 nId, const sal_uInt8 *, short nLen)
std::unique_ptr< SwWW8FltControlStack > m_xCtrlStck
void Read_CharSet(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_FontCode(sal_uInt16, const sal_uInt8 *, short nLen)
static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection)
tools::Long Read_Field(WW8PLCFManResult *pRes)
void Read_Emphasis(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< WW8SwFlyPara > m_xSFlyPara
std::unique_ptr< WW8FlyPara > m_xWFlyPara
rtl_TextEncoding m_eTextCharSet
void Read_TabCellEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< WW8PLCF_HdFt > m_xHdFt
tools::Long Read_And(WW8PLCFManResult *pRes)
Use authornames, if not available fall back to initials.
std::optional< SwLineBreakClear > m_oLineBreakClear
void openFont(sal_uInt16 nFCode, sal_uInt16 nId)
static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing)
void Read_UsePgsuSettings(sal_uInt16, const sal_uInt8 *pData, short nLen)
static bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP *pPap)
SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos, bool bTableJoin=true)
void Read_LFOPosition(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
read and interpret the sprmPIlfo used to determine which list contains the paragraph.
void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8 *pData, short nLen)
void ResetCJKCharSetVars()
bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
std::shared_ptr< WW8Fib > m_xWwFib
void Read_KeepParas(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_ParaContextualSpacing(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
wwSectionManager m_aSectionManager
void Read_CharBorder(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
void EndExtSprm(sal_uInt16 nSprmId)
void Read_RTLJustify(sal_uInt16, const sal_uInt8 *, short nLen)
bool JoinNode(SwPaM &rPam, bool bStealAttr=false)
void Read_Special(sal_uInt16, const sal_uInt8 *, short nLen)
bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich)
void Read_SubSuperProp(sal_uInt16, const sal_uInt8 *, short nLen)
void SetToggleAttr(sal_uInt8 nAttrId, bool bOn)
sal_uInt16 m_nCurrentColl
OUString ConvertFFileName(const OUString &rRaw)
translate FieldParameter names into the system character set and at the same time,...
wwExtraneousParas m_aExtraneousParas
void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
std::unique_ptr< WW8Dop > m_xWDop
bool IsListOrDropcap() const
std::unique_ptr< SfxItemSet > m_xCurrentItemSet
std::unique_ptr< WW8FlyPara > ConstructApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
std::unique_ptr< TextNodeListener > m_xPreviousNode
void Read_CColl(sal_uInt16, const sal_uInt8 *, short nLen)
void Read_ParaAutoBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
bool ConvertSubToGraphicPlacement()
void Read_CharShadow(sal_uInt16, const sal_uInt8 *pData, short nLen)
void ChkToggleBiDiAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
void Read_TextBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
bool GetFontParams(sal_uInt16, FontFamily &, OUString &, FontPitch &, rtl_TextEncoding &)
void ChkToggleAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
void Read_Tab(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
void Read_LineBreakClear(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
std::unique_ptr< FrameDeleteWatch > m_xFormatOfJustInsertedApo
void Read_ListLevel(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
std::shared_ptr< WW8PLCFMan > m_xPlcxMan
void EndSprm(sal_uInt16 nId)
void Read_KeepLines(sal_uInt16, const sal_uInt8 *pData, short nLen)
static Color GetCol(sal_uInt8 nIco)
void SetRelativeJustify(bool bRel)
void Read_ParaBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_ApoPPC(sal_uInt16, const sal_uInt8 *pData, short)
void Read_StyleCode(sal_uInt16, const sal_uInt8 *pData, short nLen)
Special FastSave - Attributes.
void Read_Hyphenation(sal_uInt16, const sal_uInt8 *pData, short nLen)
bool StyleExists(unsigned int nColl) const
std::deque< WW8FieldEntry > m_aFieldStack
void Read_CPropRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
static bool IsBorder(const WW8_BRCVer9 *pbrc, bool bChkBtwn=false)
tools::Long Read_Footnote(WW8PLCFManResult *pRes)
tools::Long Read_AtnBook(WW8PLCFManResult *)
void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
void MoveInsideFly(const SwFrameFormat *pFlyFormat)
void Read_Obj(sal_uInt16, const sal_uInt8 *, short nLen)
bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
std::stack< rtl_TextEncoding > m_aFontSrcCharSets
void Read_CFRMarkDel(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< wwZOrderer > m_xWWZOrder
void Read_TextAnim(sal_uInt16, const sal_uInt8 *pData, short nLen)
tools::Long Read_FactoidBook(WW8PLCFManResult *)
void Read_BreakBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingLeftIndentSet
void Read_FieldVanish(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
void Read_PicLoc(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_CFRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
void AppendTextNode(SwPosition &rPos)
void Read_Relief(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< WW8Fonts > m_xFonts
SdrObject * CreateContactObject(SwFrameFormat *pFlyFormat)
void Read_OLST(sal_uInt16, const sal_uInt8 *pData, short nLen)
void NewAttr(const SfxPoolItem &rAttr, const bool bFirstLineOfStSet=false, const bool bLeftIndentSet=false)
void Read_ANLevelDesc(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_ParaAutoAfter(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< sw::util::RedlineStack > m_xRedlineStack
std::unique_ptr< SwWW8FltAnchorStack > m_xAnchorStck
static bool SetShadow(SvxShadowItem &rShadow, const short *pSizeArray, const WW8_BRCVer9 &aRightBrc)
void Read_Majority(sal_uInt16, const sal_uInt8 *, short)
Read_Majority is for Majority (103) and Majority50 (108)
void CopyPageDescHdFt(const SwPageDesc *pOrgPageDesc, SwPageDesc *pNewPageDesc, sal_uInt8 nCode)
void Read_Kern(sal_uInt16, const sal_uInt8 *pData, short nLen)
tools::Long Read_Book(WW8PLCFManResult *)
void Read_IdctHint(sal_uInt16, const sal_uInt8 *, short nLen)
std::map< short, OUString > m_aLinkStringMap
static void GetBorderDistance(const WW8_BRCVer9 *pbrc, tools::Rectangle &rInnerDist)
SwFormat * m_pCurrentColl
std::unique_ptr< WW8RStyle > m_xStyles
bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel)
SwWW8StyInf * GetStyle(sal_uInt16 nColl) const
void Read_Shade(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_ParaBiDi(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_LineSpace(sal_uInt16, const sal_uInt8 *, short nLen)
std::optional< wwSprmParser > m_oSprmParser
tools::Long ImportExtSprm(WW8PLCFManResult *pRes)
void Read_NoLineNumb(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
const SfxPoolItem * GetFormatAttr(sal_uInt16 nWhich)
static bool SetBorder(SvxBoxItem &rBox, const WW8_BRCVer9 *pbrc, short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF)
void Read_TextForeColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
short ImportSprm(const sal_uInt8 *pPos, sal_Int32 nMemLen, sal_uInt16 nId=0)
SwFormat * m_pStandardFormatColl
static SwFrameFormat * ContainsSingleInlineGraphic(const SwPaM &rRegion)
static bool SetFlyBordersShadow(SfxItemSet &rFlySet, const WW8_BRCVer9 *pbrc, short *SizeArray)
void Read_UnderlineColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
const SprmReadInfo & GetSprmReadInfo(sal_uInt16 nId) const
void Read_Language(sal_uInt16, const sal_uInt8 *, short nLen)
SwWW8Shade(bool bVer67, const WW8_SHD &rSHD)
void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex)
std::shared_ptr< WW8FlyPara > m_xWWFly
sal_uInt8 mnWW8OutlineLevel
sal_uInt16 m_n81BiDiFlags
static sal_uInt8 WW8OutlineLevelToOutlinelevel(const sal_uInt8 nWW8OutlineLevel)
SfxItemSetFixed< RES_CHRATR_BEGIN, RES_CHRATR_END - 1 > m_aChrSet
SfxItemSetFixed< RES_CHRATR_BEGIN, RES_CHRATR_END - 1 > m_aParSet
WW8DupProperties(SwDoc &rDoc, SwWW8FltControlStack *pStack)
void Insert(const SwPosition &rPos)
SwWW8FltControlStack * m_pCtrlStck
ww::WordVersion GetFIBVersion() const
WW8FlySet(SwWW8ImplReader &rReader, const WW8FlyPara *pFW, const WW8SwFlyPara *pFS, bool bGraf)
void Init(const SwWW8ImplReader &rReader, const SwPaM *pPaM)
WW8PLCFx_Cp_FKP * GetPapPLCF() const
among others for fields, that is, the same number of attr as positions, if Ctor-Param bNoEnd = false
bool Get(WW8_CP &rStart, void *&rpValue) const
bool SeekPosExact(tools::Long nPos)
iterator for Piece Table Exceptions of Fkps works on CPs (high-level)
virtual void advance() override
virtual sal_uInt16 GetIstd() const override
SprmResult HasSprm(sal_uInt16 nId, bool bFindFirst=true)
Iterator for Piece Table Exceptions of Sepx.
bool Find4Sprms(sal_uInt16 nId1, sal_uInt16 nId2, sal_uInt16 nId3, sal_uInt16 nId4, SprmResult &r1, SprmResult &r2, SprmResult &r3, SprmResult &r4) const
SprmResult HasSprm(sal_uInt16 nId) const
SprmResult HasParaSprm(sal_uInt16 nId) const
void SetWidth(tools::Long nWidth)
void SetColor(const Color &rColor)
sal_uInt16 GetScaledWidth() const
void SetBorderLineStyle(SvxBorderLineStyle nNew)
const_iterator find(const Value &x) const
const_iterator end() const
std::pair< const_iterator, bool > insert(Value &&x)
SwSectionFormat * InsertSection(SwPaM const &rMyPaM, wwSection &rSection)
void JoinNode(const SwPosition &rPos, const SwNode &rNode)
static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc)
static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const &rData, const wwSection &rSection)
void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA)
SwWW8ImplReader & mrReader
sal_uInt32 GetTextAreaWidth() const
bool CurrentSectionIsVertical() const
void CreateSep(const tools::Long nTextPos)
static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection, sal_uInt32 nNetWidth)
std::deque< wwSection > maSegments
static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat, const wwSection &rSection, bool bIgnoreCols)
bool SectionIsProtected(const wwSection &rSection) const
sal_uInt32 GetWWPageTopMargin() const
static void SetLeftRight(wwSection &rSection)
void GetPageULData(const wwSection &rNewSection, wwULSpaceData &rData) const
sal_uInt32 GetPageHeight() const
bool IsFixedHeightHeader() const
sal_uInt32 GetPageWidth() const
bool HasTitlePage() const
sal_uInt32 GetPageRight() const
sal_uInt32 GetPageLeft() const
sal_Int32 StandardColSeparation() const
bool IsFixedHeightFooter() const
wwSection(const SwPosition &rPos)
sal_uInt32 GetTextAreaWidth() const
simple template that manages a static array
const C * search(C aSrch) const
constexpr ::Color COL_LIGHTRED(0xFF, 0x00, 0x00)
constexpr ::Color COL_GRAY(0x80, 0x80, 0x80)
constexpr ::Color COL_GREEN(0x00, 0x80, 0x00)
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_LIGHTCYAN(0x00, 0xFF, 0xFF)
constexpr ::Color COL_MAGENTA(0x80, 0x00, 0x80)
constexpr ::Color COL_LIGHTMAGENTA(0xFF, 0x00, 0xFF)
constexpr ::Color COL_BROWN(0x80, 0x80, 0x00)
constexpr ::Color COL_YELLOW(0xFF, 0xFF, 0x00)
constexpr ::Color COL_RED(0x80, 0x00, 0x00)
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr ::Color COL_LIGHTGRAY(0xC0, 0xC0, 0xC0)
constexpr ::Color COL_LIGHTBLUE(0x00, 0x00, 0xFF)
constexpr ::Color COL_CYAN(0x00, 0x80, 0x80)
constexpr ::Color COL_LIGHTGREEN(0x00, 0xFF, 0x00)
constexpr ::Color COL_BLUE(0x00, 0x00, 0x80)
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
#define DFLT_ESC_AUTO_SUB
#define DFLT_ESC_AUTO_SUPER
void CalculateFlySize(SfxItemSet &rFlySet, const SwNode &rAnchor, SwTwips nPageWidth)
@ Fixed
Frame cannot be moved in Var-direction.
@ Variable
Frame is variable in Var-direction.
@ Minimum
Value in Var-direction gives minimum (can be exceeded but not be less).
@ FTNEND_ATTXTEND
at end of the current text end
constexpr TypedWhichId< SvxFrameDirectionItem > RES_FRAMEDIR(126)
constexpr sal_uInt16 RES_FRMATR_BEGIN(RES_PARATR_LIST_END)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CTL_FONTSIZE(28)
constexpr TypedWhichId< SvxCrossedOutItem > RES_CHRATR_CROSSEDOUT(5)
constexpr TypedWhichId< SvxFormatKeepItem > RES_KEEP(116)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CJK_FONT(22)
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
bool isCHRATR(const sal_uInt16 nWhich)
constexpr TypedWhichId< SvxAutoKernItem > RES_CHRATR_AUTOKERN(17)
constexpr TypedWhichId< SvxShadowItem > RES_CHRATR_SHADOW(41)
constexpr TypedWhichId< SwFltRedline > RES_FLTR_REDLINE(194)
constexpr TypedWhichId< SvxForbiddenRuleItem > RES_PARATR_FORBIDDEN_RULES(75)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
constexpr TypedWhichId< SvxFirstLineIndentItem > RES_MARGIN_FIRSTLINE(91)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
constexpr TypedWhichId< SvxShadowedItem > RES_CHRATR_SHADOWED(13)
constexpr TypedWhichId< SwFormatFrameSize > RES_FRM_SIZE(89)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
constexpr TypedWhichId< SvxShadowItem > RES_SHADOW(113)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CTL_FONT(27)
constexpr TypedWhichId< SfxBoolItem > RES_RTL_GUTTER(139)
constexpr sal_uInt16 RES_FRMATR_END(141)
constexpr TypedWhichId< SfxInt16Item > RES_CHRATR_BIDIRTL(44)
constexpr TypedWhichId< SvxBrushItem > RES_CHRATR_HIGHLIGHT(42)
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(111)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CTL_WEIGHT(31)
constexpr TypedWhichId< SvxHyphenZoneItem > RES_PARATR_HYPHENZONE(69)
constexpr TypedWhichId< SvxAdjustItem > RES_PARATR_ADJUST(64)
constexpr TypedWhichId< SvxContourItem > RES_CHRATR_CONTOUR(4)
constexpr TypedWhichId< SvxCharReliefItem > RES_CHRATR_RELIEF(36)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CJK_LANGUAGE(24)
constexpr TypedWhichId< SvxCharHiddenItem > RES_CHRATR_HIDDEN(37)
constexpr TypedWhichId< SvxEscapementItem > RES_CHRATR_ESCAPEMENT(6)
constexpr TypedWhichId< SvxTabStopItem > RES_PARATR_TABSTOP(68)
constexpr TypedWhichId< SvxCharScaleWidthItem > RES_CHRATR_SCALEW(35)
constexpr TypedWhichId< SvxBrushItem > RES_CHRATR_BACKGROUND(21)
constexpr TypedWhichId< SvxCaseMapItem > RES_CHRATR_CASEMAP(RES_CHRATR_BEGIN)
constexpr TypedWhichId< SvxLineSpacingItem > RES_PARATR_LINESPACING(RES_PARATR_BEGIN)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CTL_POSTURE(30)
constexpr TypedWhichId< SwHeaderAndFooterEatSpacingItem > RES_HEADER_FOOTER_EAT_SPACING(127)
constexpr TypedWhichId< SvxOrphansItem > RES_PARATR_ORPHANS(66)
constexpr TypedWhichId< SvxEmphasisMarkItem > RES_CHRATR_EMPHASIS_MARK(33)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_POSTURE(11)
constexpr TypedWhichId< SwFormatLineNumber > RES_LINENUMBER(122)
constexpr TypedWhichId< SwCharFormat > RES_CHRFMT(RES_FMT_BEGIN)
constexpr TypedWhichId< SvxHangingPunctuationItem > RES_PARATR_HANGINGPUNCTUATION(74)
constexpr TypedWhichId< SwFormatCharFormat > RES_TXTATR_CHARFMT(52)
constexpr TypedWhichId< SfxInt16Item > RES_CHRATR_IDCTHINT(45)
constexpr TypedWhichId< SvxBlinkItem > RES_CHRATR_BLINK(18)
constexpr TypedWhichId< SvxParaVertAlignItem > RES_PARATR_VERTALIGN(76)
constexpr TypedWhichId< SvxWidowsItem > RES_PARATR_WIDOWS(67)
constexpr TypedWhichId< SwFormatFlyCnt > RES_TXTATR_FLYCNT(58)
constexpr TypedWhichId< SvxParaGridItem > RES_PARATR_SNAPTOGRID(77)
constexpr TypedWhichId< SvxCharRotateItem > RES_CHRATR_ROTATE(32)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(112)
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(100)
constexpr TypedWhichId< SfxGrabBagItem > RES_CHRATR_GRABBAG(43)
constexpr TypedWhichId< SvxRightMarginItem > RES_MARGIN_RIGHT(93)
constexpr TypedWhichId< SvxTextLeftMarginItem > RES_MARGIN_TEXTLEFT(92)
constexpr TypedWhichId< SvxScriptSpaceItem > RES_PARATR_SCRIPTSPACE(73)
constexpr TypedWhichId< SvxWordLineModeItem > RES_CHRATR_WORDLINEMODE(16)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CJK_WEIGHT(26)
constexpr TypedWhichId< SvxKerningItem > RES_CHRATR_KERNING(9)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SfxUInt16Item > RES_PARATR_OUTLINELEVEL(79)
constexpr TypedWhichId< SvxTwoLinesItem > RES_CHRATR_TWO_LINES(34)
constexpr TypedWhichId< SvxFormatSplitItem > RES_PARATR_SPLIT(65)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CJK_POSTURE(25)
constexpr TypedWhichId< SvxBoxItem > RES_CHRATR_BOX(40)
bool isPARATR(const sal_uInt16 nWhich)
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
const SfxPoolItem * GetDfltAttr(sal_uInt16 nWhich)
Get the default attribute from corresponding default attribute table.
WhichRangesContainer const aFrameFormatSetRange(svl::Items< RES_FRMATR_BEGIN, RES_FRMATR_END-1, RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1, XATTR_FILL_FIRST, XATTR_FILL_LAST >)
#define LANGUAGE_JAPANESE
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define LINE_SPACE_DEFAULT_HEIGHT
#define SAL_N_ELEMENTS(arr)
if(aStr !=aBuf) UpdateName_Impl(m_xFollowLb.get()
std::unique_ptr< sal_Int32[]> pData
RttiCompleteObjectLocator col
const sal_uInt16 sprmPFWidowControl
const sal_uInt16 sprmPDxaFromText
const sal_uInt16 sprmCHpsPosAdj
const sal_uInt16 sprmCFOutline
const sal_uInt16 sprmCHpsNew50
const sal_uInt16 sprmPDyaLine
const sal_uInt16 sprmPFLocked
const sal_uInt16 sprmTSetBrc10
const sal_uInt16 sprmCFStrike
const sal_uInt16 sprmPBrcLeft10
const sal_uInt16 sprmPChgTabsPapx
const sal_uInt16 sprmPFKeep
const sal_uInt16 sprmPShd
const sal_uInt16 sprmSDyaHdrBottom
const sal_uInt16 sprmCFSmallCaps
const sal_uInt16 sprmCIss
const sal_uInt16 sprmPBrcTop10
const sal_uInt16 sprmPBrcLeft
const sal_uInt16 sprmPChgTabs
const sal_uInt16 sprmSNLnnMod
const sal_uInt16 sprmTSetBrc
const sal_uInt16 sprmPicBrcBottom
const sal_uInt16 sprmTDxaCol
const sal_uInt16 sprmPDyaBefore
const sal_uInt16 sprmSDmBinOther
const sal_uInt16 sprmTDxaLeft
const sal_uInt16 sprmSYaPage
const sal_uInt16 sprmPFromText10
const sal_uInt16 sprmCSizePos
const sal_uInt16 sprmCHps
const sal_uInt16 sprmCIbstRMark
const sal_uInt16 sprmPWHeightAbs
const sal_uInt16 sprmCHpsKern
const sal_uInt16 sprmSDxaColumns
const sal_uInt16 sprmPFNoLineNumb
const sal_uInt16 sprmSDxaLeft
const sal_uInt16 sprmPPageBreakBefore
const sal_uInt16 sprmPicBrcLeft
const sal_uInt16 sprmSLnnMin
const sal_uInt16 sprmSDxaLnn
const sal_uInt16 sprmPTtp
const sal_uInt16 sprmSFPgnRestart
const sal_uInt16 sprmSDxaColWidth
const sal_uInt16 sprmPBrcRight10
const sal_uInt16 sprmSFTitlePage
const sal_uInt16 sprmCFData
const sal_uInt16 sprmSDxaRight
const sal_uInt16 sprmTSetShd
const sal_uInt16 sprmCFRMark
const sal_uInt16 sprmTDyaRowHeight
const sal_uInt16 sprmCFBold
const sal_uInt16 sprmTSplit
const sal_uInt16 sprmPBrcl
const sal_uInt16 sprmSDxaPgn
const sal_uInt16 sprmPDyaAfter
const sal_uInt16 sprmCCondHyhen
const sal_uInt16 sprmCPicLocation
const sal_uInt16 sprmCDttmRMark
const sal_uInt16 sprmPIstdPermute
const sal_uInt16 sprmSNfcPgn
const sal_uInt16 sprmPFInTable
const sal_uInt16 sprmPDxaLeft1
const sal_uInt16 sprmCHpsPos
const sal_uInt16 sprmPicBrcTop
const sal_uInt16 sprmSDMPaperReq
const sal_uInt16 sprmPBrcBetween
const sal_uInt16 sprmPIncLv1
const sal_uInt16 sprmSScnsPgn
const sal_uInt16 sprmPDyaAbs
const sal_uInt16 sprmCFCaps
const sal_uInt16 sprmPBrcBottom10
const sal_uInt16 sprmPFSideBySide
const sal_uInt16 sprmPRuler
const sal_uInt16 sprmSDyaHdrTop
const sal_uInt16 sprmSDzaGutter
const sal_uInt16 sprmPicBrcl
const sal_uInt16 sprmPNLvlAnm
const sal_uInt16 sprmSFAutoPgn
const sal_uInt16 sprmCFFldVanish
const sal_uInt16 sprmTTableHeader
const sal_uInt16 sprmSVjc
const sal_uInt16 sprmPBrcTop
const sal_uInt16 sprmPDcs
const sal_uInt16 sprmCFOle2
const sal_uInt16 sprmSFEvenlySpaced
const sal_uInt16 sprmSiHeadingPgn
const sal_uInt16 sprmCIstdPermute
const sal_uInt16 sprmTTableBorders
const sal_uInt16 sprmCLid
const sal_uInt16 sprmSGprfIhdt
const sal_uInt16 sprmSBCustomize
const sal_uInt16 sprmPBrcRight
const sal_uInt16 sprmPBrcp
const sal_uInt16 sprmPDyaFromText
const sal_uInt16 sprmPBrcBar
const sal_uInt16 sprmCIstd
const sal_uInt16 sprmCPlain
const sal_uInt16 sprmTDelete
const sal_uInt16 sprmSOlstAnm
const sal_uInt16 sprmCMajority50
const sal_uInt16 sprmCHpsInc1
const sal_uInt16 sprmPFNoAutoHyph
const sal_uInt16 sprmPDxaAbs
const sal_uInt16 sprmPDxaWidth
const sal_uInt16 sprmTFCantSplit
const sal_uInt16 sprmCFSpec
const sal_uInt16 sprmPBrcBetween10
const sal_uInt16 sprmCHpsInc
const sal_uInt16 sprmPIstd
const sal_uInt16 sprmSBkc
const sal_uInt16 sprmTDxaGapHalf
const sal_uInt16 sprmCChse
const sal_uInt16 sprmPBrcBottom
const sal_uInt16 sprmCMajority
const sal_uInt16 sprmSPgnStart
const sal_uInt16 sprmPAnld
const sal_uInt16 sprmCRMReason
const sal_uInt16 sprmCDxaSpace
const sal_uInt16 sprmTInsert
const sal_uInt16 sprmTTlp
const sal_uInt16 sprmSDyaPgn
const sal_uInt16 sprmSDxaColSpacing
const sal_uInt16 sprmPNest
const sal_uInt16 sprmTMerge
const sal_uInt16 sprmSDyaBottom
const sal_uInt16 sprmPFKeepFollow
const sal_uInt16 sprmSFEndnote
const sal_uInt16 sprmCHpsMul
const sal_uInt16 sprmCIco
const sal_uInt16 sprmCDefault
const sal_uInt16 sprmTDefTable
const sal_uInt16 sprmCFVanish
const sal_uInt16 sprmCKul
const sal_uInt16 sprmPBrcBar10
const sal_uInt16 sprmCSymbol
const sal_uInt16 sprmTDefTableShd
const sal_uInt16 sprmPDxaRight
const sal_uInt16 sprmSBOrientation
const sal_uInt16 sprmSCcolumns
const sal_uInt16 sprmSLBetween
const sal_uInt16 sprmSXaPage
const sal_uInt16 sprmCFShadow
const sal_uInt16 sprmSFProtected
const sal_uInt16 sprmPDxaLeft
const sal_uInt16 sprmCFObj
const sal_uInt16 sprmSLnc
const sal_uInt16 sprmTDefTable10
const sal_uInt16 sprmPicScale
const sal_uInt16 sprmSDyaTop
const sal_uInt16 sprmCFItalic
const sal_uInt16 sprmPicBrcRight
const sal_uInt16 sprmSDmBinFirst
const sal_uInt16 sprmCFtc
const sal_uInt16 sprmCFStrikeRM
const sal_uInt16 LN_CMajority50
const sal_uInt16 LN_PBrcl
const sal_uInt16 LN_CFDiacColor
const sal_uInt16 LN_CHpsPosAdj
const sal_uInt16 LN_CDefault
const sal_uInt16 LN_PDxaFromText10
const sal_uInt16 LN_PBrcp
const sal_uInt16 LN_PBrcBetween10
const sal_uInt16 LN_SOlstAnm
const sal_uInt16 LN_CSizePos
const sal_uInt16 LN_PBrcTop10
const sal_uInt16 LN_TSetShdOdd80
const sal_uInt16 LN_CObjLocation
const sal_uInt16 LN_TDefTable10
const sal_uInt16 LN_CHpsNew50
const sal_uInt16 LN_PBrcBar10
const sal_uInt16 LN_CHpsInc1
const sal_uInt16 LN_PCrLf
const sal_uInt16 LN_PBrcBottom10
const sal_uInt16 LN_PBrcRight10
const sal_uInt16 LN_PFSideBySide
const sal_uInt16 LN_SDyaPgn
const sal_uInt16 LN_TSetShd80
const sal_uInt16 LN_PicBrcl
const sal_uInt16 LN_PicScale
const sal_uInt16 LN_SGprfIhdt
const sal_uInt16 LN_PHugePapx
const sal_uInt16 LN_PRuler
const sal_uInt16 LN_PISnapBaseLine
const sal_uInt16 LN_CHpsMul
const sal_uInt16 LN_CHpsInc
const sal_uInt16 LN_PAnld
const sal_uInt16 LN_PPropRMark
const sal_uInt16 LN_PBrcLeft10
const sal_uInt16 LN_SDxaPgn
const sal_uInt16 LN_SFAutoPgn
const sal_uInt16 LN_TSetBrc10
const sal_uInt16 LN_SPropRMark
LanguageType GetLanguage(SfxItemSet const &aSet, sal_uInt16 nLangWhichId)
tools::Long const nRightMargin
tools::Long const nBorder
tools::Long const nLeftMargin
void BorderDistanceFromWord(bool bFromEdge, sal_Int32 &nMargin, sal_Int32 &nBorderDistance, sal_Int32 nBorderWidth)
constexpr OUStringLiteral first
::Color BGRToRGB(sal_uInt32 nColour)
const HdFtFlags WW8_HEADER_FIRST
const HdFtFlags WW8_FOOTER_ODD
const HdFtFlags WW8_FOOTER_EVEN
const HdFtFlags WW8_HEADER_EVEN
const HdFtFlags WW8_FOOTER_FIRST
const HdFtFlags WW8_HEADER_ODD
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
css::uno::Reference< css::animations::XAnimationNode > Clone(const css::uno::Reference< css::animations::XAnimationNode > &xSourceNode, const SdPage *pSource=nullptr, const SdPage *pTarget=nullptr)
const SwNumFormat * GetNumFormatFromTextNode(const SwTextNode &rTextNode)
Get the Numbering Format used on a paragraph.
SwNodeOffset abs(const SwNodeOffset &a)
bool GoInNode(SwPaM &rPam, SwMoveFnCollection const &fnMove)
SwContentNode * GetNode(SwPaM &rPam, bool &rbFirst, SwMoveFnCollection const &fnMove, bool const bInReadOnly, SwRootFrame const *const i_pLayout)
This function returns the next node in direction of search.
SwMoveFnCollection const & fnMoveBackward
const wchar_t *typedef int(__stdcall *DllNativeUnregProc)(int
static LanguageType nLang
static constexpr sal_uInt16 val
sal_Int32 rgdxaColumnWidthSpacing[MAX_NO_OF_SEP_COLUMNS *2+1]
Marks a position in the document model.
void Assign(const SwNode &rNd, SwNodeOffset nDelta, sal_Int32 nContentOffset=0)
These all set both nNode and nContent.
void SetContent(sal_Int32 nContentIndex)
Set content index, only valid to call this if the position points to a SwContentNode subclass.
sal_Int32 GetContentIndex() const
void AdjustContent(sal_Int32 nDelta)
Adjust content index, only valid to call this if the position points to a SwContentNode subclass.
void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader *pIo)
WW8FlyPara(bool bIsVer67, const WW8FlyPara *pSrc=nullptr)
void ApplyTabPos(const WW8_TablePos *pTabPos)
void Read(sal_uInt8 nSprmTPc, WW8PLCFx_Cp_FKP *pPap)
bool operator==(const WW8FlyPara &rSrc) const
WW8SwFlyPara(SwPaM &rPaM, SwWW8ImplReader &rIo, WW8FlyPara &rWW, const sal_uInt32 nWWPgTop, const sal_uInt32 nPgWidth, const sal_Int32 nIniFlyDx, const sal_Int32 nIniFlyDy)
static constexpr RndStdIds eAnchor
SwFlyFrameFormat * GetFlyFormat() const
void SetFlyFormat(SwFlyFrameFormat *pNewFlyFormat)
css::text::WrapTextMode eSurround
void BoxUpWidth(tools::Long nWidth)
std::unique_ptr< FrameDeleteWatch > m_xFlyFormat
sal_uInt8 brcType() const
short DetermineBorderProperties(short *pSpace=nullptr) const
This is what we use in the Parser (and Dumper)
sal_uInt8 GetBack() const
void SetWWValue(SVBT16 const nVal)
sal_uInt8 GetFore() const
sal_uInt8 GetStyle(bool bVer67) const
SVX_NUM_CHARS_LOWER_LETTER_N
SVX_NUM_CHARS_UPPER_LETTER_N
constexpr SwTwips cMinHdFtHeight
ww::SortedArray< SprmReadInfo > wwSprmDispatcher
static bool operator<(const SprmReadInfo &rFirst, const SprmReadInfo &rSecond)
static const wwSprmDispatcher * GetWW6SprmDispatcher()
static sal_uInt32 MSRoundTweak(sal_uInt32 x)
static sal_uInt8 lcl_ReadBorders(bool bVer67, WW8_BRCVer9 *brc, WW8PLCFx_Cp_FKP *pPap, const WW8RStyle *pSty=nullptr, const WW8PLCFx_SEPX *pSep=nullptr)
static bool lcl_IsBorder(const WW8_BRCVer9 *pbrc, bool bChkBtwn=false)
static void Set1Border(SvxBoxItem &rBox, const WW8_BRCVer9 &rBor, SvxBoxItemLine nOOIndex, sal_uInt16 nWWIndex, short *pSize, const bool bIgnoreSpace)
static const wwSprmDispatcher * GetWW8SprmDispatcher()
static void FlySecur1(short &rSize, const bool bBorder)
static void GetLineIndex(SvxBoxItem &rBox, short nLineThickness, short nSpace, sal_uInt32 cv, short nIdx, SvxBoxItemLine nOOIndex, sal_uInt16 nWWIndex, short *pSize)
static sal_uInt8 ReadBSprm(const WW8PLCFx_SEPX *pSep, sal_uInt16 nId, sal_uInt8 nDefaultVal)
static const wwSprmDispatcher * GetWW2SprmDispatcher()
static bool lcl_HasExplicitLeft(const WW8PLCFMan *pPlcxMan, bool bVer67)
static sal_uInt16 ReadUSprm(const WW8PLCFx_SEPX *pSep, sal_uInt16 nId, short nDefaultVal)
static bool SetWW8_BRC(int nBrcVer, WW8_BRCVer9 &rVar, const sal_uInt8 *pS, size_t nLen)
void(SwWW8ImplReader::* FNReadRecord)(sal_uInt16, const sal_uInt8 *, short)
static bool SetValSprm(sal_Int16 *pVar, WW8PLCFx_Cp_FKP *pPap, sal_uInt16 nId)
static short ReadSprm(const WW8PLCFx_SEPX *pSep, sal_uInt16 nId, short nDefaultVal)
#define WW8FL_NO_IMPLPASP
bool checkRead(SvStream &rSt, void *pDest, sal_uInt32 nLength)
const sal_uInt16 lLetterWidth
const sal_uInt16 lLetterHeight
const sal_uInt8 MAX_NO_OF_SEP_COLUMNS
WW8_BRCVer9 WW8_BRCVer9_5[5]
constexpr TypedWhichId< XFillColorItem > XATTR_FILLCOLOR(XATTR_FILL_FIRST+1)
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)