Skip to content
Snippets Groups Projects
  1. Apr 04, 2019
    • Frank Tang's avatar
      Update ICU to 64.1 + Chromium patches · 69c72a6d
      Frank Tang authored
      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 20690c62..6d422ffa | \
        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: default avatarJungshik Shin <jshin@chromium.org>
      69c72a6d
  2. May 08, 2018
  3. Nov 07, 2017
  4. May 14, 2017
    • Jungshik Shin's avatar
      Update ICU to 59.1 · 87232d8d
      Jungshik Shin authored
      * Highlights:
        - Emoji 5.0 data (partial; Emoji_Component property not included)
        - CLDR 31.0.1 (http://blog.unicode.org/2017/03/cldr-version-31-released.html)
          UTC and GMT are treated as distinct)
        - New case mapping API for styled text
        - C++ 11 is required
        - char16_t for UChar (UTF-16)
        - Source code is in UTF-8
      
      * Size changes
      
        common: 10,130,560 => 10,175,056
        android: 6,573,872 => 6,616,864
        iOS: 6,562,352 => 6,605,152
      
      On top of ICU 59.1 from the upstream, the following changes were applied.
      See https://chromium.googlesource.com/chromium/deps/icu/+log/chromium/59staging
      
        - Fix C++ 11 string literal assignment issue (upstream bug: 13192)
        - Fix C4229 warning by MSVC
        - Apply utf32.patch and include unistr.h in fuzzer_util
        - Update ICU data files
        - Fix wpo.patch
        - Apply Google locale patch and locale1.patch
        - update readme
        - Apply breakiterator related patches
        - Apply and update wpo.patch
        - Drop unused patch, apply data.build.win.patch, update README.chromium
        - Add /utf-8 flag for Windows/Visual Studio
        - Update BUILD.gn for UChar, stubdata and apply data_sym.patch
        - use stubdata.cpp instead of stubdata.c in icu.gyp
        - Update icu.gyp* files for v8
        - Update BUILD.gn, apply data.build.patch and vscomp.patch
        - Add new files in ICU 59.1
        - Get a fresh copy of ICU 59.1 from the upstream
        - Update update.sh script
      
      TBR=drott@chromium.org, yangguo@chromium.org
      Bug:699469
      TEST: layout tests, all unittests, browser tests
      Change-Id: Ie1e77323aa0c7f872153680c4deca6471a771a5c
      Reviewed-on: https://chromium-review.googlesource.com/505173
      
      
      Reviewed-by: default avatarJungshik Shin <jshin@chromium.org>
      87232d8d
  5. Oct 23, 2016
    • Jungshik Shin's avatar
      Update ICU to 58 part1 · 5feb9ad5
      Jungshik Shin authored
      * Note that this CL will be followed by CLs with local changes.
        Until then, ICU should not be rolled in DEPS. See READ_THIS_FIRST
        for details.
      
      * Adjust scripts/update.sh and scripts/data_files_to_preserve.txt
        - CLDR/ICU added ckb/ast locale data. Drop them from the list to preserve.
        - source/layout does not exist in 58.1 any more.
      
      * Update the tree to ICU 58.1 from the upstream by running
        scripts/update.sh
      
      * Update README.chromium and add READ_THIS_FIRST to warn about the
        status of the tree.
      
      BUG=637001
      TEST=None
      5feb9ad5
  6. Feb 08, 2016
  7. Jan 08, 2015
  8. Apr 18, 2014
    • jshin@chromium.org's avatar
      Remove {big5,gb2312}han collation data · 991d1f1e
      jshin@chromium.org authored
      1. {big5,gb2312}han collation data is not used by anybody because they're
      useless as a sorting order.
      
        Add a function to trim_data.sh to remove them from zh.txt
      
      2. Remove remove_unihan.sh and add back unihan rules to coll/{zh,ja,ko}.txt.
      In ICU 52, tools/genrb does NOT include unihan collation by default so that 
      we don't have to bother to remove it from the rule files.
      
      3. Remove obsolete patch files (locale[23].patch)
      
      4. Add LICENSE file (converted from license.html)
      
      5. Update README.chromium accordingly.
      
      6. Check in the updated data file/assembly files.
      
      The net saving in icudtl.dat is ~ 220kB.
      
      
      BUG=132145
      TEST=icudtl.dat is 10576480
      TBR=mark
      
      Review URL: https://codereview.chromium.org/243763002
      
      git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/icu52@264857 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
      991d1f1e
Loading