116#include <section.hxx>
121#include <com/sun/star/i18n/ScriptType.hpp>
122#include <com/sun/star/i18n/XBreakIterator.hpp>
146using ::editeng::SvxBorderLine;
155 if ( nScript == i18n::ScriptType::ASIAN )
178 else if ( nScript == i18n::ScriptType::COMPLEX )
213 for (
const auto& rItem : rItems )
216 sal_uInt16 nWhich = pItem->
Which();
239 for (
const auto& rCharItem : aCharItems)
242 sal_uInt16 nCharWhich = pCharItem->
Which();
260 if (bWriteCombChars &&
292 pInherited =
static_cast<SwTextFormatColl&
>( pNd->GetAnyFormatColl() ).GetAttrSet().GetItem(nWhich);
315 bool bExportParentItemSet )
317 if( !(bExportParentItemSet ||
rSet.
Count()) )
329 if (
nullptr != pItem )
344 if ( pRuleItem->
GetValue().isEmpty() &&
351 if ( pRuleItem->
GetValue().isEmpty() &&
368 for (
const auto& rItem : aItems )
371 sal_uInt16 nWhich = pItem->
Which();
380 if (!bAlreadyOutputBrushItem && pFill
381 && (pFill->GetValue() == drawing::FillStyle_SOLID || pFill->GetValue() == drawing::FillStyle_NONE)
384 const bool bFillStyleNone = pFill->GetValue() == drawing::FillStyle_NONE;
386 std::unique_ptr<SvxBrushItem> pInherited;
396 if (!bFillStyleNone || (pInherited && *pInherited != *aBrush))
423 SwNodeIndex aEnd( *pSttIdx->GetNode().EndOfSectionNode() );
428 [nStart, nEnd](
SwNodeOffset i) { return ( nStart <= i ) && ( i <= nEnd ); });
450 bool bNewPageDesc =
false;
494 bool bNewPageDesc =
false;
496 bool bExtraPageBreakBeforeSectionBreak =
false;
502 bool bBreakSet =
false;
525 if ( pSet && pSet->
Count() )
545 assert(aStart <= aDocEnd &&
"impossible: end section must have one content node");
560 bExtraPageBreakBeforeSectionBreak =
true;
566 bool bRemoveHardBreakInsideTable =
false;
580 bRemoveHardBreakInsideTable =
true;
587 if ( !bRemoveHardBreakInsideTable )
601 if ( pBreak->GetBreak() == SvxBreak::PageBefore )
608 if (!bNewPageDesc && pBreak->GetBreak() == SvxBreak::PageBefore
644 bool bHackInBreak =
false;
650 if ( rBreak.
GetBreak() == SvxBreak::PageBefore )
741 OSL_ENSURE( pNewPgDescFormat || pNewPgDesc,
"Neither page desc format nor page desc provided." );
743 if ( pNewPgDescFormat )
745 m_pSepx->AppendSep(
Fc2Cp( nFcPos ), *pNewPgDescFormat, rNd, pFormat, nLnNm );
747 else if ( pNewPgDesc )
749 m_pSepx->AppendSep(
Fc2Cp( nFcPos ), pNewPgDesc, rNd, pFormat, nLnNm );
761 for ( sal_uInt16 nCnt = 0; nCnt < aTStop.
Count(); ++nCnt )
804 case style::NumberingType::TEXT_NUMBER: nRet = 5;
break;
805 case style::NumberingType::TEXT_CARDINAL: nRet = 6;
break;
806 case style::NumberingType::TEXT_ORDINAL: nRet = 7;
break;
807 case style::NumberingType::AIU_HALFWIDTH_JA: nRet = 12;
break;
808 case style::NumberingType::IROHA_HALFWIDTH_JA: nRet = 13;
break;
809 case style::NumberingType::FULLWIDTH_ARABIC: nRet = 14;
break;
810 case style::NumberingType::NUMBER_TRADITIONAL_JA: nRet = 16;
break;
811 case style::NumberingType::CIRCLE_NUMBER: nRet = 18;
break;
812 case style::NumberingType::AIU_FULLWIDTH_JA: nRet = 20;
break;
813 case style::NumberingType::IROHA_FULLWIDTH_JA: nRet = 21;
break;
817 case style::NumberingType::HANGUL_SYLLABLE_KO: nRet = 24;
break;
818 case style::NumberingType::HANGUL_JAMO_KO: nRet = 25;
break;
819 case style::NumberingType::HANGUL_CIRCLED_SYLLABLE_KO: nRet = 24;
break;
820 case style::NumberingType::HANGUL_CIRCLED_JAMO_KO: nRet = 25;
break;
821 case style::NumberingType::TIAN_GAN_ZH: nRet = 30;
break;
822 case style::NumberingType::DI_ZI_ZH: nRet = 31;
break;
823 case style::NumberingType::NUMBER_UPPER_ZH_TW: nRet = 34;
break;
824 case style::NumberingType::NUMBER_UPPER_ZH: nRet = 38;
break;
825 case style::NumberingType::NUMBER_DIGITAL_KO: nRet = 41;
break;
826 case style::NumberingType::NUMBER_HANGUL_KO: nRet = 42;
break;
827 case style::NumberingType::NUMBER_LEGAL_KO: nRet = 43;
break;
828 case style::NumberingType::NUMBER_DIGITAL2_KO: nRet = 44;
break;
829 case style::NumberingType::NUMBER_HEBREW: nRet = 45;
break;
830 case style::NumberingType::CHARS_ARABIC: nRet = 46;
break;
831 case style::NumberingType::CHARS_HEBREW: nRet = 47;
break;
832 case style::NumberingType::CHARS_ARABIC_ABJAD: nRet = 48;
break;
833 case style::NumberingType::CHARS_PERSIAN:
834 case style::NumberingType::CHARS_NEPALI: nRet = 49;
break;
835 case style::NumberingType::CHARS_THAI: nRet = 53;
break;
836 case style::NumberingType::CHARS_CYRILLIC_LOWER_LETTER_N_RU:
837 case style::NumberingType::CHARS_CYRILLIC_LOWER_LETTER_RU: nRet = 58;
break;
838 case style::NumberingType::CHARS_CYRILLIC_UPPER_LETTER_N_RU:
839 case style::NumberingType::CHARS_CYRILLIC_UPPER_LETTER_RU: nRet = 59;
break;
872 if (
static_cast<const SwTextFormatColl*
>(pParent)->IsAssignedToListLevelOfOutlineStyle())
889 bool bCallOutSet =
true;
893 switch( rFormat.
Which() )
901 if (
static_cast<const SwTextFormatColl&
>(rFormat).IsAssignedToListLevelOfOutlineStyle())
902 nLvl =
static_cast<const SwTextFormatColl&
>(rFormat).GetAssignedOutlineStyleLevel();
924 aSet.
Put(leftMargin);
943 aSet.
Put(rFirstLine);
944 aSet.
Put(rLeftMargin);
979 if (SfxItemState::SET != aSet.GetItemState(
RES_SURROUND))
985 switch (pXFillStyleItem->GetValue())
987 case drawing::FillStyle_NONE:
989 case drawing::FillStyle_SOLID:
1006 bCallOutSet =
false;
1013 OSL_ENSURE(
false,
"Which format is exported here?" );
1026 std::vector<SwGetRefField*> vpRFields;
1028 return std::any_of(vpRFields.begin(), vpRFields.end(),
1029 [rName](
SwGetRefField* pF) { return rName == pF->GetSetRefName(); });
1035 std::vector<SwGetRefField*> vpRFields;
1037 return std::any_of(vpRFields.begin(), vpRFields.end(),
1038 [nSeqNo](
SwGetRefField* pF) { return nSeqNo == pF->GetSeqNo(); });
1049 sRet =
"Ref_" + *
pName;
1055 sRet =
"Ref_" + *
pName;
1065 sRet =
"_RefF" + OUString::number( nSeqNo );
1068 sRet =
"_RefE" + OUString::number( nSeqNo );
1087 if (nScript == i18n::ScriptType::COMPLEX && !bIsRTL)
1101 if ( pTextNodeInfoInner )
1103 if ( pTextNodeInfoInner->isEndOfLine() )
1108 ShortToSVBT16( 0, nSty );
1133 const OUString &rComment = pRedlineData->
GetComment();
1137 rComment !=
SwResId(STR_REDLINE_COMMENT_DELETED) &&
1138 rComment !=
SwResId(STR_REDLINE_COMMENT_ADDED))
1150 for(
auto aIter = aRange.first; aIter != aRange.second; ++aIter)
1165 for(
auto aIter = aRange.first; aIter != aRange.second; ++aIter)
1179 sal_uInt16 nNewFieldResults = pCurrentFields ? pCurrentFields->
ResultCount() : 0;
1187 if ( !bExportedFieldResult )
1220 ShortToSVBT16( nStyle, nSty );
1233 OSL_ENSURE(
nId <= 1,
"out of range" );
1342 case SvxCaseMap::SmallCaps:
1345 case SvxCaseMap::Uppercase:
1348 case SvxCaseMap::Capitalize:
1387 bWord = pWordline->GetValue();
1389 SAL_WARN(
"sw.ww8",
"m_rWW8Export has an RES_CHRATR_WORDLINEMODE item, but it's of the wrong type.");
1470 switch ( rLanguage.Which() )
1514 else if (
DFLT_ESC_PROP == nProp || nProp < 1 || nProp > 100 )
1526 nEsc = .8 * (100 - nProp);
1533 nEsc = .2 * -(100 - nProp);
1543 if ( 0 != b && 0xFF != b )
1551 if( 100 != nProp || !b )
1561 switch ( rHeight.Which() )
1589 switch ( rRelief.GetValue() )
1593 default:
nId = 0;
break;
1646 static const sal_uInt8 aZeroArr[ 3 ] = { 0, 0, 0 };
1654 if (
v == FontEmphasisMark::NONE)
1656 else if (
v == (FontEmphasisMark::Accent | FontEmphasisMark::PosAbove))
1658 else if (
v == (FontEmphasisMark::Circle | FontEmphasisMark::PosAbove))
1660 else if (
v == (FontEmphasisMark::Dot | FontEmphasisMark::PosBelow))
1730namespace sw {
namespace util {
1741 OSL_ENSURE(
false,
"WW8AttributeOutput::TextINetFormat(..) - missing unvisited character format at hyperlink attribute" );
1768 OUString
const * pLinkStr,
1769 bool bIncludeEmptyPicLocation =
false )
1777 rWrt.
m_pChpPlc->AppendFkpEntry(rWrt.
Strm().
Tell(), aItems.size(), aItems.data());
1782 if ( bIncludeEmptyPicLocation &&
1783 ( c == 0x13 || c == 0x14 || c == 0x15 ) )
1790 if ( c == 0x01 && pLinkStr)
1795 const sal_uInt32 nLinkPosInDataStrm =
rStrm.
Tell();
1797 const sal_uInt16 nEmptyHdrLen = 0x44;
1798 sal_uInt8 aEmptyHeader[ nEmptyHdrLen ] = { 0 };
1799 aEmptyHeader[ 4 ] = 0x44;
1802 const sal_uInt16 nFixHdrLen = 0x19;
1803 sal_uInt8 const aFixHeader[ nFixHdrLen ] =
1805 0x08, 0xD0, 0xC9, 0xEA, 0x79, 0xF9, 0xBA, 0xCE,
1806 0x11, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9,
1807 0x0B, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
1812 sal_uInt32 nStrLen( pLinkStr->getLength() + 1 );
1818 const sal_uInt32 nCurrPos =
rStrm.
Tell();
1838 aItems.push_back( 1 );
1840 rWrt.
m_pChpPlc->AppendFkpEntry(rWrt.
Strm().
Tell(), aItems.size(), aItems.data());
1846 return rField.
ExpandField(
true,
nullptr).replace(0x0A, 0x0B);
1876 OSL_ENSURE(
false,
"what type of SubDoc is that?" );
1882 const OUString& rFieldCmd,
FieldFlags nMode )
1884 OUString sFieldCmd(rFieldCmd);
1903 assert(eFieldType <= 0x5F);
1907 const bool bIncludeEmptyPicLocation = ( eFieldType ==
ww::ePAGE );
1913 aField13[0] |= 0x80;
1914 aField13[1] =
static_cast< sal_uInt8 >(eFieldType);
1923 bool bHandleBookmark =
false;
1930 bHandleBookmark =
true;
1933 if ( bHandleBookmark )
1937 const sal_uInt16 nSubType = pField->
GetSubType();
1960 static const sal_uInt8 aField14[2] = { 0x14, 0xff };
1972 if( !sOut.isEmpty() )
2011 aField15[0] |= (0x4 << 5);
2018 aField15[1] |= 0x10;
2034 const OUString sStr{ OUString::Concat(
" [") + rName +
"] " };
2041 std::vector<const SwTOXType*>::iterator it
2062 SwFormTokens::iterator aIt = aPattern.begin();
2066 if (! aPattern.empty())
2068 bool bPgNumFnd =
false;
2071 while( ++aIt != aPattern.end() && !bPgNumFnd )
2073 eTType = aIt->eTokenType;
2087 sal_Int32
nCount = std::min<sal_Int32>(5, aIt->sText.getLength());
2088 rText = aIt->sText.copy(0,
nCount);
2111 for (sal_uInt16 nI = 1; nI <= nTOXLvl; ++nI)
2116 if ( !aPattern.empty() )
2118 SwFormTokens::iterator aIt = aPattern.begin();
2123 while ( ++aIt != aPattern.end() )
2125 eTType = aIt->eTokenType;
2143 if(
GetExport().GetExportFormat() == MSWordExportBase::ExportFormat::RTF)
2150 for(
size_t i = 0;
i < pTextAttrs->
Count(); ++
i )
2160 const sal_uInt16 nSeqFieldNumber =
static_cast<const SwSetExpField*
>(pField)->GetSeqNumber();
2163 bool bHaveFullBkm =
false;
2164 bool bHaveLabelAndNumberBkm =
false;
2165 bool bHaveCaptionOnlyBkm =
false;
2166 bool bHaveNumberOnlyBkm =
false;
2167 bool bRunSplittedAtSep =
false;
2168 for(
auto const & pFieldType : *pFieldTypes )
2181 const OUString& aText = rNode.
GetText();
2182 const sal_Int32 nCategoryStart = aText.indexOf(pRefField->
GetSetRefName());
2183 const sal_Int32 nPosBeforeSeparator = std::max(nCategoryStart, pHt->
GetStart());
2184 bool bCategoryFirst = nCategoryStart < pHt->
GetStart();
2185 sal_Int32 nSeparatorPos = 0;
2188 nSeparatorPos = aLocalAttrIter.
WhereNext();
2189 while (nSeparatorPos <= nPosBeforeSeparator)
2192 nSeparatorPos = aLocalAttrIter.
WhereNext();
2197 nSeparatorPos = nCategoryStart + pRefField->
GetSetRefName().getLength();
2199 sal_Int32 nRefTextPos = 0;
2200 if(nSeparatorPos < aText.getLength())
2203 if(nRefTextPos != nSeparatorPos)
2205 if(!bRunSplittedAtSep)
2210 bRunSplittedAtSep =
true;
2213 aLocalAttrIter.
SplitRun(nSeparatorPos);
2214 aLocalAttrIter.
SplitRun(nRefTextPos);
2216 else if (bCategoryFirst)
2218 if(!bRunSplittedAtSep)
2221 bRunSplittedAtSep =
true;
2223 aLocalAttrIter.
SplitRun(nSeparatorPos);
2236 sal_Int32 nLastAttrStart = 0;
2237 sal_Int32 nActAttr = aLocalAttrIter.
WhereNext();
2238 while (nActAttr < rNode.
GetText().getLength())
2240 nLastAttrStart = nActAttr;
2245 bHaveFullBkm =
true;
2250 if(!bHaveLabelAndNumberBkm)
2252 sName +=
"_label_and_number";
2259 sal_Int32 nCatLastRun = 0;
2260 sal_Int32 nNextAttr = aLocalAttrIter2.
WhereNext();
2261 while (nNextAttr < nSeparatorPos)
2263 nCatLastRun = nNextAttr;
2265 nNextAttr = aLocalAttrIter2.
WhereNext();
2269 bHaveLabelAndNumberBkm =
true;
2275 if(!bHaveCaptionOnlyBkm)
2278 sal_Int32 nLastAttrStart = 0;
2279 sal_Int32 nActAttr = aLocalAttrIter.
WhereNext();
2280 while (nActAttr < rNode.
GetText().getLength())
2282 nLastAttrStart = nActAttr;
2287 bHaveCaptionOnlyBkm =
true;
2293 if(!bHaveNumberOnlyBkm)
2296 bHaveNumberOnlyBkm =
true;
2330 static const char sEntryEnd[] =
"\" ";
2333 OUString sStr = pTOX ->GetMSTOCExpression();
2334 if ( sStr.isEmpty() )
2336 OUString sUserTypeName;
2337 auto aType = pTOX->GetType();
2341 sUserTypeName = pTOX->GetTOXType()->GetTypeName();
2342 if ( !sUserTypeName.isEmpty() )
2354 sal_Int32 nCol = rColumns.size();
2359 if(
GetExport().AddSectionBreaksForTOX() )
2363 pParent ? pParent->
GetFormat() :
nullptr, 0);
2367 sStr +=
"\\c \"" + OUString::number( nCol ) +
"\"";
2371 if (pTOX->GetTOXForm().IsCommaSeparated())
2375 sStr +=
"\\h \"A\" ";
2377 if (!sUserTypeName.isEmpty())
2379 sStr +=
"\\f \"" + sUserTypeName +
"\"";
2382 if (!pTOX->GetTOXForm().IsCommaSeparated())
2393 else if ((4 == nRet) || (2 == nRet))
2398 sStr +=
"\\e \"" + aFillText + sEntryEnd;
2405 if (!pTOX->IsFromObjectNames())
2408 const OUString& seqName = pTOX->GetSequenceName();
2409 if(!seqName.isEmpty())
2411 sStr +=
"\"" + seqName + sEntryEnd;
2417 else if( 3 == nRet || 4 == nRet )
2419 sStr +=
"\\p \"" + aText + sEntryEnd;
2428 OUString
const& rStyle(pTOX->GetStyleNames(0));
2433 OUString
const converted(
GetExport().m_pStyles->GetStyleWWName(pColl));
2434 if (!converted.isEmpty())
2436 sStr +=
"\\t \"" + converted + sEntryEnd;
2456 sal_uInt16
n, nTOXLvl = pTOX->GetLevel();
2481 + OUStringChar(
static_cast<char>(
'A' +
GetExport( ).
GetId( *pTOX->GetTOXType() ) ))
2487 sStr +=
"\\b \"" + pTOX->GetBookmarkName() + sEntryEnd;
2514 for(
n = rColls.
size();
n; )
2531 sal_uInt8 nMaxMSAutoEvaluate = nPosOfLowestNonStandardLvl < nTOXLvl ? nPosOfLowestNonStandardLvl : static_cast<sal_uInt8>(nTOXLvl);
2534 if ( nMaxMSAutoEvaluate )
2539 sStr +=
"\\o \"1-" + OUString::number(nMaxMSAutoEvaluate) + sEntryEnd;
2545 if( nMaxMSAutoEvaluate < nTOXLvl )
2548 for(
n = rColls.
size();
n;)
2554 if (nTestLvl < nTOXLvl && nTestLvl >= nMaxMSAutoEvaluate)
2556 if (!sTOption.isEmpty())
2558 sTOption += pColl->
GetName() + tsep + OUString::number(nTestLvl + 1);
2574 const OUString& rStyles = pTOX->GetStyleNames(
n );
2575 if( !rStyles.isEmpty() )
2578 const OUString sLvl{tsep + OUString::number(
n + 1)};
2581 if( !sStyle.isEmpty() )
2586 OUString
const converted(
GetExport().m_pStyles->GetStyleWWName(pColl));
2587 if (!converted.isEmpty() &&
2591 if( !sTOption.isEmpty() )
2593 sTOption += converted + sLvl;
2597 }
while( -1 !=
nPos );
2606 bool bFirstFillText =
true, bOnlyText =
true;
2607 for(
n = 0;
n < nTOXLvl; ++
n )
2624 bOnlyText = bOnlyText && 3 == nRet;
2625 if( 3 == nRet || 4 == nRet )
2627 if( bFirstFillText )
2629 else if( aFillText != aText )
2631 bFirstFillText =
false;
2640 + OUString::number( nNoPgStt )
2642 + OUString::number( nNoPgEnd )
2647 sStr +=
"\\p \"" + aFillText + sEntryEnd;
2651 if( !sTOption.isEmpty() )
2653 sStr +=
"\\t \"" + sTOption + sEntryEnd;
2663 if (!sStr.isEmpty())
2666 if (
GetExport().GetExportFormat() == MSWordExportBase::ExportFormat::RTF)
2672 if (
GetExport().GetExportFormat() == MSWordExportBase::ExportFormat::RTF)
2674 EndRun(
nullptr, -42, -1,
true);
2694 sal_Int32 nCol = rColumns.size();
2712 bool bHasFormat =
false;
2714 sal_uInt32 nFormatIdx = rField.
GetFormat();
2730 if (!sFormat.isEmpty())
2734 rStr =
"\\@\"" + sFormat +
"\" " ;
2747 rStr +=
"\\* ALPHABETIC ";
2751 rStr +=
"\\* alphabetic ";
2754 rStr +=
"\\* ROMAN ";
2757 rStr +=
"\\* roman ";
2760 rStr +=
"\\* Ordinal ";
2763 rStr +=
"\\* Ordtext ";
2766 rStr +=
"\\* Cardtext ";
2770 "Unknown numbering type exported as default of Arabic");
2773 rStr +=
"\\* ARABIC ";
2802 return " " + OUString::createFromAscii(pField) +
" ";
2809 const OUString sExpand(rField.
GetPar2().replace(0x0A, 0x0B));
2823 const OUString &rVar = pSet->
GetPar2();
2840 if (!rVar.isEmpty())
2857 uno::Sequence<OUString> aItems =
2877 if ( !sVar.isEmpty() )
2893OUString EscapeToken(
const OUString& rCommand)
2895 bool bWasEscaped =
false;
2897 const int nBufferLen = rCommand.getLength()*1.5;
2898 OUStringBuffer sResult(nBufferLen);
2899 sResult.append(
'"');
2900 for (sal_Int32 i = 0;
i < rCommand.getLength(); ++
i)
2909 sResult.append(
'\\');
2921 sResult.append(
'"');
2922 return sResult.makeStringAndClear();
2932 bool bWriteExpand =
false;
2933 const sal_uInt16 nSubType = pField->
GetSubType();
2944 bWriteExpand =
true;
2959 bool bShowAsWell =
false;
2962 const OUString sVar = pSet->
GetPar2();
2981 SetField( *pField, eFieldNo, sStr );
2987 bWriteExpand =
true;
3033 bWriteExpand =
true;
3038 switch (0xff & nSubType)
3061 else if (
GetExport().GetNumberFormat(*pField, sStr) || sStr.isEmpty())
3065 bWriteExpand =
false;
3074 else if (
GetExport().GetNumberFormat(*pField, sStr) || sStr.isEmpty())
3080 (
GetExport().GetNumberFormat(*pField, sStr) || sStr.isEmpty()))
3089 if (pDocInfoField !=
nullptr)
3090 sStr =
"\"" + pDocInfoField->
GetName() +
"\"";
3092 bWriteExpand =
false;
3104 bWriteExpand =
true;
3110 if (!
GetExport().GetNumberFormat(*pField, sStr))
3111 bWriteExpand =
true;
3143 bWriteExpand =
true;
3149 switch (0xFF & nSubType)
3171 bWriteExpand =
true;
3250 if(
GetExport().GetExportFormat() == MSWordExportBase::ExportFormat::RTF)
3275 sName +=
"_label_and_number";
3278 sName +=
"_caption_only";
3281 sName +=
"_number_only";
3329 sStr +=
" \\p \\h ";
3332 sStr +=
" \\n \\h ";
3341 bWriteExpand =
true;
3365 nHeight = (nHeight + 10) / 20;
3372 const sal_Int32 nAbove = (pField->
GetPar1().getLength()+1)/2;
3375 + OUString::number(nHeight/2)
3377 + pField->
GetPar1().subView(0, nAbove)
3379 + OUString::number(nHeight/5)
3381 + pField->
GetPar1().subView(nAbove)
3390 bWriteExpand =
true;
3405 + OUString::number(aCopy.
GetLevel() + 1)
3406 +
" \\* MERGEFORMAT ";
3408 bWriteExpand =
false;
3414 OUString sExpand(pField->
GetPar2());
3415 if (!sExpand.isEmpty())
3420 OUString aCond = pField->
GetPar1();
3421 OUString aTrueFalse = pField->
GetPar2();
3422 sal_Int32
nPos = aTrueFalse.indexOf(
'|');
3431 aTrue = aTrueFalse.subView(0,
nPos);
3432 aFalse = aTrueFalse.subView(
nPos + 1);
3434 if (aTrue.getLength() > 1 && aTrue.startsWith(
"\"") && aTrue.endsWith(
"\""))
3435 aTrue = aTrue.copy(1, aTrue.getLength() - 2);
3436 if (aFalse.getLength() > 1 && aFalse.startsWith(
"\"") && aFalse.endsWith(
"\""))
3437 aFalse = aFalse.copy(1, aFalse.getLength() - 2);
3441 + aTrue.replaceAll(
"\"",
"'") +
"\" \"" + aFalse.replaceAll(
"\"",
"'")
3455 const OUString sStr =
" MACROBUTTON "
3456 + pField->
GetPar1().replaceFirst(
"StarOffice.Standard.Modul1.",
"")
3477 bWriteExpand =
true;
3490 Point aLayPos = pTextNd->FindLayoutRect(
false, &origin ).Pos();
3568 OSL_FAIL(
"Unknown vert alignment" );
3581 const bool bAutoNum = rFootnote.
GetNumStr().isEmpty();
3586 0x03, 0x6a, 0, 0, 0, 0,
3590 aAttrArr.insert(aAttrArr.end(), aSpec, aSpec+
sizeof(aSpec));
3619 pOutArr->insert( pOutArr->begin(), aAttrArr.begin(), aAttrArr.end() );
3623 std::unique_ptr<ww::bytes> pOwnOutArr(
new ww::bytes);
3627 pOwnOutArr->insert(pOwnOutArr->begin(), aAttrArr.begin(), aAttrArr.end());
3633 std::unique_ptr<ww::bytes> pOld = std::move(
m_pO);
3634 m_pO = std::move(pOwnOutArr);
3649 pOwnOutArr = std::move(
m_pO);
3650 m_pO = std::move(pOld);
3652 m_pChpPlc->AppendFkpEntry(
Strm().Tell(), pOwnOutArr->size(),
3653 pOwnOutArr->data() );
3705 if ( !sBkmkNm.isEmpty() )
3762 if (!cStart && !cEnd)
3764 else if ((cStart ==
'{') || (cEnd ==
'}'))
3766 else if ((cStart ==
'<') || (cEnd ==
'>'))
3768 else if ((cStart ==
'[') || (cEnd ==
']'))
3773 static const sal_uInt8 aZeroArr[ 3 ] = { 0, 0, 0 };
3779 sal_uInt16 nOutLvl = rItem.
GetValue();
3787 if ((pInherited && pInherited->
GetValue() == nOutLvl)
3788 || (!pInherited && !nOutLvl))
3820 OUString
const listId(pTextNd->
GetListId());
3821 if (!listId.isEmpty()
3826 SwList const*
const pList(
3833 assert(pAbstractRule);
3834 if (pAbstractRule == pRule && !bListRestart)
3842 *pRule, listId, *pAbstractRule) + 1;
3855 else if (bListRestart)
3859 if (USHRT_MAX != nNumId)
3873 if (pC->IsAssignedToListLevelOfOutlineStyle())
3874 nLvl =
static_cast< sal_uInt8 >( pC->GetAssignedOutlineStyleLevel() );
3893 sal_Int32
const nLvl, sal_Int32
const nNumId)
3895 if (USHRT_MAX == nNumId)
3932 default: nH = o3tl::narrowing<sal_uInt16>(rSize.
GetHeight()) | 0x8000;
break;
3969 OSL_ENSURE( nChar,
"replaced with 0 crashes WW97/95" );
3971 bool bReplaced =
false;
3977 sal_uInt16 nUCode=0;
3984 if ((nChar == 0x0c) &&
3997 if( nUCode == 0x0d )
4006 else if ((nUCode == 0x0c) && (nChar == 0x0e))
4032 else if ( nDepth > 1 )
4070 case SvxBreak::NONE:
4071 case SvxBreak::PageBefore:
4072 case SvxBreak::PageBoth:
4082 bool bBefore =
false;
4084 bool bCheckForFollowPageDesc =
false;
4088 case SvxBreak::NONE:
4093 case SvxBreak::ColumnBefore:
4096 case SvxBreak::ColumnAfter:
4097 case SvxBreak::ColumnBoth:
4105 case SvxBreak::PageBefore:
4110 if (
GetExport().PreferPageBreakBefore())
4121 case SvxBreak::PageAfter:
4122 case SvxBreak::PageBoth:
4129 bCheckForFollowPageDesc =
true;
4137 if ( ( bBefore ==
GetExport().m_bBreakBefore ) && nC )
4140 bool bFollowPageDescWritten =
false;
4141 if ( bCheckForFollowPageDesc )
4143 bFollowPageDescWritten =
4147 if ( !bFollowPageDescWritten )
4165 sal_uInt32 nPageCharSize = 0;
4167 if (pSwFormat !=
nullptr)
4174 sal_Int32 nCharWidth = nPitch - nPageCharSize;
4175 sal_Int32 nFraction = nCharWidth % 20;
4176 if ( nCharWidth < 0 )
4177 nFraction = 20 + nFraction;
4178 nFraction = ( nFraction * 0xFFF ) / 20;
4179 nFraction = ( nFraction & 0x00000FFF );
4181 sal_Int32 nMain = nCharWidth / 20;
4182 if ( nCharWidth < 0 )
4184 nMain = nMain * 0x1000;
4185 nMain = ( nMain & 0xFFFFF000 );
4187 return sal_uInt32( nFraction + nMain );
4195 sal_uInt16 nGridType = 0;
4199 OSL_FAIL(
"Unknown grid type");
4231 switch ( rPaperBin.GetValue() )
4233 case 0: nVal = 15;
break;
4234 case 1: nVal = 1;
break;
4235 case 2: nVal = 4;
break;
4236 default: nVal = 0;
break;
4433 ( css::text::WrapTextMode_NONE != rSurround.
GetSurround() ) ? 2 : 1 );
4448 nPos =
static_cast<short>(rFlyVert.
GetPos());
4450 case text::VertOrientation::CENTER:
4451 case text::VertOrientation::LINE_CENTER:
4454 case text::VertOrientation::BOTTOM:
4455 case text::VertOrientation::LINE_BOTTOM:
4458 case text::VertOrientation::TOP:
4459 case text::VertOrientation::LINE_TOP:
4486 nPos =
static_cast<short>(rFlyHori.
GetPos());
4490 case text::HoriOrientation::LEFT:
4493 case text::HoriOrientation::RIGHT:
4496 case text::HoriOrientation::CENTER:
4497 case text::HoriOrientation::FULL:
4518 case RndStdIds::FLY_AT_PAGE:
4520 nP |= (1 << 4) | (2 << 6);
4523 case RndStdIds::FLY_AT_FLY:
4524 case RndStdIds::FLY_AT_CHAR:
4525 case RndStdIds::FLY_AT_PARA:
4526 case RndStdIds::FLY_AS_CHAR:
4528 nP |= (2 << 4) | (0 << 6);
4565 if ( rFillStyle.GetValue() != drawing::FillStyle_NONE )
4585 sal_uInt16 nDist,
bool bShadow)
4587 sal_uInt32 nColBGR = 0;
4588 sal_uInt16 nWidth = ::editeng::ConvertBorderWidthToWord(
4589 rLine.GetBorderLineStyle(), rLine.GetWidth());
4598 switch (rLine.GetBorderLineStyle())
4600 case SvxBorderLineStyle::SOLID:
4608 case SvxBorderLineStyle::DOTTED:
4611 case SvxBorderLineStyle::DASHED:
4614 case SvxBorderLineStyle::DOUBLE:
4615 case SvxBorderLineStyle::DOUBLE_THIN:
4618 case SvxBorderLineStyle::THINTHICK_SMALLGAP:
4621 case SvxBorderLineStyle::THINTHICK_MEDIUMGAP:
4624 case SvxBorderLineStyle::THINTHICK_LARGEGAP:
4627 case SvxBorderLineStyle::THICKTHIN_SMALLGAP:
4630 case SvxBorderLineStyle::THICKTHIN_MEDIUMGAP:
4633 case SvxBorderLineStyle::THICKTHIN_LARGEGAP:
4636 case SvxBorderLineStyle::EMBOSSED:
4639 case SvxBorderLineStyle::ENGRAVED:
4642 case SvxBorderLineStyle::OUTSET:
4645 case SvxBorderLineStyle::INSET:
4648 case SvxBorderLineStyle::FINE_DASHED:
4651 case SvxBorderLineStyle::DASH_DOT:
4654 case SvxBorderLineStyle::DASH_DOT_DOT:
4662 nWidth = (( nWidth * 8 ) + 10 ) / 20;
4674 sal_uInt16 nLDist = rtl::math::round(nDist / 20.0);
4689 sal_uInt16 nDist, sal_uInt16 nSprmNo, sal_uInt16 nSprmNoVer9,
bool bShadow)
4691 OSL_ENSURE( ( nSprmNo == 0 ) ||
4692 ( nSprmNo >= 38 && nSprmNo <= 41 ) ||
4697 "Sprm for border out is of range" );
4702 if( pLine && pLine->GetBorderLineStyle() != SvxBorderLineStyle::NONE )
4714 rO.insert( rO.end(), aBrcVer8.
aBits1, aBrcVer8.
aBits2+2 );
4716 if ( nSprmNoVer9 != 0 )
4720 rO.insert( rO.end(), aBrcVer9.
aBits1, aBrcVer9.
aBits2+4);
4734 SvxBoxItemLine::TOP, SvxBoxItemLine::LEFT, SvxBoxItemLine::BOTTOM, SvxBoxItemLine::RIGHT
4736 static const sal_uInt16 aPBrc[] =
4745 static const sal_uInt16 aSBrc[] =
4756 for( sal_uInt16
i = 0;
i < 4; ++
i, ++pBrd )
4758 const SvxBorderLine* pLn = rBox.
GetLine( *pBrd );
4760 sal_uInt16 nSprmNo, nSprmNoVer9 = 0;
4764 nSprmNoVer9 = aSBrc[
i+4];
4769 nSprmNoVer9 = aPBrc[
i+4];
4773 nSprmNoVer9, bShadow );
4790 SvxBoxItemLine::TOP, SvxBoxItemLine::LEFT, SvxBoxItemLine::BOTTOM, SvxBoxItemLine::RIGHT
4792 static const SvxBorderLine aBorderLine;
4796 const SvxBorderLine* pLn;
4797 if (pBox !=
nullptr)
4798 pLn = pBox->
GetLine( rBorder );
4800 pLn = & aBorderLine;
4814 SvxBoxItemLine::TOP, SvxBoxItemLine::LEFT, SvxBoxItemLine::BOTTOM, SvxBoxItemLine::RIGHT
4817 for(
int i = 0;
i < 4; ++
i )
4819 const SvxBorderLine* pLn = pBox->
GetLine( aBorders[
i] );
4824 m_pO->push_back( 11 );
4825 m_pO->push_back( nStart );
4826 m_pO->push_back( nLimit );
4827 m_pO->push_back( 1<<
i );
4840 bool bShadow =
false;
4844 bShadow = ( pShadowItem->
GetLocation() != SvxShadowLocation::NONE )
4845 && ( pShadowItem->
GetWidth() != 0 );
4900 for ( sal_uInt16
n = 0;
n < nCols; ++
n )
4907 o3tl::narrowing<sal_uInt16>(nPageSize) ) );
4909 if (
n + 1 != nCols )
4915 rColumns[
n + 1].GetLeft( ) );
4924 sal_uInt16 nCols = rColumns.size();
4925 if (1 >= nCols ||
GetExport( ).m_bOutFlyFrameAttrs)
4933 if ( frameDirection.GetValue() == SvxFrameDirection::Vertical_RL_TB || frameDirection.GetValue() == SvxFrameDirection::Vertical_LR_TB )
4974 sal_uInt16 nColWidth = rCol.
CalcPrtColWidth( 0, o3tl::narrowing<sal_uInt16>(nPageSize) );
4975 for (
n = 1;
n < nCols;
n++ )
4977 short nDiff = nColWidth -
4980 if ( nDiff > 10 || nDiff < -10 )
5022 short nSpace = 240, nMulti = 0;
5028 case SvxLineSpaceRule::Fix:
5031 case SvxLineSpaceRule::Min:
5034 case SvxLineSpaceRule::Auto:
5040 sal_uInt16 nScript =
5041 i18n::ScriptType::LATIN;
5045 pSet = &pFormat->GetAttrSet();
5049 pSet = &pNd->GetSwAttrSet();
5052 OSL_ENSURE( pSet,
"No attrset for lineheight :-(" );
5062 nSpace =
static_cast<short>( ( 240L * rSpacing.
GetPropLineSpace() ) / 100L );
5081 case SvxAdjust::Left:
5085 case SvxAdjust::Right:
5089 case SvxAdjust::BlockLine:
5090 case SvxAdjust::Block:
5091 nAdj = nAdjBiDi = rAdjust.
GetLastBlock() == SvxAdjust::Block ? 4 : 3;
5093 case SvxAdjust::Center:
5094 nAdj = nAdjBiDi = 1;
5109 bool bBiDiSwap =
false;
5121 nDirection = rItem.GetValue();
5123 if ( ( nDirection == SvxFrameDirection::Horizontal_RL_TB ) ||
5138 sal_uInt16 nTextFlow=0;
5142 if ( nDir == SvxFrameDirection::Environment )
5150 OSL_FAIL(
"Unknown frame direction");
5152 case SvxFrameDirection::Horizontal_LR_TB:
5155 case SvxFrameDirection::Horizontal_RL_TB:
5159 case SvxFrameDirection::Vertical_LR_TB:
5160 case SvxFrameDirection::Vertical_RL_TB:
5191 nOutLvl = nOutLvl ? nOutLvl - 1 : 9;
5220 std::unique_ptr<sal_uInt8[]> m_pDel;
5221 std::unique_ptr<sal_uInt8[]> m_pAddPos;
5222 std::unique_ptr<sal_uInt8[]> m_pAddTyp;
5226 SwWW8WrTabu(
const SwWW8WrTabu&) =
delete;
5227 SwWW8WrTabu& operator=(
const SwWW8WrTabu&) =
delete;
5230 SwWW8WrTabu(sal_uInt16 nDelMax, sal_uInt16 nAddMax);
5239SwWW8WrTabu::SwWW8WrTabu(sal_uInt16 nDelMax, sal_uInt16 nAddMax)
5240 : m_nAdd(0), m_nDel(0)
5243 m_pDel.reset(
new sal_uInt8[nDelMax * 2] );
5244 m_pAddPos.reset(
new sal_uInt8[nAddMax * 2] );
5245 m_pAddTyp.reset(
new sal_uInt8[nAddMax] );
5254 ShortToSVBT16(msword_cast<sal_Int16>(rTS.
GetTabPos() + nAdjustment),
5255 m_pAddPos.get() + (m_nAdd * 2));
5261 case SvxTabAdjust::Right:
5264 case SvxTabAdjust::Center:
5267 case SvxTabAdjust::Decimal:
5296 m_pAddTyp[m_nAdd] = nPara;
5306 ShortToSVBT16(msword_cast<sal_Int16>(rTS.
GetTabPos() + nAdjustment),
5307 m_pDel.get() + (m_nDel * 2));
5314void SwWW8WrTabu::PutAll(
WW8Export& rWrt)
5316 if (!m_nAdd && !m_nDel)
5318 OSL_ENSURE(m_nAdd <= 255,
"more than 255 added tabstops?");
5319 OSL_ENSURE(m_nDel <= 255,
"more than 244 removed tabstops?");
5325 sal_uInt16 nSiz = 2 * m_nDel + 3 * m_nAdd + 2;
5331 rWrt.
m_pO->push_back(msword_cast<sal_uInt8>(nSiz));
5333 rWrt.
m_pO->push_back(msword_cast<sal_uInt8>(m_nDel));
5336 rWrt.
m_pO->push_back(msword_cast<sal_uInt8>(m_nAdd));
5345 SwWW8WrTabu aTab( 0, rTStops.
Count());
5347 for( sal_uInt16
n = 0;
n < rTStops.
Count();
n++ )
5352 aTab.Add(rTS, nLParaMgn);
5354 aTab.PutAll( rWrt );
5361 nOneLeft == nTwoLeft &&
5374 SwWW8WrTabu aTab(rTStyle.
Count(), rTNew.
Count());
5382 if( nO < rTStyle.
Count() )
5384 pTO = &rTStyle[ nO ];
5400 if( nN < rTNew.
Count() )
5422 aTab.Del(*pTO, nLStypeMgn);
5425 else if( nNP < nOP )
5428 aTab.Add(*pTN, nLParaMgn);
5438 aTab.Del(*pTO, nLStypeMgn);
5439 aTab.Add(*pTN, nLParaMgn);
5445 aTab.PutAll( rWrt );
5453 if ( bTabsRelativeToIndex )
5459 nCurrentLeft = pLeft->GetTextLeft();
5463 SAL_WARN(
"sw.ww8",
"m_rWW8Export has an RES_LR_SPACE item, but it's of the wrong type.");
5477 aParentTabs.
Insert( pParentTabs );
5483 if ( bTabsRelativeToIndex )
5506 if ( bTabsRelativeToIndex )
5513 *pStyleTabs, nStyleLeft,
5514 rTabStops, nCurrentLeft);
5521 switch ( rHt.
Which() )
5774 SAL_INFO(
"sw.ww8",
"Unhandled SfxPoolItem with id " << rHt.
Which() );
5785 if ( !pSet->
Count() )
5787 while (
nullptr != ( pSet = pSet->
GetParent() ) && !pSet->
Count() )
5797 assert(
rSet.
Count() &&
"Was already handled or?");
5802 }
while ((pItem = aIter.
NextItem()));
5810 if ( SfxItemState::SET == aIter.
GetItemState(
true, &pItem ) &&
5811 ( !bTestForDefault ||
5827 const SvxBorderLine* pBorderLine =
nullptr;
5828 sal_uInt16 nDist = 0;
5831 pBorderLine = rBox.
GetTop();
5842 nDist = rBox.
GetDistance( SvxBoxItemLine::BOTTOM );
5847 nDist = rBox.
GetDistance( SvxBoxItemLine::RIGHT );
5851 if( pBorderLine ||
GetExport().GetExportFormat() != MSWordExportBase::ExportFormat::RTF )
5855 const bool bShadow = pBorderLine &&
5856 pShadowItem && pShadowItem->
GetLocation() != SvxShadowLocation::NONE &&
5876 if ( pRedl->GetRedlineData().GetType() != aRedlineType )
5879 SwNodeOffset uStartNodeIndex = pRedl->Start()->GetNodeIndex();
5880 SwNodeOffset uEndNodeIndex = pRedl->End()->GetNodeIndex();
5883 if( uStartNodeIndex <= uNodeIndex && uNodeIndex < uEndNodeIndex )
5884 return &( pRedl->GetRedlineData() );
5892 bool bHasShadingMarker =
false;
5895 if ( !bConvertToShading &&
GetExport().m_bStyDef )
5906 const std::map<OUString, css::uno::Any>& rMap = aGrabBag.
GetGrabBag();
5907 auto aIterator = rMap.find(
"CharShadingMarker");
5908 if( aIterator != rMap.end() )
5910 aIterator->second >>= bHasShadingMarker;
5914 if( bConvertToShading || bHasShadingMarker )
@ TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK
@ TABS_RELATIVE_TO_INDENT
constexpr sal_Int8 header[]
static bool GetLayoutRTL()
static OutputDevice * GetDefaultDevice()
virtual void FormatKeep(const SvxFormatKeepItem &)=0
Sfx item RES_KEEP.
virtual void ParaTabStop(const SvxTabStopItem &)=0
Sfx item RES_PARATR_TABSTOP.
virtual void CharCaseMap(const SvxCaseMapItem &)=0
Sfx item Sfx item RES_CHRATR_CASEMAP.
virtual void FormatFillStyle(const XFillStyleItem &)=0
Sfx item RES_FILL_STYLE.
virtual void FormatTextLeftMargin(const SvxTextLeftMarginItem &rTextLeftMargin)=0
Sfx item RES_MARGIN_TEXTLEFT.
virtual void TextLineBreak(const SwFormatLineBreak &)=0
RES_TXTATR_LINEBREAK, i.e. clearing breaks.
virtual void TextINetFormat(const SwFormatINetFormat &)=0
Sfx item RES_TXTATR_INETFMT.
virtual void CharWeightCTL(const SvxWeightItem &)=0
Sfx item RES_CHRATR_CTL_WEIGHT.
virtual void ParaHyphenZone(const SvxHyphenZoneItem &)=0
Sfx item RES_PARATR_HYPHENZONE.
virtual void WriteExpand(const SwField *pField)=0
Write the expanded field.
virtual void ParaSplit(const SvxFormatSplitItem &)=0
Sfx item RES_PARATR_SPLIT.
virtual void CharBorder(const ::editeng::SvxBorderLine *pAllBorder, const sal_uInt16 nDist, const bool bShadow)=0
virtual void CharFontSize(const SvxFontHeightItem &)=0
Sfx item RES_CHRATR_FONTSIZE.
virtual void CharFontSizeCJK(const SvxFontHeightItem &)=0
Sfx item RES_CHRATR_CJK_FONTSIZE.
virtual bool MaybeOutputBrushItem(SfxItemSet const &)
virtual void CharFontSizeCTL(const SvxFontHeightItem &)=0
Sfx item RES_CHRATR_CTL_FONTSIZE.
void GenerateBookmarksForSequenceField(const SwTextNode &rNode, SwWW8AttrIter &rAttrIter)
MSO uses bookmarks to reference sequence fields, so we need to generate these additional bookmarks du...
virtual void CharKerning(const SvxKerningItem &)=0
Sfx item RES_CHRATR_KERNING.
void ParaNumRule(const SwNumRuleItem &)
Sfx item RES_PARATR_NUMRULE.
virtual void CharBidiRTL(const SfxPoolItem &)=0
Sfx item RES_CHRATR_BidiRTL.
virtual void CharPostureCJK(const SvxPostureItem &)=0
Sfx item RES_CHRATR_CJK_POSTURE.
virtual void FormatSurround(const SwFormatSurround &)=0
Sfx item RES_SURROUND.
virtual void ParaAdjust(const SvxAdjustItem &)=0
Sfx item RES_PARATR_ADJUST.
void TextFlyContent(const SwFormatFlyCnt &)
Sfx item RES_TXTATR_FLYCNT.
void TextField(const SwFormatField &)
Sfx item RES_TXTATR_FIELD, RES_TXTATR_ANNOTATION and RES_TXTATR_INPUTFIELD.
virtual void FormatBackground(const SvxBrushItem &)=0
Sfx item RES_BACKGROUND.
virtual void ParaOutlineLevel(const SfxUInt16Item &)=0
virtual void FormatFirstLineIndent(const SvxFirstLineIndentItem &rFirstLine)=0
Sfx item RES_MARGIN_FIRSTLINE.
virtual void CharFontCTL(const SvxFontItem &)=0
Sfx item RES_CHRATR_CTL_FONT.
void CharBackgroundBase(const SvxBrushItem &)
Sfx item RES_CHRATR_BACKGROUND.
virtual void FormatTextGrid(const SwTextGridItem &)=0
Sfx item RES_TEXTGRID.
virtual void ParaScriptSpace(const SfxBoolItem &)=0
Sfx item RES_PARATR_SCRIPTSPACE.
void FormatPageDescription(const SwFormatPageDesc &)
Sfx item RES_PAGEDESC.
virtual void CharLanguage(const SvxLanguageItem &)=0
Sfx item RES_CHRATR_LANGUAGE.
virtual void SetField(const SwField &rField, ww::eField eType, const OUString &rCmd)=0
virtual void ParaVerticalAlign(const SvxParaVertAlignItem &)=0
Sfx item RES_PARATR_VERTALIGN.
virtual void FormatPaperBin(const SvxPaperBinItem &)=0
Sfx item RES_PAPER_BIN.
virtual void CharWeight(const SvxWeightItem &)=0
Sfx item RES_CHRATR_WEIGHT.
virtual void CharColor(const SvxColorItem &)=0
Sfx item Sfx item RES_CHRATR_COLOR.
virtual bool DropdownField(const SwField *pField)=0
void OutputStyleItemSet(const SfxItemSet &rSet, bool bTestForDefault)
Use OutputItem() on an item set - for styles.
virtual void FormatColumns_Impl(sal_uInt16 nCols, const SwFormatCol &rCol, bool bEven, SwTwips nPageSize)=0
void EndTOX(const SwSection &rSect, bool bCareEnd=true)
virtual void CharAnimatedText(const SvxBlinkItem &)=0
Sfx item RES_CHRATR_BLINK.
virtual void PageBreakBefore(bool bBreak)=0
Page break As a paragraph property - the paragraph should be on the next page.
virtual void WriteBookmarkInActParagraph(const OUString &rName, sal_Int32 nFirstRunPos, sal_Int32 nLastRunPos)=0
Insert a bookmark inside the currently processed paragraph.
virtual void EndRun(const SwTextNode *pNode, sal_Int32 nPos, sal_Int32 nLen, bool bLastRun=false)=0
End of the text run.
virtual void ParaHangingPunctuation(const SfxBoolItem &)=0
Sfx item RES_PARATR_HANGINGPUNCTUATION.
virtual void CharWeightCJK(const SvxWeightItem &)=0
Sfx item RES_CHRATR_CJK_WEIGHT.
virtual void FormatFrameDirection(const SvxFrameDirectionItem &)=0
Sfx item RES_FRAMEDIR.
virtual void CharRotate(const SvxCharRotateItem &)=0
Sfx item RES_CHRATR_ROTATE.
virtual void ParaForbiddenRules(const SfxBoolItem &)=0
Sfx item RES_PARATR_FORBIDDEN_RULES.
virtual void FormatAnchor(const SwFormatAnchor &)=0
Sfx item RES_ANCHOR.
void FormatBreak(const SvxFormatBreakItem &)
Sfx item RES_BREAK.
virtual void ParaWidows(const SvxWidowsItem &)=0
Sfx item RES_PARATR_WIDOWS.
virtual void FormatFillGradient(const XFillGradientItem &)=0
Sfx item RES_FILL_GRADIENT.
virtual void CharIdctHint(const SfxPoolItem &)=0
Sfx item RES_CHRATR_IdctHint.
virtual void TextCharFormat(const SwFormatCharFormat &)=0
Sfx item RES_TXTATR_CHARFMT.
virtual void CharShadow(const SvxShadowedItem &)=0
Sfx item RES_CHRATR_SHADOWED.
virtual void CharRelief(const SvxCharReliefItem &)=0
Sfx item RES_CHRATR_RELIEF.
virtual bool PlaceholderField(const SwField *pField)=0
virtual void RefField(const SwField &rField, const OUString &rRef)=0
virtual void CharUnderline(const SvxUnderlineItem &)=0
Sfx item RES_CHRATR_UNDERLINE.
virtual void FormatHorizOrientation(const SwFormatHoriOrient &)=0
Sfx item RES_HORI_ORIENT.
virtual void CharHighlight(const SvxBrushItem &)=0
Sfx item RES_CHRATR_HIGHLIGHT.
virtual void CharBackground(const SvxBrushItem &)=0
void FormatCharBorder(const SvxBoxItem &rBox)
Sfx item RES_CHRATR_BOX.
void ParaOutlineLevelBase(const SfxUInt16Item &rItem)
Sfx item RES_PARATR_OUTLINELEVEL.
virtual void StartRun(const SwRedlineData *pRedlineData, sal_Int32 nPos, bool bSingleEmptyRun=false)=0
Start of the text run.
virtual void FormatFrameSize(const SwFormatFrameSize &)=0
Sfx item RES_FRM_SIZE.
virtual MSWordExportBase & GetExport()=0
Return the right export class.
virtual void OnTOXEnding()
virtual void ParaLineSpacing_Impl(short nSpace, short nMulti)=0
Count the values in ParaLineSpacing, and pass theme here.
void ParaLineSpacing(const SvxLineSpacingItem &)
Sfx item RES_PARATR_LINESPACING.
virtual void FormatVertOrientation(const SwFormatVertOrient &)=0
Sfx item RES_VERT_ORIENT.
virtual void FormatLRSpace(const SvxLRSpaceItem &)=0
Sfx item RES_LR_SPACE.
virtual void CharTwoLines(const SvxTwoLinesItem &)=0
Sfx item RES_CHRATR_TWO_LINES.
virtual void CharPosture(const SvxPostureItem &)=0
Sfx item RES_CHRATR_POSTURE.
void OutputItem(const SfxPoolItem &rHt)
Call the right virtual function according to the type of the item.
static void GetNumberPara(OUString &rStr, const SwField &rField)
sal_uInt32 GridCharacterPitch(const SwTextGridItem &rGrid) const
Compute the grid character pitch.
virtual void CharPostureCTL(const SvxPostureItem &)=0
Sfx item RES_CHRATR_CTL_POSTURE.
virtual void CharGrabBag(const SfxGrabBagItem &)=0
Sfx item RES_CHRATR_GRABBAG.
virtual void CharCrossedOut(const SvxCrossedOutItem &)=0
Sfx item RES_CHRATR_CROSSEDOUT.
virtual void FormatBox(const SvxBoxItem &)=0
Sfx item RES_BOX.
void StartTOX(const SwSection &rSect)
virtual void CharAutoKern(const SvxAutoKernItem &)=0
Sfx item RES_CHRATR_AUTOKERN.
virtual void FormatULSpace(const SvxULSpaceItem &)=0
Sfx item RES_UL_SPACE.
virtual void PostitField(const SwField *pField)=0
void TextFootnote(const SwFormatFootnote &)
Sfx item RES_TXTATR_FTN.
virtual void ParaNumRule_Impl(const SwTextNode *pTextNd, sal_Int32 nLvl, sal_Int32 nNumId)=0
Numbering - the implementation.
void FormatColumns(const SwFormatCol &)
Sfx item RES_COL.
virtual void CharHidden(const SvxCharHiddenItem &)=0
Sfx item RES_CHRATR_HIDDEN.
virtual void HiddenField(const SwField &rField)=0
virtual void OutputFlyFrame_Impl(const ww8::Frame &rFormat, const Point &rNdTopLeft)=0
Output frames - the implementation.
virtual void ParaGrabBag(const SfxGrabBagItem &)=0
Sfx item RES_PARATR_GRABBAG.
virtual void CharContour(const SvxContourItem &)=0
Sfx item Sfx item RES_CHRATR_CONTOUR.
virtual void CharFontCJK(const SvxFontItem &)=0
Sfx item RES_CHRATR_CJK_FONT.
virtual void CharLanguageCJK(const SvxLanguageItem &)=0
Sfx item RES_CHRATR_CJK_LANGUAGE.
virtual void CharScaleWidth(const SvxCharScaleWidthItem &)=0
Sfx item RES_CHRATR_SCALEW.
virtual void CharFont(const SvxFontItem &)=0
Sfx item RES_CHRATR_FONT.
virtual void ParaSnapToGrid(const SvxParaGridItem &)=0
Sfx item RES_PARATR_SNAPTOGRID.
virtual void CharEmphasisMark(const SvxEmphasisMarkItem &)=0
Sfx item RES_CHRATR_EMPHASIS_MARK.
virtual void FormatRightMargin(const SvxRightMarginItem &rRightMargin)=0
Sfx item RES_MARGIN_RIGHT.
virtual void CharEscapement(const SvxEscapementItem &)=0
Sfx item RES_CHRATR_ESCAPEMENT.
virtual void CharLanguageCTL(const SvxLanguageItem &)=0
Sfx item RES_CHRATR_CTL_LANGUAGE.
virtual void TextFootnote_Impl(const SwFormatFootnote &)=0
Sfx item RES_TXTATR_FTN.
virtual void SectionBreak(sal_uInt8 nC, bool bBreakAfter, const WW8_SepInfo *pSectionInfo=nullptr, bool bExtraPageBreak=false)=0
Write a section break msword::ColumnBreak or msword::PageBreak bBreakAfter: the break must be schedul...
virtual void OutlineNumbering(sal_uInt8 nLvl)=0
Numbering rule and Id.
virtual void FormatLineNumbering(const SwFormatLineNumber &)=0
Sfx item RES_LINENUMBER.
const SwRedlineData * GetParagraphMarkerRedline(const SwTextNode &rNode, RedlineType aRedlineType)
virtual void SectionRtlGutter(const SfxBoolItem &rRtlGutter)=0
RES_RTL_GUTTER.
sal_uInt16 GetValue() const
const OUString & GetValue() const
bool IsTransparent() const
virtual SwFieldType * GetSysFieldType(const SwFieldIds eWhich) const =0
virtual const SwFieldTypes * GetFieldTypes() const =0
virtual SwList * getListByName(const OUString &rListId) const =0
virtual const SwRedlineTable & GetRedlineTable() const =0
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
virtual SwCharFormat * GetCharFormatFromPool(sal_uInt16 nId)=0
void OutputItemSet(const SfxItemSet &rSet, bool bPapFormat, bool bChpFormat, sal_uInt16 nScript, bool bExportParentItemSet)
Use OutputItem() on an item set according to the parameters.
RndStdIds m_eNewAnchorType
const SfxItemSet * GetCurItemSet() const
Getter for pISet.
std::unique_ptr< WW8_WrPlcField > m_pFieldAtn
bool OutputFollowPageDesc(const SfxItemSet *pSet, const SwTextNode *pNd)
The return value indicates, if a follow page desc is written.
static void CorrectTabStopInSet(SfxItemSet &rSet, sal_Int32 nAbsLeft)
virtual bool CollapseScriptsforWordOk(sal_uInt16 nScript, sal_uInt16 nWhich)=0
Guess the script (asian/western).
bool HasRefToFootOrEndnote(const bool isEndNote, const sal_uInt16 nSeqNo)
bool m_bFootnoteAtTextEnd
bool IsInTable() const
Return whether currently exported node is in table.
const sw::BroadcastingModify * m_pOutFormatNode
std::unique_ptr< WW8_WrPct > m_pPiece
sal_uInt16 DuplicateNumRule(const SwNumRule *pRule, sal_uInt8 nLevel, sal_uInt16 nVal)
In case of numbering restart.
void AddListLevelOverride(sal_uInt16 nListId, sal_uInt16 nLevelNum, sal_uInt16 nStartAt)
Store list level overrides (restart of list)
std::vector< const SwTOXType * > m_aTOXArr
sal_uInt16 OverrideNumRule(SwNumRule const &rExistingRule, OUString const &rListId, SwNumRule const &rAbstractRule)
Create a overriding numbering definition (if it does not yet exist)
bool GetNumberFormat(const SwField &rField, OUString &rStr)
std::vector< SwNodeOffset > m_aChapterFieldLocs
std::unique_ptr< WW8_WrPlcField > m_pFieldTextBxs
std::unique_ptr< MSWordStyles > m_pStyles
const NfKeywordTable & GetNfKeywordTable()
virtual bool PreferPageBreakBefore() const =0
If saving page break is preferred as a paragraph attribute (yes) or as a special character (no).
bool FormatHdFtContainsChapterField(const SwFrameFormat &rFormat) const
const SfxPoolItem * HasItem(sal_uInt16 nWhich) const
bool ContentContainsChapterField(const SwFormatContent &rContent) const
virtual MSWordSections & Sections() const =0
Access to the sections/headers/footres.
const SfxPoolItem & GetItem(sal_uInt16 nWhich) const
bool SetCurrentPageDescFromNode(const SwNode &rNd)
const SwAttrSet * m_pStyAttr
virtual void OutputField(const SwField *pField, ww::eField eFieldType, const OUString &rFieldCmd, FieldFlags nMode=FieldFlags::All)=0
Write the field.
std::unique_ptr< WW8_WrPlcField > m_pFieldMain
std::unique_ptr< WW8_WrPlcField > m_pFieldEdn
virtual bool DisallowInheritingOutlineNumbering(const SwFormat &rFormat)=0
Return value indicates if an inherited outline numbering is suppressed.
static sal_uLong GetSectionLineNo(const SfxItemSet *pSet, const SwNode &rNd)
Line number of the section start.
const SwTextNode * GetHdFtPageRoot() const
Top node of host page when in header/footer.
void OutputSectionBreaks(const SfxItemSet *pSet, const SwNode &rNd, bool isCellOpen=false)
Start new section.
void GatherChapterFields()
Setup the chapter fields (maChapterFieldLocs).
virtual void AppendBookmark(const OUString &rName)=0
const SwPageDesc * m_pCurrentPageDesc
std::unique_ptr< WW8_WrPlcField > m_pFieldHdFt
virtual void DoFormText(const SwInputField *pField)=0
sal_uInt16 GetNumberingId(const SwNumRule &rNumRule)
Return the numeric id of the numbering rule.
const SfxItemSet * m_pISet
const SwFormat * m_pCurrentStyle
const ww8::Frame * m_pParentFrame
void OutputFormat(const SwFormat &rFormat, bool bPapFormat, bool bChpFormat, bool bFlyFormat=false)
Output attributes.
static OUString GetBookmarkName(sal_uInt16 nTyp, const OUString *pName, sal_uInt16 nSeqNo)
Find the bookmark name.
SvxFrameDirection GetDefaultFrameDirection() const
bool m_bOutPageDescs
PageDescs (section properties) are being written.
bool HasRefToAttr(const OUString &rName)
Find the reference.
std::unique_ptr< WW8_WrPlcField > m_pFieldHFTextBxs
virtual AttributeOutputBase & AttrOutput() const =0
Access to the attribute output class.
std::shared_ptr< SwUnoCursor > & m_pCurPam
tools::Long GetParaTabStopOffset() const
sal_uInt16 DuplicateAbsNum(OUString const &rListId, SwNumRule const &rAbstractRule)
check if a new abstractNum is needed for this list
virtual void PrepareNewPageDesc(const SfxItemSet *pSet, const SwNode &rNd, const SwFormatPageDesc *pNewPgDescFormat, const SwPageDesc *pNewPgDesc, bool bExtraPageBreak=false)=0
std::unique_ptr< WW8_WrPlcField > m_pFieldFootnote
static const SwSectionFormat * GetSectionFormat(const SwNode &rNd)
Format of the section.
void ExportPoolItemsToCHP(ww8::PoolItems &rItems, sal_uInt16 nScript, const SvxFontItem *pFont, bool bWriteCombChars=false)
Export the pool items to attributes (through an attribute output class).
std::unique_ptr< WW8_WrPlcPn > m_pPapPlc
std::unique_ptr< WW8_WrPlcPn > m_pChpPlc
sal_uInt16 GetId(const SwTextFormatColl &rColl) const
Return the numeric id of the style.
std::unique_ptr< WW8_WrPlcAnnotations > m_pAtn
bool m_bHideTabLeaderAndPageNumbers
static const SwFormatCol & GetFormatCol(const SwDoc &rDoc, const WW8_SepInfo &rInfo)
Number of columns of the provided WW8_SepInfo.
Class to collect and output the styles table.
const SwFormat * GetSwFormat(sal_uInt16 nSlot) const
static LanguageType getSystemLanguage()
constexpr tools::Long Y() const
constexpr tools::Long X() const
virtual sal_uInt16 GetEnumValue() const override
const std::map< OUString, css::uno::Any > & GetGrabBag() const
sal_Int16 GetValue() const
const SfxPoolItem * GetCurItem() const
const SfxPoolItem * NextItem()
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
const WhichRangesContainer & GetRanges() const
SfxItemPool * GetPool() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
const SfxItemSet * GetParent() const
bool HasItem(sal_uInt16 nWhich, const SfxPoolItem **ppItem=nullptr) const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
T & StaticWhichCast(TypedWhichId< T > nId)
T * DynamicWhichCast(TypedWhichId< T > nId)
SfxItemState GetItemState(bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
std::size_t WriteBytes(const void *pData, std::size_t nSize)
SvStream & WriteUInt32(sal_uInt32 nUInt32)
sal_uInt64 Seek(sal_uInt64 nPos)
sal_uInt64 SeekRel(sal_Int64 nPos)
SvStream & ReadUInt16(sal_uInt16 &rUInt16)
bool IsCharBackground2Shading() const
static SvtFilterOptions & Get()
SvxAdjust GetLastBlock() const
SvxAdjust GetAdjust() const
static const sal_Int16 Hairline
const editeng::SvxBorderLine * GetTop() const
const editeng::SvxBorderLine * GetLine(SvxBoxItemLine nLine) const
const editeng::SvxBorderLine * GetRight() const
const editeng::SvxBorderLine * GetLeft() const
sal_Int16 GetDistance(SvxBoxItemLine nLine, bool bAllowNegative=false) const
void SetDistance(sal_Int16 nNew, SvxBoxItemLine nLine)
const editeng::SvxBorderLine * GetBottom() const
const Color & GetColor() const
const Color & GetValue() const
FontStrikeout GetStrikeout() const
FontEmphasisMark GetEmphasisMark() const
sal_uInt8 & GetProportionalHeight()
void SetTextFirstLineOffset(const short nF, const sal_uInt16 nProp=100)
short GetTextFirstLineOffset() const
sal_uInt32 GetHeight() const
void SetHeight(sal_uInt32 nNewHeight, const sal_uInt16 nNewProp=100, MapUnit eUnit=MapUnit::MapRelative)
short GetTextFirstLineOffset() const
tools::Long GetRight() const
tools::Long GetGutterMargin() const
tools::Long GetTextLeft() const
tools::Long GetLeft() const
LanguageType GetLanguage() const
sal_uInt16 GetPropLineSpace() const
SvxInterLineSpaceRule GetInterLineSpaceRule() const
SvxLineSpaceRule GetLineSpaceRule() const
sal_uInt16 GetLineHeight() const
short GetInterLineSpace() const
static tools::Long GetSloppyPaperDimension(tools::Long nSize)
FontItalic GetPosture() const
tools::Long GetRight() const
sal_uInt16 GetWidth() const
SvxShadowLocation GetLocation() const
tools::Long GetHeight() const
tools::Long GetWidth() const
void Remove(const sal_uInt16 nPos, const sal_uInt16 nLen=1)
bool Insert(const SvxTabStop &rTab)
sal_Unicode & GetDecimal()
SvxTabAdjust & GetAdjustment()
void SetTextLeft(const tools::Long nL, const sal_uInt16 nProp=100)
tools::Long GetTextLeft() const
FontLineStyle GetLineStyle() const
const Color & GetColor() const
Degree10 GetValue() const
sal_Unicode GetStartBracket() const
sal_Unicode GetEndBracket() const
sal_uInt16 GetUpper() const
sal_uInt16 GetLower() const
FontWeight GetWeight() const
Represents an inserted bibliography entry, created using Insert -> Table of Contents and Index -> Bib...
css::uno::Reference< css::i18n::XBreakIterator > const & GetBreakIter() const
void ChangeExpansion(const SwFrame &, const SwContentNode *, bool bSrchNum=false)
sal_uInt8 GetLevel(SwRootFrame const *pLayout=nullptr) const
const SwModify * GetRegisteredIn() const
const OUString & GetColumnName() const
const OUString & GetName() const
SwDBData const & GetDBData()
const SwFootnoteInfo & GetFootnoteInfo() const
SwNumRule * FindNumRulePtr(const OUString &rName) const
SwNumRule * GetOutlineNumRule() const
SwCharFormat * FindCharFormatByName(const OUString &rName) const
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
IDocumentSettingAccess const & getIDocumentSettingAccess() const
const SwTextFormatColls * GetTextFormatColls() const
const SwEndNoteInfo & GetEndNoteInfo() const
IDocumentStylePoolAccess const & getIDocumentStylePoolAccess() const
SwTextFormatColl * FindTextFormatCollByName(const OUString &rName) const
const SwAttrPool & GetAttrPool() const
DocumentType GetDocumentType() const
SvNumberFormatter * GetNumberFormatter(bool bCreate=true)
const SwPageDesc & GetPageDesc(const size_t i) const
SvxFrameDirection GetTextDirection(const SwPosition &rPos, const Point *pPt=nullptr) const
IDocumentListsAccess const & getIDocumentListsAccess() const
const OUString & GetHelp() const
Returns the help text of the field.
css::uno::Sequence< OUString > GetItemSequence() const
Returns the items of the dropdown box.
const OUString & GetName() const
Returns the name of the field.
const OUString & GetToolTip() const
Returns the tool tip of the field.
const OUString & GetSelectedItem() const
Returns the selected item.
SwCharFormat * GetCharFormat(SwDoc &rDoc) const
SwCharFormat * GetAnchorCharFormat(SwDoc &rDoc) const
Instances of SwFields and those derived from it occur 0 to n times.
virtual OUString GetName() const
Only in derived classes.
void GatherRefFields(std::vector< SwGetRefField * > &rvRFields, const sal_uInt16 nTyp)
void GatherNodeIndex(std::vector< SwNodeOffset > &rvNodeIndex)
Base class of all fields.
virtual OUString GetPar1() const
virtual sal_uInt16 GetSubType() const
sal_uInt32 GetFormat() const
Query parameters for dialog and for BASIC.
OUString ExpandField(bool bCached, SwRootFrame const *pLayout) const
expand the field.
virtual OUString GetFieldName() const
get name or content
SwFieldType * GetTyp() const
LanguageType GetLanguage() const
Language at field position.
virtual OUString GetPar2() const
Content, content of frame (header, footer, fly).
const SwNodeIndex * GetContentIdx() const
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
bool KnowsPageDesc() const
SwPageDesc * GetPageDesc()
const ::std::optional< sal_uInt16 > & GetNumOffset() const
static sal_Int32 GetReferenceTextPos(const SwFormatField &rFormat, SwDoc &rDoc, sal_Int32 nHint=0)
Find the index of the reference text following the current field.
const OUString & GetSetRefName() const
sal_uInt16 GetSeqNo() const
Get/set SequenceNo (of interest only for REF_SEQUENCEFLD).
const OUString & GetDefaultListStyleName() const
Marks a node in the document model.
SwNodeOffset GetIndex() const
Base class of the Writer document model elements.
SwNodeOffset GetIndex() const
SwTableBox * GetTableBox() const
If node is in a table return the respective table box.
const SwPageDesc * FindPageDesc(SwNodeOffset *pPgDescNdIdx=nullptr) const
Search PageDesc with which this node is formatted.
SwTableNode * FindTableNode()
Search table node, in which it is.
SwSectionNode * FindSectionNode()
Search section node, in which it is.
const SwStartNode * StartOfSectionNode() const
SwContentNode * GetContentNode()
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
SwContentNode * GoNext(SwNodeIndex *) const
const OUString & GetDefaultListId() const
const SwNumFormat & Get(sal_uInt16 i) const
const OUString & GetName() const
SwFrameFormat & GetMaster()
SwFrameFormat & GetFirstMaster()
bool GetLandscape() const
const SwPageDesc * GetFollow() const
static const SwPageDesc * GetPageDescOfNode(const SwNode &rNd)
Given a SwNode return the pagedesc in use at that location.
const OUString & GetComment() const
A section node represents the start of a section on the UI, i.e.
const SwSection & GetSection() const
const SwTOXBase * GetTOXBase() const
SwSection * GetParent() const
SwSectionFormat * GetFormat()
SectionType GetType() const
virtual OUString GetPar1() const override
Query name only.
const OUString & GetPromptText() const
virtual OUString GetPar2() const override
Query formula.
bool GetInputFlag() const
SwTableBox is one table cell in the document model.
const SwStartNode * GetSttNd() const
SwTableLine is one table row in the document model.
sal_uInt16 GetBoxPos(const SwTableBox *pBox) const
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
const SfxPoolItem & GetAttr() const
sal_Int32 GetStart() const
const SwFormatField & GetFormatField() const
Represents the style of a paragraph.
bool IsAssignedToListLevelOfOutlineStyle() const
int GetAssignedOutlineStyleLevel() const
sal_uInt16 GetBaseHeight() const
sal_uInt16 GetBaseWidth() const
bool IsSquaredMode() const
sal_uInt16 GetRubyHeight() const
SwTextGrid GetGridType() const
bool IsSnapToChars() const
SwTextNode is a paragraph in the document model.
SwNumberTree::tSwNumTreeNumber GetActualListStartValue() const
bool GetParaAttr(SfxItemSet &rSet, sal_Int32 nStt, sal_Int32 nEnd, const bool bOnlyTextAttr=false, const bool bGetFromChrFormat=true, const bool bMergeIndentValuesOfNumRule=false, SwRootFrame const *pLayout=nullptr) const
Query the attributes of textnode over the range.
OUString GetListId() const
bool IsCountedInList() const
int GetActualListLevel(SwListRedlineType eRedline=SwListRedlineType::SHOW) const
Returns the actual list level of this text node, when it is a list item.
bool IsListRestart() const
SwpHints * GetpSwpHints()
const OUString & GetText() const
sal_Int32 WhereNext() const
void SplitRun(sal_Int32 nSplitEndPos)
static void InsUInt32(ww::bytes &rO, sal_uInt32 n)
static void InsUInt16(ww::bytes &rO, sal_uInt16 n)
static void WriteLong(SvStream &rStrm, sal_Int32 nVal)
static void WriteString16(SvStream &rStrm, const OUString &rStr, bool bAddZero)
An SwTextAttr container, stores all directly formatted text portions for a text node.
SwTextAttr * Get(size_t nPos) const
std::multimap< sal_Int32, OUString > m_aBookmarksOfParagraphEnd
virtual void FormatLRSpace(const SvxLRSpaceItem &) override
Sfx item RES_LR_SPACE.
virtual void ParaSplit(const SvxFormatSplitItem &) override
Sfx item RES_PARATR_SPLIT.
virtual void FormatBackground(const SvxBrushItem &) override
Sfx item RES_BACKGROUND.
virtual void StartRun(const SwRedlineData *pRedlineData, sal_Int32 nPos, bool bSingleEmptyRun=false) override
Start of the text run.
virtual void CharRotate(const SvxCharRotateItem &) override
Sfx item RES_CHRATR_ROTATE.
virtual void FormatLineNumbering(const SwFormatLineNumber &) override
Sfx item RES_LINENUMBER.
virtual void CharBidiRTL(const SfxPoolItem &rHt) override
Sfx item RES_CHRATR_BidiRTL.
virtual void EndRunProperties(const SwRedlineData *pRedlineData) override
After we end outputting the attributes.
virtual void ParaNumRule_Impl(const SwTextNode *pTextNd, sal_Int32 nLvl, sal_Int32 nNumId) override
Sfx item RES_PARATR_NUMRULE.
virtual void SectionBreak(sal_uInt8 nC, bool bBreakAfter, const WW8_SepInfo *pSectionInfo=nullptr, bool bExtraPageBreak=false) override
Write a section break msword::ColumnBreak or msword::PageBreak.
virtual void ParagraphStyle(sal_uInt16 nStyle) override
Output style.
virtual void FormatBox(const SvxBoxItem &) override
Sfx item RES_BOX.
virtual void FormatAnchor(const SwFormatAnchor &) override
Sfx item RES_ANCHOR.
virtual void FormatULSpace(const SvxULSpaceItem &rHt) override
Sfx item RES_UL_SPACE.
virtual void CharWeightCTL(const SvxWeightItem &) override
Sfx item RES_CHRATR_CTL_WEIGHT.
virtual void OnTOXEnding() override
void OutputWW8AttributeCTL(sal_uInt8 nId, bool bVal)
Output the bold etc. attributes, the Complex Text Layout version.
virtual void ParaForbiddenRules(const SfxBoolItem &) override
Sfx item RES_PARATR_FORBIDDEN_RULES.
virtual void ParaSnapToGrid(const SvxParaGridItem &) override
Sfx item RES_PARATR_SNAPTOGRID.
virtual void CharKerning(const SvxKerningItem &) override
Sfx item RES_CHRATR_KERNING.
virtual void FormatPaperBin(const SvxPaperBinItem &) override
Sfx item RES_PAPER_BIN.
virtual void TextINetFormat(const SwFormatINetFormat &) override
Sfx item RES_TXTATR_INETFMT.
void OutputWW8Attribute(sal_uInt8 nId, bool bVal)
Output the bold etc. attributes.
virtual void FormatFillGradient(const XFillGradientItem &) override
Sfx item RES_FILL_GRADIENT.
virtual void EndParagraph(ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner) override
End of the paragraph.
virtual void CharScaleWidth(const SvxCharScaleWidthItem &) override
Sfx item RES_CHRATR_SCALEW.
virtual void CharRelief(const SvxCharReliefItem &) override
Sfx item RES_CHRATR_RELIEF.
virtual void RawText(const OUString &rText, rtl_TextEncoding eCharSet) override
Output text (without markup).
virtual void CharPostureCTL(const SvxPostureItem &) override
Sfx item RES_CHRATR_CTL_POSTURE.
virtual WW8Export & GetExport() override
Return the right export class.
editeng::WordPageMargins m_pageMargins
void TextLineBreak(const SwFormatLineBreak &rLineBreak) override
RES_TXTATR_LINEBREAK, i.e. clearing breaks.
virtual void FormatFillStyle(const XFillStyleItem &) override
Sfx item RES_FILL_STYLE.
virtual void CharCaseMap(const SvxCaseMapItem &) override
Sfx item Sfx item RES_CHRATR_CASEMAP.
virtual void EndRun(const SwTextNode *pNode, sal_Int32 nPos, sal_Int32 nLen, bool bLastRun=false) override
End of the text run.
virtual void CharAnimatedText(const SvxBlinkItem &) override
Sfx item RES_CHRATR_BLINK.
virtual void FormatVertOrientation(const SwFormatVertOrient &) override
Sfx item RES_VERT_ORIENT.
virtual void ParaWidows(const SvxWidowsItem &rHt) override
Sfx item RES_PARATR_WIDOWS.
virtual void ParaHangingPunctuation(const SfxBoolItem &) override
Sfx item RES_PARATR_HANGINGPUNCTUATION.
virtual void FormatFrameDirection(const SvxFrameDirectionItem &) override
Sfx item RES_FRAMEDIR.
virtual void FormatRightMargin(const SvxRightMarginItem &rRightMargin) override
Sfx item RES_MARGIN_RIGHT.
virtual void CharPosture(const SvxPostureItem &) override
Sfx item RES_CHRATR_POSTURE.
virtual void CharColor(const SvxColorItem &) override
Sfx item Sfx item RES_CHRATR_COLOR.
virtual void CharFont(const SvxFontItem &) override
Sfx item RES_CHRATR_FONT.
virtual void CharFontCTL(const SvxFontItem &) override
Sfx item RES_CHRATR_CTL_FONT.
virtual void RTLAndCJKState(bool bIsRTL, sal_uInt16 nScript) override
Export the state of RTL/CJK.
virtual void FormatKeep(const SvxFormatKeepItem &) override
Sfx item RES_KEEP.
virtual void ParaGrabBag(const SfxGrabBagItem &) override
Sfx item RES_PARATR_GRABBAG.
virtual void FormatHorizOrientation(const SwFormatHoriOrient &) override
Sfx item RES_HORI_ORIENT.
virtual void OutputFKP(bool bForce) override
Output FKP (Formatted disK Page) - necessary for binary formats only.
virtual void CharHighlight(const SvxBrushItem &) override
Sfx item RES_CHRATR_HIGHLIGHT.
virtual void SetField(const SwField &rField, ww::eField eType, const OUString &rCmd) override
virtual void RefField(const SwField &rField, const OUString &rRef) override
virtual void TableRowEnd(sal_uInt32 nDepth) override
virtual bool PlaceholderField(const SwField *pField) override
virtual void ParaAdjust(const SvxAdjustItem &rHt) override
Sfx item RES_PARATR_ADJUST.
sal_uInt16 m_nFieldResults
For output of run properties.
virtual void FormatTextGrid(const SwTextGridItem &) override
Sfx item RES_TEXTGRID.
virtual void PageBreakBefore(bool bBreak) override
Page break As a paragraph property - the paragraph should be on the next page.
void SectionRtlGutter(const SfxBoolItem &rRtlGutter) override
RES_RTL_GUTTER.
virtual void Redline(const SwRedlineData *pRedline) override
Output redlining.
virtual void CharWeight(const SvxWeightItem &) override
Sfx item RES_CHRATR_WEIGHT.
virtual void CharFontCJK(const SvxFontItem &) override
Sfx item RES_CHRATR_CJK_FONT.
virtual void ParaVerticalAlign(const SvxParaVertAlignItem &) override
Sfx item RES_PARATR_VERTALIGN.
virtual void FormatSurround(const SwFormatSurround &) override
Sfx item RES_SURROUND.
virtual void ParaHyphenZone(const SvxHyphenZoneItem &) override
Sfx item RES_PARATR_HYPHENZONE.
virtual void CharUnderline(const SvxUnderlineItem &) override
Sfx item RES_CHRATR_UNDERLINE.
virtual void FormatTextLeftMargin(const SvxTextLeftMarginItem &rTextLeftMargin) override
Sfx item RES_MARGIN_TEXTLEFT.
virtual void CharBorder(const ::editeng::SvxBorderLine *pAllBorder, const sal_uInt16 nDist, const bool bShadow) override
Sfx item RES_CHRATR_BOX.
virtual void CharHidden(const SvxCharHiddenItem &) override
Sfx item RES_CHRATR_HIDDEN.
virtual void ParaOutlineLevel(const SfxUInt16Item &) override
virtual void HiddenField(const SwField &rField) override
virtual void CharTwoLines(const SvxTwoLinesItem &) override
Sfx item RES_CHRATR_TWO_LINES.
virtual void ParaLineSpacing_Impl(short nSpace, short nMulti) override
Sfx item RES_PARATR_LINESPACING.
virtual void StartRunProperties() override
Before we start outputting the attributes.
std::multimap< sal_Int32, OUString > m_aBookmarksOfParagraphStart
Bookmarks of the current paragraph.
virtual void CharEmphasisMark(const SvxEmphasisMarkItem &rHt) override
Sfx item RES_CHRATR_EMPHASIS_MARK.
virtual void CharLanguage(const SvxLanguageItem &) override
Sfx item RES_CHRATR_LANGUAGE.
virtual bool DropdownField(const SwField *pField) override
virtual void CharEscapement(const SvxEscapementItem &) override
Sfx item RES_CHRATR_ESCAPEMENT.
virtual void CharBackground(const SvxBrushItem &) override
Sfx item RES_CHRATR_BACKGROUND.
WW8Export & m_rWW8Export
Reference to the export, where to get the data from.
virtual void CharShadow(const SvxShadowedItem &) override
Sfx item RES_CHRATR_SHADOWED.
virtual void FormatFrameSize(const SwFormatFrameSize &) override
Sfx item RES_FRM_SIZE.
virtual void FormatColumns_Impl(sal_uInt16 nCols, const SwFormatCol &rCol, bool bEven, SwTwips nPageSize) override
Sfx item RES_COL.
virtual void CharAutoKern(const SvxAutoKernItem &) override
Sfx item RES_CHRATR_AUTOKERN.
virtual void CharGrabBag(const SfxGrabBagItem &) override
Sfx item RES_TXTATR_GRABBAG.
virtual void CharFontSize(const SvxFontHeightItem &) override
Sfx item RES_CHRATR_FONTSIZE.
virtual void RunText(const OUString &rText, rtl_TextEncoding eCharSet=RTL_TEXTENCODING_UTF8, const OUString &rSymbolFont=OUString()) override
Output text.
virtual void CharContour(const SvxContourItem &) override
Sfx item Sfx item RES_CHRATR_CONTOUR.
virtual void TextFootnote_Impl(const SwFormatFootnote &) override
Sfx item RES_TXTATR_FTN.
virtual void PostitField(const SwField *pField) override
virtual void FormatFirstLineIndent(const SvxFirstLineIndentItem &rFirstLine) override
Sfx item RES_MARGIN_FIRSTLINE.
virtual void TableInfoRow(ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo) override
virtual void ParaTabStop(const SvxTabStopItem &rHt) override
Sfx item RES_PARATR_TABSTOP.
virtual void CharCrossedOut(const SvxCrossedOutItem &rHt) override
Sfx item RES_CHRATR_CROSSEDOUT.
virtual void WriteExpand(const SwField *pField) override
Write the expanded field.
virtual void TextCharFormat(const SwFormatCharFormat &) override
Sfx item RES_TXTATR_CHARFMT.
virtual void CharIdctHint(const SfxPoolItem &rHt) override
Sfx item RES_CHRATR_IdctHint.
virtual void OutlineNumbering(sal_uInt8 nLvl) override
Numbering rule and Id.
virtual void ParaScriptSpace(const SfxBoolItem &) override
Sfx item RES_PARATR_SCRIPTSPACE.
Exporter of the binary Word file formats.
virtual void OutputField(const SwField *pField, ww::eField eFieldType, const OUString &rFieldCmd, FieldFlags nMode=FieldFlags::All) override
Write the field.
void Out_CellRangeBorders(const SvxBoxItem *pBox, sal_uInt8 nStart, sal_uInt8 nLimit)
static bool TransBrush(const Color &rCol, WW8_SHD &rShd)
TransBrush converts SW-Brushes to WW.
void Out_SwFormatBox(const SvxBoxItem &rBox, bool bShadow)
is for all boxes except in tables.
void DoComboBox(css::uno::Reference< css::beans::XPropertySet > const &xPropSet)
std::unique_ptr< WW8AttributeOutput > m_pAttrOutput
Converting attributes to stream data.
std::unique_ptr< WW8_WrPlcSepx > m_pSepx
Sections/headers/footers.
void OutSprmBytes(sal_uInt8 *pBytes, sal_uInt16 nSiz)
void InsUInt16(sal_uInt16 n)
static void Out_BorderLine(ww::bytes &rO, const ::editeng::SvxBorderLine *pLine, sal_uInt16 nDist, sal_uInt16 nSprmNo, sal_uInt16 nSprmNoVer9, bool bShadow)
Gets passed a WW8Bytes*, so the function also can be used for the table border.
void WritePostItBegin(ww::bytes *pO=nullptr)
void WriteChar(sal_Unicode c) override
virtual sal_uInt64 ReplaceCr(sal_uInt8 nChar) override
ReplaceCr() is used for Pagebreaks and Pagedescs.
void InsUInt32(sal_uInt32 n)
virtual bool DisallowInheritingOutlineNumbering(const SwFormat &rFormat) override
Return value indicates if an inherited outline numbering is suppressed.
WW8_WrPlcField * CurrentFieldPlc() const
Fields.
SvStream * m_pDataStrm
Streams for WW97 Export.
virtual void AppendBookmark(const OUString &rName) override
std::unique_ptr< WW8_WrPlcFootnoteEdn > m_pFootnote
Footnotes - structure to remember them, and output.
std::unique_ptr< WW8Dop > m_pDop
Document Properties.
static WW8_BRCVer9 TranslateBorderLine(const ::editeng::SvxBorderLine &pLine, sal_uInt16 nDist, bool bShadow)
std::unique_ptr< WW8Fib > m_pFib
File Information Block.
virtual void PrepareNewPageDesc(const SfxItemSet *pSet, const SwNode &rNd, const SwFormatPageDesc *pNewPgDescFormat, const SwPageDesc *pNewPgDesc, bool bExtraPageBreak=false) override
Helper method for OutputSectionBreaks() and OutputFollowPageDesc().
SwTwips CurrentPageWidth(SwTwips &rLeft, SwTwips &rRight) const
void StartCommentOutput(std::u16string_view rName)
void GetCurrentItems(ww::bytes &rItems) const
static sal_uInt8 GetNumId(sal_uInt16 eNumType)
Converts the SVX numbering type to MSONFC.
static void Out_SwFormatTableBox(ww::bytes &rO, const SvxBoxItem *rBox)
FormatBox2() is for TC structures in tables.
WW8_CP Fc2Cp(sal_uLong nFc) const
void WriteFootnoteBegin(const SwFormatFootnote &rFootnote, ww::bytes *pO=nullptr)
void AppendBookmarkEndWithCorrection(const OUString &rName)
std::unique_ptr< ww::bytes > m_pO
Buffer.
void EndCommentOutput(std::u16string_view rName)
std::unique_ptr< WW8_WrPlcFootnoteEdn > m_pEdn
Endnotes - structure to remember them, and output.
void OutSwString(const OUString &, sal_Int32 nStt, sal_Int32 nLen)
void MoveFieldMarks(WW8_CP nFrom, WW8_CP nTo)
virtual bool CollapseScriptsforWordOk(sal_uInt16 nScript, sal_uInt16 nWhich) override
Guess the script (asian/western).
void Append(WW8_CP nCp, const void *pData)
sal_uInt16 ResultCount() const
Make export a word section top/bottom values easy.
sal_uInt16 m_DyaHdrBottom
Make exporting a Writer Frame easy.
const SwFrameFormat & GetFrameFormat() const
Get the writer SwFrameFormat that this object describes.
std::shared_ptr< WW8TableNodeInfoInner > Pointer_t
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
virtual OUString GetName() const override
virtual sal_uInt32 GetId() const override
#define DFLT_ESC_AUTO_SUB
#define DFLT_ESC_AUTO_SUPER
SwFieldTypesEnum
List of FieldTypes at UI.
@ Database
For old documents the Field-Which IDs must be preserved !!!
std::vector< SwColumn > SwColumns
@ Fixed
Frame cannot be moved in Var-direction.
@ Variable
Frame is variable in Var-direction.
@ FTNEND_ATPGORDOCEND
at page or document end
constexpr TypedWhichId< SvxFrameDirectionItem > RES_FRAMEDIR(126)
constexpr TypedWhichId< SwFormatEndAtTextEnd > RES_END_AT_TXTEND(124)
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< SwFormatFootnoteAtTextEnd > RES_FTN_AT_TXTEND(123)
bool isTXTATR(const sal_uInt16 nWhich)
constexpr TypedWhichId< SwFormatFootnote > RES_TXTATR_FTN(59)
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< SvxForbiddenRuleItem > RES_PARATR_FORBIDDEN_RULES(75)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
constexpr sal_uInt16 RES_PARATR_BEGIN(RES_TXTATR_END)
constexpr TypedWhichId< SvxFirstLineIndentItem > RES_MARGIN_FIRSTLINE(91)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
constexpr TypedWhichId< SwConditionTextFormatColl > RES_CONDTXTFMTCOLL(166)
constexpr TypedWhichId< SvxShadowedItem > RES_CHRATR_SHADOWED(13)
constexpr TypedWhichId< SwFormatHeader > RES_HEADER(102)
constexpr TypedWhichId< SwFormatFrameSize > RES_FRM_SIZE(89)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
constexpr TypedWhichId< SwFormatCol > RES_COL(115)
constexpr TypedWhichId< SwFormatHoriOrient > RES_HORI_ORIENT(109)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
constexpr TypedWhichId< SvxShadowItem > RES_SHADOW(113)
constexpr TypedWhichId< SfxInt16Item > RES_PARATR_LIST_LEVEL(83)
constexpr TypedWhichId< SwFormatVertOrient > RES_VERT_ORIENT(108)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CTL_FONT(27)
constexpr TypedWhichId< SfxBoolItem > RES_RTL_GUTTER(139)
constexpr sal_uInt16 RES_FRMATR_END(141)
constexpr TypedWhichId< SwFormatINetFormat > RES_TXTATR_INETFMT(51)
constexpr TypedWhichId< SfxInt16Item > RES_CHRATR_BIDIRTL(44)
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(99)
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< SwTextGridItem > RES_TEXTGRID(121)
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< SwFormatField > RES_TXTATR_ANNOTATION(60)
constexpr TypedWhichId< SwFlyFrameFormat > RES_FLYFRMFMT(162)
constexpr sal_uInt16 RES_WHICHHINT_END(HINT_END)
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< SwFormatFooter > RES_FOOTER(103)
constexpr TypedWhichId< SwNumRuleItem > RES_PARATR_NUMRULE(72)
constexpr TypedWhichId< SwFormatField > RES_TXTATR_FIELD(RES_TXTATR_NOEND_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< SwFormatAnchor > RES_ANCHOR(110)
constexpr TypedWhichId< SwFormatLineBreak > RES_TXTATR_LINEBREAK(61)
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< SwTextFormatColl > RES_TXTFMTCOLL(163)
constexpr TypedWhichId< SvxScriptSpaceItem > RES_PARATR_SCRIPTSPACE(73)
constexpr TypedWhichId< SvxWordLineModeItem > RES_CHRATR_WORDLINEMODE(16)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CJK_WEIGHT(26)
constexpr TypedWhichId< SfxGrabBagItem > RES_PARATR_GRABBAG(81)
constexpr TypedWhichId< SvxKerningItem > RES_CHRATR_KERNING(9)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SfxUInt16Item > RES_PARATR_OUTLINELEVEL(79)
constexpr TypedWhichId< SwFormatSurround > RES_SURROUND(107)
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< SvxPaperBinItem > RES_PAPER_BIN(90)
constexpr TypedWhichId< SvxBoxItem > RES_CHRATR_BOX(40)
constexpr TypedWhichId< SwFormatField > RES_TXTATR_INPUTFIELD(55)
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
constexpr TypedWhichId< SwFrameFormat > RES_FRMFMT(161)
sal_uInt16 GetWhichOfScript(sal_uInt16 nWhich, sal_uInt16 nScript)
#define LANGUAGE_GERMAN_AUSTRIAN
#define LANGUAGE_GERMAN_SWISS
#define LANGUAGE_GERMAN_LUXEMBOURG
#define LANGUAGE_DONTKNOW
#define LANGUAGE_GERMAN_LIECHTENSTEIN
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
const sal_uInt16 LN_PDxaFromText10
constexpr OUStringLiteral aData
void BorderDistancesToWord(const SvxBoxItem &rBox, const WordPageMargins &rMargins, WordBorderDistances &rDistances)
::Color BGRToRGB(sal_uInt32 nColour)
sal_uInt8 TransColToIco(const Color &rCol)
const sal_uInt8 ColumnBreak
const sal_uInt8 PageBreak
const SwDocInfoSubType DI_SUB_MASK
const SwDocInfoSubType DI_DOCNO
const SwDocInfoSubType DI_SUB_AUTHOR
const SwDocInfoSubType DI_CUSTOM
const SwDocInfoSubType DI_CHANGE
const SwDocInfoSubType DI_COMMENT
const SwDocInfoSubType DI_SUB_FIXED
const SwDocInfoSubType DI_PRINT
const SwDocInfoSubType DI_KEYS
const SwDocInfoSubType DI_EDIT
const SwDocInfoSubType DI_SUBJECT
const SwDocInfoSubType DI_TITLE
const SwDocInfoSubType DI_CREATE
const SwExtendedSubType SUB_INVISIBLE
Invisible.
const SwGetSetExpType GSE_SEQ
Sequence.
const SwGetSetExpType GSE_STRING
String.
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
std::basic_string_view< charT, traits > trim(std::basic_string_view< charT, traits > str)
constexpr bool starts_with(std::basic_string_view< charT, traits > sv, std::basic_string_view< charT, traits > x) noexcept
void SwapQuotesInField(OUString &rFormat)
Another function used by MSDateTimeFormatToSwFormat.
void GetPoolItems(const SfxItemSet &rSet, ww8::PoolItems &rItems, bool bExportParentItemSet)
Get the SfxPoolItems of a SfxItemSet.
const SfxPoolItem * SearchPoolItems(const ww8::PoolItems &rItems, sal_uInt16 eType)
bool IsPlausableSingleWordSection(const SwFrameFormat &rTitleFormat, const SwFrameFormat &rFollowFormat)
See if two page formats can be expressed as a single word section.
const T * HasItem(const ww8::PoolItems &rItems, sal_uInt16 eType)
const SwCharFormat * GetSwCharFormat(const SwFormatINetFormat &rINet, SwDoc &rDoc)
Dialog to specify the properties of date form field.
std::map< sal_uInt16, const SfxPoolItem *, sw::util::ItemSort > PoolItems
STL container of SfxPoolItems (Attributes)
sal_uInt32 RGBToBGR(::Color nColour)
const char * GetEnglishFieldName(eField eIndex) noexcept
Find the English Field Name from a winword index.
std::vector< sal_uInt8 > bytes
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)
@ RES_POOLCOLL_HEADLINE9
Heading 9.
@ RES_POOLCOLL_HEADLINE1
Heading 1.
bool IsPoolUserFormat(sal_uInt16 nId)
@ REF_PAGE_PGDESC
"As Page Style"
@ REF_UPDOWN
"Above/Below"
@ REF_NUMBER
new reference format types for referencing bookmarks and set references
@ REF_ONLYSEQNO
"Numbering"
@ REF_ONLYNUMBER
"Category and Number"
@ REF_ONLYCAPTION
"Caption Text"
@ REF_NUMBER_NO_CONTEXT
"Number (no context)"
@ REF_NUMBER_FULL_CONTEXT
"Number (full context)"
static constexpr sal_uInt16 val
Marks a position in the document model.
sal_uInt8 brcType() const
sal_uInt8 dptLineWidth() const
sal_uInt8 dptSpace() const
void SetBack(sal_uInt8 nVal)
sal_uInt16 GetValue() const
void SetFore(sal_uInt8 nVal)
void SetStyle(sal_uInt8 nVal)
SVX_NUM_CHARS_LOWER_LETTER_N
SVX_NUM_CHARS_LOWER_LETTER
SVX_NUM_CHARS_UPPER_LETTER
SVX_NUM_CHARS_UPPER_LETTER_N
tools::Long AttrSetToLineHeight(const IDocumentSettingAccess &rIDocumentSettingAccess, const SwAttrSet &rSet, const vcl::RenderContext &rOut, sal_Int16 nScript)
Helper for filters to find true lineheight of a font.
OUString SwResId(TranslateId aId)
constexpr sal_uInt8 MAXLEVEL
#define TOX_STYLE_DELIMITER
std::vector< SwFormToken > SwFormTokens
Vector of tokens.
static void Add(SwRegionRects &rRegion, const SwRect &rRect)
SVXCORE_DLLPUBLIC std::unique_ptr< SvxBrushItem > getSvxBrushItemFromSourceSet(const SfxItemSet &rSourceSet, sal_uInt16 nBackgroundID, bool bSearchInParents=true, bool bXMLImportHack=false)
OUString BookmarkToWord(std::u16string_view rBookmark, bool *pIsMove, bool *pIsFrom)
sal_Int16 GetWordFirstLineOffset(const SwNumFormat &rFormat)
static void ParaTabStopDelAdd(WW8Export &rWrt, const SvxTabStopItem &rTStyle, const tools::Long nLStypeMgn, const SvxTabStopItem &rTNew, const tools::Long nLParaMgn)
static bool lcl_IsAtTextEnd(const SwFormatFootnote &rFootnote)
static sal_uInt32 SuitableBGColor(Color nIn)
static int lcl_CheckForm(const SwForm &rForm, sal_uInt8 nLvl, OUString &rText)
static void ParaTabStopAdd(WW8Export &rWrt, const SvxTabStopItem &rTStops, const tools::Long nLParaMgn)
static void InsertSpecialChar(WW8Export &rWrt, sal_uInt8 c, OUString const *pLinkStr, bool bIncludeEmptyPicLocation=false)
OUString FieldString(ww::eField eIndex)
static auto GetSeparatorForLocale() -> OUString
static OUString lcl_GetExpandedField(const SwField &rField)
static bool lcl_IsEqual(tools::Long nOneLeft, const SvxTabStop &rOne, tools::Long nTwoLeft, const SvxTabStop &rTwo)
static bool lcl_IsHyperlinked(const SwForm &rForm, sal_uInt16 nTOXLvl)
void Set_UInt32(sal_uInt8 *&p, sal_uInt32 n)
void Set_UInt8(sal_uInt8 *&p, sal_uInt8 n)
void Set_UInt16(sal_uInt8 *&p, sal_uInt16 n)
constexpr sal_uInt16 XATTR_FILL_FIRST(XATTRSET_LINE+1)
constexpr sal_uInt16 XATTR_FILL_LAST(XATTR_FILLUSESLIDEBACKGROUND)
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)
constexpr TypedWhichId< XFillGradientItem > XATTR_FILLGRADIENT(XATTR_FILL_FIRST+2)