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

Unified Diff: source/common/ucnvmbcs.cpp

Issue 1141463003: Make GB18030/GBK compliant to HTML5 Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/common/ucnvmbcs.cpp
diff --git a/source/common/ucnvmbcs.cpp b/source/common/ucnvmbcs.cpp
index f03f8a88c077ef83b8aa325108dab43a850cf4b3..dfed2da8fb36ad637650f6bfc7f5092d37433ee4 100644
--- a/source/common/ucnvmbcs.cpp
+++ b/source/common/ucnvmbcs.cpp
@@ -552,7 +552,8 @@ gb18030Ranges[14][4]={
};
/* bit flag for UConverter.options indicating GB 18030 special handling */
-#define _MBCS_OPTION_GB18030 0x8000
+#define _MBCS_OPTION_GB18030_TOU 0x08000
+#define _MBCS_OPTION_GB18030_FROMU 0x10000
/* bit flag for UConverter.options indicating KEIS,JEF,JIF special handling */
#define _MBCS_OPTION_KEIS 0x01000
@@ -1069,7 +1070,7 @@ ucnv_MBCSGetUnicodeSet(const UConverter *cnv,
const USetAdder *sa,
UConverterUnicodeSet which,
UErrorCode *pErrorCode) {
- if(cnv->options&_MBCS_OPTION_GB18030) {
+ if(cnv->options&_MBCS_OPTION_GB18030_FROMU) {
sa->addRange(sa->set, 0, 0xd7ff);
sa->addRange(sa->set, 0xe000, 0x10ffff);
} else {
@@ -1119,7 +1120,7 @@ _extFromU(UConverter *cnv, const UConverterSharedData *sharedData,
}
/* GB 18030 */
- if((cnv->options&_MBCS_OPTION_GB18030)!=0) {
+ if((cnv->options&_MBCS_OPTION_GB18030_FROMU)!=0) {
const uint32_t *range;
int32_t i;
@@ -1184,7 +1185,7 @@ _extToU(UConverter *cnv, const UConverterSharedData *sharedData,
}
/* GB 18030 */
- if(length==4 && (cnv->options&_MBCS_OPTION_GB18030)!=0) {
+ if(length==4 && (cnv->options&_MBCS_OPTION_GB18030_TOU)!=0) {
const uint32_t *range;
uint32_t linear;
int32_t i;
@@ -1931,7 +1932,10 @@ ucnv_MBCSOpen(UConverter *cnv,
if(uprv_strstr(pArgs->name, "18030")!=NULL) {
if(uprv_strstr(pArgs->name, "gb18030")!=NULL || uprv_strstr(pArgs->name, "GB18030")!=NULL) {
/* set a flag for GB 18030 mode, which changes the callback behavior */
- cnv->options|=_MBCS_OPTION_GB18030;
+#if !UCONFIG_NO_NON_HTML5_CONVERSION
+ cnv->options|=_MBCS_OPTION_GB18030_FROMU;
+#endif
+ cnv->options|=_MBCS_OPTION_GB18030_TOU;
}
} else if((uprv_strstr(pArgs->name, "KEIS")!=NULL) || (uprv_strstr(pArgs->name, "keis")!=NULL)) {
/* set a flag for KEIS converter, which changes the SI/SO character sequence */
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698