tree 83f47e4610e21a1740ce071ca58b3277e501ba7d
parent 20690c62dfad444f3e01c92f9d74d84a5e405359
author Frank Tang <ftang@chromium.org> 1554352881 -0700
committer Jungshik Shin <jshin@chromium.org> 1554399807 +0000

Update ICU to 64.1 + Chromium patches

What's new in ICU 64.1:
  - Unicode 12: 554 new characters, including 4 new scripts and 61 new
    emoji characters.
  - CLDR 35 locale data
    http://blog.unicode.org/2019/03/unicode-cldr-version-35-languagelocale.html
  - ICU 64 now uses "rearguard" TZ data. (Recent versions have used
    "vanguard" data with certain overrides.) (ICU-20398)
  - ICU data filtering: The ICU4C build accepts an optional filter
    script that specifies a subset of the data to be built, with
    whitelists and blacklists for locales and for resource bundle paths.
    (ICU-10923, design doc)
  - MessageFormat has new pattern syntax for specifying the style of
    a date/time argument via a locale-independent skeleton rather than
    a locale-specific pattern. (ICU-9622)
    * Date/time skeletons use the same "::" prefix as number skeletons.
    * Example MessageFormat pattern string:
      "We close on {closing,date,::MMMMd} at {closing,time,::jm}."
  - Many formatting APIs can now output a new type of result object
    which is-a FormattedValue (Java & C++), or convertible to a
    UFormattedValue (C).
    * These combine the result strings with easy iteration over
      FieldPosition metadata.
  - New C++ class LocaleBuilder for building a Locale from subtags,
    keywords, and extensions. (ICU-20328) Parallel to the existing
    ICU4J ULocale.Builder class.
  - For C++ MeasureUnit instances, there are now additional factory
    methods that return units by value, not by pointer-with-ownership.
    (ICU-20337)
  - Various Out-Of-Memory (OOM) issues have been fixed. (ticket query)
  - See http://site.icu-project.org/download/64 for more details.

The update steps are recorded :
  https://chromium.googlesource.com/chromium/deps/icu/+log/20690c6..6d422ff

  - Update update.sh to point to ICU's new repo location
  - Import the pristine copy of ICU 64.1 and update BUILD
    files with update.sh
  - Update and apply locale data patches

    1. patches/locale_google.patch:
      * Google's internal ICU locale changes
      * Simpler region names for Hong Kong and Macau in all locales
      * Currency signs in ru and uk locales (do not include 'tr' locale changes)
      * AM/PM, midnight, noon formatting for a few Indian locales
      * Timezone name changes in Korean and Chinese locales
      * Default digit for Arabic locale is European digits.
      - patches/locale1.patch: Minor fixes for Korean
    2. Breakiterator patches
      - patches/wordbrk.patch for 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
      - patches/khmer-dictbe.patch
        Adjust parameters to use a smaller Khmer dictionary (khmerdict.txt).
        https://unicode-org.atlassian.net/browse/ICU-9451
      - Add several common Chinese words that were dropped previously to
        source/data/cjdict/brkitr/cjdict.txt
        patch: patches/cjdict.patch
        upstream bug: https://unicode-org.atlassian.net/browse/ICU-10888
    3. Build-related changes
      - patches/configure.patch:
        * Remove a section of configure that will cause breakage while
          running runConfigureICU.
      - patches/wpo.patch (only needed when icudata dll is used).
        upstream bugs : https://unicode-org.atlassian.net/browse/ICU-8043
                        https://unicode-org.atlassian.net/browse/ICU-5701
      - patches/data_symb.patch :
          Put ICU_DATA_ENTRY_POINT(icudtXX_dat) in common when we use
          the icu data file or icudt.dll
      - patches/staticmutex.patch :
          Change the static UMutex code to avoid static_initializers error.
          upstream bug: https://unicode-org.atlassian.net/browse/ICU-20520
      - patches/buildtool.patch :
          Fix the build tool which ommited res_index.res */res_index.res files
          upstream bug: https://unicode-org.atlassian.net/browse/ICU-20529
          upstream PR: https://github.com/unicode-org/icu/pull/571/
    4. Double conversion library build failure
      - patches/double_conversion.patch
      - upstream bugs:
        https://unicode-org.atlassian.net/browse/ICU-13750
        https://github.com/google/double-conversion/issues/66
    5. ISO-2022-JP encoding (fromUnicode) change per WHATWG encoding spec.
      - patches/iso2022jp.patch
      - upstream bug:
        https://unicode-org.atlassian.net/browse/ICU-20251

 - ICU data files are rebuilt
   Up to 67kB increase. Since we also save 43K in
   https://chromium-review.googlesource.com/c/v8/v8/+/1478710 ,
   the net increase is only 24KB.

** ICU Data Size Change **
Data Size   ICU63   ICU64-1    DIFF
chromeos  10326064 10378624   52560
  common  10326064 10394816   68752
    cast   5126144  5101616  -24528
 android   6355520  6406256   50736
     ios   6315248  6372016   56768
 flutter    880928   894752   13824

Created by:
git rev-list --reverse 20690c6..6d422ff | \
  xargs git cherry-pick --strategy=recursive -X theirs

Bug: chromium:943348
Change-Id: Ia7f86abfa8625dd24aae2f71456abd679fda3dae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1552155
Reviewed-by: Jungshik Shin <jshin@chromium.org>
