| Index: icu52/README.chromium
|
| ===================================================================
|
| --- icu52/README.chromium (revision 259826)
|
| +++ icu52/README.chromium (working copy)
|
| @@ -18,91 +18,69 @@
|
| - source/layout
|
| - source/layoutex
|
|
|
| -2. Platform header files for Linux, FreeBSD, OpenBSD, Android, Mac OS X, and QNX:
|
| + patches/configure.patch is applied to get runConfigureICU work in the
|
| + icudata generation step without layout and layoutex directory by removing the
|
| + corresponding Makefile's from ac_config variable.
|
|
|
| - - Apply platform.patch in patches directory. : It applies the upstream
|
| - patch to platform.h.in (see http://bugs.icu-project.org/trac/ticket/8248)
|
| - and change source/common/unicode/ptypes.h to refer to plinux.h and
|
| - pmac.h generated below.
|
| +2. Apply the following patch for platform related headers (putilimpl.h and
|
| + others).
|
|
|
| - - 'runConfigureICU Linux', 'runConfigureICU FreeBSD', and
|
| - 'runConfigureICU MacOSX' are run to generate
|
| - source/common/unicode/platform.h.
|
| + - patches/putil.patch for Android and QNX
|
| + Upstream bug for Android : http://bugs.icu-project.org/trac/ticket/10478
|
| + Upstream bug for QNX : http://bugs.icu-project.org/trac/ticket/10811
|
|
|
| - - On OpenBSD, source/common/unicode/platform.h is being generated
|
| - by the icu4c port in the ports directory and not by runConfigureICU.
|
| - In case the file has to be updated you can do:
|
| - cd /home/ports/textproc/icu4c && make configure
|
|
|
| - - Rename it to 'plinux.h', 'pfreebsd.h', 'popenbsd.h' and 'pmac.h'
|
| +3. Breakiterator patches
|
|
|
| - - Apply patches/pmach.h.patch on Mac to pmac.h
|
| + - Apply patches/brkitr.patch
|
| + * word.txt
|
| + a. Move full stops (U+002E, U+FF0E) from MidNumLet to MidNum so that
|
| + FQDN labels can be split at '.'
|
| + b. Move fullwidth digits (U+FF10 - U+FF19) from Ideographic to Numeric.
|
| + See http://unicode.org/cldr/trac/ticket/6555
|
| + * line.txt
|
| + a. Use Japanese rules for all locales because Japanese tailoring only
|
| + affects Japanese specific characters.
|
| + See http://unicode.org/cldr/trac/ticket/3974
|
| + b. Minor changes in CL, OP and IS definitions to handle 'comma-variants'
|
| + more consistenly.
|
| + See http://unicode.org/cldr/trac/ticket/6557
|
| + c. Fix line breaking for Chinese characters and quotation marks
|
| + See http://unicode.org/cldr/trac/ticket/4200 and
|
| + http://crbug.com/39779
|
| +
|
|
|
| - - On Android, the pandroid.h was generated by copying plinux.h to
|
| - pandroid.h and applying the patches/pandroid.h.patch.
|
| + - Add a new file brklocal.mk (copied from brkfiles.mk) with line_ja.txt
|
| + and word_POSIX.txt dropped from the build list.
|
|
|
| - - For QNX, the pqnx.h was generated by copying plinux.h to
|
| - pqnx.h and applying the patches/platform.qnx.patch.
|
| + - Apply patches/khmer-dictbe.patch and put in a smaller Khmer dictionary
|
| + (source/data/brkitr/khmerdict.txt) obtained from
|
| + http://bugs.icu-project.org/trac/ticket/9451
|
|
|
| - - For NaCl (icu_nacl.gypi), the pnacl.h was generated by copying plinux.h to
|
| - pnacl.h and applying the patches/pnacl.h.patch.
|
| -
|
| - - Apply the CL at https://codereview.chromium.org/15973007/ to plinux.h
|
| -
|
| -3. The following directories were removed because they're not used by Chromium
|
| - at the moment:
|
| - as_is
|
| - packaging
|
| - source/extra
|
| - source/sample
|
| - source/layout
|
| - source/layoutex
|
| -
|
| -
|
| -4. The word breaking for Chinese and Japanese were modified to use a word
|
| - frequency list with the following patch and cjdict.txt.
|
| -
|
| - - patches/segmentation.patch :
|
| - Adds a dictionary (word-frequency)-based word breaking for CJK
|
| - (Korean is supported in the code, but it does not do anything
|
| - because we don't have a Korean word-list.)
|
| -
|
| - - source/data/brkitr/cjdict.txt :
|
| - Chinese and Japanese word frequency list.
|
| - See the file for license/copyright notice
|
| -
|
| - - source/data/brkitr/cc_edict.txt :
|
| - the list of words derived from CC-Edict.)
|
| -
|
| - - patches/brkitr.patch
|
| - * word.txt : Chinese/Japanese segmentation rules, Hebrew-script-specific
|
| - handling of U+0022, and splitting of FQDN into labels at '.'.
|
| - For Hebrew, see http://unicode.org/cldr/track/ticket/3120
|
| - * line.txt : Incorporated line_he and minor changes in CL, OP and ID
|
| - definitions.
|
| - For Hebrew, see http://unicode.org/cldr/track/ticket/4004
|
| - For others, see http://unicode.org/cldr/track/ticket/3974
|
| - http://unicode.org/cldr/track/ticket/4200
|
| - http://unicode.org/cldr/track/ticket/
|
| - * brklocal.mk : build file changes to drop unnecessary brkitr rule
|
| - files (e.g. word_ja.txt, line_he.txt)
|
| -
|
| - android/brkitr.patch (to be applied for Android build only) :
|
| Reverts some changes about Chinese/Japanese segmentation rules in
|
| patches/brkitr.patch to reduce binary size for Android.
|
|
|
| - If you want to run ICU tests, you have to copy source/data/brkitr/cjdict.txt
|
| - to source/test/testdata/cjdict-truncated.txt to pass TestTrieWithValue test.
|
| +4. Converter changes :
|
|
|
| -5. Converter changes : converters.patch
|
| - - Include what we really need. See source/data/mappings/ucmlocal.txt
|
| - - Alias and mapping changes : source/data/mappings/convrtrs.txt
|
| - - Changes several tables and add six new tables, three of which
|
| - are 'fake' tables for ISO-2022-CN(-Ext).
|
| - - ucnv2022.c is modified to use 3 'fake' tables added above for
|
| - ISO-2022-CN(-Ext).
|
| + - converters.patch :
|
| + a. revises existing mapping tables
|
| + b. Remove a lot of unused aliases in the converter alias table
|
| + (source/data/mappings/convrtrs.txt ) leading to 40kB size reduction.
|
|
|
| -6. Locale changes
|
| + - Add source/data/mappings/ucmlocal.txt : to list only converters we need.
|
| + - Add two new tables per WHATWG encoding standards for EUC-JP and CP866.
|
| + They're generated with scripts/{eucjp, ibm866}_gen.sh.
|
| + - Add three 'fake' tables for ISO-2022-CN(-Ext) : noop-*.ucm.
|
| +
|
| + - uconv.patch
|
| + a. ucnv2022 uses 3 fake tables for ISO-2022-CN(-Ext) instead of two
|
| + huge tables.
|
| + b. ISO-2022-JP-[1-4] is dropped.
|
| + c. SCSU, BOCU, ISCII, UTF-7 conversion is diabled leading to
|
| + the 47kB reduction in the code size.
|
| +
|
| +5. Locale changes
|
| - patches/locale1.patch :
|
| Filipino, Amharic, and Swahili locales
|
| exemplar character set changes for CJK + 9 Indian locales
|
| @@ -130,13 +108,13 @@
|
| data necessary for the spellchecker. In both directories, add tg.txt to
|
| reslocal.mk
|
|
|
| -7. Removal of unihan collation tables from data/coll/{zh,ja,ko}.txt
|
| +6. Removal of unihan collation tables from data/coll/{zh,ja,ko}.txt
|
|
|
| - - patches/unihan.patch:
|
| - unihan collation tables are never used in Chrome/Webkit, but it takes
|
| - about 1MB in the uncompressed ICU data file in ICU 4.2.1.
|
| + - run scripts/remove_unihan.sh
|
| + unihan collation tables are never used in Chrome/Blink, but it takes
|
| + about 1MB in the uncompressed ICU data file in ICU.
|
|
|
| -8. Timezone data update
|
| +7. Timezone data update
|
| - Grab the latest version of the following timezone data files and
|
| put them in source/data/misc.
|
|
|
| @@ -145,183 +123,83 @@
|
| windowsZones.txt
|
| zoneinfo64.txt
|
|
|
| - As of Mar 2014, the latest version is 2014a and the above files
|
| + As of April 2014, the latest version is 2014b and the above files
|
| are available at
|
| - http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2014a/44/
|
| + http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2014b/44/
|
|
|
| -9. Transliterator customization
|
| +8. Transliterator customization
|
|
|
| - - Add el_Upper.txt taken from ICU 52 to source/data/trnslit
|
| -
|
| - - Also add css3transform.txt to the same directory
|
| + - Also add css3transform.txt to source/data/trnslit.
|
| - Put the following line in trnslocal.mk
|
|
|
| TRANSLIT_SOURCE=css3transform.txt
|
|
|
| -10. Build-related changes
|
| +9. Build-related changes
|
|
|
| - patches/wpo.patch
|
| - - patches/vscomp.patch
|
| - (see http://bugs.icu-project.org/trac/ticket/8355 and
|
| - http://bugs.icu-project.org/trac/ticket/8356 )
|
| - - patches/rtti.patch : Make RTTI work without exception handling on Windows
|
| - (see http://bugs.icu-project.org/trac/ticket/8343)
|
| + Upstream bugs : http://bugs.icu-project.org/trac/ticket/8043
|
| + http://bugs.icu-project.org/trac/ticket/5701
|
| + - patches/vscomp.patch for building with Visual Studio on Windows.
|
| + a. do not use WINDOWS_LOCALE_API in locmap.c
|
| + b. do not redefine stringpiece::npos
|
| - patches/data.build.patch :
|
| - To remove some data files we don't use and cut down the data size.
|
| + Remove unnecessary resources : invuca, unames, collator source, stringprep
|
| - patches/data.build.win.patch :
|
| Windows-only data build patch. Add a new target DATALIB to makedata.mak
|
| - - patches/clang.patch: To build with Clang.
|
| - (see http://bugs.icu-project.org/trac/ticket/8954 Two other chunks in
|
| - the patch have already been fixed in the ICU trunk.)
|
| - add an empty file (stubdatabuilt.txt) to source/stubdata
|
|
|
| -11. Pre-built data libraries are checked in.
|
| +10. Pre-built data files are checked in with the following steps on Linux:
|
|
|
| - Before building data file on Linux, re-run 'runConfigureICU Linux' again
|
| - if it's run without data.build.patch in #10 above.
|
| + a. Make a icu data build directory outside the Chromium source tree.
|
| + b. Run 'runConfigureICU Linux' outside the source tree.
|
| + c. Run 'make'
|
| + d. 'make' will fail in the 1st pass. Copy source/data/in/coll/invuca.icu
|
| + to {BUILD_DIR_ROOT}/data/out/build/icudt52l/coll and re-run 'make'
|
| + in {BUILD_DIR_ROOT}/data.
|
|
|
| - Because we removed layout and layoutex directories in step 3,
|
| - 'runConfigureICU Linux' will fail even with '--disable-layout'. A
|
| - work-around is to have a copy of our icu tree in a separate build directory
|
| - and add back directories we removed in step 3 before
|
| - running 'runConfigure'.
|
| -
|
| - 'make' will fail in the 1st pass. Copy source/data/in/coll/invuca.icu
|
| - to {BUILD_DIR_ROOT}/data/out/build/icudt46l/coll and re-run 'make'
|
| - in {BUILD_DIR_ROOT}/data.
|
| -
|
| - 'make' will fail again when pkgdata looks for css3transform.res. Edit
|
| + e. 'make' will fail again when pkgdata looks for css3transform.res. Edit
|
| data/out/tmp/icudata.lst to replace 'css3transform.res' with 'root.res'.
|
| (see http://bugs.icu-project.org/trac/ticket/10570 ) and run 'make' again.
|
|
|
|
|
| - source/data/in/icudtl.dat : Built on Linux with all the patches
|
| - above applied. icudt46l.dat is generated in
|
| + above applied. icudt52l.dat is generated in
|
| {BUILD_DIR_ROOT}/data/out/tmp and copied to the above location with a
|
| - version number (46) dropped.
|
| + version number (52) dropped.
|
|
|
| - - windows/icudt.dll : With icudt46l.dat in place, all the patches applied
|
| + - windows/icudt.dll : With icudt52l.dat in place, all the patches applied
|
| and header files moved (#11 below), generated by building icudt_build
|
| - project of build/icudt_build.sln on Windows. icudt46.dll is
|
| + project of build/icudt_build.sln on Windows. icudt52.dll is
|
| generated in bin/{Release,Debug} and copied to windows/icudt.dll
|
| - and checked in. Note that we drop the version number ('46') from the
|
| + and checked in. Note that we drop the version number ('52') from the
|
| dll name to avoind having to update our build scripts/configuration
|
| files everytime ICU is upgraded to a new version.
|
|
|
| - - {mac,linux}/icudt46l_dat.S : Built on Linux with all the
|
| + - {mac,linux}/icudt52l_dat.S : Built on Linux with all the
|
| patches above (except android/brkitr.patch) applied and checked in.
|
| This file will be generated in {BUILD_DIR_ROOT}/data/out/tmp.
|
|
|
| - mac/icudt46l_dat.S is identical to linux/icudt46l_dat.S. It's made
|
| + mac/icudt52l_dat.S is identical to linux/icudt52l_dat.S. It's made
|
| by changing the header portion of the Linux version to read as following
|
| (no leading whitespace) :
|
|
|
| - .globl _icudt46_dat
|
| + .globl _icudt52_dat
|
| #ifdef U_HIDE_DATA_SYMBOL
|
| - .private_extern _icudt46_dat
|
| + .private_extern _icudt52_dat
|
| #endif
|
| .data
|
| .const
|
| .align 4
|
| - _icudt46_dat:
|
| + _icudt52_dat:
|
|
|
|
|
| - - android/icudt46l_dat.S : Built on Linux with all the patches above and
|
| + - android/icudt52l_dat.S : Built on Linux with all the patches above and
|
| android/brkitr.patch applied and android/patch_locale.sh executed, and
|
| checked in.
|
| - - android/icudtl.dat : Generated as icudt46l.dat in
|
| - {BUILD_DIR_ROOT}/data/out/tmp along with icudt46l_dat.S and
|
| - copied to the above location with '46' dropped in its name.
|
| + - android/icudtl.dat : Generated as icudt52l.dat in
|
| + {BUILD_DIR_ROOT}/data/out/tmp along with icudt52l_dat.S and
|
| + copied to the above location with '52' dropped in its name.
|
|
|
|
|
| -12. Apply the fix found with static analysis tools such as PSV and coverity
|
| -
|
| - - patches/static.analysis.patch
|
| - - upstream trunk/4.8 do not have this code any more.
|
| -
|
| -13. Fix for msvs2010 applied:
|
| ---- D:/src/ent/src/third_party/icu/source/common/stringpiece.cpp
|
| - (revision 78292)
|
| -+++ D:/src/ent/src/third_party/icu/source/common/stringpiece.cpp
|
| - (working copy)
|
| -@@ -75,7 +75,7 @@
|
| - * Visual Studios 9.0.
|
| - * Cygwin with MSVC 9.0 also complains here about redefinition.
|
| - */
|
| --#if (!defined(_MSC_VER) || (_MSC_VER > 1500)) && !defined(CYGWINMSVC)
|
| -+#if (!defined(_MSC_VER) || (_MSC_VER > 1600)) && !defined(CYGWINMSVC)
|
| - const int32_t StringPiece::npos;
|
| - #endif
|
| -
|
| -14. Fix for locales that don't use '.' as decimal separator: patches/nan.patch
|
| - - upstream bug: http://bugs.icu-project.org/trac/ticket/8561
|
| - - Handle other chars besides the dot. This is required because decNumber's
|
| - parser expects the dot as a decimal separator.
|
| - - Locales that don't use dot were producing "NaN" values.
|
| -
|
| -15. Fix a bug in the regex engine.
|
| - - patches/regex.patch
|
| - - upstream bug: http://bugs.icu-project.org/trac/ticket/8666 (fixed in the upstream)
|
| -
|
| -16. Apply the upstream patch for Korean search collator support (ICU 4.6.1).
|
| - - patches/search_collation.patch
|
| - - upstream bug: http://bugs.icu-project.org/trac/ticket/8290
|
| -
|
| -17. Fix a use of uninitialized memory bug in regular expression matching
|
| - - patches/rematch.patch
|
| - - upstream bug: http://bugs.icu-project.org/trac/ticket/8824
|
| -
|
| -18. Make it compile with -Werror on gcc 4.6
|
| - - patches/gcc46.patch (ToT upstream does not have this code any more).
|
| -
|
| -19. Fix four out of bounds memory access error in common/uloc.c
|
| - and common/uresbund.c
|
| - - patches/uloc.patch
|
| - - upstream bug:
|
| - 1. http://bugs.icu-project.org/trac/ticket/8984 (_canonicalize)
|
| - 2. http://bugs.icu-project.org/trac/ticket/9114 (_getKeywords)
|
| - 3. http://bugs.icu-project.org/trac/ticket/8812 (uresbund)
|
| - http://bugs.icu-project.org/trac/ticket/8813 (uresbund)
|
| - 4. http://bugs.icu-project.org/trac/ticket/10250 (_getKeywords)
|
| -
|
| -20. Fix a null pointer error in ubrk_setText in ubrk.cpp.
|
| - - patches/ubrk.patch
|
| - - upstream bug : http://bugs.icu-project.org/trac/ticket/9115
|
| -
|
| -21. Fix a clang warning in rbbi.cpp by merging in an upstream change.
|
| - - patches/changeset_30255.patch
|
| - - upstream change : http://bugs.icu-project.org/trac/changeset/30255
|
| -
|
| -22. Fix time zone handling and compilation on iOS.
|
| - - patches/ios_timezone.patch
|
| - - upstream bugs : http://bugs.icu-project.org/trac/ticket/9051
|
| - http://bugs.icu-project.org/trac/ticket/8661
|
| -
|
| -23. Fix a buffer overflow in utext
|
| - - patches/utext.patch
|
| - - upstream change : http://bugs.icu-project.org/trac/changeset/29356
|
| -
|
| -24. Fix compilation errors on VS2012 and above.
|
| - - patches/vs2012.patch
|
| -
|
| -25. Fix a buffer overflow in UTF-16/32 detection.
|
| - - patches/csetdet.patch
|
| - - upstream bug: http://bugs.icu-project.org/trac/ticket/10318
|
| -
|
| -26. Add BreakIterator::getRuleStatus
|
| - - patches/breakiterator.patch
|
| - - Copy and paste BreakIterator::getRuleStatus API from ICU 52
|
| -
|
| -27. Change export of U_ICUDATA_ENTRY_POINT from U_IMPORT to U_EXPORT.
|
| +11. Change export of U_ICUDATA_ENTRY_POINT from U_IMPORT to U_EXPORT.
|
| - patches/declspec.patch
|
| -
|
| -28. Add support for QNX Neutrino.
|
| - - patches/platform.qnx.patch:
|
| - See #2 about the platform header generation.
|
| - - patches/si_value.undef.patch:
|
| - Work around an all-lowercase macro defined in <signal.h>.
|
| - Upstream took a different approach:
|
| - http://bugs.icu-project.org/trac/ticket/9935
|
| - - patches/xopen_source.patch:
|
| - Set _XOPEN_SOURCE to 600 as in the upstream changeset:
|
| - http://bugs.icu-project.org/trac/changeset/30418
|
|
|