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 |