| Index: icu52/patches/uconv.patch
|
| ===================================================================
|
| --- icu52/patches/uconv.patch (revision 0)
|
| +++ icu52/patches/uconv.patch (revision 0)
|
| @@ -0,0 +1,184 @@
|
| +Index: source/common/ucnv2022.cpp
|
| +===================================================================
|
| +--- source/common/ucnv2022.cpp (revision 259715)
|
| ++++ source/common/ucnv2022.cpp (working copy)
|
| +@@ -167,13 +167,19 @@
|
| + * all versions, not just JIS7 and JIS8.
|
| + * - ICU does not distinguish between different versions of JIS X 0208.
|
| + */
|
| ++#if UCONFIG_NO_NON_HTML5_CONVERSION
|
| ++enum { MAX_JA_VERSION=0 };
|
| ++#else
|
| + enum { MAX_JA_VERSION=4 };
|
| ++#endif
|
| + static const uint16_t jpCharsetMasks[MAX_JA_VERSION+1]={
|
| + CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT),
|
| ++#if !UCONFIG_NO_NON_HTML5_CONVERSION
|
| + CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212),
|
| + CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212)|CSM(GB2312)|CSM(KSC5601)|CSM(ISO8859_1)|CSM(ISO8859_7),
|
| + CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212)|CSM(GB2312)|CSM(KSC5601)|CSM(ISO8859_1)|CSM(ISO8859_7),
|
| + CSM(ASCII)|CSM(JISX201)|CSM(JISX208)|CSM(HWKANA_7BIT)|CSM(JISX212)|CSM(GB2312)|CSM(KSC5601)|CSM(ISO8859_1)|CSM(ISO8859_7)
|
| ++#endif
|
| + };
|
| +
|
| + typedef enum {
|
| +@@ -361,14 +367,25 @@
|
| + };
|
| +
|
| +
|
| ++/* Enable ISO-2022-{KR,CN,CN-Ext} for now.
|
| ++ * TODO(jshin): Disable it when we know what to do about 'replacement'
|
| ++ * encodings. See http://crbug.com/277037 and
|
| ++ * https://codereview.chromium.org/145973021/
|
| ++ */
|
| ++#ifndef U_ENABLE_ISO_2022_KR_CN
|
| ++#define U_ENABLE_ISO_2022_KR_CN 1
|
| ++#endif
|
| ++
|
| + /* Type def for refactoring changeState_2022 code*/
|
| + typedef enum{
|
| + #ifdef U_ENABLE_GENERIC_ISO_2022
|
| + ISO_2022=0,
|
| + #endif
|
| + ISO_2022_JP=1,
|
| ++#ifdef U_ENABLE_ISO_2022_KR_CN
|
| + ISO_2022_KR=2,
|
| + ISO_2022_CN=3
|
| ++#endif
|
| + } Variant2022;
|
| +
|
| + /*********** ISO 2022 Converter Protos ***********/
|
| +@@ -485,24 +502,28 @@
|
| + /* prevent indexing beyond jpCharsetMasks[] */
|
| + myConverterData->version = version = 0;
|
| + }
|
| ++#if !UCONFIG_NO_NON_HTML5_CONVERSION
|
| + if(jpCharsetMasks[version]&CSM(ISO8859_7)) {
|
| + myConverterData->myConverterArray[ISO8859_7] =
|
| + ucnv_loadSharedData("ISO8859_7", &stackPieces, &stackArgs, errorCode);
|
| + }
|
| ++#endif
|
| + myConverterData->myConverterArray[JISX208] =
|
| + ucnv_loadSharedData("Shift-JIS", &stackPieces, &stackArgs, errorCode);
|
| ++#if !UCONFIG_NO_NON_HTML5_CONVERSION
|
| + if(jpCharsetMasks[version]&CSM(JISX212)) {
|
| + myConverterData->myConverterArray[JISX212] =
|
| + ucnv_loadSharedData("jisx-212", &stackPieces, &stackArgs, errorCode);
|
| + }
|
| + if(jpCharsetMasks[version]&CSM(GB2312)) {
|
| + myConverterData->myConverterArray[GB2312] =
|
| +- ucnv_loadSharedData("ibm-5478", &stackPieces, &stackArgs, errorCode); /* gb_2312_80-1 */
|
| ++ ucnv_loadSharedData("noop-gb2312_gl", &stackPieces, &stackArgs, errorCode); /* gb_2312_80-1 */
|
| + }
|
| + if(jpCharsetMasks[version]&CSM(KSC5601)) {
|
| + myConverterData->myConverterArray[KSC5601] =
|
| + ucnv_loadSharedData("ksc_5601", &stackPieces, &stackArgs, errorCode);
|
| + }
|
| ++#endif
|
| +
|
| + /* set the function pointers to appropriate funtions */
|
| + cnv->sharedData=(UConverterSharedData*)(&_ISO2022JPData);
|
| +@@ -513,6 +534,7 @@
|
| + myConverterData->name[len]=(char)(myConverterData->version+(int)'0');
|
| + myConverterData->name[len+1]='\0';
|
| + }
|
| ++#ifdef U_ENABLE_ISO_2022_KR_CN
|
| + else if(myLocale[0]=='k' && (myLocale[1]=='o'|| myLocale[1]=='r') &&
|
| + (myLocale[2]=='_' || myLocale[2]=='\0'))
|
| + {
|
| +@@ -558,13 +580,13 @@
|
| +
|
| + /* open the required converters and cache them */
|
| + myConverterData->myConverterArray[GB2312_1] =
|
| +- ucnv_loadSharedData("ibm-5478", &stackPieces, &stackArgs, errorCode);
|
| ++ ucnv_loadSharedData("noop-gb2312_gl", &stackPieces, &stackArgs, errorCode);
|
| + if(version==1) {
|
| + myConverterData->myConverterArray[ISO_IR_165] =
|
| +- ucnv_loadSharedData("iso-ir-165", &stackPieces, &stackArgs, errorCode);
|
| ++ ucnv_loadSharedData("noop-iso-ir-165", &stackPieces, &stackArgs, errorCode);
|
| + }
|
| + myConverterData->myConverterArray[CNS_11643] =
|
| +- ucnv_loadSharedData("cns-11643-1992", &stackPieces, &stackArgs, errorCode);
|
| ++ ucnv_loadSharedData("noop-cns-11643", &stackPieces, &stackArgs, errorCode);
|
| +
|
| +
|
| + /* set the function pointers to appropriate funtions */
|
| +@@ -582,6 +604,7 @@
|
| + (void)uprv_strcpy(myConverterData->name,"ISO_2022,locale=zh,version=2");
|
| + }
|
| + }
|
| ++#endif // U_ENABLE_ISO_2022_KR_CN
|
| + else{
|
| + #ifdef U_ENABLE_GENERIC_ISO_2022
|
| + myConverterData->isFirstBuffer = TRUE;
|
| +Index: source/common/ucnvbocu.cpp
|
| +===================================================================
|
| +--- source/common/ucnvbocu.cpp (revision 259715)
|
| ++++ source/common/ucnvbocu.cpp (working copy)
|
| +@@ -19,7 +19,7 @@
|
| +
|
| + #include "unicode/utypes.h"
|
| +
|
| +-#if !UCONFIG_NO_CONVERSION
|
| ++#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
|
| +
|
| + #include "unicode/ucnv.h"
|
| + #include "unicode/ucnv_cb.h"
|
| +Index: source/common/ucnvisci.c
|
| +===================================================================
|
| +--- source/common/ucnvisci.c (revision 259715)
|
| ++++ source/common/ucnvisci.c (working copy)
|
| +@@ -17,7 +17,7 @@
|
| +
|
| + #include "unicode/utypes.h"
|
| +
|
| +-#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION
|
| ++#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_LEGACY_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
|
| +
|
| + #include "unicode/ucnv.h"
|
| + #include "unicode/ucnv_cb.h"
|
| +Index: source/common/ucnvscsu.c
|
| +===================================================================
|
| +--- source/common/ucnvscsu.c (revision 259715)
|
| ++++ source/common/ucnvscsu.c (working copy)
|
| +@@ -21,7 +21,7 @@
|
| +
|
| + #include "unicode/utypes.h"
|
| +
|
| +-#if !UCONFIG_NO_CONVERSION
|
| ++#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
|
| +
|
| + #include "unicode/ucnv.h"
|
| + #include "unicode/ucnv_cb.h"
|
| +Index: source/common/ucnv_u7.c
|
| +===================================================================
|
| +--- source/common/ucnv_u7.c (revision 259715)
|
| ++++ source/common/ucnv_u7.c (working copy)
|
| +@@ -16,7 +16,7 @@
|
| +
|
| + #include "unicode/utypes.h"
|
| +
|
| +-#if !UCONFIG_NO_CONVERSION
|
| ++#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_NON_HTML5_CONVERSION
|
| +
|
| + #include "unicode/ucnv.h"
|
| + #include "ucnv_bld.h"
|
| +Index: source/common/unicode/uconfig.h
|
| +===================================================================
|
| +--- source/common/unicode/uconfig.h (revision 259715)
|
| ++++ source/common/unicode/uconfig.h (working copy)
|
| +@@ -265,6 +265,14 @@
|
| + #endif
|
| +
|
| + /**
|
| ++ * This switch turns off all the converters NOT listed in
|
| ++ * the encoding standard : http://encoding.spec.whatwg.org
|
| ++ */
|
| ++#if UCONFIG_NO_NONHTML5_CONVERSION
|
| ++#define UCONFIG_NO_NON_HTML5_CONVERSION 1
|
| ++#endif
|
| ++
|
| ++/**
|
| + * \def UCONFIG_NO_LEGACY_CONVERSION
|
| + * This switch turns off all converters except for
|
| + * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
|
|
|
| Property changes on: icu52/patches/uconv.patch
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|