Index: cmd/xfe/resources =================================================================== RCS file: /cvsroot/mozilla/cmd/xfe/resources,v retrieving revision 3.19 diff -u -r3.19 resources --- resources 1998/08/07 09:51:48 3.19 +++ resources 1998/08/08 07:49:58 @@ -5566,7 +5566,7 @@ *documentFonts.charsetlang*jis_x0212-1990: Japanese *documentFonts.charsetlang*koi8-r: Cyrillic *documentFonts.charsetlang*windows-1251: Cyrillic -*documentFonts.charsetlang*koi8-r: Ukrainian +*documentFonts.charsetlang*koi8-u: Ukrainian *documentFonts.charsetlang*ks_c_5601-1987: Korean *documentFonts.charsetlang*x-cns11643-1110: Traditional Chinese *documentFonts.charsetlang*x-cns11643-1: Traditional Chinese Index: include/csid.h =================================================================== RCS file: /cvsroot/mozilla/include/csid.h,v retrieving revision 3.3 diff -u -r3.3 csid.h --- csid.h 1998/05/30 08:01:55 3.3 +++ csid.h 1998/08/08 07:50:03 @@ -141,7 +141,7 @@ #define CS_CNS11643_16 (MULTIBYTE | 82) /* 338 */ #define CS_VISCII ( 83) /* 83 */ #define CS_VIQR ( 84) /* 84 */ -#define CS_KOI8_U ( 85) /* 85 */ +#define CS_KOI8_U (SINGLEBYTE | 85) /* 85 */ #define CS_ISO_IR_111 ( 86) /* 86 */ #define CS_8859_6_I ( 87) /* 87 */ #define CS_8859_6_E ( 88) /* 88 */ Index: lib/libi18n/fe_ccc.c =================================================================== RCS file: /cvsroot/mozilla/lib/libi18n/fe_ccc.c,v retrieving revision 3.14 diff -u -r3.14 fe_ccc.c --- fe_ccc.c 1998/08/04 21:11:09 3.14 +++ fe_ccc.c 1998/08/08 07:50:06 @@ -481,7 +481,16 @@ {CS_KOI8_R, CS_CP_1251, 0, (CCCFunc)One2OneCCC, 0}, /* UKRAINIAN */ - {CS_KOI8_U, CS_KOI8_U, 0, (CCCFunc)0, 0}, + {CS_KOI8_U, CS_KOI8_U, 0, (CCCFunc)0, 0}, + {CS_KOI8_U, CS_KOI8_R, 0, (CCCFunc)One2OneCCC, 0}, + {CS_KOI8_R, CS_KOI8_U, 0, (CCCFunc)One2OneCCC, 0}, + {CS_KOI8_U, CS_8859_5, 0, (CCCFunc)One2OneCCC, 0}, + {CS_8859_5, CS_KOI8_U, 0, (CCCFunc)One2OneCCC, 0}, + {CS_KOI8_U, CS_MAC_CYRILLIC, 0, (CCCFunc)One2OneCCC, 0}, + {CS_MAC_CYRILLIC, CS_KOI8_U, 0, (CCCFunc)One2OneCCC, 0}, + {CS_KOI8_U, CS_CP_1251, 0, (CCCFunc)One2OneCCC, 0}, + {CS_CP_1251, CS_KOI8_U, 0, (CCCFunc)One2OneCCC, 0}, + /* ARMENIAN */ {CS_ARMSCII8, CS_ARMSCII8, 0, (CCCFunc)0, 0}, Index: lib/libi18n/mime2fun.c =================================================================== RCS file: /cvsroot/mozilla/lib/libi18n/mime2fun.c,v retrieving revision 3.2 diff -u -r3.2 mime2fun.c --- mime2fun.c 1998/06/22 21:20:06 3.2 +++ mime2fun.c 1998/08/08 07:50:07 @@ -68,6 +68,8 @@ {CS_KOI8_R, CS_KOI8_R }, {CS_MAC_CYRILLIC, CS_KOI8_R }, {CS_CP_1251, CS_KOI8_R }, + + {CS_KOI8_U, CS_KOI8_U }, {CS_8859_7, CS_8859_7 }, {CS_CP_1253, CS_8859_7 }, Index: lib/libi18n/sbconvtb.c =================================================================== RCS file: /cvsroot/mozilla/lib/libi18n/sbconvtb.c,v retrieving revision 3.2 diff -u -r3.2 sbconvtb.c --- sbconvtb.c 1998/05/01 20:23:43 3.2 +++ sbconvtb.c 1998/08/08 07:50:07 @@ -126,7 +126,105 @@ }; PRIVATE char *cp1250_to_iso8859_2_p = (char*)cp1250_to_iso8859_2; +/* Translation 8859-5.txt -> koi8u.txt + * There are total 55 character unmap !! + */ +PRIVATE unsigned char iso8859_5_to_koi8u[] = { +/*8x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*9x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*Ax*/ 0x9A,0xB3, '?', '?',0xB4, '?',0xB6,0xB7, '?', '?', '?', '?', '?', '?', '?', '?', +/*Bx*/ 0xE1,0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0, +/*Cx*/ 0xF2,0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1, +/*Dx*/ 0xC1,0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0, +/*Ex*/ 0xD2,0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1, +/*Fx*/ '?',0xA3, '?', '?',0xA4, '?',0xA6,0xA7, '?', '?', '?', '?', '?', '?', '?', '?', +}; +PRIVATE char *iso8859_5_to_koi8u_p = (char*)iso8859_5_to_koi8u; + +/* Translation koi8u.txt -> 8859-5.txt + * There are total 55 character unmap !! + */ +PRIVATE unsigned char koi8u_to_iso8859_5[] = { +/*8x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*9x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?',0xA0, '?', '?', '?', '?', '?', +/*Ax*/ '?', '?', '?',0xF1,0xF4, '?',0xF6,0xF7, '?', '?', '?', '?', '?', '?', '?', '?', +/*Bx*/ '?', '?', '?',0xA1,0xA4, '?',0xA6,0xA7, '?', '?', '?', '?', '?', '?', '?', '?', +/*Cx*/ 0xEE,0xD0,0xD1,0xE6,0xD4,0xD5,0xE4,0xD3,0xE5,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE, +/*Dx*/ 0xDF,0xEF,0xE0,0xE1,0xE2,0xE3,0xD6,0xD2,0xEC,0xEB,0xD7,0xE8,0xED,0xE9,0xE7,0xEA, +/*Ex*/ 0xCE,0xB0,0xB1,0xC6,0xB4,0xB5,0xC4,0xB3,0xC5,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE, +/*Fx*/ 0xBF,0xCF,0xC0,0xC1,0xC2,0xC3,0xB6,0xB2,0xCC,0xCB,0xB7,0xC8,0xCD,0xC9,0xC7,0xCA, +}; +PRIVATE char *koi8u_to_iso8859_5_p = (char*)koi8u_to_iso8859_5; + +/* Translation cp1251.txt -> koi8u.txt */ +/* There are total 40 character unmap !! */ +PRIVATE unsigned char cp1251_to_koi8u[] = { +/*8x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*9x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*Ax*/ 0x9A, '?', '?', '?', '?',0xBD, '?', '?',0xB3,0xBf,0xB4, '?', '?', '?', '?',0xB7, +/*Bx*/ 0x9C, '?',0xB6,0xA6,0xAD, '?', '?',0x9E,0xA3, '?',0xA4, '?', '?', '?', '?',0xA7, +/*Cx*/ 0xE1,0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0, +/*Dx*/ 0xF2,0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1, +/*Ex*/ 0xC1,0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0, +/*Fx*/ 0xD2,0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1, +}; +PRIVATE char *cp1251_to_koi8u_5_p = (char*)cp1251_to_koi8u; +/* Translation koi8u.txt -> cp1251.txt */ +/* There are total 40 character unmap !! */ +PRIVATE unsigned char koi8u_to_cp1251[] = { +/*8x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*9x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?',0xA0, '?',0xB0, '?',0xB7, '?', +/*Ax*/ '?', '?', '?',0xB8,0xBA, '?',0xB3,0xBF, '?', '?', '?', '?', '?',0xB4, '?', '?', +/*Bx*/ '?', '?', '?',0xA8,0xAA, '?',0xB2,0xAF, '?', '?', '?', '?', '?',0xA5, '?',0xA9, +/*Cx*/ 0xFE,0xE0,0xE1,0xF6,0xE4,0xE5,0xF4,0xE3,0xF5,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE, +/*Dx*/ 0xEF,0xFF,0xF0,0xF1,0xF2,0xF3,0xE6,0xE2,0xFC,0xFB,0xE7,0xF8,0xFD,0xF9,0xF7,0xFA, +/*Ex*/ 0xDE,0xC0,0xC1,0xD6,0xC4,0xC5,0xD4,0xC3,0xD5,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE, +/*Fx*/ 0xCF,0xDF,0xD0,0xD1,0xD2,0xD3,0xC6,0xC2,0xDC,0xDB,0xC7,0xD8,0xDD,0xD9,0xD7,0xDA, +}; +PRIVATE char *koi8u_to_cp1251_p = (char*)koi8u_to_cp1251; + +/* Translation koi8u.txt -> koi8r.txt and koi8r.txt -> koi8u.txt */ +PRIVATE unsigned char koi8u_to_from_koi8r[] = { +/*8x*/ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, +/*9x*/ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, +/*Ax*/ 0xA0,0xA1,0xA2,0xA3, '?',0xA5, '?', '?',0xA8,0xA9,0xAA,0xAB,0xAC, '?',0xAE,0xAF, +/*Bx*/ 0xB0,0xB1,0xB2,0xB3, '?',0xB5, '?', '?',0xB8,0xB9,0xBA,0xBB,0xBC, '?',0xBE,0xBF, +/*Cx*/ 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, +/*Dx*/ 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, +/*Ex*/ 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, +/*Fx*/ 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF, +}; +PRIVATE char *koi8u_to_from_koi8r_p = (char*)koi8u_to_from_koi8r; + +/* Translation koi8u.txt -> maccyr.txt */ +/* There are total 46 character unmap !! */ +PRIVATE unsigned char koi8u_to_maccyr[] = { +/*8x*/ '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', +/*9x*/ '?', '?', '?', '?', '?', '?',0xC3,0xC5,0xB2,0xB3,0xCA, '?',0xA1, '?', '?',0xD6, +/*Ax*/ '?', '?', '?',0xDE,0xB9, '?',0xB4,0xBB, '?', '?', '?', '?', '?',0xB6, '?', '?', +/*Bx*/ '?', '?', '?',0xDD,0xB8, '?',0xA7,0xBA, '?', '?', '?', '?', '?',0xA2, '?',0xA9, +/*Cx*/ 0xFE,0xE0,0xE1,0xF6,0xE4,0xE5,0xF4,0xE3,0xF5,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE, +/*Dx*/ 0xEF,0xDF,0xF0,0xF1,0xF2,0xF3,0xE6,0xE2,0xFC,0xFB,0xE7,0xF8,0xFD,0xF9,0xF7,0xFA, +/*Ex*/ 0x9E,0x80,0x81,0x96,0x84,0x85,0x94,0x83,0x95,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E, +/*Fx*/ 0x8F,0x9F,0x90,0x91,0x92,0x93,0x86,0x82,0x9C,0x9B,0x87,0x98,0x9D,0x99,0x97,0x9A, +}; +PRIVATE char *koi8u_to_maccyr_p = (char*)koi8u_to_maccyr; + +/* Translation maccyr.txt -> koi8u.txt */ +/* There are total 46 character unmap !! */ +PRIVATE unsigned char maccyr_to_koi8u[] = { +/*8x*/ 0xE1,0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0, +/*9x*/ 0xF2,0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1, +/*Ax*/ '?',0x9C,0xBD, '?', '?', '?', '?',0xB6, '?',0xBF, '?', '?', '?', '?', '?', '?', +/*Bx*/ '?', '?',0x98,0x99,0xA6, '?',0xAD, '?',0xB4,0xA4,0xB7,0xA7, '?', '?', '?', '?', +/*Cx*/ '?', '?', '?',0x96, '?',0x97, '?', '?', '?', '?',0x9A, '?', '?', '?', '?', '?', +/*Dx*/ '?', '?', '?', '?', '?', '?', '?',0x9F, '?', '?', '?', '?', '?', '?',0xB3,0xA3, +/*Ex*/ 0xD1,0xC1,0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, +/*Fx*/ 0xD0,0xD2,0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0, +}; +PRIVATE char *maccyr_to_koi8u_p = (char*)maccyr_to_koi8u; + /* Translation 8859-2 -> cp1250 * There are 32 characters unmapped: 80 - 8F, 90 - 9F */ @@ -268,6 +366,32 @@ return &koi8r_to_cp1251_p; } + /* UKRAINIAN */ + else if ((from_csid == CS_KOI8_R) && (to_csid == CS_KOI8_U)) { + return &koi8u_to_from_koi8r_p; + } + else if ((from_csid == CS_KOI8_U) && (to_csid == CS_KOI8_R)) { + return &koi8u_to_from_koi8r_p; + } + else if ((from_csid == CS_8859_5) && (to_csid == CS_KOI8_U)) { + return &iso8859_5_to_koi8u_p; + } + else if ((from_csid == CS_KOI8_U) && (to_csid == CS_8859_5)) { + return &koi8u_to_iso8859_5_p; + } + else if ((from_csid == CS_KOI8_U) && (to_csid == CS_CP_1251)) { + return &koi8u_to_cp1251_p; + } + else if ((from_csid == CS_CP_1251) && (to_csid == CS_KOI8_U)) { + return &cp1251_to_koi8u; + } + else if ((from_csid == CS_MAC_CYRILLIC) && (to_csid == CS_KOI8_U)) { + return &maccyr_to_koi8u_p; + } + else if ((from_csid == CS_KOI8_U) && (to_csid == CS_MAC_CYRILLIC)) { + return &koi8u_to_maccyr; + } + /* GREEK */ else if ((from_csid == CS_8859_7) && (to_csid == CS_CP_1253)) { return &iso8859_7_to_cp1253_p;