LibreOffice Module editeng (master) 1
Macros | Functions | Variables
impedit3.cxx File Reference
#include <vcl/svapp.hxx>
#include <vcl/metaact.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/settings.hxx>
#include <vcl/window.hxx>
#include <editeng/outliner.hxx>
#include <editeng/tstpitem.hxx>
#include <editeng/lspcitem.hxx>
#include <editeng/flditem.hxx>
#include <editeng/forbiddenruleitem.hxx>
#include "impedit.hxx"
#include <editeng/editeng.hxx>
#include <editeng/editview.hxx>
#include <editeng/escapementitem.hxx>
#include <editeng/txtrange.hxx>
#include <editeng/udlnitem.hxx>
#include <editeng/fhgtitem.hxx>
#include <editeng/lrspitem.hxx>
#include <editeng/ulspitem.hxx>
#include <editeng/fontitem.hxx>
#include <editeng/wghtitem.hxx>
#include <editeng/postitem.hxx>
#include <editeng/langitem.hxx>
#include <editeng/scriptspaceitem.hxx>
#include <editeng/charscaleitem.hxx>
#include <editeng/numitem.hxx>
#include <outleeng.hxx>
#include <svtools/colorcfg.hxx>
#include <svl/ctloptions.hxx>
#include <svl/asiancfg.hxx>
#include <svx/compatflags.hxx>
#include <sfx2/viewsh.hxx>
#include <editeng/hngpnctitem.hxx>
#include <editeng/forbiddencharacterstable.hxx>
#include <unotools/configmgr.hxx>
#include <math.h>
#include <vcl/metric.hxx>
#include <com/sun/star/i18n/BreakIterator.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
#include <com/sun/star/i18n/InputSequenceChecker.hpp>
#include <vcl/pdfextoutdevdata.hxx>
#include <i18nlangtag/mslangid.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/lok.hxx>
#include <rtl/ustrbuf.hxx>
#include <sal/log.hxx>
#include <o3tl/safeint.hxx>
#include <o3tl/sorted_vector.hxx>
#include <osl/diagnose.h>
#include <comphelper/string.hxx>
#include <cstddef>
#include <memory>
#include <set>
#include <vcl/outdev/ScopedStates.hxx>
#include <unicode/uchar.h>
Include dependency graph for impedit3.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) || IS_JOINING_GROUP((c), AFRICAN_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) || IS_JOINING_GROUP((c), AFRICAN_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

AsianCompressionFlags GetCharTypeForCompression (sal_Unicode cChar)
 
static void lcl_DrawRedLines (OutputDevice &rOutDev, tools::Long nFontHeight, const Point &rPoint, size_t nIndex, size_t nMaxEnd, o3tl::span< const sal_Int32 > pDXArray, WrongList const *pWrongs, Degree10 nOrientation, const Point &rOrigin, bool bVertical, bool bIsRightToLeft)
 
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)
 
 IMPL_LINK_NOARG (ImpEditEngine, OnlineSpellHdl, Timer *, void)
 
 IMPL_LINK_NOARG (ImpEditEngine, IdleFormatHdl, Timer *, void)
 
static sal_Int32 ImplCalculateFontIndependentLineSpacing (const sal_Int32 nFontHeight)
 
 IMPL_LINK_NOARG (ImpEditEngine, StatusTimerHdl, Timer *, void)
 

Variables

constexpr OUStringLiteral CH_HYPH = u"-"
 
constexpr tools::Long WRONG_SHOW_MIN = 5
 

Macro Definition Documentation

◆ IS_JOINING_GROUP

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

Definition at line 231 of file impedit3.cxx.

◆ isAinChar

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

Definition at line 232 of file impedit3.cxx.

◆ isAlefChar

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

Definition at line 233 of file impedit3.cxx.

◆ isDalChar

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

Definition at line 234 of file impedit3.cxx.

◆ isFehChar

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

Definition at line 235 of file impedit3.cxx.

◆ isGafChar

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

Definition at line 236 of file impedit3.cxx.

◆ isHehChar

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

Definition at line 237 of file impedit3.cxx.

◆ isKafChar

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

Definition at line 238 of file impedit3.cxx.

◆ isLamChar

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

Definition at line 239 of file impedit3.cxx.

◆ isQafChar

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

Definition at line 240 of file impedit3.cxx.

◆ isRehChar

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

Definition at line 241 of file impedit3.cxx.

◆ isSeenOrSadChar

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

Definition at line 245 of file impedit3.cxx.

◆ isTahChar

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

Definition at line 242 of file impedit3.cxx.

◆ isTehMarbutaChar

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

Definition at line 243 of file impedit3.cxx.

◆ isWawChar

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

Definition at line 244 of file impedit3.cxx.

Function Documentation

◆ GetCharTypeForCompression()

AsianCompressionFlags GetCharTypeForCompression ( sal_Unicode  cChar)

Definition at line 117 of file impedit3.cxx.

References Kana, Normal, PunctuationLeft, and PunctuationRight.

Referenced by ImpEditEngine::ImplCalcAsianCompression().

◆ IMPL_LINK_NOARG() [1/3]

IMPL_LINK_NOARG ( ImpEditEngine  ,
IdleFormatHdl  ,
Timer ,
void   
)

Definition at line 361 of file impedit3.cxx.

◆ IMPL_LINK_NOARG() [2/3]

IMPL_LINK_NOARG ( ImpEditEngine  ,
OnlineSpellHdl  ,
Timer ,
void   
)

Definition at line 353 of file impedit3.cxx.

References Application::AnyInput().

◆ IMPL_LINK_NOARG() [3/3]

IMPL_LINK_NOARG ( ImpEditEngine  ,
StatusTimerHdl  ,
Timer ,
void   
)

Definition at line 4273 of file impedit3.cxx.

◆ ImplCalculateFontIndependentLineSpacing()

static sal_Int32 ImplCalculateFontIndependentLineSpacing ( const sal_Int32  nFontHeight)
static

◆ isBehChar()

static bool isBehChar ( sal_Unicode  cCh)
static

Definition at line 248 of file impedit3.cxx.

Referenced by ImpEditEngine::ImpFindKashidas().

◆ isTransparentChar()

static bool isTransparentChar ( sal_Unicode  cCh)
static

Definition at line 291 of file impedit3.cxx.

Referenced by ImpEditEngine::ImpFindKashidas().

◆ isYehChar()

static bool isYehChar ( sal_Unicode  cCh)
static

Definition at line 271 of file impedit3.cxx.

Referenced by ImpEditEngine::ImpFindKashidas().

◆ lcl_ConnectToPrev()

static bool lcl_ConnectToPrev ( sal_Unicode  cCh,
sal_Unicode  cPrevCh 
)
static

Definition at line 302 of file impedit3.cxx.

References lcl_IsLigature().

Referenced by ImpEditEngine::ImpFindKashidas().

◆ lcl_DrawRedLines()

static void lcl_DrawRedLines ( OutputDevice rOutDev,
tools::Long  nFontHeight,
const Point rPoint,
size_t  nIndex,
size_t  nMaxEnd,
o3tl::span< const sal_Int32 >  pDXArray,
WrongList const *  pWrongs,
Degree10  nOrientation,
const Point rOrigin,
bool  bVertical,
bool  bIsRightToLeft 
)
static

◆ lcl_IsLigature()

static bool lcl_IsLigature ( sal_Unicode  cCh,
sal_Unicode  cNextCh 
)
static

Definition at line 296 of file impedit3.cxx.

References isAlefChar, and isLamChar.

Referenced by lcl_ConnectToPrev().

Variable Documentation

◆ CH_HYPH

constexpr OUStringLiteral CH_HYPH = u"-"
constexpr

Definition at line 91 of file impedit3.cxx.

Referenced by ImpEditEngine::ImpBreakLine(), and ImpEditEngine::Paint().

◆ WRONG_SHOW_MIN

constexpr tools::Long WRONG_SHOW_MIN = 5
constexpr

Definition at line 93 of file impedit3.cxx.

Referenced by lcl_DrawRedLines().