From 831e80438840a6665f99a7e27e7c978bd035a306 Mon Sep 17 00:00:00 2001 From: duerst Date: Tue, 11 Nov 2008 05:26:20 +0000 Subject: * enc/trans/single_byte.trans, macgreek-tbl.rb, macroman-tbl.rb, macromania-tbl.rb, macturkish-tbl.rb, macukraine-tbl.rb, ibm437-tbl.rb, ibm852-tbl.rb, ibm855-tbl.rb, ibm857-tbl.rb, ibm860-tbl.rb, ibm861-tbl.rb, ibm862-tbl.rb, ibm863-tbl.rb, ibm865-tbl.rb, ibm866-tbl.rb, ibm869-tbl.rb, ibm775-tbl.rb: new single-byte transcodings (from Yoshihiro Kambayashi) * test/ruby/test_transcode.rb: added tests for the above (from Yoshihiro Kambayashi) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 12 ++ enc/trans/ibm437-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm775-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm852-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm855-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm857-tbl.rb | 127 ++++++++++++++++ enc/trans/ibm860-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm861-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm862-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm863-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm865-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm866-tbl.rb | 130 +++++++++++++++++ enc/trans/ibm869-tbl.rb | 121 +++++++++++++++ enc/trans/macgreek-tbl.rb | 129 ++++++++++++++++ enc/trans/macroman-tbl.rb | 129 ++++++++++++++++ enc/trans/macromania-tbl.rb | 129 ++++++++++++++++ enc/trans/macturkish-tbl.rb | 128 ++++++++++++++++ enc/trans/macukraine-tbl.rb | 130 +++++++++++++++++ enc/trans/single_byte.trans | 17 +++ test/ruby/test_transcode.rb | 347 ++++++++++++++++++++++++++++++++++++++++++++ 20 files changed, 2569 insertions(+) create mode 100644 enc/trans/ibm437-tbl.rb create mode 100644 enc/trans/ibm775-tbl.rb create mode 100644 enc/trans/ibm852-tbl.rb create mode 100644 enc/trans/ibm855-tbl.rb create mode 100644 enc/trans/ibm857-tbl.rb create mode 100644 enc/trans/ibm860-tbl.rb create mode 100644 enc/trans/ibm861-tbl.rb create mode 100644 enc/trans/ibm862-tbl.rb create mode 100644 enc/trans/ibm863-tbl.rb create mode 100644 enc/trans/ibm865-tbl.rb create mode 100644 enc/trans/ibm866-tbl.rb create mode 100644 enc/trans/ibm869-tbl.rb create mode 100644 enc/trans/macgreek-tbl.rb create mode 100644 enc/trans/macroman-tbl.rb create mode 100644 enc/trans/macromania-tbl.rb create mode 100644 enc/trans/macturkish-tbl.rb create mode 100644 enc/trans/macukraine-tbl.rb diff --git a/ChangeLog b/ChangeLog index 2e59277982..1eccd552b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +Tue Nov 11 14:25:25 2008 Martin Duerst + + * enc/trans/single_byte.trans, macgreek-tbl.rb, macroman-tbl.rb, + macromania-tbl.rb, macturkish-tbl.rb, macukraine-tbl.rb, + ibm437-tbl.rb, ibm852-tbl.rb, ibm855-tbl.rb, ibm857-tbl.rb, + ibm860-tbl.rb, ibm861-tbl.rb, ibm862-tbl.rb, ibm863-tbl.rb, + ibm865-tbl.rb, ibm866-tbl.rb, ibm869-tbl.rb, ibm775-tbl.rb: + new single-byte transcodings (from Yoshihiro Kambayashi) + + * test/ruby/test_transcode.rb: added tests for the above + (from Yoshihiro Kambayashi) + Tue Nov 11 07:55:57 2008 Tadayoshi Funaba * lib/date.rb (inspect): changed the format. diff --git a/enc/trans/ibm437-tbl.rb b/enc/trans/ibm437-tbl.rb new file mode 100644 index 0000000000..5ae64d621e --- /dev/null +++ b/enc/trans/ibm437-tbl.rb @@ -0,0 +1,130 @@ +IBM437_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["9B",0xA2], + ["9C",0xA3], + ["9D",0xA5], + ["A6",0xAA], + ["AE",0xAB], + ["AA",0xAC], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["E6",0xB5], + ["FA",0xB7], + ["A7",0xBA], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["A8",0xBF], + ["8E",0xC4], + ["8F",0xC5], + ["92",0xC6], + ["80",0xC7], + ["90",0xC9], + ["A5",0xD1], + ["99",0xD6], + ["9A",0xDC], + ["E1",0xDF], + ["85",0xE0], + ["A0",0xE1], + ["83",0xE2], + ["84",0xE4], + ["86",0xE5], + ["91",0xE6], + ["87",0xE7], + ["8A",0xE8], + ["82",0xE9], + ["88",0xEA], + ["89",0xEB], + ["8D",0xEC], + ["A1",0xED], + ["8C",0xEE], + ["8B",0xEF], + ["A4",0xF1], + ["95",0xF2], + ["A2",0xF3], + ["93",0xF4], + ["94",0xF6], + ["F6",0xF7], + ["97",0xF9], + ["A3",0xFA], + ["96",0xFB], + ["81",0xFC], + ["98",0xFF], + ["9F",0x192], + ["E2",0x393], + ["E9",0x398], + ["E4",0x3A3], + ["E8",0x3A6], + ["EA",0x3A9], + ["E0",0x3B1], + ["EB",0x3B4], + ["EE",0x3B5], + ["E3",0x3C0], + ["E5",0x3C3], + ["E7",0x3C4], + ["ED",0x3C6], + ["FC",0x207F], + ["9E",0x20A7], + ["F9",0x2219], + ["FB",0x221A], + ["EC",0x221E], + ["EF",0x2229], + ["F7",0x2248], + ["F0",0x2261], + ["F3",0x2264], + ["F2",0x2265], + ["A9",0x2310], + ["F4",0x2320], + ["F5",0x2321], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm775-tbl.rb b/enc/trans/ibm775-tbl.rb new file mode 100644 index 0000000000..f55679f409 --- /dev/null +++ b/enc/trans/ibm775-tbl.rb @@ -0,0 +1,130 @@ +IBM775_TO_UCS_TBL = [ + ["FF",0xA0], + ["96",0xA2], + ["9C",0xA3], + ["9F",0xA4], + ["A7",0xA6], + ["F5",0xA7], + ["A8",0xA9], + ["AE",0xAB], + ["AA",0xAC], + ["F0",0xAD], + ["A9",0xAE], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["FC",0xB3], + ["E6",0xB5], + ["F4",0xB6], + ["FA",0xB7], + ["FB",0xB9], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["F3",0xBE], + ["8E",0xC4], + ["8F",0xC5], + ["92",0xC6], + ["90",0xC9], + ["E0",0xD3], + ["E5",0xD5], + ["99",0xD6], + ["9E",0xD7], + ["9D",0xD8], + ["9A",0xDC], + ["E1",0xDF], + ["84",0xE4], + ["86",0xE5], + ["91",0xE6], + ["82",0xE9], + ["A2",0xF3], + ["E4",0xF5], + ["94",0xF6], + ["F6",0xF7], + ["9B",0xF8], + ["81",0xFC], + ["A0",0x100], + ["83",0x101], + ["B5",0x104], + ["D0",0x105], + ["80",0x106], + ["87",0x107], + ["B6",0x10C], + ["D1",0x10D], + ["ED",0x112], + ["89",0x113], + ["B8",0x116], + ["D3",0x117], + ["B7",0x118], + ["D2",0x119], + ["95",0x122], + ["85",0x123], + ["A1",0x12A], + ["8C",0x12B], + ["BD",0x12E], + ["D4",0x12F], + ["E8",0x136], + ["E9",0x137], + ["EA",0x13B], + ["EB",0x13C], + ["AD",0x141], + ["88",0x142], + ["E3",0x143], + ["E7",0x144], + ["EE",0x145], + ["EC",0x146], + ["E2",0x14C], + ["93",0x14D], + ["8A",0x156], + ["8B",0x157], + ["97",0x15A], + ["98",0x15B], + ["BE",0x160], + ["D5",0x161], + ["C7",0x16A], + ["D7",0x16B], + ["C6",0x172], + ["D6",0x173], + ["8D",0x179], + ["A5",0x17A], + ["A3",0x17B], + ["A4",0x17C], + ["CF",0x17D], + ["D8",0x17E], + ["EF",0x2019], + ["F2",0x201C], + ["A6",0x201D], + ["F7",0x201E], + ["F9",0x2219], + ["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], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm852-tbl.rb b/enc/trans/ibm852-tbl.rb new file mode 100644 index 0000000000..6cec51cf80 --- /dev/null +++ b/enc/trans/ibm852-tbl.rb @@ -0,0 +1,130 @@ +IBM852_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/ibm855-tbl.rb b/enc/trans/ibm855-tbl.rb new file mode 100644 index 0000000000..7e0cc5014f --- /dev/null +++ b/enc/trans/ibm855-tbl.rb @@ -0,0 +1,130 @@ +IBM855_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/ibm857-tbl.rb b/enc/trans/ibm857-tbl.rb new file mode 100644 index 0000000000..5b20d389d3 --- /dev/null +++ b/enc/trans/ibm857-tbl.rb @@ -0,0 +1,127 @@ +IBM857_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["BD",0xA2], + ["9C",0xA3], + ["CF",0xA4], + ["BE",0xA5], + ["DD",0xA6], + ["F5",0xA7], + ["F9",0xA8], + ["B8",0xA9], + ["D1",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], + ["D0",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], + ["A5",0xD1], + ["E3",0xD2], + ["E0",0xD3], + ["E2",0xD4], + ["E5",0xD5], + ["99",0xD6], + ["E8",0xD7], + ["9D",0xD8], + ["EB",0xD9], + ["E9",0xDA], + ["EA",0xDB], + ["9A",0xDC], + ["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], + ["EC",0xEC], + ["A1",0xED], + ["8C",0xEE], + ["8B",0xEF], + ["A4",0xF1], + ["95",0xF2], + ["A2",0xF3], + ["93",0xF4], + ["E4",0xF5], + ["94",0xF6], + ["F6",0xF7], + ["9B",0xF8], + ["97",0xF9], + ["A3",0xFA], + ["96",0xFB], + ["81",0xFC], + ["ED",0xFF], + ["A6",0x11E], + ["A7",0x11F], + ["98",0x130], + ["8D",0x131], + ["9E",0x15E], + ["9F",0x15F], + ["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/ibm860-tbl.rb b/enc/trans/ibm860-tbl.rb new file mode 100644 index 0000000000..ae218a129f --- /dev/null +++ b/enc/trans/ibm860-tbl.rb @@ -0,0 +1,130 @@ +IBM860_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["9B",0xA2], + ["9C",0xA3], + ["A6",0xAA], + ["AE",0xAB], + ["AA",0xAC], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["E6",0xB5], + ["FA",0xB7], + ["A7",0xBA], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["A8",0xBF], + ["91",0xC0], + ["86",0xC1], + ["8F",0xC2], + ["8E",0xC3], + ["80",0xC7], + ["92",0xC8], + ["90",0xC9], + ["89",0xCA], + ["98",0xCC], + ["8B",0xCD], + ["A5",0xD1], + ["A9",0xD2], + ["9F",0xD3], + ["8C",0xD4], + ["99",0xD5], + ["9D",0xD9], + ["96",0xDA], + ["9A",0xDC], + ["E1",0xDF], + ["85",0xE0], + ["A0",0xE1], + ["83",0xE2], + ["84",0xE3], + ["87",0xE7], + ["8A",0xE8], + ["82",0xE9], + ["88",0xEA], + ["8D",0xEC], + ["A1",0xED], + ["A4",0xF1], + ["95",0xF2], + ["A2",0xF3], + ["93",0xF4], + ["94",0xF5], + ["F6",0xF7], + ["97",0xF9], + ["A3",0xFA], + ["81",0xFC], + ["E2",0x393], + ["E9",0x398], + ["E4",0x3A3], + ["E8",0x3A6], + ["EA",0x3A9], + ["E0",0x3B1], + ["EB",0x3B4], + ["EE",0x3B5], + ["E3",0x3C0], + ["E5",0x3C3], + ["E7",0x3C4], + ["ED",0x3C6], + ["FC",0x207F], + ["9E",0x20A7], + ["F9",0x2219], + ["FB",0x221A], + ["EC",0x221E], + ["EF",0x2229], + ["F7",0x2248], + ["F0",0x2261], + ["F3",0x2264], + ["F2",0x2265], + ["F4",0x2320], + ["F5",0x2321], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm861-tbl.rb b/enc/trans/ibm861-tbl.rb new file mode 100644 index 0000000000..c24042a76c --- /dev/null +++ b/enc/trans/ibm861-tbl.rb @@ -0,0 +1,130 @@ +IBM861_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["9C",0xA3], + ["AE",0xAB], + ["AA",0xAC], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["E6",0xB5], + ["FA",0xB7], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["A8",0xBF], + ["A4",0xC1], + ["8E",0xC4], + ["8F",0xC5], + ["92",0xC6], + ["80",0xC7], + ["90",0xC9], + ["A5",0xCD], + ["8B",0xD0], + ["A6",0xD3], + ["99",0xD6], + ["9D",0xD8], + ["A7",0xDA], + ["9A",0xDC], + ["97",0xDD], + ["8D",0xDE], + ["E1",0xDF], + ["85",0xE0], + ["A0",0xE1], + ["83",0xE2], + ["84",0xE4], + ["86",0xE5], + ["91",0xE6], + ["87",0xE7], + ["8A",0xE8], + ["82",0xE9], + ["88",0xEA], + ["89",0xEB], + ["A1",0xED], + ["8C",0xF0], + ["A2",0xF3], + ["93",0xF4], + ["94",0xF6], + ["F6",0xF7], + ["9B",0xF8], + ["A3",0xFA], + ["96",0xFB], + ["81",0xFC], + ["98",0xFD], + ["95",0xFE], + ["9F",0x192], + ["E2",0x393], + ["E9",0x398], + ["E4",0x3A3], + ["E8",0x3A6], + ["EA",0x3A9], + ["E0",0x3B1], + ["EB",0x3B4], + ["EE",0x3B5], + ["E3",0x3C0], + ["E5",0x3C3], + ["E7",0x3C4], + ["ED",0x3C6], + ["FC",0x207F], + ["9E",0x20A7], + ["F9",0x2219], + ["FB",0x221A], + ["EC",0x221E], + ["EF",0x2229], + ["F7",0x2248], + ["F0",0x2261], + ["F3",0x2264], + ["F2",0x2265], + ["A9",0x2310], + ["F4",0x2320], + ["F5",0x2321], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm862-tbl.rb b/enc/trans/ibm862-tbl.rb new file mode 100644 index 0000000000..31d6fb0243 --- /dev/null +++ b/enc/trans/ibm862-tbl.rb @@ -0,0 +1,130 @@ +IBM862_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["9B",0xA2], + ["9C",0xA3], + ["9D",0xA5], + ["A6",0xAA], + ["AE",0xAB], + ["AA",0xAC], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["E6",0xB5], + ["FA",0xB7], + ["A7",0xBA], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["A8",0xBF], + ["A5",0xD1], + ["E1",0xDF], + ["A0",0xE1], + ["A1",0xED], + ["A4",0xF1], + ["A2",0xF3], + ["F6",0xF7], + ["A3",0xFA], + ["9F",0x192], + ["E2",0x393], + ["E9",0x398], + ["E4",0x3A3], + ["E8",0x3A6], + ["EA",0x3A9], + ["E0",0x3B1], + ["EB",0x3B4], + ["EE",0x3B5], + ["E3",0x3C0], + ["E5",0x3C3], + ["E7",0x3C4], + ["ED",0x3C6], + ["80",0x5D0], + ["81",0x5D1], + ["82",0x5D2], + ["83",0x5D3], + ["84",0x5D4], + ["85",0x5D5], + ["86",0x5D6], + ["87",0x5D7], + ["88",0x5D8], + ["89",0x5D9], + ["8A",0x5DA], + ["8B",0x5DB], + ["8C",0x5DC], + ["8D",0x5DD], + ["8E",0x5DE], + ["8F",0x5DF], + ["90",0x5E0], + ["91",0x5E1], + ["92",0x5E2], + ["93",0x5E3], + ["94",0x5E4], + ["95",0x5E5], + ["96",0x5E6], + ["97",0x5E7], + ["98",0x5E8], + ["99",0x5E9], + ["9A",0x5EA], + ["FC",0x207F], + ["9E",0x20A7], + ["F9",0x2219], + ["FB",0x221A], + ["EC",0x221E], + ["EF",0x2229], + ["F7",0x2248], + ["F0",0x2261], + ["F3",0x2264], + ["F2",0x2265], + ["A9",0x2310], + ["F4",0x2320], + ["F5",0x2321], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm863-tbl.rb b/enc/trans/ibm863-tbl.rb new file mode 100644 index 0000000000..db110cf38c --- /dev/null +++ b/enc/trans/ibm863-tbl.rb @@ -0,0 +1,130 @@ +IBM863_TO_UCS_TBL = [ + ["FF",0xA0], + ["9B",0xA2], + ["9C",0xA3], + ["98",0xA4], + ["A0",0xA6], + ["8F",0xA7], + ["A4",0xA8], + ["AE",0xAB], + ["AA",0xAC], + ["A7",0xAF], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["A6",0xB3], + ["A1",0xB4], + ["E6",0xB5], + ["86",0xB6], + ["FA",0xB7], + ["A5",0xB8], + ["AF",0xBB], + ["AC",0xBC], + ["AB",0xBD], + ["AD",0xBE], + ["8E",0xC0], + ["84",0xC2], + ["80",0xC7], + ["91",0xC8], + ["90",0xC9], + ["92",0xCA], + ["94",0xCB], + ["A8",0xCE], + ["95",0xCF], + ["99",0xD4], + ["9D",0xD9], + ["9E",0xDB], + ["9A",0xDC], + ["E1",0xDF], + ["85",0xE0], + ["83",0xE2], + ["87",0xE7], + ["8A",0xE8], + ["82",0xE9], + ["88",0xEA], + ["89",0xEB], + ["8C",0xEE], + ["8B",0xEF], + ["A2",0xF3], + ["93",0xF4], + ["F6",0xF7], + ["97",0xF9], + ["A3",0xFA], + ["96",0xFB], + ["81",0xFC], + ["9F",0x192], + ["E2",0x393], + ["E9",0x398], + ["E4",0x3A3], + ["E8",0x3A6], + ["EA",0x3A9], + ["E0",0x3B1], + ["EB",0x3B4], + ["EE",0x3B5], + ["E3",0x3C0], + ["E5",0x3C3], + ["E7",0x3C4], + ["ED",0x3C6], + ["8D",0x2017], + ["FC",0x207F], + ["F9",0x2219], + ["FB",0x221A], + ["EC",0x221E], + ["EF",0x2229], + ["F7",0x2248], + ["F0",0x2261], + ["F3",0x2264], + ["F2",0x2265], + ["A9",0x2310], + ["F4",0x2320], + ["F5",0x2321], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm865-tbl.rb b/enc/trans/ibm865-tbl.rb new file mode 100644 index 0000000000..22e322fb31 --- /dev/null +++ b/enc/trans/ibm865-tbl.rb @@ -0,0 +1,130 @@ +IBM865_TO_UCS_TBL = [ + ["FF",0xA0], + ["AD",0xA1], + ["9C",0xA3], + ["AF",0xA4], + ["A6",0xAA], + ["AE",0xAB], + ["AA",0xAC], + ["F8",0xB0], + ["F1",0xB1], + ["FD",0xB2], + ["E6",0xB5], + ["FA",0xB7], + ["A7",0xBA], + ["AC",0xBC], + ["AB",0xBD], + ["A8",0xBF], + ["8E",0xC4], + ["8F",0xC5], + ["92",0xC6], + ["80",0xC7], + ["90",0xC9], + ["A5",0xD1], + ["99",0xD6], + ["9D",0xD8], + ["9A",0xDC], + ["E1",0xDF], + ["85",0xE0], + ["A0",0xE1], + ["83",0xE2], + ["84",0xE4], + ["86",0xE5], + ["91",0xE6], + ["87",0xE7], + ["8A",0xE8], + ["82",0xE9], + ["88",0xEA], + ["89",0xEB], + ["8D",0xEC], + ["A1",0xED], + ["8C",0xEE], + ["8B",0xEF], + ["A4",0xF1], + ["95",0xF2], + ["A2",0xF3], + ["93",0xF4], + ["94",0xF6], + ["F6",0xF7], + ["9B",0xF8], + ["97",0xF9], + ["A3",0xFA], + ["96",0xFB], + ["81",0xFC], + ["98",0xFF], + ["9F",0x192], + ["E2",0x393], + ["E9",0x398], + ["E4",0x3A3], + ["E8",0x3A6], + ["EA",0x3A9], + ["E0",0x3B1], + ["EB",0x3B4], + ["EE",0x3B5], + ["E3",0x3C0], + ["E5",0x3C3], + ["E7",0x3C4], + ["ED",0x3C6], + ["FC",0x207F], + ["9E",0x20A7], + ["F9",0x2219], + ["FB",0x221A], + ["EC",0x221E], + ["EF",0x2229], + ["F7",0x2248], + ["F0",0x2261], + ["F3",0x2264], + ["F2",0x2265], + ["A9",0x2310], + ["F4",0x2320], + ["F5",0x2321], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm866-tbl.rb b/enc/trans/ibm866-tbl.rb new file mode 100644 index 0000000000..95b9ee7534 --- /dev/null +++ b/enc/trans/ibm866-tbl.rb @@ -0,0 +1,130 @@ +IBM866_TO_UCS_TBL = [ + ["FF",0xA0], + ["FD",0xA4], + ["F8",0xB0], + ["FA",0xB7], + ["F0",0x401], + ["F2",0x404], + ["F4",0x407], + ["F6",0x40E], + ["80",0x410], + ["81",0x411], + ["82",0x412], + ["83",0x413], + ["84",0x414], + ["85",0x415], + ["86",0x416], + ["87",0x417], + ["88",0x418], + ["89",0x419], + ["8A",0x41A], + ["8B",0x41B], + ["8C",0x41C], + ["8D",0x41D], + ["8E",0x41E], + ["8F",0x41F], + ["90",0x420], + ["91",0x421], + ["92",0x422], + ["93",0x423], + ["94",0x424], + ["95",0x425], + ["96",0x426], + ["97",0x427], + ["98",0x428], + ["99",0x429], + ["9A",0x42A], + ["9B",0x42B], + ["9C",0x42C], + ["9D",0x42D], + ["9E",0x42E], + ["9F",0x42F], + ["A0",0x430], + ["A1",0x431], + ["A2",0x432], + ["A3",0x433], + ["A4",0x434], + ["A5",0x435], + ["A6",0x436], + ["A7",0x437], + ["A8",0x438], + ["A9",0x439], + ["AA",0x43A], + ["AB",0x43B], + ["AC",0x43C], + ["AD",0x43D], + ["AE",0x43E], + ["AF",0x43F], + ["E0",0x440], + ["E1",0x441], + ["E2",0x442], + ["E3",0x443], + ["E4",0x444], + ["E5",0x445], + ["E6",0x446], + ["E7",0x447], + ["E8",0x448], + ["E9",0x449], + ["EA",0x44A], + ["EB",0x44B], + ["EC",0x44C], + ["ED",0x44D], + ["EE",0x44E], + ["EF",0x44F], + ["F1",0x451], + ["F3",0x454], + ["F5",0x457], + ["F7",0x45E], + ["FC",0x2116], + ["F9",0x2219], + ["FB",0x221A], + ["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], + ["D5",0x2552], + ["D6",0x2553], + ["C9",0x2554], + ["B8",0x2555], + ["B7",0x2556], + ["BB",0x2557], + ["D4",0x2558], + ["D3",0x2559], + ["C8",0x255A], + ["BE",0x255B], + ["BD",0x255C], + ["BC",0x255D], + ["C6",0x255E], + ["C7",0x255F], + ["CC",0x2560], + ["B5",0x2561], + ["B6",0x2562], + ["B9",0x2563], + ["D1",0x2564], + ["D2",0x2565], + ["CB",0x2566], + ["CF",0x2567], + ["D0",0x2568], + ["CA",0x2569], + ["D8",0x256A], + ["D7",0x256B], + ["CE",0x256C], + ["DF",0x2580], + ["DC",0x2584], + ["DB",0x2588], + ["DD",0x258C], + ["DE",0x2590], + ["B0",0x2591], + ["B1",0x2592], + ["B2",0x2593], + ["FE",0x25A0], +] \ No newline at end of file diff --git a/enc/trans/ibm869-tbl.rb b/enc/trans/ibm869-tbl.rb new file mode 100644 index 0000000000..437e41ad98 --- /dev/null +++ b/enc/trans/ibm869-tbl.rb @@ -0,0 +1,121 @@ +IBM869_TO_UCS_TBL = [ + ["FF",0xA0], + ["9C",0xA3], + ["8A",0xA6], + ["F5",0xA7], + ["F9",0xA8], + ["97",0xA9], + ["AE",0xAB], + ["89",0xAC], + ["F0",0xAD], + ["F8",0xB0], + ["F1",0xB1], + ["99",0xB2], + ["9A",0xB3], + ["88",0xB7], + ["AF",0xBB], + ["AB",0xBD], + ["EF",0x384], + ["F7",0x385], + ["86",0x386], + ["8D",0x388], + ["8F",0x389], + ["90",0x38A], + ["92",0x38C], + ["95",0x38E], + ["98",0x38F], + ["A1",0x390], + ["A4",0x391], + ["A5",0x392], + ["A6",0x393], + ["A7",0x394], + ["A8",0x395], + ["A9",0x396], + ["AA",0x397], + ["AC",0x398], + ["AD",0x399], + ["B5",0x39A], + ["B6",0x39B], + ["B7",0x39C], + ["B8",0x39D], + ["BD",0x39E], + ["BE",0x39F], + ["C6",0x3A0], + ["C7",0x3A1], + ["CF",0x3A3], + ["D0",0x3A4], + ["D1",0x3A5], + ["D2",0x3A6], + ["D3",0x3A7], + ["D4",0x3A8], + ["D5",0x3A9], + ["91",0x3AA], + ["96",0x3AB], + ["9B",0x3AC], + ["9D",0x3AD], + ["9E",0x3AE], + ["9F",0x3AF], + ["FC",0x3B0], + ["D6",0x3B1], + ["D7",0x3B2], + ["D8",0x3B3], + ["DD",0x3B4], + ["DE",0x3B5], + ["E0",0x3B6], + ["E1",0x3B7], + ["E2",0x3B8], + ["E3",0x3B9], + ["E4",0x3BA], + ["E5",0x3BB], + ["E6",0x3BC], + ["E7",0x3BD], + ["E8",0x3BE], + ["E9",0x3BF], + ["EA",0x3C0], + ["EB",0x3C1], + ["ED",0x3C2], + ["EC",0x3C3], + ["EE",0x3C4], + ["F2",0x3C5], + ["F3",0x3C6], + ["F4",0x3C7], + ["F6",0x3C8], + ["FA",0x3C9], + ["A0",0x3CA], + ["FB",0x3CB], + ["A2",0x3CC], + ["A3",0x3CD], + ["FD",0x3CE], + ["8E",0x2015], + ["8B",0x2018], + ["8C",0x2019], + ["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/macgreek-tbl.rb b/enc/trans/macgreek-tbl.rb new file mode 100644 index 0000000000..7f75fde6d2 --- /dev/null +++ b/enc/trans/macgreek-tbl.rb @@ -0,0 +1,129 @@ +MACGREEK_TO_UCS_TBL = [ + ["CA",0xA0], + ["92",0xA3], + ["B4",0xA5], + ["9B",0xA6], + ["AC",0xA7], + ["8C",0xA8], + ["A9",0xA9], + ["C7",0xAB], + ["C2",0xAC], + ["9C",0xAD], + ["A8",0xAE], + ["AE",0xB0], + ["B1",0xB1], + ["82",0xB2], + ["84",0xB3], + ["81",0xB9], + ["C8",0xBB], + ["97",0xBD], + ["80",0xC4], + ["83",0xC9], + ["85",0xD6], + ["86",0xDC], + ["A7",0xDF], + ["88",0xE0], + ["89",0xE2], + ["8A",0xE4], + ["8D",0xE7], + ["8F",0xE8], + ["8E",0xE9], + ["90",0xEA], + ["91",0xEB], + ["94",0xEE], + ["95",0xEF], + ["99",0xF4], + ["9A",0xF6], + ["D6",0xF7], + ["9D",0xF9], + ["9E",0xFB], + ["9F",0xFC], + ["CF",0x153], + ["8B",0x384], + ["87",0x385], + ["CD",0x386], + ["AF",0x387], + ["CE",0x388], + ["D7",0x389], + ["D8",0x38A], + ["D9",0x38C], + ["DA",0x38E], + ["DF",0x38F], + ["FD",0x390], + ["B0",0x391], + ["B5",0x392], + ["A1",0x393], + ["A2",0x394], + ["B6",0x395], + ["B7",0x396], + ["B8",0x397], + ["A3",0x398], + ["B9",0x399], + ["BA",0x39A], + ["A4",0x39B], + ["BB",0x39C], + ["C1",0x39D], + ["A5",0x39E], + ["C3",0x39F], + ["A6",0x3A0], + ["C4",0x3A1], + ["AA",0x3A3], + ["C6",0x3A4], + ["CB",0x3A5], + ["BC",0x3A6], + ["CC",0x3A7], + ["BE",0x3A8], + ["BF",0x3A9], + ["AB",0x3AA], + ["BD",0x3AB], + ["C0",0x3AC], + ["DB",0x3AD], + ["DC",0x3AE], + ["DD",0x3AF], + ["FE",0x3B0], + ["E1",0x3B1], + ["E2",0x3B2], + ["E7",0x3B3], + ["E4",0x3B4], + ["E5",0x3B5], + ["FA",0x3B6], + ["E8",0x3B7], + ["F5",0x3B8], + ["E9",0x3B9], + ["EB",0x3BA], + ["EC",0x3BB], + ["ED",0x3BC], + ["EE",0x3BD], + ["EA",0x3BE], + ["EF",0x3BF], + ["F0",0x3C0], + ["F2",0x3C1], + ["F7",0x3C2], + ["F3",0x3C3], + ["F4",0x3C4], + ["F9",0x3C5], + ["E6",0x3C6], + ["F8",0x3C7], + ["E3",0x3C8], + ["F6",0x3C9], + ["FB",0x3CA], + ["FC",0x3CB], + ["DE",0x3CC], + ["E0",0x3CD], + ["F1",0x3CE], + ["D0",0x2013], + ["D1",0x2015], + ["D4",0x2018], + ["D5",0x2019], + ["D2",0x201C], + ["D3",0x201D], + ["A0",0x2020], + ["96",0x2022], + ["C9",0x2026], + ["98",0x2030], + ["93",0x2122], + ["C5",0x2248], + ["AD",0x2260], + ["B2",0x2264], + ["B3",0x2265], +] \ No newline at end of file diff --git a/enc/trans/macroman-tbl.rb b/enc/trans/macroman-tbl.rb new file mode 100644 index 0000000000..8f74eea27f --- /dev/null +++ b/enc/trans/macroman-tbl.rb @@ -0,0 +1,129 @@ +MACROMAN_TO_UCS_TBL = [ + ["CA",0xA0], + ["C1",0xA1], + ["A2",0xA2], + ["A3",0xA3], + ["DB",0xA4], + ["B4",0xA5], + ["A4",0xA7], + ["AC",0xA8], + ["A9",0xA9], + ["BB",0xAA], + ["C7",0xAB], + ["C2",0xAC], + ["A8",0xAE], + ["F8",0xAF], + ["A1",0xB0], + ["B1",0xB1], + ["AB",0xB4], + ["B5",0xB5], + ["A6",0xB6], + ["E1",0xB7], + ["FC",0xB8], + ["BC",0xBA], + ["C8",0xBB], + ["C0",0xBF], + ["CB",0xC0], + ["E7",0xC1], + ["E5",0xC2], + ["CC",0xC3], + ["80",0xC4], + ["81",0xC5], + ["AE",0xC6], + ["82",0xC7], + ["E9",0xC8], + ["83",0xC9], + ["E6",0xCA], + ["E8",0xCB], + ["ED",0xCC], + ["EA",0xCD], + ["EB",0xCE], + ["EC",0xCF], + ["84",0xD1], + ["F1",0xD2], + ["EE",0xD3], + ["EF",0xD4], + ["CD",0xD5], + ["85",0xD6], + ["AF",0xD8], + ["F4",0xD9], + ["F2",0xDA], + ["F3",0xDB], + ["86",0xDC], + ["A7",0xDF], + ["88",0xE0], + ["87",0xE1], + ["89",0xE2], + ["8B",0xE3], + ["8A",0xE4], + ["8C",0xE5], + ["BE",0xE6], + ["8D",0xE7], + ["8F",0xE8], + ["8E",0xE9], + ["90",0xEA], + ["91",0xEB], + ["93",0xEC], + ["92",0xED], + ["94",0xEE], + ["95",0xEF], + ["96",0xF1], + ["98",0xF2], + ["97",0xF3], + ["99",0xF4], + ["9B",0xF5], + ["9A",0xF6], + ["D6",0xF7], + ["BF",0xF8], + ["9D",0xF9], + ["9C",0xFA], + ["9E",0xFB], + ["9F",0xFC], + ["D8",0xFF], + ["F5",0x131], + ["CE",0x152], + ["CF",0x153], + ["D9",0x178], + ["C4",0x192], + ["F6",0x2C6], + ["FF",0x2C7], + ["F9",0x2D8], + ["FA",0x2D9], + ["FB",0x2DA], + ["FE",0x2DB], + ["F7",0x2DC], + ["FD",0x2DD], + ["B9",0x3C0], + ["D0",0x2013], + ["D1",0x2014], + ["D4",0x2018], + ["D5",0x2019], + ["E2",0x201A], + ["D2",0x201C], + ["D3",0x201D], + ["E3",0x201E], + ["A0",0x2020], + ["E0",0x2021], + ["A5",0x2022], + ["C9",0x2026], + ["E4",0x2030], + ["DC",0x2039], + ["DD",0x203A], + ["DA",0x2044], + ["AA",0x2122], + ["BD",0x2126], + ["B6",0x2202], + ["C6",0x2206], + ["B8",0x220F], + ["B7",0x2211], + ["C3",0x221A], + ["B0",0x221E], + ["BA",0x222B], + ["C5",0x2248], + ["AD",0x2260], + ["B2",0x2264], + ["B3",0x2265], + ["D7",0x25CA], + ["DE",0xFB01], + ["DF",0xFB02], +] \ No newline at end of file diff --git a/enc/trans/macromania-tbl.rb b/enc/trans/macromania-tbl.rb new file mode 100644 index 0000000000..ff95c5e957 --- /dev/null +++ b/enc/trans/macromania-tbl.rb @@ -0,0 +1,129 @@ +MACROMANIA_TO_UCS_TBL = [ + ["CA",0xA0], + ["C1",0xA1], + ["A2",0xA2], + ["A3",0xA3], + ["DB",0xA4], + ["B4",0xA5], + ["A4",0xA7], + ["AC",0xA8], + ["A9",0xA9], + ["BB",0xAA], + ["C7",0xAB], + ["C2",0xAC], + ["A8",0xAE], + ["F8",0xAF], + ["A1",0xB0], + ["B1",0xB1], + ["AB",0xB4], + ["B5",0xB5], + ["A6",0xB6], + ["E1",0xB7], + ["FC",0xB8], + ["BC",0xBA], + ["C8",0xBB], + ["C0",0xBF], + ["CB",0xC0], + ["E7",0xC1], + ["E5",0xC2], + ["CC",0xC3], + ["80",0xC4], + ["81",0xC5], + ["82",0xC7], + ["E9",0xC8], + ["83",0xC9], + ["E6",0xCA], + ["E8",0xCB], + ["ED",0xCC], + ["EA",0xCD], + ["EB",0xCE], + ["EC",0xCF], + ["84",0xD1], + ["F1",0xD2], + ["EE",0xD3], + ["EF",0xD4], + ["CD",0xD5], + ["85",0xD6], + ["F4",0xD9], + ["F2",0xDA], + ["F3",0xDB], + ["86",0xDC], + ["A7",0xDF], + ["88",0xE0], + ["87",0xE1], + ["89",0xE2], + ["8B",0xE3], + ["8A",0xE4], + ["8C",0xE5], + ["8D",0xE7], + ["8F",0xE8], + ["8E",0xE9], + ["90",0xEA], + ["91",0xEB], + ["93",0xEC], + ["92",0xED], + ["94",0xEE], + ["95",0xEF], + ["96",0xF1], + ["98",0xF2], + ["97",0xF3], + ["99",0xF4], + ["9B",0xF5], + ["9A",0xF6], + ["D6",0xF7], + ["9D",0xF9], + ["9C",0xFA], + ["9E",0xFB], + ["9F",0xFC], + ["D8",0xFF], + ["AE",0x102], + ["BE",0x103], + ["F5",0x131], + ["CE",0x152], + ["CF",0x153], + ["AF",0x15E], + ["BF",0x15F], + ["DE",0x162], + ["DF",0x163], + ["D9",0x178], + ["C4",0x192], + ["F6",0x2C6], + ["FF",0x2C7], + ["F9",0x2D8], + ["FA",0x2D9], + ["FB",0x2DA], + ["FE",0x2DB], + ["F7",0x2DC], + ["FD",0x2DD], + ["B9",0x3C0], + ["D0",0x2013], + ["D1",0x2014], + ["D4",0x2018], + ["D5",0x2019], + ["E2",0x201A], + ["D2",0x201C], + ["D3",0x201D], + ["E3",0x201E], + ["A0",0x2020], + ["E0",0x2021], + ["A5",0x2022], + ["C9",0x2026], + ["E4",0x2030], + ["DC",0x2039], + ["DD",0x203A], + ["DA",0x2044], + ["AA",0x2122], + ["BD",0x2126], + ["B6",0x2202], + ["C6",0x2206], + ["B8",0x220F], + ["B7",0x2211], + ["C3",0x221A], + ["B0",0x221E], + ["BA",0x222B], + ["C5",0x2248], + ["AD",0x2260], + ["B2",0x2264], + ["B3",0x2265], + ["D7",0x25CA], +] \ No newline at end of file diff --git a/enc/trans/macturkish-tbl.rb b/enc/trans/macturkish-tbl.rb new file mode 100644 index 0000000000..2358672ed6 --- /dev/null +++ b/enc/trans/macturkish-tbl.rb @@ -0,0 +1,128 @@ +MACTURKISH_TO_UCS_TBL = [ + ["CA",0xA0], + ["C1",0xA1], + ["A2",0xA2], + ["A3",0xA3], + ["B4",0xA5], + ["A4",0xA7], + ["AC",0xA8], + ["A9",0xA9], + ["BB",0xAA], + ["C7",0xAB], + ["C2",0xAC], + ["A8",0xAE], + ["F8",0xAF], + ["A1",0xB0], + ["B1",0xB1], + ["AB",0xB4], + ["B5",0xB5], + ["A6",0xB6], + ["E1",0xB7], + ["FC",0xB8], + ["BC",0xBA], + ["C8",0xBB], + ["C0",0xBF], + ["CB",0xC0], + ["E7",0xC1], + ["E5",0xC2], + ["CC",0xC3], + ["80",0xC4], + ["81",0xC5], + ["AE",0xC6], + ["82",0xC7], + ["E9",0xC8], + ["83",0xC9], + ["E6",0xCA], + ["E8",0xCB], + ["ED",0xCC], + ["EA",0xCD], + ["EB",0xCE], + ["EC",0xCF], + ["84",0xD1], + ["F1",0xD2], + ["EE",0xD3], + ["EF",0xD4], + ["CD",0xD5], + ["85",0xD6], + ["AF",0xD8], + ["F4",0xD9], + ["F2",0xDA], + ["F3",0xDB], + ["86",0xDC], + ["A7",0xDF], + ["88",0xE0], + ["87",0xE1], + ["89",0xE2], + ["8B",0xE3], + ["8A",0xE4], + ["8C",0xE5], + ["BE",0xE6], + ["8D",0xE7], + ["8F",0xE8], + ["8E",0xE9], + ["90",0xEA], + ["91",0xEB], + ["93",0xEC], + ["92",0xED], + ["94",0xEE], + ["95",0xEF], + ["96",0xF1], + ["98",0xF2], + ["97",0xF3], + ["99",0xF4], + ["9B",0xF5], + ["9A",0xF6], + ["D6",0xF7], + ["BF",0xF8], + ["9D",0xF9], + ["9C",0xFA], + ["9E",0xFB], + ["9F",0xFC], + ["D8",0xFF], + ["DA",0x11E], + ["DB",0x11F], + ["DC",0x130], + ["DD",0x131], + ["CE",0x152], + ["CF",0x153], + ["DE",0x15E], + ["DF",0x15F], + ["D9",0x178], + ["C4",0x192], + ["F6",0x2C6], + ["FF",0x2C7], + ["F9",0x2D8], + ["FA",0x2D9], + ["FB",0x2DA], + ["FE",0x2DB], + ["F7",0x2DC], + ["FD",0x2DD], + ["B9",0x3C0], + ["D0",0x2013], + ["D1",0x2014], + ["D4",0x2018], + ["D5",0x2019], + ["E2",0x201A], + ["D2",0x201C], + ["D3",0x201D], + ["E3",0x201E], + ["A0",0x2020], + ["E0",0x2021], + ["A5",0x2022], + ["C9",0x2026], + ["E4",0x2030], + ["AA",0x2122], + ["BD",0x2126], + ["B6",0x2202], + ["C6",0x2206], + ["B8",0x220F], + ["B7",0x2211], + ["C3",0x221A], + ["B0",0x221E], + ["BA",0x222B], + ["C5",0x2248], + ["AD",0x2260], + ["B2",0x2264], + ["B3",0x2265], + ["D7",0x25CA], +] \ No newline at end of file diff --git a/enc/trans/macukraine-tbl.rb b/enc/trans/macukraine-tbl.rb new file mode 100644 index 0000000000..6941af654d --- /dev/null +++ b/enc/trans/macukraine-tbl.rb @@ -0,0 +1,130 @@ +MACUKRAINE_TO_UCS_TBL = [ + ["CA",0xA0], + ["A3",0xA3], + ["FF",0xA4], + ["A4",0xA7], + ["A9",0xA9], + ["C7",0xAB], + ["C2",0xAC], + ["A8",0xAE], + ["A1",0xB0], + ["B1",0xB1], + ["B5",0xB5], + ["A6",0xB6], + ["C8",0xBB], + ["D6",0xF7], + ["C4",0x192], + ["DD",0x401], + ["AB",0x402], + ["AE",0x403], + ["B8",0x404], + ["C1",0x405], + ["A7",0x406], + ["BA",0x407], + ["B7",0x408], + ["BC",0x409], + ["BE",0x40A], + ["CB",0x40B], + ["CD",0x40C], + ["D8",0x40E], + ["DA",0x40F], + ["80",0x410], + ["81",0x411], + ["82",0x412], + ["83",0x413], + ["84",0x414], + ["85",0x415], + ["86",0x416], + ["87",0x417], + ["88",0x418], + ["89",0x419], + ["8A",0x41A], + ["8B",0x41B], + ["8C",0x41C], + ["8D",0x41D], + ["8E",0x41E], + ["8F",0x41F], + ["90",0x420], + ["91",0x421], + ["92",0x422], + ["93",0x423], + ["94",0x424], + ["95",0x425], + ["96",0x426], + ["97",0x427], + ["98",0x428], + ["99",0x429], + ["9A",0x42A], + ["9B",0x42B], + ["9C",0x42C], + ["9D",0x42D], + ["9E",0x42E], + ["9F",0x42F], + ["E0",0x430], + ["E1",0x431], + ["E2",0x432], + ["E3",0x433], + ["E4",0x434], + ["E5",0x435], + ["E6",0x436], + ["E7",0x437], + ["E8",0x438], + ["E9",0x439], + ["EA",0x43A], + ["EB",0x43B], + ["EC",0x43C], + ["ED",0x43D], + ["EE",0x43E], + ["EF",0x43F], + ["F0",0x440], + ["F1",0x441], + ["F2",0x442], + ["F3",0x443], + ["F4",0x444], + ["F5",0x445], + ["F6",0x446], + ["F7",0x447], + ["F8",0x448], + ["F9",0x449], + ["FA",0x44A], + ["FB",0x44B], + ["FC",0x44C], + ["FD",0x44D], + ["FE",0x44E], + ["DF",0x44F], + ["DE",0x451], + ["AC",0x452], + ["AF",0x453], + ["B9",0x454], + ["CF",0x455], + ["B4",0x456], + ["BB",0x457], + ["C0",0x458], + ["BD",0x459], + ["BF",0x45A], + ["CC",0x45B], + ["CE",0x45C], + ["D9",0x45E], + ["DB",0x45F], + ["A2",0x490], + ["B6",0x491], + ["D0",0x2013], + ["D1",0x2014], + ["D4",0x2018], + ["D5",0x2019], + ["D2",0x201C], + ["D3",0x201D], + ["D7",0x201E], + ["A0",0x2020], + ["A5",0x2022], + ["C9",0x2026], + ["DC",0x2116], + ["AA",0x2122], + ["C6",0x2206], + ["C3",0x221A], + ["B0",0x221E], + ["C5",0x2248], + ["AD",0x2260], + ["B2",0x2264], + ["B3",0x2265], +] \ No newline at end of file diff --git a/enc/trans/single_byte.trans b/enc/trans/single_byte.trans index f46fd1055b..80bd3f9ae2 100644 --- a/enc/trans/single_byte.trans +++ b/enc/trans/single_byte.trans @@ -53,9 +53,26 @@ transcode_tblgen_singlebyte "WINDOWS-1255" transcode_tblgen_singlebyte "WINDOWS-1256" transcode_tblgen_singlebyte "WINDOWS-1257" + transcode_tblgen_singlebyte "IBM437" + transcode_tblgen_singlebyte "IBM775" + transcode_tblgen_singlebyte "IBM852" + transcode_tblgen_singlebyte "IBM855" + transcode_tblgen_singlebyte "IBM857" + transcode_tblgen_singlebyte "IBM860" + transcode_tblgen_singlebyte "IBM861" + transcode_tblgen_singlebyte "IBM862" + transcode_tblgen_singlebyte "IBM863" + transcode_tblgen_singlebyte "IBM865" + transcode_tblgen_singlebyte "IBM866" + transcode_tblgen_singlebyte "IBM869" transcode_tblgen_singlebyte "MACCROATIAN" transcode_tblgen_singlebyte "MACCYRILLIC" + transcode_tblgen_singlebyte "MACGREEK" transcode_tblgen_singlebyte "MACICELAND" + transcode_tblgen_singlebyte "MACROMAN" + transcode_tblgen_singlebyte "MACROMANIA" + transcode_tblgen_singlebyte "MACTURKISH" + transcode_tblgen_singlebyte "MACUKRAINE" %> <%= transcode_generated_code %> diff --git a/test/ruby/test_transcode.rb b/test/ruby/test_transcode.rb index abd337e339..6e2bc6ce63 100644 --- a/test/ruby/test_transcode.rb +++ b/test/ruby/test_transcode.rb @@ -417,6 +417,251 @@ class TestTranscode < Test::Unit::TestCase check_both_ways("\u02D9", "\xFF", 'windows-1257') # ˙ end + def test_IBM437 + check_both_ways("\u00C7", "\x80", 'IBM437') # Ç + check_both_ways("\u00C5", "\x8F", 'IBM437') # Å + check_both_ways("\u00C9", "\x90", 'IBM437') # É + check_both_ways("\u0192", "\x9F", 'IBM437') # ƒ + check_both_ways("\u00E1", "\xA0", 'IBM437') # á + check_both_ways("\u00BB", "\xAF", 'IBM437') # » + check_both_ways("\u2591", "\xB0", 'IBM437') # ░ + check_both_ways("\u2510", "\xBF", 'IBM437') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM437') # └ + check_both_ways("\u2567", "\xCF", 'IBM437') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM437') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM437') # ▀ + check_both_ways("\u03B1", "\xE0", 'IBM437') # α + check_both_ways("\u2229", "\xEF", 'IBM437') # ∩ + check_both_ways("\u2261", "\xF0", 'IBM437') # ≡ + check_both_ways("\u00A0", "\xFF", 'IBM437') # non-breaking space + end + + def test_IBM775 + check_both_ways("\u0106", "\x80", 'IBM775') # Ć + check_both_ways("\u00C5", "\x8F", 'IBM775') # Å + check_both_ways("\u00C9", "\x90", 'IBM775') # É + check_both_ways("\u00A4", "\x9F", 'IBM775') # ¤ + check_both_ways("\u0100", "\xA0", 'IBM775') # Ā + check_both_ways("\u00BB", "\xAF", 'IBM775') # » + check_both_ways("\u2591", "\xB0", 'IBM775') # ░ + check_both_ways("\u2510", "\xBF", 'IBM775') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM775') # └ + check_both_ways("\u017D", "\xCF", 'IBM775') # Ž + check_both_ways("\u0105", "\xD0", 'IBM775') # ą + check_both_ways("\u2580", "\xDF", 'IBM775') # ▀ + check_both_ways("\u00D3", "\xE0", 'IBM775') # Ó + check_both_ways("\u2019", "\xEF", 'IBM775') # ’ + check_both_ways("\u00AD", "\xF0", 'IBM775') # osft hyphen + check_both_ways("\u00A0", "\xFF", 'IBM775') # non-breaking space + end + + def test_IBM852 + check_both_ways("\u00C7", "\x80", 'IBM852') # Ç + check_both_ways("\u0106", "\x8F", 'IBM852') # Ć + check_both_ways("\u00C9", "\x90", 'IBM852') # É + check_both_ways("\u010D", "\x9F", 'IBM852') # č + check_both_ways("\u00E1", "\xA0", 'IBM852') # á + check_both_ways("\u00BB", "\xAF", 'IBM852') # » + check_both_ways("\u2591", "\xB0", 'IBM852') # ░ + check_both_ways("\u2510", "\xBF", 'IBM852') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM852') # └ + check_both_ways("\u00A4", "\xCF", 'IBM852') # ¤ + check_both_ways("\u0111", "\xD0", 'IBM852') # đ + check_both_ways("\u2580", "\xDF", 'IBM852') # ▀ + check_both_ways("\u00D3", "\xE0", 'IBM852') # Ó + check_both_ways("\u00B4", "\xEF", 'IBM852') # ´ + check_both_ways("\u00AD", "\xF0", 'IBM852') # osft hyphen + check_both_ways("\u00A0", "\xFF", 'IBM852') # non-breaking space + end + + def test_IBM855 + check_both_ways("\u0452", "\x80", 'IBM855') # ђ + check_both_ways("\u0408", "\x8F", 'IBM855') # Ј + check_both_ways("\u0459", "\x90", 'IBM855') # љ + check_both_ways("\u042A", "\x9F", 'IBM855') # Ъ + check_both_ways("\u0430", "\xA0", 'IBM855') # а + check_both_ways("\u00BB", "\xAF", 'IBM855') # » + check_both_ways("\u2591", "\xB0", 'IBM855') # ░ + check_both_ways("\u2510", "\xBF", 'IBM855') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM855') # └ + check_both_ways("\u00A4", "\xCF", 'IBM855') # ¤ + check_both_ways("\u043B", "\xD0", 'IBM855') # л + check_both_ways("\u2580", "\xDF", 'IBM855') # ▀ + check_both_ways("\u042F", "\xE0", 'IBM855') # Я + check_both_ways("\u2116", "\xEF", 'IBM855') # № + check_both_ways("\u00AD", "\xF0", 'IBM855') # osft hyphen + check_both_ways("\u00A0", "\xFF", 'IBM855') # non-breaking space + end + + def test_IBM857 + check_both_ways("\u00C7", "\x80", 'IBM857') # Ç + check_both_ways("\u00C5", "\x8F", 'IBM857') # Å + check_both_ways("\u00C9", "\x90", 'IBM857') # É + check_both_ways("\u015F", "\x9F", 'IBM857') # ş + check_both_ways("\u00E1", "\xA0", 'IBM857') # á + check_both_ways("\u00BB", "\xAF", 'IBM857') # » + check_both_ways("\u2591", "\xB0", 'IBM857') # ░ + check_both_ways("\u2510", "\xBF", 'IBM857') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM857') # └ + check_both_ways("\u00A4", "\xCF", 'IBM857') # ¤ + check_both_ways("\u00BA", "\xD0", 'IBM857') # º + check_both_ways("\u00C8", "\xD4", 'IBM857') # È + assert_raise(Encoding::UndefinedConversionError) { "\xD5".encode("utf-8", 'IBM857') } + check_both_ways("\u00CD", "\xD6", 'IBM857') # Í + check_both_ways("\u2580", "\xDF", 'IBM857') # ▀ + check_both_ways("\u00D3", "\xE0", 'IBM857') # Ó + check_both_ways("\u00B5", "\xE6", 'IBM857') # µ + assert_raise(Encoding::UndefinedConversionError) { "\xE7".encode("utf-8", 'IBM857') } + check_both_ways("\u00D7", "\xE8", 'IBM857') # × + check_both_ways("\u00B4", "\xEF", 'IBM857') # ´ + check_both_ways("\u00AD", "\xF0", 'IBM857') # soft hyphen + check_both_ways("\u00B1", "\xF1", 'IBM857') # ± + assert_raise(Encoding::UndefinedConversionError) { "\xF2".encode("utf-8", 'IBM857') } + check_both_ways("\u00BE", "\xF3", 'IBM857') # ¾ + check_both_ways("\u00A0", "\xFF", 'IBM857') # non-breaking space + end + + def test_IBM860 + check_both_ways("\u00C7", "\x80", 'IBM860') # Ç + check_both_ways("\u00C2", "\x8F", 'IBM860') #  + check_both_ways("\u00C9", "\x90", 'IBM860') # É + check_both_ways("\u00D3", "\x9F", 'IBM860') # Ó + check_both_ways("\u00E1", "\xA0", 'IBM860') # á + check_both_ways("\u00BB", "\xAF", 'IBM860') # » + check_both_ways("\u2591", "\xB0", 'IBM860') # ░ + check_both_ways("\u2510", "\xBF", 'IBM860') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM860') # └ + check_both_ways("\u2567", "\xCF", 'IBM860') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM860') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM860') # ▀ + check_both_ways("\u03B1", "\xE0", 'IBM860') # α + check_both_ways("\u2229", "\xEF", 'IBM860') # ∩ + check_both_ways("\u2261", "\xF0", 'IBM860') # ≡ + check_both_ways("\u00A0", "\xFF", 'IBM860') # non-breaking space + end + + def test_IBM861 + check_both_ways("\u00C7", "\x80", 'IBM861') # Ç + check_both_ways("\u00C5", "\x8F", 'IBM861') # Å + check_both_ways("\u00C9", "\x90", 'IBM861') # É + check_both_ways("\u0192", "\x9F", 'IBM861') # ƒ + check_both_ways("\u00E1", "\xA0", 'IBM861') # á + check_both_ways("\u00BB", "\xAF", 'IBM861') # » + check_both_ways("\u2591", "\xB0", 'IBM861') # ░ + check_both_ways("\u2510", "\xBF", 'IBM861') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM861') # └ + check_both_ways("\u2567", "\xCF", 'IBM861') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM861') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM861') # ▀ + check_both_ways("\u03B1", "\xE0", 'IBM861') # α + check_both_ways("\u2229", "\xEF", 'IBM861') # ∩ + check_both_ways("\u2261", "\xF0", 'IBM861') # ≡ + check_both_ways("\u00A0", "\xFF", 'IBM861') # non-breaking space + end + + def test_IBM862 + check_both_ways("\u05D0", "\x80", 'IBM862') # א + check_both_ways("\u05DF", "\x8F", 'IBM862') # ן + check_both_ways("\u05E0", "\x90", 'IBM862') # נ + check_both_ways("\u0192", "\x9F", 'IBM862') # ƒ + check_both_ways("\u00E1", "\xA0", 'IBM862') # á + check_both_ways("\u00BB", "\xAF", 'IBM862') # » + check_both_ways("\u2591", "\xB0", 'IBM862') # ░ + check_both_ways("\u2510", "\xBF", 'IBM862') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM862') # └ + check_both_ways("\u2567", "\xCF", 'IBM862') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM862') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM862') # ▀ + check_both_ways("\u03B1", "\xE0", 'IBM862') # α + check_both_ways("\u2229", "\xEF", 'IBM862') # ∩ + check_both_ways("\u2261", "\xF0", 'IBM862') # ≡ + check_both_ways("\u00A0", "\xFF", 'IBM862') # non-breaking space + end + + def test_IBM863 + check_both_ways("\u00C7", "\x80", 'IBM863') # Ç + check_both_ways("\u00A7", "\x8F", 'IBM863') # § + check_both_ways("\u00C9", "\x90", 'IBM863') # É + check_both_ways("\u0192", "\x9F", 'IBM863') # ƒ + check_both_ways("\u00A6", "\xA0", 'IBM863') # ¦ + check_both_ways("\u00BB", "\xAF", 'IBM863') # » + check_both_ways("\u2591", "\xB0", 'IBM863') # ░ + check_both_ways("\u2510", "\xBF", 'IBM863') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM863') # └ + check_both_ways("\u2567", "\xCF", 'IBM863') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM863') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM863') # ▀ + check_both_ways("\u03B1", "\xE0", 'IBM863') # α + check_both_ways("\u2229", "\xEF", 'IBM863') # ∩ + check_both_ways("\u2261", "\xF0", 'IBM863') # ≡ + check_both_ways("\u00A0", "\xFF", 'IBM863') # non-breaking space + end + + def test_IBM865 + check_both_ways("\u00C7", "\x80", 'IBM865') # Ç + check_both_ways("\u00C5", "\x8F", 'IBM865') # Å + check_both_ways("\u00C9", "\x90", 'IBM865') # É + check_both_ways("\u0192", "\x9F", 'IBM865') # ƒ + check_both_ways("\u00E1", "\xA0", 'IBM865') # á + check_both_ways("\u00A4", "\xAF", 'IBM865') # ¤ + check_both_ways("\u2591", "\xB0", 'IBM865') # ░ + check_both_ways("\u2510", "\xBF", 'IBM865') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM865') # └ + check_both_ways("\u2567", "\xCF", 'IBM865') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM865') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM865') # ▀ + check_both_ways("\u03B1", "\xE0", 'IBM865') # α + check_both_ways("\u2229", "\xEF", 'IBM865') # ∩ + check_both_ways("\u2261", "\xF0", 'IBM865') # ≡ + check_both_ways("\u00A0", "\xFF", 'IBM865') # non-breaking space + end + + def test_IBM866 + check_both_ways("\u0410", "\x80", 'IBM866') # А + check_both_ways("\u041F", "\x8F", 'IBM866') # П + check_both_ways("\u0420", "\x90", 'IBM866') # Р + check_both_ways("\u042F", "\x9F", 'IBM866') # Я + check_both_ways("\u0430", "\xA0", 'IBM866') # а + check_both_ways("\u043F", "\xAF", 'IBM866') # п + check_both_ways("\u2591", "\xB0", 'IBM866') # ░ + check_both_ways("\u2510", "\xBF", 'IBM866') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM866') # └ + check_both_ways("\u2567", "\xCF", 'IBM866') # ╧ + check_both_ways("\u2568", "\xD0", 'IBM866') # ╨ + check_both_ways("\u2580", "\xDF", 'IBM866') # ▀ + check_both_ways("\u0440", "\xE0", 'IBM866') # р + check_both_ways("\u044F", "\xEF", 'IBM866') # я + check_both_ways("\u0401", "\xF0", 'IBM866') # Ё + check_both_ways("\u00A0", "\xFF", 'IBM866') # non-breaking space + end + + def test_IBM869 + assert_raise(Encoding::UndefinedConversionError) { "\x80".encode("utf-8", 'IBM869') } + assert_raise(Encoding::UndefinedConversionError) { "\x85".encode("utf-8", 'IBM869') } + check_both_ways("\u0386", "\x86", 'IBM869') # Ά + assert_raise(Encoding::UndefinedConversionError) { "\x87".encode("utf-8", 'IBM869') } + check_both_ways("\u00B7", "\x88", 'IBM869') # · + check_both_ways("\u0389", "\x8F", 'IBM869') # Ή + check_both_ways("\u038A", "\x90", 'IBM869') # Ί + check_both_ways("\u038C", "\x92", 'IBM869') # Ό + assert_raise(Encoding::UndefinedConversionError) { "\x93".encode("utf-8", 'IBM869') } + assert_raise(Encoding::UndefinedConversionError) { "\x94".encode("utf-8", 'IBM869') } + check_both_ways("\u038E", "\x95", 'IBM869') # Ύ + check_both_ways("\u03AF", "\x9F", 'IBM869') # ί + check_both_ways("\u03CA", "\xA0", 'IBM869') # ϊ + check_both_ways("\u00BB", "\xAF", 'IBM869') # » + check_both_ways("\u2591", "\xB0", 'IBM869') # ░ + check_both_ways("\u2510", "\xBF", 'IBM869') # ┐ + check_both_ways("\u2514", "\xC0", 'IBM869') # └ + check_both_ways("\u03A3", "\xCF", 'IBM869') # Σ + check_both_ways("\u03A4", "\xD0", 'IBM869') # Τ + check_both_ways("\u2580", "\xDF", 'IBM869') # ▀ + check_both_ways("\u03B6", "\xE0", 'IBM869') # ζ + check_both_ways("\u0384", "\xEF", 'IBM869') # ΄ + check_both_ways("\u00AD", "\xF0", 'IBM869') # soft hyphen + check_both_ways("\u00A0", "\xFF", 'IBM869') # non-breaking space + end + def test_macCroatian check_both_ways("\u00C4", "\x80", 'macCroatian') # Ä check_both_ways("\u00E8", "\x8F", 'macCroatian') # è @@ -471,6 +716,27 @@ class TestTranscode < Test::Unit::TestCase check_both_ways("\u00A4", "\xFF", 'macCyrillic') # ¤ end + def test_macGreek + check_both_ways("\u00C4", "\x80", 'macGreek') # Ä + check_both_ways("\u00E8", "\x8F", 'macGreek') # è + check_both_ways("\u00EA", "\x90", 'macGreek') # ê + check_both_ways("\u00FC", "\x9F", 'macGreek') # ü + check_both_ways("\u2020", "\xA0", 'macGreek') # † + check_both_ways("\u0393", "\xA1", 'macGreek') # Γ + check_both_ways("\u0387", "\xAF", 'macGreek') # · + check_both_ways("\u0391", "\xB0", 'macGreek') # Α + check_both_ways("\u03A9", "\xBF", 'macGreek') # Ω + check_both_ways("\u03AC", "\xC0", 'macGreek') # ά + check_both_ways("\u0153", "\xCF", 'macGreek') # œ + check_both_ways("\u2013", "\xD0", 'macGreek') # – + check_both_ways("\u038F", "\xDF", 'macGreek') # Ώ + check_both_ways("\u03CD", "\xE0", 'macGreek') # ύ + check_both_ways("\u03BF", "\xEF", 'macGreek') # ο + check_both_ways("\u03C0", "\xF0", 'macGreek') # π + check_both_ways("\u03B0", "\xFE", 'macGreek') # ΰ + assert_raise(Encoding::UndefinedConversionError) { "\xFF".encode("utf-8", 'macGreek') } + end + def test_macIceland check_both_ways("\u00C4", "\x80", 'macIceland') # Ä check_both_ways("\u00E8", "\x8F", 'macIceland') # è @@ -490,6 +756,87 @@ class TestTranscode < Test::Unit::TestCase check_both_ways("\u02C7", "\xFF", 'macIceland') # ˇ end + def test_macRoman + check_both_ways("\u00C4", "\x80", 'macRoman') # Ä + check_both_ways("\u00E8", "\x8F", 'macRoman') # è + check_both_ways("\u00EA", "\x90", 'macRoman') # ê + check_both_ways("\u00FC", "\x9F", 'macRoman') # ü + check_both_ways("\u2020", "\xA0", 'macRoman') # † + #check_both_ways("\u00DB", "\xAF", 'macRoman') # Ø + check_both_ways("\u221E", "\xB0", 'macRoman') # ∞ + check_both_ways("\u00F8", "\xBF", 'macRoman') # ø + check_both_ways("\u00BF", "\xC0", 'macRoman') # ¿ + check_both_ways("\u0153", "\xCF", 'macRoman') # œ + check_both_ways("\u2013", "\xD0", 'macRoman') # – + check_both_ways("\u00A4", "\xDB", 'macRoman') # ¤ + check_both_ways("\uFB02", "\xDF", 'macRoman') # fl + check_both_ways("\u2021", "\xE0", 'macRoman') # ‡ + check_both_ways("\u00D4", "\xEF", 'macRoman') # Ô + #check_both_ways("\uF8FF", "\xF0", 'macRoman') # Apple logo + check_both_ways("\u02C7", "\xFF", 'macRoman') # ˇ + end + + def test_macRomania + check_both_ways("\u00C4", "\x80", 'macRomania') # Ä + check_both_ways("\u00E8", "\x8F", 'macRomania') # è + check_both_ways("\u00EA", "\x90", 'macRomania') # ê + check_both_ways("\u00FC", "\x9F", 'macRomania') # ü + check_both_ways("\u2020", "\xA0", 'macRomania') # † + check_both_ways("\u015E", "\xAF", 'macRomania') # Ş + check_both_ways("\u221E", "\xB0", 'macRomania') # ∞ + check_both_ways("\u015F", "\xBF", 'macRomania') # ş + check_both_ways("\u00BF", "\xC0", 'macRomania') # ¿ + check_both_ways("\u0153", "\xCF", 'macRomania') # œ + check_both_ways("\u2013", "\xD0", 'macRomania') # – + check_both_ways("\u00A4", "\xDB", 'macRomania') # € + check_both_ways("\u0163", "\xDF", 'macRomania') # ţ + check_both_ways("\u2021", "\xE0", 'macRomania') # ‡ + check_both_ways("\u00D4", "\xEF", 'macRomania') # Ô + #check_both_ways("\uF8FF", "\xF0", 'macRomania') # Apple logo + check_both_ways("\u02C7", "\xFF", 'macRomania') # ˇ + end + + def test_macTurkish + check_both_ways("\u00C4", "\x80", 'macTurkish') # Ä + check_both_ways("\u00E8", "\x8F", 'macTurkish') # è + check_both_ways("\u00EA", "\x90", 'macTurkish') # ê + check_both_ways("\u00FC", "\x9F", 'macTurkish') # ü + check_both_ways("\u2020", "\xA0", 'macTurkish') # † + check_both_ways("\u00D8", "\xAF", 'macTurkish') # Ø + check_both_ways("\u221E", "\xB0", 'macTurkish') # ∞ + check_both_ways("\u00F8", "\xBF", 'macTurkish') # ø + check_both_ways("\u00BF", "\xC0", 'macTurkish') # ¿ + check_both_ways("\u0153", "\xCF", 'macTurkish') # œ + check_both_ways("\u2013", "\xD0", 'macTurkish') # – + check_both_ways("\u015F", "\xDF", 'macTurkish') # ş + check_both_ways("\u2021", "\xE0", 'macTurkish') # ‡ + check_both_ways("\u00D4", "\xEF", 'macTurkish') # Ô + #check_both_ways("\uF8FF", "\xF0", 'macTurkish') # Apple logo + check_both_ways("\u00D9", "\xF4", 'macTurkish') # Ù + assert_raise(Encoding::UndefinedConversionError) { "\xF5".encode("utf-8", 'macTurkish') } + check_both_ways("\u02C6", "\xF6", 'macTurkish') # ˆ + check_both_ways("\u02C7", "\xFF", 'macTurkish') # ˇ + end + + def test_macUkraine + check_both_ways("\u0410", "\x80", 'macUkraine') # А + check_both_ways("\u041F", "\x8F", 'macUkraine') # П + check_both_ways("\u0420", "\x90", 'macUkraine') # Р + check_both_ways("\u042F", "\x9F", 'macUkraine') # Я + check_both_ways("\u2020", "\xA0", 'macUkraine') # † + check_both_ways("\u0453", "\xAF", 'macUkraine') # ѓ + check_both_ways("\u221E", "\xB0", 'macUkraine') # ∞ + check_both_ways("\u045A", "\xBF", 'macUkraine') # њ + check_both_ways("\u0458", "\xC0", 'macUkraine') # ј + check_both_ways("\u0455", "\xCF", 'macUkraine') # ѕ + check_both_ways("\u2013", "\xD0", 'macUkraine') # – + check_both_ways("\u044F", "\xDF", 'macUkraine') # я + check_both_ways("\u0430", "\xE0", 'macUkraine') # а + check_both_ways("\u043F", "\xEF", 'macUkraine') # п + check_both_ways("\u0440", "\xF0", 'macUkraine') # р + check_both_ways("\u00A4", "\xFF", 'macUkraine') # ¤ + end + def check_utf_16_both_ways(utf8, raw) copy = raw.dup 0.step(copy.length-1, 2) { |i| copy[i+1], copy[i] = copy[i], copy[i+1] } -- cgit v1.2.3