LibreOffice Module sw (master) 1
Macros | Functions
porlay.cxx File Reference
#include <sal/config.h>
#include <string_view>
#include "porlay.hxx"
#include "itrform2.hxx"
#include "porglue.hxx"
#include "redlnitr.hxx"
#include "porfly.hxx"
#include "porrst.hxx"
#include "pormulti.hxx"
#include "pordrop.hxx"
#include <breakit.hxx>
#include <unicode/uchar.h>
#include <com/sun/star/i18n/ScriptType.hpp>
#include <com/sun/star/i18n/CharacterIteratorMode.hpp>
#include <com/sun/star/i18n/CTLScriptType.hpp>
#include <com/sun/star/i18n/WordType.hpp>
#include <com/sun/star/i18n/XBreakIterator.hpp>
#include <paratr.hxx>
#include <sal/log.hxx>
#include <optional>
#include <editeng/adjustitem.hxx>
#include <editeng/charhiddenitem.hxx>
#include <svl/asiancfg.hxx>
#include <svl/languageoptions.hxx>
#include <tools/multisel.hxx>
#include <unotools/charclass.hxx>
#include <charfmt.hxx>
#include <docary.hxx>
#include <fmtanchr.hxx>
#include <redline.hxx>
#include <calbck.hxx>
#include <doc.hxx>
#include <swscanner.hxx>
#include <txatbase.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentSettingAccess.hxx>
#include <IDocumentContentOperations.hxx>
#include <IMark.hxx>
#include <sortedobjs.hxx>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/text/XBookmarksSupplier.hpp>
#include <officecfg/Office/Common.hxx>
#include <comphelper/processfactory.hxx>
#include <docsh.hxx>
#include <unobookmark.hxx>
#include <unocrsrhelper.hxx>
#include <vcl/kernarray.hxx>
#include <com/sun/star/rdf/Statement.hpp>
#include <com/sun/star/rdf/URI.hpp>
#include <com/sun/star/rdf/URIs.hpp>
#include <com/sun/star/rdf/XDocumentMetadataAccess.hpp>
#include <com/sun/star/rdf/XLiteral.hpp>
#include <com/sun/star/text/XTextContent.hpp>
#include <unicode/ubidi.h>
#include <i18nutil/scripttypedetector.hxx>
#include <i18nutil/unicode.hxx>
Include dependency graph for porlay.cxx:

Go to the source code of this file.

Macros

#define IS_JOINING_GROUP(c, g)   ( u_getIntPropertyValue( (c), UCHAR_JOINING_GROUP ) == U_JG_##g )
 
#define isAinChar(c)   IS_JOINING_GROUP((c), AIN)
 
#define isAlefChar(c)   IS_JOINING_GROUP((c), ALEF)
 
#define isDalChar(c)   IS_JOINING_GROUP((c), DAL)
 
#define isFehChar(c)   IS_JOINING_GROUP((c), FEH)
 
#define isGafChar(c)   IS_JOINING_GROUP((c), GAF)
 
#define isHehChar(c)   IS_JOINING_GROUP((c), HEH)
 
#define isKafChar(c)   IS_JOINING_GROUP((c), KAF)
 
#define isLamChar(c)   IS_JOINING_GROUP((c), LAM)
 
#define isQafChar(c)   IS_JOINING_GROUP((c), QAF)
 
#define isRehChar(c)   IS_JOINING_GROUP((c), REH)
 
#define isTahChar(c)   IS_JOINING_GROUP((c), TAH)
 
#define isTehMarbutaChar(c)   IS_JOINING_GROUP((c), TEH_MARBUTA)
 
#define isWawChar(c)   IS_JOINING_GROUP((c), WAW)
 
#define isSeenOrSadChar(c)   (IS_JOINING_GROUP((c), SAD) || IS_JOINING_GROUP((c), SEEN))
 

Functions

static bool isBehChar (sal_Unicode cCh)
 
static bool isYehChar (sal_Unicode cCh)
 
static bool isTransparentChar (sal_Unicode cCh)
 
static bool lcl_IsLigature (sal_Unicode cCh, sal_Unicode cNextCh)
 
static bool lcl_ConnectToPrev (sal_Unicode cCh, sal_Unicode cPrevCh)
 
static bool lcl_HasStrongLTR (std::u16string_view rText, sal_Int32 nStart, sal_Int32 nEnd)
 
static bool lcl_HasOnlyBlanks (std::u16string_view rText, TextFrameIndex nStt, TextFrameIndex nEnd)
 
static SwFontScript lcl_ScriptToFont (sal_uInt16 const nScript)
 
static Color getBookmarkColor (const SwTextNode &rNode, const sw::mark::IBookmark *pBookmark)
 
static void InitBookmarks (std::optional< std::vector< sw::Extent >::const_iterator > oPrevIter, std::vector< sw::Extent >::const_iterator iter, std::vector< sw::Extent >::const_iterator const end, TextFrameIndex nOffset, std::vector< std::pair< sw::mark::IBookmark const *, SwScriptInfo::MarkKind > > &rBookmarks, std::vector< std::tuple< TextFrameIndex, SwScriptInfo::MarkKind, Color, OUString > > &o_rBookmarks)
 

Macro Definition Documentation

◆ IS_JOINING_GROUP

#define IS_JOINING_GROUP (   c,
 
)    ( u_getIntPropertyValue( (c), UCHAR_JOINING_GROUP ) == U_JG_##g )

Definition at line 111 of file porlay.cxx.

◆ isAinChar

#define isAinChar (   c)    IS_JOINING_GROUP((c), AIN)

Definition at line 112 of file porlay.cxx.

◆ isAlefChar

#define isAlefChar (   c)    IS_JOINING_GROUP((c), ALEF)

Definition at line 113 of file porlay.cxx.

◆ isDalChar

#define isDalChar (   c)    IS_JOINING_GROUP((c), DAL)

Definition at line 114 of file porlay.cxx.

◆ isFehChar

#define isFehChar (   c)    IS_JOINING_GROUP((c), FEH)

Definition at line 118 of file porlay.cxx.

◆ isGafChar

#define isGafChar (   c)    IS_JOINING_GROUP((c), GAF)

Definition at line 120 of file porlay.cxx.

◆ isHehChar

#define isHehChar (   c)    IS_JOINING_GROUP((c), HEH)

Definition at line 121 of file porlay.cxx.

◆ isKafChar

#define isKafChar (   c)    IS_JOINING_GROUP((c), KAF)

Definition at line 122 of file porlay.cxx.

◆ isLamChar

#define isLamChar (   c)    IS_JOINING_GROUP((c), LAM)

Definition at line 123 of file porlay.cxx.

◆ isQafChar

#define isQafChar (   c)    IS_JOINING_GROUP((c), QAF)

Definition at line 127 of file porlay.cxx.

◆ isRehChar

#define isRehChar (   c)    IS_JOINING_GROUP((c), REH)

Definition at line 129 of file porlay.cxx.

◆ isSeenOrSadChar

#define isSeenOrSadChar (   c)    (IS_JOINING_GROUP((c), SAD) || IS_JOINING_GROUP((c), SEEN))

Definition at line 133 of file porlay.cxx.

◆ isTahChar

#define isTahChar (   c)    IS_JOINING_GROUP((c), TAH)

Definition at line 130 of file porlay.cxx.

◆ isTehMarbutaChar

#define isTehMarbutaChar (   c)    IS_JOINING_GROUP((c), TEH_MARBUTA)

Definition at line 131 of file porlay.cxx.

◆ isWawChar

#define isWawChar (   c)    IS_JOINING_GROUP((c), WAW)

Definition at line 132 of file porlay.cxx.

Function Documentation

◆ getBookmarkColor()

static Color getBookmarkColor ( const SwTextNode rNode,
const sw::mark::IBookmark pBookmark 
)
static

◆ InitBookmarks()

static void InitBookmarks ( std::optional< std::vector< sw::Extent >::const_iterator >  oPrevIter,
std::vector< sw::Extent >::const_iterator  iter,
std::vector< sw::Extent >::const_iterator const  end,
TextFrameIndex  nOffset,
std::vector< std::pair< sw::mark::IBookmark const *, SwScriptInfo::MarkKind > > &  rBookmarks,
std::vector< std::tuple< TextFrameIndex, SwScriptInfo::MarkKind, Color, OUString > > &  o_rBookmarks 
)
static

◆ isBehChar()

static bool isBehChar ( sal_Unicode  cCh)
static

Definition at line 136 of file porlay.cxx.

Referenced by SwScriptInfo::InitScriptInfo().

◆ isTransparentChar()

static bool isTransparentChar ( sal_Unicode  cCh)
static

Definition at line 181 of file porlay.cxx.

Referenced by SwScriptInfo::InitScriptInfo().

◆ isYehChar()

static bool isYehChar ( sal_Unicode  cCh)
static

Definition at line 161 of file porlay.cxx.

Referenced by SwScriptInfo::InitScriptInfo().

◆ lcl_ConnectToPrev()

static bool lcl_ConnectToPrev ( sal_Unicode  cCh,
sal_Unicode  cPrevCh 
)
static

Definition at line 194 of file porlay.cxx.

References lcl_IsLigature().

Referenced by SwScriptInfo::InitScriptInfo().

◆ lcl_HasOnlyBlanks()

static bool lcl_HasOnlyBlanks ( std::u16string_view  rText,
TextFrameIndex  nStt,
TextFrameIndex  nEnd 
)
static

Definition at line 359 of file porlay.cxx.

References CH_FULL_BLANK, and CH_SIX_PER_EM.

Referenced by SwLineLayout::CalcLine().

◆ lcl_HasStrongLTR()

static bool lcl_HasStrongLTR ( std::u16string_view  rText,
sal_Int32  nStart,
sal_Int32  nEnd 
)
static

Definition at line 206 of file porlay.cxx.

Referenced by SwScriptInfo::InitScriptInfo().

◆ lcl_IsLigature()

static bool lcl_IsLigature ( sal_Unicode  cCh,
sal_Unicode  cNextCh 
)
static

Definition at line 187 of file porlay.cxx.

References isAlefChar, and isLamChar.

Referenced by lcl_ConnectToPrev().

◆ lcl_ScriptToFont()

static SwFontScript lcl_ScriptToFont ( sal_uInt16 const  nScript)
static

Definition at line 881 of file porlay.cxx.

References CJK, CTL, and Latin.

Referenced by SwScriptInfo::WhichFont().