Skip to content
Snippets Groups Projects
  1. Oct 03, 2019
  2. Sep 18, 2019
  3. May 29, 2019
  4. Apr 11, 2019
    • Frank Tang's avatar
      Add 32 more locales for Android · 85768aa2
      Frank Tang authored
      Copy the old filters/android.json to filters/android_small.json
      Copy the old android/icudtl.dat to android_small/icudtl.dat
      Add 32 locales to filters/android.json and rebuild.
      Change the BUILD.gn to use android_small for now.
      
      af az eu fr-CA gl hy is ka kk km ky lo mk mn my ne
      pa si sq ur uz zh-HK zu
      bn et gu kn ml mr ms ta te
      
      Compare to android/icudtl.dat. It increase 1.28M.
       7746368 android/icudtl.dat
       6406288 android_small/icudtl.dat
      
      
      Bug: 951636
      Change-Id: I4c4f43add3c76adf5da215342ec4460bbaf2de87
      Reviewed-on: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1562954
      
      
      Reviewed-by: default avatarJungshik Shin <jshin@chromium.org>
      85768aa2
  5. 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
  6. Mar 18, 2019
  7. Mar 12, 2019
  8. Oct 24, 2018
    • Jungshik Shin's avatar
      Update ICU to 63.1 + Chromium patches · 42d50279
      Jungshik Shin authored
      What's new in ICU 63.1:
        - CLDR 34 locale data
          http://cldr.unicode.org/index/downloads/cldr-34-1
        - Curreny/Number range format
        - Better/more support for field iterator in formatters - necessary
          for v8's Ecma 402 implementation
        - Better/safer locale APIs
        - See http://site.icu-project.org/download/62 for more details.
      
      The update steps are recorded :
        https://chromium.googlesource.com/chromium/deps/icu/+log/ccad447..b0bb170
      
      * Update update.sh to point to ICU's new repo location
      
      * Import the pristine copy of ICU 63.1 and update BUILD
        files with update.sh
      
      * Update and apply locale data patches
        - locale_google.patch
        - locale1.patch
      
      * Adjust/apply/update brkiter related patches
        - In place of line_normal_fi.txt, add back
          line_loose.txt (Finnish tailoring is absorbed into
          root).
        - data/brkitr/* are adjusted accordingly
        - android/brkitr.patch and flutter/brkitr.patch
          are updated
        - Use 'normal-cj' for line-breaking in zh/ja locales by
          default
        - Apply cjdict.patch and khmerdict.patch
      
      * Apply build-related patches
        {wpo,vscomp,data.build,data.build.win,data_symb}.patch
      
      * Delete obsolete patches and apply still relevant patches
        {isvalidenum,doubleconversion}.patch
      
      * Fix a Windows compilation issue with clang
      
      * Drop pluralrange.res from flutter's data
      
      * Update the timezone data update script and update the
        timezone data to 2018f
      
      * Add VES (new Venezuelan currency) to and drop VEF
         - {scripts/android}/currencies.list
      
      * ICU data files are rebuilt (up to 22kB increase)
      
         ICU 62      ICU 63   Platform
         6364832     6375056  android
         4907488     4916608  cast
        10246512    10268240  common
          884352      880512  flutter
         6351136     6361376  ios
      
      
      TBR=ftang@chromium.org
      Bug: 893196, v8:8272
      Change-Id: Icac23f6c065f38a9b1b4ae397fbe0e6b62934f15
      Reviewed-on: https://chromium-review.googlesource.com/c/1296893
      
      
      Reviewed-by: default avatarJungshik Shin <jshin@chromium.org>
      42d50279
  9. Sep 09, 2018
  10. Jul 24, 2018
  11. Jul 07, 2018
    • Jungshik Shin's avatar
      Update ICU to 62.1 + local patches · a9a2bd3e
      Jungshik Shin authored
      What's new in ICU 62.1:
        - Unicode 11 (new scripts, Emoji update, Text Boundary/Line break updates)
        - CLDR 33.1 (locale data; http://cldr.unicode.org/index/downloads/cldr-33-1 )
        - More Numberformatter improvements and its support in MsgFormat
        - See http://site.icu-project.org/download/62 for more details.
      
      The update steps are recorded in
        https://chromium.googlesource.com/chromium/deps/icu/+log/172d331..c28591b
      
      The list of local changes are:
      
        Cherry-pick Greek lowercasing fix
        Fix a DecimalFormat maxSignificantDigits issue.
      
      * Rebuild the data files: size eduction of ~ 45 KiB
      
         6386176 => 6340576 android
         4929248 => 4883232 cast
        10264208 => 10218000 common
         6372480 => 6326896 ios
      
      * Update README.chromium and remove a reference to
        icudt.dll for Windows because it's not used any more.
      
      * Drop patches that became unnecessary.
      
      * Apply the remaining patches
         Isvalidenum.patch, locid_map.patch,
         double_conversion.patch
      
      * Apply data-build related patches
        {wpo,vscomp,data.build,data.build.win,data_symb}.patch
      
      * Apply BreakIterator related patches + locale1 patch
      
      * Apply Google's patch for locale data
        - region display names
        - likely subtags
        - Arabic locale: default number system => Latn
        - AM/PM markers for Hindi and a few Indic locales
      
      * Check in ICU 62.1 to the tree (62staging branch) by
        running scripts/update.sh.
        Build files are updated by the script.
      
      TBR=drott@chromium.org
      Bug: 850334
      Test: None
      Change-Id: I7327363c90b9bccda20c1be8f4a65399f36c4e99
      Reviewed-on: https://chromium-review.googlesource.com/1128503
      
      
      Reviewed-by: default avatarJungshik Shin <jshin@chromium.org>
      a9a2bd3e
  12. May 08, 2018
  13. Nov 07, 2017
  14. Aug 14, 2017
  15. Jun 02, 2017
  16. Jun 01, 2017
  17. May 31, 2017
  18. May 15, 2017
  19. 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
  20. May 05, 2017
    • Jungshik Shin's avatar
      Customize the ICU data for iOS · 4b06aadd
      Jungshik Shin authored
      Add ios/icudtl.dat and ios/patch_locale.sh.
      
      Update README.chromium and BUILD.gn accordingly.
      Update scripts/copy_data.sh to take (ios|common|android).
      
      At the moment, iOS data is almost identical to that of Android, but in the future
      more cuts may be made (e.g. dictionary data for breakiterator).
      
      Bug: 718955
      TEST: iOS Chrome works as before.
      Review-Url: https://codereview.chromium.org/2743123002 .
      4b06aadd
  21. Dec 12, 2016
  22. Nov 17, 2016
  23. Nov 15, 2016
    • Bruce Dawson's avatar
      Return to suppressing deprecation warnings · 4d136324
      Bruce Dawson authored
      The previous change re-enabled warnings too aggressively. While the icu
      target built correctly the icu nacl targets (such as
      irt_x64/obj/third_party/icu/icuuc/uidna.o on Windows and
      newlib_pnacl/obj/third_party/icu/icuuc/uidna.o on other platforms)
      failed to compile due to deprecation warnings. This change adds back
      suppression of that one warning.
      
      BUG=21515
      R=thakis@chromium.org
      
      Review URL: https://codereview.chromium.org/2504463002 .
      4d136324
  24. Nov 14, 2016
    • Bruce Dawson's avatar
      Re-enable as many clang warning as possible · 3c89207b
      Bruce Dawson authored
      ICU has historically had many clang warnings disabled, but some of the
      underlying causes have been fixed. One of the VC++ specific warning
      disables was recently removed (crrev.com/2494793002) and this change
      removes a bunch more, for clang and VC++. For some of them there are
      specific icu bugs that have been fixed that allow this, and for others
      I just have the evidence that on Linux and Windows icu compiles with
      clang and VC++ with these changes.
      
      BUG=21515
      R=thakis@chromium.org
      
      Review URL: https://codereview.chromium.org/2492553006 .
      3c89207b
  25. Nov 11, 2016
  26. Oct 28, 2016
    • Jungshik Shin's avatar
      ICU update to 58 part 2 · e0d9b90c
      Jungshik Shin authored
      Follw-up to https://chromium.googlesource.com/chromium/deps/icu/+/5feb9ad5
      (due to a rietveld issue, part 1 was manually pushed).
      
      Update ICU to 58.1 release from ICU 56.1 part2.
      
      Listed below a tiny subset of what's new in 58.1:
      
        1. Unicode 9.0 from Unicode 8.0
          - Updated character properties including Emoji data up to 4.0beta.
          - Updated grapheme/word/line breaking rules for Emoji sequences and others.
      
        2. CLDR 30.0.2 from CLDR 28
          - Numerous locale data updates/improvements
      
        3. Spoofing API changes
        4. Greek uppercasing support as a part of regular case-mapping API.
        5. Line breaking rule file format optimization. This change enables me
           to add CJ loose line breaking rules back (previously, it's dropped
           to save space) so that Blink can use it for CJ.
      
      See http://site.icu-project.org/download/58 for more details on ICU 58.1
      and http://site.icu-project.org/download/57 for more details on ICU 57.1
      
      For CLDR 30, see http://cldr.unicode.org/index/downloads/cldr-30 .
      
      The size impact:
         Non-Android: 10,127,200 => 10,128,624 (delta = 1,424 / 0.014%)
         Android: 6,563,152 => 6,571,936 (delta = 8,784 / 0.13%)
      
      Below are the list of changes made on top of the upstream ICU 58.1
      in reverse order. Most of these changes were made in 58staging branch
      to run trybots and cherry-picked back for this CL. See
         https://chromium.googlesource.com/chromium/deps/icu/+/log/chromium/58staging
         https://codereview.chromium.org/2447513002/ : cr+blink update cl with
             58staging branch head.
      
      * Fix a build on Win without std::string (v8)
      * Add ms932 alias to Shift_JIS
      
      * Apply Google-specific locale data patches
      
      * Fix a bug in scriptset
      
      * Update windows-1255 mapping
      
      * Disable C4333 warning by MSVC (harmless)
      
      * Apply and update utf32.patch and README.chromium
      
      * Update and apply vscomp.patch
        stringpiece patch removed. VS2015 seems to be fine with a redefinition.
      
      * Update pre-built ICU data files
         Update *local.mk with a new copyright line
      
      * Apply more patches
        The following patches were applied and updated: data_symb, vscomp, wpo
      
        The unnecessary part was dropped from vscomp
      
      * Update BUILD.gn and icu.gyp* files
      
      * Update android/brkitr.patch
      
      * Update and apply more patches
      
      * Update and apply cjdict.patch
         Apply data.build.patch
      
      * Delete obsolete patches: cmemory,regex
      
      * Update README.chromium and apply brkitr patches
      
        - Update README.chromium
        - Remove obsolete patches
        - Update linebrk.patch and apply it: add back line_loose_cj
      
      * Update wordbrk.patch and apply it
      
      * Update and apply khmer-dictbe.patch
      
      * Update data trimming
      
        - android/patch_locale.sh
        - scripts/trim_data.sh
           ExemplarCh* removed
           charac*Label removed
           relative/relativeTime removed for daysOfWeek and quarter
      
      * Update the following patches
      
        android/brkitr.patch
        patches/linebrk.patch
        patches/data.build.patch
      
      * Update cjdict.patch and linebrk.patch
      
      BUG=637001
      TEST=Layout tests, all unittests, browser tests, ui tests.
      R=jsbell@chromium.org, mark@chromium.org
      
      Review URL: https://codereview.chromium.org/2442923002 .
      e0d9b90c
  27. Aug 17, 2016
  28. Aug 08, 2016
  29. Aug 02, 2016
    • Jungshik Shin's avatar
      List header files explicitly in BUILD.gn · 56680aaa
      Jungshik Shin authored
      Private headers are listed in source[] while public headers are listed
      in public[] for icuuc and icu18n targets.
      
      This change is to let trybot analyze step recompile icuuc or icu18n even
      when the only change in CL is in a header file (public or private).
      
      BUG=632438
      TEST=`gn check <out_dir>` does not complain.
      TEST=`gn ref <out_dir> third_party/icu/source/common/umutex.h` matches icuuc.
      TEST=`gn ref <out_dir> third_party/icu/source/common/unicode/unistr.h`
           matches icuuc.
      
      R=brettw@chromium.org
      
      Review URL: https://codereview.chromium.org/2186343002 .
      56680aaa
  30. Jul 29, 2016
    • Jungshik Shin's avatar
      Fix isolate_tests/clean isolate step · ef5c7353
      Jungshik Shin authored
      Add 'data' to copy() to for swarm-testing to work on trybots.
      Otherwise, the ICU data bundle would not be copied in isolate_tests step and
      all the tests requiring the ICU data would fail on trybots.
      
      BUG=v8:4828
      TEST=base_unittests and many other tests pass on trybots (with test isolation)
      R=machenbach@chromium.org
      
      Review URL: https://codereview.chromium.org/2197523002 .
      ef5c7353
  31. Jul 26, 2016
    • Jungshik Shin's avatar
      Support Big Endian in ICU: part 3 · ec9c1133
      Jungshik Shin authored
      Add big endian (mips and mips64) support to BUILD.gn
      
      - icudt[lb]_dat.S (assembly source) is generated at build-time from
        icudt[lb].dat (data bundle) when icu_use_data_file is false.
      - icudt[lb].dat is copied depending on the endinaness when icu_use_data_file
        is true.
      
      Part 1:  https://codereview.chromium.org/2162393003
      Part 2:  https://codereview.chromium.org/2165403003
      
      It works on Linux (both Chrome and v8) and Mac (v8).
      Android was also tested by building base_unittests target with
      icu_use_data_file=true/false.
      
      v8 does not yet support mips/mips64 in GN so that this CL cannot be
      tested with target_cpu={mips,mips64}.
      
      With Chrome on Mac, TEST below has to be done with
      https://codereview.chromium.org/2181043003 for http://crbug.com/630929.
      
      Windows should not be affected at all.
      
      BUG=v8:4828
      TEST='gn args <builddir>' with icu_use_data_file set to true or false
      TEST=build base_unittests and run with --gtest_filter=ICU*
      TEST=build base_unittests and run with --gtest_filter=Message*ormat*
      TEST=build 'd8' (v8) and try `(new Date()).toLocaleString("de")`
      R=machenbach@chromium.org
      
      Review URL: https://codereview.chromium.org/2174993002 .
      ec9c1133
  32. Jul 08, 2016
  33. May 18, 2016
  34. Mar 25, 2016
  35. Mar 18, 2016
  36. Mar 11, 2016
  37. Feb 02, 2016
  38. Jan 29, 2016
    • Jungshik Shin's avatar
      ICU 56 step 6:Check in the pre-built ICU data · d2c18300
      Jungshik Shin authored
      * Update the pre-built ICU data files for all platforms
      
        source/data/in/icudtl.dat for non-Android platforms
        {linux,mac}/icudt*.S for linux/mac
        android/icudtl.dat and android/icudt*.S for Android
        windows/icudt.dll for Windows
      
      * Update Android data trimming script
      
        1. Make sure that 'default' calendar is kept in locales where it's relevant
          : root, th, fa, ar_SA, etc.
        2. Add a minimal region data to work around a bug in ICU with pool.res
           handling
      
      * Update gn and gyp files
      * And add a TODO comment to update.sh to automate the build file update.
      * Add it_CH to the locale list.
      * Add sr_Latn to unit/reslocal.mk (required by sh) and
        line_normal_fi to brkitr/brklocal.mk (referred to in brkitr/fi.txt) in
        place of line_fi.
      
      * Update and add scripts for data building
      * Completely rewrite README.chromium
      * Check-in the prebuilt ICU data files/assembly sources for
        Linux,Mac,Windows,Chrome OS and Android.
      
      BUG=575007
      TEST=Blink layout tests, webkit unittests
      TEST=All bots can build successfully
      TEST=net_unittests --gtest_filter="*ilenameUtil*"
      TEST=net_unittests --gtest_filter="*IDN*" (pending bug 336973)
      TEST=base_unittests --gtest_filter="*Conv*"
      TEST=browser_tests --gtest_filter="*ncoding*"
      TEST=base_unittests --gtest_filter="*essage*"
      TEST=ui_base_unittests --gtest_filter="*ormat*"
      TEST=ui_base_unittests --gtest_filter="L10n*"
      R=mark@chromium.org
      
      Review URL: https://codereview.chromium.org/1639543006 .
      d2c18300
  39. Nov 03, 2015
  40. Oct 01, 2015
Loading