22 #include <string_view>
96 #include <rtl/strbuf.hxx>
97 #include <osl/diagnose.h>
102 #define HTML_HEADSPACE (12*20)
128 #define DOT_LEADERS_MAX_WIDTH 18
134 sal_uInt16 nRefPoolId,
bool bExtRef,
137 SwDoc *pDoc,
bool bHasNotes,
bool bEndNote );
140 const SfxItemSet *pCharFormatItemSet=
nullptr );
157 const OUString *pGraphicName );
169 const char sCSS1_rule_end[] =
" }";
170 const char sCSS1_span_tag_end[] =
"\">";
171 const char cCSS1_style_opt_end =
'\"';
173 const char*
const sHTML_FTN_fontheight =
"57%";
175 OString lclConvToHex(sal_uInt16 nHex)
177 char aNToABuf[] =
"00";
180 char *pStr = aNToABuf + (
sizeof(aNToABuf)-1);
183 *(--pStr) = static_cast<char>(nHex & 0xf ) + 48;
189 return OString(aNToABuf, 2);
202 if (rValue ==
"underline" || rValue ==
"line-through")
218 return "#" + lclConvToHex(rColor.
GetRed()) + lclConvToHex(rColor.
GetGreen()) + lclConvToHex(rColor.
GetBlue());
231 const OUString *pSelector ) :
233 nOldMode( rHWrt.m_nCSS1OutMode )
250 std::string_view sVal,
251 const OUString *pSVal )
260 m_bFirstCSS1Rule =
false;
294 if (m_bCfgPrintLayout) {
297 "cm;padding:0;overflow-x:hidden;line-height:120%}"
299 for (
int i = 0;
i < 100;
i++ )
304 "background:white;position:relative;z-index:1}");
306 Strm().WriteOString( sOut.makeStringAndClear() );
311 if( m_bFirstCSS1Property )
329 case CSS1_OUTMODE_RULE_ON:
340 m_bFirstCSS1Property =
false;
347 sOut.append(pProp + OString::Concat(
": "));
351 Strm().WriteOString( sOut.makeStringAndClear() );
367 Strm().WriteOString( sOut.makeStringAndClear() );
385 case FieldUnit::MM_100TH:
386 OSL_ENSURE( FieldUnit::MM == eUnit,
"Measuring unit not supported" );
396 OSL_ENSURE( FieldUnit::CM == eUnit,
"Measuring unit not supported" );
404 case FieldUnit::TWIP:
405 OSL_ENSURE( FieldUnit::POINT == eUnit,
"Measuring unit not supported" );
407 case FieldUnit::POINT:
413 case FieldUnit::PICA:
419 case FieldUnit::NONE:
420 case FieldUnit::FOOT:
421 case FieldUnit::MILE:
422 case FieldUnit::CUSTOM:
423 case FieldUnit::PERCENT:
424 case FieldUnit::INCH:
426 OSL_ENSURE( FieldUnit::INCH == eUnit,
"Measuring unit not supported" );
434 rOut.append(nResult/nFac);
435 if ((nResult % nFac) != 0)
438 while (nFac > 1 && (nResult % nFac) != 0)
441 rOut.append((nResult / nFac) % 10);
452 OutCSS1_PropertyAscii(pProp, sOut.makeStringAndClear());
458 OString sOut(OString::number(ToPixel(nVal,bVert)) +
sCSS1_UNIT_px);
459 OutCSS1_PropertyAscii(pProp, sOut);
464 m_bFirstCSS1Rule =
true;
471 m_bCSS1IgnoreFirstPageDesc =
true;
481 pFollow != pPageDesc &&
485 pFirstPageDesc = pPageDesc;
491 if( pPageDesc == pFollow )
510 m_bCSS1IgnoreFirstPageDesc =
false;
516 nFirstRefPoolId,
false );
526 const size_t nTextFormats = m_pDoc->GetTextFormatColls()->size();
527 for(
size_t i = 1;
i < nTextFormats; ++
i )
536 const size_t nCharFormats = m_pDoc->GetCharFormats()->size();
537 for(
size_t i = 1;
i < nCharFormats; ++
i )
539 const SwCharFormat *pCFormat = (*m_pDoc->GetCharFormats())[
i];
543 m_pDoc->IsUsed( *pCFormat ) )
547 bool bHasEndNotes {
false};
548 bool bHasFootNotes {
false};
550 for(
auto pIdx : rIdxs )
552 if( pIdx->GetFootnote().IsEndNote() )
560 bHasFootNotes =
true;
568 if( !m_bFirstCSS1Rule )
577 m_bFirstCSS1Rule =
false;
580 m_nDfltTopMargin = 0;
581 m_nDfltBottomMargin = 0;
587 OUString& rClass, sal_uInt16& rRefPoolId,
590 sal_uInt16 nDeep = 0;
601 while( pPFormat && !pPFormat->
IsDefault() )
608 const OUString& aNm(pPFormat->
GetName());
633 sal_uInt16 nDefListLvl = GetDefListLvl(aNm, nPoolId);
639 if (pPseudo && (nDeep || (nDefListLvl & 0x0fff) > 1))
711 OSL_ENSURE( (rRefPoolId != 0) == (!rToken.isEmpty()),
837 *pPseudo = OStringToOUString(
sCSS1_link, RTL_TEXTENCODING_ASCII_US );
844 *pPseudo = OStringToOUString(
sCSS1_visited, RTL_TEXTENCODING_ASCII_US );
850 if( !rToken.isEmpty() && !rRefPoolId )
851 rRefPoolId = nPoolId;
854 if( !rToken.isEmpty() || bStop )
867 if( !rToken.isEmpty() )
885 sal_Int32
nPos = rClass.indexOf(
'.' );
886 if( nPos >= 0 && rClass.getLength() > nPos+1 )
888 rClass = rClass.replaceAt( 0, nPos+1,
u"" );
892 rClass = rClass.replaceAll(
".",
"-" );
893 rClass = rClass.replaceAll(
" ",
"-" );
894 rClass = rClass.replaceAll(
"_",
"-" );
901 sal_uInt16& rRefPoolId )
908 rRefPoolId, &aPseudo );
911 if( !aToken.isEmpty() )
912 rSelector = OStringToOUString(aToken, RTL_TEXTENCODING_ASCII_US);
916 if( !aClass.isEmpty() )
917 rSelector +=
"." + aClass;
918 if( !aPseudo.isEmpty() )
919 rSelector +=
":" + aPseudo;
928 const SwFormat *pRefFormat =
nullptr;
932 OSL_ENSURE( !(
USER_FMT & nPoolFormatId),
933 "No user templates found" );
945 OSL_ENSURE( nDeep != USHRT_MAX,
"Called GetParent for HTML-template!" );
946 const SwFormat *pRefFormat =
nullptr;
951 pRefFormat = &rFormat;
952 for( sal_uInt16
i=nDeep;
i>0;
i-- )
955 if( pRefFormat && pRefFormat->
IsDefault() )
956 pRefFormat =
nullptr;
964 return static_cast<const SvxFontItem &
>(r1).GetFamilyName() ==
965 static_cast<const SvxFontItem &
>(r2).GetFamilyName() &&
966 static_cast<const SvxFontItem &
>(r1).GetFamily() ==
976 OSL_ENSURE( bSetDefaults || bClearSame,
977 "SwHTMLWriter::SubtractItemSet: No action for this Flag" );
979 aRefItemSet.
Set( rRefItemSet );
987 bool bItemSet = ( SfxItemState::SET ==
991 if( pRefScriptItemSet )
1010 bRefItemSet = ( SfxItemState::SET ==
1011 pRefScriptItemSet->
GetItemState( nWhich,
true, &pRefItem) );
1014 bRefItemSet = ( SfxItemState::SET ==
1015 aRefItemSet.GetItemState( nWhich,
false, &pRefItem) );
1021 bRefItemSet = ( SfxItemState::SET ==
1022 aRefItemSet.GetItemState( nWhich,
false, &pRefItem) );
1027 if( (bClearSame || pRefScriptItemSet) && bRefItemSet &&
1028 ( *pItem == *pRefItem ||
1041 if( (bSetDefaults || pRefScriptItemSet) && bRefItemSet )
1059 bool bContainsKeyword =
false;
1060 if( !rName.isEmpty() )
1062 sal_Int32 nStrPos = 0;
1063 while( nStrPos != -1 )
1065 OUString
aName = rName.getToken( 0,
';', nStrPos );
1067 if( aName.isEmpty() )
1070 bool bIsKeyword =
false;
1096 bContainsKeyword |= bIsKeyword;
1098 if( !rNames.isEmpty() )
1100 if( cQuote && !bIsKeyword )
1101 rNames += OUStringChar( cQuote );
1103 if( cQuote && !bIsKeyword )
1104 rNames += OUStringChar( cQuote );
1108 if( bContainsKeyword || !bGeneric )
1111 const char *pStr =
nullptr;
1125 if( !rNames.isEmpty() )
1127 rNames += OStringToOUString( pStr, RTL_TEXTENCODING_ASCII_US );
1132 bool bCheckDropCap )
1134 static const sal_uInt16 aWhichIds[] =
1144 for(
int i=0; aWhichIds[
i];
i += 3 )
1146 const SfxPoolItem *pItem =
nullptr, *pItemCJK =
nullptr, *pItemCTL =
nullptr, *pTmp;
1148 if( SfxItemState::SET == rItemSet.
GetItemState( aWhichIds[
i],
false,
1154 if( SfxItemState::SET == rItemSet.
GetItemState( aWhichIds[i+1],
false,
1160 if( SfxItemState::SET == rItemSet.
GetItemState( aWhichIds[i+2],
false,
1169 if( nItemCount > 0 && nItemCount < 3 )
1172 if( 3 == nItemCount )
1186 if( *pItem != *pItemCJK ||
1187 *pItem != *pItemCTL ||
1188 *pItemCJK != *pItemCTL )
1195 if( bCheckDropCap &&
1211 aTstItemSet.Set( pDCCharFormat->
GetAttrSet() );
1212 return HasScriptDependentItems( aTstItemSet,
false );
1221 bool bCheckForPseudo )
1223 bool bScriptDependent =
false;
1226 bScriptDependent =
true;
1227 std::u16string_view aSelector( rSelector );
1229 std::u16string_view aPseudo;
1230 if( bCheckForPseudo )
1232 size_t nPos = aSelector.rfind(
':' );
1233 if( nPos != std::u16string_view::npos )
1235 aPseudo = aSelector.substr( nPos );
1236 aSelector =aSelector.substr( 0, nPos );
1257 aScriptItemSet( *rItemSet.
GetPool() );
1258 aScriptItemSet.Put( rItemSet );
1260 OUString aNewSelector = OUString::Concat(aSelector) +
".western" + aPseudo;
1267 aNewSelector = OUString::Concat(aSelector) +
".cjk" + aPseudo;
1274 aNewSelector = OUString::Concat(aSelector) +
".ctl" + aPseudo;
1286 OUString aNewSelector = OUString::Concat(aSelector) +
"-western" + aPseudo;
1293 aNewSelector = OUString::Concat(aSelector) +
"-cjk" + aPseudo;
1300 aNewSelector = OUString::Concat(aSelector) +
"-ctl" + aPseudo;
1314 SwCSS1OutMode aMode( rHTMLWrt,
1320 return bScriptDependent;
1326 bool bHasScriptDependencies )
1329 if( (bHasScriptDependencies && bHasClass) ||
1332 std::u16string_view aSelector( rSelector );
1334 std::u16string_view aPseudo;
1335 size_t nPos = aSelector.rfind(
':' );
1336 if( nPos != std::u16string_view::npos )
1338 aPseudo = aSelector.substr( nPos );
1339 aSelector = aSelector.substr( 0, nPos );
1359 aScriptItemSet.Set( pDCCharFormat->
GetAttrSet() );
1361 OUString aNewSelector = OUString::Concat(aSelector) +
".western" + aPseudo;
1368 aNewSelector = OUString::Concat(aSelector) +
".cjk" + aPseudo;
1375 aNewSelector = OUString::Concat(aSelector) +
".ctl" + aPseudo;
1387 OUString aNewSelector = OUString::Concat(aSelector) +
"-western" + aPseudo;
1394 aNewSelector = OUString::Concat(aSelector) +
"-cjk" + aPseudo;
1401 aNewSelector = OUString::Concat(aSelector) +
"-ctl" + aPseudo;
1415 SwCSS1OutMode aMode( rHTMLWrt,
1427 bool bCharFormat =
false;
1428 switch( rFormat.
Which() )
1446 sal_uInt16 nRefPoolId = 0;
1447 sal_uInt16 nDeep =
GetCSS1Selector( &rFormat, aSelector, nRefPoolId );
1469 aItemSet.
Set( rFormatItemSet );
1473 bool bSetDefaults =
true, bClearSame =
true;
1474 const SwFormat *pRefFormat =
nullptr;
1475 const SwFormat *pRefFormatScript =
nullptr;
1489 bSetDefaults =
false;
1497 bSetDefaults, bClearSame,
1518 const OUString& aNm(rFormat.
GetName());
1520 if (aNm ==
"DD 1" || aNm ==
"DT 1")
1532 switch( nPoolFormatId )
1553 if( !aItemSet.Count() )
1557 bool bCheckForPseudo =
false;
1561 bCheckForPseudo =
true;
1564 bool bHasScriptDependencies =
false;
1576 bHasScriptDependencies =
true;
1582 OUString sOut = aSelector +
1592 sal_uInt16 nRefPoolId,
bool bExtRef,
1600 else if( pTemplate )
1603 OUString aSelector =
"@" + OStringToOUString(
sCSS1_page, RTL_TEXTENCODING_ASCII_US );
1607 const char *pPseudo =
nullptr;
1615 aSelector +=
":" + OStringToOUString( pPseudo, RTL_TEXTENCODING_ASCII_US );
1623 bool bRefLandscape = pRefPageDesc && pRefPageDesc->
GetLandscape();
1694 SwDoc *pDoc,
bool bHasNotes,
bool bEndNote )
1708 sHTML_FTN_fontheight );
1713 if( pSymCharFormat )
1717 aItemSet.
Set( rFormatItemSet );
1725 SwFormat *pRefFormat = rHTMLWrt.
m_xTemplate->getIDocumentStylePoolAccess().GetCharFormatFromPool(
1731 if( aItemSet.Count() )
1735 : std::u16string_view(
1737 if(
OutCSS1Rule( rHTMLWrt, aSelector, aItemSet,
true,
false ))
1760 OUString rEmbeddedGraphicName;
1761 OutCSS1_SvxBrush( rWrt, *pItem, Css1Background::Page, &rEmbeddedGraphicName );
1832 nFirstLineOffset != nDfltFirstLineOffset )
1858 case RndStdIds::FLY_AT_PARA:
1859 case RndStdIds::FLY_AT_CHAR:
1866 const char *pStr = text::HoriOrientation::RIGHT==rHoriOri.
GetHoriOrient()
1875 case RndStdIds::FLY_AT_PAGE:
1876 case RndStdIds::FLY_AT_FLY:
1889 bool bOutXPos =
false, bOutYPos =
false;
1892 OSL_ENSURE( pSdrObj,
"Do not pass a SdrObject. Inefficient" );
1895 OSL_ENSURE( pSdrObj,
"Where is the SdrObject" );
1902 bOutXPos = bOutYPos =
true;
1920 nYPos -= aULItem.GetUpper();
1923 aULItem.SetUpper( o3tl::narrowing<sal_uInt16>(aULItem.GetUpper() + nYPos) );
1936 nXPos -= aLRItem.GetLeft();
1939 aLRItem.SetLeft( o3tl::narrowing<sal_uInt16>(aLRItem.GetLeft() + nXPos) );
1959 OSL_ENSURE( pSdrObj,
"Do not pass a SdrObject. Inefficient" );
1962 OSL_ENSURE( pSdrObj,
"Where is the SdrObject" );
1987 "Export absolute size" );
1989 "Export every size" );
1992 nMode |= Css1FrameSize::Width;
1994 nMode |= Css1FrameSize::MinHeight|Css1FrameSize::FixHeight;
1996 nMode |= Css1FrameSize::Pixel;
2013 if( pLRItem || pULItem )
2029 OutCSS1_FrameFormatBackground( rFrameFormat );
2032 OutCSS1_SfxItemSet( *pItemSet,
false );
2034 if( !m_bFirstCSS1Property )
2035 Strm().WriteChar(
'\"' );
2055 if( !m_bFirstCSS1Property )
2056 Strm().WriteChar(
'\"' );
2061 SwCSS1OutMode
const aMode( *
this,
2066 if (!m_bFirstCSS1Property)
2067 Strm().WriteChar(cCSS1_style_opt_end);
2083 OString sColumnCount(OString::number(static_cast<sal_Int32>(pCol->
GetNumCols())));
2087 if( !m_bFirstCSS1Property )
2088 Strm().WriteChar(
'\"' );
2094 bool bWritten =
false;
2117 if (RndStdIds::FLY_AT_PAGE != eAnchorId && pAnchorPos)
2149 pLine = pBox ? pBox->
GetUpper() :
nullptr;
2164 OutCSS1_FrameFormatBackground( *pFrameFormat );
2171 OSL_ENSURE( m_pCurrPageDesc,
"no page template found" );
2173 *m_pCurrPageDesc->GetMaster().makeBackgroundBrushItem() ) )
2202 const char *pUStr =
nullptr;
2218 "write underline as Hint?" );
2225 const char *pOStr =
nullptr;
2241 "write overline as Hint?" );
2248 const char *pCOStr =
nullptr;
2264 "write crossedOut as Hint?" );
2271 const char *pBStr =
nullptr;
2274 if( !pBItem->GetValue() )
2283 "write blink as Hint?" );
2294 if (!sOut.isEmpty())
2301 if (!sOut.isEmpty())
2303 sOut.append(pCOStr);
2308 if (!sOut.isEmpty())
2313 if (!sOut.isEmpty())
2325 switch( static_cast<const SvxCaseMapItem&>(rHt).GetCaseMap() )
2327 case SvxCaseMap::NotMapped:
2330 case SvxCaseMap::SmallCaps:
2333 case SvxCaseMap::Uppercase:
2336 case SvxCaseMap::Lowercase:
2339 case SvxCaseMap::Capitalize:
2358 "write color as Hint?" );
2360 Color aColor( static_cast<const SvxColorItem&>(rHt).
GetValue() );
2376 nullptr,
nullptr, static_cast<const SvxCrossedOutItem *>(&rHt),
nullptr );
2390 switch( rHt.
Which() )
2399 "write Font as Hint?" );
2424 switch( rHt.
Which() )
2433 OString sHeight(OString::number(nHeight/20) +
sCSS1_UNIT_pt);
2444 switch( rHt.
Which() )
2452 const char *pStr =
nullptr;
2453 switch( static_cast<const SvxPostureItem&>(rHt).GetPosture() )
2463 "write italic as Hint?" );
2492 nValue = (nValue + 1) / 2;
2493 sOut.append(OString::number(nValue / 10) +
"." + OString::number(nValue % 10) +
2497 sOut.makeStringAndClear());
2517 switch( rHt.
Which() )
2526 "write Language as Hint?" );
2546 static_cast<const SvxUnderlineItem *>(&rHt),
nullptr,
nullptr,
nullptr );
2558 nullptr, static_cast<const SvxOverlineItem *>(&rHt),
nullptr,
nullptr );
2567 if ( static_cast<const SvxCharHiddenItem&>(rHt).GetValue() )
2578 switch( rHt.
Which() )
2586 const char *pStr =
nullptr;
2587 switch( static_cast<const SvxWeightItem&>(rHt).GetWeight() )
2600 "write bold as Hint?" );
2622 nullptr,
nullptr,
nullptr, static_cast<const SvxBlinkItem *>(&rHt) );
2639 sal_uInt16 nHeight = 0;
2640 sal_uInt16 nPercentHeight = 0;
2644 case SvxInterLineSpaceRule::Off:
2645 case SvxInterLineSpaceRule::Fix:
2647 switch( eLineSpace )
2649 case SvxLineSpaceRule::Min:
2650 case SvxLineSpaceRule::Fix:
2653 case SvxLineSpaceRule::Auto:
2654 nPercentHeight = 100;
2661 case SvxInterLineSpaceRule::Prop:
2671 else if( nPercentHeight &&
2674 OString sHeight(OString::number(nPercentHeight) +
"%");
2690 const char* pStr =
nullptr;
2691 switch( static_cast<const SvxAdjustItem&>(rHt).GetAdjust() )
2735 OString
aStr(OString::number(static_cast<const SvxWidowsItem&>(rHt).
GetValue()));
2745 OString
aStr(OString::number(static_cast<const SvxOrphansItem&>(rHt).
GetValue()));
2759 OString sOut(OString::number(rDrop.
GetLines()*100) +
"%");
2768 if( pCharFormatItemSet )
2770 else if( pDCCharFormat )
2787 SwCSS1OutMode aMode( rHTMLWrt,
2809 if( nMode & Css1FrameSize::Width )
2814 OString sOut(OString::number(nPercentWidth) +
"%");
2817 else if( nMode & Css1FrameSize::Pixel )
2879 static_cast<tools::Long>(rULItem.
GetUpper()) );
2885 static_cast<tools::Long>(rULItem.
GetLower()) );
2897 if( pLRItem && pULItem &&
2925 if( pLRSpace || pULSpace )
2941 const char *pBreakBefore =
nullptr;
2942 const char *pBreakAfter =
nullptr;
2952 case SvxBreak::NONE:
2958 case SvxBreak::PageBefore:
2962 case SvxBreak::PageAfter:
2982 else if( !pBreakBefore )
3018 if( pBreakItem || pPDescItem || pKeepItem )
3020 pPDescItem, pKeepItem );
3034 const OUString* pGraphicName)
3047 OUString aLink = pGraphicName ? *pGraphicName
3048 :
static_cast<const SvxBrushItem &
>(rHt).GetGraphicLink();
3050 if( Css1Background::Page == nMode && !rHTMLWrt.
mbEmbedImages )
3058 bool bColor =
false;
3069 OUString aGraphicInBase64;
3072 const Graphic* pGrf =
nullptr;
3075 pGrf =
static_cast<const SvxBrushItem &
>(rHt).GetGraphic();
3087 OUString aGraphicAsLink = aLink;
3089 aLink = aGraphicAsLink;
3092 if( Css1Background::Table==nMode && !pGrf && !aLink.isEmpty())
3096 const char *pRepeat =
nullptr, *pHori =
nullptr, *pVert =
nullptr;
3097 if( pGrf || !aLink.isEmpty() )
3153 if( pHori || pVert )
3160 if( !pGrf && aLink.isEmpty() && !bColor )
3163 if( bTransparent && Css1Background::Fly != nMode )
3171 sOut += OStringToOUString(sTmp, RTL_TEXTENCODING_ASCII_US);
3174 if( pGrf || !aLink.isEmpty() )
3181 sOut += OStringToOUString(
sCSS1_url, RTL_TEXTENCODING_ASCII_US) +
3186 sOut += OStringToOUString(
sCSS1_url, RTL_TEXTENCODING_ASCII_US)+
3193 sOut +=
" " + OStringToOUString(pRepeat, RTL_TEXTENCODING_ASCII_US);
3198 sOut +=
" " + OStringToOUString(pHori, RTL_TEXTENCODING_ASCII_US);
3202 sOut +=
" " + OStringToOUString(pVert, RTL_TEXTENCODING_ASCII_US);
3205 sOut +=
" " + OStringToOUString(
sCSS1_PV_scroll, RTL_TEXTENCODING_ASCII_US) +
" ";
3209 if( !sOut.isEmpty() )
3216 const char *pProperty,
3219 if( !pLine || pLine->
isEmpty() )
3225 sal_Int32 nWidth = pLine->
GetWidth();
3241 sOut.append(OString::number(nWidth / 100) +
"." + OString::number((nWidth/10) % 10) +
3249 case SvxBorderLineStyle::SOLID:
3252 case SvxBorderLineStyle::DOTTED:
3255 case SvxBorderLineStyle::DASHED:
3258 case SvxBorderLineStyle::DOUBLE:
3259 case SvxBorderLineStyle::THINTHICK_SMALLGAP:
3260 case SvxBorderLineStyle::THINTHICK_MEDIUMGAP:
3261 case SvxBorderLineStyle::THINTHICK_LARGEGAP:
3262 case SvxBorderLineStyle::THICKTHIN_SMALLGAP:
3263 case SvxBorderLineStyle::THICKTHIN_MEDIUMGAP:
3264 case SvxBorderLineStyle::THICKTHIN_LARGEGAP:
3267 case SvxBorderLineStyle::EMBOSSED:
3270 case SvxBorderLineStyle::ENGRAVED:
3273 case SvxBorderLineStyle::INSET:
3276 case SvxBorderLineStyle::OUTSET:
3319 if( (pTop && pBottom && pLeft && pRight &&
3320 *pTop == *pBottom && *pTop == *pLeft && *pTop == *pRight) ||
3321 (!pTop && !pBottom && !pLeft && !pRight) )
3341 if( nTopDist == nBottomDist && nLeftDist == nRightDist )
3345 if( nTopDist != nLeftDist )
3373 const char* pStr =
nullptr;
3376 case SvxFrameDirection::Horizontal_LR_TB:
3377 case SvxFrameDirection::Vertical_LR_TB:
3380 case SvxFrameDirection::Horizontal_RL_TB:
3381 case SvxFrameDirection::Vertical_RL_TB:
3384 case SvxFrameDirection::Environment:
3588 if( pUnderlineItem || pOverlineItem || pCrossedOutItem || pBlinkItem )
3597 if( m_bFirstCSS1Property )
3606 sOut.append(sCSS1_span_tag_end);
3610 sOut.append(cCSS1_style_opt_end);
3614 sOut.append(sCSS1_rule_end);
3617 if (!sOut.isEmpty())
3618 Strm().WriteOString( sOut.makeStringAndClear() );
3628 Out( aCSS1AttrFnTab, rHt, rWrt );
3644 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
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.
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
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
sal_Int32 m_nDfltRightMargin
const char *const sCSS1_P_padding_bottom
SwPageDesc * GetPageDesc()
void setWidth(tools::Long nWidth)
bool Set(const SfxItemSet &, bool bDeep=true)
#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::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
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
constexpr::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
tools::Long GetWidth() const
#define OOO_STRING_SVTOOLS_HTML_sdfootnote_anc
const char *const sCSS1_P_margin_left
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
#define CSS1_OUTMODE_RULE_ON
#define OOO_STRING_SVTOOLS_HTML_head5
const WhichRangesContainer & GetRanges() const
#define CSS1_OUTMODE_HINT
const char *const sCSS1_P_color
constexpr sal_uInt16 RES_BOXATR_END(153)
#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)
constexpr TypedWhichId< SwConditionTextFormatColl > RES_CONDTXTFMTCOLL(160)
#define CSS1_OUTMODE_TABLEBOX
static SVT_DLLPUBLIC SvStream & Out_AsciiTag(SvStream &, std::string_view rStr, bool bOn=true)
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)
SwNodeOffset abs(const SwNodeOffset &a)
const char *const sCSS1_first_letter
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
constexpr tools::Long Width() const
void OutNewLine(bool bCheck=false)
const char *const sCSS1_PV_demi_light
#define OOO_STRING_SVTOOLS_HTML_tabledata
static Writer & OutCSS1_SvxFontWeight(Writer &rWrt, const SfxPoolItem &rHt)
SvxGraphicPosition GetGraphicPos() const
bool mbReqIF
If the ReqIF subset of XHTML should be written.
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(159)
#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
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
SwNodeOffset GetIndex() const
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 OOO_STRING_SVTOOLS_HTML_citation
#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
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
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()
SwNodeOffset GetIndex() const
tools::Long GetLeft() 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
constexpr TypedWhichId< SwTextFormatColl > RES_TXTFMTCOLL(157)
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)
static SVT_DLLPUBLIC SvStream & Out_String(SvStream &, const OUString &, OUString *pNonConvertableChars=nullptr)
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
void OutCSS1_TableCellBordersAndBG(const SwFrameFormat &rFrameFormat, const SvxBrushItem *pBrushItem)
const char *const sCSS1_PV_double
#define OOO_STRING_SVTOOLS_HTML_sdendnote_sym
SvStream & WriteOString(std::string_view rStr)
#define OOO_STRING_SVTOOLS_HTML_O_style
constexpr tools::Long Height() const
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)
OString GetCSS1_Color(const Color &rColor)
#define CSS1_OUTMODE_WESTERN
const char *const sCSS1_P_text_align
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)
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
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)
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 char *const sCSS1_PV_extra_light
rtl::Reference< ::chart::ChartTypeTemplate > m_xTemplate
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
bool m_bDetectedRangeSegmentation false
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)