Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qtextengine.cpp File Reference
#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 dependency graph for qtextengine.cpp:

Go to the source code of this file.

Classes

struct  QJustificationPoint
 

Macros

#define BIDI_DEBUG   if (1) ; else qDebug
 

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
}
 

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 bool isRetainableControlCode (QChar c)
 
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.

Enumeration Type Documentation

◆ JustificationClass

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 

Definition at line 1195 of file qtextengine.cpp.

Function Documentation

◆ applyVisibilityRules()

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

Definition at line 1322 of file qtextengine.cpp.

References QGlyphLayout::attributes, QChar::CarriageReturn, QGlyphAttributes::dontPrint, QFontEngine::glyphIndex(), QGlyphLayout::glyphs, QChar::LineFeed, QChar::LineSeparator, QGlyphLayout::mid(), QChar::ParagraphSeparator, Q_LIKELY, QFontEngine::recalcAdvances(), QChar::SoftHyphen, and QFontEngine::symbol.

+ Here is the call graph for this function:

◆ isRetainableControlCode()

static bool isRetainableControlCode ( QChar  c)
inlinestatic

Definition at line 2958 of file qtextengine.cpp.

Referenced by stringMidRetainingBidiCC().

+ Here is the caller graph for this function:

◆ nextCharJoins()

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

Definition at line 2938 of file qtextengine.cpp.

References at, category(), QChar::Joining_None, QChar::Joining_Transparent, QChar::Mark_NonSpacing, and pos.

Referenced by QTextEngine::elidedText().

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

◆ prevCharJoins()

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

Definition at line 2948 of file qtextengine.cpp.

References at, category(), QChar::Joining_Causing, QChar::Joining_Dual, QChar::Mark_NonSpacing, and pos.

Referenced by QTextEngine::elidedText().

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

◆ 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 3808 of file qtextengine.cpp.

References QTransform::fromTranslate(), and rect.

Referenced by glyph_metrics_t::transformed().

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

◆ releaseCachedFontEngine()

static void releaseCachedFontEngine ( QFontEngine fontEngine)
inlinestatic

Definition at line 1878 of file qtextengine.cpp.

References QBasicAtomicInteger< T >::deref(), and QFontEngine::ref.

Referenced by QTextEngine::fontEngine(), and QTextEngine::resetFontEngineCache().

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

◆ set()

static void set ( QJustificationPoint point,
int  type,
const QGlyphLayout glyph,
QFontEngine fe 
)
static

Definition at line 2409 of file qtextengine.cpp.

References ch, QJustificationPoint::glyph, QFontEngine::glyphIndex(), Justification_Arabic_Normal, Justification_Prohibited, QJustificationPoint::kashidaWidth, QFontEngine::recalcAdvances(), and QJustificationPoint::type.

+ Here is the call graph for this function:

◆ stringMidRetainingBidiCC()

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

Definition at line 2965 of file qtextengine.cpp.

References i, isRetainableControlCode(), and QStringView::mid().

Referenced by QTextEngine::elidedText().

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

Variable Documentation

◆ smallCapsFraction

QT_BEGIN_NAMESPACE const float smallCapsFraction = 0.7f
static

Definition at line 29 of file qtextengine.cpp.

Referenced by QTextEngine::fontEngine().