LibreOffice Module sw (master) 1
Namespaces | Macros | Functions | Variables
docxattributeoutput.cxx File Reference
#include <memory>
#include "docxattributeoutput.hxx"
#include "docxhelper.hxx"
#include "docxsdrexport.hxx"
#include "docxexportfilter.hxx"
#include "docxfootnotes.hxx"
#include "writerwordglue.hxx"
#include "ww8par.hxx"
#include <fmtcntnt.hxx>
#include <fmtftn.hxx>
#include <fchrfmt.hxx>
#include <tgrditem.hxx>
#include <fmtruby.hxx>
#include <fmtfollowtextflow.hxx>
#include <fmtanchr.hxx>
#include <breakit.hxx>
#include <redline.hxx>
#include <unoframe.hxx>
#include <textboxhelper.hxx>
#include <rdfhelper.hxx>
#include "wrtww8.hxx"
#include <comphelper/processfactory.hxx>
#include <comphelper/random.hxx>
#include <comphelper/string.hxx>
#include <comphelper/flagguard.hxx>
#include <comphelper/sequence.hxx>
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
#include <oox/export/utils.hxx>
#include <oox/mathml/imexport.hxx>
#include <oox/drawingml/drawingmltypes.hxx>
#include <oox/token/relationship.hxx>
#include <oox/export/vmlexport.hxx>
#include <oox/ole/olehelper.hxx>
#include <editeng/autokernitem.hxx>
#include <editeng/unoprnms.hxx>
#include <editeng/fontitem.hxx>
#include <editeng/tstpitem.hxx>
#include <editeng/spltitem.hxx>
#include <editeng/widwitem.hxx>
#include <editeng/shaditem.hxx>
#include <editeng/brushitem.hxx>
#include <editeng/postitem.hxx>
#include <editeng/wghtitem.hxx>
#include <editeng/kernitem.hxx>
#include <editeng/crossedoutitem.hxx>
#include <editeng/cmapitem.hxx>
#include <editeng/udlnitem.hxx>
#include <editeng/langitem.hxx>
#include <editeng/lspcitem.hxx>
#include <editeng/escapementitem.hxx>
#include <editeng/fhgtitem.hxx>
#include <editeng/colritem.hxx>
#include <editeng/hyphenzoneitem.hxx>
#include <editeng/ulspitem.hxx>
#include <editeng/contouritem.hxx>
#include <editeng/shdditem.hxx>
#include <editeng/emphasismarkitem.hxx>
#include <editeng/twolinesitem.hxx>
#include <editeng/charscaleitem.hxx>
#include <editeng/charrotateitem.hxx>
#include <editeng/charreliefitem.hxx>
#include <editeng/paravertalignitem.hxx>
#include <editeng/pgrditem.hxx>
#include <editeng/frmdiritem.hxx>
#include <editeng/blinkitem.hxx>
#include <editeng/charhiddenitem.hxx>
#include <editeng/editobj.hxx>
#include <editeng/keepitem.hxx>
#include <editeng/borderline.hxx>
#include <sax/tools/converter.hxx>
#include <svx/xdef.hxx>
#include <svx/xfillit0.hxx>
#include <svx/xflclit.hxx>
#include <svx/xflgrit.hxx>
#include <svx/svdouno.hxx>
#include <svx/unobrushitemhelper.hxx>
#include <svl/grabbagitem.hxx>
#include <tools/date.hxx>
#include <tools/datetime.hxx>
#include <tools/datetimeutils.hxx>
#include <svl/whiter.hxx>
#include <rtl/tencinfo.h>
#include <sal/log.hxx>
#include <sot/exchange.hxx>
#include <docufld.hxx>
#include <authfld.hxx>
#include <flddropdown.hxx>
#include <fmtclds.hxx>
#include <fmtinfmt.hxx>
#include <fmtline.hxx>
#include <ftninfo.hxx>
#include <htmltbl.hxx>
#include <lineinfo.hxx>
#include <ndgrf.hxx>
#include <ndole.hxx>
#include <ndtxt.hxx>
#include <pagedesc.hxx>
#include <paratr.hxx>
#include <swmodule.hxx>
#include <swtable.hxx>
#include <txtftn.hxx>
#include <fmtautofmt.hxx>
#include <docsh.hxx>
#include <docary.hxx>
#include <fmtclbl.hxx>
#include <IDocumentSettingAccess.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <grfatr.hxx>
#include <frmatr.hxx>
#include <txtatr.hxx>
#include <frameformats.hxx>
#include <textcontentcontrol.hxx>
#include <formatflysplit.hxx>
#include <o3tl/string_view.hxx>
#include <o3tl/unit_conversion.hxx>
#include <osl/file.hxx>
#include <utility>
#include <vcl/embeddedfontshelper.hxx>
#include <com/sun/star/i18n/ScriptType.hpp>
#include <com/sun/star/i18n/XBreakIterator.hpp>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/drawing/ShadingPattern.hpp>
#include <com/sun/star/text/GraphicCrop.hpp>
#include <com/sun/star/embed/EmbedStates.hpp>
#include <com/sun/star/embed/Aspects.hpp>
#include <com/sun/star/text/ControlCharacter.hpp>
#include <algorithm>
#include <cstddef>
#include <stdarg.h>
#include <string_view>
#include <toolkit/helper/vclunohelper.hxx>
#include <unicode/regex.h>
#include <frozen/bits/defines.h>
#include <frozen/bits/elsa_std.h>
#include <frozen/unordered_map.h>
Include dependency graph for docxattributeoutput.cxx:

Go to the source code of this file.

Namespaces

namespace  docx
 

Macros

#define MAX_CELL_IN_WORD   62
 

Functions

static bool lcl_isOnelinerSdt (std::u16string_view rName)
 Are multiple paragraphs disallowed inside this type of SDT? More...
 
static void checkAndWriteFloatingTables (DocxAttributeOutput &rDocxAttributeOutput)
 
static bool impl_WriteRunText (FSHelperPtr const &pSerializer, sal_Int32 nTextToken, const sal_Unicode *&rBegin, const sal_Unicode *pEnd, bool bMove=true, const OUString &rSymbolFont=OUString())
 Output sal_Unicode* as a run text (<t>the text</t>). More...
 
static void impl_borderLine (FSHelperPtr const &pSerializer, sal_Int32 elementToken, const SvxBorderLine *pBorderLine, sal_uInt16 nDist, bool bWriteShadow, const table::BorderLine2 *pStyleProps=nullptr)
 
static OutputBorderOptions lcl_getTableCellBorderOptions (bool bEcma)
 
static OutputBorderOptions lcl_getBoxBorderOptions ()
 
static void impl_borders (FSHelperPtr const &pSerializer, const SvxBoxItem &rBox, const OutputBorderOptions &rOptions, std::map< SvxBoxItemLine, css::table::BorderLine2 > &rTableStyleConf, ww8::Frame *pFramePr=nullptr)
 
sal_Int32 DocxStringGetToken (DocxStringTokenMap const *pMap, std::u16string_view rName)
 
static rtl::Reference<::sax_fastparser::FastAttributeListCreateDocPrAttrList (DocxExport &rExport, int const nAnchorId, std::u16string_view const &rName, std::u16string_view const &rTitle, std::u16string_view const &rDescription)
 
static bool lcl_guessQFormat (const OUString &rName, sal_uInt16 nWwId)
 Guesses if a style created in Writer (no grab-bag) should be qFormat or not. More...
 
static OString lcl_ConvertNumberingType (sal_Int16 nNumberingType, const SfxItemSet *pOutSet, OString &rFormat, const OString &sDefault="")
 
static char toHexChar (int value)
 
static bool lcl_ListLevelsAreDifferentForExport (const SwNumFormat &rFormat1, const SwNumFormat &rFormat2)
 
static void WriteFootnoteSeparatorHeight (::sax_fastparser::FSHelperPtr const &pSerializer, SwTwips const nHeight)
 
static void impl_WriteTabElement (FSHelperPtr const &pSerializer, const SvxTabStop &rTab, tools::Long tabsOffset)
 
rtl::Reference< FastAttributeListdocx::SurroundToVMLWrap (SwFormatSurround const &rSurround)
 
static std::optional< sal_Int32 > lcl_getDmlAlpha (const SvxBrushItem &rBrush)
 

Variables

constexpr OUStringLiteral MSWORD_CH_SHADING_FILL = u"FFFFFF"
 
constexpr OUStringLiteral MSWORD_CH_SHADING_COLOR = u"auto"
 
constexpr OUStringLiteral MSWORD_CH_SHADING_VAL = u"pct15"
 

Macro Definition Documentation

◆ MAX_CELL_IN_WORD

#define MAX_CELL_IN_WORD   62

Definition at line 1303 of file docxattributeoutput.cxx.

Function Documentation

◆ checkAndWriteFloatingTables()

static void checkAndWriteFloatingTables ( DocxAttributeOutput rDocxAttributeOutput)
static

◆ CreateDocPrAttrList()

static rtl::Reference<::sax_fastparser::FastAttributeList > CreateDocPrAttrList ( DocxExport rExport,
int const  nAnchorId,
std::u16string_view const &  rName,
std::u16string_view const &  rTitle,
std::u16string_view const &  rDescription 
)
static

◆ DocxStringGetToken()

sal_Int32 DocxStringGetToken ( DocxStringTokenMap const *  pMap,
std::u16string_view  rName 
)

◆ impl_borderLine()

static void impl_borderLine ( FSHelperPtr const &  pSerializer,
sal_Int32  elementToken,
const SvxBorderLine *  pBorderLine,
sal_uInt16  nDist,
bool  bWriteShadow,
const table::BorderLine2 *  pStyleProps = nullptr 
)
static

◆ impl_borders()

static void impl_borders ( FSHelperPtr const &  pSerializer,
const SvxBoxItem rBox,
const OutputBorderOptions rOptions,
std::map< SvxBoxItemLine, css::table::BorderLine2 > &  rTableStyleConf,
ww8::Frame pFramePr = nullptr 
)
static

◆ impl_WriteRunText()

static bool impl_WriteRunText ( FSHelperPtr const &  pSerializer,
sal_Int32  nTextToken,
const sal_Unicode *&  rBegin,
const sal_Unicode pEnd,
bool  bMove = true,
const OUString &  rSymbolFont = OUString() 
)
static

Output sal_Unicode* as a run text (<t>the text</t>).

When bMove is true, update rBegin to point after the end of the text + 1, meaning that it skips one character after the text. This is to make the switch in DocxAttributeOutput::RunText() nicer ;-)

Definition at line 3670 of file docxattributeoutput.cxx.

References FSNS().

Referenced by DocxAttributeOutput::RunText().

◆ impl_WriteTabElement()

static void impl_WriteTabElement ( FSHelperPtr const &  pSerializer,
const SvxTabStop rTab,
tools::Long  tabsOffset 
)
static

◆ lcl_ConvertNumberingType()

static OString lcl_ConvertNumberingType ( sal_Int16  nNumberingType,
const SfxItemSet pOutSet,
OString &  rFormat,
const OString &  sDefault = "" 
)
static

◆ lcl_getBoxBorderOptions()

static OutputBorderOptions lcl_getBoxBorderOptions ( )
static

◆ lcl_getDmlAlpha()

static std::optional< sal_Int32 > lcl_getDmlAlpha ( const SvxBrushItem rBrush)
static

◆ lcl_getTableCellBorderOptions()

static OutputBorderOptions lcl_getTableCellBorderOptions ( bool  bEcma)
static

◆ lcl_guessQFormat()

static bool lcl_guessQFormat ( const OUString &  rName,
sal_uInt16  nWwId 
)
static

◆ lcl_isOnelinerSdt()

static bool lcl_isOnelinerSdt ( std::u16string_view  rName)
static

Are multiple paragraphs disallowed inside this type of SDT?

Definition at line 406 of file docxattributeoutput.cxx.

References u.

Referenced by DocxAttributeOutput::StartParagraph().

◆ lcl_ListLevelsAreDifferentForExport()

static bool lcl_ListLevelsAreDifferentForExport ( const SwNumFormat rFormat1,
const SwNumFormat rFormat2 
)
static

◆ toHexChar()

static char toHexChar ( int  value)
static

Definition at line 7323 of file docxattributeoutput.cxx.

References value.

Referenced by DocxAttributeOutput::EmbedFontStyle().

◆ WriteFootnoteSeparatorHeight()

static void WriteFootnoteSeparatorHeight ( ::sax_fastparser::FSHelperPtr const &  pSerializer,
SwTwips const  nHeight 
)
static

Definition at line 8615 of file docxattributeoutput.cxx.

References FSNS().

Referenced by DocxAttributeOutput::FootnotesEndnotes().

Variable Documentation

◆ MSWORD_CH_SHADING_COLOR

constexpr OUStringLiteral MSWORD_CH_SHADING_COLOR = u"auto"
constexpr

Definition at line 8010 of file docxattributeoutput.cxx.

Referenced by DocxAttributeOutput::CharBackground().

◆ MSWORD_CH_SHADING_FILL

constexpr OUStringLiteral MSWORD_CH_SHADING_FILL = u"FFFFFF"
constexpr

Definition at line 8009 of file docxattributeoutput.cxx.

Referenced by DocxAttributeOutput::CharBackground().

◆ MSWORD_CH_SHADING_VAL

constexpr OUStringLiteral MSWORD_CH_SHADING_VAL = u"pct15"
constexpr

Definition at line 8011 of file docxattributeoutput.cxx.

Referenced by DocxAttributeOutput::CharBackground().