--- ../sal/textenc/tcvtest1.tab.orig Fri Oct 12 13:44:53 2001 +++ ../sal/textenc/tcvtest1.tab Tue Feb 25 16:47:50 2003 @@ -4328,3 +4328,170 @@ "koi8-r", RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME }; /* SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */ + +/* ======================================================================= */ + +/* KOI8_U */ +/* Standard Charset for Ukrainian Cyrillic */ +/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */ +/* Convert-Tables: typed per hand */ +/* Last-Changes from us: */ + +#define KOI8UUNI_START 0x80 +#define KOI8UUNI_END 0xFF +static sal_uInt16 const aImplKOI8UToUniTab[KOI8UUNI_END - KOI8UUNI_START + 1] = +{ +/* 0 1 2 3 4 5 6 7 */ +/* 8 9 A B C D E F */ + 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, /* 0x80 */ + 0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, /* 0x80 */ + 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, /* 0x90 */ + 0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, /* 0x90 */ + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, /* 0xA0 */ + 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x255D, 0x255E, /* 0xA0 */ + 0x255F, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, /* 0xB0 */ + 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x256C, 0x00A9, /* 0xB0 */ + 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, /* 0xC0 */ + 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, /* 0xC0 */ + 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, /* 0xD0 */ + 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, /* 0xD0 */ + 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, /* 0xE0 */ + 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, /* 0xE0 */ + 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, /* 0xF0 */ + 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A /* 0xF0 */ +}; + +/* ----------------------------------------------------------------------- */ + +#define KOI8UCHAR_START 0x0410 +#define KOI8UCHAR_END 0x044F +static sal_uChar const aImplKOI8UToCharTab[KOI8UCHAR_END - KOI8UCHAR_START + 1] = +{ +/* 0 1 2 3 4 5 6 7 */ +/* 8 9 A B C D E F */ + 0xE1, 0xE2, 0xF7, 0xE7, 0xE4, 0xE5, 0xF6, 0xFA, /* 0x0410 */ + 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, /* 0x0410 */ + 0xF2, 0xF3, 0xF4, 0xF5, 0xE6, 0xE8, 0xE3, 0xFE, /* 0x0420 */ + 0xFB, 0xFD, 0xFF, 0xF9, 0xF8, 0xFC, 0xE0, 0xF1, /* 0x0420 */ + 0xC1, 0xC2, 0xD7, 0xC7, 0xC4, 0xC5, 0xD6, 0xDA, /* 0x0430 */ + 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, /* 0x0430 */ + 0xD2, 0xD3, 0xD4, 0xD5, 0xC6, 0xC8, 0xC3, 0xDE, /* 0x0440 */ + 0xDB, 0xDD, 0xDF, 0xD9, 0xD8, 0xDC, 0xC0, 0xD1 /* 0x0440 */ +}; + +/* ----------------------------------------------------------------------- */ + +#define KOI8UTOCHARTABEX_COUNT 72 +static ImplUniCharTabData const aImplKOI8UToCharTabEx[KOI8UTOCHARTABEX_COUNT] = +{ + { 0x00A0, 0x9A }, + { 0x00A9, 0xBF }, + { 0x00B0, 0x9C }, + { 0x00B2, 0x9D }, + { 0x00B7, 0x9E }, + { 0x00F7, 0x9F }, + { 0x0401, 0xB3 }, + { 0x0404, 0xB4 }, + { 0x0406, 0xB6 }, + { 0x0407, 0xB7 }, + { 0x0451, 0xA3 }, + { 0x0454, 0xA4 }, + { 0x0456, 0xA6 }, + { 0x0457, 0xA7 }, + { 0x0490, 0xBD }, + { 0x0491, 0xAD }, + { 0x2219, 0x95 }, + { 0x221A, 0x96 }, + { 0x2248, 0x97 }, + { 0x2264, 0x98 }, + { 0x2265, 0x99 }, + { 0x2320, 0x93 }, + { 0x2321, 0x9B }, + { 0x2500, 0x80 }, + { 0x2502, 0x81 }, + { 0x250C, 0x82 }, + { 0x2510, 0x83 }, + { 0x2514, 0x84 }, + { 0x2518, 0x85 }, + { 0x251C, 0x86 }, + { 0x2524, 0x87 }, + { 0x252C, 0x88 }, + { 0x2534, 0x89 }, + { 0x253C, 0x8A }, + { 0x2550, 0xA0 }, + { 0x2551, 0xA1 }, + { 0x2552, 0xA2 }, + { 0x2553, 0xA4 }, + { 0x2554, 0xA5 }, + { 0x2555, 0xA6 }, + { 0x2556, 0xA7 }, + { 0x2557, 0xA8 }, + { 0x2558, 0xA9 }, + { 0x2559, 0xAA }, + { 0x255A, 0xAB }, + { 0x255B, 0xAC }, + { 0x255C, 0xAD }, + { 0x255D, 0xAE }, + { 0x255E, 0xAF }, + { 0x255F, 0xB0 }, + { 0x2560, 0xB1 }, + { 0x2561, 0xB2 }, + { 0x2562, 0xB4 }, + { 0x2563, 0xB5 }, + { 0x2564, 0xB6 }, + { 0x2565, 0xB7 }, + { 0x2566, 0xB8 }, + { 0x2567, 0xB9 }, + { 0x2568, 0xBA }, + { 0x2569, 0xBB }, + { 0x256A, 0xBC }, + { 0x256B, 0xBD }, + { 0x256C, 0xBE }, + { 0x2580, 0x8B }, + { 0x2584, 0x8C }, + { 0x2588, 0x8D }, + { 0x258C, 0x8E }, + { 0x2590, 0x8F }, + { 0x2591, 0x90 }, + { 0x2592, 0x91 }, + { 0x2593, 0x92 }, + { 0x25A0, 0x94 } +}; + +/* ----------------------------------------------------------------------- */ + +static ImplByteConvertData const aImplKOI8UByteCvtData = +{ + aImplKOI8UToUniTab, + NULL, + KOI8UUNI_START, KOI8UUNI_END, + NOTABUNI_START, NOTABUNI_END, + aImplKOI8UToCharTab, + NULL, + aImplKOI8UToCharTabEx, + KOI8UCHAR_START, KOI8UCHAR_END, + NOTABCHAR_START, NOTABCHAR_END, + KOI8UTOCHARTABEX_COUNT +}; + +/* ----------------------------------------------------------------------- */ + +static ImplTextEncodingData const aImplKOI8UTextEncodingData + = { { &aImplKOI8UByteCvtData, + ImplCharToUnicode, + ImplUnicodeToChar, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL }, + RTL_TEXTENCODING_KOI8_U, + 1, + 1, + 1, + 204, + "koi8-u", + "koi8-u", + RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME }; + /* SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */