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

Side by Side Diff: icu52/patches/uconv.patch

Issue 224943002: icu local change part1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/
Patch Set: function indentation changed Created 6 years, 8 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 | « icu52/patches/ubrk.patch ('k') | icu52/patches/uloc.patch » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 Index: source/common/ucnv2022.cpp
2 ===================================================================
3 --- source/common/ucnv2022.cpp (revision 259715)
4 +++ source/common/ucnv2022.cpp (working copy)
5 @@ -167,13 +167,19 @@
6 * all versions, not just JIS7 and JIS8.
7 * - ICU does not distinguish between different versions of JIS X 0208.
8 */
9 +#if UCONFIG_NO_NON_HTML5_CONVERSION
10 +enum { MAX_JA_VERSION=0 };
11 +#else
12 enum { MAX_JA_VERSION=4 };
13 +#endif
14 static const uint16_t jpCharsetMasks[MAX_JA_VERSION+1]={
15 CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT),
16 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
17 CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212),
18 CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212)|CSM(GB23 12)|CSM(KSC5601)|CSM(ISO8859_1)|CSM(ISO8859_7),
19 CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212)|CSM(GB23 12)|CSM(KSC5601)|CSM(ISO8859_1)|CSM(ISO8859_7),
20 CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212)|CSM(GB23 12)|CSM(KSC5601)|CSM(ISO8859_1)|CSM(ISO8859_7)
21 +#endif
22 };
23
24 typedef enum {
25 @@ -361,14 +367,25 @@
26 };
27
28
29 +/* Enable ISO-2022-{KR,CN,CN-Ext} for now.
30 + * TODO(jshin): Disable it when we know what to do about 'replacement'
31 + * encodings. See http://crbug.com/277037 and
32 + * https://codereview.chromium.org/145973021/
33 + */
34 +#ifndef U_ENABLE_ISO_2022_KR_CN
35 +#define U_ENABLE_ISO_2022_KR_CN 1
36 +#endif
37 +
38 /* Type def for refactoring changeState_2022 code*/
39 typedef enum{
40 #ifdef U_ENABLE_GENERIC_ISO_2022
41 ISO_2022=0,
42 #endif
43 ISO_2022_JP=1,
44 +#ifdef U_ENABLE_ISO_2022_KR_CN
45 ISO_2022_KR=2,
46 ISO_2022_CN=3
47 +#endif
48 } Variant2022;
49
50 /*********** ISO 2022 Converter Protos ***********/
51 @@ -485,24 +502,28 @@
52 /* prevent indexing beyond jpCharsetMasks[] */
53 myConverterData->version = version = 0;
54 }
55 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
56 if(jpCharsetMasks[version]&CSM(ISO8859_7)) {
57 myConverterData->myConverterArray[ISO8859_7] =
58 ucnv_loadSharedData("ISO8859_7", &stackPieces, &stackArgs, errorCode);
59 }
60 +#endif
61 myConverterData->myConverterArray[JISX208] =
62 ucnv_loadSharedData("Shift-JIS", &stackPieces, &stackArgs, erro rCode);
63 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
64 if(jpCharsetMasks[version]&CSM(JISX212)) {
65 myConverterData->myConverterArray[JISX212] =
66 ucnv_loadSharedData("jisx-212", &stackPieces, &stackArgs, e rrorCode);
67 }
68 if(jpCharsetMasks[version]&CSM(GB2312)) {
69 myConverterData->myConverterArray[GB2312] =
70 - ucnv_loadSharedData("ibm-5478", &stackPieces, &stackArgs, e rrorCode); /* gb_2312_80-1 */
71 + ucnv_loadSharedData("noop-gb2312_gl", &stackPieces, &stackA rgs, errorCode); /* gb_2312_80-1 */
72 }
73 if(jpCharsetMasks[version]&CSM(KSC5601)) {
74 myConverterData->myConverterArray[KSC5601] =
75 ucnv_loadSharedData("ksc_5601", &stackPieces, &stackArgs, e rrorCode);
76 }
77 +#endif
78
79 /* set the function pointers to appropriate funtions */
80 cnv->sharedData=(UConverterSharedData*)(&_ISO2022JPData);
81 @@ -513,6 +534,7 @@
82 myConverterData->name[len]=(char)(myConverterData->version+(int)'0' );
83 myConverterData->name[len+1]='\0';
84 }
85 +#ifdef U_ENABLE_ISO_2022_KR_CN
86 else if(myLocale[0]=='k' && (myLocale[1]=='o'|| myLocale[1]=='r') &&
87 (myLocale[2]=='_' || myLocale[2]=='\0'))
88 {
89 @@ -558,13 +580,13 @@
90
91 /* open the required converters and cache them */
92 myConverterData->myConverterArray[GB2312_1] =
93 - ucnv_loadSharedData("ibm-5478", &stackPieces, &stackArgs, error Code);
94 + ucnv_loadSharedData("noop-gb2312_gl", &stackPieces, &stackArgs, errorCode);
95 if(version==1) {
96 myConverterData->myConverterArray[ISO_IR_165] =
97 - ucnv_loadSharedData("iso-ir-165", &stackPieces, &stackArgs, errorCode);
98 + ucnv_loadSharedData("noop-iso-ir-165", &stackPieces, &stack Args, errorCode);
99 }
100 myConverterData->myConverterArray[CNS_11643] =
101 - ucnv_loadSharedData("cns-11643-1992", &stackPieces, &stackArgs, errorCode);
102 + ucnv_loadSharedData("noop-cns-11643", &stackPieces, &stackArgs, errorCode);
103
104
105 /* set the function pointers to appropriate funtions */
106 @@ -582,6 +604,7 @@
107 (void)uprv_strcpy(myConverterData->name,"ISO_2022,locale=zh,ver sion=2");
108 }
109 }
110 +#endif // U_ENABLE_ISO_2022_KR_CN
111 else{
112 #ifdef U_ENABLE_GENERIC_ISO_2022
113 myConverterData->isFirstBuffer = TRUE;
114 Index: source/common/ucnvbocu.cpp
115 ===================================================================
116 --- source/common/ucnvbocu.cpp (revision 259715)
117 +++ source/common/ucnvbocu.cpp (working copy)
118 @@ -19,7 +19,7 @@
119
120 #include "unicode/utypes.h"
121
122 -#if !UCONFIG_NO_CONVERSION
123 +#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
124
125 #include "unicode/ucnv.h"
126 #include "unicode/ucnv_cb.h"
127 Index: source/common/ucnvisci.c
128 ===================================================================
129 --- source/common/ucnvisci.c (revision 259715)
130 +++ source/common/ucnvisci.c (working copy)
131 @@ -17,7 +17,7 @@
132
133 #include "unicode/utypes.h"
134
135 -#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION
136 +#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION && !UCONFIG_NO_NON_ HTML5_CONVERSION
137
138 #include "unicode/ucnv.h"
139 #include "unicode/ucnv_cb.h"
140 Index: source/common/ucnvscsu.c
141 ===================================================================
142 --- source/common/ucnvscsu.c (revision 259715)
143 +++ source/common/ucnvscsu.c (working copy)
144 @@ -21,7 +21,7 @@
145
146 #include "unicode/utypes.h"
147
148 -#if !UCONFIG_NO_CONVERSION
149 +#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
150
151 #include "unicode/ucnv.h"
152 #include "unicode/ucnv_cb.h"
153 Index: source/common/ucnv_u7.c
154 ===================================================================
155 --- source/common/ucnv_u7.c (revision 259715)
156 +++ source/common/ucnv_u7.c (working copy)
157 @@ -16,7 +16,7 @@
158
159 #include "unicode/utypes.h"
160
161 -#if !UCONFIG_NO_CONVERSION
162 +#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
163
164 #include "unicode/ucnv.h"
165 #include "ucnv_bld.h"
166 Index: source/common/unicode/uconfig.h
167 ===================================================================
168 --- source/common/unicode/uconfig.h (revision 259715)
169 +++ source/common/unicode/uconfig.h (working copy)
170 @@ -265,6 +265,14 @@
171 #endif
172
173 /**
174 + * This switch turns off all the converters NOT listed in
175 + * the encoding standard : http://encoding.spec.whatwg.org
176 + */
177 +#ifndef UCONFIG_NO_NON_HTML5_CONVERSION
178 +#define UCONFIG_NO_NON_HTML5_CONVERSION 0
179 +#endif
180 +
181 +/**
182 * \def UCONFIG_NO_LEGACY_CONVERSION
183 * This switch turns off all converters except for
184 * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
185 Index: source/common/ucnv_bld.cpp
186 ===================================================================
187 --- source/common/ucnv_bld.cpp (revision 259715)
188 +++ source/common/ucnv_bld.cpp (working copy)
189 @@ -79,16 +79,25 @@
190 &_HZData,
191 #endif
192
193 +#if UCONFIG_NO_NON_HTML5_CONVERSION
194 + NULL,
195 +#else
196 &_SCSUData,
197 +#endif
198
199 -#if UCONFIG_NO_LEGACY_CONVERSION
200 +
201 +#if UCONFIG_NO_LEGACY_CONVERSION || UCONFIG_NO_NON_HTML5_CONVERSION
202 NULL,
203 #else
204 &_ISCIIData,
205 #endif
206
207 &_ASCIIData,
208 +#if UCONFIG_NO_NON_HTML5_CONVERSION
209 + NULL, NULL, &_UTF16Data, &_UTF32Data, NULL, NULL,
210 +#else
211 &_UTF7Data, &_Bocu1Data, &_UTF16Data, &_UTF32Data, &_CESU8Data, &_IMAPData,
212 +#endif
213
214 #if UCONFIG_NO_LEGACY_CONVERSION
215 NULL,
216 Index: source/common/ucnv_u8.c
217 ===================================================================
218 --- source/common/ucnv_u8.c (revision 259715)
219 +++ source/common/ucnv_u8.c (working copy)
220 @@ -87,6 +87,15 @@
221 static const uint32_t
222 utf8_minChar32[7]={ 0, 0, 0x80, 0x800, 0x10000, 0xffffffff, 0xffffffff };
223
224 +static UBool hasCESU8Data(const UConverter *cnv)
225 +{
226 +#if UCONFIG_NO_NON_HTML5_CONVERSION
227 + return FALSE;
228 +#else
229 + return (UBool)(cnv->sharedData == &_CESU8Data);
230 +#endif
231 +}
232 +
233 static void ucnv_toUnicode_UTF8 (UConverterToUnicodeArgs * args,
234 UErrorCode * err)
235 {
236 @@ -96,10 +105,10 @@
237 const unsigned char *sourceLimit = (unsigned char *) args->sourceLimit;
238 const UChar *targetLimit = args->targetLimit;
239 unsigned char *toUBytes = cnv->toUBytes;
240 - UBool isCESU8 = (UBool)(cnv->sharedData == &_CESU8Data);
241 + UBool isCESU8 = hasCESU8Data(cnv);
242 uint32_t ch, ch2 = 0;
243 int32_t i, inBytes;
244 -
245 +
246 /* Restore size of current sequence */
247 if (cnv->toUnicodeStatus && myTarget < targetLimit)
248 {
249 @@ -226,7 +235,7 @@
250 const unsigned char *sourceLimit = (unsigned char *) args->sourceLimit;
251 const UChar *targetLimit = args->targetLimit;
252 unsigned char *toUBytes = cnv->toUBytes;
253 - UBool isCESU8 = (UBool)(cnv->sharedData == &_CESU8Data);
254 + UBool isCESU8 = hasCESU8Data(cnv);
255 uint32_t ch, ch2 = 0;
256 int32_t i, inBytes;
257
258 @@ -357,7 +366,7 @@
259 UChar32 ch;
260 uint8_t tempBuf[4];
261 int32_t indexToWrite;
262 - UBool isNotCESU8 = (UBool)(cnv->sharedData != &_CESU8Data);
263 + UBool isNotCESU8 = !hasCESU8Data(cnv);
264
265 if (cnv->fromUChar32 && myTarget < targetLimit)
266 {
267 @@ -473,7 +482,7 @@
268 int32_t offsetNum, nextSourceIndex;
269 int32_t indexToWrite;
270 uint8_t tempBuf[4];
271 - UBool isNotCESU8 = (UBool)(cnv->sharedData != &_CESU8Data);
272 + UBool isNotCESU8 = !hasCESU8Data(cnv);
273
274 if (cnv->fromUChar32 && myTarget < targetLimit)
275 {
276 Index: source/common/unicode/urename.h
277 ===================================================================
278 --- source/common/unicode/urename.h (revision 259715)
279 +++ source/common/unicode/urename.h (working copy)
280 @@ -73,12 +73,16 @@
281 #define UDataMemory_setData U_ICU_ENTRY_POINT_RENAME(UDataMemory_setData)
282 #define UDatamemory_assign U_ICU_ENTRY_POINT_RENAME(UDatamemory_assign)
283 #define _ASCIIData U_ICU_ENTRY_POINT_RENAME(_ASCIIData)
284 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
285 #define _Bocu1Data U_ICU_ENTRY_POINT_RENAME(_Bocu1Data)
286 #define _CESU8Data U_ICU_ENTRY_POINT_RENAME(_CESU8Data)
287 +#endif
288 #define _CompoundTextData U_ICU_ENTRY_POINT_RENAME(_CompoundTextData)
289 #define _HZData U_ICU_ENTRY_POINT_RENAME(_HZData)
290 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
291 #define _IMAPData U_ICU_ENTRY_POINT_RENAME(_IMAPData)
292 #define _ISCIIData U_ICU_ENTRY_POINT_RENAME(_ISCIIData)
293 +#endif
294 #define _ISO2022Data U_ICU_ENTRY_POINT_RENAME(_ISO2022Data)
295 #define _LMBCSData1 U_ICU_ENTRY_POINT_RENAME(_LMBCSData1)
296 #define _LMBCSData11 U_ICU_ENTRY_POINT_RENAME(_LMBCSData11)
297 @@ -94,14 +98,18 @@
298 #define _LMBCSData8 U_ICU_ENTRY_POINT_RENAME(_LMBCSData8)
299 #define _Latin1Data U_ICU_ENTRY_POINT_RENAME(_Latin1Data)
300 #define _MBCSData U_ICU_ENTRY_POINT_RENAME(_MBCSData)
301 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
302 #define _SCSUData U_ICU_ENTRY_POINT_RENAME(_SCSUData)
303 +#endif
304 #define _UTF16BEData U_ICU_ENTRY_POINT_RENAME(_UTF16BEData)
305 #define _UTF16Data U_ICU_ENTRY_POINT_RENAME(_UTF16Data)
306 #define _UTF16LEData U_ICU_ENTRY_POINT_RENAME(_UTF16LEData)
307 #define _UTF32BEData U_ICU_ENTRY_POINT_RENAME(_UTF32BEData)
308 #define _UTF32Data U_ICU_ENTRY_POINT_RENAME(_UTF32Data)
309 #define _UTF32LEData U_ICU_ENTRY_POINT_RENAME(_UTF32LEData)
310 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
311 #define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
312 +#endif
313 #define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
314 #define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
315 #define cmemory_inUse U_ICU_ENTRY_POINT_RENAME(cmemory_inUse)
316 Index: source/common/ucnv_cnv.h
317 ===================================================================
318 --- source/common/ucnv_cnv.h (revision 259715)
319 +++ source/common/ucnv_cnv.h (working copy)
320 @@ -259,8 +259,13 @@
321 _ISO2022Data,
322 _LMBCSData1,_LMBCSData2, _LMBCSData3, _LMBCSData4, _LMBCSData5, _LMBCSData6 ,
323 _LMBCSData8,_LMBCSData11,_LMBCSData16,_LMBCSData17,_LMBCSData18,_LMBCSData1 9,
324 +#if !UCONFIG_NO_NON_HTML5_CONVERSION
325 _HZData,_ISCIIData, _SCSUData, _ASCIIData,
326 _UTF7Data, _Bocu1Data, _UTF16Data, _UTF32Data, _CESU8Data, _IMAPData, _Comp oundTextData;
327 +#else
328 + _HZData, _ASCIIData,
329 + _UTF16Data, _UTF32Data, _CompoundTextData;
330 +#endif
331
332 U_CDECL_END
333
OLDNEW
« no previous file with comments | « icu52/patches/ubrk.patch ('k') | icu52/patches/uloc.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698