ICU-1864 add BOCU-1

X-SVN-Rev: 8481
This commit is contained in:
Markus Scherer 2002-04-17 20:36:53 +00:00
parent 3e91ccada7
commit 995a589267
7 changed files with 1647 additions and 11 deletions

View file

@ -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 \

View file

@ -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

View 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;
}

View file

@ -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 }
};

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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