From a28fdecda7bfd3f5a5013fc9067c676d4c0ffb35 Mon Sep 17 00:00:00 2001 From: duerst Date: Tue, 9 Dec 2008 09:39:25 +0000 Subject: * enc/trans/single_byte.trans, cp850-tbl.rb, cp852-tbl.rb, cp855-tbl.rb, koi8-r-tbl.rb, koi8-u-tbl.rb, tis-620-tbl.rb: new single-byte transcodings (from Yoshihiro Kambayashi) * test/ruby/test_transcode.rb: added tests for the above (from Yoshihiro Kambayashi), small cosmetic fixes git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- enc/trans/cp850-tbl.rb | 130 ++++++++++++++++++++++++++++++++++++++++++++ enc/trans/cp852-tbl.rb | 130 ++++++++++++++++++++++++++++++++++++++++++++ enc/trans/cp855-tbl.rb | 130 ++++++++++++++++++++++++++++++++++++++++++++ enc/trans/koi8-r-tbl.rb | 130 ++++++++++++++++++++++++++++++++++++++++++++ enc/trans/koi8-u-tbl.rb | 130 ++++++++++++++++++++++++++++++++++++++++++++ enc/trans/single_byte.trans | 6 ++ enc/trans/tis-620-tbl.rb | 89 ++++++++++++++++++++++++++++++ 7 files changed, 745 insertions(+) create mode 100644 enc/trans/cp850-tbl.rb create mode 100644 enc/trans/cp852-tbl.rb create mode 100644 enc/trans/cp855-tbl.rb create mode 100644 enc/trans/koi8-r-tbl.rb create mode 100644 enc/trans/koi8-u-tbl.rb create mode 100644 enc/trans/tis-620-tbl.rb (limited to 'enc') diff --git a/enc/trans/cp850-tbl.rb b/enc/trans/cp850-tbl.rb new file mode 100644 index 0000000000..615d3b2599 --- /dev/null +++ b/enc/trans/cp850-tbl.rb @@ -0,0 +1,130 @@ +CP850_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["BD",0xA2], + ["9C",0xA3], + ["CF",0xA4], + ["BE",0xA5], + ["DD",0xA6], + ["F5",0xA7], + ["F9",0xA8], + ["B8",0xA9], + ["A6",0xAA], + ["AE",0xAB], + ["AA",0xAC], + ["F0",0xAD], + ["A9",0xAE], + ["EE",0xAF], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["FC",0xB3], + ["EF",0xB4], + ["E6",0xB5], + ["F4",0xB6], + ["FA",0xB7], + ["F7",0xB8], + ["FB",0xB9], + ["A7",0xBA], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["F3",0xBE], + ["A8",0xBF], + ["B7",0xC0], + ["B5",0xC1], + ["B6",0xC2], + ["C7",0xC3], + ["8E",0xC4], + ["8F",0xC5], + ["92",0xC6], + ["80",0xC7], + ["D4",0xC8], + ["90",0xC9], + ["D2",0xCA], + ["D3",0xCB], + ["DE",0xCC], + ["D6",0xCD], + ["D7",0xCE], + ["D8",0xCF], + ["D1",0xD0], + ["A5",0xD1], + ["E3",0xD2], + ["E0",0xD3], + ["E2",0xD4], + ["E5",0xD5], + ["99",0xD6], + ["9E",0xD7], + ["9D",0xD8], + ["EB",0xD9], + ["E9",0xDA], + ["EA",0xDB], + ["9A",0xDC], + ["ED",0xDD], + ["E8",0xDE], + ["E1",0xDF], + ["85",0xE0], + ["A0",0xE1], + ["83",0xE2], + ["C6",0xE3], + ["84",0xE4], + ["86",0xE5], + ["91",0xE6], + ["87",0xE7], + ["8A",0xE8], + ["82",0xE9], + ["88",0xEA], + ["89",0xEB], + ["8D",0xEC], + ["A1",0xED], + ["8C",0xEE], + ["8B",0xEF], + ["D0",0xF0], + ["A4",0xF1], + ["95",0xF2], + ["A2",0xF3], + ["93",0xF4], + ["E4",0xF5], + ["94",0xF6], + ["F6",0xF7], + ["9B",0xF8], + ["97",0xF9], + ["A3",0xFA], + ["96",0xFB], + ["81",0xFC], + ["EC",0xFD], + ["E7",0xFE], + ["98",0xFF], + ["D5",0x131], + ["9F",0x192], + ["F2",0x2017], + ["C4",0x2500], + ["B3",0x2502], + ["DA",0x250C], + ["BF",0x2510], + ["C0",0x2514], + ["D9",0x2518], + ["C3",0x251C], + ["B4",0x2524], + ["C2",0x252C], + ["C1",0x2534], + ["C5",0x253C], + ["CD",0x2550], + ["BA",0x2551], + ["C9",0x2554], + ["BB",0x2557], + ["C8",0x255A], + ["BC",0x255D], + ["CC",0x2560], + ["B9",0x2563], + ["CB",0x2566], + ["CA",0x2569], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/cp852-tbl.rb b/enc/trans/cp852-tbl.rb new file mode 100644 index 0000000000..6763bfa6e9 --- /dev/null +++ b/enc/trans/cp852-tbl.rb @@ -0,0 +1,130 @@ +CP852_TO_UCS_TBL = [ + ["FF",0xA0], + ["CF",0xA4], + ["F5",0xA7], + ["F9",0xA8], + ["AE",0xAB], + ["AA",0xAC], + ["F0",0xAD], + ["F8",0xB0], + ["EF",0xB4], + ["F7",0xB8], + ["AF",0xBB], + ["B5",0xC1], + ["B6",0xC2], + ["8E",0xC4], + ["80",0xC7], + ["90",0xC9], + ["D3",0xCB], + ["D6",0xCD], + ["D7",0xCE], + ["E0",0xD3], + ["E2",0xD4], + ["99",0xD6], + ["9E",0xD7], + ["E9",0xDA], + ["9A",0xDC], + ["ED",0xDD], + ["E1",0xDF], + ["A0",0xE1], + ["83",0xE2], + ["84",0xE4], + ["87",0xE7], + ["82",0xE9], + ["89",0xEB], + ["A1",0xED], + ["8C",0xEE], + ["A2",0xF3], + ["93",0xF4], + ["94",0xF6], + ["F6",0xF7], + ["A3",0xFA], + ["81",0xFC], + ["EC",0xFD], + ["C6",0x102], + ["C7",0x103], + ["A4",0x104], + ["A5",0x105], + ["8F",0x106], + ["86",0x107], + ["AC",0x10C], + ["9F",0x10D], + ["D2",0x10E], + ["D4",0x10F], + ["D1",0x110], + ["D0",0x111], + ["A8",0x118], + ["A9",0x119], + ["B7",0x11A], + ["D8",0x11B], + ["91",0x139], + ["92",0x13A], + ["95",0x13D], + ["96",0x13E], + ["9D",0x141], + ["88",0x142], + ["E3",0x143], + ["E4",0x144], + ["D5",0x147], + ["E5",0x148], + ["8A",0x150], + ["8B",0x151], + ["E8",0x154], + ["EA",0x155], + ["FC",0x158], + ["FD",0x159], + ["97",0x15A], + ["98",0x15B], + ["B8",0x15E], + ["AD",0x15F], + ["E6",0x160], + ["E7",0x161], + ["DD",0x162], + ["EE",0x163], + ["9B",0x164], + ["9C",0x165], + ["DE",0x16E], + ["85",0x16F], + ["EB",0x170], + ["FB",0x171], + ["8D",0x179], + ["AB",0x17A], + ["BD",0x17B], + ["BE",0x17C], + ["A6",0x17D], + ["A7",0x17E], + ["F3",0x2C7], + ["F4",0x2D8], + ["FA",0x2D9], + ["F2",0x2DB], + ["F1",0x2DD], + ["C4",0x2500], + ["B3",0x2502], + ["DA",0x250C], + ["BF",0x2510], + ["C0",0x2514], + ["D9",0x2518], + ["C3",0x251C], + ["B4",0x2524], + ["C2",0x252C], + ["C1",0x2534], + ["C5",0x253C], + ["CD",0x2550], + ["BA",0x2551], + ["C9",0x2554], + ["BB",0x2557], + ["C8",0x255A], + ["BC",0x255D], + ["CC",0x2560], + ["B9",0x2563], + ["CB",0x2566], + ["CA",0x2569], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/cp855-tbl.rb b/enc/trans/cp855-tbl.rb new file mode 100644 index 0000000000..72e548b9cb --- /dev/null +++ b/enc/trans/cp855-tbl.rb @@ -0,0 +1,130 @@ +CP855_TO_UCS_TBL = [ + ["FF",0xA0], + ["CF",0xA4], + ["FD",0xA7], + ["AE",0xAB], + ["F0",0xAD], + ["AF",0xBB], + ["85",0x401], + ["81",0x402], + ["83",0x403], + ["87",0x404], + ["89",0x405], + ["8B",0x406], + ["8D",0x407], + ["8F",0x408], + ["91",0x409], + ["93",0x40A], + ["95",0x40B], + ["97",0x40C], + ["99",0x40E], + ["9B",0x40F], + ["A1",0x410], + ["A3",0x411], + ["EC",0x412], + ["AD",0x413], + ["A7",0x414], + ["A9",0x415], + ["EA",0x416], + ["F4",0x417], + ["B8",0x418], + ["BE",0x419], + ["C7",0x41A], + ["D1",0x41B], + ["D3",0x41C], + ["D5",0x41D], + ["D7",0x41E], + ["DD",0x41F], + ["E2",0x420], + ["E4",0x421], + ["E6",0x422], + ["E8",0x423], + ["AB",0x424], + ["B6",0x425], + ["A5",0x426], + ["FC",0x427], + ["F6",0x428], + ["FA",0x429], + ["9F",0x42A], + ["F2",0x42B], + ["EE",0x42C], + ["F8",0x42D], + ["9D",0x42E], + ["E0",0x42F], + ["A0",0x430], + ["A2",0x431], + ["EB",0x432], + ["AC",0x433], + ["A6",0x434], + ["A8",0x435], + ["E9",0x436], + ["F3",0x437], + ["B7",0x438], + ["BD",0x439], + ["C6",0x43A], + ["D0",0x43B], + ["D2",0x43C], + ["D4",0x43D], + ["D6",0x43E], + ["D8",0x43F], + ["E1",0x440], + ["E3",0x441], + ["E5",0x442], + ["E7",0x443], + ["AA",0x444], + ["B5",0x445], + ["A4",0x446], + ["FB",0x447], + ["F5",0x448], + ["F9",0x449], + ["9E",0x44A], + ["F1",0x44B], + ["ED",0x44C], + ["F7",0x44D], + ["9C",0x44E], + ["DE",0x44F], + ["84",0x451], + ["80",0x452], + ["82",0x453], + ["86",0x454], + ["88",0x455], + ["8A",0x456], + ["8C",0x457], + ["8E",0x458], + ["90",0x459], + ["92",0x45A], + ["94",0x45B], + ["96",0x45C], + ["98",0x45E], + ["9A",0x45F], + ["EF",0x2116], + ["C4",0x2500], + ["B3",0x2502], + ["DA",0x250C], + ["BF",0x2510], + ["C0",0x2514], + ["D9",0x2518], + ["C3",0x251C], + ["B4",0x2524], + ["C2",0x252C], + ["C1",0x2534], + ["C5",0x253C], + ["CD",0x2550], + ["BA",0x2551], + ["C9",0x2554], + ["BB",0x2557], + ["C8",0x255A], + ["BC",0x255D], + ["CC",0x2560], + ["B9",0x2563], + ["CB",0x2566], + ["CA",0x2569], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/koi8-r-tbl.rb b/enc/trans/koi8-r-tbl.rb new file mode 100644 index 0000000000..a1f55ff2e3 --- /dev/null +++ b/enc/trans/koi8-r-tbl.rb @@ -0,0 +1,130 @@ +KOI8_R_TO_UCS_TBL = [ + ["9A",0xA0], + ["BF",0xA9], + ["9C",0xB0], + ["9D",0xB2], + ["9E",0xB7], + ["9F",0xF7], + ["B3",0x401], + ["E1",0x410], + ["E2",0x411], + ["F7",0x412], + ["E7",0x413], + ["E4",0x414], + ["E5",0x415], + ["F6",0x416], + ["FA",0x417], + ["E9",0x418], + ["EA",0x419], + ["EB",0x41A], + ["EC",0x41B], + ["ED",0x41C], + ["EE",0x41D], + ["EF",0x41E], + ["F0",0x41F], + ["F2",0x420], + ["F3",0x421], + ["F4",0x422], + ["F5",0x423], + ["E6",0x424], + ["E8",0x425], + ["E3",0x426], + ["FE",0x427], + ["FB",0x428], + ["FD",0x429], + ["FF",0x42A], + ["F9",0x42B], + ["F8",0x42C], + ["FC",0x42D], + ["E0",0x42E], + ["F1",0x42F], + ["C1",0x430], + ["C2",0x431], + ["D7",0x432], + ["C7",0x433], + ["C4",0x434], + ["C5",0x435], + ["D6",0x436], + ["DA",0x437], + ["C9",0x438], + ["CA",0x439], + ["CB",0x43A], + ["CC",0x43B], + ["CD",0x43C], + ["CE",0x43D], + ["CF",0x43E], + ["D0",0x43F], + ["D2",0x440], + ["D3",0x441], + ["D4",0x442], + ["D5",0x443], + ["C6",0x444], + ["C8",0x445], + ["C3",0x446], + ["DE",0x447], + ["DB",0x448], + ["DD",0x449], + ["DF",0x44A], + ["D9",0x44B], + ["D8",0x44C], + ["DC",0x44D], + ["C0",0x44E], + ["D1",0x44F], + ["A3",0x451], + ["95",0x2219], + ["96",0x221A], + ["97",0x2248], + ["98",0x2264], + ["99",0x2265], + ["93",0x2320], + ["9B",0x2321], + ["80",0x2500], + ["81",0x2502], + ["82",0x250C], + ["83",0x2510], + ["84",0x2514], + ["85",0x2518], + ["86",0x251C], + ["87",0x2524], + ["88",0x252C], + ["89",0x2534], + ["8A",0x253C], + ["A0",0x2550], + ["A1",0x2551], + ["A2",0x2552], + ["A4",0x2553], + ["A5",0x2554], + ["A6",0x2555], + ["A7",0x2556], + ["A8",0x2557], + ["A9",0x2558], + ["AA",0x2559], + ["AB",0x255A], + ["AC",0x255B], + ["AD",0x255C], + ["AE",0x255D], + ["AF",0x255E], + ["B0",0x255F], + ["B1",0x2560], + ["B2",0x2561], + ["B4",0x2562], + ["B5",0x2563], + ["B6",0x2564], + ["B7",0x2565], + ["B8",0x2566], + ["B9",0x2567], + ["BA",0x2568], + ["BB",0x2569], + ["BC",0x256A], + ["BD",0x256B], + ["BE",0x256C], + ["8B",0x2580], + ["8C",0x2584], + ["8D",0x2588], + ["8E",0x258C], + ["8F",0x2590], + ["90",0x2591], + ["91",0x2592], + ["92",0x2593], + ["94",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/koi8-u-tbl.rb b/enc/trans/koi8-u-tbl.rb new file mode 100644 index 0000000000..e87aa1aa3f --- /dev/null +++ b/enc/trans/koi8-u-tbl.rb @@ -0,0 +1,130 @@ +KOI8_U_TO_UCS_TBL = [ + ["9A",0xA0], + ["BF",0xA9], + ["9C",0xB0], + ["9D",0xB2], + ["9E",0xB7], + ["9F",0xF7], + ["B3",0x401], + ["B4",0x404], + ["B6",0x406], + ["B7",0x407], + ["E1",0x410], + ["E2",0x411], + ["F7",0x412], + ["E7",0x413], + ["E4",0x414], + ["E5",0x415], + ["F6",0x416], + ["FA",0x417], + ["E9",0x418], + ["EA",0x419], + ["EB",0x41A], + ["EC",0x41B], + ["ED",0x41C], + ["EE",0x41D], + ["EF",0x41E], + ["F0",0x41F], + ["F2",0x420], + ["F3",0x421], + ["F4",0x422], + ["F5",0x423], + ["E6",0x424], + ["E8",0x425], + ["E3",0x426], + ["FE",0x427], + ["FB",0x428], + ["FD",0x429], + ["FF",0x42A], + ["F9",0x42B], + ["F8",0x42C], + ["FC",0x42D], + ["E0",0x42E], + ["F1",0x42F], + ["C1",0x430], + ["C2",0x431], + ["D7",0x432], + ["C7",0x433], + ["C4",0x434], + ["C5",0x435], + ["D6",0x436], + ["DA",0x437], + ["C9",0x438], + ["CA",0x439], + ["CB",0x43A], + ["CC",0x43B], + ["CD",0x43C], + ["CE",0x43D], + ["CF",0x43E], + ["D0",0x43F], + ["D2",0x440], + ["D3",0x441], + ["D4",0x442], + ["D5",0x443], + ["C6",0x444], + ["C8",0x445], + ["C3",0x446], + ["DE",0x447], + ["DB",0x448], + ["DD",0x449], + ["DF",0x44A], + ["D9",0x44B], + ["D8",0x44C], + ["DC",0x44D], + ["C0",0x44E], + ["D1",0x44F], + ["A3",0x451], + ["A4",0x454], + ["A6",0x456], + ["A7",0x457], + ["BD",0x490], + ["AD",0x491], + ["95",0x2219], + ["96",0x221A], + ["97",0x2248], + ["98",0x2264], + ["99",0x2265], + ["93",0x2320], + ["9B",0x2321], + ["80",0x2500], + ["81",0x2502], + ["82",0x250C], + ["83",0x2510], + ["84",0x2514], + ["85",0x2518], + ["86",0x251C], + ["87",0x2524], + ["88",0x252C], + ["89",0x2534], + ["8A",0x253C], + ["A0",0x2550], + ["A1",0x2551], + ["A2",0x2552], + ["A5",0x2554], + ["A8",0x2557], + ["A9",0x2558], + ["AA",0x2559], + ["AB",0x255A], + ["AC",0x255B], + ["AE",0x255D], + ["AF",0x255E], + ["B0",0x255F], + ["B1",0x2560], + ["B2",0x2561], + ["B5",0x2563], + ["B8",0x2566], + ["B9",0x2567], + ["BA",0x2568], + ["BB",0x2569], + ["BC",0x256A], + ["BE",0x256C], + ["8B",0x2580], + ["8C",0x2584], + ["8D",0x2588], + ["8E",0x258C], + ["8F",0x2590], + ["90",0x2591], + ["91",0x2592], + ["92",0x2593], + ["94",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/single_byte.trans b/enc/trans/single_byte.trans index 80bd3f9ae2..0d42740d30 100644 --- a/enc/trans/single_byte.trans +++ b/enc/trans/single_byte.trans @@ -73,6 +73,12 @@ transcode_tblgen_singlebyte "MACROMANIA" transcode_tblgen_singlebyte "MACTURKISH" transcode_tblgen_singlebyte "MACUKRAINE" + transcode_tblgen_singlebyte "KOI8-U" + transcode_tblgen_singlebyte "KOI8-R" + transcode_tblgen_singlebyte "TIS-620" + transcode_tblgen_singlebyte "CP850" + transcode_tblgen_singlebyte "CP852" + transcode_tblgen_singlebyte "CP855" %> <%= transcode_generated_code %> diff --git a/enc/trans/tis-620-tbl.rb b/enc/trans/tis-620-tbl.rb new file mode 100644 index 0000000000..a2f605730a --- /dev/null +++ b/enc/trans/tis-620-tbl.rb @@ -0,0 +1,89 @@ +TIS_620_TO_UCS_TBL = [ + ["A1",0xE01], + ["A2",0xE02], + ["A3",0xE03], + ["A4",0xE04], + ["A5",0xE05], + ["A6",0xE06], + ["A7",0xE07], + ["A8",0xE08], + ["A9",0xE09], + ["AA",0xE0A], + ["AB",0xE0B], + ["AC",0xE0C], + ["AD",0xE0D], + ["AE",0xE0E], + ["AF",0xE0F], + ["B0",0xE10], + ["B1",0xE11], + ["B2",0xE12], + ["B3",0xE13], + ["B4",0xE14], + ["B5",0xE15], + ["B6",0xE16], + ["B7",0xE17], + ["B8",0xE18], + ["B9",0xE19], + ["BA",0xE1A], + ["BB",0xE1B], + ["BC",0xE1C], + ["BD",0xE1D], + ["BE",0xE1E], + ["BF",0xE1F], + ["C0",0xE20], + ["C1",0xE21], + ["C2",0xE22], + ["C3",0xE23], + ["C4",0xE24], + ["C5",0xE25], + ["C6",0xE26], + ["C7",0xE27], + ["C8",0xE28], + ["C9",0xE29], + ["CA",0xE2A], + ["CB",0xE2B], + ["CC",0xE2C], + ["CD",0xE2D], + ["CE",0xE2E], + ["CF",0xE2F], + ["D0",0xE30], + ["D1",0xE31], + ["D2",0xE32], + ["D3",0xE33], + ["D4",0xE34], + ["D5",0xE35], + ["D6",0xE36], + ["D7",0xE37], + ["D8",0xE38], + ["D9",0xE39], + ["DA",0xE3A], + ["DF",0xE3F], + ["E0",0xE40], + ["E1",0xE41], + ["E2",0xE42], + ["E3",0xE43], + ["E4",0xE44], + ["E5",0xE45], + ["E6",0xE46], + ["E7",0xE47], + ["E8",0xE48], + ["E9",0xE49], + ["EA",0xE4A], + ["EB",0xE4B], + ["EC",0xE4C], + ["ED",0xE4D], + ["EE",0xE4E], + ["EF",0xE4F], + ["F0",0xE50], + ["F1",0xE51], + ["F2",0xE52], + ["F3",0xE53], + ["F4",0xE54], + ["F5",0xE55], + ["F6",0xE56], + ["F7",0xE57], + ["F8",0xE58], + ["F9",0xE59], + ["FA",0xE5A], + ["FB",0xE5B], +] -- cgit v1.2.3