aboutsummaryrefslogtreecommitdiffstats
path: root/textproc/sablotron/files/rus-patch
diff options
context:
space:
mode:
Diffstat (limited to 'textproc/sablotron/files/rus-patch')
-rw-r--r--textproc/sablotron/files/rus-patch198
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);