32#include <ooxml/resourceids.hxx>
33#include <oox/token/tokens.hxx>
35#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
36#include <com/sun/star/document/XOOXMLDocumentPropertiesImporter.hpp>
37#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
38#include <com/sun/star/table/BorderLineStyle.hpp>
39#include <com/sun/star/table/ShadowFormat.hpp>
40#include <com/sun/star/text/HoriOrientation.hpp>
41#include <com/sun/star/text/RelOrientation.hpp>
42#include <com/sun/star/text/VertOrientation.hpp>
43#include <com/sun/star/text/WrapTextMode.hpp>
44#include <com/sun/star/text/SizeType.hpp>
45#include <com/sun/star/text/XEndnotesSupplier.hpp>
46#include <com/sun/star/text/XFootnotesSupplier.hpp>
47#include <com/sun/star/text/XLineNumberingProperties.hpp>
48#include <com/sun/star/awt/FontRelief.hpp>
49#include <com/sun/star/awt/FontWeight.hpp>
50#include <com/sun/star/awt/FontUnderline.hpp>
51#include <com/sun/star/awt/FontStrikeout.hpp>
52#include <com/sun/star/awt/FontSlant.hpp>
53#include <com/sun/star/document/XEventBroadcaster.hpp>
54#include <com/sun/star/style/ParagraphAdjust.hpp>
55#include <com/sun/star/style/BreakType.hpp>
56#include <com/sun/star/style/CaseMap.hpp>
57#include <com/sun/star/style/LineSpacing.hpp>
58#include <com/sun/star/style/LineSpacingMode.hpp>
59#include <com/sun/star/text/FootnoteNumbering.hpp>
60#include <com/sun/star/text/TextGridMode.hpp>
61#include <com/sun/star/text/XDocumentIndexesSupplier.hpp>
62#include <com/sun/star/text/XTextFieldsSupplier.hpp>
63#include <com/sun/star/text/WritingMode.hpp>
64#include <com/sun/star/text/WritingMode2.hpp>
65#include <com/sun/star/text/XFootnote.hpp>
66#include <com/sun/star/text/XTextColumns.hpp>
67#include <com/sun/star/text/RubyPosition.hpp>
68#include <com/sun/star/uno/XComponentContext.hpp>
69#include <com/sun/star/text/FontEmphasis.hpp>
70#include <com/sun/star/awt/CharSet.hpp>
71#include <com/sun/star/lang/XMultiServiceFactory.hpp>
72#include <com/sun/star/util/XComplexColor.hpp>
115 mbIsSplitPara(false),
116 mbHasControls(false),
117 mbWasShapeInPara(false)
122 m_pImpl->SetDocumentSettingsProperty(
125 m_pImpl->SetDocumentSettingsProperty(
128 m_pImpl->SetDocumentSettingsProperty(
133 m_pImpl->SetDocumentSettingsProperty(
"StylesNoDefault",
uno::Any(
true));
134 m_pImpl->SetDocumentSettingsProperty(
"MsWordCompTrailingBlanks",
uno::Any(
true));
135 m_pImpl->SetDocumentSettingsProperty(
"HeaderSpacingBelowLastPara",
137 m_pImpl->SetDocumentSettingsProperty(
"FrameAutowidthWithMorePara",
uno::Any(
true));
138 m_pImpl->SetDocumentSettingsProperty(
"FootnoteInColumnToPageEnd",
uno::Any(
true));
139 m_pImpl->SetDocumentSettingsProperty(
"TabAtLeftIndentForParagraphsInList",
uno::Any(
true));
142 m_pImpl->SetDocumentSettingsProperty(
"NoNumberingShowFollowBy",
uno::Any(
true));
150 OUString aBaseURL = rMediaDesc.getUnpackedValueOrDefault(
"URL", OUString());
152 uno::UNO_QUERY_THROW);
155 xDocumentMetadataAccess->loadMetadataFromStorage(xStorage, xBaseURI, xHandler);
157 catch (
const uno::Exception&)
170 uno::UNO_QUERY_THROW);
174 catch (
const uno::Exception&)
187 "com.sun.star.document.OOXMLDocumentPropertiesImporter",
192 xImporter->importProperties(
m_pImpl->m_xDocumentStorage,
193 xPropSupplier->getDocumentProperties());
195 catch(
const uno::Exception& ) {}
200 m_pImpl->setDocumentReference(pDocument);
208 m_pImpl->RemoveTemporaryFootOrEndnotes();
211 sal_Int32 nIndexes = 0;
212 if( xIndexesSupplier.is() )
215 nIndexes = xIndexes->getCount();
219 if(xTextFieldsSupplier.is())
222 while(xEnumeration->hasMoreElements())
225 xEnumeration->nextElement();
234 if (xBroadcaster.is())
240 m_pImpl->GetSettingsTable()->ApplyProperties(
m_pImpl->GetTextDocument( ) );
243 m_pImpl->SetDocumentSettingsProperty(
"StylesNoDefault",
uno::Any(
false));
249 aProperties[
"ThemeFontLangProps"] <<=
m_pImpl->GetSettingsTable()->GetThemeFontLangProperties();
255 aProperties[
"DocumentProtection"] <<=
m_pImpl->GetSettingsTable()->GetDocumentProtectionSettings();
269 m_pImpl->SetDocumentSettingsProperty(
271 uno::Any(14 >=
m_pImpl->GetSettingsTable()->GetWordCompatibilityMode()));
273 catch(
const uno::Exception& ) {}
282 if (
m_pImpl->hasTableManager() &&
m_pImpl->getTableManager().attribute(nName, val))
285 static const int nSingleLineSpacing = 240;
286 sal_Int32 nIntValue = val.
getInt();
292 case NS_ooxml::LN_CT_Lvl_start:
294 case NS_ooxml::LN_CT_Lvl_numFmt:
296 case NS_ooxml::LN_CT_Lvl_isLgl:
298 case NS_ooxml::LN_CT_Lvl_legacy:
300 case NS_ooxml::LN_CT_AbstractNum_nsid:
302 case NS_ooxml::LN_CT_AbstractNum_tmpl:
304 case NS_ooxml::LN_CT_Border_sz:
306 case NS_ooxml::LN_CT_Border_val:
308 case NS_ooxml::LN_CT_Border_space:
310 case NS_ooxml::LN_CT_Border_shadow:
312 case NS_ooxml::LN_CT_Border_frame:
314 case NS_ooxml::LN_headerr:
316 case NS_ooxml::LN_footerr:
318 case NS_ooxml::LN_endnote:
320 case NS_ooxml::LN_CT_Bookmark_name:
321 m_pImpl->SetBookmarkName( sStringValue );
323 case NS_ooxml::LN_CT_MarkupRangeBookmark_id:
327 m_pImpl->StartOrEndBookmark( sStringValue );
329 case NS_ooxml::LN_CT_MarkupRange_displacedByCustomXml:
331 case NS_ooxml::LN_NUMBERING:
333 case NS_ooxml::LN_FONTTABLE:
335 case NS_ooxml::LN_STYLESHEET:
338 case NS_ooxml::LN_CT_Sym_char:
339 m_pImpl->SetSymbolChar(nIntValue);
341 case NS_ooxml::LN_CT_Sym_font:
342 m_pImpl->SetSymbolFont(sStringValue);
344 case NS_ooxml::LN_CT_Underline_val:
348 case NS_ooxml::LN_CT_Underline_color:
355 case NS_ooxml::LN_CT_Underline_themeColor:
356 case NS_ooxml::LN_CT_Underline_themeTint:
357 case NS_ooxml::LN_CT_Underline_themeShade:
364 std::optional<PropertyMap::Property> aValue;
367 aValue->second >>= xComplexColor;
368 if (xComplexColor.is())
372 if (nName == NS_ooxml::LN_CT_Underline_themeColor)
377 else if (nName == NS_ooxml::LN_CT_Underline_themeTint)
381 sal_Int16 nTransformedValue = sal_Int16((255.0 - nIntValue) * 10000.0 / 255.0);
385 else if (nName == NS_ooxml::LN_CT_Underline_themeShade)
389 sal_Int16 nTransformedValue = sal_Int16((255.0 - nIntValue) * 10000.0 / 255.0);
398 case NS_ooxml::LN_CT_TabStop_val:
399 if (sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_ST_TabJc_clear)
401 m_pImpl->m_aCurrentTabStop.bDeleted =
true;
405 m_pImpl->m_aCurrentTabStop.bDeleted =
false;
409 case NS_ooxml::LN_CT_TabStop_leader:
412 case NS_ooxml::LN_CT_TabStop_pos:
416 case NS_ooxml::LN_CT_Fonts_ascii:
422 case NS_ooxml::LN_CT_Fonts_asciiTheme:
434 case NS_ooxml::LN_CT_Fonts_hAnsi:
436 case NS_ooxml::LN_CT_Fonts_hAnsiTheme:
441 case NS_ooxml::LN_CT_Fonts_eastAsia:
445 case NS_ooxml::LN_CT_Fonts_eastAsiaTheme:
455 case NS_ooxml::LN_CT_Fonts_cs:
459 case NS_ooxml::LN_CT_Fonts_cstheme:
469 case NS_ooxml::LN_CT_Spacing_before:
470 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"before", OUString::number(nIntValue));
473 m_pImpl->GetTopContext()->Insert(
477 case NS_ooxml::LN_CT_Spacing_beforeLines:
478 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"beforeLines", OUString::number(nIntValue));
485 case NS_ooxml::LN_CT_Spacing_after:
486 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"after", OUString::number(nIntValue));
493 if (aContextualSpacingFromStyle.
hasValue())
499 case NS_ooxml::LN_CT_Spacing_afterLines:
500 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"afterLines", OUString::number(nIntValue));
507 case NS_ooxml::LN_CT_Spacing_line:
508 case NS_ooxml::LN_CT_Spacing_lineRule:
510 style::LineSpacing aSpacing;
512 std::optional<PropertyMap::Property> aLineSpacingVal;
515 aLineSpacingVal->second >>= aSpacing;
520 aSpacing.Mode = style::LineSpacingMode::FIX;
523 if( nName == NS_ooxml::LN_CT_Spacing_line )
525 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"line", OUString::number(nIntValue));
527 if( aSpacing.Mode == style::LineSpacingMode::PROP )
528 aSpacing.Height = sal_Int16(nIntValue * 100 / nSingleLineSpacing );
535 if( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_LineSpacingRule_auto)
537 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"lineRule",
"auto");
538 if (aSpacing.Height >= 0)
540 aSpacing.Mode = style::LineSpacingMode::PROP;
548 aSpacing.Mode = style::LineSpacingMode::FIX;
549 aSpacing.Height *= -1;
552 else if( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_LineSpacingRule_atLeast)
554 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"lineRule",
"atLeast");
555 aSpacing.Mode = style::LineSpacingMode::MINIMUM;
559 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"lineRule",
"exact");
560 aSpacing.Mode = style::LineSpacingMode::FIX;
567 case NS_ooxml::LN_CT_Ind_start:
568 case NS_ooxml::LN_CT_Ind_left:
573 sal_Int32 nFirstLineIndent =
m_pImpl->getCurrentNumberingProperty(
"FirstLineIndent");
574 sal_Int32 nIndentAt =
m_pImpl->getCurrentNumberingProperty(
"IndentAt");
577 if (nParaLeftMargin != 0 && nIndentAt == nParaLeftMargin)
582 if (nFirstLineIndent != 0)
589 case NS_ooxml::LN_CT_Ind_end:
590 case NS_ooxml::LN_CT_Ind_right:
595 sal_Int32 nFirstLineIndent =
m_pImpl->getCurrentNumberingProperty(
"FirstLineIndent");
596 sal_Int32 nParaLeftMargin =
m_pImpl->getCurrentNumberingProperty(
"IndentAt");
598 if (nFirstLineIndent != 0)
600 if (nParaLeftMargin != 0)
603 m_pImpl->GetTopContext()->Insert(
606 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"right", OUString::number(nIntValue));
608 case NS_ooxml::LN_CT_Ind_hanging:
612 m_pImpl->GetTopContext()->Insert(
616 sal_Int32 nParaLeftMargin =
m_pImpl->getCurrentNumberingProperty(
"IndentAt");
617 if (nParaLeftMargin != 0)
621 case NS_ooxml::LN_CT_Ind_firstLine:
624 sal_Int32 nFirstLineIndent
625 =
m_pImpl->getCurrentNumberingProperty(
"FirstLineIndent");
627 if (nParaFirstLineIndent != 0 && nFirstLineIndent == nParaFirstLineIndent)
635 case NS_ooxml::LN_CT_Ind_rightChars:
636 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"rightChars", OUString::number(nIntValue));
639 case NS_ooxml::LN_CT_EastAsianLayout_id:
641 case NS_ooxml::LN_CT_EastAsianLayout_combine:
645 case NS_ooxml::LN_CT_EastAsianLayout_combineBrackets:
654 case NS_ooxml::LN_CT_EastAsianLayout_vert:
657 sal_Int16 nRotationAngle = (nIntValue ? 900 : 0);
661 case NS_ooxml::LN_CT_EastAsianLayout_vertCompress:
666 case NS_ooxml::LN_CT_PageSz_code:
668 case NS_ooxml::LN_CT_PageSz_h:
674 case NS_ooxml::LN_CT_PageSz_orient:
675 CT_PageSz.orient = (nIntValue != NS_ooxml::LN_Value_ST_PageOrientation_portrait);
677 case NS_ooxml::LN_CT_PageSz_w:
684 case NS_ooxml::LN_CT_PageMar_top:
687 case NS_ooxml::LN_CT_PageMar_right:
690 case NS_ooxml::LN_CT_PageMar_bottom:
693 case NS_ooxml::LN_CT_PageMar_left:
696 case NS_ooxml::LN_CT_PageMar_header:
699 case NS_ooxml::LN_CT_PageMar_footer:
702 case NS_ooxml::LN_CT_PageMar_gutter:
705 case NS_ooxml::LN_CT_Language_val:
706 case NS_ooxml::LN_CT_Language_eastAsia:
707 case NS_ooxml::LN_CT_Language_bidi:
710 if (
m_pImpl->IsDocDefaultsImport() && ( nName == NS_ooxml::LN_CT_Language_val ) )
718 if (nName == NS_ooxml::LN_CT_Language_eastAsia)
719 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"eastAsia", sStringValue);
720 else if (nName == NS_ooxml::LN_CT_Language_val)
721 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"val", sStringValue);
722 else if (nName == NS_ooxml::LN_CT_Language_bidi)
723 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"bidi", sStringValue);
724 lang::Locale aLocale;
725 if (sStringValue.getLength() <= 3 && sStringValue.getLength() >= 1)
754 case NS_ooxml::LN_CT_Spacing_beforeAutospacing:
756 sal_Int32 default_spacing = -1;
759 m_pImpl->SetParaAutoBefore(
true);
761 default_spacing = 100;
762 if (!
m_pImpl->GetSettingsTable()->GetDoNotUseHTMLParagraphAutoSpacing())
766 if (
m_pImpl->GetSettingsTable()->GetView() == NS_ooxml::LN_Value_doc_ST_View_web)
767 default_spacing = 49;
769 default_spacing = 280;
777 case NS_ooxml::LN_CT_Spacing_afterAutospacing:
779 sal_Int32 default_spacing = -1;
782 default_spacing = 100;
783 if (!
m_pImpl->GetSettingsTable()->GetDoNotUseHTMLParagraphAutoSpacing())
785 if (
m_pImpl->GetSettingsTable()->GetView() == NS_ooxml::LN_Value_doc_ST_View_web)
786 default_spacing = 49;
788 default_spacing = 280;
795 case NS_ooxml::LN_CT_SmartTagRun_uri:
798 case NS_ooxml::LN_CT_SmartTagRun_element:
801 case NS_ooxml::LN_CT_Br_type:
804 case NS_ooxml::LN_CT_Br_clear:
807 case NS_ooxml::LN_CT_Fonts_hint :
815 case NS_ooxml::LN_CT_TblBorders_right:
816 case NS_ooxml::LN_CT_TblBorders_top:
817 case NS_ooxml::LN_CT_TblBorders_left:
818 case NS_ooxml::LN_CT_TblBorders_bottom:
821 case NS_ooxml::LN_blip:
822 case NS_ooxml::LN_shape:
827 m_pImpl->GetGraphicImport()->attribute(nName, val);
831 case NS_ooxml::LN_Value_math_ST_Jc_centerGroup:
832 case NS_ooxml::LN_Value_math_ST_Jc_center:
834 m_pImpl->adjustLastPara(
sal_Int8(style::ParagraphAdjust::ParagraphAdjust_CENTER));
836 case NS_ooxml::LN_Value_math_ST_Jc_left:
838 m_pImpl->adjustLastPara(
sal_Int8(style::ParagraphAdjust::ParagraphAdjust_LEFT));
840 case NS_ooxml::LN_Value_math_ST_Jc_right:
842 m_pImpl->adjustLastPara(
sal_Int8(style::ParagraphAdjust::ParagraphAdjust_RIGHT));
844 case NS_ooxml::LN_starmath:
847 case NS_ooxml::LN_CT_FramePr_dropCap:
848 case NS_ooxml::LN_CT_FramePr_lines:
849 case NS_ooxml::LN_CT_FramePr_hAnchor:
850 case NS_ooxml::LN_CT_FramePr_vAnchor:
851 case NS_ooxml::LN_CT_FramePr_x:
852 case NS_ooxml::LN_CT_FramePr_xAlign:
853 case NS_ooxml::LN_CT_FramePr_y:
854 case NS_ooxml::LN_CT_FramePr_yAlign:
855 case NS_ooxml::LN_CT_FramePr_hRule:
856 case NS_ooxml::LN_CT_FramePr_w:
857 case NS_ooxml::LN_CT_FramePr_h:
858 case NS_ooxml::LN_CT_FramePr_wrap:
859 case NS_ooxml::LN_CT_FramePr_hSpace:
860 case NS_ooxml::LN_CT_FramePr_vSpace:
869 if( pParaProperties )
873 case NS_ooxml::LN_CT_FramePr_dropCap:
876 case NS_ooxml::LN_CT_FramePr_lines:
879 case NS_ooxml::LN_CT_FramePr_hAnchor:
882 case NS_ooxml::LN_Value_doc_ST_HAnchor_text:
884 case NS_ooxml::LN_Value_doc_ST_HAnchor_margin: nIntValue = text::RelOrientation::PAGE_PRINT_AREA;
break;
885 case NS_ooxml::LN_Value_doc_ST_HAnchor_page: nIntValue = text::RelOrientation::PAGE_FRAME;
break;
890 case NS_ooxml::LN_CT_FramePr_vAnchor:
893 case NS_ooxml::LN_Value_doc_ST_VAnchor_text:
895 case NS_ooxml::LN_Value_doc_ST_VAnchor_margin:nIntValue = text::RelOrientation::PAGE_PRINT_AREA ;
break;
896 case NS_ooxml::LN_Value_doc_ST_VAnchor_page: nIntValue = text::RelOrientation::PAGE_FRAME;
break;
901 case NS_ooxml::LN_CT_FramePr_x:
906 case NS_ooxml::LN_CT_FramePr_xAlign:
909 case NS_ooxml::LN_Value_doc_ST_XAlign_center : nIntValue = text::HoriOrientation::CENTER;
break;
910 case NS_ooxml::LN_Value_doc_ST_XAlign_right : nIntValue = text::HoriOrientation::RIGHT;
break;
911 case NS_ooxml::LN_Value_doc_ST_XAlign_inside : nIntValue = text::HoriOrientation::INSIDE;
break;
912 case NS_ooxml::LN_Value_doc_ST_XAlign_outside : nIntValue = text::HoriOrientation::OUTSIDE;
break;
913 case NS_ooxml::LN_Value_doc_ST_XAlign_left : nIntValue = text::HoriOrientation::LEFT;
break;
918 case NS_ooxml::LN_CT_FramePr_y:
923 case NS_ooxml::LN_CT_FramePr_yAlign:
926 case NS_ooxml::LN_Value_doc_ST_YAlign_top :
927 case NS_ooxml::LN_Value_doc_ST_YAlign_inside :nIntValue = text::VertOrientation::TOP;
break;
928 case NS_ooxml::LN_Value_doc_ST_YAlign_center :nIntValue = text::VertOrientation::CENTER;
break;
929 case NS_ooxml::LN_Value_doc_ST_YAlign_bottom :
930 case NS_ooxml::LN_Value_doc_ST_YAlign_outside :nIntValue = text::VertOrientation::BOTTOM;
break;
931 case NS_ooxml::LN_Value_doc_ST_YAlign_inline :
955 case NS_ooxml::LN_CT_FramePr_hRule:
958 case NS_ooxml::LN_Value_doc_ST_HeightRule_exact:
959 nIntValue = text::SizeType::FIX;
961 case NS_ooxml::LN_Value_doc_ST_HeightRule_atLeast:
962 nIntValue = text::SizeType::MIN;
964 case NS_ooxml::LN_Value_doc_ST_HeightRule_auto:
967 nIntValue = text::SizeType::VARIABLE;
971 case NS_ooxml::LN_CT_FramePr_wrap:
974 OSL_ENSURE( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_around ||
975 sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_notBeside ||
976 sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_through ||
977 sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_none ||
978 sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_auto,
979 "wrap not around, not_Beside, through, none or auto?");
980 if( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_through ||
981 sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_auto )
982 pParaProperties->
props().
SetWrap ( text::WrapTextMode_DYNAMIC ) ;
983 else if (sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_around)
984 pParaProperties->
props().
SetWrap(text::WrapTextMode_PARALLEL);
985 else if (sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_doc_ST_Wrap_none)
986 pParaProperties->
props().
SetWrap ( text::WrapTextMode_THROUGH ) ;
988 pParaProperties->
props().
SetWrap ( text::WrapTextMode_NONE ) ;
991 case NS_ooxml::LN_CT_FramePr_w:
995 case NS_ooxml::LN_CT_FramePr_h:
999 case NS_ooxml::LN_CT_FramePr_hSpace:
1003 case NS_ooxml::LN_CT_FramePr_vSpace:
1012 case NS_ooxml::LN_CT_TrackChange_author:
1013 m_pImpl->SetCurrentRedlineAuthor( sStringValue );
1015 case NS_ooxml::LN_CT_TrackChange_date:
1016 m_pImpl->SetCurrentRedlineDate( sStringValue );
1018 case NS_ooxml::LN_CT_Markup_id:
1019 m_pImpl->SetCurrentRedlineId( nIntValue );
1021 case NS_ooxml::LN_EG_RangeMarkupElements_commentRangeStart:
1022 m_pImpl->AddAnnotationPosition(
true, nIntValue );
1024 case NS_ooxml::LN_EG_RangeMarkupElements_commentRangeEnd:
1025 m_pImpl->AddAnnotationPosition(
false, nIntValue );
1027 case NS_ooxml::LN_CT_Comment_initials:
1028 m_pImpl->SetCurrentRedlineInitials(sStringValue);
1030 case NS_ooxml::LN_token:
1031 m_pImpl->SetCurrentRedlineToken( nIntValue );
1033 case NS_ooxml::LN_CT_LineNumber_start:
1034 case NS_ooxml::LN_CT_LineNumber_distance:
1035 case NS_ooxml::LN_CT_LineNumber_countBy:
1036 case NS_ooxml::LN_CT_LineNumber_restart:
1044 case NS_ooxml::LN_CT_LineNumber_countBy:
1046 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
1047 if( pSectionContext )
1048 pSectionContext->
SetLnnMod( nIntValue );
1050 case NS_ooxml::LN_CT_LineNumber_start:
1051 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
1052 if( pSectionContext )
1053 pSectionContext->
SetLnnMin( nIntValue );
1055 case NS_ooxml::LN_CT_LineNumber_distance:
1057 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
1058 if( pSectionContext )
1059 pSectionContext->
SetdxaLnn( nIntValue );
1061 case NS_ooxml::LN_CT_LineNumber_restart:
1062 aSettings.
bRestartAtEachPage = nIntValue == NS_ooxml::LN_Value_ST_LineNumberRestart_newPage;
1063 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
1064 if( pSectionContext )
1065 pSectionContext->
SetLnc( nIntValue );
1069 m_pImpl->SetLineNumberSettings( aSettings );
1072 case NS_ooxml::LN_CT_FtnEdnRef_customMarkFollows:
1075 case NS_ooxml::LN_CT_FtnEdnRef_id:
1078 case NS_ooxml::LN_CT_DocGrid_linePitch:
1081 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
1088 case NS_ooxml::LN_CT_DocGrid_charSpace:
1090 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
1097 case NS_ooxml::LN_CT_DocGrid_type:
1099 if (pSectionContext !=
nullptr)
1103 case NS_ooxml::LN_Value_doc_ST_DocGrid_default:
1106 case NS_ooxml::LN_Value_doc_ST_DocGrid_lines:
1107 pSectionContext->
SetGridType(text::TextGridMode::LINES);
1109 case NS_ooxml::LN_Value_doc_ST_DocGrid_linesAndChars:
1110 pSectionContext->
SetGridType(text::TextGridMode::LINES_AND_CHARS);
1113 case NS_ooxml::LN_Value_doc_ST_DocGrid_snapToChars:
1114 pSectionContext->
SetGridType(text::TextGridMode::LINES_AND_CHARS);
1118 OSL_FAIL(
"unknown SwTextGrid value");
1123 case NS_ooxml::LN_CT_SdtBlock_sdtContent:
1124 case NS_ooxml::LN_CT_SdtRun_sdtContent:
1126 m_pImpl->m_pSdtHelper->SetSdtType(nName);
1133 if (nName == NS_ooxml::LN_CT_SdtRun_sdtContent)
1135 if (
m_pImpl->GetSdtStarts().empty() && !
m_pImpl->m_pSdtHelper->getSdtTexts().isEmpty())
1141 m_pImpl->m_pSdtHelper->createPlainTextControl();
1151 if (
m_pImpl->GetIsFirstParagraphInSection() || !
m_pImpl->IsFirstRun())
1153 m_pImpl->m_bIsSplitPara =
true;
1166 m_pImpl->clearDeferredBreaks();
1171 if (
m_pImpl->GetIsFirstParagraphInSection() || !
m_pImpl->IsFirstRun())
1174 m_pImpl->m_bIsSplitPara =
true;
1187 m_pImpl->clearDeferredBreaks();
1197 case NS_ooxml::LN_CT_SdtBlock_sdtEndContent:
1198 case NS_ooxml::LN_CT_SdtRun_sdtEndContent:
1199 if (nName == NS_ooxml::LN_CT_SdtRun_sdtEndContent)
1202 switch (
m_pImpl->m_pSdtHelper->getControlType())
1222 if (
m_pImpl->m_pSdtHelper->isOutsideAParagraph())
1223 m_pImpl->setParaSdtEndDeferred(
true);
1225 m_pImpl->setSdtEndDeferred(
true);
1227 switch (
m_pImpl->m_pSdtHelper->getControlType())
1231 m_pImpl->m_pSdtHelper->createDropDownControl();
1234 m_pImpl->m_pSdtHelper->createPlainTextControl();
1237 m_pImpl->m_pSdtHelper->createDateContentControl();
1243 case NS_ooxml::LN_CT_SdtListItem_displayText:
1244 m_pImpl->m_pSdtHelper->getDropDownDisplayTexts().push_back(sStringValue);
1246 case NS_ooxml::LN_CT_SdtListItem_value:
1247 m_pImpl->m_pSdtHelper->getDropDownItems().push_back(sStringValue);
1249 case NS_ooxml::LN_CT_SdtDate_fullDate:
1250 m_pImpl->m_pSdtHelper->getDate().append(sStringValue);
1252 case NS_ooxml::LN_CT_Background_color:
1253 if (
m_pImpl->GetSettingsTable()->GetDisplayBackgroundShape())
1254 m_pImpl->m_oBackgroundColor = nIntValue;
1256 case NS_ooxml::LN_CT_PageNumber_start:
1257 if (pSectionContext !=
nullptr && !
m_pImpl->IsAltChunk())
1260 case NS_ooxml::LN_CT_PageNumber_fmt:
1261 if (pSectionContext)
1264 if (nNumberType != -1)
1268 case NS_ooxml::LN_CT_FtnEdn_type:
1270 if (
static_cast<sal_uInt32
>(nIntValue) == NS_ooxml::LN_Value_doc_ST_FtnEdn_separator)
1275 case NS_ooxml::LN_CT_FtnEdn_id:
1284 case NS_ooxml::LN_CT_DataBinding_prefixMappings:
1285 m_pImpl->m_pSdtHelper->setDataBindingPrefixMapping(sStringValue);
1286 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_DataBinding_prefixMappings", sStringValue);
1288 case NS_ooxml::LN_CT_DataBinding_xpath:
1289 m_pImpl->m_pSdtHelper->setDataBindingXPath(sStringValue);
1290 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_DataBinding_xpath", sStringValue);
1292 case NS_ooxml::LN_CT_DataBinding_storeItemID:
1293 m_pImpl->m_pSdtHelper->setDataBindingStoreItemID(sStringValue);
1294 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_DataBinding_storeItemID", sStringValue);
1296 case NS_ooxml::LN_CT_SdtPlaceholder_docPart_val:
1297 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtPlaceholder_docPart_val", sStringValue);
1298 m_pImpl->m_pSdtHelper->SetPlaceholderDocPart(sStringValue);
1300 case NS_ooxml::LN_CT_SdtColor_val:
1301 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtColor_val", sStringValue);
1302 m_pImpl->m_pSdtHelper->SetColor(sStringValue);
1304 case NS_ooxml::LN_CT_SdtAppearance_val:
1305 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtAppearance_val", sStringValue);
1306 m_pImpl->m_pSdtHelper->SetAppearance(sStringValue);
1308 case NS_ooxml::LN_CT_SdtText_multiLine:
1309 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtText_multiLine", sStringValue);
1311 case NS_ooxml::LN_CT_PTab_leader:
1312 case NS_ooxml::LN_CT_PTab_relativeTo:
1314 case NS_ooxml::LN_CT_PTab_alignment:
1315 m_pImpl->HandlePTab(nIntValue);
1317 case NS_ooxml::LN_CT_Cnf_lastRowLastColumn:
1318 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"lastRowLastColumn", OUString::number(nIntValue));
1320 case NS_ooxml::LN_CT_Cnf_lastRowFirstColumn:
1321 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"lastRowFirstColumn", OUString::number(nIntValue));
1323 case NS_ooxml::LN_CT_Cnf_firstRowLastColumn:
1324 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"firstRowLastColumn", OUString::number(nIntValue));
1326 case NS_ooxml::LN_CT_Cnf_oddHBand:
1327 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"oddHBand", OUString::number(nIntValue));
1329 case NS_ooxml::LN_CT_Cnf_firstRowFirstColumn:
1330 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"firstRowFirstColumn", OUString::number(nIntValue));
1332 case NS_ooxml::LN_CT_Cnf_evenVBand:
1333 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"evenVBand", OUString::number(nIntValue));
1335 case NS_ooxml::LN_CT_Cnf_evenHBand:
1336 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"evenHBand", OUString::number(nIntValue));
1338 case NS_ooxml::LN_CT_Cnf_lastColumn:
1339 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"lastColumn", OUString::number(nIntValue));
1341 case NS_ooxml::LN_CT_Cnf_firstColumn:
1342 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"firstColumn", OUString::number(nIntValue));
1344 case NS_ooxml::LN_CT_Cnf_oddVBand:
1345 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"oddVBand", OUString::number(nIntValue));
1347 case NS_ooxml::LN_CT_Cnf_lastRow:
1348 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"lastRow", OUString::number(nIntValue));
1350 case NS_ooxml::LN_CT_Cnf_firstRow:
1351 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"firstRow", OUString::number(nIntValue));
1353 case NS_ooxml::LN_CT_Cnf_val:
1354 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"val", sStringValue);
1356 case NS_ooxml::LN_CT_DocPartName_val:
1361 case NS_ooxml::LN_CT_DocPartGallery_val:
1363 const OUString& sGlossaryEntryGallery = sStringValue;
1372 case NS_ooxml::LN_CT_PermStart_ed:
1374 m_pImpl->setPermissionRangeEd(sStringValue);
1377 case NS_ooxml::LN_CT_PermStart_edGrp:
1379 m_pImpl->setPermissionRangeEdGrp(sStringValue);
1382 case NS_ooxml::LN_CT_PermStart_id:
1384 m_pImpl->startOrEndPermissionRange(nIntValue);
1387 case NS_ooxml::LN_CT_PermEnd_id:
1389 m_pImpl->startOrEndPermissionRange(nIntValue);
1392 case NS_ooxml::LN_CT_NumFmt_val:
1397 if (
m_pImpl->IsInFootnoteProperties())
1400 m_pImpl->GetTextDocument(), uno::UNO_QUERY);
1401 if (xFootnotesSupplier.is())
1402 xFtnEdnSettings = xFootnotesSupplier->getFootnoteSettings();
1407 m_pImpl->GetTextDocument(), uno::UNO_QUERY);
1408 if (xEndnotesSupplier.is())
1409 xFtnEdnSettings = xEndnotesSupplier->getEndnoteSettings();
1411 if (xFtnEdnSettings.is())
1418 catch (
const uno::Exception&)
1423 case NS_ooxml::LN_CT_AltChunk:
1425 m_pImpl->HandleAltChunk(sStringValue);
1428 case NS_ooxml::LN_AG_Parids_paraId:
1432 pParaContext->props().SetParaId(sStringValue);
1435 case NS_ooxml::LN_OfficeArtExtension_Decorative_val:
1436 m_pImpl->GetGraphicImport()->attribute(nName, val);
1439 SAL_WARN(
"writerfilter",
"DomainMapper::lcl_attribute: unhandled token: " << nName);
1445 if (!
m_pImpl->hasTableManager() || !
m_pImpl->getTableManager().sprm(rSprm))
1452 bool bExchangeLeftRight =
false;
1455 if( (aPropPara >>= aAdjust) && aAdjust == text::WritingMode2::RL_TB )
1456 bExchangeLeftRight =
true;
1457 return bExchangeLeftRight;
1463 switch (rSprm.
getId())
1465 case NS_ooxml::LN_background_background:
1471 OSL_ENSURE(rContext,
"PropertyMap has to be valid!");
1475 sal_uInt32 nSprmId = rSprm.
getId();
1479 sal_Int32 nIntValue = pValue->getInt();
1480 const OUString sStringValue = pValue->getString();
1484 case NS_ooxml::LN_CT_PPrBase_jc:
1490 case NS_ooxml::LN_CT_PPrBase_keepLines:
1493 case NS_ooxml::LN_CT_PPrBase_keepNext:
1496 case NS_ooxml::LN_CT_PPrBase_pageBreakBefore:
1497 rContext->Insert(
PROP_BREAK_TYPE,
uno::Any(nIntValue ? style::BreakType_PAGE_BEFORE : style::BreakType_NONE),
bool(nIntValue));
1499 case NS_ooxml::LN_CT_NumPr_ilvl:
1500 if (nIntValue < 0 || 10 <= nIntValue)
1503 "unsupported numbering level " << nIntValue);
1510 if (pStyleSheetPropertyMap)
1511 pStyleSheetPropertyMap->
SetListLevel(
static_cast<sal_Int16
>(nIntValue) );
1521 case NS_ooxml::LN_CT_NumPr_numId:
1530 if (pStyleSheetPropertyMap)
1537 uno::Any aRules( pList->GetNumberingRules( ) );
1571 case NS_ooxml::LN_CT_PPrBase_suppressLineNumbers:
1574 case NS_ooxml::LN_inTbl:
1576 case NS_ooxml::LN_tblDepth:
1579 case NS_ooxml::LN_CT_FramePr_w:
1581 case NS_ooxml::LN_CT_FramePr_wrap:
1584 case NS_ooxml::LN_CT_PrBase_pBdr:
1587 case NS_ooxml::LN_CT_PBdr_top:
1588 case NS_ooxml::LN_CT_PBdr_left:
1589 case NS_ooxml::LN_CT_PBdr_bottom:
1590 case NS_ooxml::LN_CT_PBdr_right:
1591 case NS_ooxml::LN_CT_PBdr_between:
1596 auto pBorderHandler = std::make_shared<BorderHandler>(
true );
1597 pProperties->resolve(*pBorderHandler);
1603 case NS_ooxml::LN_CT_PBdr_top:
1608 case NS_ooxml::LN_CT_PBdr_left:
1613 case NS_ooxml::LN_CT_PBdr_bottom:
1618 case NS_ooxml::LN_CT_PBdr_right:
1623 case NS_ooxml::LN_CT_PBdr_between:
1624 if (
m_pImpl->handlePreviousParagraphBorderInBetween())
1641 rContext->Insert(eBorderId,
uno::Any(pBorderHandler->getBorderLine()));
1645 auto aComplexColor = pBorderHandler->getComplexColor();
1647 rContext->Insert(eBorderComplexColorId,
uno::Any(xComplexColor));
1651 rContext->Insert(eBorderDistId,
uno::Any(pBorderHandler->getLineDistance()));
1653 if ( nSprmId == NS_ooxml::LN_CT_PBdr_right )
1655 table::ShadowFormat aFormat;
1658 aFormat = writerfilter::dmapper::PropertyMap::getShadowFromBorder(pBorderHandler->getBorderLine());
1664 case NS_ooxml::LN_CT_PBdr_bar:
1666 case NS_ooxml::LN_CT_PPrBase_suppressAutoHyphens:
1669 case NS_ooxml::LN_CT_FramePr_h:
1671 case NS_ooxml::LN_CT_PrBase_shd:
1677 auto pCellColorHandler = std::make_shared<CellColorHandler>();
1679 bool bEnableTempGrabBag = !pCellColorHandler->isInteropGrabBagEnabled();
1680 if( bEnableTempGrabBag )
1681 pCellColorHandler->enableInteropGrabBag(
"TempShdPropsGrabBag" );
1683 pProperties->resolve(*pCellColorHandler);
1684 rContext->InsertProps(pCellColorHandler->getProperties().get());
1687 if(bEnableTempGrabBag)
1688 pCellColorHandler->disableInteropGrabBag();
1692 case NS_ooxml::LN_CT_FramePr_vSpace:
1694 case NS_ooxml::LN_CT_FramePr_hSpace:
1696 case NS_ooxml::LN_CT_FramePr_anchorLock:
1698 case NS_ooxml::LN_CT_PPrBase_widowControl:
1705 case NS_ooxml::LN_CT_PPrBase_overflowPunct:
1708 case NS_ooxml::LN_CT_PPrBase_topLinePunct:
1710 case NS_ooxml::LN_CT_PPrBase_autoSpaceDE:
1712 case NS_ooxml::LN_CT_PPrBase_autoSpaceDN:
1714 case NS_ooxml::LN_CT_PPrBase_textAlignment:
1716 sal_Int16 nAlignment = 0;
1719 case NS_ooxml::LN_Value_doc_ST_TextAlignment_top:
1722 case NS_ooxml::LN_Value_doc_ST_TextAlignment_center:
1725 case NS_ooxml::LN_Value_doc_ST_TextAlignment_baseline:
1728 case NS_ooxml::LN_Value_doc_ST_TextAlignment_bottom:
1731 case NS_ooxml::LN_Value_doc_ST_TextAlignment_auto:
1738 case NS_ooxml::LN_CT_PPrBase_textDirection:
1742 case NS_ooxml::LN_Value_ST_TextDirection_tbRl:
1744 m_pImpl->SetFrameDirection(text::WritingMode2::TB_RL);
1747 case NS_ooxml::LN_Value_ST_TextDirection_btLr:
1749 m_pImpl->SetFrameDirection(text::WritingMode2::BT_LR);
1752 case NS_ooxml::LN_Value_ST_TextDirection_lrTbV:
1755 m_pImpl->SetFrameDirection(text::WritingMode2::LR_TB);
1758 case NS_ooxml::LN_Value_ST_TextDirection_tbRlV:
1760 m_pImpl->SetFrameDirection(text::WritingMode2::TB_RL90);
1763 case NS_ooxml::LN_Value_ST_TextDirection_lrTb:
1766 case NS_ooxml::LN_Value_ST_TextDirection_tbLrV:
1768 m_pImpl->SetFrameDirection(text::WritingMode2::TB_LR);
1772 SAL_WARN(
"writerfilter",
"DomainMapper::sprmWithProps: unhandled textDirection");
1776 case NS_ooxml::LN_CT_PPrBase_outlineLvl:
1784 if (pStyleSheetPropertyMap)
1790 sal_Int16 nLvl = nIntValue ==
WW_OUTLINE_MAX ? 0 : nIntValue + 1;
1795 case NS_ooxml::LN_CT_PPrBase_bidi:
1803 const sal_Int16 nWritingMode = nIntValue ? text::WritingMode2::RL_TB : text::WritingMode2::LR_TB;
1804 sal_Int16 nParentBidi = -1;
1810 style::ParagraphAdjust eAdjust = style::ParagraphAdjust(-1);
1815 eAdjust = nIntValue ? style::ParagraphAdjust_RIGHT : style::ParagraphAdjust_LEFT;
1819 else if ( nIntValue || nParentBidi == sal_Int16(text::WritingMode2::RL_TB) )
1821 if ( eAdjust == style::ParagraphAdjust_RIGHT )
1823 else if ( eAdjust == style::ParagraphAdjust_LEFT )
1831 case NS_ooxml::LN_EG_SectPrContents_bidi:
1832 if (pSectionContext !=
nullptr)
1834 const sal_Int16 writingMode = (nIntValue != 0) ? sal_Int16(text::WritingMode2::RL_TB) : sal_Int16(text::WritingMode2::LR_TB);
1838 case NS_ooxml::LN_EG_SectPrContents_rtlGutter:
1839 if (pSectionContext !=
nullptr)
1841 bool bRtlGutter = nIntValue != 0;
1845 case NS_ooxml::LN_EG_RPrBase_highlight:
1860 sal_Int32 nColor = 0;
1862 rContext->Insert(ePropertyId,
uno::Any(nColor));
1867 rContext->Insert(ePropertyId,
uno::Any(nIntValue));
1871 case NS_ooxml::LN_EG_RPrBase_em:
1874 case NS_ooxml::LN_EG_RPrBase_emboss:
1875 case NS_ooxml::LN_EG_RPrBase_b:
1876 case NS_ooxml::LN_EG_RPrBase_bCs:
1877 case NS_ooxml::LN_EG_RPrBase_i:
1878 case NS_ooxml::LN_EG_RPrBase_iCs:
1879 case NS_ooxml::LN_EG_RPrBase_strike:
1880 case NS_ooxml::LN_EG_RPrBase_dstrike:
1881 case NS_ooxml::LN_EG_RPrBase_outline:
1882 case NS_ooxml::LN_EG_RPrBase_shadow:
1883 case NS_ooxml::LN_EG_RPrBase_caps:
1884 case NS_ooxml::LN_EG_RPrBase_smallCaps:
1885 case NS_ooxml::LN_EG_RPrBase_vanish:
1886 case NS_ooxml::LN_EG_RPrBase_webHidden:
1891 case NS_ooxml::LN_EG_RPrBase_b:
1892 case NS_ooxml::LN_EG_RPrBase_bCs:
1895 case NS_ooxml::LN_EG_RPrBase_i:
1896 case NS_ooxml::LN_EG_RPrBase_iCs:
1899 case NS_ooxml::LN_EG_RPrBase_strike:
1900 case NS_ooxml::LN_EG_RPrBase_dstrike:
1903 case NS_ooxml::LN_EG_RPrBase_outline:
1906 case NS_ooxml::LN_EG_RPrBase_shadow:
1909 case NS_ooxml::LN_EG_RPrBase_caps:
1910 case NS_ooxml::LN_EG_RPrBase_smallCaps:
1913 case NS_ooxml::LN_EG_RPrBase_vanish:
1914 case NS_ooxml::LN_EG_RPrBase_webHidden:
1917 case NS_ooxml::LN_EG_RPrBase_emboss:
1922 if(nIntValue != 128)
1924 if( nIntValue == 129)
1927 sal_Int16 nStyleValue = 0;
1928 uno::Any aStyleVal =
m_pImpl->GetPropertyFromParaStyleSheet(ePropertyId);
1931 nIntValue = NS_ooxml::LN_EG_RPrBase_smallCaps == nSprmId ?
1934 else if(aStyleVal.getValueTypeClass() == uno::TypeClass_FLOAT )
1936 double fDoubleValue = 0;
1938 aStyleVal >>= fDoubleValue;
1939 nIntValue = fDoubleValue > 100. ? 0 : 1;
1941 else if((aStyleVal >>= nStyleValue) ||
1944 nIntValue = NS_ooxml::LN_EG_RPrBase_smallCaps == nSprmId ?
1945 nStyleValue ? 0 : 4 :
1946 nStyleValue ? 0 : 1;
1950 OSL_FAIL(
"what type was it");
1956 case NS_ooxml::LN_EG_RPrBase_b:
1957 case NS_ooxml::LN_EG_RPrBase_bCs:
1959 uno::Any aBold(
uno::Any( nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL ) );
1961 rContext->Insert(ePropertyId, aBold );
1962 if( nSprmId != NS_ooxml::LN_EG_RPrBase_bCs )
1965 if (nSprmId == NS_ooxml::LN_EG_RPrBase_b)
1966 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"b", OUString::number(nIntValue));
1967 else if (nSprmId == NS_ooxml::LN_EG_RPrBase_bCs)
1968 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"bCs", OUString::number(nIntValue));
1971 case NS_ooxml::LN_EG_RPrBase_i:
1972 case NS_ooxml::LN_EG_RPrBase_iCs:
1974 uno::Any aPosture(
uno::Any( nIntValue ? awt::FontSlant_ITALIC : awt::FontSlant_NONE ) );
1975 rContext->Insert( ePropertyId, aPosture );
1976 if (nSprmId != NS_ooxml::LN_EG_RPrBase_iCs)
1978 if (nSprmId == NS_ooxml::LN_EG_RPrBase_i)
1979 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"i", OUString::number(nIntValue));
1982 case NS_ooxml::LN_EG_RPrBase_strike:
1986 const bool bOverwrite(nIntValue);
1987 rContext->Insert(ePropertyId,
uno::Any(eStrike), bOverwrite);
1990 case NS_ooxml::LN_EG_RPrBase_dstrike:
1994 const bool bOverwrite(nIntValue);
1995 rContext->Insert(ePropertyId,
uno::Any(eStrike), bOverwrite);
1998 case NS_ooxml::LN_EG_RPrBase_outline:
1999 case NS_ooxml::LN_EG_RPrBase_shadow:
2000 case NS_ooxml::LN_EG_RPrBase_vanish:
2001 case NS_ooxml::LN_EG_RPrBase_webHidden:
2002 rContext->Insert(ePropertyId,
uno::Any( nIntValue != 0 ));
2004 case NS_ooxml::LN_EG_RPrBase_smallCaps:
2006 if (nIntValue || !rContext->isSet(ePropertyId) )
2008 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"smallCaps", OUString::number(nIntValue));
2010 case NS_ooxml::LN_EG_RPrBase_caps:
2011 rContext->Insert(ePropertyId,
2013 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"caps", OUString::number(nIntValue));
2015 case NS_ooxml::LN_EG_RPrBase_emboss:
2016 rContext->Insert(ePropertyId,
2024 case NS_ooxml::LN_EG_RPrBase_sz:
2025 case NS_ooxml::LN_EG_RPrBase_szCs:
2028 double fVal = double(nIntValue) / 2.;
2030 if( NS_ooxml::LN_EG_RPrBase_szCs == nSprmId )
2037 if (aInfo.
nSprmId == NS_ooxml::LN_CT_Ruby_rt && aInfo.
nHps > 0 )
2039 fVal = double(aInfo.
nHps) / 2.;
2051 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag, (nSprmId == NS_ooxml::LN_EG_RPrBase_sz ? OUString(
"sz") : OUString(
"szCs")), OUString::number(nIntValue));
2054 case NS_ooxml::LN_EG_RPrBase_position:
2060 else if (!
m_pImpl->IsDocDefaultsImport())
2065 if (pCurrStyle && pCurrStyle->m_nStyleTypeCode ==
STYLE_TYPE_PARA && nIntValue < 0)
2088 case NS_ooxml::LN_EG_RPrBase_spacing:
2096 nResult =
static_cast<sal_Int16
>(nIntValue);
2099 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"spacing", OUString::number(nIntValue));
2102 case NS_ooxml::LN_EG_RPrBase_kern:
2105 case NS_ooxml::LN_EG_RPrBase_w:
2107 if ((1 <= nIntValue) && (nIntValue <= 600))
2118 case NS_ooxml::LN_EG_RPrBase_imprint:
2123 case NS_ooxml::LN_EG_RPrBase_effect:
2126 if (nIntValue != NS_ooxml::LN_Value_ST_TextEffect_none)
2131 case NS_ooxml::LN_EG_RPrBase_rtl:
2133 case NS_ooxml::LN_EG_RPrBase_shd:
2139 auto pCellColorHandler = std::make_shared<CellColorHandler>();
2141 pProperties->resolve(*pCellColorHandler);
2142 rContext->InsertProps(pCellColorHandler->getProperties().get());
2151 case NS_ooxml::LN_EG_SectPrContents_type:
2159 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
2164 if ( nIntValue != NS_ooxml::LN_Value_ST_SectionMark_continuous || pLastContext ||
m_pImpl->GetParaSectpr() )
2168 case NS_ooxml::LN_EG_SectPrContents_titlePg:
2170 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
2182 case NS_ooxml::LN_EG_SectPrContents_textDirection:
2184 sal_Int16 nDirection = text::WritingMode2::LR_TB;
2188 case NS_ooxml::LN_Value_ST_TextDirection_lrTb:
2189 case NS_ooxml::LN_Value_ST_TextDirection_lrTbV:
2190 nDirection = text::WritingMode2::LR_TB;
2192 case NS_ooxml::LN_Value_ST_TextDirection_tbRl:
2193 nDirection = text::WritingMode2::TB_RL;
2196 case NS_ooxml::LN_Value_ST_TextDirection_btLr:
2197 nDirection = text::WritingMode2::BT_LR;
2202 case NS_ooxml::LN_Value_ST_TextDirection_tbRlV:
2203 case NS_ooxml::LN_Value_ST_TextDirection_tbLrV:
2204 nDirection = text::WritingMode2::TB_LR;
2211 if (pSectionContext)
2213 pTargetContext = pSectionContext;
2220 case NS_ooxml::LN_CT_Tabs_tab:
2225 case NS_ooxml::LN_CT_PPrBase_tabs:
2235 if(aValue >>= aStyleTabStops)
2237 m_pImpl->InitTabStopFromStyle( aStyleTabStops );
2245 case NS_ooxml::LN_CT_DocDefaults_pPrDefault:
2246 case NS_ooxml::LN_CT_DocDefaults_rPrDefault:
2249 case NS_ooxml::LN_EG_RPrBase_bdr:
2254 auto pBorderHandler = std::make_shared<BorderHandler>(
true );
2255 pProperties->resolve(*pBorderHandler);
2274 table::ShadowFormat aFormat;
2277 aFormat = writerfilter::dmapper::PropertyMap::getShadowFromBorder(pBorderHandler->getBorderLine());
2282 case NS_ooxml::LN_EG_RPrBase_color:
2287 auto pThemeColorHandler = std::make_shared<ThemeColorHandler>();
2288 pProperties->resolve(*pThemeColorHandler);
2291 uno::Any aThemeColorTint(OUString::number(pThemeColorHandler->mnTint, 16));
2292 uno::Any aThemeColorShade(OUString::number(pThemeColorHandler->mnShade, 16));
2308 if (pThemeColorHandler->mnTint > 0 )
2310 sal_Int16 nTint = sal_Int16((255 - pThemeColorHandler->mnTint) * 10000 / 255);
2313 if (pThemeColorHandler->mnShade > 0)
2315 sal_Int16 nShade = sal_Int16((255 - pThemeColorHandler->mnShade) * 10000 / 255);
2326 if (pThemeColorHandler->mnIndex >= 0)
2329 if (pThemeColorHandler->mnTint > 0)
2332 if (pThemeColorHandler->mnShade > 0)
2336 if (pThemeColorHandler->mnIndex >= 0)
2338 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"themeColor", aThemeColorName.get<OUString>());
2339 if (pThemeColorHandler->mnTint > 0)
2340 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"themeTint", aThemeColorTint.get<OUString>());
2341 if (pThemeColorHandler->mnShade > 0)
2342 m_pImpl->appendGrabBag(
m_pImpl->m_aSubInteropGrabBag,
"themeShade", aThemeColorShade.get<OUString>());
2349 case NS_ooxml::LN_CT_PPr_sectPr:
2350 case NS_ooxml::LN_EG_RPrBase_rFonts:
2351 case NS_ooxml::LN_EG_RPrBase_eastAsianLayout:
2352 case NS_ooxml::LN_EG_RPrBase_u:
2353 case NS_ooxml::LN_EG_RPrBase_lang:
2354 case NS_ooxml::LN_CT_PPrBase_spacing:
2355 case NS_ooxml::LN_CT_PPrBase_ind:
2356 case NS_ooxml::LN_CT_RPrDefault_rPr:
2357 case NS_ooxml::LN_CT_PPrDefault_pPr:
2358 case NS_ooxml::LN_CT_Style_pPr:
2359 case NS_ooxml::LN_CT_Style_rPr:
2360 case NS_ooxml::LN_CT_PPr_rPr:
2361 case NS_ooxml::LN_CT_PPrBase_numPr:
2363 if (nSprmId == NS_ooxml::LN_CT_PPr_sectPr)
2366 if (nSprmId == NS_ooxml::LN_CT_PPrBase_spacing)
2368 else if (nSprmId == NS_ooxml::LN_EG_RPrBase_rFonts)
2370 else if (nSprmId == NS_ooxml::LN_EG_RPrBase_lang)
2372 else if (nSprmId == NS_ooxml::LN_CT_PPrBase_ind)
2376 case NS_ooxml::LN_CT_PPrBase_wordWrap:
2377 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"wordWrap",
"");
2379 case NS_ooxml::LN_EG_SectPrContents_footnotePr:
2380 case NS_ooxml::LN_EG_SectPrContents_endnotePr:
2381 m_pImpl->SetInFootnoteProperties( NS_ooxml::LN_EG_SectPrContents_footnotePr == nSprmId );
2384 case NS_ooxml::LN_EG_SectPrContents_lnNumType:
2388 m_pImpl->SetLineNumberSettings( aSettings );
2407 if( pSectionContext )
2408 pSectionContext->
SetdxaLnn(
static_cast<sal_Int32
>(283) );
2413 catch(
const uno::Exception& )
2419 case NS_ooxml::LN_CT_PPrBase_framePr:
2447 m_pImpl->m_bIsActualParagraphFramed =
true;
2457 case NS_ooxml::LN_EG_SectPrContents_pgSz:
2465 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
2480 case NS_ooxml::LN_EG_SectPrContents_pgMar:
2483 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
2497 case NS_ooxml::LN_EG_SectPrContents_cols:
2504 pProperties->resolve(*pSectHdl);
2505 if(pSectionContext && !
m_pImpl->isInIndexContext())
2507 sal_Int16 nColumnCount = pSectHdl->GetNum() == 1 ? 0 : pSectHdl->GetNum();
2508 if( pSectHdl->IsEqualWidth() )
2515 else if( !pSectHdl->GetColumns().empty() )
2519 nColumnCount = pSectHdl->GetColumns().size();
2520 pSectionContext->
SetColumnCount( nColumnCount == 1 ? 0 : nColumnCount );
2521 std::vector<Column_>::const_iterator tmpIter = pSectHdl->GetColumns().begin();
2522 for (; tmpIter != pSectHdl->GetColumns().
end(); ++tmpIter)
2525 if ((tmpIter != pSectHdl->GetColumns().end() - 1) || (tmpIter->nSpace > 0))
2530 else if( nColumnCount )
2538 else if ( pSectionContext )
2546 if (xTextColumns.is())
2557 case NS_ooxml::LN_EG_SectPrContents_docGrid:
2560 case NS_ooxml::LN_EG_SectPrContents_pgBorders:
2563 if( pProperties && pSectionContext )
2566 pProperties->resolve( *pHandler );
2569 pHandler->SetBorders( pSectionContext );
2574 case NS_ooxml::LN_CT_PPrBase_snapToGrid:
2581 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"snapToGrid", OUString::number(nIntValue));
2584 case NS_ooxml::LN_CT_PPrBase_pStyle:
2587 const OUString sConvertedStyleName = pStyleTable->ConvertStyleName( sStringValue,
true );
2588 m_pImpl->SetCurrentParaStyleName( sConvertedStyleName );
2593 case NS_ooxml::LN_EG_RPrBase_rStyle:
2595 OUString sConvertedName(
m_pImpl->GetStyleSheetTable()->ConvertStyleName( sStringValue,
true ) );
2596 if (
m_pImpl->CheckFootnoteStyle() &&
m_pImpl->GetFootnoteContext())
2597 m_pImpl->SetHasFootnoteStyle(
m_pImpl->GetFootnoteContext()->GetFootnoteStyle() == sConvertedName);
2601 bool bExists = pEntry && ( pEntry->m_nStyleTypeCode ==
STYLE_TYPE_CHAR );
2608 case NS_ooxml::LN_CT_TblPrBase_tblCellMar:
2613 case NS_ooxml::LN_CT_TblCellMar_top:
2614 case NS_ooxml::LN_CT_TblCellMar_start:
2615 case NS_ooxml::LN_CT_TblCellMar_left:
2616 case NS_ooxml::LN_CT_TblCellMar_bottom:
2617 case NS_ooxml::LN_CT_TblCellMar_end:
2618 case NS_ooxml::LN_CT_TblCellMar_right:
2624 pProperties->resolve(*pMeasureHandler);
2625 sal_Int32 nMeasureValue = pMeasureHandler->getMeasureValue();
2630 case NS_ooxml::LN_CT_TblCellMar_top:
2632 case NS_ooxml::LN_CT_TblCellMar_start:
2635 case NS_ooxml::LN_CT_TblCellMar_left:
2638 case NS_ooxml::LN_CT_TblCellMar_bottom:
2641 case NS_ooxml::LN_CT_TblCellMar_end:
2644 case NS_ooxml::LN_CT_TblCellMar_right:
2649 rContext->Insert( eId,
uno::Any(nMeasureValue),
false);
2653 case NS_ooxml::LN_EG_RPrBase_noProof:
2655 case NS_ooxml::LN_anchor_anchor:
2656 case NS_ooxml::LN_inline_inline:
2658 if (
m_pImpl->IsDiscardHeaderFooter() )
2662 && nSprmId == NS_ooxml::LN_inline_inline && !
m_pImpl->IsInShape())
2664 if (
m_pImpl->GetIsFirstParagraphInSection() || !
m_pImpl->IsFirstRun())
2666 m_pImpl->m_bIsSplitPara =
true;
2681 m_pImpl->m_eGraphicImportType =
2682 (NS_ooxml::LN_anchor_anchor ==
2683 sal::static_int_cast<Id>(nSprmId)) ?
2687 pProperties->resolve(*pGraphicImport);
2688 m_pImpl->ImportGraphic(pProperties);
2689 if( !pGraphicImport->IsGraphic() )
2691 m_pImpl->ResetGraphicImport();
2697 case NS_ooxml::LN_EG_RPrBase_vertAlign:
2699 sal_Int16 nEscapement = 0;
2701 if ( sStringValue ==
"superscript" )
2703 else if ( sStringValue ==
"subscript" )
2712 case NS_ooxml::LN_CT_FtnProps_pos:
2717 case NS_ooxml::LN_CT_FtnProps_numFmt:
2718 case NS_ooxml::LN_CT_EdnProps_numFmt:
2723 pProperties->resolve(*
this);
2727 case NS_ooxml::LN_EG_FtnEdnNumProps_numStart:
2728 case NS_ooxml::LN_EG_FtnEdnNumProps_numRestart:
2733 if(
m_pImpl->IsInFootnoteProperties() )
2736 if (xFootnotesSupplier.is())
2737 xFtnEdnSettings = xFootnotesSupplier->getFootnoteSettings();
2742 if (xEndnotesSupplier.is())
2743 xFtnEdnSettings = xEndnotesSupplier->getEndnoteSettings();
2745 if( NS_ooxml::LN_EG_FtnEdnNumProps_numStart == nSprmId && xFtnEdnSettings.is())
2747 xFtnEdnSettings->setPropertyValue(
2749 uno::Any( sal_Int16( nIntValue - 1 )));
2751 else if( NS_ooxml::LN_EG_FtnEdnNumProps_numRestart == nSprmId && xFtnEdnSettings.is())
2753 sal_Int16 nFootnoteCounting = 0;
2756 case NS_ooxml::LN_Value_ST_RestartNumber_continuous: nFootnoteCounting = text::FootnoteNumbering::PER_DOCUMENT;
break;
2757 case NS_ooxml::LN_Value_ST_RestartNumber_eachPage: nFootnoteCounting = text::FootnoteNumbering::PER_PAGE;
break;
2758 case NS_ooxml::LN_Value_ST_RestartNumber_eachSect: nFootnoteCounting = text::FootnoteNumbering::PER_CHAPTER;
break;
2761 xFtnEdnSettings->setPropertyValue(
2765 else if (xFtnEdnSettings.is())
2768 xFtnEdnSettings->setPropertyValue(
2773 catch(
const uno::Exception& )
2778 case NS_ooxml::LN_EG_RangeMarkupElements_moveFromRangeStart:
2779 m_pImpl->SetMoveBookmark(
true);
2780 if (
m_pImpl->hasTableManager())
2783 case NS_ooxml::LN_EG_RangeMarkupElements_moveToRangeStart:
2784 m_pImpl->SetMoveBookmark(
false);
2785 if (
m_pImpl->hasTableManager())
2788 case NS_ooxml::LN_EG_RangeMarkupElements_moveFromRangeEnd:
2789 case NS_ooxml::LN_EG_RangeMarkupElements_moveToRangeEnd:
2790 if (
m_pImpl->hasTableManager())
2791 m_pImpl->getTableManager().setMoved( OUString() );
2793 case NS_ooxml::LN_CT_ParaRPr_moveFrom:
2794 case NS_ooxml::LN_CT_ParaRPr_moveTo:
2795 m_pImpl->StartParaMarkerMove( );
2797 case NS_ooxml::LN_paratrackchange:
2798 m_pImpl->StartParaMarkerChange( );
2800 case NS_ooxml::LN_CT_PPr_pPrChange:
2801 case NS_ooxml::LN_CT_ParaRPr_rPrChange:
2802 case NS_ooxml::LN_trackchange:
2803 case NS_ooxml::LN_EG_RPrContent_rPrChange:
2804 case NS_ooxml::LN_EG_RangeMarkupElements_customXmlDelRangeStart:
2805 case NS_ooxml::LN_EG_RangeMarkupElements_customXmlDelRangeEnd:
2806 case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveFromRangeStart:
2807 case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveFromRangeEnd:
2808 case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveToRangeStart:
2809 case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveToRangeEnd:
2814 case NS_ooxml::LN_endtrackchange:
2817 case NS_ooxml::LN_CT_RPrChange_rPr:
2834 m_pImpl->SetCurrentRedlineRevertProperties( currentRedlineRevertProperties );
2837 case NS_ooxml::LN_CT_PPrChange_pPr:
2854 m_pImpl->SetCurrentRedlineRevertProperties( currentRedlineRevertProperties );
2857 case NS_ooxml::LN_object:
2862 auto pOLEHandler = std::make_shared<OLEHandler>(*
this);
2863 pProperties->resolve(*pOLEHandler);
2864 if ( pOLEHandler->isOLEObject( ) )
2866 OUString sStreamName = pOLEHandler->copyOLEOStream(
m_pImpl->GetTextDocument() );
2867 if( !sStreamName.isEmpty() )
2869 m_pImpl->appendOLE( sStreamName, pOLEHandler );
2875 case NS_ooxml::LN_EG_HdrFtrReferences_headerReference:
2876 case NS_ooxml::LN_EG_HdrFtrReferences_footerReference:
2878 case NS_ooxml::LN_EG_RPrBase_snapToGrid:
2880 case NS_ooxml::LN_CT_PPrBase_contextualSpacing:
2883 case NS_ooxml::LN_CT_PPrBase_mirrorIndents:
2886 case NS_ooxml::LN_EG_SectPrContents_formProt:
2888 if( pSectionContext )
2892 case NS_ooxml::LN_EG_SectPrContents_vAlign:
2894 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
2895 if( pSectionContext )
2897 drawing::TextVerticalAdjust nVA = drawing::TextVerticalAdjust_TOP;
2900 case NS_ooxml::LN_Value_ST_VerticalJc_center:
2901 nVA = drawing::TextVerticalAdjust_CENTER;
2903 case NS_ooxml::LN_Value_ST_VerticalJc_both:
2904 nVA = drawing::TextVerticalAdjust_BLOCK;
2906 case NS_ooxml::LN_Value_ST_VerticalJc_bottom:
2907 nVA = drawing::TextVerticalAdjust_BOTTOM;
2916 case NS_ooxml::LN_EG_RPrBase_fitText:
2918 case NS_ooxml::LN_ffdata:
2925 pProperties->resolve(*pFFDataHandler);
2926 m_pImpl->SetFieldFFData(pFFDataHandler);
2930 case NS_ooxml::LN_CT_SdtPr_comboBox:
2935 pProperties->resolve(*
this);
2938 case NS_ooxml::LN_CT_SdtPr_dropDownList:
2943 pProperties->resolve(*
this);
2946 case NS_ooxml::LN_CT_SdtDropDownList_listItem:
2950 size_t nDropDownDisplayTexts =
m_pImpl->m_pSdtHelper->getDropDownDisplayTexts().size();
2951 size_t nDropDownItems =
m_pImpl->m_pSdtHelper->getDropDownItems().size();
2954 pProperties->resolve(*
this);
2956 if (
m_pImpl->m_pSdtHelper->getDropDownDisplayTexts().size() != nDropDownDisplayTexts + 1)
2959 m_pImpl->m_pSdtHelper->getDropDownDisplayTexts().push_back(OUString());
2961 if (
m_pImpl->m_pSdtHelper->getDropDownItems().size() != nDropDownItems + 1)
2964 m_pImpl->m_pSdtHelper->getDropDownItems().push_back(OUString());
2968 case NS_ooxml::LN_CT_SdtPr_placeholder:
2972 pProperties->resolve(*
this);
2976 case NS_ooxml::LN_CT_SdtPr_date:
2983 case NS_ooxml::LN_CT_SdtDate_dateFormat:
2985 m_pImpl->m_pSdtHelper->getDateFormat().append(sStringValue);
2988 case NS_ooxml::LN_CT_SdtDate_storeMappedDataAs:
2992 case NS_ooxml::LN_CT_SdtDate_calendar:
2996 case NS_ooxml::LN_CT_SdtDate_lid:
2998 m_pImpl->m_pSdtHelper->getLocale().append(sStringValue);
3001 case NS_ooxml::LN_CT_SdtPr_text:
3004 if (
m_pImpl->m_pSdtHelper->GetSdtType() == NS_ooxml::LN_CT_SdtRun_sdtContent)
3006 m_pImpl->m_pSdtHelper->getInteropGrabBagAndClear();
3012 pProperties->resolve(*
this);
3014 m_pImpl->disableInteropGrabBag();
3017 case NS_ooxml::LN_CT_SdtPr_dataBinding:
3018 case NS_ooxml::LN_CT_SdtPr_equation:
3019 case NS_ooxml::LN_CT_SdtPr_checkbox:
3020 case NS_ooxml::LN_CT_SdtPr_docPartObj:
3021 case NS_ooxml::LN_CT_SdtPr_docPartList:
3022 case NS_ooxml::LN_CT_SdtPr_picture:
3023 case NS_ooxml::LN_CT_SdtPr_citation:
3024 case NS_ooxml::LN_CT_SdtPr_group:
3025 case NS_ooxml::LN_CT_SdtPr_id:
3026 case NS_ooxml::LN_CT_SdtPr_alias:
3027 case NS_ooxml::LN_CT_SdtPlaceholder_docPart:
3028 case NS_ooxml::LN_CT_SdtPr_showingPlcHdr:
3029 case NS_ooxml::LN_CT_SdtPr_color:
3030 case NS_ooxml::LN_CT_SdtPr_appearance:
3031 case NS_ooxml::LN_CT_SdtPr_tag:
3032 case NS_ooxml::LN_CT_SdtPr_tabIndex:
3033 case NS_ooxml::LN_CT_SdtPr_lock:
3035 if (!
m_pImpl->GetSdtStarts().empty())
3037 if (nSprmId == NS_ooxml::LN_CT_SdtPr_showingPlcHdr)
3040 m_pImpl->m_pSdtHelper->SetShowingPlcHdr();
3043 if (nSprmId == NS_ooxml::LN_CT_SdtPr_color)
3048 pProperties->resolve(*
this);
3053 if (nSprmId == NS_ooxml::LN_CT_SdtPr_appearance)
3058 pProperties->resolve(*
this);
3063 if (nSprmId == NS_ooxml::LN_CT_SdtPr_alias)
3065 m_pImpl->m_pSdtHelper->SetAlias(sStringValue);
3069 if (nSprmId == NS_ooxml::LN_CT_SdtPr_tag)
3071 m_pImpl->m_pSdtHelper->SetTag(sStringValue);
3075 if (nSprmId == NS_ooxml::LN_CT_SdtPr_id)
3077 m_pImpl->m_pSdtHelper->SetId(nIntValue);
3081 if (nSprmId == NS_ooxml::LN_CT_SdtPr_tabIndex)
3083 m_pImpl->m_pSdtHelper->SetTabIndex(nIntValue);
3087 if (nSprmId == NS_ooxml::LN_CT_SdtPr_lock)
3089 m_pImpl->m_pSdtHelper->SetLock(sStringValue);
3093 if (nSprmId == NS_ooxml::LN_CT_SdtPr_checkbox)
3099 pProperties->resolve(*
this);
3103 else if (nSprmId == NS_ooxml::LN_CT_SdtPr_picture)
3109 pProperties->resolve(*
this);
3113 else if (nSprmId == NS_ooxml::LN_CT_SdtPr_date)
3119 pProperties->resolve(*
this);
3129 case NS_ooxml::LN_CT_SdtPr_dataBinding:
sName =
"ooxml:CT_SdtPr_dataBinding";
break;
3130 case NS_ooxml::LN_CT_SdtPr_equation:
sName =
"ooxml:CT_SdtPr_equation";
break;
3131 case NS_ooxml::LN_CT_SdtPr_checkbox:
sName =
"ooxml:CT_SdtPr_checkbox";
break;
3132 case NS_ooxml::LN_CT_SdtPr_docPartObj:
sName =
"ooxml:CT_SdtPr_docPartObj";
break;
3133 case NS_ooxml::LN_CT_SdtPr_docPartList:
sName =
"ooxml:CT_SdtPr_docPartList";
break;
3134 case NS_ooxml::LN_CT_SdtPr_picture:
sName =
"ooxml:CT_SdtPr_picture";
break;
3135 case NS_ooxml::LN_CT_SdtPr_citation:
sName =
"ooxml:CT_SdtPr_citation";
break;
3136 case NS_ooxml::LN_CT_SdtPr_group:
sName =
"ooxml:CT_SdtPr_group";
break;
3137 case NS_ooxml::LN_CT_SdtPr_id:
sName =
"ooxml:CT_SdtPr_id";
break;
3138 case NS_ooxml::LN_CT_SdtPr_alias:
sName =
"ooxml:CT_SdtPr_alias";
break;
3139 case NS_ooxml::LN_CT_SdtPr_tag:
sName =
"ooxml:CT_SdtPr_tag";
break;
3140 case NS_ooxml::LN_CT_SdtPr_tabIndex:
sName =
"ooxml:CT_SdtPr_tabIndex";
break;
3141 case NS_ooxml::LN_CT_SdtPr_lock:
sName =
"ooxml:CT_SdtPr_lock";
break;
3142 case NS_ooxml::LN_CT_SdtPlaceholder_docPart:
sName =
"ooxml:CT_SdtPlaceholder_docPart";
break;
3143 case NS_ooxml::LN_CT_SdtPr_showingPlcHdr:
sName =
"ooxml:CT_SdtPr_showingPlcHdr";
break;
3144 case NS_ooxml::LN_CT_SdtPr_color:
sName =
"ooxml:CT_SdtPr_color";
break;
3145 case NS_ooxml::LN_CT_SdtPr_appearance:
sName =
"ooxml:CT_SdtPr_appearance";
break;
3146 default: assert(
false);
3149 nSprmId == NS_ooxml::LN_CT_SdtPr_checkbox ||
3150 nSprmId == NS_ooxml::LN_CT_SdtPr_docPartObj ||
3151 nSprmId == NS_ooxml::LN_CT_SdtPr_docPartList ||
3152 nSprmId == NS_ooxml::LN_CT_SdtPr_picture ||
3153 nSprmId == NS_ooxml::LN_CT_SdtPr_citation)
3162 pProperties->resolve(*
this);
3164 if (nSprmId == NS_ooxml::LN_CT_SdtPr_alias || nSprmId == NS_ooxml::LN_CT_SdtPr_tag
3165 || nSprmId == NS_ooxml::LN_CT_SdtPr_lock)
3168 beans::PropertyValue aValue;
3169 aValue.Name =
sName;
3170 aValue.Value <<= sStringValue;
3171 m_pImpl->m_pSdtHelper->appendToInteropGrabBag(aValue);
3173 else if (nSprmId == NS_ooxml::LN_CT_SdtPr_showingPlcHdr)
3176 beans::PropertyValue aValue;
3177 aValue.Name =
sName;
3178 aValue.Value <<= bool(nIntValue);
3179 m_pImpl->m_pSdtHelper->appendToInteropGrabBag(aValue);
3181 else if (nSprmId == NS_ooxml::LN_CT_SdtPr_id || nSprmId == NS_ooxml::LN_CT_SdtPr_tabIndex)
3184 beans::PropertyValue aValue;
3185 aValue.Name =
sName;
3186 aValue.Value <<= nIntValue;
3187 m_pImpl->m_pSdtHelper->appendToInteropGrabBag(aValue);
3191 m_pImpl->m_pSdtHelper->setOutsideAParagraph(
m_pImpl->IsOutsideAParagraph());
3192 m_pImpl->disableInteropGrabBag();
3195 case NS_ooxml::LN_CT_SdtCheckbox_checked:
3196 if (!
m_pImpl->GetSdtStarts().empty())
3199 if (nIntValue == NS_ooxml::LN_ST_OnOff_true || nIntValue == NS_ooxml::LN_ST_OnOff_1)
3201 m_pImpl->m_pSdtHelper->SetChecked();
3206 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtCheckbox_checked",
3210 case NS_ooxml::LN_CT_SdtCheckbox_checkedState:
3211 if (!
m_pImpl->GetSdtStarts().empty())
3213 m_pImpl->m_pSdtHelper->SetCheckedState(OUString(
sal_Unicode(sStringValue.toInt32(16))));
3217 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtCheckbox_checkedState",
3221 case NS_ooxml::LN_CT_SdtCheckbox_uncheckedState:
3222 if (!
m_pImpl->GetSdtStarts().empty())
3224 m_pImpl->m_pSdtHelper->SetUncheckedState(
3230 "ooxml:CT_SdtCheckbox_uncheckedState", sStringValue);
3233 case NS_ooxml::LN_CT_SdtDocPart_docPartGallery:
3234 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtDocPart_docPartGallery", sStringValue);
3236 case NS_ooxml::LN_CT_SdtDocPart_docPartCategory:
3237 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtDocPart_docPartCategory", sStringValue);
3239 case NS_ooxml::LN_CT_SdtDocPart_docPartUnique:
3240 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"ooxml:CT_SdtDocPart_docPartUnique", sStringValue);
3242 case NS_ooxml::LN_EG_SectPrContents_pgNumType:
3247 pProperties->resolve(*
this);
3251 case NS_ooxml::LN_tblStart:
3253 if (
m_pImpl->hasTableManager())
3255 bool bTableStartsAtCellStart =
m_pImpl->m_nTableDepth > 0 &&
m_pImpl->m_nTableCellDepth >
m_pImpl->m_nLastTableCellParagraphDepth + 1;
3256 m_pImpl->getTableManager().setTableStartsAtCellStart(bTableStartsAtCellStart);
3264 if(
m_pImpl->m_nTableDepth == 0 &&
m_pImpl->GetIsFirstParagraphInSection()
3265 && !
m_pImpl->GetIsDummyParaAddedForTableInSection() && !
m_pImpl->GetIsTextFrameInserted()
3268 m_pImpl->AddDummyParaForTableInSection();
3272 if(
m_pImpl->m_nTableDepth == 0 )
3274 const uno::Any aBreakType(style::BreakType_PAGE_BEFORE);
3279 OUString sStyleName;
3284 if( pStyle && pStyle->m_pProperties
3286 && pStyle->m_pProperties->getProperty(
PROP_BREAK_TYPE)->second == aBreakType )
3296 case NS_ooxml::LN_tblEnd:
3299 case NS_ooxml::LN_tcStart:
3302 case NS_ooxml::LN_tcEnd:
3304 m_pImpl->m_nLastTableCellParagraphDepth = 0;
3306 case NS_ooxml::LN_glow_glow:
3307 case NS_ooxml::LN_shadow_shadow:
3308 case NS_ooxml::LN_reflection_reflection:
3309 case NS_ooxml::LN_textOutline_textOutline:
3310 case NS_ooxml::LN_textFill_textFill:
3311 case NS_ooxml::LN_scene3d_scene3d:
3312 case NS_ooxml::LN_props3d_props3d:
3313 case NS_ooxml::LN_ligatures_ligatures:
3314 case NS_ooxml::LN_numForm_numForm:
3315 case NS_ooxml::LN_numSpacing_numSpacing:
3316 case NS_ooxml::LN_stylisticSets_stylisticSets:
3317 case NS_ooxml::LN_cntxtAlts_cntxtAlts:
3320 std::optional<PropertyIds> aPropertyId = pTextEffectsHandlerPtr->getGrabBagPropertyId();
3326 pProperties->resolve(*pTextEffectsHandlerPtr);
3328 beans::PropertyValue aGrabBag = pTextEffectsHandlerPtr->getInteropGrabBag();
3332 if (nTransparency != 0)
3337 else if (nSprmId == NS_ooxml::LN_cntxtAlts_cntxtAlts)
3339 pTextEffectsHandlerPtr->lcl_sprm(rSprm);
3340 beans::PropertyValue aGrabBag = pTextEffectsHandlerPtr->getInteropGrabBag();
3346 case NS_ooxml::LN_CT_SdtPr_rPr:
3349 m_pImpl->m_pSdtHelper->getInteropGrabBagAndClear();
3352 case NS_ooxml::LN_CT_TblPrBase_tblLook:
3357 pProperties->resolve(*
this);
3358 m_pImpl->getTableManager().finishTableLook();
3362 case NS_ooxml::LN_CT_TrPrBase_cnfStyle:
3364 m_pImpl->enableInteropGrabBag(
"cnfStyle");
3369 m_pImpl->getTableManager().insertRowProps(pPropMap);
3371 m_pImpl->disableInteropGrabBag();
3374 case NS_ooxml::LN_CT_TcPrBase_cnfStyle:
3376 m_pImpl->enableInteropGrabBag(
"cnfStyle");
3381 m_pImpl->getTableManager().cellProps(pPropMap);
3383 m_pImpl->disableInteropGrabBag();
3386 case NS_ooxml::LN_CT_PPrBase_cnfStyle:
3388 m_pImpl->enableInteropGrabBag(
"cnfStyle");
3391 m_pImpl->disableInteropGrabBag();
3394 case NS_ooxml::LN_EG_RunInnerContent_sym:
3399 auto xFootnote = rContext->GetFootnote();
3400 if (!xFootnote.is() &&
m_pImpl->IsInCustomFootnote())
3401 xFootnote =
m_pImpl->GetFootnoteContext()->GetFootnote();
3406 if (!
m_pImpl->IsInFootOrEndnote())
3408 auto xAnchorRange = xFootnote->getAnchor();
3409 auto xAnchorCursor(xAnchorRange->getText()->createTextCursorByRange(xAnchorRange));
3414 xAnchorCursor->collapseToEnd();
3416 xHackRange->setString(
"x");
3425 xHackRange->setString(
"");
3427 OUString sLabel = xFootnote->getLabel() + OUStringChar(aSymbolData.
cSymbol);
3428 xFootnote->setLabel(sLabel);
3441 case NS_ooxml::LN_EG_RunInnerContent_ruby:
3447 case NS_ooxml::LN_CT_RubyPr:
3448 case NS_ooxml::LN_CT_Ruby_rt:
3449 case NS_ooxml::LN_CT_Ruby_rubyBase:
3451 m_pImpl->SetRubySprmId(nSprmId);
3452 if (nSprmId == NS_ooxml::LN_CT_RubyPr)
3458 case NS_ooxml::LN_EG_RubyContent_r:
3461 if (aInfo.
nSprmId == NS_ooxml::LN_CT_Ruby_rubyBase)
3466 if ( aInfo.
nRubyAlign == NS_ooxml::LN_Value_ST_RubyAlign_rightVertical )
3473 case NS_ooxml::LN_CT_RubyPr_rubyAlign:
3474 case NS_ooxml::LN_CT_RubyPr_hps:
3475 case NS_ooxml::LN_CT_RubyPr_hpsBaseText:
3480 case NS_ooxml::LN_CT_RubyPr_rubyAlign:
3483 case NS_ooxml::LN_CT_RubyPr_hps:
3484 aInfo.
nHps= nIntValue;
3486 case NS_ooxml::LN_CT_RubyPr_hpsBaseText:
3493 case NS_ooxml::LN_CT_SmartTagRun_smartTagPr:
3497 pProperties->resolve(
m_pImpl->getSmartTagHandler());
3500 case NS_ooxml::LN_CT_DocPartPr_name:
3504 pProperties->resolve(*
this);
3507 case NS_ooxml::LN_CT_DocPartPr_category:
3511 pProperties->resolve(*
this);
3514 case NS_ooxml::LN_CT_DocPartCategory_gallery:
3518 pProperties->resolve(*
this);
3521 case NS_ooxml::LN_EG_RunInnerContent_instrText:
3523 m_pImpl->SetIsTextDeleted(
false);
3526 case NS_ooxml::LN_EG_RunInnerContent_delText:
3527 case NS_ooxml::LN_EG_RunInnerContent_delInstrText:
3529 m_pImpl->SetIsTextDeleted(
true);
3547 m_pImpl->processDeferredCharacterProperties(
false);
3551 const std::map<sal_Int32, uno::Any>& deferredCharacterProperties,
bool bCharContext)
3558 for(
const auto& rProp : deferredCharacterProperties )
3560 sal_Int32
Id = rProp.first;
3561 sal_Int32 nIntValue = 0;
3562 OUString sStringValue;
3563 rProp.second >>= nIntValue;
3564 rProp.second >>= sStringValue;
3567 case NS_ooxml::LN_EG_RPrBase_position:
3569 double nEscapement = 0;
3574 double fFontSize = 0;
3578 nEscapement =
round( nIntValue/2.0 / fFontSize * 100 );
3592 SAL_WARN(
"writerfilter",
"Unhandled property in processDeferredCharacterProperty()" );
3600 ref->resolve(*
this);
3609 if (!
m_pImpl->isInIndexContext() && !
m_pImpl->isInBibliographyContext())
3613 m_pImpl->SetIsFirstParagraphInSection(
true);
3614 m_pImpl->SetIsFirstParagraphInSectionAfterRedline(
true);
3619 if (
m_pImpl->isInIndexContext() ||
m_pImpl->isInBibliographyContext())
3622 m_pImpl->CheckUnregisteredFrameConversion();
3623 m_pImpl->ExecuteFrameConversion();
3625 if (
m_pImpl->GetIsFirstParagraphInSection() &&
m_pImpl->IsNewDoc())
3639 OSL_ENSURE(pSectionContext,
"SectionContext unavailable!");
3646 if (
m_pImpl->GetIsDummyParaAddedForTableInSection() && (
m_pImpl->GetAnnotationId() < 0))
3647 m_pImpl->RemoveDummyParaForTableInSection();
3649 m_pImpl->SetIsTextFrameInserted(
false );
3655 if (
m_pImpl->hasTableManager())
3656 m_pImpl->getTableManager().startParagraphGroup();
3672 const OUString& sDefaultParaStyle =
m_pImpl->GetDefaultParaStyleName();
3675 m_pImpl->SetCurrentParaStyleName( sDefaultParaStyle );
3698 m_pImpl->clearDeferredBreaks();
3703 m_pImpl->setParaSdtEndDeferred(
false);
3706 m_pImpl->SetIsOutsideAParagraph(
false);
3713 if (
m_pImpl->GetIsLastParagraphInSection())
3724 if (
m_pImpl->hasTableManager())
3725 m_pImpl->getTableManager().endParagraphGroup();
3727 m_pImpl->ExecuteFrameConversion();
3728 m_pImpl->SetIsOutsideAParagraph(
true);
3733 m_pImpl->SetIsLastParagraphInSection(
true );
3738 m_pImpl->SetIsLastSectionGroup(
true );
3743 assert(xShape.is());
3745 m_pImpl->AttachTextBoxContentToShape(xShape);
3756 m_pImpl->m_bIsSplitPara =
true;
3761 m_pImpl->SetIsBreakDeferredByAnchor();
3764 m_pImpl->PushShapeContext( xShape );
3771 m_pImpl->PushPendingShape(xShape);
3774 m_pImpl->SetIsFirstParagraphInShape(
true);
3780 if (!
m_pImpl->GetTopContext())
3787 if (
m_pImpl->hasTableManager())
3788 m_pImpl->getTableManager().endTable();
3793 m_pImpl->SetIsOutsideAParagraph(
false);
3798 m_pImpl->PushTextBoxContent();
3808 m_pImpl->PushStyleProperties( pStyleProperties );
3809 if ( bAffectTableMngr )
3810 m_pImpl->getTableManager( ).SetStyleProperties( pStyleProperties );
3816 if ( bAffectTableMngr )
3819 m_pImpl->getTableManager( ).SetStyleProperties( emptyPtr );
3825 m_pImpl->PushListProperties( pListProperties );
3836 if (
m_pImpl->isSdtEndDeferred())
3846 if (
m_pImpl->CheckFootnoteStyle())
3849 m_pImpl->SetHasFootnoteStyle(
false);
3857 OUString sText(
reinterpret_cast<const char*
>(data_), len, RTL_TEXTENCODING_MS_1252 );
3877 if (!
m_pImpl->IsInFootOrEndnote())
3880 m_pImpl->SetIsDummyParaAddedForTableInSectionPage(
false);
3887 if (
m_pImpl->GetIsLastParagraphInSection())
3894 m_pImpl->getTableManager().text(data_, len);
3929 m_pImpl->appendTextPortion(
"\n", pContext);
3938 m_pImpl->clearDeferredBreaks();
3941 if (pContext && pContext->GetFootnote().
is() &&
m_pImpl->IsInCustomFootnote())
3943 pContext->GetFootnote()->setLabel(sText);
3947 else if (
m_pImpl->IsOpenFieldCommand() && !
m_pImpl->IsForceGenericFields())
3949 m_pImpl->AppendFieldCommand(sText);
3951 else if(
m_pImpl->IsOpenField() &&
m_pImpl->IsFieldResultAsString())
3954 m_pImpl->AppendFieldResult(sText);
3957 if (pContext ==
nullptr)
3962 m_pImpl->HandleLineBreak(pContext);
3966 m_pImpl->appendTextPortion(sText, pContext);
3970 catch(
const uno::RuntimeException& )
3979 m_pImpl->m_aPositionOffsets.second = rText;
3981 m_pImpl->m_aPositionOffsets.first = rText;
3995 m_pImpl->m_aAligns.second = rText;
3997 m_pImpl->m_aAligns.first = rText;
4002 m_pImpl->m_aPositivePercentages.push(rText);
4011 if (
m_pImpl->GetFootnoteCount() == -1 &&
m_pImpl->m_aFootnoteIds.size() == 2)
4012 m_pImpl->m_aFootnoteIds.pop_front();
4018 if (
m_pImpl->GetEndnoteCount() == -1 &&
m_pImpl->m_aEndnoteIds.size() == 2)
4019 m_pImpl->m_aEndnoteIds.pop_front();
4028 OUString sText(
reinterpret_cast<const sal_Unicode *
>(data_), len);
4030 if (aInfo.
nSprmId == NS_ooxml::LN_CT_Ruby_rt)
4033 PropertyValueVector_t aProps = comphelper::sequenceToContainer< PropertyValueVector_t >(pContext->GetPropertyValues());
4035 m_pImpl->SetRubyText(sText,sStyle);
4042 if (sText[0] == 0x5)
4046 if (
m_pImpl->GetFootnoteCount() > -1)
4049 m_pImpl->PushFootOrEndnote(
true);
4051 m_pImpl->IncrementFootnoteCount();
4055 if (
m_pImpl->GetEndnoteCount() > -1)
4058 m_pImpl->PushFootOrEndnote(
false);
4060 m_pImpl->IncrementEndnoteCount();
4076 if (sText[0] == 0x2)
4082 if (
m_pImpl->IsInCustomFootnote())
4084 if (sText[0] != 0xd && sText[0] != 0x3)
4088 if (!
m_pImpl->IsInFootOrEndnote())
4092 auto xFootnote = pFootnoteContext->GetFootnote();
4093 xFootnote->setLabel(xFootnote->getLabel() + sText);
4099 m_pImpl->SetHasFootnoteStyle(
true);
4103 if (
m_pImpl->isSdtEndDeferred())
4109 pContext =
m_pImpl->GetTopFieldContext()->getProperties();
4111 m_pImpl->setSdtEndDeferred(
false);
4114 bool bNewLine = len == 1 && (sText[0] == 0x0d || sText[0] == 0x07);
4115 if (
m_pImpl->GetSdtStarts().empty()
4122 m_pImpl->m_pSdtHelper->createDropDownControl();
4125 m_pImpl->m_pSdtHelper->getSdtTexts().append(sText);
4133 m_pImpl->m_pSdtHelper->getDateFormat().truncate();
4134 m_pImpl->m_pSdtHelper->getLocale().truncate();
4140 m_pImpl->m_pSdtHelper->getSdtTexts().append(sText);
4143 m_pImpl->m_pSdtHelper->createPlainTextControl();
4148 else if (!
m_pImpl->m_pSdtHelper->isInteropGrabBagEmpty())
4152 if (
m_pImpl->IsDiscardHeaderFooter())
4155 m_pImpl->m_pSdtHelper->getInteropGrabBagAndClear();
4158 if((
m_pImpl->m_pSdtHelper->containedInInteropGrabBag(
"ooxml:CT_SdtPr_checkbox") ||
4159 m_pImpl->m_pSdtHelper->containedInInteropGrabBag(
"ooxml:CT_SdtPr_text") ||
4160 m_pImpl->m_pSdtHelper->containedInInteropGrabBag(
"ooxml:CT_SdtPr_dataBinding") ||
4161 m_pImpl->m_pSdtHelper->containedInInteropGrabBag(
"ooxml:CT_SdtPr_citation") ||
4162 (
m_pImpl->m_pSdtHelper->containedInInteropGrabBag(
"ooxml:CT_SdtPr_id") &&
4163 m_pImpl->m_pSdtHelper->getInteropGrabBagSize() == 1)) && !
m_pImpl->m_pSdtHelper->isOutsideAParagraph())
4169 pContext =
m_pImpl->GetTopFieldContext()->getProperties();
4172 if (
m_pImpl->GetSdtStarts().empty()
4182 if (
m_pImpl->GetSdtStarts().empty()
4192 else if (len == 1 && sText[0] == 0x03)
4198 else if (len == 1 && sText[0] ==
'\r')
4210 else if (len == 1 && sText[0] ==
'\t' )
4212 if (
m_pImpl->m_bCheckFirstFootnoteTab &&
m_pImpl->IsInFootOrEndnote() )
4215 m_pImpl->m_bCheckFirstFootnoteTab =
false;
4216 sal_Int32 nFirstLineIndent = 0;
4218 if ( nFirstLineIndent < 0 )
4219 m_pImpl->m_bIgnoreNextTab =
true;
4222 if (
m_pImpl->m_bIgnoreNextTab )
4224 m_pImpl->m_bIgnoreNextTab =
false;
4228 if (!
m_pImpl->hasTableManager())
4246 m_pImpl->getTableManager().utext(data_, len);
4250 const bool bSingleParagraph =
m_pImpl->GetIsFirstParagraphInSection() &&
m_pImpl->GetIsLastParagraphInSection();
4251 const bool bSingleParagraphAfterRedline =
m_pImpl->GetIsFirstParagraphInSection(
true) &&
4252 m_pImpl->GetIsLastParagraphInSection();
4258 if (
m_pImpl->GetSettingsTable()->GetSplitPgBreakAndParaMark())
4260 if (
m_pImpl->GetIsFirstParagraphInSection() || !
m_pImpl->IsFirstRun() )
4262 m_pImpl->m_bIsSplitPara =
true;
4275 m_pImpl->clearDeferredBreaks();
4280 if (
m_pImpl->GetIsFirstParagraphInSection() || !
m_pImpl->IsFirstRun() )
4283 m_pImpl->m_bIsSplitPara =
true;
4296 m_pImpl->clearDeferredBreaks();
4303 bool bIsColumnBreak =
false;
4308 aBreakType == style::BreakType_COLUMN_BEFORE ||
4309 aBreakType == style::BreakType_COLUMN_AFTER ||
4310 aBreakType == style::BreakType_COLUMN_BOTH;
4313 bool bRemove = (!
m_pImpl->GetParaChanged() &&
m_pImpl->GetRemoveThisPara()) ||
4315 && !bSingleParagraphAfterRedline
4317 && !
m_pImpl->GetParaHadField()
4318 && (!
m_pImpl->GetIsDummyParaAddedForTableInSectionPage())
4319 && !
m_pImpl->GetIsPreviousParagraphFramed()
4320 && !
m_pImpl->HasTopAnchoredObjects()
4321 && !
m_pImpl->IsParaWithInlineObject());
4323 const bool bNoNumbering = bRemove || (!
m_pImpl->GetParaChanged() &&
m_pImpl->GetParaSectpr() && bSingleParagraph);
4337 m_pImpl->RemoveLastParagraph();
4341 if (!bRemove &&
m_pImpl->GetIsDummyParaAddedForTableInSectionPage() && !
IsInTable()
4345 m_pImpl->SetIsDummyParaAddedForTableInSectionPage(
false);
4348 m_pImpl->SetParaSectpr(
false);
4363 if (
m_pImpl->GetIsFirstParagraphInSection() || !
m_pImpl->IsFirstRun())
4365 m_pImpl->m_bIsSplitPara =
true;
4383 m_pImpl->m_bIsSplitPara =
true;
4396 m_pImpl->clearDeferredBreaks();
4399 if (pContext && pContext->GetFootnote().
is())
4401 pContext->GetFootnote()->setLabel( sText );
4404 m_pImpl->appendTextPortion( sText, pContext );
4406 else if (
m_pImpl->IsOpenFieldCommand() && !
m_pImpl->IsForceGenericFields())
4408 m_pImpl->AppendFieldCommand(sText);
4410 else if(
m_pImpl->IsOpenField() &&
m_pImpl->IsFieldResultAsString())
4413 m_pImpl->AppendFieldResult(sText);
4416 if (pContext ==
nullptr)
4419 m_pImpl->appendTextPortion( sText, pContext );
4423 m_pImpl->SetIsFirstRun(
false);
4425 catch(
const uno::RuntimeException& )
4432 ref->resolve(*
this);
4437 m_pImpl->SetAnyTableImport(
true);
4440 case NS_ooxml::LN_FONTTABLE:
4444 ref->resolve( *
m_pImpl->GetFontTable() );
4446 case NS_ooxml::LN_STYLESHEET:
4448 m_pImpl->SetStyleSheetImport(
true );
4449 ref->resolve( *
m_pImpl->GetStyleSheetTable() );
4450 m_pImpl->GetStyleSheetTable()->ApplyStyleSheets(
m_pImpl->GetFontTable());
4451 m_pImpl->SetStyleSheetImport(
false );
4453 case NS_ooxml::LN_NUMBERING:
4455 m_pImpl->SetNumberingImport(
true);
4457 ref->resolve( *
m_pImpl->GetListTable() );
4458 m_pImpl->GetListTable( )->CreateNumberingRules( );
4459 m_pImpl->SetNumberingImport(
false);
4462 case NS_ooxml::LN_settings_settings:
4463 ref->resolve ( *
m_pImpl->GetSettingsTable() );
4464 m_pImpl->ApplySettingsTable();
4467 OSL_FAIL(
"which table is to be filled here?");
4469 m_pImpl->SetAnyTableImport(
false);
4474 m_pImpl->substream(rName, ref);
4480 m_pImpl->setGlossaryEntryStart(xTextRange);
4485 m_pImpl->appendGlossaryEntry();
4494 case NS_ooxml::LN_Value_ST_Underline_none:
4497 case NS_ooxml::LN_Value_ST_Underline_words:
4500 case NS_ooxml::LN_Value_ST_Underline_single:
4501 nUnderline = awt::FontUnderline::SINGLE;
4503 case NS_ooxml::LN_Value_ST_Underline_double:
4504 nUnderline = awt::FontUnderline::DOUBLE;
4506 case NS_ooxml::LN_Value_ST_Underline_dotted:
4507 nUnderline = awt::FontUnderline::DOTTED;
4509 case NS_ooxml::LN_Value_ST_Underline_dash:
4510 nUnderline = awt::FontUnderline::DASH;
4512 case NS_ooxml::LN_Value_ST_Underline_dotDash:
4513 nUnderline = awt::FontUnderline::DASHDOT;
4515 case NS_ooxml::LN_Value_ST_Underline_dotDotDash:
4516 nUnderline = awt::FontUnderline::DASHDOTDOT;
4518 case NS_ooxml::LN_Value_ST_Underline_thick:
4519 nUnderline = awt::FontUnderline::BOLD;
4521 case NS_ooxml::LN_Value_ST_Underline_wave:
4522 nUnderline = awt::FontUnderline::WAVE;
4524 case NS_ooxml::LN_Value_ST_Underline_dottedHeavy:
4525 nUnderline = awt::FontUnderline::BOLDDOTTED;
4527 case NS_ooxml::LN_Value_ST_Underline_dashedHeavy:
4528 nUnderline = awt::FontUnderline::BOLDDASH;
4530 case NS_ooxml::LN_Value_ST_Underline_dashLong:
4531 nUnderline = awt::FontUnderline::LONGDASH;
4533 case NS_ooxml::LN_Value_ST_Underline_dashLongHeavy:
4534 nUnderline = awt::FontUnderline::BOLDLONGDASH;
4536 case NS_ooxml::LN_Value_ST_Underline_dashDotHeavy:
4537 nUnderline = awt::FontUnderline::BOLDDASHDOT;
4539 case NS_ooxml::LN_Value_ST_Underline_dashDotDotHeavy:
4540 nUnderline = awt::FontUnderline::BOLDDASHDOTDOT;
4542 case NS_ooxml::LN_Value_ST_Underline_wavyHeavy:
4543 nUnderline = awt::FontUnderline::BOLDWAVE;
4545 case NS_ooxml::LN_Value_ST_Underline_wavyDouble:
4546 nUnderline = awt::FontUnderline::DOUBLEWAVE;
4554 style::ParagraphAdjust
nAdjust = style::ParagraphAdjust_LEFT;
4555 style::ParagraphAdjust nLastLineAdjust = style::ParagraphAdjust_LEFT;
4556 OUString aStringValue =
"left";
4559 case NS_ooxml::LN_Value_ST_Jc_center:
4560 nAdjust = style::ParagraphAdjust_CENTER;
4561 aStringValue =
"center";
4563 case NS_ooxml::LN_Value_ST_Jc_right:
4564 case NS_ooxml::LN_Value_ST_Jc_end:
4565 nAdjust = bExchangeLeftRight ? style::ParagraphAdjust_LEFT : style::ParagraphAdjust_RIGHT;
4566 aStringValue =
"right";
4568 case NS_ooxml::LN_Value_ST_Jc_distribute:
4569 nLastLineAdjust = style::ParagraphAdjust_BLOCK;
4571 case NS_ooxml::LN_Value_ST_Jc_both:
4572 nAdjust = style::ParagraphAdjust_BLOCK;
4573 aStringValue =
"both";
4575 case NS_ooxml::LN_Value_ST_Jc_left:
4576 case NS_ooxml::LN_Value_ST_Jc_start:
4578 nAdjust = bExchangeLeftRight ? style::ParagraphAdjust_RIGHT : style::ParagraphAdjust_LEFT;
4583 m_pImpl->appendGrabBag(
m_pImpl->m_aInteropGrabBag,
"jc", aStringValue);
4589 if ((
nId < NS_ooxml::LN_Value_ST_HighlightColor_black) || (
nId > NS_ooxml::LN_Value_ST_HighlightColor_none))
4594 case NS_ooxml::LN_Value_ST_HighlightColor_black: nColor=0x000000;
break;
4595 case NS_ooxml::LN_Value_ST_HighlightColor_blue: nColor=0x0000ff;
break;
4596 case NS_ooxml::LN_Value_ST_HighlightColor_cyan: nColor=0x00ffff;
break;
4597 case NS_ooxml::LN_Value_ST_HighlightColor_green: nColor=0x00ff00;
break;
4598 case NS_ooxml::LN_Value_ST_HighlightColor_magenta: nColor=0xff00ff;
break;
4599 case NS_ooxml::LN_Value_ST_HighlightColor_red: nColor=0xff0000;
break;
4600 case NS_ooxml::LN_Value_ST_HighlightColor_yellow: nColor=0xffff00;
break;
4601 case NS_ooxml::LN_Value_ST_HighlightColor_white: nColor=0xffffff;
break;
4602 case NS_ooxml::LN_Value_ST_HighlightColor_darkBlue: nColor=0x000080;
break;
4603 case NS_ooxml::LN_Value_ST_HighlightColor_darkCyan: nColor=0x008080;
break;
4604 case NS_ooxml::LN_Value_ST_HighlightColor_darkGreen: nColor=0x008000;
break;
4605 case NS_ooxml::LN_Value_ST_HighlightColor_darkMagenta: nColor=0x800080;
break;
4606 case NS_ooxml::LN_Value_ST_HighlightColor_darkRed: nColor=0x800000;
break;
4607 case NS_ooxml::LN_Value_ST_HighlightColor_darkYellow: nColor=0x808000;
break;
4608 case NS_ooxml::LN_Value_ST_HighlightColor_darkGray: nColor=0x808080;
break;
4609 case NS_ooxml::LN_Value_ST_HighlightColor_lightGray: nColor=0xC0C0C0;
break;
4610 case NS_ooxml::LN_Value_ST_HighlightColor_none: nColor=0xFFFFFFFF;
break;
4621 case NS_ooxml::LN_Value_ST_Em_dot:
4622 return text::FontEmphasis::DOT_ABOVE;
4623 case NS_ooxml::LN_Value_ST_Em_comma:
4624 return text::FontEmphasis::ACCENT_ABOVE;
4625 case NS_ooxml::LN_Value_ST_Em_circle:
4626 return text::FontEmphasis::CIRCLE_ABOVE;
4627 case NS_ooxml::LN_Value_ST_Em_underDot:
4628 return text::FontEmphasis::DOT_BELOW;
4638 case NS_ooxml::LN_Value_ST_CombineBrackets_round:
4643 case NS_ooxml::LN_Value_ST_CombineBrackets_square:
4648 case NS_ooxml::LN_Value_ST_CombineBrackets_angle:
4653 case NS_ooxml::LN_Value_ST_CombineBrackets_curly:
4658 case NS_ooxml::LN_Value_ST_CombineBrackets_none:
4668 case NS_ooxml::LN_Value_ST_TabJc_start:
4669 case NS_ooxml::LN_Value_ST_TabJc_left:
4670 case NS_ooxml::LN_Value_ST_TabJc_bar:
4671 case NS_ooxml::LN_Value_ST_TabJc_num:
4672 return style::TabAlign_LEFT;
4673 case NS_ooxml::LN_Value_ST_TabJc_center:
4674 return style::TabAlign_CENTER;
4675 case NS_ooxml::LN_Value_ST_TabJc_end:
4676 case NS_ooxml::LN_Value_ST_TabJc_right:
4677 return style::TabAlign_RIGHT;
4678 case NS_ooxml::LN_Value_ST_TabJc_decimal:
4679 return style::TabAlign_DECIMAL;
4681 return style::TabAlign_LEFT;
4688 case NS_ooxml::LN_Value_ST_TabTlc_dot:
4690 case NS_ooxml::LN_Value_ST_TabTlc_hyphen:
4692 case NS_ooxml::LN_Value_ST_TabTlc_underscore:
4693 case NS_ooxml::LN_Value_ST_TabTlc_heavy:
4695 case NS_ooxml::LN_Value_ST_TabTlc_middleDot:
4697 case NS_ooxml::LN_Value_ST_TabTlc_none:
4705 return m_pImpl->IsOOXMLImport();
4710 return m_pImpl->IsRTFImport();
4715 return m_pImpl->GetTextFactory();
4721 return m_pImpl->GetTopTextAppend()->getEnd();
4722 return m_pImpl->m_xInsertTextRange;
4728 return pStyleSheets->getOrCreateCharStyle( rCharProperties, bAlwaysCreate );
4733 return m_pImpl->GetStyleSheetTable( );
4738 return m_pImpl->GetSettingsTable();
4750 return m_pImpl->PopPendingShape();
4755 return m_pImpl->IsInHeaderFooter();
4762 return m_pImpl->hasTableManager() &&
m_pImpl->getTableManager().isInCell();
4767 return m_pImpl->GetListStyleName( nListId );
4772 m_pImpl->ValidateListLevel(sStyleIdentifierD);
4777 m_pImpl->SetDocDefaultsImport(bSet);
4782 return m_pImpl->IsStyleSheetImport();
4787 return m_pImpl->IsNumberingImport();
4797 beans::PropertyValue aRet;
4798 aRet.Name =
m_pImpl->m_aInteropGrabBagName;
4801 m_pImpl->m_aInteropGrabBag.clear();
4802 m_pImpl->m_aInteropGrabBagName.clear();
4808 sal_uInt32 nSprmId = rSprm.
getId();
4810 m_pImpl->AddNewRedline( nSprmId );
4812 if (nSprmId == NS_ooxml::LN_CT_PPr_pPrChange)
4814 m_pImpl->SetCurrentRedlineToken(XML_ParagraphFormat);
4816 else if (nSprmId == NS_ooxml::LN_CT_TrPr_ins)
4818 m_pImpl->SetCurrentRedlineToken(XML_tableRowInsert);
4820 else if (nSprmId == NS_ooxml::LN_CT_TrPr_del)
4822 m_pImpl->SetCurrentRedlineToken(XML_tableRowDelete);
4824 else if (nSprmId == NS_ooxml::LN_CT_TcPrBase_cellIns)
4826 m_pImpl->SetCurrentRedlineToken(XML_tableCellInsert);
4828 else if (nSprmId == NS_ooxml::LN_CT_TcPrBase_cellDel)
4830 m_pImpl->SetCurrentRedlineToken(XML_tableCellDelete);
4836 switch(
nToken & 0xffff )
4843 case XML_ParagraphFormat:
4844 case XML_tableRowInsert:
4845 case XML_tableRowDelete:
4846 case XML_tableCellInsert:
4847 case XML_tableCellDelete:
4849 default: OSL_FAIL(
"redline token other than mod, ins, del, moveTo, moveFrom or table row" );
break;
4851 m_pImpl->EndParaMarkerChange( );
4852 m_pImpl->SetCurrentRedlineIsRead();
4858 m_pImpl->m_pSdtHelper->createDateContentControl();
4869 return m_pImpl->GetCharacterStyles();
4874 return m_pImpl->GetUnusedCharacterStyleName();
std::vector< css::beans::PropertyValue > PropertyValueVector_t
PropertiesInfo aProperties
constexpr auto convertTwipToMm100(N n)
HRESULT createInstance(REFIID iid, Ifc **ppIfc)
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
OUString getLanguage() const
static css::lang::Locale convertToLocale(LanguageType nLangID, bool bResolveSystem=true)
LanguageTag & makeFallback()
const OUString & getNumDecimalSep() const
tools::Long getWidth() const
static tools::Long sloppyFitPageDimension(tools::Long nDimension)
tools::Long getHeight() const
static css::uno::Reference< css::embed::XStorage > GetStorageOfFormatFromInputStream(const OUString &aFormat, const css::uno::Reference< css::io::XInputStream > &xStream, const css::uno::Reference< css::uno::XComponentContext > &rxContext=css::uno::Reference< css::uno::XComponentContext >(), bool bRepairStorage=false)
static css::uno::Reference< css::embed::XStorage > GetTemporaryStorage(const css::uno::Reference< css::uno::XComponentContext > &rxContext=css::uno::Reference< css::uno::XComponentContext >())
css::uno::Sequence< css::beans::PropertyValue > getAsConstPropertyValueList() const
void update(const SequenceAsHashMap &rSource)
void setSchemeColor(ThemeColorType eType)
ThemeColorUsage meThemeColorUsage
void addTransformation(Transformation const &rTransform)
void props(writerfilter::Reference< Properties >::Pointer_t ref) override
Receives properties of the current run of text.
void utext(const sal_uInt8 *data, size_t len) override
Receives 16-bit per character text.
An SPRM: Section, Paragraph and Run Modifier.
virtual sal_uInt32 getId() const =0
Returns id of the SPRM.
virtual writerfilter::Reference< Properties >::Pointer_t getProps()=0
Returns reference to properties contained in the SPRM.
virtual Value::Pointer_t getValue()=0
Returns value of the SPRM.
virtual std::string getName() const =0
Returns name of sprm.
static TagLogger & getInstance()
void startElement(const std::string &name)
void chars(const std::string &chars)
void attribute(const std::string &name, const std::string &value)
virtual writerfilter::Reference< Properties >::Pointer_t getProperties()=0
Returns properties of this value.
virtual int getInt() const =0
Returns integer representation of the value.
virtual OUString getString() const =0
Returns string representation of the value.
css::uno::Any GetAnyProperty(PropertyIds eId, const PropertyMapPtr &rContext)
void HandleRedline(Sprm &rSprm)
virtual void lcl_endTextBoxContent() override
virtual void lcl_endSectionGroup() override
virtual void lcl_props(writerfilter::Reference< Properties >::Pointer_t ref) override
virtual void lcl_startShape(css::uno::Reference< css::drawing::XShape > const &xShape) override
virtual void lcl_endCharacterGroup() override
virtual void lcl_attribute(Id Name, Value &val) override
virtual void lcl_endGlossaryEntry() override
static OUString getBracketStringFromEnum(const sal_Int32 nIntValue, const bool bIsPrefix=true)
GraphicZOrderHelper * graphicZOrderHelper()
virtual void markLastSectionGroup() override
The current section is the last one in this body text.
virtual void lcl_positivePercentage(const OUString &rText) override
css::uno::Reference< css::container::XNameContainer > const & GetCharacterStyles()
void enableInteropGrabBag(const OUString &aName)
Enable storing of seen tokens in a named grab bag.
bool IsStyleSheetImport() const
bool IsOOXMLImport() const
virtual void lcl_substream(Id name, ::writerfilter::Reference< Stream >::Pointer_t ref) override
virtual void lcl_endShape() override
virtual css::awt::Point getPositionOffset() override
Returns the last set offsets of a shape in HMM.
virtual void markLastParagraphInSection() override
css::uno::Reference< css::text::XTextRange > GetCurrentTextRange()
virtual void lcl_text(const sal_uInt8 *data, size_t len) override
css::uno::Reference< css::drawing::XShape > PopPendingShape()
Return the first from the pending (not inserted to the document) shapes, if there are any.
void PopStyleSheetProperties(bool bAffectTableMngr=false)
virtual void lcl_entry(writerfilter::Reference< Properties >::Pointer_t ref) override
OUString GetUnusedCharacterStyleName()
OUString GetListStyleName(sal_Int32 nListId) const
static sal_Int16 getEmphasisValue(const sal_Int32 nIntValue)
virtual void lcl_startCharacterGroup() override
StyleSheetTablePtr const & GetStyleSheetTable()
void ValidateListLevel(const OUString &sStyleIdentifierD)
void SetDocDefaultsImport(bool bSet)
bool IsNumberingImport() const
OUString getOrCreateCharStyle(PropertyValueVector_t &rCharProperties, bool bAlwaysCreate)
virtual void lcl_startGlossaryEntry() override
virtual void lcl_utext(const sal_uInt8 *data, size_t len) override
virtual void lcl_align(const OUString &rText, bool bVertical) override
void sprmWithProps(Sprm &sprm, const PropertyMapPtr &pContext)
std::unique_ptr< DomainMapper_Impl > m_pImpl
virtual void lcl_sprm(Sprm &sprm) override
css::uno::Reference< css::lang::XMultiServiceFactory > const & GetTextFactory() const
void PushStyleSheetProperties(const PropertyMapPtr &pStyleProperties, bool bAffectTableMngr=false)
static css::style::TabAlign getTabAlignFromValue(const sal_Int32 nIntValue)
void PushListProperties(const ::tools::SvRef< PropertyMap > &pListProperties)
static bool getColorFromId(const Id, sal_Int32 &nColor)
static sal_Unicode getFillCharFromValue(const sal_Int32 nIntValue)
virtual ~DomainMapper() override
std::unique_ptr< GraphicZOrderHelper > m_zOrderHelper
virtual void lcl_checkId(const sal_Int32 nId) override
DomainMapper(const css::uno::Reference< css::uno::XComponentContext > &xContext, css::uno::Reference< css::io::XInputStream > const &xInputStream, css::uno::Reference< css::lang::XComponent > const &xModel, bool bRepairStorage, SourceDocumentType eDocumentType, utl::MediaDescriptor const &rMediaDesc)
virtual void setDocumentReference(writerfilter::ooxml::OOXMLDocument *pDocument) override
virtual void lcl_startTextBoxContent() override
virtual void lcl_positionOffset(const OUString &rText, bool bVertical) override
static void handleUnderlineType(const Id nId, const ::tools::SvRef< PropertyMap > &rContext)
void processDeferredCharacterProperties(const std::map< sal_Int32, css::uno::Any > &rDeferredCharacterProperties, bool bCharContext=true)
css::beans::PropertyValue getInteropGrabBag()
Get the stored tokens and clear the internal storage.
bool IsInHeaderFooter() const
virtual void lcl_startSectionGroup() override
SettingsTablePtr const & GetSettingsTable()
virtual void lcl_endParagraphGroup() override
virtual void data(const sal_uInt8 *buf, size_t len) override
Receives binary data of the object.
virtual void lcl_startParagraphGroup() override
void handleParaJustification(const sal_Int32 nIntValue, const ::tools::SvRef< PropertyMap > &rContext, const bool bExchangeLeftRight)
virtual void lcl_table(Id name, writerfilter::Reference< Table >::Pointer_t ref) override
void ProcessDeferredStyleCharacterProperties()
virtual void commentProps(const OUString &sId, const CommentProperties &rProps) override
void finishParagraph(const bool bRemove=false, const bool bNoNumbering=false)
OUString m_sGlossaryEntryName
Handler for sprms that contain a measure and a unit.
ParagraphProperties & props()
void Seth(sal_Int32 nSet)
void SetDropCap(sal_Int32 nSet)
void SetyAlign(sal_Int32 nSet)
void SetListId(sal_Int32 nId)
void SethSpace(sal_Int32 nSet)
void SetvSpace(sal_Int32 nSet)
void Setw(sal_Int32 nSet)
void SetvAnchor(sal_Int32 nSet)
void SethAnchor(sal_Int32 nSet)
void SetWrap(css::text::WrapTextMode nSet)
void SetFrameMode(bool set=true)
void Sety(sal_Int32 nSet)
void SethRule(sal_Int32 nSet)
void SetLines(sal_Int32 nSet)
void Setx(sal_Int32 nSet)
void SetxAlign(sal_Int32 nSet)
void SetColumnCount(sal_Int16 nCount)
void AppendColumnWidth(sal_Int32 nWidth)
void SetBreakType(sal_Int32 nSet)
void SetBottomMargin(sal_Int32 nSet)
void SetLnnMin(sal_Int32 nValue)
void SetLeftMargin(sal_Int32 nSet)
void SetGridType(sal_Int32 nSet)
void SetHeaderTop(sal_Int32 nSet)
void SetDxtCharSpace(sal_Int32 nSet)
void SetPageNumberType(sal_Int32 nSet)
void SetSeparatorLine(bool bSet)
void SetTitlePage(bool bSet)
void SetPageNumber(sal_Int32 nSet)
void SetColumnDistance(sal_Int32 nDist)
void SetRightMargin(sal_Int32 nSet)
void SetGridLinePitch(sal_Int32 nSet)
void SetEvenlySpaced(bool bSet)
void CloseSectionGroup(DomainMapper_Impl &rDM_Impl)
void SetGutterMargin(sal_Int32 nGutterMargin)
void AppendColumnSpacing(sal_Int32 nDist)
void SetLnnMod(sal_Int32 nValue)
void SetHeaderBottom(sal_Int32 nSet)
void SetGridSnapToChars(bool bSet)
void SetdxaLnn(sal_Int32 nValue)
void SetLnc(sal_Int32 nValue)
void SetTopMargin(sal_Int32 nSet)
void SetOutlineLevel(sal_Int16 nLevel)
void SetListLevel(sal_Int16 nLevel)
static model::ThemeColorUsage getThemeColorUsage(sal_Int32 nType)
static model::ThemeColorType getThemeColorTypeIndex(sal_Int32 nType)
static OUString getThemeColorTypeString(sal_Int32 nType)
Class to process all text effects like glow, textOutline, ...
static OUString getOnOffString(sal_Int32 nType)
static sal_uInt8 GetTextFillSolidFillAlpha(const css::beans::PropertyValue &rValue)
static OUString getStringForTheme(const Id id)
#define TOOLS_WARN_EXCEPTION(area, stream)
#define DBG_UNHANDLED_EXCEPTION(...)
#define DFLT_ESC_AUTO_SUB
#define DFLT_ESC_AUTO_SUPER
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
sal_Int32 getEnumAsINT32(const Any &_rAny)
css::uno::Sequence< DstElementType > containerToSequence(const SrcType &i_Container)
model::ComplexColor getFromXComplexColor(uno::Reference< util::XComplexColor > const &rxColor)
uno::Reference< util::XComplexColor > createXComplexColor(model::ComplexColor const &rColor)
OUString ConvertColorOU(const Color &rColor)
sal_Int32 convertEmuToHmm(sal_Int64 nValue)
uno::Reference< rdf::XURI > createBaseURI(uno::Reference< uno::XComponentContext > const &i_xContext, uno::Reference< frame::XModel > const &i_xModel, OUString const &i_rPkgURI, std::u16string_view i_rSubDocument)
sal_Int32 convertTwipToMM100WithoutLimit(sal_Int32 _t)
text::RubyAdjust convertRubyAlign(sal_Int32 nIntValue)
sal_Int16 ConvertNumberingType(const sal_Int32 nFmt, const sal_Int16 nDefault)
sal_Int32 convertTwipToMM100(sal_Int32 _t)
OUString getPropertyName(PropertyIds eId)
tools::SvRef< PropertyMap > PropertyMapPtr
@ PROP_CHAR_COMBINE_PREFIX
@ PROP_TOP_BORDER_DISTANCE
@ PROP_BORDER_LEFT_COMPLEX_COLOR
@ PROP_AUTOMATIC_DISTANCE
@ PROP_TABS_RELATIVE_TO_INDENT
@ PROP_PARA_BOTTOM_MARGIN_AFTER_AUTO_SPACING
@ PROP_CHAR_TOP_BORDER_DISTANCE
@ PROP_CHAR_UNDERLINE_COLOR
@ PROP_CHAR_THEME_COLOR_SHADE
@ PROP_RESTART_AT_EACH_PAGE
@ PROP_PARA_KEEP_TOGETHER
@ PROP_PARA_CONNECT_BORDERS
@ PROP_CHAR_THEME_NAME_EAST_ASIA
@ META_PROP_CELL_MAR_RIGHT
@ PROP_RIGHT_BORDER_DISTANCE
@ PROP_CHAR_BORDER_RIGHT_COMPLEX_COLOR
@ PROP_CHAR_THEME_COLOR_TINT
@ PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING
@ PROP_CHAR_HEIGHT_COMPLEX
@ PROP_CHAR_BORDER_LEFT_COMPLEX_COLOR
@ PROP_CHAR_BORDER_TOP_COMPLEX_COLOR
@ PROP_CHAR_COMBINE_IS_ON
@ PROP_CHAR_THEME_NAME_ASCII
@ PROP_CHAR_SHADING_VALUE
@ PROP_CHAR_THEME_NAME_H_ANSI
@ PROP_CHAR_THEME_FONT_NAME_ASCII
@ PROP_CHAR_POSTURE_ASIAN
@ PROP_CHAR_BOTTOM_BORDER_DISTANCE
@ PROP_SURROUND_TEXT_WRAP_SMALL
@ PROP_CHAR_FONT_NAME_ASIAN
@ PROP_CHAR_THEME_ORIGINAL_COLOR
@ PROP_CHAR_RIGHT_BORDER_DISTANCE
@ PROP_PARA_IS_HANGING_PUNCTUATION
@ PROP_BORDER_RIGHT_COMPLEX_COLOR
@ PROP_BORDER_BOTTOM_COMPLEX_COLOR
@ PROP_CHAR_SHADOW_FORMAT
@ PROP_CHAR_POSTURE_COMPLEX
@ PROP_CHAR_UNDERLINE_COMPLEX_COLOR
@ PROP_CHAR_WEIGHT_COMPLEX
@ PROP_NUMBERING_STYLE_NAME
@ PROP_CHAR_LOCALE_COMPLEX
@ PROP_CHAR_ROTATION_IS_FIT_TO_LINE
@ PROP_CHAR_THEME_FONT_NAME_CS
@ PROP_PARA_LAST_LINE_ADJUST
@ PROP_PARA_BOTTOM_MARGIN
@ PROP_TEXT_VERTICAL_ADJUST
@ PROP_CHAR_THEME_FONT_NAME_EAST_ASIA
@ PROP_LEFT_BORDER_DISTANCE
@ PROP_PARA_TOP_MARGIN_BEFORE_AUTO_SPACING
@ PROP_CHAR_THEME_NAME_CS
@ PROP_BORDER_TOP_COMPLEX_COLOR
@ PROP_CHAR_ESCAPEMENT_HEIGHT
@ PROP_PARA_CONTEXT_MARGIN
@ PROP_CHAR_SHADING_MARKER
@ PROP_PARA_SDT_END_BEFORE
@ PROP_PARA_VERT_ALIGNMENT
@ PROP_PARA_FIRST_LINE_INDENT
@ PROP_CHAR_LEFT_BORDER_DISTANCE
@ PROP_CHAR_FONT_CHAR_SET
@ PROP_CHAR_COMPLEX_COLOR
@ PROP_CHAR_BOTTOM_BORDER
@ PROP_PARA_IS_HYPHENATION
@ PROP_BOTTOM_BORDER_DISTANCE
@ PROP_PARA_SHADOW_FORMAT
@ META_PROP_CELL_MAR_BOTTOM
@ PROP_CHAR_BORDER_BOTTOM_COMPLEX_COLOR
@ PROP_CHAR_COMBINE_SUFFIX
@ PROP_CHAR_FONT_NAME_COMPLEX
@ META_PROP_CELL_MAR_LEFT
@ PROP_PARA_LINE_NUMBER_COUNT
@ PROP_CHAR_UNDERLINE_HAS_COLOR
SkipFootnoteSeparator
Two special footnotes are a separator line, and a continuation line.
static bool ExchangeLeftRight(const PropertyMapPtr &rContext, DomainMapper_Impl &rImpl)
struct writerfilter::dmapper::@0 CT_PageSz
void resolveSprmProps(Properties &rHandler, Sprm &rSprm)
@ IMPORT_AS_DETECTED_ANCHOR
@ IMPORT_AS_DETECTED_INLINE
const sal_uInt8 cFieldSep
const sal_uInt8 cFieldStart
const sal_uInt8 cFieldEnd
constexpr OUStringLiteral OFOPXML_STORAGE_FORMAT_STRING
Reference< XModel > xModel