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 |