diff options
Diffstat (limited to 'textproc/sablotron/files/rus-patch')
| -rw-r--r-- | textproc/sablotron/files/rus-patch | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/textproc/sablotron/files/rus-patch b/textproc/sablotron/files/rus-patch new file mode 100644 index 000000000000..112ac5338adf --- /dev/null +++ b/textproc/sablotron/files/rus-patch @@ -0,0 +1,198 @@ +diff -crN Sablot-0.44/Sablot/engine/enc_cyr.h Sablot-0.44.rus/Sablot/engine/enc_cyr.h +*** Sablot-0.44/Sablot/engine/enc_cyr.h Thu Jan 1 03:00:00 1970 +--- Sablot/engine/enc_cyr.h Sun Nov 12 19:08:27 2000 +*************** +*** 0 **** +--- 1,80 ---- ++ /** ++ ++ This file contains charset uncode conversion table for cyrillic charsets ++ windows-1251 (cp1251), cp866 and koi8-r. ++ ++ Source for mappings ftp.unicode.org/pub/mappings ++ ++ Copyright (C) by vvz (vvz@iname.com) 2000. ++ You can use it as you want (any kind of license you want). ++ ++ */ ++ ++ int EncCP1251[] = ++ { ++ ++ 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, ++ 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f, ++ 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, ++ -1, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f, ++ 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7, ++ 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407, ++ 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7, ++ 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457, ++ 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, ++ 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, ++ 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, ++ 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, ++ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, ++ 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, ++ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, ++ 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f ++ }; ++ ++ ++ int EncCP866[] = ++ { ++ ++ 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, ++ 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, ++ 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, ++ 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, ++ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, ++ 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, ++ 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, ++ 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, ++ 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, ++ 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, ++ 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, ++ 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, ++ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, ++ 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, ++ 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e, ++ 0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0 ++ ++ }; ++ ++ ++ int EncKOI8_R[] = ++ { ++ ++ ++ 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, ++ 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, ++ 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248, ++ 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, ++ 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, ++ 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, ++ 0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, ++ 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9, ++ 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, ++ 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, ++ 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, ++ 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, ++ 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, ++ 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, ++ 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, ++ 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a ++ }; ++ ++ +diff -crN Sablot-0.44/Sablot/engine/output.cpp Sablot-0.44.rus/Sablot/engine/output.cpp +*** Sablot-0.44/Sablot/engine/output.cpp Sun Nov 12 19:07:52 2000 +--- Sablot/engine/output.cpp Sun Nov 12 19:12:54 2000 +*************** +*** 230,235 **** +--- 230,241 ---- + return ENC_EUCJP; + else if (enc_.eqNoCase((char*) "shift-jis")) + return ENC_SJIS; ++ else if (enc_.eqNoCase((char*) "cp1251")) ++ return ENC_1251; ++ else if (enc_.eqNoCase((char*) "koi8-r")) ++ return ENC_KOI8R; ++ else if (enc_.eqNoCase((char*) "cp866" )) ++ return ENC_866; + else return ENC_UTF8; + } + +diff -crN Sablot-0.44/Sablot/engine/parser.cpp Sablot-0.44.rus/Sablot/engine/parser.cpp +*** Sablot-0.44/Sablot/engine/parser.cpp Sun Nov 12 19:07:58 2000 +--- Sablot/engine/parser.cpp Sun Nov 12 19:08:27 2000 +*************** +*** 41,46 **** +--- 41,48 ---- + + // for the windows-1250 encoding: + #include "enc1250.h" ++ // for the cyrillic encoding ++ #include "enc_cyr.h" + // (will change to encodings.h) + + // +*************** +*** 550,555 **** +--- 552,565 ---- + theTable = Enc1250; + else if (strEqNoCase((char*) name,"iso-8859-2")) + theTable = EncLatin2; ++ else if (strEqNoCase((char*) name,"windows-1251")) ++ theTable = EncCP1251; ++ else if (strEqNoCase((char*) name,"cp1251")) ++ theTable = EncCP1251; ++ else if (strEqNoCase((char*) name,"koi8-r")) ++ theTable = EncKOI8_R; ++ else if (strEqNoCase((char*) name,"cp866")) ++ theTable = EncCP866; + else + return 0; + int i; +diff -crN Sablot-0.44/Sablot/engine/utf8.cpp Sablot-0.44.rus/Sablot/engine/utf8.cpp +*** Sablot-0.44/Sablot/engine/utf8.cpp Sun Nov 12 19:07:59 2000 +--- Sablot/engine/utf8.cpp Sun Nov 12 19:19:05 2000 +*************** +*** 44,50 **** + #endif + + /* This MUST match the Encoding enum defined in utf8.h */ +! static char* iconv_encoding[8] = + { + "UTF8", + "UTF16", +--- 44,50 ---- + #endif + + /* This MUST match the Encoding enum defined in utf8.h */ +! static char* iconv_encoding[11] = + { + "UTF8", + "UTF16", +*************** +*** 53,59 **** + "ISO-8859-2", + "CP1250", + "EUC-JP", +! "SHIFT-JIS" + }; + + int utf8SingleCharLength (const char* text) +--- 53,62 ---- + "ISO-8859-2", + "CP1250", + "EUC-JP", +! "SHIFT-JIS", +! "CP1251", +! "KOI8-R", +! "CP866" + }; + + int utf8SingleCharLength (const char* text) +diff -crN Sablot-0.44/Sablot/engine/utf8.h Sablot-0.44.rus/Sablot/engine/utf8.h +*** Sablot-0.44/Sablot/engine/utf8.h Sun Nov 12 19:07:52 2000 +--- Sablot/engine/utf8.h Sun Nov 12 19:19:18 2000 +*************** +*** 50,56 **** + ENC_8859_2, + ENC_1250, + ENC_EUCJP, +! ENC_SJIS + }; + + extern int utf8SingleCharLength(const char* text); +--- 50,59 ---- + ENC_8859_2, + ENC_1250, + ENC_EUCJP, +! ENC_SJIS, +! ENC_1251, +! ENC_KOI8R, +! ENC_866 + }; + + extern int utf8SingleCharLength(const char* text); |
