mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 07:39:16 +00:00
ICU-1864 add BOCU-1
X-SVN-Rev: 8481
This commit is contained in:
parent
3e91ccada7
commit
995a589267
7 changed files with 1647 additions and 11 deletions
|
@ -71,7 +71,7 @@ OBJECTS = putil.o locmap.o mutex.o umutex.o \
|
|||
udata.o ucmndata.o udatamem.o umapfile.o filestrm.o \
|
||||
uresbund.o uresdata.o resbund.o cwchar.o uloc.o locid.o uhash.o uhash_us.o \
|
||||
ucnv.o ucnv_bld.o ucnv_cb.o ucnv_cnv.o ucnv_err.o ucnv_io.o ucnvlat1.o \
|
||||
ucnv_utf.o ucnvmbcs.o ucnv2022.o ucnvhz.o ucnv_lmb.o ucnvscsu.o ucnvisci.o \
|
||||
ucnv_utf.o ucnvmbcs.o ucnv2022.o ucnvhz.o ucnv_lmb.o ucnvscsu.o ucnvbocu.o ucnvisci.o \
|
||||
unistr.o utf_impl.o ustring.o ustrcase.o cstring.o ustrfmt.o ustrtrns.o \
|
||||
normlzr.o unorm.o chariter.o schriter.o uchriter.o uiter.o \
|
||||
uchar.o uprops.o bidi.o ubidi.o ubidiwrt.o ubidiln.o ushape.o unames.o ucln_cmn.o \
|
||||
|
|
|
@ -251,6 +251,17 @@ SOURCE=.\ucnv_utf.c
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ucnvbocu.c
|
||||
|
||||
!IF "$(CFG)" == "common - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "common - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ucnvhz.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
|
@ -1276,7 +1276,7 @@ ucnv_detectUnicodeSignature( const char* source,
|
|||
*signatureLength=2;
|
||||
return "UTF-16BE";
|
||||
} else if(start[0] == '\xFF' && start[1] == '\xFE') {
|
||||
if(start[2] == '\x00' && start[3] =='\x00'){
|
||||
if(start[2] == '\x00' && start[3] =='\x00') {
|
||||
*signatureLength=4;
|
||||
return "UTF-32LE";
|
||||
} else {
|
||||
|
@ -1286,14 +1286,17 @@ ucnv_detectUnicodeSignature( const char* source,
|
|||
} else if(start[0] == '\xEF' && start[1] == '\xBB' && start[2] == '\xBF') {
|
||||
*signatureLength=3;
|
||||
return "UTF-8";
|
||||
}else if(start[0] == '\x0E' && start[1] == '\xFE' && start[2] == '\xFF'){
|
||||
*signatureLength=3;
|
||||
return "SCSU";
|
||||
}else if(start[0] == '\x00' && start[1] == '\x00' &&
|
||||
start[2] == '\xFE' && start[3]=='\xFF'){
|
||||
} else if(start[0] == '\x00' && start[1] == '\x00' &&
|
||||
start[2] == '\xFE' && start[3]=='\xFF') {
|
||||
*signatureLength=4;
|
||||
return "UTF-32BE";
|
||||
}else{
|
||||
} else if(start[0] == '\x0E' && start[1] == '\xFE' && start[2] == '\xFF') {
|
||||
*signatureLength=3;
|
||||
return "SCSU";
|
||||
} else if(start[0] == '\xFC' && start[1] == '\xEE' && start[2] == '\x27') {
|
||||
*signatureLength=3;
|
||||
return "BOCU-1";
|
||||
} else {
|
||||
*signatureLength=0;
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ converterData[UCNV_NUMBER_OF_SUPPORTED_CONVERTER_TYPES]={
|
|||
NULL, &_ISO2022Data,
|
||||
&_LMBCSData1,&_LMBCSData2, &_LMBCSData3, &_LMBCSData4, &_LMBCSData5, &_LMBCSData6,
|
||||
&_LMBCSData8,&_LMBCSData11,&_LMBCSData16,&_LMBCSData17,&_LMBCSData18,&_LMBCSData19,
|
||||
&_HZData, &_SCSUData, &_ISCIIData, &_ASCIIData, &_UTF7Data
|
||||
&_HZData, &_SCSUData, &_ISCIIData, &_ASCIIData, &_UTF7Data, &_Bocu1Data
|
||||
};
|
||||
|
||||
static struct {
|
||||
|
@ -93,7 +93,8 @@ static struct {
|
|||
{ "SCSU", UCNV_SCSU },
|
||||
{ "ISCII", UCNV_ISCII },
|
||||
{ "US-ASCII", UCNV_US_ASCII },
|
||||
{ "UTF-7", UCNV_UTF7 }
|
||||
{ "UTF-7", UCNV_UTF7 },
|
||||
{ "BOCU-1", UCNV_BOCU1 }
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -153,7 +153,7 @@ extern const UConverterSharedData
|
|||
_ISO2022Data,
|
||||
_LMBCSData1,_LMBCSData2, _LMBCSData3, _LMBCSData4, _LMBCSData5, _LMBCSData6,
|
||||
_LMBCSData8,_LMBCSData11,_LMBCSData16,_LMBCSData17,_LMBCSData18,_LMBCSData19,
|
||||
_HZData,_ISCIIData, _SCSUData, _ASCIIData, _UTF7Data;
|
||||
_HZData,_ISCIIData, _SCSUData, _ASCIIData, _UTF7Data, _Bocu1Data;
|
||||
|
||||
U_CDECL_END
|
||||
|
||||
|
|
1620
icu4c/source/common/ucnvbocu.c
Normal file
1620
icu4c/source/common/ucnvbocu.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -82,6 +82,7 @@ typedef enum {
|
|||
UCNV_ISCII,
|
||||
UCNV_US_ASCII,
|
||||
UCNV_UTF7,
|
||||
UCNV_BOCU1,
|
||||
|
||||
/* Number of converter types for which we have conversion routines. */
|
||||
UCNV_NUMBER_OF_SUPPORTED_CONVERTER_TYPES
|
||||
|
|
Loading…
Add table
Reference in a new issue