Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtextengine.cpp File Reference

(5d357dfea9b1cd3f94030a0aad7b59fcc05f5e38)

#include <QtGui/private/qtguiglobal_p.h>
#include "qdebug.h"
#include "qtextformat.h"
#include "qtextformat_p.h"
#include "qtextengine_p.h"
#include "qabstracttextdocumentlayout.h"
#include "qabstracttextdocumentlayout_p.h"
#include "qtextlayout.h"
#include "qtextboundaryfinder.h"
#include <QtCore/private/qunicodetables_p.h>
#include "qvarlengtharray.h"
#include "qfont.h"
#include "qfont_p.h"
#include "qfontengine_p.h"
#include "qstring.h"
#include "qtextdocument_p.h"
#include "qrawfont.h"
#include "qrawfont_p.h"
#include <qguiapplication.h>
#include <qinputmethod.h>
#include <algorithm>
#include <stdlib.h>
#include "../../3rdparty/emoji-segmenter/emoji_presentation_scanner.c"
Include dependency graph for qtextengine.cpp:

Go to the source code of this file.

Classes

struct  QJustificationPoint

Macros

#define BIDI_DEBUG   if (1) ; else qDebug
#define EMOJI_LINKAGE   static

Enumerations

enum  JustificationClass {
  Justification_Prohibited = 0 , Justification_Arabic_Space = 1 , Justification_Character = 2 , Justification_Space = 4 ,
  Justification_Arabic_Normal = 7 , Justification_Arabic_Waw = 8 , Justification_Arabic_BaRa = 9 , Justification_Arabic_Alef = 10 ,
  Justification_Arabic_HahDal = 11 , Justification_Arabic_Seen = 12 , Justification_Arabic_Kashida = 13 , Justification_Prohibited = 0 ,
  Justification_Arabic_Space = 1 , Justification_Character = 2 , Justification_Space = 4 , Justification_Arabic_Normal = 7 ,
  Justification_Arabic_Waw = 8 , Justification_Arabic_BaRa = 9 , Justification_Arabic_Alef = 10 , Justification_Arabic_HahDal = 11 ,
  Justification_Arabic_Seen = 12 , Justification_Arabic_Kashida = 13
}
enum  JustificationClass {
  Justification_Prohibited = 0 , Justification_Arabic_Space = 1 , Justification_Character = 2 , Justification_Space = 4 ,
  Justification_Arabic_Normal = 7 , Justification_Arabic_Waw = 8 , Justification_Arabic_BaRa = 9 , Justification_Arabic_Alef = 10 ,
  Justification_Arabic_HahDal = 11 , Justification_Arabic_Seen = 12 , Justification_Arabic_Kashida = 13 , Justification_Prohibited = 0 ,
  Justification_Arabic_Space = 1 , Justification_Character = 2 , Justification_Space = 4 , Justification_Arabic_Normal = 7 ,
  Justification_Arabic_Waw = 8 , Justification_Arabic_BaRa = 9 , Justification_Arabic_Alef = 10 , Justification_Arabic_HahDal = 11 ,
  Justification_Arabic_Seen = 12 , Justification_Arabic_Kashida = 13
}

Functions

static void applyVisibilityRules (ushort ucs, QGlyphLayout *glyphs, uint glyphPosition, QFontEngine *fontEngine)
static void releaseCachedFontEngine (QFontEngine *fontEngine)
 Q_DECLARE_TYPEINFO (QJustificationPoint, Q_PRIMITIVE_TYPE)
static void set (QJustificationPoint *point, int type, const QGlyphLayout &glyph, QFontEngine *fe)
static bool nextCharJoins (const QString &string, int pos)
static bool prevCharJoins (const QString &string, int pos)
static constexpr bool isRetainableControlCode (char16_t c) noexcept
static QString stringMidRetainingBidiCC (const QString &string, const QString &ellidePrefix, const QString &ellideSuffix, int subStringFrom, int subStringTo, int midStart, int midLength)
QTransform qt_true_matrix (qreal w, qreal h, const QTransform &x)

Variables

static QT_BEGIN_NAMESPACE const float smallCapsFraction = 0.7f

Macro Definition Documentation

◆ BIDI_DEBUG

#define BIDI_DEBUG   if (1) ; else qDebug

Definition at line 187 of file qtextengine.cpp.

◆ EMOJI_LINKAGE

#define EMOJI_LINKAGE   static

Definition at line 22 of file qtextengine.cpp.

Enumeration Type Documentation

◆ JustificationClass [1/2]

Enumerator
Justification_Prohibited 
Justification_Arabic_Space 
Justification_Character 
Justification_Space 
Justification_Arabic_Normal 
Justification_Arabic_Waw 
Justification_Arabic_BaRa 
Justification_Arabic_Alef 
Justification_Arabic_HahDal 
Justification_Arabic_Seen 
Justification_Arabic_Kashida 
Justification_Prohibited 
Justification_Arabic_Space 
Justification_Character 
Justification_Space 
Justification_Arabic_Normal 
Justification_Arabic_Waw 
Justification_Arabic_BaRa 
Justification_Arabic_Alef 
Justification_Arabic_HahDal 
Justification_Arabic_Seen 
Justification_Arabic_Kashida 

Definition at line 1196 of file qtextengine.cpp.

◆ JustificationClass [2/2]

Enumerator
Justification_Prohibited 
Justification_Arabic_Space 
Justification_Character 
Justification_Space 
Justification_Arabic_Normal 
Justification_Arabic_Waw 
Justification_Arabic_BaRa 
Justification_Arabic_Alef 
Justification_Arabic_HahDal 
Justification_Arabic_Seen 
Justification_Arabic_Kashida 
Justification_Prohibited 
Justification_Arabic_Space 
Justification_Character 
Justification_Space 
Justification_Arabic_Normal 
Justification_Arabic_Waw 
Justification_Arabic_BaRa 
Justification_Arabic_Alef 
Justification_Arabic_HahDal 
Justification_Arabic_Seen 
Justification_Arabic_Kashida 

Definition at line 1196 of file qtextengine.cpp.

Function Documentation

◆ applyVisibilityRules()

void applyVisibilityRules ( ushort ucs,
QGlyphLayout * glyphs,
uint glyphPosition,
QFontEngine * fontEngine )
static

Definition at line 1323 of file qtextengine.cpp.

References QGlyphLayout::attributes, QGlyphLayout::glyphs, and QGlyphLayout::mid().

Here is the call graph for this function:

◆ isRetainableControlCode()

constexpr bool isRetainableControlCode ( char16_t c)
staticconstexprnoexcept

Definition at line 3117 of file qtextengine.cpp.

Referenced by stringMidRetainingBidiCC().

Here is the caller graph for this function:

◆ nextCharJoins()

bool nextCharJoins ( const QString & string,
int pos )
inlinestatic

Definition at line 3097 of file qtextengine.cpp.

◆ prevCharJoins()

bool prevCharJoins ( const QString & string,
int pos )
inlinestatic

Definition at line 3107 of file qtextengine.cpp.

◆ Q_DECLARE_TYPEINFO()

Q_DECLARE_TYPEINFO ( QJustificationPoint ,
Q_PRIMITIVE_TYPE  )

◆ qt_true_matrix()

QTransform qt_true_matrix ( qreal w,
qreal h,
const QTransform & x )

Definition at line 3967 of file qtextengine.cpp.

◆ releaseCachedFontEngine()

void releaseCachedFontEngine ( QFontEngine * fontEngine)
inlinestatic

Definition at line 1890 of file qtextengine.cpp.

◆ set()

◆ stringMidRetainingBidiCC()

QString stringMidRetainingBidiCC ( const QString & string,
const QString & ellidePrefix,
const QString & ellideSuffix,
int subStringFrom,
int subStringTo,
int midStart,
int midLength )
static

Definition at line 3124 of file qtextengine.cpp.

References isRetainableControlCode().

Here is the call graph for this function:

Variable Documentation

◆ smallCapsFraction

QT_BEGIN_NAMESPACE const float smallCapsFraction = 0.7f
static

Definition at line 34 of file qtextengine.cpp.