Upgrade to Encode 2.00.
[p5sagit/p5-mst-13.2.git] / ext / Encode / TW / TW.pm
1 package Encode::TW;
2 BEGIN {
3     if (ord("A") == 193) {
4         die "Encode::TW not supported on EBCDIC\n";
5     }
6 }
7 our $VERSION = do { my @r = (q$Revision: 2.0 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
8
9 use Encode;
10 use XSLoader;
11 XSLoader::load(__PACKAGE__,$VERSION);
12
13 1;
14 __END__
15
16 =head1 NAME
17
18 Encode::TW - Taiwan-based Chinese Encodings
19
20 =head1 SYNOPSIS
21
22     use Encode qw/encode decode/; 
23     $big5 = encode("big5", $utf8); # loads Encode::TW implicitly
24     $utf8 = decode("big5", $big5); # ditto
25
26 =head1 DESCRIPTION
27
28 This module implements tradition Chinese charset encodings as used
29 in Taiwan and Hong Kong.
30 Encodings supported are as follows.
31
32   Canonical   Alias             Description
33   --------------------------------------------------------------------
34   big5-eten   /\bbig-?5$/i      Big5 encoding (with ETen extensions)
35               /\bbig5-?et(en)?$/i
36               /\btca-?big5$/i
37   big5-hkscs  /\bbig5-?hk(scs)?$/i
38               /\bhk(scs)?-?big5$/i
39                                 Big5 + Cantonese characters in Hong Kong
40   MacChineseTrad                Big5 + Apple Vendor Mappings
41   cp950                         Code Page 950 
42                                 = Big5 + Microsoft vendor mappings
43   --------------------------------------------------------------------
44
45 To find out how to use this module in detail, see L<Encode>.
46
47 =head1 NOTES
48
49 Due to size concerns, C<EUC-TW> (Extended Unix Character), C<CCCII>
50 (Chinese Character Code for Information Interchange), C<BIG5PLUS>
51 (CMEX's Big5+) and C<BIG5EXT> (CMEX's Big5e) are distributed separately
52 on CPAN, under the name L<Encode::HanExtra>. That module also contains
53 extra China-based encodings.
54
55 =head1 BUGS
56
57 Since the original C<big5> encoding (1984) is not supported anywhere
58 (glibc and DOS-based systems uses C<big5> to mean C<big5-eten>; Microsoft
59 uses C<big5> to mean C<cp950>), a conscious decision was made to alias
60 C<big5> to C<big5-eten>, which is the de facto superset of the original
61 big5.
62
63 The C<CNS11643> encoding files are not complete. For common C<CNS11643>
64 manipulation, please use C<EUC-TW> in L<Encode::HanExtra>, which contains
65 planes 1-7.
66
67 The ASCII region (0x00-0x7f) is preserved for all encodings, even
68 though this conflicts with mappings by the Unicode Consortium.  See
69
70 L<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
71
72 to find out why it is implemented that way.
73
74 =head1 SEE ALSO
75
76 L<Encode>
77
78 =cut