qt5base-lts/util/unicode/README
Edward Welbourne a9aa206b7b Move text-related code out of corelib/tools/ to corelib/text/
This includes byte array, string, char, unicode, locale, collation and
regular expressions.

Change-Id: I8b125fa52c8c513eb57a0f1298b91910e5a0d786
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-07-10 17:05:30 +02:00

33 lines
1.7 KiB
Plaintext

Unicode is used to generate the unicode data in src/corelib/tools.
To update:
* Find the data (UAX #44, UCD; not the XML version) at
ftp://www.unicode.org/Public/zipped/$Version/
* Unpack the zip file; for each file in data/, replace with the new
version; find the *BreakProperty.txt in auxiliary/. (These last are
only in the zip, not in the web-space's unpacked versions.)
* If needed, add an entry to enum QChar::UnicodeVersion for the new
Unicode version
* In that case, also update main.cpp's initAgeMap and DATA_VERSION_S*
to match
* Build this project. Its binary, unicode, ignores command-line
options and assumes it is being run from this directory. When run,
it produces lots of output. Hopefully that doesn't matter.
* Assertions may trigger: if so, study code and understand what's more
complicated about this update; talk to folk named in the git logs,
maybe push a WIP to gerrit to solicit advice. Some bit-field may
need to be expanded, for example. In some cases QChar may need
additions to some of its enums.
* Build with the modified code, fix any compilation issues.
* That may have updated qtbase/src/corelib/text/qunicodetables.cpp;
if so the update matters; be sure to commit the changes to data/ at
the same time and update tools/qt_attribution.json to match; use the
UCD Revision number, rather than the Unicode standard number, as the
Version, for all that qunicodetables.cpp uses the latter.
The script writingSystems.sh generates a list of writing systems,
ostensibly as a the basis for updating QFontDatabase::WritingSystem
enum; however, the Release 20 output of it contains many more writing
systems than are present in that enum, suggesting it has not been run
in a very long time. Further research needed.