extend the unicode conversion from max 64 to max 128

This commit is contained in:
ftang%netscape.com 1998-08-13 19:26:19 +00:00
Родитель 824d631d5e
Коммит b1c750b078
3 изменённых файлов: 264 добавлений и 19 удалений

Просмотреть файл

@ -332,7 +332,7 @@ XP_END_PROTOS
#define MAXCSIDINTBL 64
#define MAXCSIDINTBL 128

Просмотреть файл

@ -83,14 +83,14 @@ CS_JISX0212,
CS_GB2312,
/* 0x20 - 0x2F*/
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN, /* CS_UCS2 */
CS_UNKNOWN, /* CS_UCS4 */
CS_UNKNOWN, /* CS_UTF8 */
CS_UNKNOWN, /* CS_UTF7 */
CS_UNKNOWN,
CS_UNKNOWN, /* CS_NPC */
CS_X_BIG5,
CS_UNKNOWN,
CS_UNKNOWN, /* USRDEF2 */
CS_KOI8_R,
CS_MAC_CYRILLIC,
@ -101,15 +101,15 @@ CS_CP_1253,
CS_CP_1250,
CS_CP_1254,
CS_MAC_TURKISH,
CS_UNKNOWN,
CS_UNKNOWN, /* CS_GB2312_11 */
/* 0x30 - 0x3F*/
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN, /* CS_JISX0208_11 */
CS_UNKNOWN, /* CS_KSC5601_11 */
CS_UNKNOWN, /* CS_CNS11643_1110 */
CS_UNKNOWN, /* CS_UCS2_SWAP */
CS_UNKNOWN,
CS_UNKNOWN, /* CS_IMAP4_UTF7 */
CS_CP_850,
CS_CP_852,
CS_CP_855,
@ -122,7 +122,92 @@ CS_CP_866,
CS_CP_874,
CS_CP_1257,
CS_CP_1258,
CS_ARMSCII8,
/* 0x40 - 0x4F*/
CS_HZ,
CS_ISO_2022_CN,
CS_GB13000,
CS_BIG5_PLUS,
CS_UHC,
CS_CNS11643_3,
CS_CNS11643_4,
CS_CNS11643_5,
CS_CNS11643_6,
CS_CNS11643_7,
CS_CNS11643_8,
CS_CNS11643_9,
CS_CNS11643_10,
CS_CNS11643_11,
CS_CNS11643_12,
CS_CNS11643_13,
/* 0x50 - 0x5F*/
CS_CNS11643_14,
CS_CNS11643_15,
CS_CNS11643_16,
CS_VISCII, /* Should change to CS_VIET_VISCII */
CS_VIQR, /* Should change to CS_VIET_VIQR */
CS_KOI8_U,
CS_ISO_IR_111,
CS_8859_6_I,
CS_8859_6_E,
CS_8859_8_I,
CS_8859_8_E,
CS_JOHAB,
CS_JOHABFONT,
CS_UNKNOWN, /* should change to CS_VIET_VPS */
CS_UNKNOWN, /* should change to CS_VIET_TCVN */
CS_UNKNOWN, /* should change to CS_VIET_VNI */
/* 0x60 - 0x6F*/
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
/* 0x70 - 0x7F*/
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
CS_UNKNOWN,
};
#define intl_GetValidCSID(fb) (csidtable[(fb) & (MAXCSIDINTBL - 1)])

Просмотреть файл

@ -194,9 +194,69 @@ sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
0,
tbShiftT,
/* 0x30-0x37 */
tbShiftT,
tbShiftT,
tbShiftT,
0,
0,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x38-0x3F */
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x40-0x47 */
0,
0,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
/* 0x48-0x4F */
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
tbShiftT,
/* 0x50-0x57 */
tbShiftT,
tbShiftT,
tbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x58-0x5F */
sbShiftT,
sbShiftT,
sbShiftT,
tbShiftT,
tbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x60-0x67 */
0,
0,
0,
@ -206,7 +266,27 @@ sbShiftT,
0,
0,
/* 0x38-0x3F */
/* 0x68-0x6F */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x70-0x77 */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x78-0x7F */
0,
0,
0,
@ -214,7 +294,7 @@ sbShiftT,
0,
0,
sbShiftT,
0
0,
};
/* This table is used for unicode to single encoding conversion */
@ -287,11 +367,91 @@ sbShiftT,
0,
0,
0,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x38-0x3F */
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x40-0x47 */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x38-0x3F */
/* 0x48-0x4F */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x50-0x57 */
0,
0,
0,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x58-0x5F */
sbShiftT,
sbShiftT,
sbShiftT,
0,
0,
sbShiftT,
sbShiftT,
sbShiftT,
/* 0x60-0x67 */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x68-0x6F */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x70-0x77 */
0,
0,
0,
0,
0,
0,
0,
0,
/* 0x78-0x7F */
0,
0,
0,
@ -299,7 +459,7 @@ sbShiftT,
0,
0,
sbShiftT,
sbShiftT
0,
};
PRIVATE UnicodeTableSet unicodetableset[] =
@ -452,7 +612,7 @@ MODULE_PRIVATE UnicodeTableSet* GetUnicodeTableSet(uint16 csid)
-----------------------------------------------------------------------------------*/
MODULE_PRIVATE uShiftTable* GetShiftTableFromCsid(uint16 csid)
{
return (uShiftTable*)(strShiftTable[csid & 0x3F]);
return (uShiftTable*)(strShiftTable[csid & (MAXCSIDINTBL - 1)]);
}
MODULE_PRIVATE uShiftTable* InfoToShiftTable(unsigned char info)
{