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

Standard Windows font engine. More...

#include <qwindowsfontengine_p.h>

Inheritance diagram for QWindowsFontEngine:
Collaboration diagram for QWindowsFontEngine:

Public Member Functions

 QWindowsFontEngine (const QString &name, LOGFONT lf, const QSharedPointer< QWindowsFontEngineData > &fontEngineData)
 ~QWindowsFontEngine () override
void initFontInfo (const QFontDef &request, int dpi)
QFixed lineThickness () const override
Properties properties () const override
void getUnscaledGlyph (glyph_t glyph, QPainterPath *path, glyph_metrics_t *metrics) override
FaceId faceId () const override
bool getSfntTableData (uint tag, uchar *buffer, uint *length) const override
 Returns true if the font table idetified by tag exists in the font; returns false otherwise.
int synthesized () const override
QFixed emSquareSize () const override
glyph_t glyphIndex (uint ucs4) const override
int stringToCMap (const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, ShaperFlags flags) const override
void recalcAdvances (QGlyphLayout *glyphs, ShaperFlags) const override
void addOutlineToPath (qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, QTextItem::RenderFlags flags) override
void addGlyphsToPath (glyph_t *glyphs, QFixedPoint *positions, int nglyphs, QPainterPath *path, QTextItem::RenderFlags flags) override
HGDIOBJ selectDesignFont () const
glyph_metrics_t boundingBox (glyph_t g) override
glyph_metrics_t boundingBox (glyph_t g, const QTransform &t) override
QFixed xHeight () const override
QFixed capHeight () const override
QFixed averageCharWidth () const override
qreal maxCharWidth () const override
qreal minLeftBearing () const override
qreal minRightBearing () const override
QImage alphaMapForGlyph (glyph_t t) override
QImage alphaMapForGlyph (glyph_t, const QTransform &xform) override
QImage alphaRGBMapForGlyph (glyph_t t, const QFixedPoint &subPixelPosition, const QTransform &xform) override
glyph_metrics_t alphaMapBoundingBox (glyph_t glyph, const QFixedPoint &, const QTransform &matrix, GlyphFormat) override
QFontEnginecloneWithSize (qreal pixelSize) const override
Qt::HANDLE handle () const override
bool supportsTransformation (const QTransform &transform) const override
void getGlyphBearings (glyph_t glyph, qreal *leftBearing=nullptr, qreal *rightBearing=nullptr) override
bool hasUnreliableGlyphOutline () const override
int getGlyphIndexes (const QChar *ch, int numChars, QGlyphLayout *glyphs, int *mappedGlyphs) const
void getCMap ()
bool getOutlineMetrics (glyph_t glyph, const QTransform &t, glyph_metrics_t *metrics) const
const QSharedPointer< QWindowsFontEngineData > & fontEngineData () const
void setUniqueFamilyName (const QString &newName)
Public Member Functions inherited from QFontEngine
virtual ~QFontEngine ()
Type type () const
QByteArray getSfntTable (uint tag) 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 doKerning (QGlyphLayout *, ShaperFlags) const
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 alphaMapForGlyph (glyph_t glyph, const QFixedPoint &subPixelPosition)
virtual QImage alphaMapForGlyph (glyph_t, const QFixedPoint &subPixelPosition, const QTransform &t)
virtual QImage bitmapForGlyph (glyph_t, const QFixedPoint &subPixelPosition, const QTransform &t, const QColor &color=QColor())
QImage renderedPathForGlyph (glyph_t glyph, const QColor &color)
virtual GlyphglyphData (glyph_t glyph, const QFixedPoint &subPixelPosition, GlyphFormat neededFormat, const QTransform &t)
virtual bool hasInternalCaching () const
virtual void removeGlyphFromCache (glyph_t)
virtual glyph_metrics_t boundingBox (const QGlyphLayout &glyphs)
glyph_metrics_t tightBoundingBox (const QGlyphLayout &glyphs)
virtual QFixed ascent () const
virtual QFixed descent () const
virtual QFixed leading () const
virtual QFixed underlinePosition () const
bool canRender (uint ucs4) const
virtual bool canRender (const QChar *str, int len) const
virtual int glyphCount () const
virtual int glyphMargin (GlyphFormat format)
virtual QList< QFontVariableAxisvariableAxes () const
virtual QString glyphName (glyph_t index) const
virtual glyph_t findGlyph (QLatin1StringView name) const
voidharfbuzzFont () const
voidharfbuzzFace () 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)
QFontEngineGlyphCacheglyphCache (const void *key, GlyphFormat format, const QTransform &transform, const QColor &color=QColor()) const
virtual bool expectsGammaCorrectedBlending () const
virtual void setDefaultHintStyle (HintStyle)
void loadKerningPairs (QFixed scalingFactor)

Protected Member Functions

void initializeHeightMetrics () const override
Protected Member Functions inherited from QFontEngine
 QFontEngine (Type type)
QFixed firstLeftBearing (const QGlyphLayout &glyphs)
QFixed lastRightBearing (const QGlyphLayout &glyphs)
QFixed calculatedCapHeight () 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 { HintNone , HintLight , HintMedium , HintFull }
enum  SubpixelAntialiasingType {
  Subpixel_None , Subpixel_RGB , Subpixel_BGR , Subpixel_VRGB ,
  Subpixel_VBGR
}
Static Public Member Functions inherited from QFontEngine
static bool isIgnorableChar (char32_t ucs4)
static bool scriptRequiresOpenType (QChar::Script script)
static const uchargetCMap (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 ()
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< KernPairkerning_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

Standard Windows font engine.

Will probably be superseded by a common Free Type font engine in Qt 5.X.

Definition at line 31 of file qwindowsfontengine_p.h.

Constructor & Destructor Documentation

◆ QWindowsFontEngine()

QWindowsFontEngine::QWindowsFontEngine ( const QString & name,
LOGFONT lf,
const QSharedPointer< QWindowsFontEngineData > & fontEngineData )

Definition at line 187 of file qwindowsfontengine.cpp.

◆ ~QWindowsFontEngine()

QWindowsFontEngine::~QWindowsFontEngine ( )
override

Definition at line 221 of file qwindowsfontengine.cpp.

Member Function Documentation

◆ addGlyphsToPath()

void QWindowsFontEngine::addGlyphsToPath ( glyph_t * glyphs,
QFixedPoint * positions,
int nglyphs,
QPainterPath * path,
QTextItem::RenderFlags flags )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 755 of file qwindowsfontengine.cpp.

◆ addOutlineToPath()

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

Reimplemented from QFontEngine.

Definition at line 785 of file qwindowsfontengine.cpp.

◆ alphaMapBoundingBox()

glyph_metrics_t QWindowsFontEngine::alphaMapBoundingBox ( glyph_t glyph,
const QFixedPoint & ,
const QTransform & matrix,
GlyphFormat format )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 994 of file qwindowsfontengine.cpp.

◆ alphaMapForGlyph() [1/2]

QImage QWindowsFontEngine::alphaMapForGlyph ( glyph_t glyph)
inlineoverridevirtual

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 71 of file qwindowsfontengine_p.h.

◆ alphaMapForGlyph() [2/2]

QImage QWindowsFontEngine::alphaMapForGlyph ( glyph_t glyph,
const QTransform & xform )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 1008 of file qwindowsfontengine.cpp.

◆ alphaRGBMapForGlyph()

QImage QWindowsFontEngine::alphaRGBMapForGlyph ( glyph_t t,
const QFixedPoint & subPixelPosition,
const QTransform & xform )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 1062 of file qwindowsfontengine.cpp.

◆ averageCharWidth()

QFixed QWindowsFontEngine::averageCharWidth ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 502 of file qwindowsfontengine.cpp.

◆ boundingBox() [1/2]

glyph_metrics_t QWindowsFontEngine::boundingBox ( glyph_t g)
inlineoverridevirtual

Implements QFontEngine.

Definition at line 60 of file qwindowsfontengine_p.h.

◆ boundingBox() [2/2]

glyph_metrics_t QWindowsFontEngine::boundingBox ( glyph_t g,
const QTransform & t )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 417 of file qwindowsfontengine.cpp.

◆ capHeight()

QFixed QWindowsFontEngine::capHeight ( ) const
overridevirtual

Implements QFontEngine.

Definition at line 481 of file qwindowsfontengine.cpp.

◆ cloneWithSize()

QFontEngine * QWindowsFontEngine::cloneWithSize ( qreal pixelSize) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 1098 of file qwindowsfontengine.cpp.

◆ emSquareSize()

QFixed QWindowsFontEngine::emSquareSize ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 834 of file qwindowsfontengine.cpp.

◆ faceId()

QFontEngine::FaceId QWindowsFontEngine::faceId ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 801 of file qwindowsfontengine.cpp.

◆ fontEngineData()

const QSharedPointer< QWindowsFontEngineData > & QWindowsFontEngine::fontEngineData ( ) const
inline

Definition at line 96 of file qwindowsfontengine_p.h.

◆ getCMap()

void QWindowsFontEngine::getCMap ( )

Definition at line 98 of file qwindowsfontengine.cpp.

◆ getGlyphBearings()

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

Reimplemented from QFontEngine.

Definition at line 538 of file qwindowsfontengine.cpp.

◆ getGlyphIndexes()

int QWindowsFontEngine::getGlyphIndexes ( const QChar * ch,
int numChars,
QGlyphLayout * glyphs,
int * mappedGlyphs ) const

Definition at line 136 of file qwindowsfontengine.cpp.

◆ getOutlineMetrics()

bool QWindowsFontEngine::getOutlineMetrics ( glyph_t glyph,
const QTransform & t,
glyph_metrics_t * metrics ) const

Definition at line 364 of file qwindowsfontengine.cpp.

◆ getSfntTableData()

bool QWindowsFontEngine::getSfntTableData ( uint tag,
uchar * buffer,
uint * length ) const
overridevirtual

Returns true if the font table idetified by tag exists in the font; returns false otherwise.

If buffer is \nullptr, stores the size of the buffer required for the font table data, in bytes, in length. If buffer is not \nullptr and the capacity of the buffer, passed in length, is sufficient to store the font table data, also copies the font table data to buffer.

Note: returning false when the font table exists could lead to an undefined behavior.

Reimplemented from QFontEngine.

Definition at line 884 of file qwindowsfontengine.cpp.

◆ getUnscaledGlyph()

void QWindowsFontEngine::getUnscaledGlyph ( glyph_t glyph,
QPainterPath * path,
glyph_metrics_t * metrics )
overridevirtual

Reimplemented from QFontEngine.

Definition at line 866 of file qwindowsfontengine.cpp.

References synthesized().

Here is the call graph for this function:

◆ glyphIndex()

glyph_t QWindowsFontEngine::glyphIndex ( uint ucs4) const
overridevirtual

Implements QFontEngine.

Definition at line 244 of file qwindowsfontengine.cpp.

◆ handle()

Qt::HANDLE QWindowsFontEngine::handle ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 1124 of file qwindowsfontengine.cpp.

◆ hasUnreliableGlyphOutline()

bool QWindowsFontEngine::hasUnreliableGlyphOutline ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 565 of file qwindowsfontengine.cpp.

◆ initFontInfo()

void QWindowsFontEngine::initFontInfo ( const QFontDef & request,
int dpi )

Definition at line 1129 of file qwindowsfontengine.cpp.

◆ initializeHeightMetrics()

void QWindowsFontEngine::initializeHeightMetrics ( ) const
overrideprotectedvirtual

Reimplemented from QFontEngine.

Definition at line 556 of file qwindowsfontengine.cpp.

◆ lineThickness()

QFixed QWindowsFontEngine::lineThickness ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 62 of file qwindowsfontengine.cpp.

◆ maxCharWidth()

qreal QWindowsFontEngine::maxCharWidth ( ) const
overridevirtual

Implements QFontEngine.

Definition at line 507 of file qwindowsfontengine.cpp.

◆ minLeftBearing()

qreal QWindowsFontEngine::minLeftBearing ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 570 of file qwindowsfontengine.cpp.

◆ minRightBearing()

qreal QWindowsFontEngine::minRightBearing ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 578 of file qwindowsfontengine.cpp.

References char_table_entries.

◆ properties()

QFontEngine::Properties QWindowsFontEngine::properties ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 839 of file qwindowsfontengine.cpp.

◆ recalcAdvances()

void QWindowsFontEngine::recalcAdvances ( QGlyphLayout * glyphs,
ShaperFlags  ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 293 of file qwindowsfontengine.cpp.

◆ selectDesignFont()

HGDIOBJ QWindowsFontEngine::selectDesignFont ( ) const

Definition at line 261 of file qwindowsfontengine.cpp.

◆ setUniqueFamilyName()

void QWindowsFontEngine::setUniqueFamilyName ( const QString & newName)
inline

Definition at line 98 of file qwindowsfontengine_p.h.

◆ stringToCMap()

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

Implements QFontEngine.

Definition at line 270 of file qwindowsfontengine.cpp.

◆ supportsTransformation()

bool QWindowsFontEngine::supportsTransformation ( const QTransform & transform) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 1146 of file qwindowsfontengine.cpp.

◆ synthesized()

QT_BEGIN_INCLUDE_NAMESPACE QT_END_INCLUDE_NAMESPACE int QWindowsFontEngine::synthesized ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 810 of file qwindowsfontengine.cpp.

Referenced by getUnscaledGlyph().

Here is the caller graph for this function:

◆ xHeight()

QFixed QWindowsFontEngine::xHeight ( ) const
overridevirtual

Reimplemented from QFontEngine.

Definition at line 495 of file qwindowsfontengine.cpp.


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