1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-01 22:05:08 +00:00
freebsd-ports/textproc/sablotron/files/rus-patch
Will Andrews 111607820e Add sablotron 0.44, an XSL processor fully implemented in C++.
PR:		22804
Submitted by:	Sergey Skvortsov <skv@protey.ru>
2000-12-19 13:14:44 +00:00

199 lines
6.7 KiB
Plaintext

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);