Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QUnicodeTools Namespace Reference

Namespaces

namespace  GB
 
namespace  LB
 
namespace  SB
 
namespace  Tailored
 
namespace  WB
 

Classes

struct  ScriptItem
 

Typedefs

using ScriptItemArray = QVarLengthArray< ScriptItem, 64 >
 

Enumerations

enum  CharAttributeOption {
  GraphemeBreaks = 0x01 , WordBreaks = 0x02 , SentenceBreaks = 0x04 , LineBreaks = 0x08 ,
  WhiteSpaces = 0x10 , HangulLineBreakTailoring = 0x20 , DontClearAttributes = 0x1000
}
 

Functions

static void getGraphemeBreaks (const char16_t *string, qsizetype len, QCharAttributes *attributes)
 
static void getWordBreaks (const char16_t *string, qsizetype len, QCharAttributes *attributes)
 
static void getSentenceBreaks (const char16_t *string, qsizetype len, QCharAttributes *attributes)
 
static void getLineBreaks (const char16_t *string, qsizetype len, QCharAttributes *attributes, QUnicodeTools::CharAttributeOptions options)
 
static void getWhiteSpaces (const char16_t *string, qsizetype len, QCharAttributes *attributes)
 
Q_CORE_EXPORT void initCharAttributes (QStringView string, const ScriptItem *items, qsizetype numItems, QCharAttributes *attributes, CharAttributeOptions options)
 
Q_CORE_EXPORT void initScripts (QStringView string, ScriptItemArray *scripts)
 

Typedef Documentation

◆ ScriptItemArray

Definition at line 45 of file qunicodetools_p.h.

Enumeration Type Documentation

◆ CharAttributeOption

Enumerator
GraphemeBreaks 
WordBreaks 
SentenceBreaks 
LineBreaks 
WhiteSpaces 
HangulLineBreakTailoring 
DontClearAttributes 

Definition at line 51 of file qunicodetools_p.h.

Function Documentation

◆ getGraphemeBreaks()

static void QUnicodeTools::getGraphemeBreaks ( const char16_t *  string,
qsizetype  len,
QCharAttributes attributes 
)
static

◆ getLineBreaks()

static void QUnicodeTools::getLineBreaks ( const char16_t *  string,
qsizetype  len,
QCharAttributes attributes,
QUnicodeTools::CharAttributeOptions  options 
)
static

Definition at line 604 of file qunicodetools.cpp.

References QUnicodeTools::LB::NS::actionTable, QUnicodeTools::LB::NS::Break, QUnicodeTools::LB::breakTable, QUnicodeTables::Properties::category, QUnicodeTools::LB::CombiningIndirectBreak, QUnicodeTools::LB::CombiningProhibitedBreak, QUnicodeTools::LB::DirectBreak, QUnicodeTables::Properties::eastAsianWidth, QUnicodeTables::F, FLAG, QUnicodeTables::GraphemeBreak_Extended_Pictographic, QUnicodeTables::Properties::graphemeBreakClass, QUnicodeTables::H, HangulLineBreakTailoring, i, QUnicodeTools::LB::IndirectBreak, QUnicodeTools::LB::IndirectBreakIfNarrow, QChar::isHighSurrogate(), QChar::isLowSurrogate(), j, QCharAttributes::lineBreak, lineBreak(), QUnicodeTables::LineBreak_AL, QUnicodeTables::LineBreak_CM, QUnicodeTables::LineBreak_CR, QUnicodeTables::LineBreak_EM, QUnicodeTables::LineBreak_H2, QUnicodeTables::LineBreak_HL, QUnicodeTables::LineBreak_ID, QUnicodeTables::LineBreak_JT, QUnicodeTables::LineBreak_LF, QUnicodeTables::LineBreak_RI, QUnicodeTables::LineBreak_SA, QUnicodeTables::LineBreak_SP, QUnicodeTables::LineBreak_ZW, QUnicodeTables::LineBreak_ZWJ, QUnicodeTables::Properties::lineBreakClass, QCharAttributes::mandatoryBreak, QChar::Mark_NonSpacing, QChar::Mark_SpacingCombining, next, QUnicodeTools::LB::NS::None, QChar::Other_NotAssigned, pos, QUnicodeTools::LB::ProhibitedBreak, QUnicodeTools::LB::ProhibitedBreakAfterHebrewPlusHyphen, QUnicodeTables::properties(), Q_FALLTHROUGH, Q_UNLIKELY, QUnicodeTools::LB::NS::Start, QChar::surrogateToUcs4(), QUnicodeTools::LB::NS::toClass(), QUnicodeTables::W, and QUnicodeTools::LB::NS::XX.

Referenced by initCharAttributes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSentenceBreaks()

static void QUnicodeTools::getSentenceBreaks ( const char16_t *  string,
qsizetype  len,
QCharAttributes attributes 
)
static

◆ getWhiteSpaces()

static void QUnicodeTools::getWhiteSpaces ( const char16_t *  string,
qsizetype  len,
QCharAttributes attributes 
)
static

Definition at line 791 of file qunicodetools.cpp.

References i, QChar::isHighSurrogate(), QChar::isLowSurrogate(), QChar::isSpace(), Q_UNLIKELY, QChar::surrogateToUcs4(), and QCharAttributes::whiteSpace.

Referenced by initCharAttributes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getWordBreaks()

static void QUnicodeTools::getWordBreaks ( const char16_t *  string,
qsizetype  len,
QCharAttributes attributes 
)
static

◆ initCharAttributes()

Q_CORE_EXPORT void QUnicodeTools::initCharAttributes ( QStringView  string,
const ScriptItem items,
qsizetype  numItems,
QCharAttributes attributes,
CharAttributeOptions  options 
)

Definition at line 2330 of file qunicodetools.cpp.

References DontClearAttributes, QUnicodeTools::Tailored::getCharAttributes(), getGraphemeBreaks(), getLineBreaks(), getSentenceBreaks(), getWhiteSpaces(), getWordBreaks(), GraphemeBreaks, items, LineBreaks, qt_initcharattributes_default_algorithm_only, SentenceBreaks, WhiteSpaces, and WordBreaks.

Referenced by QTextEngine::attributes(), and init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initScripts()

Q_CORE_EXPORT void QUnicodeTools::initScripts ( QStringView  string,
ScriptItemArray scripts 
)

Definition at line 2366 of file qunicodetools.cpp.

References QVarLengthArray< T, Prealloc >::append(), QUnicodeTables::Properties::category, FLAG, i, QChar::isHighSurrogate(), QChar::isLowSurrogate(), QChar::Mark_Enclosing, QChar::Mark_NonSpacing, QChar::Mark_SpacingCombining, QUnicodeTables::properties(), Q_ASSERT, Q_LIKELY, Q_UNLIKELY, QUnicodeTables::Properties::script, QChar::Script_Common, and QChar::surrogateToUcs4().

Referenced by init(), and QTextEngine::itemize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: