Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.0.0, 5.12
-
None
-
ed2b110b6add650954dc102a0317c14ff826c677 (qt/qtbase/dev)
Description
QLocaleData has several quint16 members that represent single characters (e.g. the zero and punctuation for a number system, quotation starts and ends). If the character to be represented isn't encoded in UTF-16 as a single char16, this can't work. Various methods likewise take QChar parameters and the QLocale methods that return the characters in question return QChar; the same problem arises here. These QLocale methods even have a comment
// ### Qt 5: We need to return QString from these function since // unicode data contains several characters for these fields.
which plainly didn't get resolved at Qt5.
CLDR v32 adds support for the Chakma language whose number system (previously present but not referenced by anything we use) has digits 0x11136 +i for digit i, which fall foul of this problem, obliging us to omit support for Chakma even though we're now using versions of CLDR that support it. A previously theoretical problem thus becomes actual.
Attachments
Issue Links
- depends on
-
QTBUG-81053 Upgrade remaining single-UTF16-codepoint members of QLocaleData
- Closed
- duplicates
-
QTBUG-25235 Qt 5 to-do in QLocale
- Closed
- is required for
-
QTBUG-81050 Do number-formatting correctly
- Closed
- resulted from
-
QTBUG-67654 Update CLDR to version 33
- Closed