diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2014-02-03 20:38:20 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-04 13:37:14 +0100 |
commit | 19463c5c3f4b5b25eff557c813d6e6975ebc2491 (patch) | |
tree | b67027716972882ab23379586bee705326739783 /src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp | |
parent | 2edf3ba5a718415e5a9a327156289bed4484cdea (diff) |
Fix character mirroring issue with HarfBuzz-NG
HarfBuzz-NG does character mirroring where appropriate.
A simple solution is to unset RightToLeft shaper flag when
text gets shaped with HB-NG. Instead, move the mirroring code
right to HB-old proxy function and decrease code duplication.
Change-Id: Icdcd50b73b3e6a43da4b85addc7d8f51edf86512
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp index f603dd5c53..ce5ea8167f 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp @@ -325,13 +325,8 @@ bool QWindowsFontEngineDirectWrite::stringToCMap(const QChar *str, int len, QGly QVarLengthArray<UINT32> codePoints(len); int actualLength = 0; - if (flags & QFontEngine::RightToLeft) { - for (int i = 0; i < len; ++i) - codePoints[actualLength++] = QChar::mirroredChar(getChar(str, i, len)); - } else { - for (int i = 0; i < len; ++i) - codePoints[actualLength++] = getChar(str, i, len); - } + for (int i = 0; i < len; ++i) + codePoints[actualLength++] = getChar(str, i, len); QVarLengthArray<UINT16> glyphIndices(actualLength); HRESULT hr = m_directWriteFontFace->GetGlyphIndicesW(codePoints.data(), actualLength, |