qt5base-lts/tests/auto/corelib/text
Edward Welbourne ed2b110b6a Allow surrogate pairs for various "single character" locale data
Extract the character in its proper unicode form and encode it in a
new single_character_data table of locale data. Record each entry as
the range within that table that encodes it. Also added an assertion
in the generator script to check that the digits CLDR gives us are a
contiguous sequence in increasing order, as has been assumed by the
C++ code for some time. Lots of number-formatting code now has to take
account of how wide the digits are.

This leaves nowhere for updateSystemPrivate() to record values read
from sys_locale->query(), so we must always consult that function when
accessing these members of the systemData() object. Various internal
users of these single-character fields need the system-or-CLDR value
rather than the raw CLDR value, so move QLocalePrivate's methods to
supply them down to QLocaleData and ensure they check for system
values, where appropriate first.

This allows us to finally support the Chakma language and script, for
whose number system UTF-16 needs surrogate pairs.

Costs 10.8 kB in added data, much of it due to adding two new locales
that need surrogates to represent digits.

[ChangeLog][QtCore][QLocale] Various QLocale methods that returned
single QChar values now return QString values to accommodate those
locales which need a surrogate pair to represent the (single
character) return value.

Fixes: QTBUG-69324
Fixes: QTBUG-81053
Change-Id: I481722d6f5ee266164f09031679a851dfa6e7839
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-02-17 14:55:24 +01:00
..
qbytearray Merge remote-tracking branch 'origin/5.15' into dev 2019-12-09 10:16:01 +01:00
qbytearraylist Regenerate tests/auto/corelib/text 2019-11-12 17:26:05 +00:00
qbytearraymatcher
qbytedatabuffer Regenerate projects one last time before merge 2020-02-12 17:30:49 +00:00
qchar
qcollator Take care of NULL data from QStringView in QCollator 2020-02-05 10:23:43 +01:00
qlatin1string
qlocale Allow surrogate pairs for various "single character" locale data 2020-02-17 14:55:24 +01:00
qregexp Regenerate tests/auto/corelib/text 2019-11-12 17:26:05 +00:00
qregularexpression Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
qstring Move old tst_QLocale::negativeZero() to tst_QString::number() 2020-01-30 17:57:40 +01:00
qstring_no_cast_from_bytearray Regenerate tests/auto/corelib/text 2019-11-12 17:26:05 +00:00
qstringapisymmetry Extend tst_qstringapisymmetry for member compare() 2020-02-09 17:43:20 +00:00
qstringbuilder Regenerate tests/auto/corelib/text 2019-11-12 17:26:05 +00:00
qstringiterator Regenerate projects one last time before merge 2020-02-12 17:30:49 +00:00
qstringlist Regenerate tests/auto/corelib/text 2019-11-12 17:26:05 +00:00
qstringmatcher Regenerate tests/auto/corelib/text 2019-11-12 17:26:05 +00:00
qstringref Merge remote-tracking branch 'origin/dev' into wip/cmake 2019-11-19 13:53:21 +01:00
qstringview QStringView: add a test for overload resolution versus QString 2020-01-09 00:01:55 +01:00
qtextboundaryfinder Update UCD data to Unicode 12.1.0's Revision 24 2019-10-30 17:38:02 +01:00
CMakeLists.txt
text.pro