3typedef uint32_t pm_unicode_codepoint_t;
5#define UNICODE_ALPHA_CODEPOINTS_LENGTH 1450
6static const pm_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODEPOINTS_LENGTH] = {
734#define UNICODE_ALNUM_CODEPOINTS_LENGTH 1528
735static const pm_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODEPOINTS_LENGTH] = {
1502#define UNICODE_ISUPPER_CODEPOINTS_LENGTH 1302
1503static const pm_unicode_codepoint_t unicode_isupper_codepoints[UNICODE_ISUPPER_CODEPOINTS_LENGTH] = {
2164const uint8_t pm_encoding_unicode_table[256] = {
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2170 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2171 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2172 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2173 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
2178 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2179 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
2180 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2181 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3,
2189pm_unicode_codepoint_match(pm_unicode_codepoint_t codepoint,
const pm_unicode_codepoint_t *codepoints,
size_t size) {
2193 while (start < end) {
2194 size_t middle = start + (end - start) / 2;
2195 if ((middle % 2) != 0) middle--;
2197 if (codepoint >= codepoints[middle] && codepoint <= codepoints[middle + 1]) {
2201 if (codepoint < codepoints[middle]) {
2234static const uint8_t pm_utf_8_dfa[] = {
2235 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2236 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2237 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2238 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2239 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
2240 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
2241 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2242 0xa,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x4,0x3,0x3,
2243 0xb,0x6,0x6,0x6,0x5,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
2244 0x0,0x1,0x2,0x3,0x5,0x8,0x7,0x1,0x1,0x1,0x4,0x6,0x1,0x1,0x1,0x1,
2245 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,1,1,
2246 1,2,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
2247 1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1,
2248 1,3,1,1,1,1,1,3,1,3,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2256static pm_unicode_codepoint_t
2257pm_utf_8_codepoint(
const uint8_t *b, ptrdiff_t n,
size_t *width) {
2260 size_t maximum = (n > 4) ? 4 : ((size_t) n);
2264 for (
size_t index = 0; index < maximum; index++) {
2265 uint32_t
byte = b[index];
2266 uint32_t
type = pm_utf_8_dfa[byte];
2268 codepoint = (state != 0) ?
2269 (
byte & 0x3fu) | (codepoint << 6) :
2270 (0xffu >>
type) & (byte);
2272 state = pm_utf_8_dfa[256 + (state * 16) +
type];
2275 return (pm_unicode_codepoint_t) codepoint;
2287pm_encoding_utf_8_char_width(
const uint8_t *b, ptrdiff_t n) {
2290 size_t maximum = (n > 4) ? 4 : ((size_t) n);
2293 for (
size_t index = 0; index < maximum; index++) {
2294 state = pm_utf_8_dfa[256 + (state * 16) + pm_utf_8_dfa[b[index]]];
2295 if (state == 0)
return index + 1;
2306pm_encoding_utf_8_alpha_char(
const uint8_t *b, ptrdiff_t n) {
2312 pm_unicode_codepoint_t codepoint = pm_utf_8_codepoint(b, n, &width);
2314 if (codepoint <= 0xFF) {
2317 return pm_unicode_codepoint_match(codepoint, unicode_alpha_codepoints, UNICODE_ALPHA_CODEPOINTS_LENGTH) ? width : 0;
2326pm_encoding_utf_8_alnum_char(
const uint8_t *b, ptrdiff_t n) {
2332 pm_unicode_codepoint_t codepoint = pm_utf_8_codepoint(b, n, &width);
2334 if (codepoint <= 0xFF) {
2337 return pm_unicode_codepoint_match(codepoint, unicode_alnum_codepoints, UNICODE_ALNUM_CODEPOINTS_LENGTH) ? width : 0;
2346pm_encoding_utf_8_isupper_char(
const uint8_t *b, ptrdiff_t n) {
2352 pm_unicode_codepoint_t codepoint = pm_utf_8_codepoint(b, n, &width);
2354 if (codepoint <= 0xFF) {
2357 return pm_unicode_codepoint_match(codepoint, unicode_isupper_codepoints, UNICODE_ISUPPER_CODEPOINTS_LENGTH) ? true :
false;
2361#ifndef PRISM_ENCODING_EXCLUDE_FULL
2363static pm_unicode_codepoint_t
2364pm_cesu_8_codepoint(
const uint8_t *b, ptrdiff_t n,
size_t *width) {
2367 return (pm_unicode_codepoint_t) b[0];
2370 if (n > 1 && b[0] >= 0xC2 && b[0] <= 0xDF && b[1] >= 0x80 && b[1] <= 0xBF) {
2374 return (pm_unicode_codepoint_t) (((b[0] & 0x1F) << 6) | (b[1] & 0x3F));
2377 if (n > 5 && b[0] == 0xED && b[1] >= 0xA0 && b[1] <= 0xAF && b[2] >= 0x80 && b[2] <= 0xBF && b[3] == 0xED && b[4] >= 0xB0 && b[4] <= 0xBF && b[5] >= 0x80 && b[5] <= 0xBF) {
2381 return (pm_unicode_codepoint_t) (0x10000 + (((b[1] & 0xF) << 16) | ((b[2] & 0x3F) << 10) | ((b[4] & 0xF) << 6) | (b[5] & 0x3F)));
2384 if (n > 2 && b[0] == 0xED && b[1] >= 0xA0 && b[1] <= 0xBF) {
2388 return (pm_unicode_codepoint_t) (0x10000 + (((b[0] & 0x03) << 16) | ((b[1] & 0x3F) << 10) | (b[2] & 0x3F)));
2391 if (n > 2 && ((b[0] == 0xE0 && b[1] >= 0xA0) || (b[0] >= 0xE1 && b[0] <= 0xEF && b[1] >= 0x80)) && b[1] <= 0xBF && b[2] >= 0x80 && b[2] <= 0xBF) {
2395 return (pm_unicode_codepoint_t) (((b[0] & 0xF) << 12) | ((b[1] & 0x3F) << 6) | (b[2] & 0x3F));
2403pm_encoding_cesu_8_char_width(
const uint8_t *b, ptrdiff_t n) {
2405 pm_cesu_8_codepoint(b, n, &width);
2410pm_encoding_cesu_8_alpha_char(
const uint8_t *b, ptrdiff_t n) {
2416 pm_unicode_codepoint_t codepoint = pm_cesu_8_codepoint(b, n, &width);
2418 if (codepoint <= 0xFF) {
2421 return pm_unicode_codepoint_match(codepoint, unicode_alpha_codepoints, UNICODE_ALPHA_CODEPOINTS_LENGTH) ? width : 0;
2426pm_encoding_cesu_8_alnum_char(
const uint8_t *b, ptrdiff_t n) {
2432 pm_unicode_codepoint_t codepoint = pm_cesu_8_codepoint(b, n, &width);
2434 if (codepoint <= 0xFF) {
2437 return pm_unicode_codepoint_match(codepoint, unicode_alnum_codepoints, UNICODE_ALNUM_CODEPOINTS_LENGTH) ? width : 0;
2442pm_encoding_cesu_8_isupper_char(
const uint8_t *b, ptrdiff_t n) {
2448 pm_unicode_codepoint_t codepoint = pm_cesu_8_codepoint(b, n, &width);
2450 if (codepoint <= 0xFF) {
2453 return pm_unicode_codepoint_match(codepoint, unicode_isupper_codepoints, UNICODE_ISUPPER_CODEPOINTS_LENGTH) ? true :
false;
2459#undef UNICODE_ALPHA_CODEPOINTS_LENGTH
2460#undef UNICODE_ALNUM_CODEPOINTS_LENGTH
2461#undef UNICODE_ISUPPER_CODEPOINTS_LENGTH
2467static const uint8_t pm_encoding_ascii_table[256] = {
2469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2472 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2473 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2474 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2475 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2476 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2487#ifndef PRISM_ENCODING_EXCLUDE_FULL
2493static const uint8_t pm_encoding_cp850_table[256] = {
2495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2498 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2499 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2500 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2501 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2502 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2517static const uint8_t pm_encoding_cp852_table[256] = {
2519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2522 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2523 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2524 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2525 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2526 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2541static const uint8_t pm_encoding_cp855_table[256] = {
2543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2546 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2547 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2548 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2549 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2550 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2565static const uint8_t pm_encoding_gb1988_table[256] = {
2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2571 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2572 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2573 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2574 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589static const uint8_t pm_encoding_ibm437_table[256] = {
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2595 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2596 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2597 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2598 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613static const uint8_t pm_encoding_ibm720_table[256] = {
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2619 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2620 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2621 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2622 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2637static const uint8_t pm_encoding_ibm737_table[256] = {
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2643 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2644 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2645 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2646 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661static const uint8_t pm_encoding_ibm775_table[256] = {
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2667 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2668 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2669 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2670 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685static const uint8_t pm_encoding_ibm852_table[256] = {
2687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2690 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2691 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2692 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2693 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2694 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709static const uint8_t pm_encoding_ibm855_table[256] = {
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2715 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2716 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2717 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2718 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2733static const uint8_t pm_encoding_ibm857_table[256] = {
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2739 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2740 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2741 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2742 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757static const uint8_t pm_encoding_ibm860_table[256] = {
2759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2763 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2764 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2765 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2766 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2781static const uint8_t pm_encoding_ibm861_table[256] = {
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2787 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2788 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2789 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2790 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2805static const uint8_t pm_encoding_ibm862_table[256] = {
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2810 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2811 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2812 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2813 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2814 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829static const uint8_t pm_encoding_ibm863_table[256] = {
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2835 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2836 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2837 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2838 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853static const uint8_t pm_encoding_ibm864_table[256] = {
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2859 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2860 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2861 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2862 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877static const uint8_t pm_encoding_ibm865_table[256] = {
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2883 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2884 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2885 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2886 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901static const uint8_t pm_encoding_ibm866_table[256] = {
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2907 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2908 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2909 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2910 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2925static const uint8_t pm_encoding_ibm869_table[256] = {
2927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2930 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2931 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2932 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2933 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2934 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2949static const uint8_t pm_encoding_iso_8859_1_table[256] = {
2951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2955 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2956 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2957 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2958 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
2962 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
2963 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2964 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
2965 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2966 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3,
2973static const uint8_t pm_encoding_iso_8859_2_table[256] = {
2975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2979 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2980 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
2981 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2982 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
2983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2985 0, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 7, 7,
2986 0, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 3, 3, 0, 3, 3,
2987 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2988 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
2989 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2990 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0,
2997static const uint8_t pm_encoding_iso_8859_3_table[256] = {
2999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3003 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3004 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3005 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3006 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3009 0, 7, 0, 0, 0, 0, 7, 0, 0, 7, 7, 7, 7, 0, 0, 7,
3010 0, 3, 0, 0, 0, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 3,
3011 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3012 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3013 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3014 0, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0,
3021static const uint8_t pm_encoding_iso_8859_4_table[256] = {
3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3026 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3027 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3028 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3029 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3030 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3033 0, 7, 3, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 7, 0,
3034 0, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 3, 3, 7, 3, 3,
3035 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3036 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3037 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3038 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0,
3045static const uint8_t pm_encoding_iso_8859_5_table[256] = {
3047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3050 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3051 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3052 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3053 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3054 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3057 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7,
3058 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3059 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3060 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3061 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3062 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3,
3069static const uint8_t pm_encoding_iso_8859_6_table[256] = {
3071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3074 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3075 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3076 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3077 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3078 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3083 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3084 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3085 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3086 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3093static const uint8_t pm_encoding_iso_8859_7_table[256] = {
3095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3098 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3099 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3100 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3101 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3102 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3106 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7,
3107 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3108 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3,
3109 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3110 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0,
3117static const uint8_t pm_encoding_iso_8859_8_table[256] = {
3119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3123 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3124 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3125 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3126 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3133 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3134 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3141static const uint8_t pm_encoding_iso_8859_9_table[256] = {
3143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3147 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3148 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3149 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3150 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3154 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3155 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3156 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3157 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3158 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3,
3165static const uint8_t pm_encoding_iso_8859_10_table[256] = {
3167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3170 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3171 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3172 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3173 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3174 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3177 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 0, 7, 7,
3178 0, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3,
3179 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3180 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3,
3181 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3182 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3189static const uint8_t pm_encoding_iso_8859_11_table[256] = {
3191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3195 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3196 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3197 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3198 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3201 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3202 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3203 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3204 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3,
3205 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3206 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0,
3213static const uint8_t pm_encoding_iso_8859_13_table[256] = {
3215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3219 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3220 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3221 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3222 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3225 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7,
3226 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 0, 3,
3227 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3228 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3229 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3230 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0,
3237static const uint8_t pm_encoding_iso_8859_14_table[256] = {
3239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3243 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3244 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3245 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3246 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3249 0, 7, 3, 0, 7, 3, 7, 0, 7, 0, 7, 3, 7, 0, 0, 7,
3250 7, 3, 7, 3, 7, 3, 0, 7, 3, 3, 3, 7, 3, 7, 3, 3,
3251 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3252 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3,
3253 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3254 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3261static const uint8_t pm_encoding_iso_8859_15_table[256] = {
3263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3266 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3267 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3268 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3269 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3270 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3273 0, 0, 0, 0, 0, 0, 7, 0, 3, 0, 3, 0, 0, 0, 0, 0,
3274 0, 0, 0, 0, 7, 3, 0, 0, 3, 0, 3, 0, 7, 3, 7, 0,
3275 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3276 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3277 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3278 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3,
3285static const uint8_t pm_encoding_iso_8859_16_table[256] = {
3287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3291 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3292 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3293 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3294 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3297 0, 7, 3, 7, 0, 0, 7, 0, 3, 0, 7, 0, 7, 0, 3, 7,
3298 0, 0, 7, 3, 7, 0, 0, 0, 3, 3, 3, 0, 7, 3, 7, 3,
3299 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3300 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3,
3301 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3302 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3309static const uint8_t pm_encoding_koi8_r_table[256] = {
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3315 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3316 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3317 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3318 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3322 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3323 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3324 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3325 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3326 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3333static const uint8_t pm_encoding_koi8_u_table[256] = {
3335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3339 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3340 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3341 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3342 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3345 0, 0, 0, 3, 3, 0, 3, 3, 0, 0, 0, 0, 0, 3, 0, 0,
3346 0, 0, 0, 7, 7, 0, 7, 7, 0, 0, 0, 0, 0, 7, 0, 0,
3347 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3348 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3349 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3350 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3357static const uint8_t pm_encoding_mac_cent_euro_table[256] = {
3359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3363 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3364 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3365 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3366 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381static const uint8_t pm_encoding_mac_croatian_table[256] = {
3383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3386 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3387 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3388 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3389 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3390 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405static const uint8_t pm_encoding_mac_cyrillic_table[256] = {
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3410 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3411 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3412 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3413 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3414 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429static const uint8_t pm_encoding_mac_greek_table[256] = {
3431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3435 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3436 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3437 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3438 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453static const uint8_t pm_encoding_mac_iceland_table[256] = {
3455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3459 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3460 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3461 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3462 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477static const uint8_t pm_encoding_mac_roman_table[256] = {
3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3482 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3483 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3484 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3485 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3486 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501static const uint8_t pm_encoding_mac_romania_table[256] = {
3503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3506 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3507 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3508 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3509 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3510 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3525static const uint8_t pm_encoding_mac_thai_table[256] = {
3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3530 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3531 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3532 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3533 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3534 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3549static const uint8_t pm_encoding_tis_620_table[256] = {
3551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3555 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3556 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3557 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3558 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3561 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3562 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3563 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3564 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3,
3565 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3566 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0,
3573static const uint8_t pm_encoding_mac_turkish_table[256] = {
3575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3579 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3580 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3581 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3582 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3597static const uint8_t pm_encoding_mac_ukraine_table[256] = {
3599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3602 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3603 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3604 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3605 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3606 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3621static const uint8_t pm_encoding_windows_1250_table[256] = {
3623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3627 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3628 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3629 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3630 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 7,
3632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3,
3633 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7,
3634 0, 0, 0, 3, 0, 3, 0, 0, 0, 3, 3, 0, 7, 0, 3, 3,
3635 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3636 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3,
3637 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3638 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0,
3645static const uint8_t pm_encoding_windows_1251_table[256] = {
3647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3651 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3652 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3653 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3654 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3655 7, 7, 0, 3, 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 7,
3656 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3,
3657 0, 7, 3, 7, 0, 7, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7,
3658 0, 0, 7, 3, 3, 3, 0, 0, 3, 0, 3, 0, 3, 7, 3, 3,
3659 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3660 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3661 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3662 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3669static const uint8_t pm_encoding_windows_1252_table[256] = {
3671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3675 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3676 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3677 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3678 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 7, 0,
3680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 3, 7,
3681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3682 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3683 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3684 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3,
3685 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3686 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3,
3693static const uint8_t pm_encoding_windows_1253_table[256] = {
3695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3698 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3699 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3700 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3701 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3702 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3705 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3706 0, 0, 0, 0, 0, 3, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7,
3707 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3708 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3,
3709 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3710 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0,
3717static const uint8_t pm_encoding_windows_1254_table[256] = {
3719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3722 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3723 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3724 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3725 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3726 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0,
3728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 0, 7,
3729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3730 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3731 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3732 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3733 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3734 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3,
3741static const uint8_t pm_encoding_windows_1255_table[256] = {
3743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3747 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3748 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3749 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3750 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3754 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3757 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3758 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3765static const uint8_t pm_encoding_windows_1256_table[256] = {
3767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3770 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3771 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3772 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3773 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3774 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3779 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3780 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3781 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3782 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3789static const uint8_t pm_encoding_windows_1257_table[256] = {
3791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3795 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3796 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3797 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3798 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3801 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7,
3802 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 0, 3,
3803 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3804 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3,
3805 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3806 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0,
3813static const uint8_t pm_encoding_windows_1258_table[256] = {
3815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3818 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3819 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3820 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3821 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3822 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3837static const uint8_t pm_encoding_windows_874_table[256] = {
3839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3842 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
3843 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3844 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
3845 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3846 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3857#define PRISM_ENCODING_TABLE(name) \
3858 static size_t pm_encoding_ ##name ## _alpha_char(const uint8_t *b, PRISM_ATTRIBUTE_UNUSED ptrdiff_t n) { \
3859 return (pm_encoding_ ##name ## _table[*b] & PRISM_ENCODING_ALPHABETIC_BIT); \
3861 static size_t pm_encoding_ ##name ## _alnum_char(const uint8_t *b, PRISM_ATTRIBUTE_UNUSED ptrdiff_t n) { \
3862 return (pm_encoding_ ##name ## _table[*b] & PRISM_ENCODING_ALPHANUMERIC_BIT) ? 1 : 0; \
3864 static bool pm_encoding_ ##name ## _isupper_char(const uint8_t *b, PRISM_ATTRIBUTE_UNUSED ptrdiff_t n) { \
3865 return (pm_encoding_ ##name ## _table[*b] & PRISM_ENCODING_UPPERCASE_BIT); \
3868PRISM_ENCODING_TABLE(cp850)
3869PRISM_ENCODING_TABLE(cp852)
3870PRISM_ENCODING_TABLE(cp855)
3871PRISM_ENCODING_TABLE(gb1988)
3872PRISM_ENCODING_TABLE(ibm437)
3873PRISM_ENCODING_TABLE(ibm720)
3874PRISM_ENCODING_TABLE(ibm737)
3875PRISM_ENCODING_TABLE(ibm775)
3876PRISM_ENCODING_TABLE(ibm852)
3877PRISM_ENCODING_TABLE(ibm855)
3878PRISM_ENCODING_TABLE(ibm857)
3879PRISM_ENCODING_TABLE(ibm860)
3880PRISM_ENCODING_TABLE(ibm861)
3881PRISM_ENCODING_TABLE(ibm862)
3882PRISM_ENCODING_TABLE(ibm863)
3883PRISM_ENCODING_TABLE(ibm864)
3884PRISM_ENCODING_TABLE(ibm865)
3885PRISM_ENCODING_TABLE(ibm866)
3886PRISM_ENCODING_TABLE(ibm869)
3887PRISM_ENCODING_TABLE(iso_8859_1)
3888PRISM_ENCODING_TABLE(iso_8859_2)
3889PRISM_ENCODING_TABLE(iso_8859_3)
3890PRISM_ENCODING_TABLE(iso_8859_4)
3891PRISM_ENCODING_TABLE(iso_8859_5)
3892PRISM_ENCODING_TABLE(iso_8859_6)
3893PRISM_ENCODING_TABLE(iso_8859_7)
3894PRISM_ENCODING_TABLE(iso_8859_8)
3895PRISM_ENCODING_TABLE(iso_8859_9)
3896PRISM_ENCODING_TABLE(iso_8859_10)
3897PRISM_ENCODING_TABLE(iso_8859_11)
3898PRISM_ENCODING_TABLE(iso_8859_13)
3899PRISM_ENCODING_TABLE(iso_8859_14)
3900PRISM_ENCODING_TABLE(iso_8859_15)
3901PRISM_ENCODING_TABLE(iso_8859_16)
3902PRISM_ENCODING_TABLE(koi8_r)
3903PRISM_ENCODING_TABLE(koi8_u)
3904PRISM_ENCODING_TABLE(mac_cent_euro)
3905PRISM_ENCODING_TABLE(mac_croatian)
3906PRISM_ENCODING_TABLE(mac_cyrillic)
3907PRISM_ENCODING_TABLE(mac_greek)
3908PRISM_ENCODING_TABLE(mac_iceland)
3909PRISM_ENCODING_TABLE(mac_roman)
3910PRISM_ENCODING_TABLE(mac_romania)
3911PRISM_ENCODING_TABLE(mac_thai)
3912PRISM_ENCODING_TABLE(mac_turkish)
3913PRISM_ENCODING_TABLE(mac_ukraine)
3914PRISM_ENCODING_TABLE(tis_620)
3915PRISM_ENCODING_TABLE(windows_1250)
3916PRISM_ENCODING_TABLE(windows_1251)
3917PRISM_ENCODING_TABLE(windows_1252)
3918PRISM_ENCODING_TABLE(windows_1253)
3919PRISM_ENCODING_TABLE(windows_1254)
3920PRISM_ENCODING_TABLE(windows_1255)
3921PRISM_ENCODING_TABLE(windows_1256)
3922PRISM_ENCODING_TABLE(windows_1257)
3923PRISM_ENCODING_TABLE(windows_1258)
3924PRISM_ENCODING_TABLE(windows_874)
3926#undef PRISM_ENCODING_TABLE
3935 return *b < 0x80 ? 1 : 0;
3953pm_encoding_ascii_alpha_char_7bit(
const uint8_t *b, ptrdiff_t n) {
3954 return (*b < 0x80) ? pm_encoding_ascii_alpha_char(b, n) : 0;
3972pm_encoding_ascii_alnum_char_7bit(
const uint8_t *b, ptrdiff_t n) {
3973 return (*b < 0x80) ? pm_encoding_ascii_alnum_char(b, n) : 0;
3999pm_encoding_euc_jp_char_width(
const uint8_t *b, ptrdiff_t n) {
4006 if ((n > 1) && ((b[0] == 0x8E) || (b[0] >= 0xA1 && b[0] <= 0xFE)) && (b[1] >= 0xA1 && b[1] <= 0xFE)) {
4011 if ((n > 2) && (b[0] == 0x8F) && (b[1] >= 0xA1 && b[2] <= 0xFE) && (b[2] >= 0xA1 && b[2] <= 0xFE)) {
4023pm_encoding_euc_jp_isupper_char(
const uint8_t *b, ptrdiff_t n) {
4024 size_t width = pm_encoding_euc_jp_char_width(b, n);
4027 return pm_encoding_ascii_isupper_char(b, n);
4028 }
else if (width == 2) {
4030 (b[0] == 0xA3 && b[1] >= 0xC1 && b[1] <= 0xDA) ||
4031 (b[0] == 0xA6 && b[1] >= 0xA1 && b[1] <= 0xB8) ||
4032 (b[0] == 0xA7 && b[1] >= 0xA1 && b[1] <= 0xC1)
4044pm_encoding_shift_jis_char_width(
const uint8_t *b, ptrdiff_t n) {
4046 if (b[0] < 0x80 || (b[0] >= 0xA1 && b[0] <= 0xDF)) {
4051 if ((n > 1) && ((b[0] >= 0x81 && b[0] <= 0x9F) || (b[0] >= 0xE0 && b[0] <= 0xFC)) && (b[1] >= 0x40 && b[1] <= 0xFC && b[1] != 0x7F)) {
4063pm_encoding_shift_jis_alnum_char(
const uint8_t *b, ptrdiff_t n) {
4064 size_t width = pm_encoding_shift_jis_char_width(b, n);
4065 return width == 1 ? ((b[0] >= 0x80) || pm_encoding_ascii_alnum_char(b, n)) : width;
4073pm_encoding_shift_jis_alpha_char(
const uint8_t *b, ptrdiff_t n) {
4074 size_t width = pm_encoding_shift_jis_char_width(b, n);
4075 return width == 1 ? ((b[0] >= 0x80) || pm_encoding_ascii_alpha_char(b, n)) : width;
4083pm_encoding_shift_jis_isupper_char(
const uint8_t *b, ptrdiff_t n) {
4084 size_t width = pm_encoding_shift_jis_char_width(b, n);
4087 return pm_encoding_ascii_isupper_char(b, n);
4088 }
else if (width == 2) {
4090 ((b[0] == 0x82) && (b[1] >= 0x60 && b[1] <= 0x79)) ||
4091 ((b[0] == 0x83) && (b[1] >= 0x9F && b[1] <= 0xB6)) ||
4092 ((b[0] == 0x84) && (b[1] >= 0x40 && b[1] <= 0x60))
4099#ifndef PRISM_ENCODING_EXCLUDE_FULL
4107pm_encoding_ascii_isupper_char_7bit(
const uint8_t *b, ptrdiff_t n) {
4108 return (*b < 0x80) && pm_encoding_ascii_isupper_char(b, n);
4116pm_encoding_big5_char_width(
const uint8_t *b, ptrdiff_t n) {
4123 if ((n > 1) && (b[0] >= 0xA1 && b[0] <= 0xFE) && ((b[1] >= 0x40 && b[1] <= 0x7E) || (b[1] >= 0xA1 && b[1] <= 0xFE))) {
4135pm_encoding_cp949_char_width(
const uint8_t *b, ptrdiff_t n) {
4142 if ((n > 1) && (b[0] >= 0x81 && b[0] <= 0xFE) && ((b[1] >= 0x41 && b[1] <= 0x5A) || (b[1] >= 0x61 && b[1] <= 0x7A) || (b[1] >= 0x81 && b[1] <= 0xFE))) {
4154pm_encoding_emacs_mule_char_width(
const uint8_t *b, ptrdiff_t n) {
4161 if ((n > 1) && (b[0] >= 0x81 && b[0] <= 0x8F) && (b[1] >= 0xA0)) {
4169 ((b[0] >= 0x90 && b[0] <= 0x99) && (b[1] >= 0xA0)) ||
4170 ((b[0] == 0x9A || b[0] == 0x9B) && (b[1] >= 0xE0 && b[1] <= 0xEF))
4181 ((b[0] == 0x9C) && (b[1] >= 0xF0) && (b[1] <= 0xF4)) ||
4182 ((b[0] == 0x9D) && (b[1] >= 0xF5) && (b[1] <= 0xFE))
4184 (b[2] >= 0xA0) && (b[3] >= 0xA0)
4197pm_encoding_euc_kr_char_width(
const uint8_t *b, ptrdiff_t n) {
4204 if ((n > 1) && (b[0] >= 0xA1 && b[0] <= 0xFE) && (b[1] >= 0xA1 && b[1] <= 0xFE)) {
4216pm_encoding_euc_tw_char_width(
const uint8_t *b, ptrdiff_t n) {
4223 if ((n > 1) && (b[0] >= 0xA1) && (b[0] <= 0xFE) && (b[1] >= 0xA1) && (b[1] <= 0xFE)) {
4228 if ((n > 3) && (b[0] == 0x8E) && (b[1] >= 0xA1) && (b[1] <= 0xB0) && (b[2] >= 0xA1) && (b[2] <= 0xFE) && (b[3] >= 0xA1) && (b[3] <= 0xFE)) {
4240pm_encoding_gb18030_char_width(
const uint8_t *b, ptrdiff_t n) {
4247 if ((n > 1) && (b[0] >= 0x81 && b[0] <= 0xFE) && (b[1] >= 0x40 && b[1] <= 0xFE && b[1] != 0x7F)) {
4252 if ((n > 3) && ((b[0] >= 0x81 && b[0] <= 0xFE) && (b[1] >= 0x30 && b[1] <= 0x39) && (b[2] >= 0x81 && b[2] <= 0xFE) && (b[3] >= 0x30 && b[3] <= 0x39))) {
4264pm_encoding_gbk_char_width(
const uint8_t *b, ptrdiff_t n) {
4274 ((b[0] >= 0xA1 && b[0] <= 0xA9) && (b[1] >= 0xA1 && b[1] <= 0xFE)) ||
4275 ((b[0] >= 0xB0 && b[0] <= 0xF7) && (b[1] >= 0xA1 && b[1] <= 0xFE)) ||
4276 ((b[0] >= 0x81 && b[0] <= 0xA0) && (b[1] >= 0x40 && b[1] <= 0xFE) && (b[1] != 0x7F)) ||
4277 ((b[0] >= 0xAA && b[0] <= 0xFE) && (b[1] >= 0x40 && b[1] <= 0xA0) && (b[1] != 0x7F)) ||
4278 ((b[0] >= 0xA8 && b[0] <= 0xA9) && (b[1] >= 0x40 && b[1] <= 0xA0) && (b[1] != 0x7F)) ||
4279 ((b[0] >= 0xAA && b[0] <= 0xAF) && (b[1] >= 0xA1 && b[1] <= 0xFE)) ||
4280 ((b[0] >= 0xF8 && b[0] <= 0xFE) && (b[1] >= 0xA1 && b[1] <= 0xFE)) ||
4281 ((b[0] >= 0xA1 && b[0] <= 0xA7) && (b[1] >= 0x40 && b[1] <= 0xA0) && (b[1] != 0x7F))
4296 [PM_ENCODING_UTF_8] = {
4298 .char_width = pm_encoding_utf_8_char_width,
4299 .alnum_char = pm_encoding_utf_8_alnum_char,
4300 .alpha_char = pm_encoding_utf_8_alpha_char,
4301 .isupper_char = pm_encoding_utf_8_isupper_char,
4304 [PM_ENCODING_US_ASCII] = {
4306 .char_width = pm_encoding_ascii_char_width,
4307 .alnum_char = pm_encoding_ascii_alnum_char,
4308 .alpha_char = pm_encoding_ascii_alpha_char,
4309 .isupper_char = pm_encoding_ascii_isupper_char,
4312 [PM_ENCODING_ASCII_8BIT] = {
4313 .name =
"ASCII-8BIT",
4314 .char_width = pm_encoding_single_char_width,
4315 .alnum_char = pm_encoding_ascii_alnum_char,
4316 .alpha_char = pm_encoding_ascii_alpha_char,
4317 .isupper_char = pm_encoding_ascii_isupper_char,
4320 [PM_ENCODING_EUC_JP] = {
4322 .char_width = pm_encoding_euc_jp_char_width,
4323 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4324 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4325 .isupper_char = pm_encoding_euc_jp_isupper_char,
4328 [PM_ENCODING_WINDOWS_31J] = {
4329 .name =
"Windows-31J",
4330 .char_width = pm_encoding_shift_jis_char_width,
4331 .alnum_char = pm_encoding_shift_jis_alnum_char,
4332 .alpha_char = pm_encoding_shift_jis_alpha_char,
4333 .isupper_char = pm_encoding_shift_jis_isupper_char,
4337#ifndef PRISM_ENCODING_EXCLUDE_FULL
4338 [PM_ENCODING_BIG5] = {
4340 .char_width = pm_encoding_big5_char_width,
4341 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4342 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4343 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4346 [PM_ENCODING_BIG5_HKSCS] = {
4347 .name =
"Big5-HKSCS",
4348 .char_width = pm_encoding_big5_char_width,
4349 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4350 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4351 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4354 [PM_ENCODING_BIG5_UAO] = {
4356 .char_width = pm_encoding_big5_char_width,
4357 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4358 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4359 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4362 [PM_ENCODING_CESU_8] = {
4364 .char_width = pm_encoding_cesu_8_char_width,
4365 .alnum_char = pm_encoding_cesu_8_alnum_char,
4366 .alpha_char = pm_encoding_cesu_8_alpha_char,
4367 .isupper_char = pm_encoding_cesu_8_isupper_char,
4370 [PM_ENCODING_CP51932] = {
4372 .char_width = pm_encoding_euc_jp_char_width,
4373 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4374 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4375 .isupper_char = pm_encoding_euc_jp_isupper_char,
4378 [PM_ENCODING_CP850] = {
4380 .char_width = pm_encoding_single_char_width,
4381 .alnum_char = pm_encoding_cp850_alnum_char,
4382 .alpha_char = pm_encoding_cp850_alpha_char,
4383 .isupper_char = pm_encoding_cp850_isupper_char,
4386 [PM_ENCODING_CP852] = {
4388 .char_width = pm_encoding_single_char_width,
4389 .alnum_char = pm_encoding_cp852_alnum_char,
4390 .alpha_char = pm_encoding_cp852_alpha_char,
4391 .isupper_char = pm_encoding_cp852_isupper_char,
4394 [PM_ENCODING_CP855] = {
4396 .char_width = pm_encoding_single_char_width,
4397 .alnum_char = pm_encoding_cp855_alnum_char,
4398 .alpha_char = pm_encoding_cp855_alpha_char,
4399 .isupper_char = pm_encoding_cp855_isupper_char,
4402 [PM_ENCODING_CP949] = {
4404 .char_width = pm_encoding_cp949_char_width,
4405 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4406 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4407 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4410 [PM_ENCODING_CP950] = {
4412 .char_width = pm_encoding_big5_char_width,
4413 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4414 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4415 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4418 [PM_ENCODING_CP951] = {
4420 .char_width = pm_encoding_big5_char_width,
4421 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4422 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4423 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4426 [PM_ENCODING_EMACS_MULE] = {
4427 .name =
"Emacs-Mule",
4428 .char_width = pm_encoding_emacs_mule_char_width,
4429 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4430 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4431 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4434 [PM_ENCODING_EUC_JP_MS] = {
4436 .char_width = pm_encoding_euc_jp_char_width,
4437 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4438 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4439 .isupper_char = pm_encoding_euc_jp_isupper_char,
4442 [PM_ENCODING_EUC_JIS_2004] = {
4443 .name =
"EUC-JIS-2004",
4444 .char_width = pm_encoding_euc_jp_char_width,
4445 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4446 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4447 .isupper_char = pm_encoding_euc_jp_isupper_char,
4450 [PM_ENCODING_EUC_KR] = {
4452 .char_width = pm_encoding_euc_kr_char_width,
4453 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4454 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4455 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4458 [PM_ENCODING_EUC_TW] = {
4460 .char_width = pm_encoding_euc_tw_char_width,
4461 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4462 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4463 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4466 [PM_ENCODING_GB12345] = {
4468 .char_width = pm_encoding_euc_kr_char_width,
4469 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4470 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4471 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4474 [PM_ENCODING_GB18030] = {
4476 .char_width = pm_encoding_gb18030_char_width,
4477 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4478 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4479 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4482 [PM_ENCODING_GB1988] = {
4484 .char_width = pm_encoding_single_char_width,
4485 .alnum_char = pm_encoding_gb1988_alnum_char,
4486 .alpha_char = pm_encoding_gb1988_alpha_char,
4487 .isupper_char = pm_encoding_gb1988_isupper_char,
4490 [PM_ENCODING_GB2312] = {
4492 .char_width = pm_encoding_euc_kr_char_width,
4493 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4494 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4495 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4498 [PM_ENCODING_GBK] = {
4500 .char_width = pm_encoding_gbk_char_width,
4501 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4502 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4503 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4506 [PM_ENCODING_IBM437] = {
4508 .char_width = pm_encoding_single_char_width,
4509 .alnum_char = pm_encoding_ibm437_alnum_char,
4510 .alpha_char = pm_encoding_ibm437_alpha_char,
4511 .isupper_char = pm_encoding_ibm437_isupper_char,
4514 [PM_ENCODING_IBM720] = {
4516 .char_width = pm_encoding_single_char_width,
4517 .alnum_char = pm_encoding_ibm720_alnum_char,
4518 .alpha_char = pm_encoding_ibm720_alpha_char,
4519 .isupper_char = pm_encoding_ibm720_isupper_char,
4522 [PM_ENCODING_IBM737] = {
4524 .char_width = pm_encoding_single_char_width,
4525 .alnum_char = pm_encoding_ibm737_alnum_char,
4526 .alpha_char = pm_encoding_ibm737_alpha_char,
4527 .isupper_char = pm_encoding_ibm737_isupper_char,
4530 [PM_ENCODING_IBM775] = {
4532 .char_width = pm_encoding_single_char_width,
4533 .alnum_char = pm_encoding_ibm775_alnum_char,
4534 .alpha_char = pm_encoding_ibm775_alpha_char,
4535 .isupper_char = pm_encoding_ibm775_isupper_char,
4538 [PM_ENCODING_IBM852] = {
4540 .char_width = pm_encoding_single_char_width,
4541 .alnum_char = pm_encoding_ibm852_alnum_char,
4542 .alpha_char = pm_encoding_ibm852_alpha_char,
4543 .isupper_char = pm_encoding_ibm852_isupper_char,
4546 [PM_ENCODING_IBM855] = {
4548 .char_width = pm_encoding_single_char_width,
4549 .alnum_char = pm_encoding_ibm855_alnum_char,
4550 .alpha_char = pm_encoding_ibm855_alpha_char,
4551 .isupper_char = pm_encoding_ibm855_isupper_char,
4554 [PM_ENCODING_IBM857] = {
4556 .char_width = pm_encoding_single_char_width,
4557 .alnum_char = pm_encoding_ibm857_alnum_char,
4558 .alpha_char = pm_encoding_ibm857_alpha_char,
4559 .isupper_char = pm_encoding_ibm857_isupper_char,
4562 [PM_ENCODING_IBM860] = {
4564 .char_width = pm_encoding_single_char_width,
4565 .alnum_char = pm_encoding_ibm860_alnum_char,
4566 .alpha_char = pm_encoding_ibm860_alpha_char,
4567 .isupper_char = pm_encoding_ibm860_isupper_char,
4570 [PM_ENCODING_IBM861] = {
4572 .char_width = pm_encoding_single_char_width,
4573 .alnum_char = pm_encoding_ibm861_alnum_char,
4574 .alpha_char = pm_encoding_ibm861_alpha_char,
4575 .isupper_char = pm_encoding_ibm861_isupper_char,
4578 [PM_ENCODING_IBM862] = {
4580 .char_width = pm_encoding_single_char_width,
4581 .alnum_char = pm_encoding_ibm862_alnum_char,
4582 .alpha_char = pm_encoding_ibm862_alpha_char,
4583 .isupper_char = pm_encoding_ibm862_isupper_char,
4586 [PM_ENCODING_IBM863] = {
4588 .char_width = pm_encoding_single_char_width,
4589 .alnum_char = pm_encoding_ibm863_alnum_char,
4590 .alpha_char = pm_encoding_ibm863_alpha_char,
4591 .isupper_char = pm_encoding_ibm863_isupper_char,
4594 [PM_ENCODING_IBM864] = {
4596 .char_width = pm_encoding_single_char_width,
4597 .alnum_char = pm_encoding_ibm864_alnum_char,
4598 .alpha_char = pm_encoding_ibm864_alpha_char,
4599 .isupper_char = pm_encoding_ibm864_isupper_char,
4602 [PM_ENCODING_IBM865] = {
4604 .char_width = pm_encoding_single_char_width,
4605 .alnum_char = pm_encoding_ibm865_alnum_char,
4606 .alpha_char = pm_encoding_ibm865_alpha_char,
4607 .isupper_char = pm_encoding_ibm865_isupper_char,
4610 [PM_ENCODING_IBM866] = {
4612 .char_width = pm_encoding_single_char_width,
4613 .alnum_char = pm_encoding_ibm866_alnum_char,
4614 .alpha_char = pm_encoding_ibm866_alpha_char,
4615 .isupper_char = pm_encoding_ibm866_isupper_char,
4618 [PM_ENCODING_IBM869] = {
4620 .char_width = pm_encoding_single_char_width,
4621 .alnum_char = pm_encoding_ibm869_alnum_char,
4622 .alpha_char = pm_encoding_ibm869_alpha_char,
4623 .isupper_char = pm_encoding_ibm869_isupper_char,
4626 [PM_ENCODING_ISO_8859_1] = {
4627 .name =
"ISO-8859-1",
4628 .char_width = pm_encoding_single_char_width,
4629 .alnum_char = pm_encoding_iso_8859_1_alnum_char,
4630 .alpha_char = pm_encoding_iso_8859_1_alpha_char,
4631 .isupper_char = pm_encoding_iso_8859_1_isupper_char,
4634 [PM_ENCODING_ISO_8859_2] = {
4635 .name =
"ISO-8859-2",
4636 .char_width = pm_encoding_single_char_width,
4637 .alnum_char = pm_encoding_iso_8859_2_alnum_char,
4638 .alpha_char = pm_encoding_iso_8859_2_alpha_char,
4639 .isupper_char = pm_encoding_iso_8859_2_isupper_char,
4642 [PM_ENCODING_ISO_8859_3] = {
4643 .name =
"ISO-8859-3",
4644 .char_width = pm_encoding_single_char_width,
4645 .alnum_char = pm_encoding_iso_8859_3_alnum_char,
4646 .alpha_char = pm_encoding_iso_8859_3_alpha_char,
4647 .isupper_char = pm_encoding_iso_8859_3_isupper_char,
4650 [PM_ENCODING_ISO_8859_4] = {
4651 .name =
"ISO-8859-4",
4652 .char_width = pm_encoding_single_char_width,
4653 .alnum_char = pm_encoding_iso_8859_4_alnum_char,
4654 .alpha_char = pm_encoding_iso_8859_4_alpha_char,
4655 .isupper_char = pm_encoding_iso_8859_4_isupper_char,
4658 [PM_ENCODING_ISO_8859_5] = {
4659 .name =
"ISO-8859-5",
4660 .char_width = pm_encoding_single_char_width,
4661 .alnum_char = pm_encoding_iso_8859_5_alnum_char,
4662 .alpha_char = pm_encoding_iso_8859_5_alpha_char,
4663 .isupper_char = pm_encoding_iso_8859_5_isupper_char,
4666 [PM_ENCODING_ISO_8859_6] = {
4667 .name =
"ISO-8859-6",
4668 .char_width = pm_encoding_single_char_width,
4669 .alnum_char = pm_encoding_iso_8859_6_alnum_char,
4670 .alpha_char = pm_encoding_iso_8859_6_alpha_char,
4671 .isupper_char = pm_encoding_iso_8859_6_isupper_char,
4674 [PM_ENCODING_ISO_8859_7] = {
4675 .name =
"ISO-8859-7",
4676 .char_width = pm_encoding_single_char_width,
4677 .alnum_char = pm_encoding_iso_8859_7_alnum_char,
4678 .alpha_char = pm_encoding_iso_8859_7_alpha_char,
4679 .isupper_char = pm_encoding_iso_8859_7_isupper_char,
4682 [PM_ENCODING_ISO_8859_8] = {
4683 .name =
"ISO-8859-8",
4684 .char_width = pm_encoding_single_char_width,
4685 .alnum_char = pm_encoding_iso_8859_8_alnum_char,
4686 .alpha_char = pm_encoding_iso_8859_8_alpha_char,
4687 .isupper_char = pm_encoding_iso_8859_8_isupper_char,
4690 [PM_ENCODING_ISO_8859_9] = {
4691 .name =
"ISO-8859-9",
4692 .char_width = pm_encoding_single_char_width,
4693 .alnum_char = pm_encoding_iso_8859_9_alnum_char,
4694 .alpha_char = pm_encoding_iso_8859_9_alpha_char,
4695 .isupper_char = pm_encoding_iso_8859_9_isupper_char,
4698 [PM_ENCODING_ISO_8859_10] = {
4699 .name =
"ISO-8859-10",
4700 .char_width = pm_encoding_single_char_width,
4701 .alnum_char = pm_encoding_iso_8859_10_alnum_char,
4702 .alpha_char = pm_encoding_iso_8859_10_alpha_char,
4703 .isupper_char = pm_encoding_iso_8859_10_isupper_char,
4706 [PM_ENCODING_ISO_8859_11] = {
4707 .name =
"ISO-8859-11",
4708 .char_width = pm_encoding_single_char_width,
4709 .alnum_char = pm_encoding_iso_8859_11_alnum_char,
4710 .alpha_char = pm_encoding_iso_8859_11_alpha_char,
4711 .isupper_char = pm_encoding_iso_8859_11_isupper_char,
4714 [PM_ENCODING_ISO_8859_13] = {
4715 .name =
"ISO-8859-13",
4716 .char_width = pm_encoding_single_char_width,
4717 .alnum_char = pm_encoding_iso_8859_13_alnum_char,
4718 .alpha_char = pm_encoding_iso_8859_13_alpha_char,
4719 .isupper_char = pm_encoding_iso_8859_13_isupper_char,
4722 [PM_ENCODING_ISO_8859_14] = {
4723 .name =
"ISO-8859-14",
4724 .char_width = pm_encoding_single_char_width,
4725 .alnum_char = pm_encoding_iso_8859_14_alnum_char,
4726 .alpha_char = pm_encoding_iso_8859_14_alpha_char,
4727 .isupper_char = pm_encoding_iso_8859_14_isupper_char,
4730 [PM_ENCODING_ISO_8859_15] = {
4731 .name =
"ISO-8859-15",
4732 .char_width = pm_encoding_single_char_width,
4733 .alnum_char = pm_encoding_iso_8859_15_alnum_char,
4734 .alpha_char = pm_encoding_iso_8859_15_alpha_char,
4735 .isupper_char = pm_encoding_iso_8859_15_isupper_char,
4738 [PM_ENCODING_ISO_8859_16] = {
4739 .name =
"ISO-8859-16",
4740 .char_width = pm_encoding_single_char_width,
4741 .alnum_char = pm_encoding_iso_8859_16_alnum_char,
4742 .alpha_char = pm_encoding_iso_8859_16_alpha_char,
4743 .isupper_char = pm_encoding_iso_8859_16_isupper_char,
4746 [PM_ENCODING_KOI8_R] = {
4748 .char_width = pm_encoding_single_char_width,
4749 .alnum_char = pm_encoding_koi8_r_alnum_char,
4750 .alpha_char = pm_encoding_koi8_r_alpha_char,
4751 .isupper_char = pm_encoding_koi8_r_isupper_char,
4754 [PM_ENCODING_KOI8_U] = {
4756 .char_width = pm_encoding_single_char_width,
4757 .alnum_char = pm_encoding_koi8_u_alnum_char,
4758 .alpha_char = pm_encoding_koi8_u_alpha_char,
4759 .isupper_char = pm_encoding_koi8_u_isupper_char,
4762 [PM_ENCODING_MAC_CENT_EURO] = {
4763 .name =
"macCentEuro",
4764 .char_width = pm_encoding_single_char_width,
4765 .alnum_char = pm_encoding_mac_cent_euro_alnum_char,
4766 .alpha_char = pm_encoding_mac_cent_euro_alpha_char,
4767 .isupper_char = pm_encoding_mac_cent_euro_isupper_char,
4770 [PM_ENCODING_MAC_CROATIAN] = {
4771 .name =
"macCroatian",
4772 .char_width = pm_encoding_single_char_width,
4773 .alnum_char = pm_encoding_mac_croatian_alnum_char,
4774 .alpha_char = pm_encoding_mac_croatian_alpha_char,
4775 .isupper_char = pm_encoding_mac_croatian_isupper_char,
4778 [PM_ENCODING_MAC_CYRILLIC] = {
4779 .name =
"macCyrillic",
4780 .char_width = pm_encoding_single_char_width,
4781 .alnum_char = pm_encoding_mac_cyrillic_alnum_char,
4782 .alpha_char = pm_encoding_mac_cyrillic_alpha_char,
4783 .isupper_char = pm_encoding_mac_cyrillic_isupper_char,
4786 [PM_ENCODING_MAC_GREEK] = {
4788 .char_width = pm_encoding_single_char_width,
4789 .alnum_char = pm_encoding_mac_greek_alnum_char,
4790 .alpha_char = pm_encoding_mac_greek_alpha_char,
4791 .isupper_char = pm_encoding_mac_greek_isupper_char,
4794 [PM_ENCODING_MAC_ICELAND] = {
4795 .name =
"macIceland",
4796 .char_width = pm_encoding_single_char_width,
4797 .alnum_char = pm_encoding_mac_iceland_alnum_char,
4798 .alpha_char = pm_encoding_mac_iceland_alpha_char,
4799 .isupper_char = pm_encoding_mac_iceland_isupper_char,
4802 [PM_ENCODING_MAC_JAPANESE] = {
4803 .name =
"MacJapanese",
4804 .char_width = pm_encoding_shift_jis_char_width,
4805 .alnum_char = pm_encoding_shift_jis_alnum_char,
4806 .alpha_char = pm_encoding_shift_jis_alpha_char,
4807 .isupper_char = pm_encoding_shift_jis_isupper_char,
4810 [PM_ENCODING_MAC_ROMAN] = {
4812 .char_width = pm_encoding_single_char_width,
4813 .alnum_char = pm_encoding_mac_roman_alnum_char,
4814 .alpha_char = pm_encoding_mac_roman_alpha_char,
4815 .isupper_char = pm_encoding_mac_roman_isupper_char,
4818 [PM_ENCODING_MAC_ROMANIA] = {
4819 .name =
"macRomania",
4820 .char_width = pm_encoding_single_char_width,
4821 .alnum_char = pm_encoding_mac_romania_alnum_char,
4822 .alpha_char = pm_encoding_mac_romania_alpha_char,
4823 .isupper_char = pm_encoding_mac_romania_isupper_char,
4826 [PM_ENCODING_MAC_THAI] = {
4828 .char_width = pm_encoding_single_char_width,
4829 .alnum_char = pm_encoding_mac_thai_alnum_char,
4830 .alpha_char = pm_encoding_mac_thai_alpha_char,
4831 .isupper_char = pm_encoding_mac_thai_isupper_char,
4834 [PM_ENCODING_MAC_TURKISH] = {
4835 .name =
"macTurkish",
4836 .char_width = pm_encoding_single_char_width,
4837 .alnum_char = pm_encoding_mac_turkish_alnum_char,
4838 .alpha_char = pm_encoding_mac_turkish_alpha_char,
4839 .isupper_char = pm_encoding_mac_turkish_isupper_char,
4842 [PM_ENCODING_MAC_UKRAINE] = {
4843 .name =
"macUkraine",
4844 .char_width = pm_encoding_single_char_width,
4845 .alnum_char = pm_encoding_mac_ukraine_alnum_char,
4846 .alpha_char = pm_encoding_mac_ukraine_alpha_char,
4847 .isupper_char = pm_encoding_mac_ukraine_isupper_char,
4850 [PM_ENCODING_SHIFT_JIS] = {
4851 .name =
"Shift_JIS",
4852 .char_width = pm_encoding_shift_jis_char_width,
4853 .alnum_char = pm_encoding_shift_jis_alnum_char,
4854 .alpha_char = pm_encoding_shift_jis_alpha_char,
4855 .isupper_char = pm_encoding_shift_jis_isupper_char,
4858 [PM_ENCODING_SJIS_DOCOMO] = {
4859 .name =
"SJIS-DoCoMo",
4860 .char_width = pm_encoding_shift_jis_char_width,
4861 .alnum_char = pm_encoding_shift_jis_alnum_char,
4862 .alpha_char = pm_encoding_shift_jis_alpha_char,
4863 .isupper_char = pm_encoding_shift_jis_isupper_char,
4866 [PM_ENCODING_SJIS_KDDI] = {
4867 .name =
"SJIS-KDDI",
4868 .char_width = pm_encoding_shift_jis_char_width,
4869 .alnum_char = pm_encoding_shift_jis_alnum_char,
4870 .alpha_char = pm_encoding_shift_jis_alpha_char,
4871 .isupper_char = pm_encoding_shift_jis_isupper_char,
4874 [PM_ENCODING_SJIS_SOFTBANK] = {
4875 .name =
"SJIS-SoftBank",
4876 .char_width = pm_encoding_shift_jis_char_width,
4877 .alnum_char = pm_encoding_shift_jis_alnum_char,
4878 .alpha_char = pm_encoding_shift_jis_alpha_char,
4879 .isupper_char = pm_encoding_shift_jis_isupper_char,
4882 [PM_ENCODING_STATELESS_ISO_2022_JP] = {
4883 .name =
"stateless-ISO-2022-JP",
4884 .char_width = pm_encoding_emacs_mule_char_width,
4885 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4886 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4887 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4890 [PM_ENCODING_STATELESS_ISO_2022_JP_KDDI] = {
4891 .name =
"stateless-ISO-2022-JP-KDDI",
4892 .char_width = pm_encoding_emacs_mule_char_width,
4893 .alnum_char = pm_encoding_ascii_alnum_char_7bit,
4894 .alpha_char = pm_encoding_ascii_alpha_char_7bit,
4895 .isupper_char = pm_encoding_ascii_isupper_char_7bit,
4898 [PM_ENCODING_TIS_620] = {
4900 .char_width = pm_encoding_single_char_width,
4901 .alnum_char = pm_encoding_tis_620_alnum_char,
4902 .alpha_char = pm_encoding_tis_620_alpha_char,
4903 .isupper_char = pm_encoding_tis_620_isupper_char,
4906 [PM_ENCODING_UTF8_MAC] = {
4908 .char_width = pm_encoding_utf_8_char_width,
4909 .alnum_char = pm_encoding_utf_8_alnum_char,
4910 .alpha_char = pm_encoding_utf_8_alpha_char,
4911 .isupper_char = pm_encoding_utf_8_isupper_char,
4914 [PM_ENCODING_UTF8_DOCOMO] = {
4915 .name =
"UTF8-DoCoMo",
4916 .char_width = pm_encoding_utf_8_char_width,
4917 .alnum_char = pm_encoding_utf_8_alnum_char,
4918 .alpha_char = pm_encoding_utf_8_alpha_char,
4919 .isupper_char = pm_encoding_utf_8_isupper_char,
4922 [PM_ENCODING_UTF8_KDDI] = {
4923 .name =
"UTF8-KDDI",
4924 .char_width = pm_encoding_utf_8_char_width,
4925 .alnum_char = pm_encoding_utf_8_alnum_char,
4926 .alpha_char = pm_encoding_utf_8_alpha_char,
4927 .isupper_char = pm_encoding_utf_8_isupper_char,
4930 [PM_ENCODING_UTF8_SOFTBANK] = {
4931 .name =
"UTF8-SoftBank",
4932 .char_width = pm_encoding_utf_8_char_width,
4933 .alnum_char = pm_encoding_utf_8_alnum_char,
4934 .alpha_char = pm_encoding_utf_8_alpha_char,
4935 .isupper_char = pm_encoding_utf_8_isupper_char,
4938 [PM_ENCODING_WINDOWS_1250] = {
4939 .name =
"Windows-1250",
4940 .char_width = pm_encoding_single_char_width,
4941 .alnum_char = pm_encoding_windows_1250_alnum_char,
4942 .alpha_char = pm_encoding_windows_1250_alpha_char,
4943 .isupper_char = pm_encoding_windows_1250_isupper_char,
4946 [PM_ENCODING_WINDOWS_1251] = {
4947 .name =
"Windows-1251",
4948 .char_width = pm_encoding_single_char_width,
4949 .alnum_char = pm_encoding_windows_1251_alnum_char,
4950 .alpha_char = pm_encoding_windows_1251_alpha_char,
4951 .isupper_char = pm_encoding_windows_1251_isupper_char,
4954 [PM_ENCODING_WINDOWS_1252] = {
4955 .name =
"Windows-1252",
4956 .char_width = pm_encoding_single_char_width,
4957 .alnum_char = pm_encoding_windows_1252_alnum_char,
4958 .alpha_char = pm_encoding_windows_1252_alpha_char,
4959 .isupper_char = pm_encoding_windows_1252_isupper_char,
4962 [PM_ENCODING_WINDOWS_1253] = {
4963 .name =
"Windows-1253",
4964 .char_width = pm_encoding_single_char_width,
4965 .alnum_char = pm_encoding_windows_1253_alnum_char,
4966 .alpha_char = pm_encoding_windows_1253_alpha_char,
4967 .isupper_char = pm_encoding_windows_1253_isupper_char,
4970 [PM_ENCODING_WINDOWS_1254] = {
4971 .name =
"Windows-1254",
4972 .char_width = pm_encoding_single_char_width,
4973 .alnum_char = pm_encoding_windows_1254_alnum_char,
4974 .alpha_char = pm_encoding_windows_1254_alpha_char,
4975 .isupper_char = pm_encoding_windows_1254_isupper_char,
4978 [PM_ENCODING_WINDOWS_1255] = {
4979 .name =
"Windows-1255",
4980 .char_width = pm_encoding_single_char_width,
4981 .alnum_char = pm_encoding_windows_1255_alnum_char,
4982 .alpha_char = pm_encoding_windows_1255_alpha_char,
4983 .isupper_char = pm_encoding_windows_1255_isupper_char,
4986 [PM_ENCODING_WINDOWS_1256] = {
4987 .name =
"Windows-1256",
4988 .char_width = pm_encoding_single_char_width,
4989 .alnum_char = pm_encoding_windows_1256_alnum_char,
4990 .alpha_char = pm_encoding_windows_1256_alpha_char,
4991 .isupper_char = pm_encoding_windows_1256_isupper_char,
4994 [PM_ENCODING_WINDOWS_1257] = {
4995 .name =
"Windows-1257",
4996 .char_width = pm_encoding_single_char_width,
4997 .alnum_char = pm_encoding_windows_1257_alnum_char,
4998 .alpha_char = pm_encoding_windows_1257_alpha_char,
4999 .isupper_char = pm_encoding_windows_1257_isupper_char,
5002 [PM_ENCODING_WINDOWS_1258] = {
5003 .name =
"Windows-1258",
5004 .char_width = pm_encoding_single_char_width,
5005 .alnum_char = pm_encoding_windows_1258_alnum_char,
5006 .alpha_char = pm_encoding_windows_1258_alpha_char,
5007 .isupper_char = pm_encoding_windows_1258_isupper_char,
5010 [PM_ENCODING_WINDOWS_874] = {
5011 .name =
"Windows-874",
5012 .char_width = pm_encoding_single_char_width,
5013 .alnum_char = pm_encoding_windows_874_alnum_char,
5014 .alpha_char = pm_encoding_windows_874_alpha_char,
5015 .isupper_char = pm_encoding_windows_874_isupper_char,
5026pm_encoding_find(
const uint8_t *start,
const uint8_t *end) {
5027 size_t width = (size_t) (end - start);
5032 if ((start + 5 <= end) && (pm_strncasecmp(start, (
const uint8_t *)
"UTF-8", 5) == 0)) {
5033#ifndef PRISM_ENCODING_EXCLUDE_FULL
5036 if (width == 9 && (pm_strncasecmp(start + 5, (
const uint8_t *)
"-HFS", 4) == 0)) {
5037 return &pm_encodings[PM_ENCODING_UTF8_MAC];
5047#define ENCODING1(name, encoding) if (width == sizeof(name) - 1 && pm_strncasecmp(start, (const uint8_t *) name, width) == 0) return &pm_encodings[encoding];
5048#define ENCODING2(name1, name2, encoding) ENCODING1(name1, encoding) ENCODING1(name2, encoding)
5053 ENCODING1(
"ASCII", PM_ENCODING_US_ASCII);
5054 ENCODING1(
"ASCII-8BIT", PM_ENCODING_ASCII_8BIT);
5055 ENCODING1(
"ANSI_X3.4-1968", PM_ENCODING_US_ASCII);
5058 ENCODING1(
"BINARY", PM_ENCODING_ASCII_8BIT);
5059#ifndef PRISM_ENCODING_EXCLUDE_FULL
5060 ENCODING1(
"Big5", PM_ENCODING_BIG5);
5061 ENCODING2(
"Big5-HKSCS",
"Big5-HKSCS:2008", PM_ENCODING_BIG5_HKSCS);
5062 ENCODING1(
"Big5-UAO", PM_ENCODING_BIG5_UAO);
5066 ENCODING1(
"CP65001", PM_ENCODING_UTF_8);
5067 ENCODING2(
"CP932",
"csWindows31J", PM_ENCODING_WINDOWS_31J);
5068#ifndef PRISM_ENCODING_EXCLUDE_FULL
5069 ENCODING1(
"CESU-8", PM_ENCODING_CESU_8);
5070 ENCODING1(
"CP437", PM_ENCODING_IBM437);
5071 ENCODING1(
"CP720", PM_ENCODING_IBM720);
5072 ENCODING1(
"CP737", PM_ENCODING_IBM737);
5073 ENCODING1(
"CP775", PM_ENCODING_IBM775);
5074 ENCODING1(
"CP850", PM_ENCODING_CP850);
5075 ENCODING1(
"CP852", PM_ENCODING_CP852);
5076 ENCODING1(
"CP855", PM_ENCODING_CP855);
5077 ENCODING1(
"CP857", PM_ENCODING_IBM857);
5078 ENCODING1(
"CP860", PM_ENCODING_IBM860);
5079 ENCODING1(
"CP861", PM_ENCODING_IBM861);
5080 ENCODING1(
"CP862", PM_ENCODING_IBM862);
5081 ENCODING1(
"CP864", PM_ENCODING_IBM864);
5082 ENCODING1(
"CP865", PM_ENCODING_IBM865);
5083 ENCODING1(
"CP866", PM_ENCODING_IBM866);
5084 ENCODING1(
"CP869", PM_ENCODING_IBM869);
5085 ENCODING1(
"CP874", PM_ENCODING_WINDOWS_874);
5086 ENCODING1(
"CP878", PM_ENCODING_KOI8_R);
5087 ENCODING1(
"CP863", PM_ENCODING_IBM863);
5088 ENCODING1(
"CP936", PM_ENCODING_GBK);
5089 ENCODING1(
"CP949", PM_ENCODING_CP949);
5090 ENCODING1(
"CP950", PM_ENCODING_CP950);
5091 ENCODING1(
"CP951", PM_ENCODING_CP951);
5092 ENCODING1(
"CP1250", PM_ENCODING_WINDOWS_1250);
5093 ENCODING1(
"CP1251", PM_ENCODING_WINDOWS_1251);
5094 ENCODING1(
"CP1252", PM_ENCODING_WINDOWS_1252);
5095 ENCODING1(
"CP1253", PM_ENCODING_WINDOWS_1253);
5096 ENCODING1(
"CP1254", PM_ENCODING_WINDOWS_1254);
5097 ENCODING1(
"CP1255", PM_ENCODING_WINDOWS_1255);
5098 ENCODING1(
"CP1256", PM_ENCODING_WINDOWS_1256);
5099 ENCODING1(
"CP1257", PM_ENCODING_WINDOWS_1257);
5100 ENCODING1(
"CP1258", PM_ENCODING_WINDOWS_1258);
5101 ENCODING1(
"CP51932", PM_ENCODING_CP51932);
5105 ENCODING2(
"EUC-JP",
"eucJP", PM_ENCODING_EUC_JP);
5106#ifndef PRISM_ENCODING_EXCLUDE_FULL
5107 ENCODING2(
"eucJP-ms",
"euc-jp-ms", PM_ENCODING_EUC_JP_MS);
5108 ENCODING2(
"EUC-JIS-2004",
"EUC-JISX0213", PM_ENCODING_EUC_JIS_2004);
5109 ENCODING2(
"EUC-KR",
"eucKR", PM_ENCODING_EUC_KR);
5110 ENCODING2(
"EUC-CN",
"eucCN", PM_ENCODING_GB2312);
5111 ENCODING2(
"EUC-TW",
"eucTW", PM_ENCODING_EUC_TW);
5112 ENCODING1(
"Emacs-Mule", PM_ENCODING_EMACS_MULE);
5116#ifndef PRISM_ENCODING_EXCLUDE_FULL
5117 ENCODING1(
"GBK", PM_ENCODING_GBK);
5118 ENCODING1(
"GB12345", PM_ENCODING_GB12345);
5119 ENCODING1(
"GB18030", PM_ENCODING_GB18030);
5120 ENCODING1(
"GB1988", PM_ENCODING_GB1988);
5121 ENCODING1(
"GB2312", PM_ENCODING_GB2312);
5125#ifndef PRISM_ENCODING_EXCLUDE_FULL
5126 ENCODING1(
"IBM437", PM_ENCODING_IBM437);
5127 ENCODING1(
"IBM720", PM_ENCODING_IBM720);
5128 ENCODING1(
"IBM737", PM_ENCODING_IBM737);
5129 ENCODING1(
"IBM775", PM_ENCODING_IBM775);
5130 ENCODING1(
"IBM850", PM_ENCODING_CP850);
5131 ENCODING1(
"IBM852", PM_ENCODING_IBM852);
5132 ENCODING1(
"IBM855", PM_ENCODING_IBM855);
5133 ENCODING1(
"IBM857", PM_ENCODING_IBM857);
5134 ENCODING1(
"IBM860", PM_ENCODING_IBM860);
5135 ENCODING1(
"IBM861", PM_ENCODING_IBM861);
5136 ENCODING1(
"IBM862", PM_ENCODING_IBM862);
5137 ENCODING1(
"IBM863", PM_ENCODING_IBM863);
5138 ENCODING1(
"IBM864", PM_ENCODING_IBM864);
5139 ENCODING1(
"IBM865", PM_ENCODING_IBM865);
5140 ENCODING1(
"IBM866", PM_ENCODING_IBM866);
5141 ENCODING1(
"IBM869", PM_ENCODING_IBM869);
5142 ENCODING2(
"ISO-8859-1",
"ISO8859-1", PM_ENCODING_ISO_8859_1);
5143 ENCODING2(
"ISO-8859-2",
"ISO8859-2", PM_ENCODING_ISO_8859_2);
5144 ENCODING2(
"ISO-8859-3",
"ISO8859-3", PM_ENCODING_ISO_8859_3);
5145 ENCODING2(
"ISO-8859-4",
"ISO8859-4", PM_ENCODING_ISO_8859_4);
5146 ENCODING2(
"ISO-8859-5",
"ISO8859-5", PM_ENCODING_ISO_8859_5);
5147 ENCODING2(
"ISO-8859-6",
"ISO8859-6", PM_ENCODING_ISO_8859_6);
5148 ENCODING2(
"ISO-8859-7",
"ISO8859-7", PM_ENCODING_ISO_8859_7);
5149 ENCODING2(
"ISO-8859-8",
"ISO8859-8", PM_ENCODING_ISO_8859_8);
5150 ENCODING2(
"ISO-8859-9",
"ISO8859-9", PM_ENCODING_ISO_8859_9);
5151 ENCODING2(
"ISO-8859-10",
"ISO8859-10", PM_ENCODING_ISO_8859_10);
5152 ENCODING2(
"ISO-8859-11",
"ISO8859-11", PM_ENCODING_ISO_8859_11);
5153 ENCODING2(
"ISO-8859-13",
"ISO8859-13", PM_ENCODING_ISO_8859_13);
5154 ENCODING2(
"ISO-8859-14",
"ISO8859-14", PM_ENCODING_ISO_8859_14);
5155 ENCODING2(
"ISO-8859-15",
"ISO8859-15", PM_ENCODING_ISO_8859_15);
5156 ENCODING2(
"ISO-8859-16",
"ISO8859-16", PM_ENCODING_ISO_8859_16);
5160#ifndef PRISM_ENCODING_EXCLUDE_FULL
5161 ENCODING1(
"KOI8-R", PM_ENCODING_KOI8_R);
5162 ENCODING1(
"KOI8-U", PM_ENCODING_KOI8_U);
5166#ifndef PRISM_ENCODING_EXCLUDE_FULL
5167 ENCODING1(
"macCentEuro", PM_ENCODING_MAC_CENT_EURO);
5168 ENCODING1(
"macCroatian", PM_ENCODING_MAC_CROATIAN);
5169 ENCODING1(
"macCyrillic", PM_ENCODING_MAC_CYRILLIC);
5170 ENCODING1(
"macGreek", PM_ENCODING_MAC_GREEK);
5171 ENCODING1(
"macIceland", PM_ENCODING_MAC_ICELAND);
5172 ENCODING1(
"MacJapanese", PM_ENCODING_MAC_JAPANESE);
5173 ENCODING1(
"MacJapan", PM_ENCODING_MAC_JAPANESE);
5174 ENCODING1(
"macRoman", PM_ENCODING_MAC_ROMAN);
5175 ENCODING1(
"macRomania", PM_ENCODING_MAC_ROMANIA);
5176 ENCODING1(
"macThai", PM_ENCODING_MAC_THAI);
5177 ENCODING1(
"macTurkish", PM_ENCODING_MAC_TURKISH);
5178 ENCODING1(
"macUkraine", PM_ENCODING_MAC_UKRAINE);
5182 ENCODING1(
"PCK", PM_ENCODING_WINDOWS_31J);
5185 ENCODING1(
"SJIS", PM_ENCODING_WINDOWS_31J);
5186#ifndef PRISM_ENCODING_EXCLUDE_FULL
5187 ENCODING1(
"Shift_JIS", PM_ENCODING_SHIFT_JIS);
5188 ENCODING1(
"SJIS-DoCoMo", PM_ENCODING_SJIS_DOCOMO);
5189 ENCODING1(
"SJIS-KDDI", PM_ENCODING_SJIS_KDDI);
5190 ENCODING1(
"SJIS-SoftBank", PM_ENCODING_SJIS_SOFTBANK);
5191 ENCODING1(
"stateless-ISO-2022-JP", PM_ENCODING_STATELESS_ISO_2022_JP);
5192 ENCODING1(
"stateless-ISO-2022-JP-KDDI", PM_ENCODING_STATELESS_ISO_2022_JP_KDDI);
5196#ifndef PRISM_ENCODING_EXCLUDE_FULL
5197 ENCODING1(
"TIS-620", PM_ENCODING_TIS_620);
5201 ENCODING1(
"US-ASCII", PM_ENCODING_US_ASCII);
5202#ifndef PRISM_ENCODING_EXCLUDE_FULL
5203 ENCODING2(
"UTF8-MAC",
"UTF-8-HFS", PM_ENCODING_UTF8_MAC);
5204 ENCODING1(
"UTF8-DoCoMo", PM_ENCODING_UTF8_DOCOMO);
5205 ENCODING1(
"UTF8-KDDI", PM_ENCODING_UTF8_KDDI);
5206 ENCODING1(
"UTF8-SoftBank", PM_ENCODING_UTF8_SOFTBANK);
5210 ENCODING1(
"Windows-31J", PM_ENCODING_WINDOWS_31J);
5211#ifndef PRISM_ENCODING_EXCLUDE_FULL
5212 ENCODING1(
"Windows-874", PM_ENCODING_WINDOWS_874);
5213 ENCODING1(
"Windows-1250", PM_ENCODING_WINDOWS_1250);
5214 ENCODING1(
"Windows-1251", PM_ENCODING_WINDOWS_1251);
5215 ENCODING1(
"Windows-1252", PM_ENCODING_WINDOWS_1252);
5216 ENCODING1(
"Windows-1253", PM_ENCODING_WINDOWS_1253);
5217 ENCODING1(
"Windows-1254", PM_ENCODING_WINDOWS_1254);
5218 ENCODING1(
"Windows-1255", PM_ENCODING_WINDOWS_1255);
5219 ENCODING1(
"Windows-1256", PM_ENCODING_WINDOWS_1256);
5220 ENCODING1(
"Windows-1257", PM_ENCODING_WINDOWS_1257);
5221 ENCODING1(
"Windows-1258", PM_ENCODING_WINDOWS_1258);
5225 ENCODING1(
"646", PM_ENCODING_US_ASCII);
VALUE type(ANYARGS)
ANYARGS-ed function type.
#define PRISM_ATTRIBUTE_UNUSED
GCC will warn if you specify a function or parameter that is unused at runtime.
The encoding interface and implementations used by the parser.
#define PRISM_ENCODING_UPPERCASE_BIT
All of the lookup tables use the third bit of each embedded byte to indicate whether the codepoint is...
#define PM_ENCODING_UTF_8_ENTRY
This is the default UTF-8 encoding.
#define PRISM_ENCODING_ALPHABETIC_BIT
All of the lookup tables use the first bit of each embedded byte to indicate whether the codepoint is...
#define PRISM_ENCODING_ALPHANUMERIC_BIT
All of the lookup tables use the second bit of each embedded byte to indicate whether the codepoint i...
This struct defines the functions necessary to implement the encoding interface so we can determine h...
const char * name
The name of the encoding.