Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: README.chromium

Issue 566073003: Fix a bug in ICU's bidi handling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/icu52/
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | patches/bidi.patch » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Name: icu 1 Name: icu
2 URL: http://site.icu-project.org/ 2 URL: http://site.icu-project.org/
3 Version: 52.1 3 Version: 52.1
4 License: MIT 4 License: MIT
5 Security Critical: yes 5 Security Critical: yes
6 6
7 Description: 7 Description:
8 This directory contains the source code of ICU 52.1 for C/C++ 8 This directory contains the source code of ICU 52.1 for C/C++
9 9
10 1. It was obtained with the following: 10 1. It was obtained with the following:
11 11
12 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu/tag s/release-52-1 icu52 12 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu/tag s/release-52-1 icu52
13 13
14 The following directories we don't use are removed: 14 The following directories we don't use are removed:
15 15
16 - as_is 16 - as_is
17 - packaging 17 - packaging
18 - source/layout 18 - source/layout
19 - source/layoutex 19 - source/layoutex
20 - source/data/xml 20 - source/data/xml
21 21
22 patches/configure.patch is applied to get runConfigureICU work in the 22 patches/configure.patch is applied to get runConfigureICU work in the
23 icudata generation step without layout and layoutex directory by removing the 23 icudata generation step without layout and layoutex directory by removing the
24 corresponding Makefile's from ac_config variable. 24 corresponding Makefile's from ac_config variable.
25 25
26 2. Apply the following patch for platform related headers (putilimpl.h and 26 2. Apply the following patch for platform related headers (putilimpl.h and
27 others). 27 others).
28 28
29 - patches/putil.patch for Android, QNX and newlib(NaCl-newlib). 29 - patches/putil.patch for Android, QNX and newlib(NaCl-newlib).
30 Upstream bug for Android : http://bugs.icu-project.org/trac/ticket/10478 30 Upstream bug for Android : http://bugs.icu-project.org/trac/ticket/10478
31 Upstream bug for QNX : http://bugs.icu-project.org/trac/ticket/10811 31 Upstream bug for QNX : http://bugs.icu-project.org/trac/ticket/10811
32 Upstream bug for newlib : http://bugs.icu-project.org/trac/ticket/10873 32 Upstream bug for newlib : http://bugs.icu-project.org/trac/ticket/10873
33 33
34 - patches/platform_nacl.patch to add U_PF_NATIVE_CLIENT 34 - patches/platform_nacl.patch to add U_PF_NATIVE_CLIENT
35 Upstream bug : http://bugs.icu-project.org/trac/ticket/11033 35 Upstream bug : http://bugs.icu-project.org/trac/ticket/11033
36 36
37 37
38 3. Breakiterator patches 38 3. Breakiterator patches
39 39
40 - Apply patches/brkitr.patch 40 - Apply patches/brkitr.patch
41 * word.txt 41 * word.txt
42 a. Move full stops (U+002E, U+FF0E) from MidNumLet to MidNum so that 42 a. Move full stops (U+002E, U+FF0E) from MidNumLet to MidNum so that
43 FQDN labels can be split at '.' 43 FQDN labels can be split at '.'
44 b. Move fullwidth digits (U+FF10 - U+FF19) from Ideographic to Numeric. 44 b. Move fullwidth digits (U+FF10 - U+FF19) from Ideographic to Numeric.
45 See http://unicode.org/cldr/trac/ticket/6555 45 See http://unicode.org/cldr/trac/ticket/6555
46 * line.txt 46 * line.txt
47 a. Use Japanese rules for all locales because Japanese tailoring only 47 a. Use Japanese rules for all locales because Japanese tailoring only
48 affects Japanese specific characters. 48 affects Japanese specific characters.
49 See http://unicode.org/cldr/trac/ticket/3974 49 See http://unicode.org/cldr/trac/ticket/3974
50 b. Minor changes in CL, OP and IS definitions to handle 'comma-variants' 50 b. Minor changes in CL, OP and IS definitions to handle 'comma-variants'
51 more consistenly. 51 more consistenly.
52 See http://unicode.org/cldr/trac/ticket/6557 52 See http://unicode.org/cldr/trac/ticket/6557
53 c. Fix line breaking for Chinese characters and quotation marks 53 c. Fix line breaking for Chinese characters and quotation marks
54 See http://unicode.org/cldr/trac/ticket/4200 and 54 See http://unicode.org/cldr/trac/ticket/4200 and
55 http://crbug.com/39779 55 http://crbug.com/39779
56 56
57 57
58 - Add a new file brklocal.mk (copied from brkfiles.mk) with line_ja.txt 58 - Add a new file brklocal.mk (copied from brkfiles.mk) with line_ja.txt
59 and word_POSIX.txt dropped from the build list. 59 and word_POSIX.txt dropped from the build list.
60 60
61 - Apply patches/khmer-dictbe.patch and put in a smaller Khmer dictionary 61 - Apply patches/khmer-dictbe.patch and put in a smaller Khmer dictionary
62 (source/data/brkitr/khmerdict.txt) obtained from 62 (source/data/brkitr/khmerdict.txt) obtained from
63 http://bugs.icu-project.org/trac/ticket/9451 63 http://bugs.icu-project.org/trac/ticket/9451
64 64
65 - Add several common Chinese words that were dropped previously to 65 - Add several common Chinese words that were dropped previously to
66 source/data/cjdict/brkitr/cjdict.txt 66 source/data/cjdict/brkitr/cjdict.txt
67 patch: patches/cjdict.patch 67 patch: patches/cjdict.patch
68 upstream bug: http://bugs.icu-project.org/trac/ticket/10888 68 upstream bug: http://bugs.icu-project.org/trac/ticket/10888
69 69
70 70
71 - android/brkitr.patch (to be applied for Android build only) : 71 - android/brkitr.patch (to be applied for Android build only) :
72 Reverts some changes about Chinese/Japanese segmentation rules in 72 Reverts some changes about Chinese/Japanese segmentation rules in
73 patches/brkitr.patch to reduce binary size for Android. 73 patches/brkitr.patch to reduce binary size for Android.
74 74
75 4. Converter changes : 75 4. Converter changes :
76 76
77 - converters.patch : 77 - converters.patch :
78 a. revises existing mapping tables 78 a. revises existing mapping tables
79 b. Remove a lot of unused aliases in the converter alias table 79 b. Remove a lot of unused aliases in the converter alias table
80 (source/data/mappings/convrtrs.txt ) leading to 40kB size reduction. 80 (source/data/mappings/convrtrs.txt ) leading to 40kB size reduction.
81 81
82 - Add source/data/mappings/ucmlocal.txt : to list only converters we need. 82 - Add source/data/mappings/ucmlocal.txt : to list only converters we need.
83 - Add three new tables per WHATWG encoding standards for EUC-JP, 83 - Add three new tables per WHATWG encoding standards for EUC-JP,
84 Shift_JIS and CP866. 84 Shift_JIS and CP866.
85 They're generated with scripts/{eucjp, sjis, ibm866}_gen.sh. 85 They're generated with scripts/{eucjp, sjis, ibm866}_gen.sh.
86 - Add three 'fake' tables for ISO-2022-CN(-Ext) : noop-*.ucm. 86 - Add three 'fake' tables for ISO-2022-CN(-Ext) : noop-*.ucm.
87 87
88 - uconv.patch 88 - uconv.patch
89 a. ucnv2022 uses 3 fake tables for ISO-2022-CN(-Ext) instead of two 89 a. ucnv2022 uses 3 fake tables for ISO-2022-CN(-Ext) instead of two
90 huge tables. 90 huge tables.
91 b. ISO-2022-JP-[1-4] is dropped. 91 b. ISO-2022-JP-[1-4] is dropped.
92 c. SCSU, BOCU, ISCII, UTF-7 conversion is diabled leading to 92 c. SCSU, BOCU, ISCII, UTF-7 conversion is diabled leading to
93 the 47kB reduction in the code size. 93 the 47kB reduction in the code size.
94 94
95 5. Locale changes 95 5. Locale changes
96 - patches/locale1.patch : 96 - patches/locale1.patch :
97 a. Exemplar character set changes for zh*, ja + 9 Indian locales 97 a. Exemplar character set changes for zh*, ja + 9 Indian locales
98 b. Minor fixes for Korean, a few Indic (AmPmMarkers) and 98 b. Minor fixes for Korean, a few Indic (AmPmMarkers) and
99 others (datetime format) 99 others (datetime format)
100 100
101 - Locale build configuration files: To include the full locale data 101 - Locale build configuration files: To include the full locale data
102 for Chrome's UI languages and the minimum locale data for other locales, 102 for Chrome's UI languages and the minimum locale data for other locales,
103 add reslocal.mk or {trns,sprep,rbnf,coll}local.mk files to 103 add reslocal.mk or {trns,sprep,rbnf,coll}local.mk files to
104 source/data/{coll,curr,lang.locale,curr,region,translit,zone,rbnf,sprep}. 104 source/data/{coll,curr,lang.locale,curr,region,translit,zone,rbnf,sprep}.
105 105
106 This along with #8 (data.build.patch), #3 (brkiter) and #4 (converter) 106 This along with #8 (data.build.patch), #3 (brkiter) and #4 (converter)
107 cuts down the data size by ~ 11MB. 107 cuts down the data size by ~ 11MB.
108 108
109 - Run scripts/trim_data.sh : About 2.1MB data size reduction. 109 - Run scripts/trim_data.sh : About 2.1MB data size reduction.
110 a. Trim the locale data for Chrome's UI langauges : 110 a. Trim the locale data for Chrome's UI langauges :
111 locales, lang, region, currency 111 locales, lang, region, currency
112 b. Trim the locale data for non-UI languages to the bare minimum : 112 b. Trim the locale data for non-UI languages to the bare minimum :
113 ExemplarCharacters, LocaleScript, layout, and the name of the 113 ExemplarCharacters, LocaleScript, layout, and the name of the
114 language for a locale in its native language. 114 language for a locale in its native language.
115 c. Remove the legacy Chinese character set-based collation 115 c. Remove the legacy Chinese character set-based collation
116 (big5han/gb2312han) that don't make any sense and nobdoy uses. 116 (big5han/gb2312han) that don't make any sense and nobdoy uses.
117 117
118 - android/patch_locale.sh (to be run for Android build only): 118 - android/patch_locale.sh (to be run for Android build only):
119 a. Makes changes to source/data/{curr,region,lang} to exclude these data 119 a. Makes changes to source/data/{curr,region,lang} to exclude these data
120 except the language and script names of zh_Hans and zh_Hant. 120 except the language and script names of zh_Hans and zh_Hant.
121 b. Remove exemplar cities in timezone data (data/zone) 121 b. Remove exemplar cities in timezone data (data/zone)
122 c. Keep only the minimal calendar data in data/locales 122 c. Keep only the minimal calendar data in data/locales
123 123
124 - Add tg.txt to source/data/locale source/data/lang to add the minimal locale 124 - Add tg.txt to source/data/locale source/data/lang to add the minimal locale
125 data necessary for the spellchecker. In both directories, add tg.txt to 125 data necessary for the spellchecker. In both directories, add tg.txt to
126 reslocal.mk 126 reslocal.mk
127 127
128 6. Timezone data update 128 6. Timezone data update
129 - Grab the latest version of the following timezone data files and 129 - Grab the latest version of the following timezone data files and
130 put them in source/data/misc. 130 put them in source/data/misc.
131 131
132 metaZones.txt 132 metaZones.txt
133 timezoneTypes.txt 133 timezoneTypes.txt
(...skipping 13 matching lines...) Expand all
147 147
148 8. Build-related changes 148 8. Build-related changes
149 149
150 - patches/wpo.patch 150 - patches/wpo.patch
151 Upstream bugs : http://bugs.icu-project.org/trac/ticket/8043 151 Upstream bugs : http://bugs.icu-project.org/trac/ticket/8043
152 http://bugs.icu-project.org/trac/ticket/5701 152 http://bugs.icu-project.org/trac/ticket/5701
153 - patches/vscomp.patch for building with Visual Studio on Windows. 153 - patches/vscomp.patch for building with Visual Studio on Windows.
154 a. do not use WINDOWS_LOCALE_API in locmap.c 154 a. do not use WINDOWS_LOCALE_API in locmap.c
155 b. do not redefine stringpiece::npos 155 b. do not redefine stringpiece::npos
156 c. fix a Windows build failure with U_USING_ICU_NAMESPACE=0 156 c. fix a Windows build failure with U_USING_ICU_NAMESPACE=0
157 upstream bug: http://bugs.icu-project.org/trac/ticket/10486 157 upstream bug: http://bugs.icu-project.org/trac/ticket/10486
158 fixed in ICU 53) 158 fixed in ICU 53)
159 d. Explicitly use Windows 'A' API when argument is an LPSTR in wintz.c 159 d. Explicitly use Windows 'A' API when argument is an LPSTR in wintz.c
160 upstream bug : http://bugs.icu-project.org/trac/ticket/10870 160 upstream bug : http://bugs.icu-project.org/trac/ticket/10870
161 161
162 - patches/data.build.patch : 162 - patches/data.build.patch :
163 Remove unnecessary resources : invuca, unames, collator source, stringprep 163 Remove unnecessary resources : invuca, unames, collator source, stringprep
164 - patches/data.build.win.patch : 164 - patches/data.build.win.patch :
165 Windows-only data build patch. 165 Windows-only data build patch.
166 166
167 - patches/clang_win.patch : 167 - patches/clang_win.patch :
168 Take care of 3 warnings from clang and MSVC 2013. 168 Take care of 3 warnings from clang and MSVC 2013.
169 upstream bug : http://bugs.icu-project.org/trac/ticket/11102 169 upstream bug : http://bugs.icu-project.org/trac/ticket/11102
170 170
171 9. Pre-built data files are checked in with the following steps on Linux: 171 9. Pre-built data files are checked in with the following steps on Linux:
172 172
173 a. Make a icu data build directory outside the Chromium source tree 173 a. Make a icu data build directory outside the Chromium source tree
174 and cd to that directory. 174 and cd to that directory.
175 b. Run 175 b. Run
176 176
177 ${CHROME_ICU_TREE_TOP}/source/runConfigureICU Linux --disable-layout 177 ${CHROME_ICU_TREE_TOP}/source/runConfigureICU Linux --disable-layout
178 178
179 c. Run 'make' 179 c. Run 'make'
180 d. 'make' will fail in the 1st pass. Copy 180 d. 'make' will fail in the 1st pass. Copy
181 ${CHROME_ICU_TREE_TOP}/source/data/in/coll/invuca.icu 181 ${CHROME_ICU_TREE_TOP}/source/data/in/coll/invuca.icu
182 to {BUILD_DIR_ROOT}/data/out/build/icudt52l/coll and re-run 'make' 182 to {BUILD_DIR_ROOT}/data/out/build/icudt52l/coll and re-run 'make'
183 in {BUILD_DIR_ROOT}/data. 183 in {BUILD_DIR_ROOT}/data.
184 184
185 e. 'make' will fail again when pkgdata looks for css3transform.res. Edit 185 e. 'make' will fail again when pkgdata looks for css3transform.res. Edit
186 data/out/tmp/icudata.lst to replace 'css3transform.res' with 'root.res'. 186 data/out/tmp/icudata.lst to replace 'css3transform.res' with 'root.res'.
187 (see http://bugs.icu-project.org/trac/ticket/10570 ) and run 'make' again. 187 (see http://bugs.icu-project.org/trac/ticket/10570 ) and run 'make' again.
188 188
189 189
190 - source/data/in/icudtl.dat : Built on Linux with all the patches 190 - source/data/in/icudtl.dat : Built on Linux with all the patches
191 above applied. icudt52l.dat is generated in 191 above applied. icudt52l.dat is generated in
192 {BUILD_DIR_ROOT}/data/out/tmp and copied to the above location with a 192 {BUILD_DIR_ROOT}/data/out/tmp and copied to the above location with a
193 version number (52) dropped. 193 version number (52) dropped.
194 194
195 195
196 - {mac,linux}/icudtl_dat.S : Built on Linux with all the 196 - {mac,linux}/icudtl_dat.S : Built on Linux with all the
197 patches above (except android/brkitr.patch) applied and checked in. 197 patches above (except android/brkitr.patch) applied and checked in.
198 This file will be generated in {BUILD_DIR_ROOT}/data/out/tmp as 198 This file will be generated in {BUILD_DIR_ROOT}/data/out/tmp as
199 icudt52l_dat.S, but '52' is dropped while copying. 199 icudt52l_dat.S, but '52' is dropped while copying.
200 200
201 mac/icudtl_dat.S is identical to linux/icudtl_dat.S except for 201 mac/icudtl_dat.S is identical to linux/icudtl_dat.S except for
202 the header portion. With "linux/icudtl_dat.S" in its place, 202 the header portion. With "linux/icudtl_dat.S" in its place,
203 run scripts/make_mac_assembly.sh to generate it. 203 run scripts/make_mac_assembly.sh to generate it.
204 204
205 - android/icudtl_dat.S : Built on Linux with all the patches above and 205 - android/icudtl_dat.S : Built on Linux with all the patches above and
206 android/brkitr.patch applied and android/patch_locale.sh executed. 206 android/brkitr.patch applied and android/patch_locale.sh executed.
207 '52' is dropped from the name generated in the build tree. 207 '52' is dropped from the name generated in the build tree.
208 208
209 - android/icudtl.dat : Generated as icudt52l.dat in 209 - android/icudtl.dat : Generated as icudt52l.dat in
210 {BUILD_DIR_ROOT}/data/out/tmp along with icudt52l_dat.S and 210 {BUILD_DIR_ROOT}/data/out/tmp along with icudt52l_dat.S and
211 copied to the above location with '52' dropped in its name. 211 copied to the above location with '52' dropped in its name.
212 212
213 - windows/icudt.dll (by default, we set icu_use_icu_data_flag to 1 213 - windows/icudt.dll (by default, we set icu_use_icu_data_flag to 1
214 and don't use this file.) 214 and don't use this file.)
215 215
216 a. check out a clean copy of icu52 from the upstream on Windows 216 a. check out a clean copy of icu52 from the upstream on Windows
217 outside the Chrome tree. 217 outside the Chrome tree.
218 218
219 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu /tags/release-52-1 ${SEPARATE_ICU_ROOT}/icu52 219 $ svn export --native-eol LF http://source.icu-project.org/repos/icu/icu /tags/release-52-1 ${SEPARATE_ICU_ROOT}/icu52
220 220
221 b. copy ${CHROME_ICU_ROOT}/source/data/in/icudtl.dat to 221 b. copy ${CHROME_ICU_ROOT}/source/data/in/icudtl.dat to
222 ${SEPARATE_ICU_ROOT}/source/data/in/icudt52l.dat 222 ${SEPARATE_ICU_ROOT}/source/data/in/icudt52l.dat
223 c. copy ${CHROME_ICU_ROOT}/source/data/makedata.mak to 223 c. copy ${CHROME_ICU_ROOT}/source/data/makedata.mak to
224 ${SEPARATE_ICU_ROOT}/source/data/makedata.mak 224 ${SEPARATE_ICU_ROOT}/source/data/makedata.mak
225 c. In Visual Studio, open source/allinone/allinone.sln solution 225 c. In Visual Studio, open source/allinone/allinone.sln solution
226 in ${SEPARATE_ICU_ROOT} 226 in ${SEPARATE_ICU_ROOT}
227 d. Build 'makedata' target 227 d. Build 'makedata' target
228 e. icudt52.dll will be generated in ${SEPARATE_ICU_ROOT}/bin 228 e. icudt52.dll will be generated in ${SEPARATE_ICU_ROOT}/bin
229 f. Copy that icudt52.dll to ${CHROME_ICU_ROOT}/windows/icudt.dll 229 f. Copy that icudt52.dll to ${CHROME_ICU_ROOT}/windows/icudt.dll
230 and check that in. 230 and check that in.
231 231
232 232
233 10. Change export of U_ICUDATA_ENTRY_POINT from U_IMPORT to U_EXPORT. 233 10. Change export of U_ICUDATA_ENTRY_POINT from U_IMPORT to U_EXPORT.
234 - patches/declspec.patch 234 - patches/declspec.patch
235
236 11. Cherry-pick an upstream patch to fix a bug in bidi.
237 - patches/bidi.patch
238 - upstream bug : http://bugs.icu-project.org/trac/ticket/11054
OLDNEW
« no previous file with comments | « no previous file | patches/bidi.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698