From 16001b547a8f27aceb1691efb3e07ab9c3af0030 Mon Sep 17 00:00:00 2001 From: Luo Jinghua Date: Thu, 7 Jan 2010 16:27:41 +0800 Subject: Initial commit of uniconv --- cp874-table.c | 494 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 494 insertions(+) create mode 100644 cp874-table.c (limited to 'cp874-table.c') diff --git a/cp874-table.c b/cp874-table.c new file mode 100644 index 0000000..d7e6f6b --- /dev/null +++ b/cp874-table.c @@ -0,0 +1,494 @@ +#include + +static const int cp874_decoding_table[256] = { + 0x0, + 0x1, + 0x2, + 0x3, + 0x4, + 0x5, + 0x6, + 0x7, + 0x8, + 0x9, + 0xa, + 0xb, + 0xc, + 0xd, + 0xe, + 0xf, + 0x10, + 0x11, + 0x12, + 0x13, + 0x14, + 0x15, + 0x16, + 0x17, + 0x18, + 0x19, + 0x1a, + 0x1b, + 0x1c, + 0x1d, + 0x1e, + 0x1f, + 0x20, + 0x21, + 0x22, + 0x23, + 0x24, + 0x25, + 0x26, + 0x27, + 0x28, + 0x29, + 0x2a, + 0x2b, + 0x2c, + 0x2d, + 0x2e, + 0x2f, + 0x30, + 0x31, + 0x32, + 0x33, + 0x34, + 0x35, + 0x36, + 0x37, + 0x38, + 0x39, + 0x3a, + 0x3b, + 0x3c, + 0x3d, + 0x3e, + 0x3f, + 0x40, + 0x41, + 0x42, + 0x43, + 0x44, + 0x45, + 0x46, + 0x47, + 0x48, + 0x49, + 0x4a, + 0x4b, + 0x4c, + 0x4d, + 0x4e, + 0x4f, + 0x50, + 0x51, + 0x52, + 0x53, + 0x54, + 0x55, + 0x56, + 0x57, + 0x58, + 0x59, + 0x5a, + 0x5b, + 0x5c, + 0x5d, + 0x5e, + 0x5f, + 0x60, + 0x61, + 0x62, + 0x63, + 0x64, + 0x65, + 0x66, + 0x67, + 0x68, + 0x69, + 0x6a, + 0x6b, + 0x6c, + 0x6d, + 0x6e, + 0x6f, + 0x70, + 0x71, + 0x72, + 0x73, + 0x74, + 0x75, + 0x76, + 0x77, + 0x78, + 0x79, + 0x7a, + 0x7b, + 0x7c, + 0x7d, + 0x7e, + 0x7f, + 0x20ac, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0x2026, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0x2018, + 0x2019, + 0x201c, + 0x201d, + 0x2022, + 0x2013, + 0x2014, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xa0, + 0xe01, + 0xe02, + 0xe03, + 0xe04, + 0xe05, + 0xe06, + 0xe07, + 0xe08, + 0xe09, + 0xe0a, + 0xe0b, + 0xe0c, + 0xe0d, + 0xe0e, + 0xe0f, + 0xe10, + 0xe11, + 0xe12, + 0xe13, + 0xe14, + 0xe15, + 0xe16, + 0xe17, + 0xe18, + 0xe19, + 0xe1a, + 0xe1b, + 0xe1c, + 0xe1d, + 0xe1e, + 0xe1f, + 0xe20, + 0xe21, + 0xe22, + 0xe23, + 0xe24, + 0xe25, + 0xe26, + 0xe27, + 0xe28, + 0xe29, + 0xe2a, + 0xe2b, + 0xe2c, + 0xe2d, + 0xe2e, + 0xe2f, + 0xe30, + 0xe31, + 0xe32, + 0xe33, + 0xe34, + 0xe35, + 0xe36, + 0xe37, + 0xe38, + 0xe39, + 0xe3a, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, + 0xe3f, + 0xe40, + 0xe41, + 0xe42, + 0xe43, + 0xe44, + 0xe45, + 0xe46, + 0xe47, + 0xe48, + 0xe49, + 0xe4a, + 0xe4b, + 0xe4c, + 0xe4d, + 0xe4e, + 0xe4f, + 0xe50, + 0xe51, + 0xe52, + 0xe53, + 0xe54, + 0xe55, + 0xe56, + 0xe57, + 0xe58, + 0xe59, + 0xe5a, + 0xe5b, + 0xfffe, + 0xfffe, + 0xfffe, + 0xfffe, +}; + +static const struct encoding_map cp874_encoding_map[] = { + { 0x0, 0x0 }, + { 0x1, 0x1 }, + { 0x2, 0x2 }, + { 0x3, 0x3 }, + { 0x4, 0x4 }, + { 0x5, 0x5 }, + { 0x6, 0x6 }, + { 0x7, 0x7 }, + { 0x8, 0x8 }, + { 0x9, 0x9 }, + { 0xa, 0xa }, + { 0xb, 0xb }, + { 0xc, 0xc }, + { 0xd, 0xd }, + { 0xe, 0xe }, + { 0xf, 0xf }, + { 0x10, 0x10 }, + { 0x11, 0x11 }, + { 0x12, 0x12 }, + { 0x13, 0x13 }, + { 0x14, 0x14 }, + { 0x15, 0x15 }, + { 0x16, 0x16 }, + { 0x17, 0x17 }, + { 0x18, 0x18 }, + { 0x19, 0x19 }, + { 0x1a, 0x1a }, + { 0x1b, 0x1b }, + { 0x1c, 0x1c }, + { 0x1d, 0x1d }, + { 0x1e, 0x1e }, + { 0x1f, 0x1f }, + { 0x20, 0x20 }, + { 0x21, 0x21 }, + { 0x22, 0x22 }, + { 0x23, 0x23 }, + { 0x24, 0x24 }, + { 0x25, 0x25 }, + { 0x26, 0x26 }, + { 0x27, 0x27 }, + { 0x28, 0x28 }, + { 0x29, 0x29 }, + { 0x2a, 0x2a }, + { 0x2b, 0x2b }, + { 0x2c, 0x2c }, + { 0x2d, 0x2d }, + { 0x2e, 0x2e }, + { 0x2f, 0x2f }, + { 0x30, 0x30 }, + { 0x31, 0x31 }, + { 0x32, 0x32 }, + { 0x33, 0x33 }, + { 0x34, 0x34 }, + { 0x35, 0x35 }, + { 0x36, 0x36 }, + { 0x37, 0x37 }, + { 0x38, 0x38 }, + { 0x39, 0x39 }, + { 0x3a, 0x3a }, + { 0x3b, 0x3b }, + { 0x3c, 0x3c }, + { 0x3d, 0x3d }, + { 0x3e, 0x3e }, + { 0x3f, 0x3f }, + { 0x40, 0x40 }, + { 0x41, 0x41 }, + { 0x42, 0x42 }, + { 0x43, 0x43 }, + { 0x44, 0x44 }, + { 0x45, 0x45 }, + { 0x46, 0x46 }, + { 0x47, 0x47 }, + { 0x48, 0x48 }, + { 0x49, 0x49 }, + { 0x4a, 0x4a }, + { 0x4b, 0x4b }, + { 0x4c, 0x4c }, + { 0x4d, 0x4d }, + { 0x4e, 0x4e }, + { 0x4f, 0x4f }, + { 0x50, 0x50 }, + { 0x51, 0x51 }, + { 0x52, 0x52 }, + { 0x53, 0x53 }, + { 0x54, 0x54 }, + { 0x55, 0x55 }, + { 0x56, 0x56 }, + { 0x57, 0x57 }, + { 0x58, 0x58 }, + { 0x59, 0x59 }, + { 0x5a, 0x5a }, + { 0x5b, 0x5b }, + { 0x5c, 0x5c }, + { 0x5d, 0x5d }, + { 0x5e, 0x5e }, + { 0x5f, 0x5f }, + { 0x60, 0x60 }, + { 0x61, 0x61 }, + { 0x62, 0x62 }, + { 0x63, 0x63 }, + { 0x64, 0x64 }, + { 0x65, 0x65 }, + { 0x66, 0x66 }, + { 0x67, 0x67 }, + { 0x68, 0x68 }, + { 0x69, 0x69 }, + { 0x6a, 0x6a }, + { 0x6b, 0x6b }, + { 0x6c, 0x6c }, + { 0x6d, 0x6d }, + { 0x6e, 0x6e }, + { 0x6f, 0x6f }, + { 0x70, 0x70 }, + { 0x71, 0x71 }, + { 0x72, 0x72 }, + { 0x73, 0x73 }, + { 0x74, 0x74 }, + { 0x75, 0x75 }, + { 0x76, 0x76 }, + { 0x77, 0x77 }, + { 0x78, 0x78 }, + { 0x79, 0x79 }, + { 0x7a, 0x7a }, + { 0x7b, 0x7b }, + { 0x7c, 0x7c }, + { 0x7d, 0x7d }, + { 0x7e, 0x7e }, + { 0x7f, 0x7f }, + { 0xa0, 0xa0 }, + { 0xe01, 0xa1 }, + { 0xe02, 0xa2 }, + { 0xe03, 0xa3 }, + { 0xe04, 0xa4 }, + { 0xe05, 0xa5 }, + { 0xe06, 0xa6 }, + { 0xe07, 0xa7 }, + { 0xe08, 0xa8 }, + { 0xe09, 0xa9 }, + { 0xe0a, 0xaa }, + { 0xe0b, 0xab }, + { 0xe0c, 0xac }, + { 0xe0d, 0xad }, + { 0xe0e, 0xae }, + { 0xe0f, 0xaf }, + { 0xe10, 0xb0 }, + { 0xe11, 0xb1 }, + { 0xe12, 0xb2 }, + { 0xe13, 0xb3 }, + { 0xe14, 0xb4 }, + { 0xe15, 0xb5 }, + { 0xe16, 0xb6 }, + { 0xe17, 0xb7 }, + { 0xe18, 0xb8 }, + { 0xe19, 0xb9 }, + { 0xe1a, 0xba }, + { 0xe1b, 0xbb }, + { 0xe1c, 0xbc }, + { 0xe1d, 0xbd }, + { 0xe1e, 0xbe }, + { 0xe1f, 0xbf }, + { 0xe20, 0xc0 }, + { 0xe21, 0xc1 }, + { 0xe22, 0xc2 }, + { 0xe23, 0xc3 }, + { 0xe24, 0xc4 }, + { 0xe25, 0xc5 }, + { 0xe26, 0xc6 }, + { 0xe27, 0xc7 }, + { 0xe28, 0xc8 }, + { 0xe29, 0xc9 }, + { 0xe2a, 0xca }, + { 0xe2b, 0xcb }, + { 0xe2c, 0xcc }, + { 0xe2d, 0xcd }, + { 0xe2e, 0xce }, + { 0xe2f, 0xcf }, + { 0xe30, 0xd0 }, + { 0xe31, 0xd1 }, + { 0xe32, 0xd2 }, + { 0xe33, 0xd3 }, + { 0xe34, 0xd4 }, + { 0xe35, 0xd5 }, + { 0xe36, 0xd6 }, + { 0xe37, 0xd7 }, + { 0xe38, 0xd8 }, + { 0xe39, 0xd9 }, + { 0xe3a, 0xda }, + { 0xe3f, 0xdf }, + { 0xe40, 0xe0 }, + { 0xe41, 0xe1 }, + { 0xe42, 0xe2 }, + { 0xe43, 0xe3 }, + { 0xe44, 0xe4 }, + { 0xe45, 0xe5 }, + { 0xe46, 0xe6 }, + { 0xe47, 0xe7 }, + { 0xe48, 0xe8 }, + { 0xe49, 0xe9 }, + { 0xe4a, 0xea }, + { 0xe4b, 0xeb }, + { 0xe4c, 0xec }, + { 0xe4d, 0xed }, + { 0xe4e, 0xee }, + { 0xe4f, 0xef }, + { 0xe50, 0xf0 }, + { 0xe51, 0xf1 }, + { 0xe52, 0xf2 }, + { 0xe53, 0xf3 }, + { 0xe54, 0xf4 }, + { 0xe55, 0xf5 }, + { 0xe56, 0xf6 }, + { 0xe57, 0xf7 }, + { 0xe58, 0xf8 }, + { 0xe59, 0xf9 }, + { 0xe5a, 0xfa }, + { 0xe5b, 0xfb }, + { 0x2013, 0x96 }, + { 0x2014, 0x97 }, + { 0x2018, 0x91 }, + { 0x2019, 0x92 }, + { 0x201c, 0x93 }, + { 0x201d, 0x94 }, + { 0x2022, 0x95 }, + { 0x2026, 0x85 }, + { 0x20ac, 0x80 }, + { 0xfffe, 0xff }, +}; + +SingleByteCodecState __uniconv_cp874_state = { + "cp874", cp874_decoding_table, 256, cp874_encoding_map, 226 +}; + -- cgit v1.2.3