ext\ExtUtils\t\Embed.t fails test when upgrading a perl with different core headers.
[p5sagit/p5-mst-13.2.git] / ext / Encode / TW / TW.pm
index 61b8271..ffaa844 100644 (file)
@@ -1,52 +1,76 @@
 package Encode::TW;
-our $VERSION = do { my @r = (q$Revision: 0.92 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
-
+BEGIN {
+    if ( ord("A") == 193 ) {
+        die "Encode::TW not supported on EBCDIC\n";
+    }
+}
+use strict;
+use warnings;
 use Encode;
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
-XSLoader::load('Encode::TW',$VERSION);
+XSLoader::load( __PACKAGE__, $VERSION );
 
 1;
 __END__
+
 =head1 NAME
 
 Encode::TW - Taiwan-based Chinese Encodings
 
 =head1 SYNOPSIS
 
-    use Encode 'encode'; 
+    use Encode qw/encode decode/; 
     $big5 = encode("big5", $utf8); # loads Encode::TW implicitly
     $utf8 = decode("big5", $big5); # ditto
 
 =head1 DESCRIPTION
 
-This module implements Taiwan-based Chinese charset encodings.
+This module implements tradition Chinese charset encodings as used
+in Taiwan and Hong Kong.
 Encodings supported are as follows.
 
-  big5         The original Big5 encoding
-  big5-hkscs   Big5 plus Cantonese characters in Hong Kong
-  cp950                Code Page 950 (Big5 + Microsoft vendor mappings)
-  
-To find how to use this module in detail, see L<Encode>.
+  Canonical   Alias            Description
+  --------------------------------------------------------------------
+  big5-eten   /\bbig-?5$/i     Big5 encoding (with ETen extensions)
+          /\bbig5-?et(en)?$/i
+          /\btca-?big5$/i
+  big5-hkscs  /\bbig5-?hk(scs)?$/i
+              /\bhk(scs)?-?big5$/i
+                                Big5 + Cantonese characters in Hong Kong
+  MacChineseTrad               Big5 + Apple Vendor Mappings
+  cp950                                Code Page 950 
+                                = Big5 + Microsoft vendor mappings
+  --------------------------------------------------------------------
+
+To find out how to use this module in detail, see L<Encode>.
 
 =head1 NOTES
 
-Due to size concerns, C<EUC-TW> (Extended Unix Character) and C<BIG5PLUS>
-(CMEX's Big5+) are distributed separately on CPAN, under the name
-L<Encode::HanExtra>. That module also contains extra China-based encodings.
+Due to size concerns, C<EUC-TW> (Extended Unix Character), C<CCCII>
+(Chinese Character Code for Information Interchange), C<BIG5PLUS>
+(CMEX's Big5+) and C<BIG5EXT> (CMEX's Big5e) are distributed separately
+on CPAN, under the name L<Encode::HanExtra>. That module also contains
+extra China-based encodings.
 
 =head1 BUGS
 
-The C<CNS11643> encoding files are not complete (only the first two planes,
-C<11643-1> and C<11643-2>, exist in the distribution). For common CNS11643
+Since the original C<big5> encoding (1984) is not supported anywhere
+(glibc and DOS-based systems uses C<big5> to mean C<big5-eten>; Microsoft
+uses C<big5> to mean C<cp950>), a conscious decision was made to alias
+C<big5> to C<big5-eten>, which is the de facto superset of the original
+big5.
+
+The C<CNS11643> encoding files are not complete. For common C<CNS11643>
 manipulation, please use C<EUC-TW> in L<Encode::HanExtra>, which contains
-plane 1-7.
+planes 1-7.
 
-ASCII part (0x00-0x7f) is preserved for all encodings, even though it
-conflicts with mappings by the Unicode Consortium.  See
+The ASCII region (0x00-0x7f) is preserved for all encodings, even
+though this conflicts with mappings by the Unicode Consortium.  See
 
-F<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
+L<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
 
-to find why it is implemented that way.
+to find out why it is implemented that way.
 
 =head1 SEE ALSO