This patch implements collation'loading at runtime. This reduce the final executable' size as the collation's data are now externaly stored. Note that It requires the external collation files to be shipped and the program to load the collations it needs using the "LoadCollation"/"RegisterCollation" procedure(s).
The external collation files are produced by "cldrparser" (while producing the static files). The root collation "ducet" 's external file is produced by "unihelper".
It is important to note that these files are endian specific :
* collation_*_be.bco for big endian systems
* collation_*_le.bco for little endian system.
The root collation should at be registered, be it staticaly by using the "unicodeducet" unit or dynamicaly by making a call sush as RegisterCollation(<collation dir>,'ducet').
It is possible, in the same application, to make use of static and dynamic.
git-svn-id: trunk@25295 -
* Fix the crash of the Unicode Manager and "cldrparser". Tested on WinCE/ARM emulator (That does produce unaliged exception).
git-svn-id: trunk@25208 -
This patch fixes some memory overwrites that were causing the helpers crash.
It introduces the generation of the little endian and big endian files
regardless of the host endianess.
The patch also adds some new test cases. The cldrparser program now accepts a
"-t" switch to execute the test suite.
git-svn-id: trunk@24018 -
The CLDR parser now actually parses the selected
collation type only. This should significantly reduce
the memory consumption.
git-svn-id: trunk@23883 -