diff options
Diffstat (limited to 'src/plugins/platforms')
4 files changed, 14 insertions, 15 deletions
diff --git a/src/plugins/platforms/windows/qwindowsfontengine.cpp b/src/plugins/platforms/windows/qwindowsfontengine.cpp index eb293c51cd..b3bba55e97 100644 --- a/src/plugins/platforms/windows/qwindowsfontengine.cpp +++ b/src/plugins/platforms/windows/qwindowsfontengine.cpp @@ -356,19 +356,18 @@ HGDIOBJ QWindowsFontEngine::selectDesignFont() const return SelectObject(m_fontEngineData->hdc, designFont); } -bool QWindowsFontEngine::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const +bool QWindowsFontEngine::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QFontEngine::ShaperFlags flags) const { if (*nglyphs < len) { *nglyphs = len; return false; } - *nglyphs = getGlyphIndexes(str, len, glyphs, flags & QTextEngine::RightToLeft); + *nglyphs = getGlyphIndexes(str, len, glyphs, flags & RightToLeft); - if (flags & QTextEngine::GlyphIndicesOnly) - return true; + if (!(flags & GlyphIndicesOnly)) + recalcAdvances(glyphs, flags); - recalcAdvances(glyphs, flags); return true; } @@ -382,11 +381,11 @@ inline void calculateTTFGlyphWidth(HDC hdc, UINT glyph, int &width) #endif } -void QWindowsFontEngine::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const +void QWindowsFontEngine::recalcAdvances(QGlyphLayout *glyphs, QFontEngine::ShaperFlags flags) const { HGDIOBJ oldFont = 0; HDC hdc = m_fontEngineData->hdc; - if (ttf && (flags & QTextEngine::DesignMetrics)) { + if (ttf && (flags & DesignMetrics)) { for(int i = 0; i < glyphs->numGlyphs; i++) { unsigned int glyph = glyphs->glyphs[i]; if(int(glyph) >= designAdvancesSize) { diff --git a/src/plugins/platforms/windows/qwindowsfontengine.h b/src/plugins/platforms/windows/qwindowsfontengine.h index b4c4463e51..7b819b3600 100644 --- a/src/plugins/platforms/windows/qwindowsfontengine.h +++ b/src/plugins/platforms/windows/qwindowsfontengine.h @@ -89,8 +89,8 @@ public: virtual int synthesized() const; virtual QFixed emSquareSize() const; - virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const; - virtual void recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags) const; + virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, ShaperFlags flags) const; + virtual void recalcAdvances(QGlyphLayout *glyphs, ShaperFlags) const; virtual void addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, QTextItem::RenderFlags flags); virtual void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nglyphs, diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp index 16fd584c69..1f7c4f485b 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp @@ -310,13 +310,13 @@ inline unsigned int getChar(const QChar *str, int &i, const int len) } bool QWindowsFontEngineDirectWrite::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, - int *nglyphs, QTextEngine::ShaperFlags flags) const + int *nglyphs, QFontEngine::ShaperFlags flags) const { if (m_directWriteFontFace != 0) { QVarLengthArray<UINT32> codePoints(len); for (int i=0; i<len; ++i) { codePoints[i] = getChar(str, i, len); - if (flags & QTextEngine::RightToLeft) + if (flags & QFontEngine::RightToLeft) codePoints[i] = QChar::mirroredChar(codePoints[i]); } @@ -331,7 +331,7 @@ bool QWindowsFontEngineDirectWrite::stringToCMap(const QChar *str, int len, QGly *nglyphs = len; - if (!(flags & QTextEngine::GlyphIndicesOnly)) + if (!(flags & GlyphIndicesOnly)) recalcAdvances(glyphs, 0); return true; @@ -343,7 +343,7 @@ bool QWindowsFontEngineDirectWrite::stringToCMap(const QChar *str, int len, QGly return false; } -void QWindowsFontEngineDirectWrite::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags) const +void QWindowsFontEngineDirectWrite::recalcAdvances(QGlyphLayout *glyphs, QFontEngine::ShaperFlags) const { if (m_directWriteFontFace == 0) return; diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h index 54594f2949..f5f20d57ce 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h @@ -72,8 +72,8 @@ public: bool getSfntTableData(uint tag, uchar *buffer, uint *length) const; QFixed emSquareSize() const; - bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const; - void recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags) const; + bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, ShaperFlags flags) const; + void recalcAdvances(QGlyphLayout *glyphs, ShaperFlags) const; void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nglyphs, QPainterPath *path, QTextItem::RenderFlags flags); |