22 #include <string_view>
95 #include <rtl/strbuf.hxx>
100 #define HTML_HEADSPACE (12*20)
126 #define DOT_LEADERS_MAX_WIDTH 18
132 sal_uInt16 nRefPoolId,
bool bExtRef,
135 SwDoc *pDoc,
bool bHasNotes,
bool bEndNote );
138 const SfxItemSet *pCharFormatItemSet=
nullptr );
155 const OUString *pGraphicName );
167 const char sCSS1_rule_end[] =
" }";
168 const char sCSS1_span_tag_end[] =
"\">";
169 const char cCSS1_style_opt_end =
'\"';
171 const char*
const sHTML_FTN_fontheight =
"57%";
173 OString lclConvToHex(sal_uInt16 nHex)
175 char aNToABuf[] =
"00";
178 char *pStr = aNToABuf + (
sizeof(aNToABuf)-1);
181 *(--pStr) = static_cast<char>(nHex & 0xf ) + 48;
187 return OString(aNToABuf, 2);
200 if (rValue ==
"underline" || rValue ==
"line-through")
216 return "#" + lclConvToHex(rColor.
GetRed()) + lclConvToHex(rColor.
GetGreen()) + lclConvToHex(rColor.
GetBlue());
229 const OUString *pSelector ) :
231 nOldMode( rHWrt.m_nCSS1OutMode )
248 std::string_view sVal,
249 const OUString *pSVal )
258 m_bFirstCSS1Rule =
false;
292 if (m_bCfgPrintLayout) {
295 "cm;padding:0;overflow-x:hidden;line-height:120%}"
297 for (
int i = 0;
i < 100;
i++ )
302 "background:white;position:relative;z-index:1}");
304 Strm().WriteOString( sOut.makeStringAndClear() );
309 if( m_bFirstCSS1Property )
327 case CSS1_OUTMODE_RULE_ON:
338 m_bFirstCSS1Property =
false;
345 sOut.append(pProp + OStringLiteral(
": "));
349 Strm().WriteOString( sOut.makeStringAndClear() );
352 m_eDestEnc, &m_aNonConvertableCharacters );
366 Strm().WriteOString( sOut.makeStringAndClear() );
386 case FieldUnit::MM_100TH:
387 OSL_ENSURE( FieldUnit::MM == eUnit,
"Measuring unit not supported" );
399 OSL_ENSURE( FieldUnit::CM == eUnit,
"Measuring unit not supported" );
409 case FieldUnit::TWIP:
410 OSL_ENSURE( FieldUnit::POINT == eUnit,
"Measuring unit not supported" );
412 case FieldUnit::POINT:
420 case FieldUnit::PICA:
428 case FieldUnit::NONE:
429 case FieldUnit::FOOT:
430 case FieldUnit::MILE:
431 case FieldUnit::CUSTOM:
432 case FieldUnit::PERCENT:
433 case FieldUnit::INCH:
435 OSL_ENSURE( FieldUnit::INCH == eUnit,
"Measuring unit not supported" );
445 bool bOutLongVal =
true;
448 sal_Int64 nBigVal( nVal );
461 rOut.append(nBigVal / static_cast<sal_Int64>(nFac));
462 if( (nBigVal % static_cast<sal_Int64>(nFac)) != 0 )
465 while( nFac > 1 && (nBigVal % static_cast<sal_Int64>(nFac)) != 0 )
468 rOut.append((nBigVal / static_cast<sal_Int64>(nFac)) % sal_Int64(10));
476 nLongVal = nVal * nMul;
484 rOut.append(OString::number(nLongVal/nFac));
485 if( (nLongVal % nFac) != 0 )
488 while( nFac > 1 && (nLongVal % nFac) != 0 )
491 rOut.append(OString::number((nLongVal / nFac) % 10));
503 OutCSS1_PropertyAscii(pProp, sOut.makeStringAndClear());
509 OString sOut(OString::number(ToPixel(nVal,bVert)) +
sCSS1_UNIT_px);
510 OutCSS1_PropertyAscii(pProp, sOut);
515 m_bFirstCSS1Rule =
true;
522 m_bCSS1IgnoreFirstPageDesc =
true;
532 pFollow != pPageDesc &&
536 pFirstPageDesc = pPageDesc;
542 if( pPageDesc == pFollow )
561 m_bCSS1IgnoreFirstPageDesc =
false;
567 nFirstRefPoolId, false );
577 const size_t nTextFormats = m_pDoc->GetTextFormatColls()->size();
578 for(
size_t i = 1;
i < nTextFormats; ++
i )
587 const size_t nCharFormats = m_pDoc->GetCharFormats()->size();
588 for(
size_t i = 1;
i < nCharFormats; ++
i )
590 const SwCharFormat *pCFormat = (*m_pDoc->GetCharFormats())[
i];
594 m_pDoc->IsUsed( *pCFormat ) )
598 bool bHasEndNotes {
false};
599 bool bHasFootNotes {
false};
601 for(
auto pIdx : rIdxs )
603 if( pIdx->GetFootnote().IsEndNote() )
611 bHasFootNotes =
true;
619 if( !m_bFirstCSS1Rule )
628 m_bFirstCSS1Rule =
false;
631 m_nDfltTopMargin = 0;
632 m_nDfltBottomMargin = 0;
638 OUString& rClass, sal_uInt16& rRefPoolId,
641 sal_uInt16 nDeep = 0;
652 while( pPFormat && !pPFormat->
IsDefault() )
659 const OUString& aNm(pPFormat->
GetName());
684 sal_uInt16 nDefListLvl = GetDefListLvl(aNm, nPoolId);
690 if (pPseudo && (nDeep || (nDefListLvl & 0x0fff) > 1))
762 OSL_ENSURE( (rRefPoolId != 0) == (!rToken.isEmpty()),
888 *pPseudo = OStringToOUString(
sCSS1_link, RTL_TEXTENCODING_ASCII_US );
895 *pPseudo = OStringToOUString(
sCSS1_visited, RTL_TEXTENCODING_ASCII_US );
901 if( !rToken.isEmpty() && !rRefPoolId )
902 rRefPoolId = nPoolId;
905 if( !rToken.isEmpty() || bStop )
918 if( !rToken.isEmpty() )
936 sal_Int32
nPos = rClass.indexOf(
'.' );
937 if( nPos >= 0 && rClass.getLength() > nPos+1 )
939 rClass = rClass.replaceAt( 0, nPos+1,
"" );
943 rClass = rClass.replaceAll(
".",
"-" );
944 rClass = rClass.replaceAll(
" ",
"-" );
945 rClass = rClass.replaceAll(
"_",
"-" );
952 sal_uInt16& rRefPoolId )
959 rRefPoolId, &aPseudo );
962 if( !aToken.isEmpty() )
963 rSelector = OStringToOUString(aToken, RTL_TEXTENCODING_ASCII_US);
967 if( !aClass.isEmpty() )
968 rSelector +=
"." + aClass;
969 if( !aPseudo.isEmpty() )
970 rSelector +=
":" + aPseudo;
979 const SwFormat *pRefFormat =
nullptr;
983 OSL_ENSURE( !(
USER_FMT & nPoolFormatId),
984 "No user templates found" );
996 OSL_ENSURE( nDeep !=
USHRT_MAX,
"Called GetParent for HTML-template!" );
997 const SwFormat *pRefFormat =
nullptr;
1002 pRefFormat = &rFormat;
1003 for( sal_uInt16
i=nDeep;
i>0;
i-- )
1006 if( pRefFormat && pRefFormat->
IsDefault() )
1007 pRefFormat =
nullptr;
1015 return static_cast<const SvxFontItem &
>(r1).GetFamilyName() ==
1016 static_cast<const SvxFontItem &
>(r2).GetFamilyName() &&
1017 static_cast<const SvxFontItem &
>(r1).GetFamily() ==
1027 OSL_ENSURE( bSetDefaults || bClearSame,
1028 "SwHTMLWriter::SubtractItemSet: No action for this Flag" );
1030 aRefItemSet.Set( rRefItemSet );
1038 bool bItemSet = ( SfxItemState::SET ==
1042 if( pRefScriptItemSet )
1061 bRefItemSet = ( SfxItemState::SET ==
1062 pRefScriptItemSet->
GetItemState( nWhich,
true, &pRefItem) );
1065 bRefItemSet = ( SfxItemState::SET ==
1066 aRefItemSet.GetItemState( nWhich,
false, &pRefItem) );
1072 bRefItemSet = ( SfxItemState::SET ==
1073 aRefItemSet.GetItemState( nWhich,
false, &pRefItem) );
1078 if( (bClearSame || pRefScriptItemSet) && bRefItemSet &&
1079 ( *pItem == *pRefItem ||
1092 if( (bSetDefaults || pRefScriptItemSet) && bRefItemSet )
1110 bool bContainsKeyword =
false;
1111 if( !rName.isEmpty() )
1113 sal_Int32 nStrPos = 0;
1114 while( nStrPos != -1 )
1116 OUString
aName = rName.getToken( 0,
';', nStrPos );
1118 if( aName.isEmpty() )
1121 bool bIsKeyword =
false;
1147 bContainsKeyword |= bIsKeyword;
1149 if( !rNames.isEmpty() )
1151 if( cQuote && !bIsKeyword )
1152 rNames += OUStringChar( cQuote );
1154 if( cQuote && !bIsKeyword )
1155 rNames += OUStringChar( cQuote );
1159 if( bContainsKeyword || !bGeneric )
1162 const char *pStr =
nullptr;
1176 if( !rNames.isEmpty() )
1178 rNames += OStringToOUString( pStr, RTL_TEXTENCODING_ASCII_US );
1183 bool bCheckDropCap )
1185 static const sal_uInt16 aWhichIds[] =
1195 for(
int i=0; aWhichIds[
i];
i += 3 )
1197 const SfxPoolItem *pItem =
nullptr, *pItemCJK =
nullptr, *pItemCTL =
nullptr, *pTmp;
1199 if( SfxItemState::SET == rItemSet.
GetItemState( aWhichIds[
i],
false,
1205 if( SfxItemState::SET == rItemSet.
GetItemState( aWhichIds[i+1],
false,
1211 if( SfxItemState::SET == rItemSet.
GetItemState( aWhichIds[i+2],
false,
1220 if( nItemCount > 0 && nItemCount < 3 )
1223 if( 3 == nItemCount )
1237 if( *pItem != *pItemCJK ||
1238 *pItem != *pItemCTL ||
1239 *pItemCJK != *pItemCTL )
1246 if( bCheckDropCap &&
1265 aTstItemSet.Set( pDCCharFormat->
GetAttrSet() );
1266 return HasScriptDependentItems( aTstItemSet,
false );
1275 bool bCheckForPseudo )
1277 bool bScriptDependent =
false;
1280 bScriptDependent =
true;
1281 OUString aSelector( rSelector );
1284 if( bCheckForPseudo )
1286 sal_Int32
nPos = aSelector.lastIndexOf(
':' );
1289 aPseudo = aSelector.copy( nPos );
1290 aSelector =aSelector.copy( 0, nPos );
1312 aScriptItemSet.Put( rItemSet );
1314 OUString aNewSelector = aSelector +
".western" + aPseudo;
1321 aNewSelector = aSelector +
".cjk" + aPseudo;
1328 aNewSelector = aSelector +
".ctl" + aPseudo;
1340 OUString aNewSelector = aSelector +
"-western" + aPseudo;
1347 aNewSelector = aSelector +
"-cjk" + aPseudo;
1354 aNewSelector = aSelector +
"-ctl" + aPseudo;
1368 SwCSS1OutMode aMode( rHTMLWrt,
1374 return bScriptDependent;
1380 bool bHasScriptDependencies )
1383 if( (bHasScriptDependencies && bHasClass) ||
1386 OUString aSelector( rSelector );
1389 sal_Int32
nPos = aSelector.lastIndexOf(
':' );
1392 aPseudo = aSelector.copy( nPos );
1393 aSelector = aSelector.copy( 0, nPos );
1413 aScriptItemSet.Set( pDCCharFormat->
GetAttrSet() );
1415 OUString aNewSelector = aSelector +
".western" + aPseudo;
1422 aNewSelector = aSelector +
".cjk" + aPseudo;
1429 aNewSelector = aSelector +
".ctl" + aPseudo;
1441 OUString aNewSelector = aSelector +
"-western" + aPseudo;
1448 aNewSelector = aSelector +
"-cjk" + aPseudo;
1455 aNewSelector = aSelector +
"-ctl" + aPseudo;
1469 SwCSS1OutMode aMode( rHTMLWrt,
1481 bool bCharFormat =
false;
1482 switch( rFormat.
Which() )
1500 sal_uInt16 nRefPoolId = 0;
1501 sal_uInt16 nDeep =
GetCSS1Selector( &rFormat, aSelector, nRefPoolId );
1523 aItemSet.Set( rFormatItemSet );
1527 bool bSetDefaults =
true, bClearSame =
true;
1528 const SwFormat *pRefFormat =
nullptr;
1529 const SwFormat *pRefFormatScript =
nullptr;
1543 bSetDefaults =
false;
1551 bSetDefaults, bClearSame,
1572 const OUString& aNm(rFormat.
GetName());
1574 if (aNm ==
"DD 1" || aNm ==
"DT 1")
1586 switch( nPoolFormatId )
1607 if( !aItemSet.Count() )
1611 bool bCheckForPseudo =
false;
1615 bCheckForPseudo =
true;
1618 bool bHasScriptDependencies =
false;
1630 bHasScriptDependencies =
true;
1635 if( SfxItemState::SET==aItemSet.GetItemState(
RES_PARATR_DROP,
false, &pItem ))
1637 OUString sOut = aSelector +
1648 sal_uInt16 nRefPoolId,
bool bExtRef,
1656 else if( pTemplate )
1659 OUString aSelector =
"@" + OStringToOUString(
sCSS1_page, RTL_TEXTENCODING_ASCII_US );
1663 const char *pPseudo =
nullptr;
1671 aSelector +=
":" + OStringToOUString( pPseudo, RTL_TEXTENCODING_ASCII_US );
1679 bool bRefLandscape = pRefPageDesc && pRefPageDesc->
GetLandscape();
1699 if( std::abs( rSz.
Width() - aRefSz.
Width() ) <= 2 &&
1751 SwDoc *pDoc,
bool bHasNotes,
bool bEndNote )
1765 sHTML_FTN_fontheight );
1770 if( pSymCharFormat )
1774 aItemSet.Set( rFormatItemSet );
1782 SwFormat *pRefFormat = rHTMLWrt.
m_xTemplate->getIDocumentStylePoolAccess().GetCharFormatFromPool(
1788 if( aItemSet.Count() )
1792 : std::u16string_view(
1794 if(
OutCSS1Rule( rHTMLWrt, aSelector, aItemSet,
true,
false ))
1817 OUString rEmbeddedGraphicName;
1818 OutCSS1_SvxBrush( rWrt, *pItem, Css1Background::Page, &rEmbeddedGraphicName );
1889 nFirstLineOffset != nDfltFirstLineOffset )
1915 case RndStdIds::FLY_AT_PARA:
1916 case RndStdIds::FLY_AT_CHAR:
1923 const char *pStr = text::HoriOrientation::RIGHT==rHoriOri.
GetHoriOrient()
1932 case RndStdIds::FLY_AT_PAGE:
1933 case RndStdIds::FLY_AT_FLY:
1946 bool bOutXPos =
false, bOutYPos =
false;
1949 OSL_ENSURE( pSdrObj,
"Do not pass a SdrObject. Inefficient" );
1952 OSL_ENSURE( pSdrObj,
"Where is the SdrObject" );
1959 bOutXPos = bOutYPos =
true;
1977 nYPos -= aULItem.GetUpper();
1980 aULItem.SetUpper( static_cast<sal_uInt16>(aULItem.GetUpper() + nYPos) );
1993 nXPos -= aLRItem.GetLeft();
1996 aLRItem.SetLeft( static_cast<sal_uInt16>(aLRItem.GetLeft() + nXPos) );
2016 OSL_ENSURE( pSdrObj,
"Do not pass a SdrObject. Inefficient" );
2019 OSL_ENSURE( pSdrObj,
"Where is the SdrObject" );
2044 "Export absolute size" );
2046 "Export every size" );
2049 nMode |= Css1FrameSize::Width;
2051 nMode |= Css1FrameSize::MinHeight|Css1FrameSize::FixHeight;
2053 nMode |= Css1FrameSize::Pixel;
2070 if( pLRItem || pULItem )
2086 OutCSS1_FrameFormatBackground( rFrameFormat );
2089 OutCSS1_SfxItemSet( *pItemSet,
false );
2091 if( !m_bFirstCSS1Property )
2092 Strm().WriteChar(
'\"' );
2112 if( !m_bFirstCSS1Property )
2113 Strm().WriteChar(
'\"' );
2118 SwCSS1OutMode
const aMode( *
this,
2121 if (!m_bFirstCSS1Property)
2123 Strm().WriteChar( cCSS1_style_opt_end );
2140 OString sColumnCount(OString::number(static_cast<sal_Int32>(pCol->
GetNumCols())));
2144 if( !m_bFirstCSS1Property )
2145 Strm().WriteChar(
'\"' );
2151 bool bWritten =
false;
2174 if (RndStdIds::FLY_AT_PAGE != eAnchorId && pAnchorPos)
2206 pLine = pBox ? pBox->
GetUpper() :
nullptr;
2221 OutCSS1_FrameFormatBackground( *pFrameFormat );
2228 OSL_ENSURE( m_pCurrPageDesc,
"no page template found" );
2230 *m_pCurrPageDesc->GetMaster().makeBackgroundBrushItem() ) )
2259 const char *pUStr =
nullptr;
2275 "write underline as Hint?" );
2282 const char *pOStr =
nullptr;
2298 "write overline as Hint?" );
2305 const char *pCOStr =
nullptr;
2321 "write crossedOut as Hint?" );
2328 const char *pBStr =
nullptr;
2331 if( !pBItem->GetValue() )
2340 "write blink as Hint?" );
2351 if (!sOut.isEmpty())
2358 if (!sOut.isEmpty())
2360 sOut.append(pCOStr);
2365 if (!sOut.isEmpty())
2370 if (!sOut.isEmpty())
2382 switch( static_cast<const SvxCaseMapItem&>(rHt).GetCaseMap() )
2384 case SvxCaseMap::NotMapped:
2387 case SvxCaseMap::SmallCaps:
2390 case SvxCaseMap::Uppercase:
2393 case SvxCaseMap::Lowercase:
2396 case SvxCaseMap::Capitalize:
2415 "write color as Hint?" );
2417 Color aColor( static_cast<const SvxColorItem&>(rHt).
GetValue() );
2433 nullptr,
nullptr, static_cast<const SvxCrossedOutItem *>(&rHt),
nullptr );
2447 switch( rHt.
Which() )
2456 "write Font as Hint?" );
2481 switch( rHt.
Which() )
2490 OString sHeight(OString::number(nHeight/20) +
sCSS1_UNIT_pt);
2501 switch( rHt.
Which() )
2509 const char *pStr =
nullptr;
2510 switch( static_cast<const SvxPostureItem&>(rHt).GetPosture() )
2520 "write italic as Hint?" );
2549 nValue = (nValue + 1) / 2;
2550 sOut.append(OString::number(nValue / 10) +
"." + OString::number(nValue % 10) +
2554 sOut.makeStringAndClear());
2574 switch( rHt.
Which() )
2583 "write Language as Hint?" );
2603 static_cast<const SvxUnderlineItem *>(&rHt),
nullptr,
nullptr,
nullptr );
2615 nullptr, static_cast<const SvxOverlineItem *>(&rHt),
nullptr,
nullptr );
2624 if ( static_cast<const SvxCharHiddenItem&>(rHt).GetValue() )
2635 switch( rHt.
Which() )
2643 const char *pStr =
nullptr;
2644 switch( static_cast<const SvxWeightItem&>(rHt).GetWeight() )
2657 "write bold as Hint?" );
2679 nullptr,
nullptr,
nullptr, static_cast<const SvxBlinkItem *>(&rHt) );
2696 sal_uInt16 nHeight = 0;
2697 sal_uInt16 nPercentHeight = 0;
2701 case SvxInterLineSpaceRule::Off:
2702 case SvxInterLineSpaceRule::Fix:
2704 switch( eLineSpace )
2706 case SvxLineSpaceRule::Min:
2707 case SvxLineSpaceRule::Fix:
2710 case SvxLineSpaceRule::Auto:
2711 nPercentHeight = 100;
2718 case SvxInterLineSpaceRule::Prop:
2728 else if( nPercentHeight &&
2731 OString sHeight(OString::number(nPercentHeight) +
"%");
2747 const char* pStr =
nullptr;
2748 switch( static_cast<const SvxAdjustItem&>(rHt).GetAdjust() )
2792 OString
aStr(OString::number(static_cast<const SvxWidowsItem&>(rHt).
GetValue()));
2802 OString
aStr(OString::number(static_cast<const SvxOrphansItem&>(rHt).
GetValue()));
2816 OString sOut(OString::number(rDrop.
GetLines()*100) +
"%");
2825 if( pCharFormatItemSet )
2827 else if( pDCCharFormat )
2844 SwCSS1OutMode aMode( rHTMLWrt,
2866 if( nMode & Css1FrameSize::Width )
2871 OString sOut(OString::number(nPercentWidth) +
"%");
2874 else if( nMode & Css1FrameSize::Pixel )
2936 static_cast<tools::Long>(rULItem.
GetUpper()) );
2942 static_cast<tools::Long>(rULItem.
GetLower()) );
2954 if( pLRItem && pULItem &&
2983 pLRSpace = static_cast<const SvxLRSpaceItem *>(pItem);
2986 pULSpace = static_cast<const SvxULSpaceItem *>(pItem);
2988 if( pLRSpace || pULSpace )
3004 const char *pBreakBefore =
nullptr;
3005 const char *pBreakAfter =
nullptr;
3015 case SvxBreak::NONE:
3021 case SvxBreak::PageBefore:
3025 case SvxBreak::PageAfter:
3045 else if( !pBreakBefore )
3073 pBreakItem = static_cast<const SvxFormatBreakItem *>(pItem);
3081 pPDescItem = static_cast<const SwFormatPageDesc*>(pItem);
3085 pKeepItem = static_cast<const SvxFormatKeepItem *>(pItem);
3087 if( pBreakItem || pPDescItem || pKeepItem )
3089 pPDescItem, pKeepItem );
3103 const OUString* pGraphicName)
3116 OUString aLink = pGraphicName ? *pGraphicName
3117 :
static_cast<const SvxBrushItem &
>(rHt).GetGraphicLink();
3119 if( Css1Background::Page == nMode && !rHTMLWrt.
mbEmbedImages )
3127 bool bColor =
false;
3138 OUString aGraphicInBase64;
3141 const Graphic* pGrf =
nullptr;
3144 pGrf =
static_cast<const SvxBrushItem &
>(rHt).GetGraphic();
3156 OUString aGraphicAsLink = aLink;
3158 aLink = aGraphicAsLink;
3161 if( Css1Background::Table==nMode && !pGrf && !aLink.isEmpty())
3165 const char *pRepeat =
nullptr, *pHori =
nullptr, *pVert =
nullptr;
3166 if( pGrf || !aLink.isEmpty() )
3222 if( pHori || pVert )
3229 if( !pGrf && aLink.isEmpty() && !bColor )
3232 if( bTransparent && Css1Background::Fly != nMode )
3240 sOut += OStringToOUString(sTmp, RTL_TEXTENCODING_ASCII_US);
3243 if( pGrf || !aLink.isEmpty() )
3250 sOut += OStringToOUString(
sCSS1_url, RTL_TEXTENCODING_ASCII_US) +
3255 sOut += OStringToOUString(
sCSS1_url, RTL_TEXTENCODING_ASCII_US)+
3262 sOut +=
" " + OStringToOUString(pRepeat, RTL_TEXTENCODING_ASCII_US);
3267 sOut +=
" " + OStringToOUString(pHori, RTL_TEXTENCODING_ASCII_US);
3271 sOut +=
" " + OStringToOUString(pVert, RTL_TEXTENCODING_ASCII_US);
3274 sOut +=
" " + OStringToOUString(
sCSS1_PV_scroll, RTL_TEXTENCODING_ASCII_US) +
" ";
3278 if( !sOut.isEmpty() )
3285 const char *pProperty,
3288 if( !pLine || pLine->
isEmpty() )
3294 sal_Int32 nWidth = pLine->
GetWidth();
3310 sOut.append(OString::number(nWidth / 100) +
"." + OString::number((nWidth/10) % 10) +
3318 case SvxBorderLineStyle::SOLID:
3321 case SvxBorderLineStyle::DOTTED:
3324 case SvxBorderLineStyle::DASHED:
3327 case SvxBorderLineStyle::DOUBLE:
3328 case SvxBorderLineStyle::THINTHICK_SMALLGAP:
3329 case SvxBorderLineStyle::THINTHICK_MEDIUMGAP:
3330 case SvxBorderLineStyle::THINTHICK_LARGEGAP:
3331 case SvxBorderLineStyle::THICKTHIN_SMALLGAP:
3332 case SvxBorderLineStyle::THICKTHIN_MEDIUMGAP:
3333 case SvxBorderLineStyle::THICKTHIN_LARGEGAP:
3336 case SvxBorderLineStyle::EMBOSSED:
3339 case SvxBorderLineStyle::ENGRAVED:
3342 case SvxBorderLineStyle::INSET:
3345 case SvxBorderLineStyle::OUTSET:
3388 if( (pTop && pBottom && pLeft && pRight &&
3389 *pTop == *pBottom && *pTop == *pLeft && *pTop == *pRight) ||
3390 (!pTop && !pBottom && !pLeft && !pRight) )
3410 if( nTopDist == nBottomDist && nLeftDist == nRightDist )
3414 if( nTopDist != nLeftDist )
3442 const char* pStr =
nullptr;
3445 case SvxFrameDirection::Horizontal_LR_TB:
3446 case SvxFrameDirection::Vertical_LR_TB:
3449 case SvxFrameDirection::Horizontal_RL_TB:
3450 case SvxFrameDirection::Vertical_RL_TB:
3453 case SvxFrameDirection::Environment:
3648 pUnderlineItem = static_cast<const SvxUnderlineItem *>(pItem);
3652 pOverlineItem = static_cast<const SvxOverlineItem *>(pItem);
3656 pCrossedOutItem = static_cast<const SvxCrossedOutItem *>(pItem);
3660 pBlinkItem = static_cast<const SvxBlinkItem *>(pItem);
3662 if( pUnderlineItem || pOverlineItem || pCrossedOutItem || pBlinkItem )
3671 if( m_bFirstCSS1Property )
3680 sOut.append(sCSS1_span_tag_end);
3684 sOut.append(cCSS1_style_opt_end);
3688 sOut.append(sCSS1_rule_end);
3691 if (!sOut.isEmpty())
3692 Strm().WriteOString( sOut.makeStringAndClear() );
3702 Out( aCSS1AttrFnTab, rHt, rWrt );
3718 Out( aCSS1AttrFnTab, rHt, rWrt );
virtual SwCharFormat * GetCharFormatFromPool(sal_uInt16 nId)=0
FieldUnit GetCSS1Unit() const
const char *const sCSS1_UNIT_pc
Starts a section of nodes in the document model.
#define CSS1_OUTMODE_RULE_OFF
constexpr TypedWhichId< SvxBlinkItem > RES_CHRATR_BLINK(18)
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(93)
constexpr TypedWhichId< SvxCrossedOutItem > RES_CHRATR_CROSSEDOUT(5)
static Writer & OutCSS1_SvxCaseMap(Writer &rWrt, const SfxPoolItem &rHt)
#define OOO_STRING_SVTOOLS_HTML_preformtxt
const char *const sCSS1_P_float
const Color & GetRetoucheColor() const
sal_uLong GetIndex() const
const OUString & GetBaseURL() const
const char *const sCSS1_P_margin_top
static Writer & OutCSS1_SvxOverline(Writer &rWrt, const SfxPoolItem &rHt)
sal_uInt16 GetPropLineSpace() const
Represents the style of a paragraph.
Marks a position in the document model.
static Writer & OutCSS1_SwFootnoteInfo(Writer &rWrt, const SwEndNoteInfo &rInfo, SwDoc *pDoc, bool bHasNotes, bool bEndNote)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CTL_FONT(27)
#define OOO_STRING_SVTOOLS_HTML_definstance
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
#define OOO_STRING_SVTOOLS_HTML_sdendnote_anc
const SwTableBox * GetTableBox(const OUString &rName, const bool bPerformValidCheck=false) const
sal_uInt16 GetLower() const
static SVT_DLLPUBLIC SvStream & Out_String(SvStream &, const OUString &, rtl_TextEncoding eDestEnc, OUString *pNonConvertableChars=nullptr)
sal_Int32 m_nDfltRightMargin
const char *const sCSS1_P_padding_bottom
SwPageDesc * GetPageDesc()
void setWidth(tools::Long nWidth)
#define OOO_STRING_SVTOOLS_HTML_variable
const SvxBrushItem & GetBackground(bool=true) const
static bool GraphicToBase64(const Graphic &rGraphic, OUString &rOUString, bool bAddPrefix=true, ConvertDataFormat aTargetFormat=ConvertDataFormat::Unknown)
short m_nDfltFirstLineIndent
bool IsCSS1Script(sal_uInt16 n) const
const char *const sCSS1_link
Writer & OutCSS1_BodyTagStyleOpt(Writer &rWrt, const SfxItemSet &rItemSet)
constexpr TypedWhichId< SvxFormatKeepItem > RES_KEEP(110)
const char *const sCSS1_first
const char *const sCSS1_P_font_size
tools::Long const nLeftMargin
#define OOO_STRING_SVTOOLS_HTML_tableheader
const char *const sCSS1_P_height
const char *const sCSS1_PV_line_through
static OUString convertToBcp47(LanguageType nLangID)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
tools::Long GetRight() const
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
virtual Point GetRelativePos() const
const char *const sCSS1_PV_none
const char *const sCSS1_PV_landscape
LanguageType GetLanguage(SfxItemSet const &aSet, sal_uInt16 nLangWhichId)
#define OOO_STRING_SVTOOLS_HTML_emphasis
tools::Long GetWidth() const
#define OOO_STRING_SVTOOLS_HTML_sdfootnote_anc
const char *const sCSS1_P_margin_left
#define CSS1_OUTMODE_RULE_ON
#define OOO_STRING_SVTOOLS_HTML_head5
#define CSS1_OUTMODE_HINT
const char *const sCSS1_P_color
#define OOO_STRING_SVTOOLS_HTML_head1
#define CSS1_OUTMODE_PARA
const char *const sCSS1_PV_portrait
static void OutCSS1_SvxBorderLine(SwHTMLWriter &rHTMLWrt, const char *pProperty, const SvxBorderLine *pLine)
sal_uInt16 GetDistance(SvxBoxItemLine nLine) const
#define sCSS2_P_CLASS_leaders
const char *const sCSS1_P_size
const char *const sCSS1_P_max_width
bool IsPoolUserFormat(sal_uInt16 nId)
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(94)
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
SwTableLine is one table row in the document model.
static bool HasScriptDependentItems(const SfxItemSet &rItemSet, bool bCheckDropCap)
const char *const sCSS1_right
#define OOO_STRING_SVTOOLS_HTML_sdfootnote_sym
const char *const sCSS1_PV_oblique
const char *const sCSS1_P_font_weight
void OutCSS1_FrameFormatBackground(const SwFrameFormat &rFrameFormat)
SvStream & WriteOString(const OString &rStr)
#define CSS1_OUTMODE_TABLEBOX
#define OOO_STRING_SVTOOLS_HTML_citiation
static Writer & OutCSS1_SvxPosture(Writer &rWrt, const SfxPoolItem &rHt)
Writer & OutCSS1_ParaTagStyleOpt(Writer &rWrt, const SfxItemSet &rItemSet)
constexpr TypedWhichId< SvxBoxItem > RES_CHRATR_BOX(40)
const char *const sCSS1_P_border_bottom
const char *const sCSS1_PV_auto
bool m_bFirstCSS1Property
sal_Int32 nFirstLineOffset
const editeng::SvxBorderLine * GetRight() const
static Writer & OutCSS1_SvxLineSpacing(Writer &rWrt, const SfxPoolItem &rHt)
const char *const sCSS1_first_letter
Reference< chart2::XChartTypeTemplate > m_xTemplate
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CJK_POSTURE(25)
#define HTMLMODE_FRSTLINE_IN_NUMBER_BULLET
SVL_DLLPUBLIC OUString simpleNormalizedMakeRelative(OUString const &baseUriReference, OUString const &uriReference)
css::chart::ChartAxisLabelPosition ePos
SvStream & WriteCharPtr(const char *pBuf)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
SwTableFormat * GetFrameFormat()
FontFamily GetFamily() const
SvxLineSpaceRule GetLineSpaceRule() const
Writer & OutCSS1_SvxBox(Writer &rWrt, const SfxPoolItem &rHt)
#define HTMLMODE_LSPACE_IN_NUMBER_BULLET
static Writer & OutCSS1_SvxCrossedOut(Writer &rWrt, const SfxPoolItem &rHt)
constexpr TypedWhichId< SwFormatLayoutSplit > RES_LAYOUT_SPLIT(113)
static Writer & OutCSS1_SvxFontHeight(Writer &rWrt, const SfxPoolItem &rHt)
static Writer & OutCSS1_SvxTextLn_SvxCrOut_SvxBlink(Writer &rWrt, const SvxUnderlineItem *pUItem, const SvxOverlineItem *pOItem, const SvxCrossedOutItem *pCOItem, const SvxBlinkItem *pBItem)
const char *const sCSS1_PV_groove
#define DOT_LEADERS_MAX_WIDTH
Writer & Out_SfxItemSet(const SwAttrFnTab, Writer &, const SfxItemSet &, bool bDeep)
static OutputDevice * GetDefaultDevice()
Writer & OutCSS1_HintSpanTag(Writer &rWrt, const SfxPoolItem &rHt)
#define CSS1_OUTMODE_NO_SCRIPT
const char *const sCSS1_PV_overline
void OutNewLine(bool bCheck=false)
constexpr::Color COL_AUTO(0xFF, 0xFF, 0xFF, 0xFF)
const char *const sCSS1_PV_demi_light
#define OOO_STRING_SVTOOLS_HTML_tabledata
constexpr::Color COL_TRANSPARENT(0xFF, 0xFF, 0xFF, 0xFF)
static Writer & OutCSS1_SvxFontWeight(Writer &rWrt, const SfxPoolItem &rHt)
static SVT_DLLPUBLIC SvStream & Out_AsciiTag(SvStream &, const OString &rStr, bool bOn=true)
SvxGraphicPosition GetGraphicPos() const
bool mbReqIF
If the ReqIF subset of XHTML should be written.
#define OOO_STRING_SVTOOLS_HTML_head6
sal_uInt16 GetLineHeight() const
#define CSS1_OUTMODE_SPAN_TAG
static Writer & OutCSS1_SwFormat(Writer &rWrt, const SwFormat &rFormat, IDocumentStylePoolAccess *pDoc, SwDoc *pTemplate)
static void OutCSS1DropCapRule(SwHTMLWriter &rHTMLWrt, const OUString &rSelector, const SwFormatDrop &rDrop, bool bHasClass, bool bHasScriptDependencies)
const char *const sCSS1_PV_dashed
static void AddUnitPropertyValue(OStringBuffer &rOut, tools::Long nVal, FieldUnit eUnit)
#define HTMLMODE_FLY_MARGINS
static void SubtractItemSet(SfxItemSet &rItemSet, const SfxItemSet &rRefItemSet, bool bSetDefaults, bool bClearSame=true, const SfxItemSet *pRefScriptItemSet=nullptr)
static void PrepareFontList(const SvxFontItem &rFontItem, OUString &rNames, sal_Unicode cQuote, bool bGeneric)
sal_uInt16 GetPoolFormatId() const
Query and set PoolFormat-Id.
const char *const sCSS1_UNIT_mm
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
IDocumentStylePoolAccess const & getIDocumentStylePoolAccess() const
const char *const sCSS1_PV_ltr
#define WARN_SWG_POOR_LOAD
constexpr TypedWhichId< SwFormatDrop > RES_PARATR_DROP(70)
const char *const sCSS1_PV_normal
const char *const sCSS1_page
sal_uLong GetIndex() const
const char *const sCSS1_PV_inherit
const char *const sCSS1_PV_ridge
const char *const sCSS1_P_border_left
const char *const sCSS1_PV_always
#define OOO_STRING_SVTOOLS_HTML_head2
#define OOO_STRING_SVTOOLS_HTML_horzrule
#define CSS1_OUTMODE_RULE
FnAttrOut SwAttrFnTab[POOLATTR_END-POOLATTR_BEGIN]
static Writer & OutCSS1_SvxLRSpace(Writer &rWrt, const SfxPoolItem &rHt)
const SwTable & GetTable() const
const char *const sCSS1_UNIT_inch
bool mbSkipHeaderFooter
If HTML header and footer should be written as well, or just the content itself.
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
#define CSS1_OUTMODE_ANY_ON
const char *const sCSS1_PV_rtl
bool IsCSS1Source(sal_uInt16 n) const
const char *const sCSS1_P_background
#define CSS1_OUTMODE_STYLE_OPT
const sal_uInt16 POOLGRP_NOCOLLID
POOLCOLL-IDs: +-—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ !User! Range ! 0 ! Offset ! +-—+—+...
Writer & OutCSS1_TableBGStyleOpt(Writer &rWrt, const SfxPoolItem &rHt)
const char *const sCSS1_P_page_break_inside
static Writer & OutCSS1_SvxAdjust(Writer &rWrt, const SfxPoolItem &rHt)
sal_uInt8 GetBlue() const
#define CSS1_OUTMODE_BODY
SwAttrPool * GetPool() const
#define OOO_STRING_SVTOOLS_HTML_sdfootnote
static Writer & OutCSS1_SvxColor(Writer &rWrt, const SfxPoolItem &rHt)
bool IsHTMLMode(sal_uInt32 nMode) const
const char *const sCSS1_PV_avoid
void OutCSS1_TableCellBorderHack(const SwFrameFormat &rFrameFormat)
const char *const sCSS1_P_top
virtual SwPageDesc * GetPageDescFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return required automatic page style.
Writer & OutCSS1_NumberBulletListStyleOpt(Writer &rWrt, const SwNumRule &rNumRule, sal_uInt8 nLevel)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
static Writer & OutCSS1_SwFormatDrop(Writer &rWrt, const SfxPoolItem &rHt)
#define CSS1_OUTMODE_STYLE_OPT_OFF
#define OOO_STRING_SVTOOLS_HTML_O_data
#define SAL_N_ELEMENTS(arr)
std::set< OUString > m_aScriptTextStyles
const char *const sCSS1_left
const Color & GetColor() const
#define HTML_NUMBER_BULLET_INDENT
Table of Contents - heading.
bool IsContentNode() const
static Writer & OutCSS1_SvxLanguage(Writer &rWrt, const SfxPoolItem &rHt)
const editeng::SvxBorderLine * GetTop() const
tools::Long GetTextLeft() const
const char *const sCSS1_P_padding
static Writer & OutCSS1_SvxFont(Writer &rWrt, const SfxPoolItem &rHt)
static sal_uInt16 GetCSS1Selector(const SwFormat *pFormat, OString &rToken, OUString &rClass, sal_uInt16 &rRefPoolId, OUString *pPseudo=nullptr)
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
const char *const sCSS1_PV_left
static Writer & OutCSS1_SvxFrameDirection(Writer &rWrt, const SfxPoolItem &rHt)
const char *const sCSS1_PV_monospace
rtl_TextEncoding m_eDestEnc
const char *const sCSS1_P_left
const char *const sCSS1_P_so_language
#define CSS1_OUTMODE_ENCODE
const char *const sCSS1_PV_small_caps
const editeng::SvxBorderLine * GetLeft() const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
void OutCSS1_SfxItemSet(const SfxItemSet &rItemSet, bool bDeep=true)
static Writer & OutCSS1_SwFormatLayoutSplit(Writer &rWrt, const SfxPoolItem &rHt)
const char *const sCSS1_P_direction
const char *const sCSS1_P_padding_left
const char *const sCSS1_P_text_decoration
#define OOO_STRING_SVTOOLS_HTML_sample
const char *const sCSS1_P_margin_right
const char *const sCSS1_PV_fantasy
const char *const sCSS1_PV_scroll
static sal_uInt16 GetCSS1Selector(const SwFormat *pFormat, OUString &rSelector, sal_uInt16 &rRefPoolId)
const char *const sCSS1_PV_dotted
const char *const sCSS1_P_border_top
#define OOO_STRING_SVTOOLS_HTML_head4
const Color & GetColor() const
bool GetLandscape() const
const char *const sCSS1_P_position
const char *const sCSS1_P_font_style
void OutCSS1_Property(const char *pProp, const OUString &rVal)
const char *const sCSS1_P_border
const char *const sCSS1_P_text_indent
const char *const sCSS1_PV_italic
Writer & OutCSS1_HintStyleOpt(Writer &rWrt, const SfxPoolItem &rHt)
SwContentNode * GetContentNode()
tools::Long GetLeft() const
constexpr sal_uInt16 RES_BOXATR_END(151)
tools::Long Width() const
const char *const sCSS1_PV_transparent
static const SwFormat * GetTemplateFormat(sal_uInt16 nPoolId, IDocumentStylePoolAccess *pTemplate)
#define OOO_STRING_SVTOOLS_HTML_blockquote
const char *const sCSS1_PV_sans_serif
void OutCSS1_PixelProperty(const char *pProp, tools::Long nVal, bool bVert)
const char *const sCSS1_P_font_variant
static Writer & OutCSS1_SvxHidden(Writer &rWrt, const SfxPoolItem &rHt)
Writer & Out(const SwAttrFnTab, const SfxPoolItem &, Writer &)
void OutCSS1_SectionFormatOptions(const SwFrameFormat &rFrameFormat, const SwFormatCol *pCol)
bool m_bCSS1IgnoreFirstPageDesc
#define LANGUAGE_DONTKNOW
static Writer & OutCSS1_SwFormatFrameSize(Writer &rWrt, const SfxPoolItem &rHt, Css1FrameSize nMode)
SwFrameFormat * GetFrameFormat()
short GetTextFirstLineOffset() const
SvxInterLineSpaceRule GetInterLineSpaceRule() const
#define OOO_STRING_SVTOOLS_HTML_style
#define OOO_STRING_SVTOOLS_HTML_xmp
#define HTMLMODE_PRINT_EXT
const char *const sCSS1_P_padding_right
sal_uInt16 m_nDfltBottomMargin
SwFrameFormat * GetFrameFormat()
const char *const sCSS1_P_display
const char *const sCSS1_PV_lowercase
const char *const sCSS1_UNIT_pt
void OutStyleSheet(const SwPageDesc &rPageDesc)
constexpr TypedWhichId< SvxOverlineItem > RES_CHRATR_OVERLINE(38)
OUString lowercase(const OUString &rStr, sal_Int32 nPos, sal_Int32 nCount) const
const char *const sCSS1_PV_extra_bold
SwNodeIndex * m_pStartNdIdx
#define OOO_STRING_SVTOOLS_HTML_dt
const char *const sCSS1_PV_inset
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
#define CSS1_OUTMODE_FRAME
#define CSS1_OUTMODE_SPAN_TAG1_ON
SfxItemPool * GetPool() const
const char *const sCSS1_PV_outset
#define CSS1_OUTMODE_SPAN_TAG_ON
const IDocumentLayoutAccess & getIDocumentLayoutAccess() const
Provides access to the document layout interface.
static Writer & OutCSS1_SwPageDesc(Writer &rWrt, const SwPageDesc &rFormat, IDocumentStylePoolAccess *pDoc, SwDoc *pTemplate, sal_uInt16 nRefPoolId, bool bExtRef, bool bPseudo=true)
#define OOO_STRING_SVTOOLS_HTML_strong
const char *const sCSS1_url
const char *const sCSS1_P_column_count
const char *const sCSS1_PV_center
const char *const sCSS1_PV_no_repeat
static Writer & OutCSS1_SvxULSpace_SvxLRSpace(Writer &rWrt, const SvxULSpaceItem *pULSpace, const SvxLRSpaceItem *pLRSpace)
void OutCSS1_PropertyAscii(const char *pProp, const char *pVal)
const SwPageDesc * GetFollow() const
#define CSS1_OUTMODE_TABLE
std::set< OUString > m_aScriptParaStyles
#define CSS1_OUTMODE_ANY_OFF
const OUString & GetGraphicLink() const
FontLineStyle GetLineStyle() const
sal_uInt8 GetGreen() const
const SwNumFormat & Get(sal_uInt16 i) const
const sal_uInt16 USER_FMT
POLLCOLL-groups:
const OUString & GetFamilyName() const
static Writer & OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep(Writer &rWrt, const SfxItemSet &rItemSet, bool bDeep)
const char *const sCSS1_P_page_break_after
sal_uInt16 m_nCSS1OutMode
const char *const sCSS1_visited
SwFrameFormat & GetMaster()
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void OutCSS1_TableFrameFormatOptions(const SwFrameFormat &rFrameFormat)
const char *const sCSS1_PV_light
const char *const sCSS1_P_font_family
#define OOO_STRING_SVTOOLS_HTML_code
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(105)
SwCharFormat * GetCharFormat(SwDoc &rDoc) const
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CJK_WEIGHT(26)
const char *const sCSS1_PV_capitalize
static Writer & OutCSS1_SvxULSpace(Writer &rWrt, const SfxPoolItem &rHt)
static bool OutCSS1_FrameFormatBrush(SwHTMLWriter &rWrt, const SvxBrushItem &rBrushItem)
const char *const sCSS1_P_letter_spacing
#define OOO_STRING_SVTOOLS_HTML_sdendnote
const char *const sCSS1_PV_double
#define OOO_STRING_SVTOOLS_HTML_sdendnote_sym
#define OOO_STRING_SVTOOLS_HTML_O_style
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
static void OutCSS1_SwFormatDropAttrs(SwHTMLWriter &rHWrt, const SwFormatDrop &rDrop, const SfxItemSet *pCharFormatItemSet=nullptr)
const SwViewOption * GetViewOptions() const
rtl::Reference< SwDoc > m_xTemplate
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CTL_WEIGHT(31)
const o3tl::enumarray< SvxAdjust, unsigned short > aSvxToUnoAdjust USHRT_MAX
OString GetCSS1_Color(const Color &rColor)
#define CSS1_OUTMODE_WESTERN
const char *const sCSS1_P_text_align
constexpr TypedWhichId< SwTextFormatColl > RES_TXTFMTCOLL(155)
constexpr TypedWhichId< SwCharFormat > RES_CHRFMT(RES_FMT_BEGIN)
#define OOO_STRING_SVTOOLS_HTML_head3
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_WHITE
const char *const sCSS1_P_width
#define CSS1_OUTMODE_STYLE_OPT_ON
const char *const sCSS1_PV_demi_bold
static Writer & OutCSS1_SvxKerning(Writer &rWrt, const SfxPoolItem &rHt)
const char *const sCSS1_P_text_transform
const char *const sCSS1_PV_middle
OString strip(const OString &rIn, char c)
virtual SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return "Auto-Collection with ID.
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CJK_FONT(22)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CTL_POSTURE(30)
tools::Long Height() const
SwTableBox is one table cell in the document model.
const char *const sCSS1_P_margin_bottom
const char *const sCSS1_UNIT_cm
static Writer & OutCSS1_SvxBlink(Writer &rWrt, const SfxPoolItem &rHt)
#define OOO_STRING_SVTOOLS_HTML_parabreak
OString GetNamespace() const
Determines the prefix string needed to respect the requested namespace alias.
const char *const sCSS1_PV_top
constexpr TypedWhichId< SwConditionTextFormatColl > RES_CONDTXTFMTCOLL(158)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
bool IgnorePropertyForReqIF(bool bReqIF, std::string_view rProperty, std::string_view rValue)
Determines if rProperty with a given rValue has to be suppressed due to ReqIF mode.
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(157)
static Writer & OutCSS1_SvxOrphans(Writer &rWrt, const SfxPoolItem &rHt)
sal_uInt16 m_nDfltTopMargin
static Writer & OutCSS1_SvxUnderline(Writer &rWrt, const SfxPoolItem &rHt)
bool swhtml_css1atr_equalFontItems(const SfxPoolItem &r1, const SfxPoolItem &r2)
SwAttrFnTab const aCSS1AttrFnTab
SvStream & WriteChar(char nChar)
FontStrikeout GetStrikeout() const
constexpr sal_uInt16 RES_CHRATR_END(46)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(106)
const SwStartNode * FindTableBoxStartNode() const
const char *const sCSS1_PV_serif
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
SwTableNode * FindTableNode()
Search table node, in which it is.
std::shared_ptr< SwUnoCursor > m_pCurrentPam
void setHeight(tools::Long nHeight)
SvxBorderLineStyle GetBorderLineStyle() const
#define OOO_STRING_SVTOOLS_HTML_O_type
const char *const sCSS1_PV_justify
#define OOO_STRING_SVTOOLS_HTML_address
const sal_uInt16 * GetRanges() const
const char *const sCSS1_PV_extra_light
Access to the style pool.
const char *const sCSS1_UNIT_px
const char *const sCSS1_P_orphans
const char *const sCSS1_P_margin
virtual const tools::Rectangle & GetLogicRect() const
const char *const sCSS1_PV_repeat
const char *const sCSS1_PV_blink
const char *const sCSS1_PV_uppercase
const char *const sCSS1_PV_absolute
const char *const sCSS1_P_widows
static Writer & OutCSS1_SvxWidows(Writer &rWrt, const SfxPoolItem &rHt)
#define OOO_STRING_SVTOOLS_HTML_listing
const char *const sCSS1_PV_cursive
const char *const sCSS1_P_border_right
static bool OutCSS1Rule(SwHTMLWriter &rHTMLWrt, const OUString &rSelector, const SfxItemSet &rItemSet, bool bHasClass, bool bCheckForPseudo)
const char *const sCSS1_P_padding_top
const char *const sCSS1_PV_underline
#define CSS1_OUTMODE_DROPCAP
const char *const sCSS1_PV_bold
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CTL_FONTSIZE(28)
#define OOO_STRING_SVTOOLS_HTML_dd
#define OOO_STRING_SVTOOLS_HTML_span
CharClass & GetAppCharClass()
#define OOO_STRING_SVTOOLS_HTML_teletype
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
const char *const sCSS1_PV_bottom
#define CSS1_OUTMODE_SPAN_TAG_OFF
SwFrameFormat * GetFlyFormat() const
If node is in a fly return the respective format.
const editeng::SvxBorderLine * GetBottom() const
#define OOO_STRING_SVTOOLS_HTML_anchor
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(92)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_POSTURE(11)
static Writer & OutCSS1_SvxFormatSplit(Writer &rWrt, const SfxPoolItem &rHt)
const char *const sCSS1_P_page_break_before
sal_Int32 m_nDfltLeftMargin
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CJK_LANGUAGE(24)
#define OOO_STRING_SVTOOLS_HTML_keyboard
const char *const sCSS1_PV_solid
const Size & GetSize() const
#define HTML_NUMBER_BULLET_MARGINLEFT
const SwAttrPool & GetAttrPool() const
bool CopyLocalFileToINet(OUString &rFileNm)
void OutCSS1_UnitProperty(const char *pProp, tools::Long nVal)
#define CSS1_OUTMODE_TEMPLATE
sal_uInt16 GetUpper() const
const char *const sCSS1_P_line_height
#define CSS1_OUTMODE_SECTION
void OutCSS1_FrameFormatOptions(const SwFrameFormat &rFrameFormat, HtmlFrmOpts nFrameOpts, const SdrObject *pSdrObj=nullptr, const SfxItemSet *pItemSet=nullptr)
Base class of the Writer document model elements.
static Writer & OutCSS1_SvxBrush(Writer &rWrt, const SfxPoolItem &rHt, Css1Background nMode, const OUString *pGraphicName)
const char *const sCSS1_PV_right
static const SwFormat * GetParentFormat(const SwFormat &rFormat, sal_uInt16 nDeep)