Upgrade to Encode 0.95, from Dan Kogai.
Jarkko Hietaniemi [Thu, 21 Mar 2002 16:16:57 +0000 (16:16 +0000)]
p4raw-id: //depot/perl@15391

21 files changed:
MANIFEST
ext/Encode/AUTHORS
ext/Encode/CN/CN.pm
ext/Encode/Changes
ext/Encode/Encode.pm
ext/Encode/Encode/ibm-1250.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1251.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1252.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1253.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1254.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1255.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1256.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1257.ucm [new file with mode: 0644]
ext/Encode/Encode/ibm-1258.ucm [new file with mode: 0644]
ext/Encode/MANIFEST
ext/Encode/Makefile.PL
ext/Encode/lib/Encode/Alias.pm [new file with mode: 0644]
ext/Encode/lib/Encode/Details.pod [moved from ext/Encode/lib/Encode/Description.pod with 100% similarity]
ext/Encode/lib/Encode/Supported.pod [new file with mode: 0644]
ext/Encode/t/Aliases.t [new file with mode: 0644]
ext/Encode/t/CJKalias.t [deleted file]

index 88c5c93..5a1e01a 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -298,6 +298,15 @@ ext/Encode/Encode/gb12345.enc              Encode table
 ext/Encode/Encode/gb1988.enc           Encode table
 ext/Encode/Encode/gb2312.enc           Encode table
 ext/Encode/Encode/gsm0338.enc          Encode table
+ext/Encode/Encode/ibm-1250.ucm Encode table
+ext/Encode/Encode/ibm-1251.ucm Encode table
+ext/Encode/Encode/ibm-1252.ucm Encode table
+ext/Encode/Encode/ibm-1253.ucm Encode table
+ext/Encode/Encode/ibm-1254.ucm Encode table
+ext/Encode/Encode/ibm-1255.ucm Encode table
+ext/Encode/Encode/ibm-1256.ucm Encode table
+ext/Encode/Encode/ibm-1257.ucm Encode table
+ext/Encode/Encode/ibm-1258.ucm Encode table
 ext/Encode/Encode/ir-197.enc           Encode table
 ext/Encode/Encode/iso-ir-165.enc       Encode table
 ext/Encode/Encode/jis0201.enc          Encode table
@@ -339,8 +348,9 @@ ext/Encode/JP/JP.pm         Encode extension
 ext/Encode/JP/Makefile.PL      Encode extension
 ext/Encode/KR/KR.pm            Encode extension
 ext/Encode/KR/Makefile.PL              Encode extension
+ext/Encode/lib/Encode/Alias.pm Encode extension
 ext/Encode/lib/Encode/CN/HZ.pm         Encode extension
-ext/Encode/lib/Encode/Description.pod  Encode extension
+ext/Encode/lib/Encode/Details.pod      Encode extension
 ext/Encode/lib/Encode/Encoding.pm      Encode extension
 ext/Encode/lib/Encode/Internal.pm      Encode extension
 ext/Encode/lib/Encode/iso10646_1.pm    Encode extension
@@ -348,6 +358,7 @@ ext/Encode/lib/Encode/JP/Constants.pm       Encode extension
 ext/Encode/lib/Encode/JP/H2Z.pm                Encode extension
 ext/Encode/lib/Encode/JP/ISO_2022_JP.pm        Encode extension
 ext/Encode/lib/Encode/JP/JIS.pm        Encode extension
+ext/Encode/lib/Encode/Supported.pod    Encode extension
 ext/Encode/lib/Encode/Tcl.pm           Encode extension
 ext/Encode/lib/Encode/Tcl/Escape.pm    Encode extension
 ext/Encode/lib/Encode/Tcl/Table.pm     Encode extension
@@ -359,7 +370,7 @@ ext/Encode/lib/EncodeFormat.pod             Encode extension
 ext/Encode/Makefile.PL         Encode extension makefile writer
 ext/Encode/MANIFEST            Encode extension
 ext/Encode/README              Encode extension
-ext/Encode/t/CJKalias.t                Encode extension
+ext/Encode/t/Aliases.t Encode extension
 ext/Encode/t/CN.t              Encode extension test
 ext/Encode/t/Encode.t          Encode extension test
 ext/Encode/t/jisx0208.euc      Encode extension test
@@ -1287,14 +1298,14 @@ lib/Pod/t/basic.ovr             podlators test
 lib/Pod/t/basic.pod            podlators test
 lib/Pod/t/basic.t              podlators test
 lib/Pod/t/basic.txt            podlators test
-lib/Pod/t/htmlescp.t            pod2html escape test
-lib/Pod/t/htmlescp.pod          pod2html escape test input data
-lib/Pod/t/pod2html-lib.pl       pod2html testing library
 lib/Pod/t/Functions.t          See if Pod::Functions works
+lib/Pod/t/htmlescp.pod          pod2html escape test input data
+lib/Pod/t/htmlescp.t            pod2html escape test
 lib/Pod/t/InputObjects.t       See if Pod::InputObjects works
 lib/Pod/t/latex.t              See if Pod::LaTeX works
 lib/Pod/t/man.t                podlators test
 lib/Pod/t/parselink.t          podlators test
+lib/Pod/t/pod2html-lib.pl       pod2html testing library
 lib/Pod/t/Select.t             See if Pod::Select works
 lib/Pod/t/text-errors.t                podlators test
 lib/Pod/t/Usage.t              See if Pod::Usage works
index a131c51..9109238 100644 (file)
@@ -14,4 +14,5 @@ Autrijus Tang                 <autrijus@autrijus.org>
 Dan Kogai                      <dankogai@dan.co.jp>
 Jarkko Hietaniemi              <jhi@iki.fi>
 Nick Ing-Simmons               <nick@ing-simmons.net>
+Paul Marquess                   <paul_marquess@yahoo.co.uk>
 SADAHIRO Tomoyuki              <SADAHIRO@cpan.org>
index 12a9fd3..244f7c7 100644 (file)
@@ -1,5 +1,5 @@
 package Encode::CN;
-our $VERSION = do { my @r = (q$Revision: 0.94 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION = do { my @r = (q$Revision: 0.95 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
 use Encode;
 use Encode::CN::HZ;
@@ -9,6 +9,10 @@ XSLoader::load('Encode::CN',$VERSION);
 Encode::define_alias( qr/euc.*cn$/i     => '"euc-cn"' );
 Encode::define_alias( qr/cn.*euc/i      => '"euc-cn"' );
 
+# Relocated from Encode.pm
+# CP936 doesn't have vendor-addon for GBK, so they're identical.
+Encode::define_alias( qr/^gbk$/i => '"cp936"');
+
 1;
 __END__
 =head1 NAME
index b48001e..1922687 100644 (file)
@@ -1,8 +1,35 @@
 # Revision history for Perl extension Encode.
 #
-# $Id: Changes,v 0.94 2002/03/20 19:59:38 dankogai Exp dankogai $
+# $Id: Changes,v 0.95 2002/03/21 15:52:20 dankogai Exp dankogai $
 #
-
+0.95  Thu Mar 22 2002
+  In this update, pod rewrites and alias fixes are the main issues
++ lib/Encode/Supported.pod
+  Describes supported encodings
+! Makefile.PL
+  streamlined compiled-in encodings.
+! lib/Encode/Description.pod -> lib/Encode/Details.pod
+  Renamed.
++ Encode/ibm-125?.ucm
+  Added from icu distibution with any occurance of
+   "IBM-125?" to "cp125?".  Filenames remain unchanged to pay
+   some respect to icu staff, however.
++ lib/Encode/Alias.pm
+! Encode.pm
+  Alias difinitions in Encode.pm relocated.
+! AUTHORS
+! Encode.xs
+  packWARN patch from Paul Marquess via jhi
+  Message-Id: <20020321010101.O28978@alpha.hut.fi>
+  Paul added to AUTHORS as a result.
+! t/CJKalias.t -> t/Aliases.t
+  Renamed.  Checks even more aliases and alias overloading
+! Encode.pm
+! CN/CN.pm
+  duplicate alias for ujis => euc-jp removed (Encode::JP has one)
+  gbk => cp936 relocated to CN.pm
+! t/CJKalias.t
+  Test::More with plans (by jhi)
 0.94  Thu Mar 21 2002
 + lib/Encode/Description.pod
 ! lib/Encode/Encoding.pm
index 8dc14c3..bdfd686 100644 (file)
@@ -1,6 +1,6 @@
 package Encode;
 use strict;
-our $VERSION = do { my @r = (q$Revision: 0.94 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION = do { my @r = (q$Revision: 0.95 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
 require DynaLoader;
 require Exporter;
@@ -37,25 +37,10 @@ bootstrap Encode ();
 
 use Carp;
 
+use Encode::Alias;
+
 # Make a %encoding package variable to allow a certain amount of cheating
 our %encoding;
-my @alias;  # ordered matching list
-my %alias;  # cached known aliases
-
-                     # 0  1  2  3  4  5   6   7   8   9  10
-our @latin2iso_num = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
-
-our %winlatin2cp   = (
-                     'Latin1'     => 1252,
-                     'Latin2'     => 1250,
-                     'Cyrillic'   => 1251,
-                     'Greek'      => 1253,
-                     'Turkish'    => 1254,
-                     'Hebrew'     => 1255,
-                     'Arabic'     => 1256,
-                     'Baltic'     => 1257,
-                     'Vietnamese' => 1258,
-                    );
 
 our %external_tables =
     (
@@ -93,125 +78,6 @@ sub encodings
                         keys %encoding;
 }
 
-sub findAlias
-{
-    my $class = shift;
-    local $_ = shift;
-    # print "# findAlias $_\n";
-    unless (exists $alias{$_})
-    {
-       for (my $i=0; $i < @alias; $i += 2)
-       {
-           my $alias = $alias[$i];
-           my $val   = $alias[$i+1];
-           my $new;
-           if (ref($alias) eq 'Regexp' && $_ =~ $alias)
-           {
-               $new = eval $val;
-           }
-           elsif (ref($alias) eq 'CODE')
-           {
-               $new = &{$alias}($val)
-               }
-           elsif (lc($_) eq lc($alias))
-           {
-               $new = $val;
-           }
-           if (defined($new))
-           {
-               next if $new eq $_; # avoid (direct) recursion on bugs
-               my $enc = (ref($new)) ? $new : find_encoding($new);
-               if ($enc)
-               {
-                   $alias{$_} = $enc;
-                   last;
-               }
-           }
-       }
-    }
-    return $alias{$_};
-}
-
-sub define_alias
-{
-    while (@_)
-    {
-       my ($alias,$name) = splice(@_,0,2);
-       push(@alias, $alias => $name);
-    }
-}
-
-# Allow variants of iso-8859-1 etc.
-define_alias( qr/^iso[-_]?(\d+)[-_](\d+)$/i => '"iso-$1-$2"' );
-
-# At least HP-UX has these.
-define_alias( qr/^iso8859(\d+)$/i => '"iso-8859-$1"' );
-
-# More HP stuff.
-define_alias( qr/^(?:hp-)?(arabic|greek|hebrew|kana|roman|thai|turkish)8$/i => '"${1}8"' );
-
-# The Official name of ASCII.
-define_alias( qr/^ANSI[-_]?X3\.4[-_]?1968$/i => '"ascii"' );
-
-# This is a font issue, not an encoding issue.
-# (The currency symbol of the Latin 1 upper half
-#  has been redefined as the euro symbol.)
-define_alias( qr/^(.+)\@euro$/i => '"$1"' );
-
-# Allow latin-1 style names as well
-define_alias( qr/^(?:iso[-_]?)?latin[-_]?(\d+)$/i => '"iso-8859-$latin2iso_num[$1]"' );
-
-# Allow winlatin1 style names as well
-define_alias( qr/^win(latin[12]|cyrillic|baltic|greek|turkish|hebrew|arabic|baltic|vietnamese)$/i => '"cp$winlatin2cp{\u$1}"' );
-
-# Common names for non-latin prefered MIME names
-define_alias( 'ascii'    => 'US-ascii',
-              'cyrillic' => 'iso-8859-5',
-              'arabic'   => 'iso-8859-6',
-              'greek'    => 'iso-8859-7',
-              'hebrew'   => 'iso-8859-8',
-              'thai'     => 'iso-8859-11',
-              'tis620'   => 'iso-8859-11',
-           );
-
-# At least AIX has IBM-NNN (surprisingly...) instead of cpNNN.
-# And Microsoft has their own naming (again, surprisingly).
-define_alias( qr/^(?:ibm|ms)[-_]?(\d\d\d\d?)$/i => '"cp$1"');
-
-# Sometimes seen with a leading zero.
-define_alias( qr/^cp037$/i => '"cp37"');
-
-# Ououououou.
-define_alias( qr/^macRomanian$/i => '"macRumanian"');
-
-# Standardize on the dashed versions.
-define_alias( qr/^utf8$/i  => 'utf-8' );
-define_alias( qr/^koi8r$/i => 'koi8-r' );
-define_alias( qr/^koi8u$/i => 'koi8-u' );
-
-# Seen in some Linuxes.
-define_alias( qr/^ujis$/i => 'euc-jp' );
-
-# CP936 doesn't have vendor-addon for GBK, so they're identical.
-define_alias( qr/^gbk$/i => '"cp936"');
-
-# TODO: HP-UX '8' encodings arabic8 greek8 hebrew8 kana8 thai8 turkish8
-# TODO: HP-UX '15' encodings japanese15 korean15 roi15
-# TODO: Cyrillic encoding ISO-IR-111 (useful?)
-# TODO: Armenian encoding ARMSCII-8
-# TODO: Hebrew encoding ISO-8859-8-1
-# TODO: Thai encoding TCVN
-# TODO: Korean encoding Johab
-# TODO: Vietnamese encodings VPS
-# TODO: Mac Asian+African encodings: Arabic Armenian Bengali Burmese
-#       ChineseSimp ChineseTrad Devanagari Ethiopic ExtArabic
-#       Farsi Georgian Gujarati Gurmukhi Hebrew Japanese
-#       Kannada Khmer Korean Laotian Malayalam Mongolian
-#       Oriya Sinhalese Symbol Tamil Telugu Tibetan Vietnamese
-
-# Map white space and _ to '-'
-define_alias( qr/^(\S+)[\s_]+(.*)$/i => '"$1-$2"' );
-
 sub define_encoding
 {
     my $obj  = shift;
@@ -340,7 +206,7 @@ The C<Encode> module provides the interfaces between Perl's strings
 and the rest of the system.  Perl strings are sequences of B<characters>.
 
 To find more about character encodings, please consult
-L<Encode::Description> . This document focuses on programming references.
+L<Encode::Details> . This document focuses on programming references.
 
 =head1 PERL ENCODING API
 
@@ -487,7 +353,10 @@ For CHECK see L</"Handling Malformed Data">.
   use Encode qw(encodings);
   @list = encodings();
 
-Returns a list of the canonical names of the available encodings.
+Returns a list of the canonical names of the available encodings. 
+
+To find which encodings are suppoted by this package in details, 
+see L<Encode::Supported>.
 
 =head2 Defining Aliases
 
@@ -497,32 +366,7 @@ Returns a list of the canonical names of the available encodings.
 Allows newName to be used as am alias for ENCODING. ENCODING may be
 either the name of an encoding or and encoding object (as above).
 
-Currently I<newName> can be specified in the following ways:
-
-=over 4
-
-=item As a simple string.
-
-=item As a qr// compiled regular expression, e.g.:
-
-  define_alias( qr/^iso8859-(\d+)$/i => '"iso-8859-$1"' );
-
-In this case if I<ENCODING> is not a reference it is C<eval>-ed to
-allow C<$1> etc. to be subsituted.  The example is one way to names as
-used in X11 font names to alias the MIME names for the iso-8859-*
-family.  Note the double quote inside the single quote.  If you are
-using regex here, you have to do so or it won't work in this case.
-
-=item As a code reference, e.g.:
-
-  define_alias( sub { return /^iso8859-(\d+)$/i ? "iso-8859-$1" : undef } , '');
-
-In this case C<$_> will be set to the name that is being looked up and
-I<ENCODING> is passed to the sub as its first argument.  The example
-is another way to names as used in X11 font names to alias the MIME
-names for the iso-8859-* family.
-
-=back
+See L<Encode::Alias> on details.
 
 =head1 Defining Encodings
 
@@ -636,9 +480,15 @@ not a string.
 
 =head1 SEE ALSO
 
-L<perlunicode>, L<perlebcdic>, L<perlfunc/open>, L<PerlIO>, L<encoding>,
-L<utf8>, L<Encode::Description>, L<Encode::Encoding> the Perl Unicode Mailing List E<lt>perl-unicode@perl.orgE<gt>
-
+L<Encode::Details>, 
+L<Encode::Encoding>,
+L<Encode::Supported>,
+L<PerlIO>, 
+L<encoding>,
+L<perlebcdic>, 
+L<perlfunc/open>, 
+L<perlunicode>, 
+L<utf8>, 
+the Perl Unicode Mailing List E<lt>perl-unicode@perl.orgE<gt>
 
 =cut
-
diff --git a/ext/Encode/Encode/ibm-1250.ucm b/ext/Encode/Encode/ibm-1250.ucm
new file mode 100644 (file)
index 0000000..a43bb87
--- /dev/null
@@ -0,0 +1,379 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:49 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E2.RPMAP100 and 04E234B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1250"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1250
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |3
+<U0081> \x81 |0
+<U0083> \x83 |0
+<U0088> \x88 |0
+<U0090> \x90 |0
+<U0098> \x98 |0
+<U00A0> \xA0 |0
+<U00A4> \xA4 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B4> \xB4 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B8> \xB8 |0
+<U00BB> \xBB |0
+<U00C1> \xC1 |0
+<U00C2> \xC2 |0
+<U00C4> \xC4 |0
+<U00C7> \xC7 |0
+<U00C9> \xC9 |0
+<U00CB> \xCB |0
+<U00CD> \xCD |0
+<U00CE> \xCE |0
+<U00D0> \xD0 |1
+<U00D3> \xD3 |0
+<U00D4> \xD4 |0
+<U00D6> \xD6 |0
+<U00D7> \xD7 |0
+<U00DA> \xDA |0
+<U00DC> \xDC |0
+<U00DD> \xDD |0
+<U00DF> \xDF |0
+<U00E1> \xE1 |0
+<U00E2> \xE2 |0
+<U00E4> \xE4 |0
+<U00E7> \xE7 |0
+<U00E9> \xE9 |0
+<U00EB> \xEB |0
+<U00ED> \xED |0
+<U00EE> \xEE |0
+<U00F3> \xF3 |0
+<U00F4> \xF4 |0
+<U00F6> \xF6 |0
+<U00F7> \xF7 |0
+<U00FA> \xFA |0
+<U00FC> \xFC |0
+<U00FD> \xFD |0
+<U0102> \xC3 |0
+<U0103> \xE3 |0
+<U0104> \xA5 |0
+<U0105> \xB9 |0
+<U0106> \xC6 |0
+<U0107> \xE6 |0
+<U010C> \xC8 |0
+<U010D> \xE8 |0
+<U010E> \xCF |0
+<U010F> \xEF |0
+<U0110> \xD0 |0
+<U0111> \xF0 |0
+<U0118> \xCA |0
+<U0119> \xEA |0
+<U011A> \xCC |0
+<U011B> \xEC |0
+<U0139> \xC5 |0
+<U013A> \xE5 |0
+<U013D> \xBC |0
+<U013E> \xBE |0
+<U0141> \xA3 |0
+<U0142> \xB3 |0
+<U0143> \xD1 |0
+<U0144> \xF1 |0
+<U0147> \xD2 |0
+<U0148> \xF2 |0
+<U0150> \xD5 |0
+<U0151> \xF5 |0
+<U0154> \xC0 |0
+<U0155> \xE0 |0
+<U0158> \xD8 |0
+<U0159> \xF8 |0
+<U015A> \x8C |0
+<U015B> \x9C |0
+<U015E> \xAA |0
+<U015F> \xBA |0
+<U0160> \x8A |0
+<U0161> \x9A |0
+<U0162> \xDE |0
+<U0163> \xFE |0
+<U0164> \x8D |0
+<U0165> \x9D |0
+<U016E> \xD9 |0
+<U016F> \xF9 |0
+<U0170> \xDB |0
+<U0171> \xFB |0
+<U0179> \x8F |0
+<U017A> \x9F |0
+<U017B> \xAF |0
+<U017C> \xBF |0
+<U017D> \x8E |0
+<U017E> \x9E |0
+<U02C7> \xA1 |0
+<U02D8> \xA2 |0
+<U02D9> \xFF |0
+<U02DB> \xB2 |0
+<U02DD> \xBD |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U20AC> \x80 |1
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1251.ucm b/ext/Encode/Encode/ibm-1251.ucm
new file mode 100644 (file)
index 0000000..26bfc2a
--- /dev/null
@@ -0,0 +1,377 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:49 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E3.RPMAP100 and 04E334B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1251"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1251
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0088> \x88 |0
+<U0098> \x98 |0
+<U00A0> \xA0 |0
+<U00A4> \xA4 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A9> \xA9 |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00BB> \xBB |0
+<U0401> \xA8 |0
+<U0402> \x80 |0
+<U0403> \x81 |0
+<U0404> \xAA |0
+<U0405> \xBD |0
+<U0406> \xB2 |0
+<U0407> \xAF |0
+<U0408> \xA3 |0
+<U0409> \x8A |0
+<U040A> \x8C |0
+<U040B> \x8E |0
+<U040C> \x8D |0
+<U040E> \xA1 |0
+<U040F> \x8F |0
+<U0410> \xC0 |0
+<U0411> \xC1 |0
+<U0412> \xC2 |0
+<U0413> \xC3 |0
+<U0414> \xC4 |0
+<U0415> \xC5 |0
+<U0416> \xC6 |0
+<U0417> \xC7 |0
+<U0418> \xC8 |0
+<U0419> \xC9 |0
+<U041A> \xCA |0
+<U041B> \xCB |0
+<U041C> \xCC |0
+<U041D> \xCD |0
+<U041E> \xCE |0
+<U041F> \xCF |0
+<U0420> \xD0 |0
+<U0421> \xD1 |0
+<U0422> \xD2 |0
+<U0423> \xD3 |0
+<U0424> \xD4 |0
+<U0425> \xD5 |0
+<U0426> \xD6 |0
+<U0427> \xD7 |0
+<U0428> \xD8 |0
+<U0429> \xD9 |0
+<U042A> \xDA |0
+<U042B> \xDB |0
+<U042C> \xDC |0
+<U042D> \xDD |0
+<U042E> \xDE |0
+<U042F> \xDF |0
+<U0430> \xE0 |0
+<U0431> \xE1 |0
+<U0432> \xE2 |0
+<U0433> \xE3 |0
+<U0434> \xE4 |0
+<U0435> \xE5 |0
+<U0436> \xE6 |0
+<U0437> \xE7 |0
+<U0438> \xE8 |0
+<U0439> \xE9 |0
+<U043A> \xEA |0
+<U043B> \xEB |0
+<U043C> \xEC |0
+<U043D> \xED |0
+<U043E> \xEE |0
+<U043F> \xEF |0
+<U0440> \xF0 |0
+<U0441> \xF1 |0
+<U0442> \xF2 |0
+<U0443> \xF3 |0
+<U0444> \xF4 |0
+<U0445> \xF5 |0
+<U0446> \xF6 |0
+<U0447> \xF7 |0
+<U0448> \xF8 |0
+<U0449> \xF9 |0
+<U044A> \xFA |0
+<U044B> \xFB |0
+<U044C> \xFC |0
+<U044D> \xFD |0
+<U044E> \xFE |0
+<U044F> \xFF |0
+<U0451> \xB8 |0
+<U0452> \x90 |0
+<U0453> \x83 |0
+<U0454> \xBA |0
+<U0455> \xBE |0
+<U0456> \xB3 |0
+<U0457> \xBF |0
+<U0458> \xBC |0
+<U0459> \x9A |0
+<U045A> \x9C |0
+<U045B> \x9E |0
+<U045C> \x9D |0
+<U045E> \xA2 |0
+<U045F> \x9F |0
+<U0490> \xA5 |0
+<U0491> \xB4 |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U2116> \xB9 |0
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1252.ucm b/ext/Encode/Encode/ibm-1252.ucm
new file mode 100644 (file)
index 0000000..2f4ec2e
--- /dev/null
@@ -0,0 +1,381 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1997-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:49 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E4.RPMAP100 and 04E434B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1252"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1252
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |3
+<U0081> \x81 |0
+<U008D> \x8D |0
+<U008E> \x8E |3
+<U008F> \x8F |0
+<U0090> \x90 |0
+<U009D> \x9D |0
+<U009E> \x9E |3
+<U00A0> \xA0 |0
+<U00A1> \xA1 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A4> \xA4 |0
+<U00A5> \xA5 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AA> \xAA |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00AF> \xAF |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B4> \xB4 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B8> \xB8 |0
+<U00B9> \xB9 |0
+<U00BA> \xBA |0
+<U00BB> \xBB |0
+<U00BC> \xBC |0
+<U00BD> \xBD |0
+<U00BE> \xBE |0
+<U00BF> \xBF |0
+<U00C0> \xC0 |0
+<U00C1> \xC1 |0
+<U00C2> \xC2 |0
+<U00C3> \xC3 |0
+<U00C4> \xC4 |0
+<U00C5> \xC5 |0
+<U00C6> \xC6 |0
+<U00C7> \xC7 |0
+<U00C8> \xC8 |0
+<U00C9> \xC9 |0
+<U00CA> \xCA |0
+<U00CB> \xCB |0
+<U00CC> \xCC |0
+<U00CD> \xCD |0
+<U00CE> \xCE |0
+<U00CF> \xCF |0
+<U00D0> \xD0 |0
+<U00D1> \xD1 |0
+<U00D2> \xD2 |0
+<U00D3> \xD3 |0
+<U00D4> \xD4 |0
+<U00D5> \xD5 |0
+<U00D6> \xD6 |0
+<U00D7> \xD7 |0
+<U00D8> \xD8 |0
+<U00D9> \xD9 |0
+<U00DA> \xDA |0
+<U00DB> \xDB |0
+<U00DC> \xDC |0
+<U00DD> \xDD |0
+<U00DE> \xDE |0
+<U00DF> \xDF |0
+<U00E0> \xE0 |0
+<U00E1> \xE1 |0
+<U00E2> \xE2 |0
+<U00E3> \xE3 |0
+<U00E4> \xE4 |0
+<U00E5> \xE5 |0
+<U00E6> \xE6 |0
+<U00E7> \xE7 |0
+<U00E8> \xE8 |0
+<U00E9> \xE9 |0
+<U00EA> \xEA |0
+<U00EB> \xEB |0
+<U00EC> \xEC |0
+<U00ED> \xED |0
+<U00EE> \xEE |0
+<U00EF> \xEF |0
+<U00F0> \xF0 |0
+<U00F1> \xF1 |0
+<U00F2> \xF2 |0
+<U00F3> \xF3 |0
+<U00F4> \xF4 |0
+<U00F5> \xF5 |0
+<U00F6> \xF6 |0
+<U00F7> \xF7 |0
+<U00F8> \xF8 |0
+<U00F9> \xF9 |0
+<U00FA> \xFA |0
+<U00FB> \xFB |0
+<U00FC> \xFC |0
+<U00FD> \xFD |0
+<U00FE> \xFE |0
+<U00FF> \xFF |0
+<U0110> \xD0 |1
+<U0152> \x8C |0
+<U0153> \x9C |0
+<U0160> \x8A |0
+<U0161> \x9A |0
+<U0178> \x9F |0
+<U017D> \x8E |1
+<U017E> \x9E |1
+<U0192> \x83 |0
+<U02C6> \x88 |0
+<U02DC> \x98 |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U20AC> \x80 |1
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1253.ucm b/ext/Encode/Encode/ibm-1253.ucm
new file mode 100644 (file)
index 0000000..847dd8b
--- /dev/null
@@ -0,0 +1,376 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:49 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E5.RPMAP100 and 04E534B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1253"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1253
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |0
+<U0081> \x81 |0
+<U0088> \x88 |0
+<U008A> \x8A |0
+<U008C> \x8C |0
+<U008D> \x8D |0
+<U008E> \x8E |0
+<U008F> \x8F |0
+<U0090> \x90 |0
+<U0098> \x98 |0
+<U009A> \x9A |0
+<U009C> \x9C |0
+<U009D> \x9D |0
+<U009E> \x9E |0
+<U009F> \x9F |0
+<U00A0> \xA0 |0
+<U00A3> \xA3 |0
+<U00A4> \xA4 |0
+<U00A5> \xA5 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AA> \xAA |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00BB> \xBB |0
+<U00BD> \xBD |0
+<U0192> \x83 |0
+<U0384> \xB4 |0
+<U0385> \xA1 |0
+<U0386> \xA2 |0
+<U0388> \xB8 |0
+<U0389> \xB9 |0
+<U038A> \xBA |0
+<U038C> \xBC |0
+<U038E> \xBE |0
+<U038F> \xBF |0
+<U0390> \xC0 |0
+<U0391> \xC1 |0
+<U0392> \xC2 |0
+<U0393> \xC3 |0
+<U0394> \xC4 |0
+<U0395> \xC5 |0
+<U0396> \xC6 |0
+<U0397> \xC7 |0
+<U0398> \xC8 |0
+<U0399> \xC9 |0
+<U039A> \xCA |0
+<U039B> \xCB |0
+<U039C> \xCC |0
+<U039D> \xCD |0
+<U039E> \xCE |0
+<U039F> \xCF |0
+<U03A0> \xD0 |0
+<U03A1> \xD1 |0
+<U03A3> \xD3 |0
+<U03A4> \xD4 |0
+<U03A5> \xD5 |0
+<U03A6> \xD6 |0
+<U03A7> \xD7 |0
+<U03A8> \xD8 |0
+<U03A9> \xD9 |0
+<U03AA> \xDA |0
+<U03AB> \xDB |0
+<U03AC> \xDC |0
+<U03AD> \xDD |0
+<U03AE> \xDE |0
+<U03AF> \xDF |0
+<U03B0> \xE0 |0
+<U03B1> \xE1 |0
+<U03B2> \xE2 |0
+<U03B3> \xE3 |0
+<U03B4> \xE4 |0
+<U03B5> \xE5 |0
+<U03B6> \xE6 |0
+<U03B7> \xE7 |0
+<U03B8> \xE8 |0
+<U03B9> \xE9 |0
+<U03BA> \xEA |0
+<U03BB> \xEB |0
+<U03BC> \xEC |0
+<U03BD> \xED |0
+<U03BE> \xEE |0
+<U03BF> \xEF |0
+<U03C0> \xF0 |0
+<U03C1> \xF1 |0
+<U03C2> \xF2 |0
+<U03C3> \xF3 |0
+<U03C4> \xF4 |0
+<U03C5> \xF5 |0
+<U03C6> \xF6 |0
+<U03C7> \xF7 |0
+<U03C8> \xF8 |0
+<U03C9> \xF9 |0
+<U03CA> \xFA |0
+<U03CB> \xFB |0
+<U03CC> \xFC |0
+<U03CD> \xFD |0
+<U03CE> \xFE |0
+<U03D5> \xF6 |1
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2015> \xAF |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1254.ucm b/ext/Encode/Encode/ibm-1254.ucm
new file mode 100644 (file)
index 0000000..0ad64ce
--- /dev/null
@@ -0,0 +1,377 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:49 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E6.RPMAP100 and 04E634B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1254"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1254
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |0
+<U0081> \x81 |0
+<U008D> \x8D |0
+<U008E> \x8E |0
+<U008F> \x8F |0
+<U0090> \x90 |0
+<U009D> \x9D |0
+<U009E> \x9E |0
+<U00A0> \xA0 |0
+<U00A1> \xA1 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A4> \xA4 |0
+<U00A5> \xA5 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AA> \xAA |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00AF> \xAF |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B4> \xB4 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B8> \xB8 |0
+<U00B9> \xB9 |0
+<U00BA> \xBA |0
+<U00BB> \xBB |0
+<U00BC> \xBC |0
+<U00BD> \xBD |0
+<U00BE> \xBE |0
+<U00BF> \xBF |0
+<U00C0> \xC0 |0
+<U00C1> \xC1 |0
+<U00C2> \xC2 |0
+<U00C3> \xC3 |0
+<U00C4> \xC4 |0
+<U00C5> \xC5 |0
+<U00C6> \xC6 |0
+<U00C7> \xC7 |0
+<U00C8> \xC8 |0
+<U00C9> \xC9 |0
+<U00CA> \xCA |0
+<U00CB> \xCB |0
+<U00CC> \xCC |0
+<U00CD> \xCD |0
+<U00CE> \xCE |0
+<U00CF> \xCF |0
+<U00D1> \xD1 |0
+<U00D2> \xD2 |0
+<U00D3> \xD3 |0
+<U00D4> \xD4 |0
+<U00D5> \xD5 |0
+<U00D6> \xD6 |0
+<U00D7> \xD7 |0
+<U00D8> \xD8 |0
+<U00D9> \xD9 |0
+<U00DA> \xDA |0
+<U00DB> \xDB |0
+<U00DC> \xDC |0
+<U00DF> \xDF |0
+<U00E0> \xE0 |0
+<U00E1> \xE1 |0
+<U00E2> \xE2 |0
+<U00E3> \xE3 |0
+<U00E4> \xE4 |0
+<U00E5> \xE5 |0
+<U00E6> \xE6 |0
+<U00E7> \xE7 |0
+<U00E8> \xE8 |0
+<U00E9> \xE9 |0
+<U00EA> \xEA |0
+<U00EB> \xEB |0
+<U00EC> \xEC |0
+<U00ED> \xED |0
+<U00EE> \xEE |0
+<U00EF> \xEF |0
+<U00F1> \xF1 |0
+<U00F2> \xF2 |0
+<U00F3> \xF3 |0
+<U00F4> \xF4 |0
+<U00F5> \xF5 |0
+<U00F6> \xF6 |0
+<U00F7> \xF7 |0
+<U00F8> \xF8 |0
+<U00F9> \xF9 |0
+<U00FA> \xFA |0
+<U00FB> \xFB |0
+<U00FC> \xFC |0
+<U00FF> \xFF |0
+<U011E> \xD0 |0
+<U011F> \xF0 |0
+<U0130> \xDD |0
+<U0131> \xFD |0
+<U0152> \x8C |0
+<U0153> \x9C |0
+<U015E> \xDE |0
+<U015F> \xFE |0
+<U0160> \x8A |0
+<U0161> \x9A |0
+<U0178> \x9F |0
+<U0192> \x83 |0
+<U02C6> \x88 |0
+<U02DC> \x98 |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1255.ucm b/ext/Encode/Encode/ibm-1255.ucm
new file mode 100644 (file)
index 0000000..05051c7
--- /dev/null
@@ -0,0 +1,359 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:49 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E7.RPMAP100 and 04E734B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1255"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1255
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |0
+<U0081> \x81 |0
+<U008A> \x8A |0
+<U008C> \x8C |0
+<U008D> \x8D |0
+<U008E> \x8E |0
+<U008F> \x8F |0
+<U0090> \x90 |0
+<U009A> \x9A |0
+<U009C> \x9C |0
+<U009D> \x9D |0
+<U009E> \x9E |0
+<U009F> \x9F |0
+<U00A0> \xA0 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A5> \xA5 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00AF> \xAF |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B4> \xB4 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B9> \xB9 |0
+<U00BB> \xBB |0
+<U00BC> \xBC |0
+<U00BD> \xBD |0
+<U00BE> \xBE |0
+<U0192> \x83 |0
+<U02C6> \x88 |0
+<U02DC> \x98 |0
+<U05B0> \xC0 |0
+<U05B1> \xC1 |0
+<U05B2> \xC2 |0
+<U05B3> \xC3 |0
+<U05B4> \xC4 |0
+<U05B5> \xC5 |0
+<U05B6> \xC6 |0
+<U05B7> \xC7 |0
+<U05B8> \xC8 |0
+<U05B9> \xC9 |0
+<U05BB> \xCB |0
+<U05BC> \xCC |0
+<U05BD> \xCD |0
+<U05BE> \xCE |0
+<U05BF> \xCF |0
+<U05C0> \xD0 |0
+<U05C1> \xD1 |0
+<U05C2> \xD2 |0
+<U05C3> \xD3 |0
+<U05D0> \xE0 |0
+<U05D1> \xE1 |0
+<U05D2> \xE2 |0
+<U05D3> \xE3 |0
+<U05D4> \xE4 |0
+<U05D5> \xE5 |0
+<U05D6> \xE6 |0
+<U05D7> \xE7 |0
+<U05D8> \xE8 |0
+<U05D9> \xE9 |0
+<U05DA> \xEA |0
+<U05DB> \xEB |0
+<U05DC> \xEC |0
+<U05DD> \xED |0
+<U05DE> \xEE |0
+<U05DF> \xEF |0
+<U05E0> \xF0 |0
+<U05E1> \xF1 |0
+<U05E2> \xF2 |0
+<U05E3> \xF3 |0
+<U05E4> \xF4 |0
+<U05E5> \xF5 |0
+<U05E6> \xF6 |0
+<U05E7> \xF7 |0
+<U05E8> \xF8 |0
+<U05E9> \xF9 |0
+<U05EA> \xFA |0
+<U05F0> \xD4 |0
+<U05F1> \xD5 |0
+<U05F2> \xD6 |0
+<U200E> \xFD |0
+<U200F> \xFE |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U20AA> \xA4 |0
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1256.ucm b/ext/Encode/Encode/ibm-1256.ucm
new file mode 100644 (file)
index 0000000..dcbfda9
--- /dev/null
@@ -0,0 +1,534 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:50 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E8.RPMAP110 and 04E834B0.TPMAP110
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1256"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1256
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |0
+<U008A> \x8A |0
+<U008F> \x8F |0
+<U0098> \x98 |0
+<U009A> \x9A |0
+<U009F> \x9F |0
+<U00A0> \xA0 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A4> \xA4 |0
+<U00A5> \xA5 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00AF> \xAF |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B4> \xB4 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B8> \xB8 |0
+<U00B9> \xB9 |0
+<U00BB> \xBB |0
+<U00BC> \xBC |0
+<U00BD> \xBD |0
+<U00BE> \xBE |0
+<U00D7> \xD7 |0
+<U00E0> \xE0 |0
+<U00E2> \xE2 |0
+<U00E7> \xE7 |0
+<U00E8> \xE8 |0
+<U00E9> \xE9 |0
+<U00EA> \xEA |0
+<U00EB> \xEB |0
+<U00EE> \xEE |0
+<U00EF> \xEF |0
+<U00F4> \xF4 |0
+<U00F7> \xF7 |0
+<U00F9> \xF9 |0
+<U00FB> \xFB |0
+<U00FC> \xFC |0
+<U0152> \x8C |0
+<U0153> \x9C |0
+<U0192> \x83 |0
+<U02C6> \x88 |0
+<U060C> \xA1 |0
+<U061B> \xBA |0
+<U061F> \xBF |0
+<U0621> \xC1 |0
+<U0622> \xC2 |0
+<U0623> \xC3 |0
+<U0624> \xC4 |0
+<U0625> \xC5 |0
+<U0626> \xC6 |0
+<U0627> \xC7 |0
+<U0628> \xC8 |0
+<U0629> \xC9 |0
+<U062A> \xCA |0
+<U062B> \xCB |0
+<U062C> \xCC |0
+<U062D> \xCD |0
+<U062E> \xCE |0
+<U062F> \xCF |0
+<U0630> \xD0 |0
+<U0631> \xD1 |0
+<U0632> \xD2 |0
+<U0633> \xD3 |0
+<U0634> \xD4 |0
+<U0635> \xD5 |0
+<U0636> \xD6 |0
+<U0637> \xD8 |0
+<U0638> \xD9 |0
+<U0639> \xDA |0
+<U063A> \xDB |0
+<U0640> \xDC |0
+<U0641> \xDD |0
+<U0642> \xDE |0
+<U0643> \xDF |0
+<U0644> \xE1 |0
+<U0645> \xE3 |0
+<U0646> \xE4 |0
+<U0647> \xE5 |0
+<U0648> \xE6 |0
+<U0649> \xEC |0
+<U064A> \xED |0
+<U064B> \xF0 |0
+<U064C> \xF1 |0
+<U064D> \xF2 |0
+<U064E> \xF3 |0
+<U064F> \xF5 |0
+<U0650> \xF6 |0
+<U0651> \xF8 |0
+<U0652> \xFA |0
+<U0660> \x30 |1
+<U0661> \x31 |1
+<U0662> \x32 |1
+<U0663> \x33 |1
+<U0664> \x34 |1
+<U0665> \x35 |1
+<U0666> \x36 |1
+<U0667> \x37 |1
+<U0668> \x38 |1
+<U0669> \x39 |1
+<U066B> \x2C |1
+<U066C> \x2E |1
+<U067E> \x81 |0
+<U0686> \x8D |0
+<U0698> \x8E |0
+<U06AF> \x90 |0
+<U06F0> \x30 |1
+<U06F1> \x31 |1
+<U06F2> \x32 |1
+<U06F3> \x33 |1
+<U06F4> \x34 |1
+<U06F5> \x35 |1
+<U06F6> \x36 |1
+<U06F7> \x37 |1
+<U06F8> \x38 |1
+<U06F9> \x39 |1
+<U200C> \x9D |0
+<U200D> \x9E |0
+<U200E> \xFD |0
+<U200F> \xFE |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U2122> \x99 |0
+<UFB56> \x81 |1
+<UFB58> \x81 |1
+<UFB7A> \x8D |1
+<UFB7C> \x8D |1
+<UFB8A> \x8E |1
+<UFB92> \x90 |1
+<UFB94> \x90 |1
+<UFE70> \xF0 |1
+<UFE71> \xF0 |1
+<UFE72> \xF1 |1
+<UFE74> \xF2 |1
+<UFE76> \xF3 |1
+<UFE77> \xF3 |1
+<UFE78> \xF5 |1
+<UFE79> \xF5 |1
+<UFE7A> \xF6 |1
+<UFE7B> \xF6 |1
+<UFE7C> \xF8 |1
+<UFE7D> \xF8 |1
+<UFE7E> \xFA |1
+<UFE7F> \xFA |1
+<UFE80> \xC1 |1
+<UFE81> \xC2 |1
+<UFE82> \xC2 |1
+<UFE83> \xC3 |1
+<UFE84> \xC3 |1
+<UFE85> \xC4 |1
+<UFE86> \xC4 |1
+<UFE87> \xC5 |1
+<UFE88> \xC5 |1
+<UFE89> \xC6 |1
+<UFE8A> \xC6 |1
+<UFE8B> \xC6 |1
+<UFE8C> \xC6 |1
+<UFE8D> \xC7 |1
+<UFE8E> \xC7 |1
+<UFE8F> \xC8 |1
+<UFE90> \xC8 |1
+<UFE91> \xC8 |1
+<UFE92> \xC8 |1
+<UFE93> \xC9 |1
+<UFE94> \xC9 |1
+<UFE95> \xCA |1
+<UFE96> \xCA |1
+<UFE97> \xCA |1
+<UFE98> \xCA |1
+<UFE99> \xCB |1
+<UFE9A> \xCB |1
+<UFE9B> \xCB |1
+<UFE9C> \xCB |1
+<UFE9D> \xCC |1
+<UFE9E> \xCC |1
+<UFE9F> \xCC |1
+<UFEA0> \xCC |1
+<UFEA1> \xCD |1
+<UFEA2> \xCD |1
+<UFEA3> \xCD |1
+<UFEA4> \xCD |1
+<UFEA5> \xCE |1
+<UFEA6> \xCE |1
+<UFEA7> \xCE |1
+<UFEA8> \xCE |1
+<UFEA9> \xCF |1
+<UFEAA> \xCF |1
+<UFEAB> \xD0 |1
+<UFEAC> \xD0 |1
+<UFEAD> \xD1 |1
+<UFEAE> \xD1 |1
+<UFEAF> \xD2 |1
+<UFEB0> \xD2 |1
+<UFEB1> \xD3 |1
+<UFEB2> \xD3 |1
+<UFEB3> \xD3 |1
+<UFEB4> \xD3 |1
+<UFEB5> \xD4 |1
+<UFEB6> \xD4 |1
+<UFEB7> \xD4 |1
+<UFEB8> \xD4 |1
+<UFEB9> \xD5 |1
+<UFEBA> \xD5 |1
+<UFEBB> \xD5 |1
+<UFEBC> \xD5 |1
+<UFEBD> \xD6 |1
+<UFEBE> \xD6 |1
+<UFEBF> \xD6 |1
+<UFEC0> \xD6 |1
+<UFEC1> \xD8 |1
+<UFEC2> \xD8 |1
+<UFEC3> \xD8 |1
+<UFEC4> \xD8 |1
+<UFEC5> \xD9 |1
+<UFEC6> \xD9 |1
+<UFEC7> \xD9 |1
+<UFEC8> \xD9 |1
+<UFEC9> \xDA |1
+<UFECA> \xDA |1
+<UFECB> \xDA |1
+<UFECC> \xDA |1
+<UFECD> \xDB |1
+<UFECE> \xDB |1
+<UFECF> \xDB |1
+<UFED0> \xDB |1
+<UFED1> \xDD |1
+<UFED2> \xDD |1
+<UFED3> \xDD |1
+<UFED4> \xDD |1
+<UFED5> \xDE |1
+<UFED6> \xDE |1
+<UFED7> \xDE |1
+<UFED8> \xDE |1
+<UFED9> \xDF |1
+<UFEDA> \xDF |1
+<UFEDB> \xDF |1
+<UFEDC> \xDF |1
+<UFEDD> \xE1 |1
+<UFEDE> \xE1 |1
+<UFEDF> \xE1 |1
+<UFEE0> \xE1 |1
+<UFEE1> \xE3 |1
+<UFEE2> \xE3 |1
+<UFEE3> \xE3 |1
+<UFEE4> \xE3 |1
+<UFEE5> \xE4 |1
+<UFEE6> \xE4 |1
+<UFEE7> \xE4 |1
+<UFEE8> \xE4 |1
+<UFEE9> \xE5 |1
+<UFEEA> \xE5 |1
+<UFEEB> \xE5 |1
+<UFEEC> \xE5 |1
+<UFEED> \xE6 |1
+<UFEEE> \xE6 |1
+<UFEEF> \xEC |1
+<UFEF0> \xEC |1
+<UFEF1> \xED |1
+<UFEF2> \xED |1
+<UFEF3> \xED |1
+<UFEF4> \xED |1
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1257.ucm b/ext/Encode/Encode/ibm-1257.ucm
new file mode 100644 (file)
index 0000000..f19a5c4
--- /dev/null
@@ -0,0 +1,373 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:50 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004E9.RPMAP100 and 04E934B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1257"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1257
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |0
+<U0081> \x81 |0
+<U0083> \x83 |0
+<U0088> \x88 |0
+<U008A> \x8A |0
+<U008C> \x8C |0
+<U008D> \x8D |0
+<U008E> \x8E |0
+<U008F> \x8F |0
+<U0090> \x90 |0
+<U0098> \x98 |0
+<U009A> \x9A |0
+<U009C> \x9C |0
+<U009D> \x9D |0
+<U009E> \x9E |0
+<U009F> \x9F |0
+<U00A0> \xA0 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A4> \xA4 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A9> \xA9 |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B9> \xB9 |0
+<U00BB> \xBB |0
+<U00BC> \xBC |0
+<U00BD> \xBD |0
+<U00BE> \xBE |0
+<U00C4> \xC4 |0
+<U00C5> \xC5 |0
+<U00C6> \xAF |0
+<U00C9> \xC9 |0
+<U00D3> \xD3 |0
+<U00D5> \xD5 |0
+<U00D6> \xD6 |0
+<U00D7> \xD7 |0
+<U00D8> \xA8 |0
+<U00DC> \xDC |0
+<U00DF> \xDF |0
+<U00E4> \xE4 |0
+<U00E5> \xE5 |0
+<U00E6> \xBF |0
+<U00E9> \xE9 |0
+<U00F3> \xF3 |0
+<U00F5> \xF5 |0
+<U00F6> \xF6 |0
+<U00F7> \xF7 |0
+<U00F8> \xB8 |0
+<U00FC> \xFC |0
+<U0100> \xC2 |0
+<U0101> \xE2 |0
+<U0104> \xC0 |0
+<U0105> \xE0 |0
+<U0106> \xC3 |0
+<U0107> \xE3 |0
+<U010C> \xC8 |0
+<U010D> \xE8 |0
+<U0112> \xC7 |0
+<U0113> \xE7 |0
+<U0116> \xCB |0
+<U0117> \xEB |0
+<U0118> \xC6 |0
+<U0119> \xE6 |0
+<U0122> \xCC |0
+<U0123> \xEC |0
+<U012A> \xCE |0
+<U012B> \xEE |0
+<U012E> \xC1 |0
+<U012F> \xE1 |0
+<U0136> \xCD |0
+<U0137> \xED |0
+<U013B> \xCF |0
+<U013C> \xEF |0
+<U0141> \xD9 |0
+<U0142> \xF9 |0
+<U0143> \xD1 |0
+<U0144> \xF1 |0
+<U0145> \xD2 |0
+<U0146> \xF2 |0
+<U014C> \xD4 |0
+<U014D> \xF4 |0
+<U0156> \xAA |0
+<U0157> \xBA |0
+<U015A> \xDA |0
+<U015B> \xFA |0
+<U0160> \xD0 |0
+<U0161> \xF0 |0
+<U016A> \xDB |0
+<U016B> \xFB |0
+<U0172> \xD8 |0
+<U0173> \xF8 |0
+<U0179> \xCA |0
+<U017A> \xEA |0
+<U017B> \xDD |0
+<U017C> \xFD |0
+<U017D> \xDE |0
+<U017E> \xFE |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
diff --git a/ext/Encode/Encode/ibm-1258.ucm b/ext/Encode/Encode/ibm-1258.ucm
new file mode 100644 (file)
index 0000000..6e24ab4
--- /dev/null
@@ -0,0 +1,377 @@
+# *******************************************************************************
+# *
+# *   Copyright (C) 1995-2000, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# *******************************************************************************
+#
+# File created on Fri Nov 10 13:07:50 2000
+#
+# File created by dtcocm version 3.00
+# from source files 34B004EA.RPMAP100 and 04EA34B0.TPMAP100
+#
+# Table Version : 1.01
+#
+<code_set_name>               "cp1258"
+<char_name_mask>              "AXXXX"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x1A
+#
+CHARMAP
+#
+#
+#ISO 10646      IBM-1258
+#_________      _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U0080> \x80 |0
+<U0081> \x81 |0
+<U008A> \x8A |0
+<U008D> \x8D |0
+<U008E> \x8E |0
+<U008F> \x8F |0
+<U0090> \x90 |0
+<U009A> \x9A |0
+<U009D> \x9D |0
+<U009E> \x9E |0
+<U00A0> \xA0 |0
+<U00A1> \xA1 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A4> \xA4 |0
+<U00A5> \xA5 |0
+<U00A6> \xA6 |0
+<U00A7> \xA7 |0
+<U00A8> \xA8 |0
+<U00A9> \xA9 |0
+<U00AA> \xAA |0
+<U00AB> \xAB |0
+<U00AC> \xAC |0
+<U00AD> \xAD |0
+<U00AE> \xAE |0
+<U00AF> \xAF |0
+<U00B0> \xB0 |0
+<U00B1> \xB1 |0
+<U00B2> \xB2 |0
+<U00B3> \xB3 |0
+<U00B4> \xB4 |0
+<U00B5> \xB5 |0
+<U00B6> \xB6 |0
+<U00B7> \xB7 |0
+<U00B8> \xB8 |0
+<U00B9> \xB9 |0
+<U00BA> \xBA |0
+<U00BB> \xBB |0
+<U00BC> \xBC |0
+<U00BD> \xBD |0
+<U00BE> \xBE |0
+<U00BF> \xBF |0
+<U00C0> \xC0 |0
+<U00C1> \xC1 |0
+<U00C2> \xC2 |0
+<U00C4> \xC4 |0
+<U00C5> \xC5 |0
+<U00C6> \xC6 |0
+<U00C7> \xC7 |0
+<U00C8> \xC8 |0
+<U00C9> \xC9 |0
+<U00CA> \xCA |0
+<U00CB> \xCB |0
+<U00CD> \xCD |0
+<U00CE> \xCE |0
+<U00CF> \xCF |0
+<U00D1> \xD1 |0
+<U00D3> \xD3 |0
+<U00D4> \xD4 |0
+<U00D6> \xD6 |0
+<U00D7> \xD7 |0
+<U00D8> \xD8 |0
+<U00D9> \xD9 |0
+<U00DA> \xDA |0
+<U00DB> \xDB |0
+<U00DC> \xDC |0
+<U00DF> \xDF |0
+<U00E0> \xE0 |0
+<U00E1> \xE1 |0
+<U00E2> \xE2 |0
+<U00E4> \xE4 |0
+<U00E5> \xE5 |0
+<U00E6> \xE6 |0
+<U00E7> \xE7 |0
+<U00E8> \xE8 |0
+<U00E9> \xE9 |0
+<U00EA> \xEA |0
+<U00EB> \xEB |0
+<U00ED> \xED |0
+<U00EE> \xEE |0
+<U00EF> \xEF |0
+<U00F1> \xF1 |0
+<U00F3> \xF3 |0
+<U00F4> \xF4 |0
+<U00F6> \xF6 |0
+<U00F7> \xF7 |0
+<U00F8> \xF8 |0
+<U00F9> \xF9 |0
+<U00FA> \xFA |0
+<U00FB> \xFB |0
+<U00FC> \xFC |0
+<U00FF> \xFF |0
+<U0102> \xC3 |0
+<U0103> \xE3 |0
+<U0110> \xD0 |0
+<U0111> \xF0 |0
+<U0152> \x8C |0
+<U0153> \x9C |0
+<U0178> \x9F |0
+<U0192> \x83 |0
+<U01A0> \xD5 |0
+<U01A1> \xF5 |0
+<U01AF> \xDD |0
+<U01B0> \xFD |0
+<U02C6> \x88 |0
+<U02DC> \x98 |0
+<U0300> \xCC |0
+<U0301> \xEC |0
+<U0303> \xDE |0
+<U0309> \xD2 |0
+<U0323> \xF2 |0
+<U2013> \x96 |0
+<U2014> \x97 |0
+<U2018> \x91 |0
+<U2019> \x92 |0
+<U201A> \x82 |0
+<U201C> \x93 |0
+<U201D> \x94 |0
+<U201E> \x84 |0
+<U2020> \x86 |0
+<U2021> \x87 |0
+<U2022> \x95 |0
+<U2026> \x85 |0
+<U2030> \x89 |0
+<U2039> \x8B |0
+<U203A> \x9B |0
+<U20AB> \xFE |0
+<U2122> \x99 |0
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF1F> \x3F |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+END CHARMAP
index 4d5c6fa..1dec5ce 100644 (file)
@@ -97,6 +97,15 @@ Encode/gb12345.enc           Encode table
 Encode/gb1988.enc              Encode table
 Encode/gb2312.enc              Encode table
 Encode/gsm0338.enc             Encode table
+Encode/ibm-1250.ucm            Encode table
+Encode/ibm-1251.ucm            Encode table
+Encode/ibm-1252.ucm            Encode table
+Encode/ibm-1253.ucm            Encode table
+Encode/ibm-1254.ucm            Encode table
+Encode/ibm-1255.ucm            Encode table
+Encode/ibm-1256.ucm            Encode table
+Encode/ibm-1257.ucm            Encode table
+Encode/ibm-1258.ucm            Encode table
 Encode/ir-197.enc              Encode table
 Encode/iso-ir-165.enc  Encode table
 Encode/jis0201.enc             Encode table
@@ -146,14 +155,16 @@ TW/TW.pm          Encode extension
 compile                Encode extension
 encengine.c            Encode extension
 encode.h               Encode extension
+lib/Encode/Alias.pm            Encode extension
 lib/Encode/CN/HZ.pm            Encode extension
-lib/Encode/Description.pod     General topics on character encodings
+lib/Encode/Details.pod Detailed topics on character encodings
 lib/Encode/Encoding.pm Encode extension
 lib/Encode/Internal.pm Encode extension
 lib/Encode/JP/Constants.pm     Encode extension
 lib/Encode/JP/H2Z.pm           Encode extension
 lib/Encode/JP/ISO_2022_JP.pm   Encode extension
 lib/Encode/JP/JIS.pm   Encode extension
+lib/Encode/Supported.pod       Documents supported encodings
 lib/Encode/Tcl.pm              Encode extension
 lib/Encode/Tcl/Escape.pm       Encode extension
 lib/Encode/Tcl/Table.pm        Encode extension
@@ -163,7 +174,7 @@ lib/Encode/iso10646_1.pm    Encode extension
 lib/Encode/ucs2_le.pm  Encode extension
 lib/Encode/utf8.pm             Encode extension
 lib/EncodeFormat.pod           Encode extension
-t/CJKalias.t   Encode extension test
+t/Aliases.t    Encode extension test
 t/CN.t         Encode extension test
 t/Encode.t             Encode extension test
 t/JP.t         Encode extension test
index 8a7458c..ff80352 100644 (file)
@@ -2,10 +2,24 @@ use 5.7.2;
 use strict;
 use ExtUtils::MakeMaker;
 
-my %tables = (8859 => ['ascii.ucm', 'cp1250.ucm', 'koi8-r.ucm', 'jis0201.ucm' ],
-              EBCDIC  => ['cp1047.ucm','cp37.ucm','posix-bc.ucm'],
-              Symbols => ['symbol.ucm','dingbats.ucm'],
-             );
+my %tables = 
+    (
+     8859 => ['ascii.ucm',  'koi8-r.ucm', 'viscii.ucm',
+             'ibm-1250.ucm',  'ibm-1251.ucm',
+             'ibm-1253.ucm',  'ibm-1254.ucm',
+             'ibm-1255.ucm',  'ibm-1256.ucm',
+             'ibm-1257.ucm',   'ibm-1258.ucm',
+             'ibm-1252.ucm',
+             qw(macCentEuro.enc  macCroatian.enc 
+                macCyrillic.enc  macDingbats.enc 
+                macGreek.enc     macIceland.enc 
+                macRoman.enc     macRumanian.enc 
+                macSami.enc      macThai.enc 
+                macTurkish.enc   macUkraine.enc),
+             ],
+     EBCDIC  => ['cp1047.ucm','cp37.ucm','posix-bc.ucm'],
+     Symbols => ['symbol.ucm','dingbats.ucm'],
+     );
 
 opendir(ENC,'Encode');
 while (defined(my $file = readdir(ENC)))
diff --git a/ext/Encode/lib/Encode/Alias.pm b/ext/Encode/lib/Encode/Alias.pm
new file mode 100644 (file)
index 0000000..83d09ae
--- /dev/null
@@ -0,0 +1,227 @@
+package Encode::Alias;
+use strict;
+use Encode qw(find_encoding);
+our $VERSION = do { my @r = (q$Revision: 0.95 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $DEBUG = 0;
+require Exporter;
+
+our @ISA = qw(Exporter);
+
+# Public, encouraged API is exported by default
+our @EXPORT = qw (
+                 findAlias
+                 define_alias
+                 );
+
+our @Alias;  # ordered matching list
+our %Alias;  # cached known aliases
+
+sub findAlias
+{
+    my $class = shift;
+    local $_ = shift;
+    unless (exists $Alias{$_})
+    {
+       for (my $i=0; $i < @Alias; $i += 2)
+       {
+           my $alias = $Alias[$i];
+           my $val   = $Alias[$i+1];
+           my $new;
+           if (ref($alias) eq 'Regexp' && $_ =~ $alias)
+           {
+               $new = eval $val;
+               # $@ and warn "$val, $@";
+           }
+           elsif (ref($alias) eq 'CODE')
+           {
+               $new = $alias->($val);
+           }
+           elsif (lc($_) eq lc($alias))
+           {
+               $new = $val;
+           }
+           if (defined($new))
+           {
+               next if $new eq $_; # avoid (direct) recursion on bugs
+               my $enc = (ref($new)) ? $new : Encode::find_encoding($new);
+               if ($enc)
+               {
+                   $Alias{$_} = $enc;
+                   last;
+               }
+           }
+       }
+    }
+    return $Alias{$_};
+}
+
+sub define_alias
+{
+    while (@_)
+    {
+       my ($alias,$name) = splice(@_,0,2);
+       unshift(@Alias, $alias => $name);   # newer one has precedence
+       # clear %Alias cache to allow overrides
+       if (ref($alias)){
+           for my $k (keys %Alias){
+               if (ref($alias) eq 'Regexp' && $k =~ $alias)
+               {
+                   $DEBUG and warn $k;
+                   delete $Alias{$k};
+               }
+               elsif (ref($alias) eq 'CODE')
+               {
+                   delete $Alias{$alias->($name)};
+               }
+           }
+       }else{
+           delete $Alias{$alias};
+       }
+    }
+}
+
+
+# Allow variants of iso-8859-1 etc.
+define_alias( qr/^iso[-_]?(\d+)[-_](\d+)$/i => '"iso-$1-$2"' );
+
+# At least HP-UX has these.
+define_alias( qr/^iso8859(\d+)$/i => '"iso-8859-$1"' );
+
+# More HP stuff.
+define_alias( qr/^(?:hp-)?(arabic|greek|hebrew|kana|roman|thai|turkish)8$/i => '"${1}8"' );
+
+# The Official name of ASCII.
+define_alias( qr/^ANSI[-_]?X3\.4[-_]?1968$/i => '"ascii"' );
+
+# This is a font issue, not an encoding issue.
+# (The currency symbol of the Latin 1 upper half
+#  has been redefined as the euro symbol.)
+define_alias( qr/^(.+)\@euro$/i => '"$1"' );
+
+# Allow latin-1 style names as well
+                     # 0  1  2  3  4  5   6   7   8   9  10
+our @Latin2iso = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
+define_alias( qr/^(?:iso[-_]?)?latin[-_]?(\d+)$/i 
+             => '"iso-8859-$Encode::Alias::Latin2iso[$1]"' );
+
+# Allow winlatin1 style names as well
+our %Winlatin2cp   = (
+                     'latin1'     => 1252,
+                     'latin2'     => 1250,
+                     'cyrillic'   => 1251,
+                     'greek'      => 1253,
+                     'turkish'    => 1254,
+                     'hebrew'     => 1255,
+                     'arabic'     => 1256,
+                     'baltic'     => 1257,
+                     'vietnamese' => 1258,
+                    );
+
+define_alias( qr/win(latin[12]|cyrillic|baltic|greek|turkish|
+                     hebrew|arabic|baltic|vietnamese)$/ix => 
+             '"cp" . $Encode::Alias::Winlatin2cp{lc($1)}' );
+
+# Common names for non-latin prefered MIME names
+define_alias( 'ascii'    => 'US-ascii',
+              'cyrillic' => 'iso-8859-5',
+              'arabic'   => 'iso-8859-6',
+              'greek'    => 'iso-8859-7',
+              'hebrew'   => 'iso-8859-8',
+              'thai'     => 'iso-8859-11',
+              'tis620'   => 'iso-8859-11',
+           );
+
+# At least AIX has IBM-NNN (surprisingly...) instead of cpNNN.
+# And Microsoft has their own naming (again, surprisingly).
+define_alias( qr/^(?:ibm|ms)[-_]?(\d\d\d\d?)$/i => '"cp$1"');
+
+# Sometimes seen with a leading zero.
+define_alias( qr/^cp037$/i => '"cp37"');
+
+# Ououououou.
+define_alias( qr/^macRomanian$/i => '"macRumanian"');
+
+# Standardize on the dashed versions.
+define_alias( qr/^utf8$/i  => 'utf-8' );
+define_alias( qr/^koi8r$/i => 'koi8-r' );
+define_alias( qr/^koi8u$/i => 'koi8-u' );
+
+# TODO: HP-UX '8' encodings arabic8 greek8 hebrew8 kana8 thai8 turkish8
+# TODO: HP-UX '15' encodings japanese15 korean15 roi15
+# TODO: Cyrillic encoding ISO-IR-111 (useful?)
+# TODO: Armenian encoding ARMSCII-8
+# TODO: Hebrew encoding ISO-8859-8-1
+# TODO: Thai encoding TCVN
+# TODO: Korean encoding Johab
+# TODO: Vietnamese encodings VPS
+# TODO: Mac Asian+African encodings: Arabic Armenian Bengali Burmese
+#       ChineseSimp ChineseTrad Devanagari Ethiopic ExtArabic
+#       Farsi Georgian Gujarati Gurmukhi Hebrew Japanese
+#       Kannada Khmer Korean Laotian Malayalam Mongolian
+#       Oriya Sinhalese Symbol Tamil Telugu Tibetan Vietnamese
+
+# Map white space and _ to '-'
+define_alias( qr/^(\S+)[\s_]+(.*)$/i => '"$1-$2"' );
+
+1;
+__END__
+=head1 NAME
+
+Encode::Alias - alias defintions to encodings
+
+=head1 SYNOPSIS
+
+  use Encode qw(define_alias);
+  define_alias( newName => ENCODING);
+
+=head1 DESCRIPTION
+
+Allows newName to be used as am alias for ENCODING. ENCODING may be
+either the name of an encoding or and encoding object (as described in L<Encode>).
+
+Currently I<newName> can be specified in the following ways:
+
+=over 4
+
+=item As a simple string.
+
+=item As a qr// compiled regular expression, e.g.:
+
+  define_alias( qr/^iso8859-(\d+)$/i => '"iso-8859-$1"' );
+
+In this case if I<ENCODING> is not a reference it is C<eval>-ed to
+allow C<$1> etc. to be subsituted.  The example is one way to names as
+used in X11 font names to alias the MIME names for the iso-8859-*
+family.  Note the double quote inside the single quote. 
+
+If you are using regex here, you have to do so or it won't work in
+this case.  Also not regex is tricky even for the experienced.  Use it
+with caution.
+
+=item As a code reference, e.g.:
+
+  define_alias( sub { return /^iso8859-(\d+)$/i ? "iso-8859-$1" : undef } , '');
+
+In this case C<$_> will be set to the name that is being looked up and
+I<ENCODING> is passed to the sub as its first argument.  The example
+is another way to names as used in X11 font names to alias the MIME
+names for the iso-8859-* family.
+
+=item Alias overloading
+
+You can override predefined aliases by simply applying define_alias().  
+New alias is always evaluated first and when neccessary define_alias()
+flushes internal cache to make new definition available.
+
+  # redirect  SHIFT_JIS to MS/IBM Code Page 932, which is a
+  # superset of SHIFT_JIS
+
+  Encode::define_alias( qr/shift.*jis$/i  => '"cp932"' );
+  Encode::define_alias( qr/sjis$/i        => '"cp932"' );
+
+=head1 SEE ALSO
+
+L<Encode>, L<Encode::Supported>
+
+=back
+
diff --git a/ext/Encode/lib/Encode/Supported.pod b/ext/Encode/lib/Encode/Supported.pod
new file mode 100644 (file)
index 0000000..2676db2
--- /dev/null
@@ -0,0 +1,213 @@
+=head1 NAME
+
+Encode::Supported -- Supported encodings by Encode
+
+=head1 DESCRIPTION
+
+=Encoding Names
+
+Encoding names are case insensitive. White space in names
+is ignored.  In addition an encoding may have aliases.
+Each encoding has one "canonical" name.  The "canonical"
+name is chosen from the names of the encoding by picking
+he first in the following sequence:
+
+       o The MIME name as defined in IETF RFCs.
+       o The name in the IANA registry.
+       o The name used by the organization that defined it.
+
+Because of all the alias issues, and because in the gen-
+eral case encodings have state, "Encode" uses the encoding
+object internally once an operation is in progress.
+
+=head2 Supported Encodings
+
+As of Perl 5.8.0, at least the following encodings are recognized.
+Note that unless otherwise specified, they are all case insensitive
+(via alias) and all occurance of spaces are replaced with '-'.  In
+other words, "ISO 8859 1" and "iso-8859-1" are identical.
+
+=head3 ASCII
+
+  Canonical    Aliases
+  -----------------------
+  ascii                uc-ascii
+
+=head3 The Unicode
+
+  utf8         UTF-8
+  utf16                UTF-16
+  ucs2         UCS-2, iso-10646-1
+
+=head3 The ISO 8859, KOI, and other 1-byte encodings
+
+The following encodings are based upon ASCII.  For most cases it uses
+\x80-\xff (upper half) to map non-ASCII characters.
+
+  iso-8859-1   latin1
+  iso-8859-2   latin2
+  iso-8859-3   latin3
+  iso-8859-4   latin4
+  iso-8859-5   latin
+  iso-8859-6   latin
+  iso-8859-7
+  iso-8859-8
+  iso-8859-9   latin5
+  iso-8859-10  latin6
+  iso-8859-11
+  (iso-8859-12 is nonexistent)
+  iso-8859-13   latin7
+  iso-8859-14  latin8
+  iso-8859-15  latin9
+  iso-8859-16  latin10
+
+  koi8-f
+  koi8-r
+  koi8-u
+
+  viscii       # ASCII + vietnamese
+
+  cp1250       WinLatin2
+  cp1251       WinCyrillic
+  cp1252       WinLatin1
+  cp1253       WinGreek
+  cp1254       WinTurkiskh
+  cp1255       WinHebrew
+  cp1256       WinArabic
+  cp1257       WinBaltic
+  cp1258       WinVietnamese
+  # all cp* are also available as ibm-* and ms-*
+
+  maccentraleuropean  
+  maccroatian
+  macroman
+  maccyrillic
+  macromanian
+  macdingbats       
+  macsami
+  macgreek 
+  macthai
+  macicelandic    
+  macturkish
+  macukraine
+
+=head3 The CJK: Chinese, Japanese, Korean (Multibyte)
+
+Note Vietnamese is listed above.  Also read "Encoding vs Charset"
+below.  Also note these are impelemented in distinct module by
+languages, due the the size concerns.  See these perldocs also.
+
+  cp936      gbk                   # Encode::CN
+  euc-cn                           # Encode::CN
+  gb12345                          # Encode::CN
+  gb2312                           # Encode::CN
+  gb2312                           # Encode::CN
+  hz                               # Encode::CN
+  iso-ir-165                       # Encode::CN
+
+  7bit-jis       jis               # Encode::JP
+  cp932                                    # Encode::JP
+  euc-jp         ujis              # Encode::JP
+  iso-2022-jp                      # Encode::JP
+  macjapan                         # Encode::JP
+  shiftjis       Shift_JIS, sjis   # Encode::JP
+  
+  euc-kr                           # Encode::KR
+  ksc5601                          # Encode::KR
+  cp949                             # Encode::KR
+
+  big5                             # Encode::TW
+  big5-hkscs                       # Encode::TW
+  cp950                             # Encode::TW
+
+Due to size concerns, additional Chinese encodings including "GB
+18030", "EUC-TW" and "BIG5PLUS" are distributed separately on CPAN,
+under the name Encode::HanExtra.
+
+=head3 EBCDIC
+
+See perlebcdic for details.
+
+  cp1047
+  cp37
+  posix-bc
+
+=head3 Symbols and dingbats
+
+  symbol
+  dingbats
+
+=head1 Encoding vs. Charset
+
+Character encoding (or just "encoding") and Character Set (or just
+"charset") are often used interchangeably but they are different
+concepts.
+
+Charset determines which characters to be included in a given text.
+
+Encoding actually maps charset(s) to stream of bits.
+
+Note a given encoding contains multiple charsets.  For instance,
+euc-jp contains ASCII, JIS X 0201 (Hankaku Kana), JIS X 0208 (Zenkaku
+Kana and Kanji) and JIS X 0212 (Extended Kanji) in a single encoding.
+
+As the name suggests, the Encode module supports encodings, not
+individual charsets.
+
+=head1 Encoding Classification (by Anton Tagunov)
+
+Encodings
+
+  US-ASCII    UTF-8       KOI8-R      ISO-8859-*
+  ISO-2022-CN ISO-2022-JP Big5
+  EUC-CN      EUC-JP      EUC-KR
+
+are <http://www.iana.org/assignments/character-sets>-registered as
+preferred MIME names and may probably be used  over the Internet.  So is
+
+  Shift_JIS
+
+but despite its wide spread it bears the label of being
+Microsft proprietary -- was.  Now Shift JIS is official as of
+JIS X 0208-1997.
+
+         UTF-16 KOI8-U
+
+are IANA-registered preferred MIME names but probably
+shoule be avoided as encoding for web pages due to lack of
+browser support.
+
+  ISO-2022      (http://www.ecma.ch/ecma1/STAND/ECMA-035.HTM)
+  ISO-2022-JP-1 (http://www.faqs.org/rfcs/rfc2237.html)
+  ISO-IR-165    (http://www.faqs.org/rfcs/rfc1345.html)
+  GBK
+  VISCII
+  GB 12345      (only plains 1 and 2 available)
+  GB 18030
+  CNS 11643
+
+are totally valid encodings but not registered at IANA.
+
+   BIG5PLUS
+   EUC-JP-0212   (Encode::lib::Encode::Tcl::Extended)
+
+are a bit proprietary
+
+You may probably get some info on CJK encodings at
+
+brief description for most of the mentioned CJK encodings
+
+F<http://www.debian.org.ru/doc/manuals/intro-i18n/ch-codes.html>
+
+several years old, but still useful
+
+F<http://www.oreilly.com/people/authors/lunde/cjk_inf.html>
+
+and some in-depth reading for the heroes :-)
+F<http://www.ecma.ch/ecma1/STAND/ECMA-035.HTM> (eq ISO-2022)
+
+=head1 See Also
+
+L<Encode>, L<Encode::CN>, L<Encode::JP>, L<Encode::KR>, L<Encode::TW>
+
+=cut
diff --git a/ext/Encode/t/Aliases.t b/ext/Encode/t/Aliases.t
new file mode 100644 (file)
index 0000000..3afaeae
--- /dev/null
@@ -0,0 +1,87 @@
+#!../perl
+
+use strict;
+use Encode::CN;
+use Encode::JP;
+use Encode::KR;
+use Encode::TW;
+
+my %a2c;
+
+BEGIN {
+       %a2c = (
+               'ascii'    => 'US-ascii',
+               'cyrillic' => 'iso-8859-5',
+               'arabic'   => 'iso-8859-6',
+               'greek'    => 'iso-8859-7',
+               'hebrew'   => 'iso-8859-8',
+               'thai'     => 'iso-8859-11',
+               'tis620'   => 'iso-8859-11',
+               'ja_JP.euc'     => 'euc-jp',
+               'x-euc-jp'      => 'euc-jp',
+               'zh_CN.euc'     => 'euc-cn',
+               'x-euc-cn'      => 'euc-cn',
+               'ko_KR.euc'     => 'euc-kr',
+               'x-euc-kr'      => 'euc-kr',
+               'ujis'          => 'euc-jp',
+               'Shift_JIS'     => 'shiftjis',
+               'x-sjis'        => 'shiftjis',
+               'jis'           => '7bit-jis',
+               'big-5'         => 'big5',
+               'zh_TW.Big5'    => 'big5',
+               'big5-hk'       => 'big5-hkscs',
+               'WinLatin1'     => 'cp1252',
+               'WinLatin2'     => 'cp1250',
+               'WinCyrillic'   => 'cp1251',
+               'WinGreek'      => 'cp1253',
+               'WinTurkish'    => 'cp1254',
+               'WinHebrew'     => 'cp1255',
+               'WinArabic'     => 'cp1256',
+               'WinBaltic'     => 'cp1257',
+               'WinVietnamese' => 'cp1258',
+               );
+
+       for my $i (1..11,13..16){
+           $a2c{"ISO 8859 $i"} = "iso-8859-$i";
+       }
+       for my $i (1..10){
+           $a2c{"ISO Latin $i"} = "iso-8859-$Encode::Alias::Latin2iso[$i]";
+       }
+       for my $k (keys %Encode::Alias::Winlatin2cp){
+           my $v = $Encode::Alias::Winlatin2cp{$k};
+           $a2c{"Win" . ucfirst($k)} = "cp" . $v;
+           $a2c{"IBM-$v"} = "cp" . $v;
+           $a2c{"MS-$v"} = "cp" . $v;
+       }
+}
+
+use Test::More tests => (scalar keys %a2c) * 2;
+
+print "# alias test\n";
+
+foreach my $a (keys %a2c){          
+    my $e = Encode::find_encoding($a);
+    is((defined($e) and $e->name), $a2c{$a});
+}
+
+# now we override some of the aliases and see if it works fine
+
+Encode::define_alias( qr/shift.*jis$/i  => '"macjapan"' );
+Encode::define_alias( qr/sjis$/i        => '"cp932"' );
+
+@a2c{qw(Shift_JIS x-sjis)} = qw(macjapan cp932);
+
+print "# alias test with alias overrides\n";
+
+foreach my $a (keys %a2c){          
+    my $e = Encode::find_encoding($a);
+    is((defined($e) and $e->name), $a2c{$a});
+}
+
+__END__
+for (my $i = 0; $i < @Encode::Alias::Alias; $i+=2){
+    my ($k, $v) = @Encode::Alias::Alias[$i, $i+1];
+    print "$k => $v\n";
+}
+
+
diff --git a/ext/Encode/t/CJKalias.t b/ext/Encode/t/CJKalias.t
deleted file mode 100644 (file)
index cc1efe5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-use strict;
-use Encode::CN;
-use Encode::JP;
-use Encode::KR;
-use Encode::TW;
-
-print "# alias test\n";
-
-my %a2c;
-
-BEGIN {
-       %a2c = qw(
-                 ja_JP.euc     euc-jp
-                 x-euc-jp      euc-jp
-                 zh_CN.euc     euc-cn
-                 x-euc-cn      euc-cn
-                 ko_KR.euc     euc-kr
-                 x-euc-kr      euc-kr
-                 ujis          euc-jp
-                 Shift_JIS     shiftjis
-                 x-sjis        shiftjis
-                 jis           7bit-jis
-                 big-5         big5
-                 zh_TW.Big5    big5
-                 big5-hk       big5-hkscs
-                 );
-}
-
-use Test::More tests => scalar keys %a2c;
-
-foreach my $a (keys %a2c){          
-    my $e = Encode::find_encoding($a);
-    is($e->name, $a2c{$a});
-}
-