| OLD | NEW |
| 1 Name: icu | 1 Name: icu |
| 2 URL: http://site.icu-project.org/ | 2 URL: http://site.icu-project.org/ |
| 3 Version: 58.1 | 3 Version: 58.1 |
| 4 License: MIT | 4 License: MIT |
| 5 Security Critical: yes | 5 Security Critical: yes |
| 6 | 6 |
| 7 WARNING: ICU is in the middle of being updated to 58.1. DEPS-roll to | |
| 8 ToT WOULD NOT work until the update is completed. Do not roll icu to the | |
| 9 ToT. If you need to make a change in ICU 56, contact jshin@chromium.org | |
| 10 (jungshik at google) to make a branch. | |
| 11 | |
| 12 Description: | 7 Description: |
| 13 This directory contains the source code of ICU 58.1 for C/C++. | 8 This directory contains the source code of ICU 58.1 for C/C++. |
| 14 | 9 |
| 15 A. How to update ICU | 10 A. How to update ICU |
| 16 | 11 |
| 17 1. Run "scripts/update.sh <version>" (e.g. 56-1). | 12 1. Run "scripts/update.sh <version>" (e.g. 58-1). |
| 18 This will download ICU from the upstream svn repository. | 13 This will download ICU from the upstream svn repository. |
| 19 It does preserve Chrome-specific build files (*local.mk) and | 14 It does preserve Chrome-specific build files (*local.mk) and |
| 20 converter files. (see section C) | 15 converter files. (see section C) |
| 21 | 16 |
| 22 2. Update the source file lists for i18n and common | 17 2. Update the source file lists for i18n and common |
| 23 in icu.gypi and BUILD.gn. See the comments in the files. | 18 in icu.gypi and BUILD.gn. See the comments in the files. |
| 24 | 19 |
| 25 3. Review and apply patches/changes in "D. Local Modifications" if | 20 3. Review and apply patches/changes in "D. Local Modifications" if |
| 26 necessary/applicable. Update patch files in patches/. | 21 necessary/applicable. Update patch files in patches/. |
| 27 | 22 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 k. Whenever data is updated (e.g timezone update), follow d ~ j as long | 89 k. Whenever data is updated (e.g timezone update), follow d ~ j as long |
| 95 as the ICU build directory used in a ~ c is kept. Besides, icudt.dll for | 90 as the ICU build directory used in a ~ c is kept. Besides, icudt.dll for |
| 96 Windows has to be udpated following the procedure described below. | 91 Windows has to be udpated following the procedure described below. |
| 97 | 92 |
| 98 | 93 |
| 99 2. icu data dll for Windows (non-default build option) | 94 2. icu data dll for Windows (non-default build option) |
| 100 | 95 |
| 101 Follow these steps to build windows/icudt.dll. By default, we set | 96 Follow these steps to build windows/icudt.dll. By default, we set |
| 102 icu_use_icu_data_flag to 1 and don't use this file. | 97 icu_use_icu_data_flag to 1 and don't use this file. |
| 103 | 98 |
| 104 a. check out a clean copy of icu56 from the upstream on Windows | 99 a. check out a clean copy of icu58 from the upstream on Windows |
| 105 outside the Chrome tree. | 100 outside the Chrome tree. |
| 106 | 101 |
| 107 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu/tag
s/release-56-1 ${SEPARATE_ICU_ROOT}/icu56 | 102 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu/tag
s/release-58-1 ${SEPARATE_ICU_ROOT}/icu58 |
| 108 | 103 |
| 109 b. copy ${CHROME_ICU_ROOT}/common/icudtl.dat to | 104 b. copy ${CHROME_ICU_ROOT}/common/icudtl.dat to |
| 110 ${SEPARATE_ICU_ROOT}/source/data/in/icudt56l.dat | 105 ${SEPARATE_ICU_ROOT}/source/data/in/icudt58l.dat |
| 111 c. copy ${CHROME_ICU_ROOT}/source/data/makedata.mak to | 106 c. copy ${CHROME_ICU_ROOT}/source/data/makedata.mak to |
| 112 ${SEPARATE_ICU_ROOT}/source/data/makedata.mak | 107 ${SEPARATE_ICU_ROOT}/source/data/makedata.mak |
| 113 c. In Visual Studio, open source/allinone/allinone.sln solution | 108 c. In Visual Studio, open source/allinone/allinone.sln solution |
| 114 in ${SEPARATE_ICU_ROOT} | 109 in ${SEPARATE_ICU_ROOT} |
| 115 d. Build 'makedata' target | 110 d. Build 'makedata' target |
| 116 e. icudt56.dll will be generated in ${SEPARATE_ICU_ROOT}/bin | 111 e. icudt58.dll will be generated in ${SEPARATE_ICU_ROOT}/bin |
| 117 f. Copy that icudt56.dll to ${CHROME_ICU_ROOT}/windows/icudt.dll | 112 f. Copy that icudt58.dll to ${CHROME_ICU_ROOT}/windows/icudt.dll |
| 118 and check that in. | 113 and check that in. |
| 119 | 114 |
| 120 3. Note on the locale data customization | 115 3. Note on the locale data customization |
| 121 | 116 |
| 122 - scripts/trim_data.sh | 117 - scripts/trim_data.sh |
| 123 a. Trim the locale data for Chrome's UI langauges : | 118 a. Trim the locale data for Chrome's UI langauges : |
| 124 locales, lang, region, currency, zone | 119 locales, lang, region, currency, zone |
| 125 b. Trim the locale data for non-UI languages to the bare minimum : | 120 b. Trim the locale data for non-UI languages to the bare minimum : |
| 126 ExemplarCharacters, LocaleScript, layout, and the name of the | 121 ExemplarCharacters, LocaleScript, layout, and the name of the |
| 127 language for a locale in its native language. | 122 language for a locale in its native language. |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 - patches/locale_google.patch: | 191 - patches/locale_google.patch: |
| 197 * Google's internal ICU locale changes | 192 * Google's internal ICU locale changes |
| 198 * Simpler region names for Hong Kong and Macau in all locales | 193 * Simpler region names for Hong Kong and Macau in all locales |
| 199 * Currency signs in ru and uk locales (do not include 'tr' locale changes) | 194 * Currency signs in ru and uk locales (do not include 'tr' locale changes) |
| 200 * AM/PM, midnight, noon formatting for a few Indian locales | 195 * AM/PM, midnight, noon formatting for a few Indian locales |
| 201 * Timezone name changes in Korean and Chinese locales | 196 * Timezone name changes in Korean and Chinese locales |
| 202 | 197 |
| 203 - patches/locale1.patch: Minor fixes for Korean | 198 - patches/locale1.patch: Minor fixes for Korean |
| 204 | 199 |
| 205 | 200 |
| 206 2. Applied post-56 fixes from the upstream for measure/date format bugs | 201 2. Breakiterator patches |
| 207 | |
| 208 - patches/measure_format.patch: combined patch of 12 CLs taken | |
| 209 from bugs below. | |
| 210 - upstream bugs | |
| 211 http://bugs.icu-project.org/trac/ticket/11986 | |
| 212 http://bugs.icu-project.org/trac/ticket/12031 | |
| 213 http://bugs.icu-project.org/trac/ticket/12030 | |
| 214 http://bugs.icu-project.org/trac/ticket/12041 | |
| 215 | |
| 216 - patches/relative_date.patch from Android | |
| 217 https://android.googlesource.com/platform/external/icu/+/f9ffd5b%5E%21 | |
| 218 | |
| 219 3. Breakiterator patches | |
| 220 - patches/linebrk.patch | 202 - patches/linebrk.patch |
| 221 a. Drop *_loose.txt for all locales and use the corresponding normal.txt | 203 a. Drop *_loose.txt for all locales and use the corresponding normal.txt |
| 222 b. Drop local patches we used to have for the following issues. They'll | 204 b. Drop local patches we used to have for the following issues. They'll |
| 223 be dealt with in the upstream (Unicode/CLDR). | 205 be dealt with in the upstream (Unicode/CLDR). |
| 224 http://unicode.org/cldr/trac/ticket/6557 | 206 http://unicode.org/cldr/trac/ticket/6557 |
| 225 http://unicode.org/cldr/trac/ticket/4200 (http://crbug.com/39779) | 207 http://unicode.org/cldr/trac/ticket/4200 (http://crbug.com/39779) |
| 226 | 208 |
| 227 - patches/wordbrk.patch for word.txt | 209 - patches/wordbrk.patch for word.txt |
| 228 a. Move full stops (U+002E, U+FF0E) from MidNumLet to MidNum so that | 210 a. Move full stops (U+002E, U+FF0E) from MidNumLet to MidNum so that |
| 229 FQDN labels can be split at '.' | 211 FQDN labels can be split at '.' |
| 230 b. Move fullwidth digits (U+FF10 - U+FF19) from Ideographic to Numeric. | 212 b. Move fullwidth digits (U+FF10 - U+FF19) from Ideographic to Numeric. |
| 231 See http://unicode.org/cldr/trac/ticket/6555 | 213 See http://unicode.org/cldr/trac/ticket/6555 |
| 232 | 214 |
| 233 - patches/khmer-dictbe.patch | 215 - patches/khmer-dictbe.patch |
| 234 Adjust parameters to use a smaller Khmer dictionary (khmerdict.txt). | 216 Adjust parameters to use a smaller Khmer dictionary (khmerdict.txt). |
| 235 http://bugs.icu-project.org/trac/ticket/9451 | 217 http://bugs.icu-project.org/trac/ticket/9451 |
| 236 | 218 |
| 237 - Add several common Chinese words that were dropped previously to | 219 - Add several common Chinese words that were dropped previously to |
| 238 source/data/cjdict/brkitr/cjdict.txt | 220 source/data/cjdict/brkitr/cjdict.txt |
| 239 patch: patches/cjdict.patch | 221 patch: patches/cjdict.patch |
| 240 upstream bug: http://bugs.icu-project.org/trac/ticket/10888 | 222 upstream bug: http://bugs.icu-project.org/trac/ticket/10888 |
| 241 | 223 |
| 242 4. Timezone data update | 224 3. Timezone data update |
| 243 Run scripts/update_tz.sh to grab the latest version of the | 225 Run scripts/update_tz.sh to grab the latest version of the |
| 244 following timezone data files and put them in source/data/misc | 226 following timezone data files and put them in source/data/misc |
| 245 | 227 |
| 246 metaZones.txt | 228 metaZones.txt |
| 247 timezoneTypes.txt | 229 timezoneTypes.txt |
| 248 windowsZones.txt | 230 windowsZones.txt |
| 249 zoneinfo64.txt | 231 zoneinfo64.txt |
| 250 | 232 |
| 251 As of July 26, 2016, the latest version is 2016f and the above files | 233 As of Oct 21, 2016, the latest version is 2016h and the above files |
| 252 are available at | 234 are available at |
| 253 http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2016f/44/ | 235 http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2016h/44/ |
| 254 | 236 |
| 255 5. Build-related changes | 237 4. Build-related changes |
| 256 | 238 |
| 257 - patches/wpo.patch | 239 - patches/wpo.patch (only needed when icudata dll is used). |
| 258 upstream bugs : http://bugs.icu-project.org/trac/ticket/8043 | 240 upstream bugs : http://bugs.icu-project.org/trac/ticket/8043 |
| 259 http://bugs.icu-project.org/trac/ticket/5701 | 241 http://bugs.icu-project.org/trac/ticket/5701 |
| 260 - patches/vscomp.patch for building with Visual Studio on Windows. | 242 - patches/vscomp.patch for building with Visual Studio on Windows: |
| 261 a. do not use WINDOWS_LOCALE_API in locmap.c | 243 do not use WINDOWS_LOCALE_API in locmap.c |
| 262 b. do not redefine stringpiece::npos | |
| 263 c. fix http://bugs.icu-project.org/trac/ticket/12129 (C4138 warning) | |
| 264 d. fix http://bugs.icu-project.org/trac/ticket/11893 (C4275 warning) | |
| 265 | 244 |
| 266 - patches/data.build.patch : | 245 - patches/data.build.patch : |
| 267 Remove unnecessary resources : unames, collator rule source | 246 Remove unnecessary resources : unames, collator rule source |
| 268 - patches/data.build.win.patch : | 247 - patches/data.build.win.patch : |
| 269 Windows-only data build patch. | 248 Windows-only data build patch. |
| 270 - patches/data_symb.patch : | 249 - patches/data_symb.patch : |
| 271 Put ICU_DATA_ENTRY_POINT(icudtXX_dat) in common when we use | 250 Put ICU_DATA_ENTRY_POINT(icudtXX_dat) in common when we use |
| 272 the icu data file or icudt.dll | 251 the icu data file or icudt.dll |
| 273 | 252 |
| 274 6. Apply a timezone detection API fix | 253 5. Add back UTF-32 converters temporarily even when |
| 275 - patches/tzdetect.patch | |
| 276 - upstream bugs | |
| 277 http://bugs.icu-project.org/trac/ticket/11623 | |
| 278 | |
| 279 7. Fix 'bad cast' found in Transliterator with a cfi build | |
| 280 - patches/xlit_badcast.patch | |
| 281 - upstream bug (fixed in the upstream. Will be in ICU 57 release) | |
| 282 http://bugs.icu-project.org/trac/ticket/11937 | |
| 283 | |
| 284 8. Add back UTF-32 converters temporarily even when | |
| 285 UCONFIG_ONLY_HTML_CONVERSION is defined until UTF-32 is | 254 UCONFIG_ONLY_HTML_CONVERSION is defined until UTF-32 is |
| 286 removed from Blink. See | 255 removed from Blink. See |
| 287 http://www.icu-project.org/trac/ticket/11296 and | 256 http://www.icu-project.org/trac/ticket/11296 and |
| 288 http://crbug.com/417850 | 257 http://crbug.com/417850 |
| 289 | 258 |
| 290 - patches/utf32.patch | 259 - patches/utf32.patch |
| 291 | 260 |
| 292 9. Fix a UText bug found in uregex_open fuzzer. | 261 6. Fix two bugs found in 58.1 that will fixed in 58.1 maintenance release |
| 293 - patches/utext.patch | |
| 294 - upstream bug (fixed in trunk in Jan, 2016. Will be in ICU 57 release) | |
| 295 http://bugs.icu-project.org/trac/ticket/12130 | |
| 296 | 262 |
| 297 10. Fix a bug in regex compiler. | 263 upstream bugs: |
| 298 - patches/regexcmp.patch | 264 http://www.icu-project.org/trac/ticket/12825 (scriptset) |
| 299 - upstream bug (fixed in the upstream. Will be in ICU 57 release) | 265 http://www.icu-project.org/trac/ticket/12822 (without std::string on Win) |
| 300 http://bugs.icu-project.org/trac/ticket/12138 | |
| 301 | 266 |
| 302 11. Remove an unnecessary static initializer | 267 - patches/scriptset.patch |
| 303 - patches/remove_si.patch | 268 - patches/digilist.patch |
| 304 - upstream bug (fixed in trunk. Will be in ICU 57 release) | |
| 305 http://bugs.icu-project.org/trac/ticket/12408 | |
| 306 | |
| 307 12. Cherry pick locale data fixes from the upstream and Android | |
| 308 - patches/locale_extra.patch | |
| 309 - upstream bugs | |
| 310 http://unicode.org/cldr/trac/ticket/9045 (en-AU date format) | |
| 311 http://unicode.org/cldr/trac/ticket/7969 (percent sign in ar and fa) | |
| 312 - Android patch for the 2nd bug | |
| 313 https://android.googlesource.com/platform/external/icu/+/56b2b8b | |
| 314 | |
| 315 13. Add Emoji properties support by cherry-picking from 57.1 | |
| 316 - patches/emoji_props.patch | |
| 317 - Upstream change cherry-picked | |
| 318 http://bugs.icu-project.org/trac/changeset/38183 | |
| 319 - source/data/in/{pnames,uprops}.icu were copied from the upstream, | |
| 320 but they're just for the record. Their contents are hard-coded | |
| 321 in the source files patched by the above patch. | |
| OLD | NEW |