Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.9
Description
As found in QTBUG-103043:
The following code fails for some strings with specific unicode characters, e.g. "Straße" and "\uFB03" (U+FB03 LATIN SMALL LIGATURE FFI):
QString hayStack = u"dhwqdwqdwqjdwqhdl" + mixedCase + u"dsadasdads"; QVERIFY(hayStack.contains(mixedCase.toUpper(), Qt::CaseInsensitive));
The following code works for "\uFB03" but fails for "Straße":
QVERIFY(mixedCase.normalized(QString::NormalizationForm_KC).compare(mixedCase.toUpper(), Qt::CaseInsensitive) == 0);
This is similar to QTBUG-135301 but the Fix is probably more difficult since Boyer-More has to account for possible variations in string lengths.
Attachments
Issue Links
- relates to
-
QTBUG-135301 QString:: / QChar:: toCasefold / toUpper / toLower apply a mix of simple and full casefolding.
-
- Reported
-