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
QFontEngineMulti Class Reference

#include <qfontengine_p.h>

Inheritance diagram for QFontEngineMulti:
Collaboration diagram for QFontEngineMulti:

Public Member Functions

 QFontEngineMulti (QFontEngine *engine, int script, const QStringList &fallbackFamilies=QStringList())
 ~QFontEngineMulti ()
virtual int glyphCount () const override
virtual glyph_t glyphIndex (uint ucs4) const override
virtual int stringToCMap (const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, ShaperFlags flags) const override
virtual glyph_metrics_t boundingBox (const QGlyphLayout &glyphs) override
virtual glyph_metrics_t boundingBox (glyph_t glyph) override
virtual void recalcAdvances (QGlyphLayout *, ShaperFlags) const override
virtual void doKerning (QGlyphLayout *, ShaperFlags) const override
virtual void addOutlineToPath (qreal, qreal, const QGlyphLayout &, QPainterPath *, QTextItem::RenderFlags flags) override
virtual void getGlyphBearings (glyph_t glyph, qreal *leftBearing=nullptr, qreal *rightBearing=nullptr) override
virtual QFixed emSquareSize () const override
virtual QFixed ascent () const override
virtual QFixed capHeight () const override
virtual QFixed descent () const override
virtual QFixed leading () const override
virtual QFixed xHeight () const override
virtual QFixed averageCharWidth () const override
virtual QImage alphaMapForGlyph (glyph_t) override
virtual QImage alphaMapForGlyph (glyph_t glyph, const QFixedPoint &subPixelPosition) override
virtual QImage alphaMapForGlyph (glyph_t, const QTransform &t) override
virtual QImage alphaMapForGlyph (glyph_t, const QFixedPoint &subPixelPosition, const QTransform &t) override
virtual QImage alphaRGBMapForGlyph (glyph_t, const QFixedPoint &subPixelPosition, const QTransform &t) override
virtual QFixed lineThickness () const override
virtual QFixed underlinePosition () const override
virtual qreal maxCharWidth () const override
virtual qreal minLeftBearing () const override
virtual qreal minRightBearing () const override
virtual QList< QFontVariableAxis > variableAxes () const override
virtual bool canRender (const QChar *string, int len) const override
QString glyphName (glyph_t glyph) const override
glyph_t findGlyph (QLatin1StringView name) const override
int fallbackFamilyCount () const
QString fallbackFamilyAt (int at) const
void setFallbackFamiliesList (const QStringList &fallbackFamilies)
QFontEngine * engine (int at) const
void ensureEngineAt (int at)
Public Member Functions inherited from QFontEngine
virtual ~QFontEngine ()
Type type () const
virtual Properties properties () const
virtual void getUnscaledGlyph (glyph_t glyph, QPainterPath *path, glyph_metrics_t *metrics)
QByteArray getSfntTable (uint tag) const
virtual bool getSfntTableData (uint tag, uchar *buffer, uint *length) const
virtual FaceId faceId () const
virtual int synthesized () const
bool supportsSubPixelPositions () const
virtual bool supportsHorizontalSubPixelPositions () const
virtual bool supportsVerticalSubPixelPositions () const
virtual QFixedPoint subPixelPositionFor (const QFixedPoint &position) const
QFixed subPixelPositionForX (QFixed x) const
bool preferTypoLineMetrics () const
bool isColorFont () const
virtual void addGlyphsToPath (glyph_t *glyphs, QFixedPoint *positions, int nglyphs, QPainterPath *path, QTextItem::RenderFlags flags)
void getGlyphPositions (const QGlyphLayout &glyphs, const QTransform &matrix, QTextItem::RenderFlags flags, QVarLengthArray< glyph_t > &glyphs_out, QVarLengthArray< QFixedPoint > &positions)
void addBitmapFontToPath (qreal x, qreal y, const QGlyphLayout &, QPainterPath *, QTextItem::RenderFlags)
virtual QImage bitmapForGlyph (glyph_t, const QFixedPoint &subPixelPosition, const QTransform &t, const QColor &color=QColor())
QImage renderedPathForGlyph (glyph_t glyph, const QColor &color)
qreal effectivePixelSizeSquared (const QTransform &transform) const
bool glyphTransformExceedsLimit (glyph_t glyph, const QTransform &transform)
virtual Glyph * glyphData (glyph_t glyph, const QFixedPoint &subPixelPosition, GlyphFormat neededFormat, const QTransform &t)
virtual bool hasInternalCaching () const
virtual glyph_metrics_t alphaMapBoundingBox (glyph_t glyph, const QFixedPoint &, const QTransform &matrix, GlyphFormat)
virtual void removeGlyphFromCache (glyph_t)
virtual glyph_metrics_t boundingBox (glyph_t glyph, const QTransform &matrix)
glyph_metrics_t tightBoundingBox (const QGlyphLayout &glyphs, QTextItem::RenderFlags flags)
bool canRender (uint ucs4) const
virtual bool supportsTransformation (const QTransform &transform) const
virtual int glyphMargin (GlyphFormat format)
bool hasHinting () const
virtual QFontEngine * cloneWithSize (qreal) const
virtual Qt::HANDLE handle () const
void * harfbuzzFont () const
void * harfbuzzFace () const
bool supportsScript (QChar::Script script) const
virtual int getPointInOutline (glyph_t glyph, int flags, quint32 point, QFixed *xpos, QFixed *ypos, quint32 *nPoints)
void clearGlyphCache (const void *key)
void setGlyphCache (const void *key, QFontEngineGlyphCache *data)
QFontEngineGlyphCache * glyphCache (const void *key, GlyphFormat format, const QTransform &transform, const QColor &color=QColor()) const
virtual bool hasUnreliableGlyphOutline () const
virtual bool expectsGammaCorrectedBlending (QFontEngine::GlyphFormat format) const
virtual void setDefaultHintStyle (HintStyle)
void loadKerningPairs (QFixed scalingFactor)

Static Public Member Functions

static uchar highByte (glyph_t glyph)
static QFontEngine * createMultiFontEngine (QFontEngine *fe, int script)
Static Public Member Functions inherited from QFontEngine
static bool isIgnorableChar (char32_t ucs4)
static int maxCachedGlyphSize ()
static bool glyphBoundingBoxExceedsLimit (qreal glyphWidth, qreal glyphHeight, qreal effectivePixelSizeSquared)
static bool scriptRequiresOpenType (QChar::Script script)
static const uchar * getCMap (const uchar *table, uint tableSize, bool *isSymbolFont, int *cmapSize)
static quint32 getTrueTypeGlyphIndex (const uchar *cmap, int cmapSize, uint unicode)
static QByteArray convertToPostscriptFontFamilyName (const QByteArray &fontFamily)
static bool disableEmojiSegmenter ()
static constexpr qsizetype maximumEngineCount ()

Protected Member Functions

virtual void ensureFallbackFamiliesQueried ()
virtual bool shouldLoadFontEngineForCharacter (int at, uint ucs4) const
virtual QFontEngine * loadEngine (int at)
Protected Member Functions inherited from QFontEngine
 QFontEngine (Type type)
QFixed firstLeftBearing (const QGlyphLayout &glyphs)
QFixed lastRightBearing (const QGlyphLayout &glyphs)
QFixed calculatedCapHeight () const
virtual void initializeHeightMetrics () const
bool processHheaTable () const
bool processOS2Table () const

Additional Inherited Members

Public Types inherited from QFontEngine
enum  Type {
  Box , Multi , Win , Mac ,
  Freetype , QPF1 , QPF2 , Proxy ,
  DirectWrite , TestFontEngine = 0x1000
}
enum  GlyphFormat {
  Format_None , Format_Render = Format_None , Format_Mono , Format_A8 ,
  Format_A32 , Format_ARGB
}
enum  ShaperFlag { DesignMetrics = 0x0002 , GlyphIndicesOnly = 0x0004 , FullStringFallback = 0x008 }
enum  SynthesizedFlags { SynthesizedItalic = 0x1 , SynthesizedBold = 0x2 , SynthesizedStretch = 0x4 }
enum  HintStyle {
  HintUnset = -1 , HintNone , HintLight , HintMedium ,
  HintFull
}
enum  SubpixelAntialiasingType {
  Subpixel_Unset = -1 , Subpixel_None , Subpixel_RGB , Subpixel_BGR ,
  Subpixel_VRGB , Subpixel_VBGR
}
Public Attributes inherited from QFontEngine
QAtomicInt ref
QFontDef fontDef
Holder font_
Holder face_
struct QFontEngine::FaceData faceData
uint cache_cost
uint fsType: 16
bool symbol
bool isSmoothlyScalable
QList< KernPair > kerning_pairs
GlyphFormat glyphFormat
int m_subPixelPositionCount
Protected Attributes inherited from QFontEngine
QFixed m_ascent
QFixed m_descent
QFixed m_leading
bool m_heightMetricsQueried

Detailed Description

Definition at line 465 of file qfontengine_p.h.

Constructor & Destructor Documentation

◆ QFontEngineMulti()

QFontEngineMulti::QFontEngineMulti ( QFontEngine * engine,
int script,
const QStringList & fallbackFamilies = QStringList() )
explicit

Definition at line 1978 of file qfontengine.cpp.

◆ ~QFontEngineMulti()

QFontEngineMulti::~QFontEngineMulti ( )

Definition at line 2000 of file qfontengine.cpp.

Member Function Documentation

◆ addOutlineToPath()

void QFontEngineMulti::addOutlineToPath ( qreal x,
qreal y,
const QGlyphLayout & glyphs,
QPainterPath * path,
QTextItem::RenderFlags flags )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2397 of file qfontengine.cpp.

◆ alphaMapForGlyph() [1/4]

QImage QFontEngineMulti::alphaMapForGlyph ( glyph_t glyph,
const QFixedPoint & subPixelPosition )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2632 of file qfontengine.cpp.

◆ alphaMapForGlyph() [2/4]

QImage QFontEngineMulti::alphaMapForGlyph ( glyph_t glyph)
overridevirtual

Create a qimage with the alpha values for the glyph. Returns an image indexed_8 with index values ranging from 0=fully transparent to 255=opaque

Reimplemented from QFontEngine.

Definition at line 2626 of file qfontengine.cpp.

◆ alphaMapForGlyph() [3/4]

QImage QFontEngineMulti::alphaMapForGlyph ( glyph_t glyph,
const QFixedPoint & subPixelPosition,
const QTransform & t )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2644 of file qfontengine.cpp.

◆ alphaMapForGlyph() [4/4]

QImage QFontEngineMulti::alphaMapForGlyph ( glyph_t glyph,
const QTransform & t )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2638 of file qfontengine.cpp.

◆ alphaRGBMapForGlyph()

QImage QFontEngineMulti::alphaRGBMapForGlyph ( glyph_t glyph,
const QFixedPoint & subPixelPosition,
const QTransform & t )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2652 of file qfontengine.cpp.

◆ ascent()

QFixed QFontEngineMulti::ascent ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2551 of file qfontengine.cpp.

◆ averageCharWidth()

QFixed QFontEngineMulti::averageCharWidth ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2570 of file qfontengine.cpp.

◆ boundingBox() [1/2]

glyph_metrics_t QFontEngineMulti::boundingBox ( const QGlyphLayout & glyphs)
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2327 of file qfontengine.cpp.

◆ boundingBox() [2/2]

glyph_metrics_t QFontEngineMulti::boundingBox ( glyph_t glyph)
overridevirtual

Implements QFontEngine.

Definition at line 2542 of file qfontengine.cpp.

◆ canRender()

bool QFontEngineMulti::canRender ( const QChar * string,
int len ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2600 of file qfontengine.cpp.

◆ capHeight()

QFixed QFontEngineMulti::capHeight ( ) const
overridevirtual

Implements QFontEngine.

Definition at line 2554 of file qfontengine.cpp.

◆ createMultiFontEngine()

QFontEngine * QFontEngineMulti::createMultiFontEngine ( QFontEngine * fe,
int script )
static

Definition at line 2673 of file qfontengine.cpp.

◆ descent()

QFixed QFontEngineMulti::descent ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2557 of file qfontengine.cpp.

◆ doKerning()

void QFontEngineMulti::doKerning ( QGlyphLayout * ,
ShaperFlags  ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2499 of file qfontengine.cpp.

◆ emSquareSize()

QFixed QFontEngineMulti::emSquareSize ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2548 of file qfontengine.cpp.

◆ engine()

QFontEngine * QFontEngineMulti::engine ( int at) const
inline

Definition at line 515 of file qfontengine_p.h.

◆ ensureEngineAt()

void QFontEngineMulti::ensureEngineAt ( int at)

Definition at line 2041 of file qfontengine.cpp.

◆ ensureFallbackFamiliesQueried()

void QFontEngineMulti::ensureFallbackFamiliesQueried ( )
protectedvirtual

Definition at line 2011 of file qfontengine.cpp.

◆ fallbackFamilyAt()

QString QFontEngineMulti::fallbackFamilyAt ( int at) const
inline

Definition at line 509 of file qfontengine_p.h.

◆ fallbackFamilyCount()

int QFontEngineMulti::fallbackFamilyCount ( ) const
inline

Definition at line 508 of file qfontengine_p.h.

◆ findGlyph()

glyph_t QFontEngineMulti::findGlyph ( QLatin1StringView name) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2119 of file qfontengine.cpp.

◆ getGlyphBearings()

void QFontEngineMulti::getGlyphBearings ( glyph_t glyph,
qreal * leftBearing = nullptr,
qreal * rightBearing = nullptr )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2390 of file qfontengine.cpp.

◆ glyphCount()

int QFontEngineMulti::glyphCount ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2077 of file qfontengine.cpp.

◆ glyphIndex()

glyph_t QFontEngineMulti::glyphIndex ( uint ucs4) const
overridevirtual

Implements QFontEngine.

Definition at line 2082 of file qfontengine.cpp.

◆ glyphName()

QString QFontEngineMulti::glyphName ( glyph_t glyph) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2112 of file qfontengine.cpp.

◆ highByte()

uchar QFontEngineMulti::highByte ( glyph_t glyph)
static

Definition at line 1971 of file qfontengine.cpp.

◆ leading()

QFixed QFontEngineMulti::leading ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2560 of file qfontengine.cpp.

◆ lineThickness()

QFixed QFontEngineMulti::lineThickness ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2575 of file qfontengine.cpp.

◆ loadEngine()

QFontEngine * QFontEngineMulti::loadEngine ( int at)
protectedvirtual

Definition at line 2056 of file qfontengine.cpp.

◆ maxCharWidth()

qreal QFontEngineMulti::maxCharWidth ( ) const
overridevirtual

Implements QFontEngine.

Definition at line 2585 of file qfontengine.cpp.

◆ minLeftBearing()

qreal QFontEngineMulti::minLeftBearing ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2590 of file qfontengine.cpp.

◆ minRightBearing()

qreal QFontEngineMulti::minRightBearing ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2595 of file qfontengine.cpp.

◆ recalcAdvances()

void QFontEngineMulti::recalcAdvances ( QGlyphLayout * ,
ShaperFlags  ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2456 of file qfontengine.cpp.

◆ setFallbackFamiliesList()

void QFontEngineMulti::setFallbackFamiliesList ( const QStringList & fallbackFamilies)

Definition at line 2022 of file qfontengine.cpp.

◆ shouldLoadFontEngineForCharacter()

bool QFontEngineMulti::shouldLoadFontEngineForCharacter ( int at,
uint ucs4 ) const
protectedvirtual

Reimplemented in QFontEngineMultiFontConfig.

Definition at line 2320 of file qfontengine.cpp.

◆ stringToCMap()

int QFontEngineMulti::stringToCMap ( const QChar * str,
int len,
QGlyphLayout * glyphs,
int * nglyphs,
ShaperFlags flags ) const
overridevirtual

Implements QFontEngine.

Definition at line 2124 of file qfontengine.cpp.

◆ underlinePosition()

QFixed QFontEngineMulti::underlinePosition ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2580 of file qfontengine.cpp.

◆ variableAxes()

QList< QFontVariableAxis > QFontEngineMulti::variableAxes ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2660 of file qfontengine.cpp.

◆ xHeight()

QFixed QFontEngineMulti::xHeight ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 2565 of file qfontengine.cpp.


The documentation for this class was generated from the following files: