diff options
-rw-r--r-- | src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp | 9 | ||||
-rw-r--r-- | src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp index 3490ebfc80..48aae703a4 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp @@ -242,9 +242,18 @@ void QWindowsFontEngineDirectWrite::collectMetrics() m_descent = DESIGN_TO_LOGICAL(metrics.descent); m_xHeight = DESIGN_TO_LOGICAL(metrics.xHeight); m_lineGap = DESIGN_TO_LOGICAL(metrics.lineGap); + m_underlinePosition = DESIGN_TO_LOGICAL(metrics.underlinePosition); } } +QFixed QWindowsFontEngineDirectWrite::underlinePosition() const +{ + if (m_underlinePosition > 0) + return m_underlinePosition; + else + return QFontEngine::underlinePosition(); +} + QFixed QWindowsFontEngineDirectWrite::lineThickness() const { if (m_lineThickness > 0) diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h index 32444c7cb0..195748a886 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h @@ -69,6 +69,7 @@ public: void initFontInfo(const QFontDef &request, int dpi, IDWriteFont *font); QFixed lineThickness() const; + QFixed underlinePosition() const; bool getSfntTableData(uint tag, uchar *buffer, uint *length) const; QFixed emSquareSize() const; @@ -115,6 +116,7 @@ private: IDWriteBitmapRenderTarget *m_directWriteBitmapRenderTarget; QFixed m_lineThickness; + QFixed m_underlinePosition; int m_unitsPerEm; QFixed m_ascent; QFixed m_descent; |