diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-12-11 13:17:03 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-01-03 07:46:20 +0000 |
commit | 2b2b9c9962e09db1f1ea34773959e3cc626ecce4 (patch) | |
tree | 2d9e266afd4f82497055d433ddf301d1c1c87c03 /src/corelib/tools/qstringalgorithms.h | |
parent | f28ef0eca9d51cf4191514a2b8f370e5f63eeee8 (diff) |
Update QString::isRightToLeft() to take directional hints into account
Make sure we properly handle both directional embeddings as well as
directional isolates to determine the direction of the string.
According to the latest version of the Unicode bidi algorithm,
parts of the string contained inside an directional isolate is
to be ignored when determining the paragraph direction. Embedding
markers themselves are to be ignored as well, but not the characters
inside an explicit directional embedding or override.
This is also some required pre-work to get our BiDi algorithm
updated to the latest version of the standard.
Move the implementation to QStringView and implement the methods
in QString and QStringRef through that implementation.
Task-number: QTBUG-57743
Change-Id: I7f24e09198e22d6359c6534c9ae40a904e94c46e
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/corelib/tools/qstringalgorithms.h')
-rw-r--r-- | src/corelib/tools/qstringalgorithms.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/corelib/tools/qstringalgorithms.h b/src/corelib/tools/qstringalgorithms.h index aaa702301e..6146e525d9 100644 --- a/src/corelib/tools/qstringalgorithms.h +++ b/src/corelib/tools/qstringalgorithms.h @@ -80,6 +80,7 @@ Q_REQUIRED_RESULT Q_CORE_EXPORT QByteArray convertToLatin1(QStringView str); Q_REQUIRED_RESULT Q_CORE_EXPORT QByteArray convertToUtf8(QStringView str); Q_REQUIRED_RESULT Q_CORE_EXPORT QByteArray convertToLocal8Bit(QStringView str); Q_REQUIRED_RESULT Q_CORE_EXPORT QVector<uint> convertToUcs4(QStringView str); +Q_REQUIRED_RESULT Q_CORE_EXPORT bool isRightToLeft(QStringView string); } // namespace QtPRivate |