| OLD | NEW |
| 1 Name: icu | 1 Name: icu |
| 2 URL: http://site.icu-project.org/ | 2 URL: http://site.icu-project.org/ |
| 3 Version: 56.1 | 3 Version: 56.1 |
| 4 License: MIT | 4 License: MIT |
| 5 Security Critical: yes | 5 Security Critical: yes |
| 6 | 6 |
| 7 ***NOTE*** | |
| 8 ICU is being updated to 56.1 pending one last adjustment on the Chromium-side. | |
| 9 If you have an urgent fix to apply to ICU 54.1 used for branches, | |
| 10 file a bug and contact jshin@chromium.org. | |
| 11 | |
| 12 Description: | 7 Description: |
| 13 This directory contains the source code of ICU 56.1 for C/C++. | 8 This directory contains the source code of ICU 56.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. 56-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 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 48 | 43 |
| 49 d. Run | 44 d. Run |
| 50 ${CHROME_ICU_TREE_TOP}/scripts/trim_data.sh | 45 ${CHROME_ICU_TREE_TOP}/scripts/trim_data.sh |
| 51 | 46 |
| 52 The full locale data for Chrome's UI languages and their select variants | 47 The full locale data for Chrome's UI languages and their select variants |
| 53 and the bare minimum locale data for other locales will be kept. | 48 and the bare minimum locale data for other locales will be kept. |
| 54 | 49 |
| 55 e. Run | 50 e. Run |
| 56 ${CHROME_ICU_TREE_TOP}/scripts/make_data.sh | 51 ${CHROME_ICU_TREE_TOP}/scripts/make_data.sh |
| 57 | 52 |
| 58 This will make icudt${version}l.dat and icudt${version}l_dat.S | 53 This makes icudt${version}l.dat and icudt${version}l_dat.S |
| 54 |
| 59 | 55 |
| 60 f. Run | 56 f. Run |
| 61 ${CHROME_ICU_TREE_TOP}/scripts/clean_up_data_source.sh | 57 ${CHROME_ICU_TREE_TOP}/scripts/copy_data.sh |
| 62 | 58 |
| 63 This will erase the result of step d (trim_data.sh). | 59 This copies the ICU data file for non-Android platform |
| 60 and the corresponding assembly source files for Linux and Mac to |
| 61 the following places. |
| 62 |
| 63 common/icudtl.dat |
| 64 {linux,mac}/icudtl_dat.S |
| 64 | 65 |
| 65 g. Run | 66 g. Run |
| 66 ${CHROME_ICU_TREE_TOP}/scripts/copy_data.sh | |
| 67 | |
| 68 This will revert the changes made in source/data by trim_data.sh. | |
| 69 It will also copy the ICU data file for non-Android platform | |
| 70 and the corresponding assembly source files for Linux and Mac to | |
| 71 the following places. Check them in. | |
| 72 | |
| 73 source/data/in/icudtl.dat | |
| 74 source/{linux,mac}/icudtl_dat.S | |
| 75 | |
| 76 h. Whenever data is updated (e.g timezone update), follow d ~ g as long | |
| 77 as the ICU build directory used in a ~ c is kept. | |
| 78 | |
| 79 2. icu data files for Android | |
| 80 | |
| 81 a. Follow a ~ d for non-Android platforms | |
| 82 b. Run | |
| 83 | |
| 84 ${CHROME_ICU_TREE_TOP}/android/patch_locale.sh | 67 ${CHROME_ICU_TREE_TOP}/android/patch_locale.sh |
| 85 | 68 |
| 86 On top of trim_data.sh, further cut the data entries for Android. | 69 On top of trim_data.sh (step d), further cuts the data entries for Android. |
| 87 | 70 |
| 88 c. Run | 71 h. Run |
| 89 ${CHROME_ICU_TREE_TOP}/scripts/make_data.sh | 72 ${CHROME_ICU_TREE_TOP}/scripts/make_data.sh |
| 90 | 73 |
| 91 d. Run | 74 This makes icudt${version}l.dat and icudt${version}l_dat.S for Android. |
| 75 |
| 76 i. Run |
| 92 ${CHROME_ICU_TREE_TOP}/scripts/copy_data_android.sh | 77 ${CHROME_ICU_TREE_TOP}/scripts/copy_data_android.sh |
| 93 | 78 |
| 94 and check in the following files. | 79 This copies icu data files for Android to the following locations: |
| 95 | 80 |
| 96 android/icudtl.dat | 81 android/icudtl.dat |
| 97 android/icudtl_dat.S | 82 android/icudtl_dat.S |
| 98 | 83 |
| 99 e. Run | 84 j. Run |
| 100 ${CHROME_ICU_TREE_TOP}/scripts/clean_up_data_source.sh | 85 ${CHROME_ICU_TREE_TOP}/scripts/clean_up_data_source.sh |
| 101 | 86 |
| 102 This will erase the result of trim_data.sh and patch_locale.sh | 87 This reverts the result of trim_data.sh and patch_locale.sh and |
| 88 make the tree ready for committing updated ICU data files for |
| 89 non-Android and Android platforms. |
| 103 | 90 |
| 104 3. icu data dll for Windows (non-default build option) | 91 k. Whenever data is updated (e.g timezone update), follow d ~ j as long |
| 92 as the ICU build directory used in a ~ c is kept. Besides, icudt.dll for |
| 93 Windows has to be udpated following the procedure described below. |
| 94 |
| 95 |
| 96 2. icu data dll for Windows (non-default build option) |
| 105 | 97 |
| 106 Follow these steps to build windows/icudt.dll. By default, we set | 98 Follow these steps to build windows/icudt.dll. By default, we set |
| 107 icu_use_icu_data_flag to 1 and don't use this file. | 99 icu_use_icu_data_flag to 1 and don't use this file. |
| 108 | 100 |
| 109 a. check out a clean copy of icu56 from the upstream on Windows | 101 a. check out a clean copy of icu56 from the upstream on Windows |
| 110 outside the Chrome tree. | 102 outside the Chrome tree. |
| 111 | 103 |
| 112 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu/tag
s/release-56-1 ${SEPARATE_ICU_ROOT}/icu56 | 104 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu/tag
s/release-56-1 ${SEPARATE_ICU_ROOT}/icu56 |
| 113 | 105 |
| 114 b. copy ${CHROME_ICU_ROOT}/source/data/in/icudtl.dat to | 106 b. copy ${CHROME_ICU_ROOT}/common/icudtl.dat to |
| 115 ${SEPARATE_ICU_ROOT}/source/data/in/icudt56l.dat | 107 ${SEPARATE_ICU_ROOT}/source/data/in/icudt56l.dat |
| 116 c. copy ${CHROME_ICU_ROOT}/source/data/makedata.mak to | 108 c. copy ${CHROME_ICU_ROOT}/source/data/makedata.mak to |
| 117 ${SEPARATE_ICU_ROOT}/source/data/makedata.mak | 109 ${SEPARATE_ICU_ROOT}/source/data/makedata.mak |
| 118 c. In Visual Studio, open source/allinone/allinone.sln solution | 110 c. In Visual Studio, open source/allinone/allinone.sln solution |
| 119 in ${SEPARATE_ICU_ROOT} | 111 in ${SEPARATE_ICU_ROOT} |
| 120 d. Build 'makedata' target | 112 d. Build 'makedata' target |
| 121 e. icudt56.dll will be generated in ${SEPARATE_ICU_ROOT}/bin | 113 e. icudt56.dll will be generated in ${SEPARATE_ICU_ROOT}/bin |
| 122 f. Copy that icudt56.dll to ${CHROME_ICU_ROOT}/windows/icudt.dll | 114 f. Copy that icudt56.dll to ${CHROME_ICU_ROOT}/windows/icudt.dll |
| 123 and check that in. | 115 and check that in. |
| 124 | 116 |
| 125 4. Note on the locale data customization | 117 3. Note on the locale data customization |
| 126 | 118 |
| 127 - scripts/trim_data.sh | 119 - scripts/trim_data.sh |
| 128 a. Trim the locale data for Chrome's UI langauges : | 120 a. Trim the locale data for Chrome's UI langauges : |
| 129 locales, lang, region, currency, zone | 121 locales, lang, region, currency, zone |
| 130 b. Trim the locale data for non-UI languages to the bare minimum : | 122 b. Trim the locale data for non-UI languages to the bare minimum : |
| 131 ExemplarCharacters, LocaleScript, layout, and the name of the | 123 ExemplarCharacters, LocaleScript, layout, and the name of the |
| 132 language for a locale in its native language. | 124 language for a locale in its native language. |
| 133 c. Remove the legacy Chinese character set-based collation | 125 c. Remove the legacy Chinese character set-based collation |
| 134 (big5han/gb2312han) that don't make any sense and nobdoy uses. | 126 (big5han/gb2312han) that don't make any sense and nobdoy uses. |
| 135 | 127 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 for ckb to 'Kurdish (Arabic)'. | 186 for ckb to 'Kurdish (Arabic)'. |
| 195 | 187 |
| 196 D. Local Modifications | 188 D. Local Modifications |
| 197 | 189 |
| 198 1. Applied locale data patches from Google obtained by diff'ing | 190 1. Applied locale data patches from Google obtained by diff'ing |
| 199 the upstream copy and Google's internal copy for source/data | 191 the upstream copy and Google's internal copy for source/data |
| 200 | 192 |
| 201 - patches/locale_google.patch: | 193 - patches/locale_google.patch: |
| 202 * Google's internal ICU locale changes | 194 * Google's internal ICU locale changes |
| 203 * Simpler region names for Hong Kong and Macau in all locales | 195 * Simpler region names for Hong Kong and Macau in all locales |
| 204 * Currency signs in ru, uk and tr locales | 196 * Currency signs in ru and uk locales (do not include 'tr' locale changes) |
| 205 * AM/PM, midnight, noon formatting for a few Indian locales | 197 * AM/PM, midnight, noon formatting for a few Indian locales |
| 206 * Timezone name changes in Korean and Chinese locales | 198 * Timezone name changes in Korean and Chinese locales |
| 207 | 199 |
| 208 - patches/locale1.patch: Minor fixes for Korean | 200 - patches/locale1.patch: Minor fixes for Korean |
| 209 | 201 |
| 210 | 202 |
| 211 2. Applied post-56 fixes from the upstream for measure/date format bugs | 203 2. Applied post-56 fixes from the upstream for measure/date format bugs |
| 212 | 204 |
| 213 - patches/measure_format.patch: combined patch of 12 CLs taken | 205 - patches/measure_format.patch: combined patch of 12 CLs taken |
| 214 from bugs below. | 206 from bugs below. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 | 238 |
| 247 4. Timezone data update | 239 4. Timezone data update |
| 248 Run scripts/update_tz.sh to grab the latest version of the | 240 Run scripts/update_tz.sh to grab the latest version of the |
| 249 following timezone data files and put them in source/data/misc | 241 following timezone data files and put them in source/data/misc |
| 250 | 242 |
| 251 metaZones.txt | 243 metaZones.txt |
| 252 timezoneTypes.txt | 244 timezoneTypes.txt |
| 253 windowsZones.txt | 245 windowsZones.txt |
| 254 zoneinfo64.txt | 246 zoneinfo64.txt |
| 255 | 247 |
| 256 As of Feb 8, 2016, the latest version is 2016a and the above files | 248 As of March 24, 2016, the latest version is 2016c and the above files |
| 257 are available at | 249 are available at |
| 258 http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2016a/44/ | 250 http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2016c/44/ |
| 259 | 251 |
| 260 5. Build-related changes | 252 5. Build-related changes |
| 261 | 253 |
| 262 - patches/wpo.patch | 254 - patches/wpo.patch |
| 263 upstream bugs : http://bugs.icu-project.org/trac/ticket/8043 | 255 upstream bugs : http://bugs.icu-project.org/trac/ticket/8043 |
| 264 http://bugs.icu-project.org/trac/ticket/5701 | 256 http://bugs.icu-project.org/trac/ticket/5701 |
| 265 - patches/vscomp.patch for building with Visual Studio on Windows. | 257 - patches/vscomp.patch for building with Visual Studio on Windows. |
| 266 a. do not use WINDOWS_LOCALE_API in locmap.c | 258 a. do not use WINDOWS_LOCALE_API in locmap.c |
| 267 b. do not redefine stringpiece::npos | 259 b. do not redefine stringpiece::npos |
| 268 c. fix http://bugs.icu-project.org/trac/ticket/12129 (C4138 warning) | 260 c. fix http://bugs.icu-project.org/trac/ticket/12129 (C4138 warning) |
| 269 d. fix http://bugs.icu-project.org/trac/ticket/11893 (C4275 warning) | 261 d. fix http://bugs.icu-project.org/trac/ticket/11893 (C4275 warning) |
| 270 | 262 |
| 271 - patches/data.build.patch : | 263 - patches/data.build.patch : |
| 272 Remove unnecessary resources : unames, collator rule source | 264 Remove unnecessary resources : unames, collator rule source |
| 273 - patches/data.build.win.patch : | 265 - patches/data.build.win.patch : |
| 274 Windows-only data build patch. | 266 Windows-only data build patch. |
| 275 - patches/data_symb.patch : | 267 - patches/data_symb.patch : |
| 276 Put ICU_DATA_ENTRY_POINT(icudtXX_dat) in common when we use | 268 Put ICU_DATA_ENTRY_POINT(icudtXX_dat) in common when we use |
| 277 the icu data file or icudt.dll | 269 the icu data file or icudt.dll |
| 278 | 270 |
| 279 6. Apply a timezone detection API fix | 271 6. Apply a timezone detection API fix |
| 280 - patches/tzdetect.patch | 272 - patches/tzdetect.patch |
| 281 - upstream bugs | 273 - upstream bugs |
| 282 http://bugs.icu-project.org/trac/ticket/11623 | 274 http://bugs.icu-project.org/trac/ticket/11623 |
| 283 | 275 |
| 284 7. Fix 'bad cast' found in Transliterator with a cfi build | 276 7. Fix 'bad cast' found in Transliterator with a cfi build |
| 285 - patches/xlit_badcast.patch | 277 - patches/xlit_badcast.patch |
| 286 - upstream bug (fixed in the upstream. Will be in 57 release) | 278 - upstream bug (fixed in the upstream. Will be in ICU 57 release) |
| 287 http://bugs.icu-project.org/trac/ticket/11937 | 279 http://bugs.icu-project.org/trac/ticket/11937 |
| 288 | 280 |
| 289 8. Add back UTF-32 converters temporarily even when | 281 8. Add back UTF-32 converters temporarily even when |
| 290 UCONFIG_ONLY_HTML_CONVERSION is defined until UTF-32 is | 282 UCONFIG_ONLY_HTML_CONVERSION is defined until UTF-32 is |
| 291 removed from Blink. See | 283 removed from Blink. See |
| 292 http://www.icu-project.org/trac/ticket/11296 and | 284 http://www.icu-project.org/trac/ticket/11296 and |
| 293 http://crbug.com/417850 | 285 http://crbug.com/417850 |
| 294 | 286 |
| 295 - patches/utf32.patch | 287 - patches/utf32.patch |
| 296 | 288 |
| 297 9. Fix a UText bug found in uregex_open fuzzer. | 289 9. Fix a UText bug found in uregex_open fuzzer. |
| 298 - patches/utext.patch | 290 - patches/utext.patch |
| 299 - upstream bug (fixed in trunk in Jan, 2016. Will be in 57 release) | 291 - upstream bug (fixed in trunk in Jan, 2016. Will be in ICU 57 release) |
| 300 http://bugs.icu-project.org/trac/ticket/12130 | 292 http://bugs.icu-project.org/trac/ticket/12130 |
| 301 | 293 |
| 302 10. Fix a bug in regex compiler. | 294 10. Fix a bug in regex compiler. |
| 303 - patches/regexcmp.patch | 295 - patches/regexcmp.patch |
| 304 - upstream bug (fixed in the upstream. Will be in 57 release) | 296 - upstream bug (fixed in the upstream. Will be in ICU 57 release) |
| 305 http://bugs.icu-project.org/trac/ticket/12138 | 297 http://bugs.icu-project.org/trac/ticket/12138 |
| 306 | 298 |
| 307 11. Remove an unnecessary static initializer | 299 11. Remove an unnecessary static initializer |
| 308 - patches/remove_si.patch | 300 - patches/remove_si.patch |
| 309 - upstream bug | 301 - upstream bug (fixed in trunk. Will be in ICU 57 release) |
| 310 http://bugs.icu-project.org/trac/ticket/12408 | 302 http://bugs.icu-project.org/trac/ticket/12408 |
| 303 |
| 304 12. Cherry pick locale data fixes from the upstream and Android |
| 305 - patches/locale_extra.patch |
| 306 - upstream bugs |
| 307 http://unicode.org/cldr/trac/ticket/9045 (en-AU date format) |
| 308 http://unicode.org/cldr/trac/ticket/7969 (percent sign in ar and fa) |
| 309 - Android patch for the 2nd bug |
| 310 https://android.googlesource.com/platform/external/icu/+/56b2b8b |
| OLD | NEW |