35 #ifdef LIBXML_ICONV_ENABLED 42 #ifdef LIBXML_HTML_ENABLED 65 #if defined(LIBXML_ICONV_ENABLED) || defined(LIBXML_ICU_ENABLED) 67 #define DEBUG_ENCODING 70 #ifdef LIBXML_ISO8859X_ENABLED 71 static void xmlRegisterCharEncodingHandlersISO8859x (
void);
104 #ifdef LIBXML_ICU_ENABLED 106 openIcuConverter(
const char*
name,
int toUnicode)
108 UErrorCode
status = U_ZERO_ERROR;
109 uconv_t *conv = (uconv_t *)
xmlMalloc(
sizeof(uconv_t));
113 conv->pivot_source = conv->pivot_buf;
114 conv->pivot_target = conv->pivot_buf;
122 ucnv_setToUCallBack(conv->uconv, UCNV_TO_U_CALLBACK_STOP,
126 ucnv_setFromUCallBack(conv->uconv, UCNV_FROM_U_CALLBACK_STOP,
133 conv->utf8 = ucnv_open(
"UTF-8", &
status);
139 ucnv_close(conv->uconv);
145 closeIcuConverter(uconv_t *conv)
148 ucnv_close(conv->uconv);
149 ucnv_close(conv->utf8);
177 const unsigned char*
in,
int *inlen) {
178 unsigned char* outstart =
out;
179 const unsigned char*
base =
in;
181 unsigned char* outend =
out + *outlen;
182 const unsigned char* inend;
185 inend =
in + (*inlen);
186 while ((
in < inend) && (
out - outstart + 5 < *outlen)) {
194 *outlen =
out - outstart;
201 *outlen =
out - outstart;
206 #ifdef LIBXML_OUTPUT_ENABLED 223 UTF8Toascii(
unsigned char*
out,
int *outlen,
224 const unsigned char*
in,
int *inlen) {
226 const unsigned char* outend;
227 const unsigned char* outstart =
out;
228 const unsigned char* instart =
in;
229 const unsigned char* inend;
242 inend =
in + (*inlen);
243 outend =
out + (*outlen);
246 if (
d < 0x80) {
c=
d; trailing= 0; }
249 *outlen =
out - outstart;
252 }
else if (
d < 0xE0) {
c=
d & 0x1F; trailing= 1; }
253 else if (
d < 0xF0) {
c=
d & 0x0F; trailing= 2; }
254 else if (
d < 0xF8) {
c=
d & 0x07; trailing= 3; }
257 *outlen =
out - outstart;
262 if (inend -
in < trailing) {
266 for ( ; trailing; trailing--) {
267 if ((
in >= inend) || (((
d= *
in++) & 0xC0) != 0x80))
280 *outlen =
out - outstart;
286 *outlen =
out - outstart;
308 const unsigned char*
in,
int *inlen) {
309 unsigned char* outstart =
out;
310 const unsigned char*
base =
in;
311 unsigned char* outend;
312 const unsigned char* inend;
313 const unsigned char* instop;
318 outend =
out + *outlen;
319 inend =
in + (*inlen);
322 while ((
in < inend) && (
out < outend - 1)) {
324 *
out++ = (((*in) >> 6) & 0x1F) | 0xC0;
325 *
out++ = ((*in) & 0x3F) | 0x80;
328 if ((instop -
in) > (outend -
out)) instop =
in + (outend -
out);
329 while ((
in < instop) && (*
in < 0x80)) {
333 if ((
in < inend) && (
out < outend) && (*
in < 0x80)) {
336 *outlen =
out - outstart;
356 const unsigned char* inb,
int *inlenb)
368 if (*outlen > *inlenb) {
389 #ifdef LIBXML_OUTPUT_ENABLED 407 UTF8Toisolat1(
unsigned char*
out,
int *outlen,
408 const unsigned char*
in,
int *inlen) {
410 const unsigned char* outend;
411 const unsigned char* outstart =
out;
412 const unsigned char* instart =
in;
413 const unsigned char* inend;
426 inend =
in + (*inlen);
427 outend =
out + (*outlen);
430 if (
d < 0x80) {
c=
d; trailing= 0; }
433 *outlen =
out - outstart;
436 }
else if (
d < 0xE0) {
c=
d & 0x1F; trailing= 1; }
437 else if (
d < 0xF0) {
c=
d & 0x0F; trailing= 2; }
438 else if (
d < 0xF8) {
c=
d & 0x07; trailing= 3; }
441 *outlen =
out - outstart;
446 if (inend -
in < trailing) {
450 for ( ; trailing; trailing--) {
453 if (((
d= *
in++) & 0xC0) != 0x80) {
454 *outlen =
out - outstart;
469 *outlen =
out - outstart;
475 *outlen =
out - outstart;
500 const unsigned char* inb,
int *inlenb)
502 unsigned char* outstart =
out;
504 unsigned char* outend;
505 unsigned short*
in = (
unsigned short*) inb;
506 unsigned short* inend;
507 unsigned int c,
d, inlen;
515 outend =
out + *outlen;
516 if ((*inlenb % 2) == 1)
520 while ((
in < inend) && (
out - outstart + 5 < *outlen)) {
524 tmp = (
unsigned char *)
in;
526 c =
c | (((
unsigned int)*tmp) << 8);
529 if ((
c & 0xFC00) == 0xD800) {
536 tmp = (
unsigned char *)
in;
538 d =
d | (((
unsigned int)*tmp) << 8);
541 if ((
d & 0xFC00) == 0xDC00) {
548 *outlen =
out - outstart;
558 else if (
c < 0x800) { *
out++= ((
c >> 6) & 0x1F) | 0xC0;
bits= 0; }
559 else if (
c < 0x10000) { *
out++= ((
c >> 12) & 0x0F) | 0xE0;
bits= 6; }
560 else { *
out++= ((
c >> 18) & 0x07) | 0xF0;
bits= 12; }
565 *
out++= ((
c >>
bits) & 0x3F) | 0x80;
569 *outlen =
out - outstart;
574 #ifdef LIBXML_OUTPUT_ENABLED 589 UTF8ToUTF16LE(
unsigned char* outb,
int *outlen,
590 const unsigned char*
in,
int *inlen)
592 unsigned short*
out = (
unsigned short*) outb;
594 const unsigned char *
const instart =
in;
595 unsigned short* outstart=
out;
596 unsigned short* outend;
597 const unsigned char* inend;
601 unsigned short tmp1, tmp2;
611 outend =
out + (*outlen / 2);
614 if (
d < 0x80) {
c=
d; trailing= 0; }
617 *outlen = (
out - outstart) * 2;
620 }
else if (
d < 0xE0) {
c=
d & 0x1F; trailing= 1; }
621 else if (
d < 0xF0) {
c=
d & 0x0F; trailing= 2; }
622 else if (
d < 0xF8) {
c=
d & 0x07; trailing= 3; }
625 *outlen = (
out - outstart) * 2;
630 if (inend -
in < trailing) {
634 for ( ; trailing; trailing--) {
635 if ((
in >= inend) || (((
d= *
in++) & 0xC0) != 0x80))
648 tmp = (
unsigned char *)
out;
650 *(tmp + 1) =
c >> 8 ;
654 else if (
c < 0x110000) {
659 *
out++ = 0xD800 | (
c >> 10);
660 *
out++ = 0xDC00 | (
c & 0x03FF);
662 tmp1 = 0xD800 | (
c >> 10);
663 tmp = (
unsigned char *)
out;
664 *tmp = (
unsigned char) tmp1;
665 *(tmp + 1) = tmp1 >> 8;
668 tmp2 = 0xDC00 | (
c & 0x03FF);
669 tmp = (
unsigned char *)
out;
670 *tmp = (
unsigned char) tmp2;
671 *(tmp + 1) = tmp2 >> 8;
679 *outlen = (
out - outstart) * 2;
698 UTF8ToUTF16(
unsigned char* outb,
int *outlen,
699 const unsigned char*
in,
int *inlen)
710 #ifdef DEBUG_ENCODING 712 "Added FFFE Byte Order Mark\n");
720 return (UTF8ToUTF16LE(outb, outlen,
in, inlen));
743 const unsigned char* inb,
int *inlenb)
745 unsigned char* outstart =
out;
747 unsigned char* outend =
out + *outlen;
748 unsigned short*
in = (
unsigned short*) inb;
749 unsigned short* inend;
750 unsigned int c,
d, inlen;
754 if ((*inlenb % 2) == 1)
760 tmp = (
unsigned char *)
in;
763 c =
c | (
unsigned int) *tmp;
768 if ((
c & 0xFC00) == 0xD800) {
770 *outlen =
out - outstart;
775 tmp = (
unsigned char *)
in;
778 d =
d | (
unsigned int) *tmp;
783 if ((
d & 0xFC00) == 0xDC00) {
790 *outlen =
out - outstart;
800 else if (
c < 0x800) { *
out++= ((
c >> 6) & 0x1F) | 0xC0;
bits= 0; }
801 else if (
c < 0x10000) { *
out++= ((
c >> 12) & 0x0F) | 0xE0;
bits= 6; }
802 else { *
out++= ((
c >> 18) & 0x07) | 0xF0;
bits= 12; }
807 *
out++= ((
c >>
bits) & 0x3F) | 0x80;
811 *outlen =
out - outstart;
816 #ifdef LIBXML_OUTPUT_ENABLED 831 UTF8ToUTF16BE(
unsigned char* outb,
int *outlen,
832 const unsigned char*
in,
int *inlen)
834 unsigned short*
out = (
unsigned short*) outb;
836 const unsigned char *
const instart =
in;
837 unsigned short* outstart=
out;
838 unsigned short* outend;
839 const unsigned char* inend;
843 unsigned short tmp1, tmp2;
846 if ((outb ==
NULL) || (outlen ==
NULL) || (inlen ==
NULL))
return(-1);
853 outend =
out + (*outlen / 2);
856 if (
d < 0x80) {
c=
d; trailing= 0; }
859 *outlen =
out - outstart;
862 }
else if (
d < 0xE0) {
c=
d & 0x1F; trailing= 1; }
863 else if (
d < 0xF0) {
c=
d & 0x0F; trailing= 2; }
864 else if (
d < 0xF8) {
c=
d & 0x07; trailing= 3; }
867 *outlen =
out - outstart;
872 if (inend -
in < trailing) {
876 for ( ; trailing; trailing--) {
877 if ((
in >= inend) || (((
d= *
in++) & 0xC0) != 0x80))
break;
884 if (
out >= outend)
break;
886 tmp = (
unsigned char *)
out;
894 else if (
c < 0x110000) {
895 if (
out+1 >= outend)
break;
898 tmp1 = 0xD800 | (
c >> 10);
899 tmp = (
unsigned char *)
out;
901 *(tmp + 1) = (
unsigned char) tmp1;
904 tmp2 = 0xDC00 | (
c & 0x03FF);
905 tmp = (
unsigned char *)
out;
907 *(tmp + 1) = (
unsigned char) tmp2;
910 *
out++ = 0xD800 | (
c >> 10);
911 *
out++ = 0xDC00 | (
c & 0x03FF);
918 *outlen = (
out - outstart) * 2;
947 if ((
in[0] == 0x00) && (
in[1] == 0x00) &&
948 (
in[2] == 0x00) && (
in[3] == 0x3C))
950 if ((
in[0] == 0x3C) && (
in[1] == 0x00) &&
951 (
in[2] == 0x00) && (
in[3] == 0x00))
953 if ((
in[0] == 0x00) && (
in[1] == 0x00) &&
954 (
in[2] == 0x3C) && (
in[3] == 0x00))
956 if ((
in[0] == 0x00) && (
in[1] == 0x3C) &&
957 (
in[2] == 0x00) && (
in[3] == 0x00))
959 if ((
in[0] == 0x4C) && (
in[1] == 0x6F) &&
960 (
in[2] == 0xA7) && (
in[3] == 0x94))
962 if ((
in[0] == 0x3C) && (
in[1] == 0x3F) &&
963 (
in[2] == 0x78) && (
in[3] == 0x6D))
970 if ((
in[0] == 0x3C) && (
in[1] == 0x00) &&
971 (
in[2] == 0x3F) && (
in[3] == 0x00))
973 if ((
in[0] == 0x00) && (
in[1] == 0x3C) &&
974 (
in[2] == 0x00) && (
in[3] == 0x3F))
982 if ((
in[0] == 0xEF) && (
in[1] == 0xBB) &&
988 if ((
in[0] == 0xFE) && (
in[1] == 0xFF))
990 if ((
in[0] == 0xFF) && (
in[1] == 0xFE))
1039 for (
i = 0;
i < 99;
i++) {
1041 if (upper[
i] == 0)
break;
1074 for (
i = 0;
i < 99;
i++) {
1076 if (upper[
i] == 0)
break;
1176 for (
i = 0;
i < 499;
i++) {
1178 if (upper[
i] == 0)
break;
1226 #ifdef DEBUG_ENCODING 1259 return(
"ISO-10646-UCS-4");
1261 return(
"ISO-10646-UCS-4");
1263 return(
"ISO-10646-UCS-4");
1265 return(
"ISO-10646-UCS-4");
1267 return(
"ISO-10646-UCS-2");
1269 return(
"ISO-8859-1");
1271 return(
"ISO-8859-2");
1273 return(
"ISO-8859-3");
1275 return(
"ISO-8859-4");
1277 return(
"ISO-8859-5");
1279 return(
"ISO-8859-6");
1281 return(
"ISO-8859-7");
1283 return(
"ISO-8859-8");
1285 return(
"ISO-8859-9");
1287 return(
"ISO-2022-JP");
1289 return(
"Shift-JIS");
1306 #define MAX_ENCODING_HANDLERS 50 1349 "xmlNewCharEncodingHandler : no name !\n",
NULL);
1352 for (
i = 0;
i < 499;
i++) {
1354 if (upper[
i] == 0)
break;
1378 #ifdef LIBXML_ICONV_ENABLED 1382 #ifdef LIBXML_ICU_ENABLED 1391 #ifdef DEBUG_ENCODING 1393 "Registered encoding handler for %s\n",
name);
1408 unsigned short int tst = 0x1234;
1409 unsigned char *
ptr = (
unsigned char *) &tst;
1420 "Odd problem at endianness detection\n",
NULL);
1428 #ifdef LIBXML_OUTPUT_ENABLED 1437 #ifdef LIBXML_HTML_ENABLED 1450 #if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED) 1451 #ifdef LIBXML_ISO8859X_ENABLED 1452 xmlRegisterCharEncodingHandlersISO8859x ();
1495 "xmlRegisterCharEncodingHandler: NULL handler !\n",
NULL);
1501 "xmlRegisterCharEncodingHandler: Too many handler registered, see %s\n",
1502 "MAX_ENCODING_HANDLERS");
1644 #ifdef DEBUG_ENCODING 1646 "No handler found for encoding %d\n", enc);
1664 #ifdef LIBXML_ICONV_ENABLED 1668 #ifdef LIBXML_ICU_ENABLED 1670 uconv_t *ucv_in, *ucv_out;
1690 for (
i = 0;
i < 99;
i++) {
1692 if (upper[
i] == 0)
break;
1699 #ifdef DEBUG_ENCODING 1701 "Found registered handler for encoding %s\n",
name);
1708 #ifdef LIBXML_ICONV_ENABLED 1715 if (icv_out == (
iconv_t) -1) {
1730 enc->iconv_in = icv_in;
1731 enc->iconv_out = icv_out;
1732 #ifdef DEBUG_ENCODING 1734 "Found iconv handler for encoding %s\n",
name);
1737 }
else if ((icv_in != (
iconv_t) -1) || icv_out != (
iconv_t) -1) {
1739 "iconv : problems with filters for '%s'\n",
name);
1742 #ifdef LIBXML_ICU_ENABLED 1744 ucv_in = openIcuConverter(
name, 1);
1745 ucv_out = openIcuConverter(
name, 0);
1746 if (ucv_in !=
NULL && ucv_out !=
NULL) {
1750 closeIcuConverter(ucv_in);
1751 closeIcuConverter(ucv_out);
1758 encu->uconv_in = ucv_in;
1759 encu->uconv_out = ucv_out;
1760 #ifdef DEBUG_ENCODING 1762 "Found ICU converter handler for encoding %s\n",
name);
1765 }
else if (ucv_in !=
NULL || ucv_out !=
NULL) {
1766 closeIcuConverter(ucv_in);
1767 closeIcuConverter(ucv_out);
1769 "ICU converter : problems with filters for '%s'\n",
name);
1773 #ifdef DEBUG_ENCODING 1775 "No handler found for encoding %s\n",
name);
1800 #ifdef LIBXML_ICONV_ENABLED 1820 xmlIconvWrapper(
iconv_t cd,
unsigned char *
out,
int *outlen,
1821 const unsigned char *
in,
int *inlen) {
1822 size_t icv_inlen, icv_outlen;
1823 const char *icv_in = (
const char *)
in;
1824 char *icv_out = (
char *)
out;
1828 if (outlen !=
NULL) *outlen = 0;
1832 icv_outlen = *outlen;
1834 *inlen -= icv_inlen;
1835 *outlen -= icv_outlen;
1836 if ((icv_inlen != 0) || (
ret == -1)) {
1866 #ifdef LIBXML_ICU_ENABLED 1888 xmlUconvWrapper(uconv_t *
cd,
int toUnicode,
unsigned char *
out,
int *outlen,
1889 const unsigned char *
in,
int *inlen,
int flush) {
1890 const char *ucv_in = (
const char *)
in;
1891 char *ucv_out = (
char *)
out;
1892 UErrorCode
err = U_ZERO_ERROR;
1895 if (outlen !=
NULL) *outlen = 0;
1901 ucnv_convertEx(
cd->utf8,
cd->uconv, &ucv_out, ucv_out + *outlen,
1902 &ucv_in, ucv_in + *inlen,
cd->pivot_buf,
1903 &
cd->pivot_source, &
cd->pivot_target,
1904 cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0,
flush, &
err);
1907 ucnv_convertEx(
cd->uconv,
cd->utf8, &ucv_out, ucv_out + *outlen,
1908 &ucv_in, ucv_in + *inlen,
cd->pivot_buf,
1909 &
cd->pivot_source, &
cd->pivot_target,
1910 cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0,
flush, &
err);
1912 *inlen = ucv_in - (
const char*)
in;
1913 *outlen = ucv_out - (
char *)
out;
1914 if (U_SUCCESS(
err)) {
1917 cd->pivot_source =
cd->pivot_target =
cd->pivot_buf;
1920 if (
err == U_BUFFER_OVERFLOW_ERROR)
1922 if (
err == U_INVALID_CHAR_FOUND ||
err == U_ILLEGAL_CHAR_FOUND)
1955 int *outlen,
const unsigned char *
in,
int *inlen,
int flush) {
1964 #ifdef LIBXML_ICONV_ENABLED 1969 #ifdef LIBXML_ICU_ENABLED 2005 int *outlen,
const unsigned char *
in,
int *inlen) {
2013 #ifdef LIBXML_ICONV_ENABLED 2018 #ifdef LIBXML_ICU_ENABLED 2057 if (
in ==
NULL)
return(-1);
2060 written =
out->size -
out->use - 1;
2077 if (toconv * 2 >= written) {
2079 written =
out->size -
out->use - 1;
2083 in->content, &toconv, 0);
2085 out->use += written;
2086 out->content[
out->use] = 0;
2089 #ifdef DEBUG_ENCODING 2093 "converted %d bytes to %d bytes of input\n",
2098 toconv, written,
in->use);
2102 "input conversion failed due to input error\n");
2106 toconv, written,
in->use);
2117 return(written ? written :
ret);
2185 if (toconv > (
unsigned int)
len)
2191 if (toconv * 2 >= written) {
2209 #ifdef DEBUG_ENCODING 2211 "converted %d bytes to %d bytes of input\n",
2216 #ifdef DEBUG_ENCODING 2218 "converted %d bytes to %d bytes of input, %d left\n",
2223 #ifdef DEBUG_ENCODING 2225 "converted %d bytes to %d bytes of input, %d left\n",
2233 snprintf(&
buf[0], 49,
"0x%02X 0x%02X 0x%02X 0x%02X",
2238 "input conversion failed due to input error, bytes %s\n",
2247 return(c_out ? c_out :
ret);
2282 if ((toconv > 64 * 1024) && (
flush == 0))
2287 if (toconv * 2 >= written) {
2293 if ((written > 128 * 1024) && (
flush == 0))
2294 written = 128 * 1024;
2307 #ifdef DEBUG_ENCODING 2309 "converted %d bytes to %d bytes of input\n",
2314 #ifdef DEBUG_ENCODING 2316 "converted %d bytes to %d bytes of input, %d left\n",
2321 #ifdef DEBUG_ENCODING 2323 "converted %d bytes to %d bytes of input, %d left\n",
2331 snprintf(&
buf[0], 49,
"0x%02X 0x%02X 0x%02X 0x%02X",
2336 "input conversion failed due to input error, bytes %s\n",
2345 return (c_out? c_out :
ret);
2379 written =
out->size -
out->use -1;
2380 if (toconv * 2 >= written) {
2382 written =
out->size -
out->use - 1;
2385 in->content, &toconv, 1);
2387 out->use += written;
2388 out->content[
out->use] = 0;
2394 #ifdef DEBUG_ENCODING 2396 "converted %d bytes to %d bytes of input\n",
2401 #ifdef DEBUG_ENCODING 2403 "converted %d bytes to %d bytes of input, %d left\n",
2404 toconv, written,
in->use);
2408 #ifdef DEBUG_ENCODING 2410 "converted %d bytes to %d bytes of input, %d left\n",
2411 toconv, written,
in->use);
2417 snprintf(&
buf[0], 49,
"0x%02X 0x%02X 0x%02X 0x%02X",
2418 in->content[0],
in->content[1],
2419 in->content[2],
in->content[3]);
2422 "input conversion failed due to input error, bytes %s\n",
2431 return (written? written :
ret);
2434 #ifdef LIBXML_OUTPUT_ENABLED 2486 #ifdef DEBUG_ENCODING 2488 "initialized encoder\n");
2499 if (toconv > 64 * 1024)
2501 if (toconv * 4 >= written) {
2505 if (written > 256 * 1024)
2506 written = 256 * 1024;
2514 writtentot += c_out;
2528 #ifdef DEBUG_ENCODING 2530 "converted %d bytes to %d bytes of output\n",
2535 #ifdef DEBUG_ENCODING 2537 "output conversion failed by lack of space\n");
2541 #ifdef DEBUG_ENCODING 2548 "xmlCharEncOutFunc: no output function !\n",
NULL);
2555 int cur, charrefLen;
2561 #ifdef DEBUG_ENCODING 2563 "handling output conversion error\n");
2565 "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
2574 charrefLen =
snprintf((
char *) &charref[0],
sizeof(charref),
2583 if ((
ret < 0) || (c_in != charrefLen)) {
2586 snprintf(&
buf[0], 49,
"0x%02X 0x%02X 0x%02X 0x%02X",
2591 "output conversion failed due to conv error, bytes %s\n",
2599 writtentot += c_out;
2603 return(writtentot ? writtentot :
ret);
2639 written =
out->size -
out->use;
2652 out->use += written;
2653 out->content[
out->use] = 0;
2654 #ifdef DEBUG_ENCODING 2656 "initialized encoder\n");
2667 if (toconv * 4 >= written) {
2669 written =
out->size -
out->use - 1;
2672 in->content, &toconv);
2674 out->use += written;
2675 writtentot += written;
2676 out->content[
out->use] = 0;
2692 #ifdef DEBUG_ENCODING 2694 "converted %d bytes to %d bytes of output\n",
2699 #ifdef DEBUG_ENCODING 2701 "output conversion failed by lack of space\n");
2705 #ifdef DEBUG_ENCODING 2707 toconv, written,
in->use);
2712 "xmlCharEncOutFunc: no output function !\n",
NULL);
2719 int cur, charrefLen;
2725 #ifdef DEBUG_ENCODING 2727 "handling output conversion error\n");
2729 "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
2730 in->content[0],
in->content[1],
2731 in->content[2],
in->content[3]);
2738 charrefLen =
snprintf((
char *) &charref[0],
sizeof(charref),
2742 written =
out->size -
out->use - 1;
2743 toconv = charrefLen;
2747 if ((
ret < 0) || (toconv != charrefLen)) {
2750 snprintf(&
buf[0], 49,
"0x%02X 0x%02X 0x%02X 0x%02X",
2751 in->content[0],
in->content[1],
2752 in->content[2],
in->content[3]);
2755 "output conversion failed due to conv error, bytes %s\n",
2758 in->content[0] =
' ';
2762 out->use += written;
2763 writtentot += written;
2764 out->content[
out->use] = 0;
2768 return(writtentot ? writtentot :
ret);
2783 int i, handler_in_list = 0;
2790 handler_in_list = 1;
2795 #ifdef LIBXML_ICONV_ENABLED 2800 if ((handler_in_list == 0) &&
2815 #ifdef LIBXML_ICU_ENABLED 2816 if ((handler_in_list == 0) &&
2820 closeIcuConverter(
handler->uconv_out);
2824 closeIcuConverter(
handler->uconv_in);
2836 #ifdef DEBUG_ENCODING 2839 "failed to close the encoding handler\n");
2842 "closed the encoding handler\n");
2866 if (ctxt ==
NULL)
return(-1);
2868 if (
in ==
NULL)
return(-1);
2877 if (
in->end -
in->cur > 0) {
2878 unsigned char convbuf[32000];
2879 const unsigned char *
cur = (
const unsigned char *)
in->cur;
2880 int toconv =
in->end -
in->cur, written = 32000;
2885 toconv =
in->end -
cur;
2897 }
while (
ret == -2);
2901 return(
in->buf->rawconsumed -
unused);
2903 return(
in->consumed + (
in->cur -
in->base));
2906 #if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED) 2907 #ifdef LIBXML_ISO8859X_ENABLED 2926 UTF8ToISO8859x(
unsigned char*
out,
int *outlen,
2927 const unsigned char*
in,
int *inlen,
2928 unsigned char const *xlattable) {
2929 const unsigned char* outstart =
out;
2930 const unsigned char* inend;
2931 const unsigned char* instart =
in;
2935 (xlattable ==
NULL))
2945 inend =
in + (*inlen);
2946 while (
in < inend) {
2947 unsigned char d = *
in++;
2950 }
else if (
d < 0xC0) {
2952 *outlen =
out - outstart;
2955 }
else if (
d < 0xE0) {
2957 if (!(
in < inend)) {
2959 *outlen =
out - outstart;
2964 if ((
c & 0xC0) != 0x80) {
2966 *outlen =
out - outstart;
2972 d = xlattable [48 +
c + xlattable [
d] * 64];
2975 *outlen =
out - outstart;
2980 }
else if (
d < 0xF0) {
2983 if (!(
in < inend - 1)) {
2985 *outlen =
out - outstart;
2990 if ((c1 & 0xC0) != 0x80) {
2992 *outlen =
out - outstart;
2997 if ((c2 & 0xC0) != 0x80) {
2999 *outlen =
out - outstart;
3006 d = xlattable [48 + c2 + xlattable [48 + c1 +
3007 xlattable [32 +
d] * 64] * 64];
3010 *outlen =
out - outstart;
3017 *outlen =
out - outstart;
3023 *outlen =
out - outstart;
3042 ISO8859xToUTF8(
unsigned char*
out,
int *outlen,
3043 const unsigned char*
in,
int *inlen,
3044 unsigned short const *unicodetable) {
3045 unsigned char* outstart =
out;
3046 unsigned char* outend;
3047 const unsigned char* instart =
in;
3048 const unsigned char* inend;
3049 const unsigned char* instop;
3055 outend =
out + *outlen;
3056 inend =
in + *inlen;
3059 while ((
in < inend) && (
out < outend - 2)) {
3061 c = unicodetable [*
in - 0x80];
3064 *outlen =
out - outstart;
3065 *inlen =
in - instart;
3069 *
out++ = ((
c >> 6) & 0x1F) | 0xC0;
3070 *
out++ = (
c & 0x3F) | 0x80;
3072 *
out++ = ((
c >> 12) & 0x0F) | 0xE0;
3073 *
out++ = ((
c >> 6) & 0x3F) | 0x80;
3074 *
out++ = (
c & 0x3F) | 0x80;
3078 if (instop -
in > outend -
out) instop =
in + (outend -
out);
3079 while ((*
in < 0x80) && (
in < instop)) {
3083 if ((
in < inend) && (
out < outend) && (*
in < 0x80)) {
3086 if ((
in < inend) && (
out < outend) && (*
in < 0x80)) {
3089 *outlen =
out - outstart;
3090 *inlen =
in - instart;
3099 static unsigned short const xmlunicodetable_ISO8859_2 [128] = {
3100 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3101 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3102 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3103 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3104 0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,
3105 0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
3106 0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,
3107 0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,
3108 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
3109 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
3110 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
3111 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
3112 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
3113 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
3114 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
3115 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9,
3118 static unsigned char const xmltranscodetable_ISO8859_2 [48 + 6 * 64] = {
3119 "\x00\x00\x01\x05\x02\x04\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00" 3120 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3121 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3122 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3123 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3124 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3125 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3126 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3127 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3128 "\xa0\x00\x00\x00\xa4\x00\x00\xa7\xa8\x00\x00\x00\x00\xad\x00\x00" 3129 "\xb0\x00\x00\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00" 3130 "\x00\x00\xc3\xe3\xa1\xb1\xc6\xe6\x00\x00\x00\x00\xc8\xe8\xcf\xef" 3131 "\xd0\xf0\x00\x00\x00\x00\x00\x00\xca\xea\xcc\xec\x00\x00\x00\x00" 3132 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3133 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xe5\x00\x00\xa5\xb5\x00" 3134 "\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00" 3135 "\x00\x00\x00\x00\x00\x00\x00\x00\xa2\xff\x00\xb2\x00\xbd\x00\x00" 3136 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3137 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3138 "\x00\xa3\xb3\xd1\xf1\x00\x00\xd2\xf2\x00\x00\x00\x00\x00\x00\x00" 3139 "\xd5\xf5\x00\x00\xc0\xe0\x00\x00\xd8\xf8\xa6\xb6\x00\x00\xaa\xba" 3140 "\xa9\xb9\xde\xfe\xab\xbb\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xf9" 3141 "\xdb\xfb\x00\x00\x00\x00\x00\x00\x00\xac\xbc\xaf\xbf\xae\xbe\x00" 3142 "\x00\xc1\xc2\x00\xc4\x00\x00\xc7\x00\xc9\x00\xcb\x00\xcd\xce\x00" 3143 "\x00\x00\x00\xd3\xd4\x00\xd6\xd7\x00\x00\xda\x00\xdc\xdd\x00\xdf" 3144 "\x00\xe1\xe2\x00\xe4\x00\x00\xe7\x00\xe9\x00\xeb\x00\xed\xee\x00" 3145 "\x00\x00\x00\xf3\xf4\x00\xf6\xf7\x00\x00\xfa\x00\xfc\xfd\x00\x00" 3148 static unsigned short const xmlunicodetable_ISO8859_3 [128] = {
3149 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3150 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3151 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3152 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3153 0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x0000, 0x0124, 0x00a7,
3154 0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x0000, 0x017b,
3155 0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,
3156 0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x0000, 0x017c,
3157 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x010a, 0x0108, 0x00c7,
3158 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
3159 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,
3160 0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,
3161 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x010b, 0x0109, 0x00e7,
3162 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
3163 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,
3164 0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9,
3167 static unsigned char const xmltranscodetable_ISO8859_3 [48 + 7 * 64] = {
3168 "\x04\x00\x01\x06\x02\x05\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00" 3169 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3170 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3171 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3172 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3173 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3174 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3175 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3176 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3177 "\xa0\x00\x00\xa3\xa4\x00\x00\xa7\xa8\x00\x00\x00\x00\xad\x00\x00" 3178 "\xb0\x00\xb2\xb3\xb4\xb5\x00\xb7\xb8\x00\x00\x00\x00\xbd\x00\x00" 3179 "\x00\x00\x00\x00\x00\x00\x00\x00\xc6\xe6\xc5\xe5\x00\x00\x00\x00" 3180 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xf8\xab\xbb" 3181 "\xd5\xf5\x00\x00\xa6\xb6\xa1\xb1\x00\x00\x00\x00\x00\x00\x00\x00" 3182 "\xa9\xb9\x00\x00\xac\xbc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3183 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3184 "\x00\x00\x00\x00\x00\x00\x00\x00\xa2\xff\x00\x00\x00\x00\x00\x00" 3185 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3186 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3187 "\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3188 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3189 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3190 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3191 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3192 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xfe\xaa\xba" 3193 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xfd\x00\x00" 3194 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xbf\x00\x00\x00" 3195 "\xc0\xc1\xc2\x00\xc4\x00\x00\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3196 "\x00\xd1\xd2\xd3\xd4\x00\xd6\xd7\x00\xd9\xda\xdb\xdc\x00\x00\xdf" 3197 "\xe0\xe1\xe2\x00\xe4\x00\x00\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3198 "\x00\xf1\xf2\xf3\xf4\x00\xf6\xf7\x00\xf9\xfa\xfb\xfc\x00\x00\x00" 3201 static unsigned short const xmlunicodetable_ISO8859_4 [128] = {
3202 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3203 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3204 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3205 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3206 0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,
3207 0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,
3208 0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,
3209 0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,
3210 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
3211 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,
3212 0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
3213 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,
3214 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
3215 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,
3216 0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
3217 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9,
3220 static unsigned char const xmltranscodetable_ISO8859_4 [48 + 6 * 64] = {
3221 "\x00\x00\x01\x05\x02\x03\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00" 3222 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3223 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3224 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3225 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3226 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3227 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3228 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3229 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3230 "\xa0\x00\x00\x00\xa4\x00\x00\xa7\xa8\x00\x00\x00\x00\xad\x00\xaf" 3231 "\xb0\x00\x00\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00" 3232 "\xc0\xe0\x00\x00\xa1\xb1\x00\x00\x00\x00\x00\x00\xc8\xe8\x00\x00" 3233 "\xd0\xf0\xaa\xba\x00\x00\xcc\xec\xca\xea\x00\x00\x00\x00\x00\x00" 3234 "\x00\x00\xab\xbb\x00\x00\x00\x00\xa5\xb5\xcf\xef\x00\x00\xc7\xe7" 3235 "\x00\x00\x00\x00\x00\x00\xd3\xf3\xa2\x00\x00\xa6\xb6\x00\x00\x00" 3236 "\x00\x00\x00\x00\x00\xd1\xf1\x00\x00\x00\xbd\xbf\xd2\xf2\x00\x00" 3237 "\x00\x00\x00\x00\x00\x00\xa3\xb3\x00\x00\x00\x00\x00\x00\x00\x00" 3238 "\xa9\xb9\x00\x00\x00\x00\xac\xbc\xdd\xfd\xde\xfe\x00\x00\x00\x00" 3239 "\x00\x00\xd9\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\xbe\x00" 3240 "\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00" 3241 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\xb2\x00\x00\x00\x00" 3242 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3243 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3244 "\x00\xc1\xc2\xc3\xc4\xc5\xc6\x00\x00\xc9\x00\xcb\x00\xcd\xce\x00" 3245 "\x00\x00\x00\x00\xd4\xd5\xd6\xd7\xd8\x00\xda\xdb\xdc\x00\x00\xdf" 3246 "\x00\xe1\xe2\xe3\xe4\xe5\xe6\x00\x00\xe9\x00\xeb\x00\xed\xee\x00" 3247 "\x00\x00\x00\x00\xf4\xf5\xf6\xf7\xf8\x00\xfa\xfb\xfc\x00\x00\x00" 3250 static unsigned short const xmlunicodetable_ISO8859_5 [128] = {
3251 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3252 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3253 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3254 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3255 0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
3256 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,
3257 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
3258 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
3259 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
3260 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
3261 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
3262 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
3263 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
3264 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
3265 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
3266 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f,
3269 static unsigned char const xmltranscodetable_ISO8859_5 [48 + 6 * 64] = {
3270 "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3271 "\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3272 "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3273 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3274 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3275 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3276 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3277 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3278 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3279 "\xa0\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\xad\x00\x00" 3280 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3281 "\x00\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\x00\xae\xaf" 3282 "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" 3283 "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3284 "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" 3285 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3286 "\x00\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\x00\xfe\xff" 3287 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3288 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3289 "\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3290 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3291 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3292 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3293 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3294 "\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3295 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3296 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3299 static unsigned short const xmlunicodetable_ISO8859_6 [128] = {
3300 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3301 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3302 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3303 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3304 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x0000,
3305 0x0000, 0x0000, 0x0000, 0x0000, 0x060c, 0x00ad, 0x0000, 0x0000,
3306 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3307 0x0000, 0x0000, 0x0000, 0x061b, 0x0000, 0x0000, 0x0000, 0x061f,
3308 0x0000, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
3309 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
3310 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,
3311 0x0638, 0x0639, 0x063a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3312 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
3313 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
3314 0x0650, 0x0651, 0x0652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3315 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3318 static unsigned char const xmltranscodetable_ISO8859_6 [48 + 5 * 64] = {
3319 "\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3320 "\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00" 3321 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3322 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3323 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3324 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3325 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3326 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3327 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3328 "\xa0\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\xad\x00\x00" 3329 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3330 "\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3331 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3332 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3333 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3334 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00" 3335 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x00\x00\xbf" 3336 "\x00\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3337 "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\x00\x00\x00\x00\x00" 3338 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3339 "\xf0\xf1\xf2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3340 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3341 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3344 static unsigned short const xmlunicodetable_ISO8859_7 [128] = {
3345 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3346 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3347 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3348 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3349 0x00a0, 0x2018, 0x2019, 0x00a3, 0x0000, 0x0000, 0x00a6, 0x00a7,
3350 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x0000, 0x2015,
3351 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,
3352 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
3353 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
3354 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
3355 0x03a0, 0x03a1, 0x0000, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
3356 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
3357 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
3358 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
3359 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
3360 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x0000,
3363 static unsigned char const xmltranscodetable_ISO8859_7 [48 + 7 * 64] = {
3364 "\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x06" 3365 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3366 "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3367 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3368 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3369 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3370 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3371 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3372 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3373 "\xa0\x00\x00\xa3\x00\x00\xa6\xa7\xa8\xa9\x00\xab\xac\xad\x00\x00" 3374 "\xb0\xb1\xb2\xb3\x00\x00\x00\xb7\x00\x00\x00\xbb\x00\xbd\x00\x00" 3375 "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3376 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3377 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3378 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3379 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3380 "\x00\x00\x00\x00\x00\xaf\x00\x00\xa1\xa2\x00\x00\x00\x00\x00\x00" 3381 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3382 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3383 "\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3384 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3385 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3386 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3387 "\x00\x00\x00\x00\xb4\xb5\xb6\x00\xb8\xb9\xba\x00\xbc\x00\xbe\xbf" 3388 "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3389 "\xd0\xd1\x00\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" 3390 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3391 "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\x00" 3392 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3393 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3394 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3397 static unsigned short const xmlunicodetable_ISO8859_8 [128] = {
3398 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3399 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3400 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3401 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3402 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
3403 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
3404 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
3405 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x0000,
3406 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3407 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3408 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
3409 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2017,
3410 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
3411 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
3412 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
3413 0x05e8, 0x05e9, 0x05ea, 0x0000, 0x0000, 0x200e, 0x200f, 0x0000,
3416 static unsigned char const xmltranscodetable_ISO8859_8 [48 + 7 * 64] = {
3417 "\x02\x00\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3418 "\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00" 3419 "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3420 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3421 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3422 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3423 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3424 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3425 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3426 "\xa0\x00\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\x00\xab\xac\xad\xae\xaf" 3427 "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\x00\xbb\xbc\xbd\xbe\x00" 3428 "\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3429 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3430 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3431 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3432 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3433 "\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x00" 3434 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3435 "\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00" 3436 "\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3437 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3438 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3439 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3440 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xfe" 3441 "\x00\x00\x00\x00\x00\x00\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00" 3442 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3443 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3444 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3445 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3446 "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\x00\x00\x00\x00\x00" 3447 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3450 static unsigned short const xmlunicodetable_ISO8859_9 [128] = {
3451 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3452 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3453 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3454 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3455 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
3456 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
3457 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
3458 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
3459 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
3460 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
3461 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
3462 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
3463 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
3464 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
3465 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
3466 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff,
3469 static unsigned char const xmltranscodetable_ISO8859_9 [48 + 5 * 64] = {
3470 "\x00\x00\x01\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3471 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3472 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3473 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3474 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3475 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3476 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3477 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3478 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3479 "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf" 3480 "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" 3481 "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3482 "\x00\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\x00\x00\xdf" 3483 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3484 "\x00\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\x00\x00\xff" 3485 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3486 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xf0" 3487 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3488 "\xdd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3489 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3490 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xfe" 3491 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3492 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3495 static unsigned short const xmlunicodetable_ISO8859_10 [128] = {
3496 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3497 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3498 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3499 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3500 0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,
3501 0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,
3502 0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,
3503 0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,
3504 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
3505 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,
3506 0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,
3507 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
3508 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
3509 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,
3510 0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,
3511 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138,
3514 static unsigned char const xmltranscodetable_ISO8859_10 [48 + 7 * 64] = {
3515 "\x00\x00\x01\x06\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3516 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3517 "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3518 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3519 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3520 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3521 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3522 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3523 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3524 "\xa0\x00\x00\x00\x00\x00\x00\xa7\x00\x00\x00\x00\x00\xad\x00\x00" 3525 "\xb0\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00" 3526 "\xc0\xe0\x00\x00\xa1\xb1\x00\x00\x00\x00\x00\x00\xc8\xe8\x00\x00" 3527 "\xa9\xb9\xa2\xb2\x00\x00\xcc\xec\xca\xea\x00\x00\x00\x00\x00\x00" 3528 "\x00\x00\xa3\xb3\x00\x00\x00\x00\xa5\xb5\xa4\xb4\x00\x00\xc7\xe7" 3529 "\x00\x00\x00\x00\x00\x00\xa6\xb6\xff\x00\x00\xa8\xb8\x00\x00\x00" 3530 "\x00\x00\x00\x00\x00\xd1\xf1\x00\x00\x00\xaf\xbf\xd2\xf2\x00\x00" 3531 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3532 "\xaa\xba\x00\x00\x00\x00\xab\xbb\xd7\xf7\xae\xbe\x00\x00\x00\x00" 3533 "\x00\x00\xd9\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\xbc\x00" 3534 "\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3535 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3536 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3537 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3538 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3539 "\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3540 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3541 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3542 "\x00\xc1\xc2\xc3\xc4\xc5\xc6\x00\x00\xc9\x00\xcb\x00\xcd\xce\xcf" 3543 "\xd0\x00\x00\xd3\xd4\xd5\xd6\x00\xd8\x00\xda\xdb\xdc\xdd\xde\xdf" 3544 "\x00\xe1\xe2\xe3\xe4\xe5\xe6\x00\x00\xe9\x00\xeb\x00\xed\xee\xef" 3545 "\xf0\x00\x00\xf3\xf4\xf5\xf6\x00\xf8\x00\xfa\xfb\xfc\xfd\xfe\x00" 3548 static unsigned short const xmlunicodetable_ISO8859_11 [128] = {
3549 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3550 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3551 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3552 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3553 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,
3554 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
3555 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,
3556 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
3557 0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,
3558 0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
3559 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
3560 0x0e38, 0x0e39, 0x0e3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e3f,
3561 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
3562 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
3563 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
3564 0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x0000, 0x0000, 0x0000, 0x0000,
3567 static unsigned char const xmltranscodetable_ISO8859_11 [48 + 6 * 64] = {
3568 "\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3569 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3570 "\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3571 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3572 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3573 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3574 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3575 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3576 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3577 "\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3578 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3579 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3580 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3581 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3582 "\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x00\x00\x00\x00\x00\x00" 3583 "\x00\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf" 3584 "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" 3585 "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3586 "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\x00\x00\x00\x00\xdf" 3587 "\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3588 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3589 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3590 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3591 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3592 "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\x00\x00\x00\x00" 3593 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3594 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3597 static unsigned short const xmlunicodetable_ISO8859_13 [128] = {
3598 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3599 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3600 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3601 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3602 0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,
3603 0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
3604 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,
3605 0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
3606 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
3607 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
3608 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
3609 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
3610 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
3611 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
3612 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
3613 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019,
3616 static unsigned char const xmltranscodetable_ISO8859_13 [48 + 7 * 64] = {
3617 "\x00\x00\x01\x04\x06\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3618 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3619 "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3620 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3621 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3622 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3623 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3624 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3625 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3626 "\xa0\x00\xa2\xa3\xa4\x00\xa6\xa7\x00\xa9\x00\xab\xac\xad\xae\x00" 3627 "\xb0\xb1\xb2\xb3\x00\xb5\xb6\xb7\x00\xb9\x00\xbb\xbc\xbd\xbe\x00" 3628 "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3629 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3630 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3631 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3632 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3633 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\xb4\xa1\xa5\x00" 3634 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3635 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3636 "\x00\x00\x00\x00\xc4\xc5\xaf\x00\x00\xc9\x00\x00\x00\x00\x00\x00" 3637 "\x00\x00\x00\xd3\x00\xd5\xd6\xd7\xa8\x00\x00\x00\xdc\x00\x00\xdf" 3638 "\x00\x00\x00\x00\xe4\xe5\xbf\x00\x00\xe9\x00\x00\x00\x00\x00\x00" 3639 "\x00\x00\x00\xf3\x00\xf5\xf6\xf7\xb8\x00\x00\x00\xfc\x00\x00\x00" 3640 "\x00\xd9\xf9\xd1\xf1\xd2\xf2\x00\x00\x00\x00\x00\xd4\xf4\x00\x00" 3641 "\x00\x00\x00\x00\x00\x00\xaa\xba\x00\x00\xda\xfa\x00\x00\x00\x00" 3642 "\xd0\xf0\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xfb\x00\x00\x00\x00" 3643 "\x00\x00\xd8\xf8\x00\x00\x00\x00\x00\xca\xea\xdd\xfd\xde\xfe\x00" 3644 "\xc2\xe2\x00\x00\xc0\xe0\xc3\xe3\x00\x00\x00\x00\xc8\xe8\x00\x00" 3645 "\x00\x00\xc7\xe7\x00\x00\xcb\xeb\xc6\xe6\x00\x00\x00\x00\x00\x00" 3646 "\x00\x00\xcc\xec\x00\x00\x00\x00\x00\x00\xce\xee\x00\x00\xc1\xe1" 3647 "\x00\x00\x00\x00\x00\x00\xcd\xed\x00\x00\x00\xcf\xef\x00\x00\x00" 3650 static unsigned short const xmlunicodetable_ISO8859_14 [128] = {
3651 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3652 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3653 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3654 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3655 0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,
3656 0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,
3657 0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,
3658 0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,
3659 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
3660 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
3661 0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,
3662 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,
3663 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
3664 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
3665 0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,
3666 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff,
3669 static unsigned char const xmltranscodetable_ISO8859_14 [48 + 10 * 64] = {
3670 "\x00\x00\x01\x09\x04\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3671 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3672 "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3673 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3674 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3675 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3676 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3677 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3678 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3679 "\xa0\x00\x00\xa3\x00\x00\x00\xa7\x00\xa9\x00\x00\x00\xad\xae\x00" 3680 "\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3681 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3682 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3683 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3684 "\x00\x00\x00\x00\x00\x00\x00\x00\x03\x08\x05\x06\x00\x00\x00\x00" 3685 "\x00\x00\xa1\xa2\x00\x00\x00\x00\x00\x00\xa6\xab\x00\x00\x00\x00" 3686 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\xb1" 3687 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3688 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3689 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xa5\x00\x00\x00\x00" 3690 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3691 "\xb2\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3692 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3693 "\xa8\xb8\xaa\xba\xbd\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3694 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3695 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3696 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3697 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3698 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3699 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3700 "\x00\x00\xac\xbc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3701 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3702 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3703 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3704 "\x00\x00\x00\x00\xd0\xf0\xde\xfe\xaf\x00\x00\x00\x00\x00\x00\x00" 3705 "\xb4\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3706 "\x00\x00\x00\x00\x00\x00\xb7\xb9\x00\x00\x00\x00\x00\x00\x00\x00" 3707 "\xbb\xbf\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xf7\x00\x00\x00\x00" 3708 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3709 "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3710 "\x00\xd1\xd2\xd3\xd4\xd5\xd6\x00\xd8\xd9\xda\xdb\xdc\xdd\x00\xdf" 3711 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3712 "\x00\xf1\xf2\xf3\xf4\xf5\xf6\x00\xf8\xf9\xfa\xfb\xfc\xfd\x00\xff" 3715 static unsigned short const xmlunicodetable_ISO8859_15 [128] = {
3716 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3717 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3718 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3719 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3720 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,
3721 0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
3722 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,
3723 0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,
3724 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
3725 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
3726 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
3727 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
3728 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
3729 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
3730 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
3731 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
3734 static unsigned char const xmltranscodetable_ISO8859_15 [48 + 6 * 64] = {
3735 "\x00\x00\x01\x05\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3736 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3737 "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3738 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3739 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3740 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3741 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3742 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3743 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3744 "\xa0\xa1\xa2\xa3\x00\xa5\x00\xa7\x00\xa9\xaa\xab\xac\xad\xae\xaf" 3745 "\xb0\xb1\xb2\xb3\x00\xb5\xb6\xb7\x00\xb9\xba\xbb\x00\x00\x00\xbf" 3746 "\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3747 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3748 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3749 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3750 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3751 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3752 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00" 3753 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3754 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3755 "\x00\x00\xbc\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3756 "\xa6\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3757 "\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x00\x00\x00\xb4\xb8\x00" 3758 "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3759 "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" 3760 "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3761 "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" 3764 static unsigned short const xmlunicodetable_ISO8859_16 [128] = {
3765 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
3766 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
3767 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
3768 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
3769 0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,
3770 0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,
3771 0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,
3772 0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,
3773 0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,
3774 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
3775 0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,
3776 0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,
3777 0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,
3778 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
3779 0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,
3780 0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff,
3783 static unsigned char const xmltranscodetable_ISO8859_16 [48 + 9 * 64] = {
3784 "\x00\x00\x01\x08\x02\x03\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00" 3785 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3786 "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3787 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3788 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3789 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3790 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3791 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" 3792 "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" 3793 "\xa0\x00\x00\x00\x00\x00\x00\xa7\x00\xa9\x00\xab\x00\xad\x00\x00" 3794 "\xb0\xb1\x00\x00\x00\x00\xb6\xb7\x00\x00\x00\xbb\x00\x00\x00\x00" 3795 "\x00\x00\xc3\xe3\xa1\xa2\xc5\xe5\x00\x00\x00\x00\xb2\xb9\x00\x00" 3796 "\xd0\xf0\x00\x00\x00\x00\x00\x00\xdd\xfd\x00\x00\x00\x00\x00\x00" 3797 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3798 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3799 "\x00\xa3\xb3\xd1\xf1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3800 "\xd5\xf5\xbc\xbd\x00\x00\x00\x00\x00\x00\xd7\xf7\x00\x00\x00\x00" 3801 "\xa6\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3802 "\xd8\xf8\x00\x00\x00\x00\x00\x00\xbe\xac\xae\xaf\xbf\xb4\xb8\x00" 3803 "\x06\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3804 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3805 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3806 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3807 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3808 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3809 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00" 3810 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3811 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3812 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xa5\x00" 3813 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3814 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3815 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3816 "\x00\x00\x00\x00\x00\x00\x00\x00\xaa\xba\xde\xfe\x00\x00\x00\x00" 3817 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3818 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 3819 "\xc0\xc1\xc2\x00\xc4\x00\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" 3820 "\x00\x00\xd2\xd3\xd4\x00\xd6\x00\x00\xd9\xda\xdb\xdc\x00\x00\xdf" 3821 "\xe0\xe1\xe2\x00\xe4\x00\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" 3822 "\x00\x00\xf2\xf3\xf4\x00\xf6\x00\x00\xf9\xfa\xfb\xfc\x00\x00\xff" 3830 static int ISO8859_2ToUTF8 (
unsigned char*
out,
int *outlen,
3831 const unsigned char*
in,
int *inlen) {
3832 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_2);
3834 static int UTF8ToISO8859_2 (
unsigned char*
out,
int *outlen,
3835 const unsigned char*
in,
int *inlen) {
3836 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_2);
3839 static int ISO8859_3ToUTF8 (
unsigned char*
out,
int *outlen,
3840 const unsigned char*
in,
int *inlen) {
3841 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_3);
3843 static int UTF8ToISO8859_3 (
unsigned char*
out,
int *outlen,
3844 const unsigned char*
in,
int *inlen) {
3845 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_3);
3848 static int ISO8859_4ToUTF8 (
unsigned char*
out,
int *outlen,
3849 const unsigned char*
in,
int *inlen) {
3850 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_4);
3852 static int UTF8ToISO8859_4 (
unsigned char*
out,
int *outlen,
3853 const unsigned char*
in,
int *inlen) {
3854 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_4);
3857 static int ISO8859_5ToUTF8 (
unsigned char*
out,
int *outlen,
3858 const unsigned char*
in,
int *inlen) {
3859 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_5);
3861 static int UTF8ToISO8859_5 (
unsigned char*
out,
int *outlen,
3862 const unsigned char*
in,
int *inlen) {
3863 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_5);
3866 static int ISO8859_6ToUTF8 (
unsigned char*
out,
int *outlen,
3867 const unsigned char*
in,
int *inlen) {
3868 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_6);
3870 static int UTF8ToISO8859_6 (
unsigned char*
out,
int *outlen,
3871 const unsigned char*
in,
int *inlen) {
3872 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_6);
3875 static int ISO8859_7ToUTF8 (
unsigned char*
out,
int *outlen,
3876 const unsigned char*
in,
int *inlen) {
3877 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_7);
3879 static int UTF8ToISO8859_7 (
unsigned char*
out,
int *outlen,
3880 const unsigned char*
in,
int *inlen) {
3881 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_7);
3884 static int ISO8859_8ToUTF8 (
unsigned char*
out,
int *outlen,
3885 const unsigned char*
in,
int *inlen) {
3886 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_8);
3888 static int UTF8ToISO8859_8 (
unsigned char*
out,
int *outlen,
3889 const unsigned char*
in,
int *inlen) {
3890 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_8);
3893 static int ISO8859_9ToUTF8 (
unsigned char*
out,
int *outlen,
3894 const unsigned char*
in,
int *inlen) {
3895 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_9);
3897 static int UTF8ToISO8859_9 (
unsigned char*
out,
int *outlen,
3898 const unsigned char*
in,
int *inlen) {
3899 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_9);
3902 static int ISO8859_10ToUTF8 (
unsigned char*
out,
int *outlen,
3903 const unsigned char*
in,
int *inlen) {
3904 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_10);
3906 static int UTF8ToISO8859_10 (
unsigned char*
out,
int *outlen,
3907 const unsigned char*
in,
int *inlen) {
3908 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_10);
3911 static int ISO8859_11ToUTF8 (
unsigned char*
out,
int *outlen,
3912 const unsigned char*
in,
int *inlen) {
3913 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_11);
3915 static int UTF8ToISO8859_11 (
unsigned char*
out,
int *outlen,
3916 const unsigned char*
in,
int *inlen) {
3917 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_11);
3920 static int ISO8859_13ToUTF8 (
unsigned char*
out,
int *outlen,
3921 const unsigned char*
in,
int *inlen) {
3922 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_13);
3924 static int UTF8ToISO8859_13 (
unsigned char*
out,
int *outlen,
3925 const unsigned char*
in,
int *inlen) {
3926 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_13);
3929 static int ISO8859_14ToUTF8 (
unsigned char*
out,
int *outlen,
3930 const unsigned char*
in,
int *inlen) {
3931 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_14);
3933 static int UTF8ToISO8859_14 (
unsigned char*
out,
int *outlen,
3934 const unsigned char*
in,
int *inlen) {
3935 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_14);
3938 static int ISO8859_15ToUTF8 (
unsigned char*
out,
int *outlen,
3939 const unsigned char*
in,
int *inlen) {
3940 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_15);
3942 static int UTF8ToISO8859_15 (
unsigned char*
out,
int *outlen,
3943 const unsigned char*
in,
int *inlen) {
3944 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_15);
3947 static int ISO8859_16ToUTF8 (
unsigned char*
out,
int *outlen,
3948 const unsigned char*
in,
int *inlen) {
3949 return ISO8859xToUTF8 (
out, outlen,
in, inlen, xmlunicodetable_ISO8859_16);
3951 static int UTF8ToISO8859_16 (
unsigned char*
out,
int *outlen,
3952 const unsigned char*
in,
int *inlen) {
3953 return UTF8ToISO8859x (
out, outlen,
in, inlen, xmltranscodetable_ISO8859_16);
3957 xmlRegisterCharEncodingHandlersISO8859x (
void) {
3977 #define bottom_encoding int xmlBufGrow(xmlBufPtr buf, int len)
int xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out, xmlBufferPtr in)
#define memmove(s1, s2, n)
static UCHAR ULONG UCHAR ULONG UCHAR * output
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
XMLPUBFUN xmlChar *XMLCALL xmlBufContent(const xmlBuf *buf)
int xmlBufAddLen(xmlBufPtr buf, size_t len)
int xmlDelEncodingAlias(const char *alias)
static void xmlEncodingErrMemory(const char *extra)
static xmlCharEncodingHandlerPtr * handlers
static struct cd_image cd
XMLPUBFUN xmlChar *XMLCALL xmlBufEnd(xmlBufPtr buf)
void xmlInitCharEncodingHandlers(void)
static xmlCharEncodingHandlerPtr xmlUTF16BEHandler
static int asciiToUTF8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
static int UTF16BEToUTF8(unsigned char *out, int *outlen, const unsigned char *inb, int *inlenb)
static xmlCharEncodingAliasPtr xmlCharEncodingAliases
static xmlCharEncodingHandlerPtr xmlDefaultCharEncodingHandler
void xmlCleanupCharEncodingHandlers(void)
xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
static int xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out, int *outlen, const unsigned char *in, int *inlen, int flush)
int(* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
XMLPUBFUN int XMLCALL xmlBufferGrow(xmlBufferPtr buf, unsigned int len)
int xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out, xmlBufferPtr in, int len)
static xmlCharEncodingHandlerPtr xmlUTF16LEHandler
GLenum GLuint GLenum GLsizei const GLchar * buf
size_t iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
xmlCharEncodingOutputFunc output
static int xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
static int xmlCharEncodingAliasesMax
xmlCharEncodingInputFunc input
xmlOutputBuffer * xmlOutputBufferPtr
int(* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
static int UTF16LEToUTF8(unsigned char *out, int *outlen, const unsigned char *inb, int *inlenb)
XMLPUBFUN int XMLCALL xmlBufferShrink(xmlBufferPtr buf, unsigned int len)
static void LIBXML_ATTR_FORMAT(2, 0)
XMLPUBVAR xmlGenericErrorFunc xmlGenericError
XMLPUBVAR xmlReallocFunc xmlRealloc
#define MAX_ENCODING_HANDLERS
void xmlCleanupEncodingAliases(void)
static int xmlLittleEndian
int xmlCharEncInput(xmlParserInputBufferPtr input, int flush)
int xmlCharEncOutput(xmlOutputBufferPtr output, int init)
xmlCharEncoding xmlDetectCharEncoding(const unsigned char *in, int len)
XMLPUBVAR xmlFreeFunc xmlFree
static int xmlCharEncodingAliasesNb
xmlCharEncodingHandlerPtr xmlGetCharEncodingHandler(xmlCharEncoding enc)
int xmlCharEncCloseFunc(xmlCharEncodingHandler *handler)
xmlCharEncodingHandlerPtr xmlNewCharEncodingHandler(const char *name, xmlCharEncodingInputFunc input, xmlCharEncodingOutputFunc output)
xmlCharEncodingAlias * xmlCharEncodingAliasPtr
#define memcpy(s1, s2, n)
size_t xmlBufAvail(const xmlBufPtr buf)
iconv_t iconv_open(const char *tocode, const char *fromcode)
const char * xmlGetEncodingAlias(const char *alias)
void xmlRegisterCharEncodingHandler(xmlCharEncodingHandlerPtr handler)
static int nbCharEncodingHandler
int xmlBufGetAllocationScheme(xmlBufPtr buf)
XMLPUBVAR xmlStrdupFunc xmlMemStrdup
GLenum GLenum GLenum input
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
xmlCharEncodingHandler * xmlCharEncodingHandlerPtr
XMLPUBFUN int XMLCALL XMLPUBFUN int XMLCALL XMLPUBFUN int XMLCALL xmlGetUTF8Char(const unsigned char *utf, int *len)
XMLPUBVAR xmlMallocFunc xmlMalloc
int xmlCharEncOutFunc(xmlCharEncodingHandler *handler, xmlBufferPtr out, xmlBufferPtr in)
static int processed(const type_t *type)
int strcmp(const char *String1, const char *String2)
xmlCharEncoding xmlParseCharEncoding(const char *name)
int iconv_close(iconv_t cd)
static int UTF8ToUTF8(unsigned char *out, int *outlen, const unsigned char *inb, int *inlenb)
UINT(* handler)(MSIPACKAGE *)
int xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len)
int xmlCharEncInFunc(xmlCharEncodingHandler *handler, xmlBufferPtr out, xmlBufferPtr in)
long xmlByteConsumed(xmlParserCtxtPtr ctxt)
int isolat1ToUTF8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
XMLPUBFUN size_t XMLCALL xmlBufUse(const xmlBufPtr buf)
XMLPUBFUN size_t XMLCALL xmlBufShrink(xmlBufPtr buf, size_t len)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
const char * xmlGetCharEncodingName(xmlCharEncoding enc)
XMLPUBVAR void * xmlGenericErrorContext
int xmlAddEncodingAlias(const char *name, const char *alias)
GLuint const GLchar * name