Upgrade to Encode 1.52, from Dan Kogai.
[p5sagit/p5-mst-13.2.git] / ext / Encode / lib / Encode / Supported.pod
1 =head1 NAME
2
3 Encode::Supported -- Supported encodings by Encode
4
5 =head1 DESCRIPTION
6
7 =head2 Encoding Names
8
9 Encoding names are case insensitive. White space in names
10 is ignored.  In addition an encoding may have aliases.
11 Each encoding has one "canonical" name.  The "canonical"
12 name is chosen from the names of the encoding by picking
13 the first in the following sequence (with a few exceptions).
14
15 =over
16
17 =item *
18
19 The name used by the Perl community.  That includes 'utf8' and 'ascii'.
20 Unlike aliases, canonical names directly reach the method so such
21 frequently used words like 'utf8' don't need to do alias lookups.
22
23 =item *
24
25 The MIME name as defined in IETF RFCs  This includes all "iso-"'s.
26
27 =item * 
28
29 The name in the IANA registry.
30
31 =item *
32
33 The name used by the organization that defined it.
34
35 =back
36
37 In case I<de jure> canonical names differ from that of the Encode
38 module, they are always aliased if it ever be implemented.  So you can
39 safely tell if a given encoding is implemented or not just by passing 
40 the canonical name.
41
42 Because of all the alias issues, and because in the general case 
43 encodings have state, "Encode" uses an encoding object internally 
44 once an operation is in progress.
45
46 =head1 Supported Encodings
47
48 As of Perl 5.8.0, at least the following encodings are recognized.
49 Note that unless otherwise specified, they are all case insensitive
50 (via alias) and all occurrence of spaces are replaced with '-'.
51 In other words, "ISO 8859 1" and "iso-8859-1" are identical.
52
53 Encodings are categorized and implemented in several different modules
54 but you don't have to C<use Encode::XX> to make them available for
55 most cases.  Encode.pm will automatically load those modules on demand.
56
57 =head2 Built-in Encodings
58
59 The following encodings are always available.
60
61   Canonical     Aliases                      Comments & References
62   ----------------------------------------------------------------
63   ascii         US-ascii                                    [ECMA]
64   iso-8859-1    latin1                                       [ISO]
65   utf8          UTF-8                                    [RFC2279]
66   ----------------------------------------------------------------
67
68 =head2 Encode::Unicode -- other Unicode encodings
69
70 Unicode coding schemes other than native utf8 are supported by
71 Encode::Unicode which will be autoloaded on demand.
72
73   ----------------------------------------------------------------
74   UCS-2BE       UCS-2, iso-10646-1                      [IANA, UC]
75   UCS-2LE                                                     [UC]
76   UTF-16                                                      [UC]
77   UTF-16BE                                                    [UC]
78   UTF-16LE                                                    [UC]
79   UTF-32                                                      [UC]
80   UTF-32BE                                                    [UC]
81   UTF-32LE                                                    [UC]
82   ----------------------------------------------------------------
83
84 To find how those (UCS-2|UTF-(16|32))(LE|BE)? differ to one another,
85 see L<Encode::Unicode>. 
86
87 =head2 Encode::Byte -- Extended ASCII
88
89 Encode::Byte implements most of single-byte encodings except for
90 Symbols and EBCDIC. The following encodings are based single-byte
91 encoding implemented as extended ASCII.  For most cases it uses
92 \x80-\xff (upper half) to map non-ASCII characters.
93
94 =over 2
95
96 =item ISO-8859 and corresponding vendor mappings
97
98 Since there are so many, they are presented in table format with
99 languages and corresponding encoding names by vendors.  Note the table
100 is sorted in order of ISO-8859 and the corresponding vendor mappings
101 are slightly different from that of ISO.  See
102 L<http://czyborra.com/charsets/iso8859.html> for details.
103
104   Lang/Regions  ISO/Other Std.  DOS     Windows Macintosh  Others
105   ----------------------------------------------------------------
106   N. America    (ASCII)         cp437        AdobeStandardEncoding
107                                 cp863 (DOSCanadaF)
108   W.  Europe    iso-8859-1      cp850   cp1252  MacRoman  nextstep
109                                                          hp-roman8
110                                 cp860 (DOSPortuguese)
111   Cntrl. Europe iso-8859-2      cp852   cp1250  MacCentralEurRoman
112                                                 MacCroatian
113                                                 MacRomanian
114                                                 MacRumanian
115   Latin3 [1]    iso-8859-3      
116   Latin4 [2]    iso-8859-4              
117   Cyrillics     iso-8859-5      cp855   cp1251  MacCyrillic
118     (Also see next section)     cp866           MacUkrainian
119   Arabic        iso-8859-6      cp864   cp1256  MacArabic
120                                 cp1006          MacFarsi
121   Greek         iso-8859-7      cp737   cp1253  MacGreek
122                                 cp869 (DOSGreek2)
123   Hebrew        iso-8859-8      cp862   cp1255  MacHebrew
124   Turkish       iso-8859-9      cp857   cp1254  MacTurkish
125   Nordics       iso-8859-10     cp865
126                                 cp861           MacIcelandic
127                                                 MacSami
128   Thai          iso-8859-11 [3] cp874           MacThai
129   (iso-8859-12 is nonexistent. Reserved for Indics?)
130   Baltics       iso-8859-13     cp775           cp1257
131   Celtics       iso-8859-14
132   Latin9 [4]    iso-8859-15
133   Latin10       iso-8859-16
134   Vietnamese    viscii                  cp1258  MacVietnamese
135   ----------------------------------------------------------------
136
137   [1] Esperanto, Maltese, and Turkish. Turkish is now on 8859-5.
138   [2] Baltics.  Now on 8859-10.
139   [3] Also know as TIS 620. 
140   [4] Nicknamed Latin0; Euro sign as well as French and Finnish
141       letters that are missing from 8859-1 are added.
142
143 All cp* are also available as ibm-*, ms-*, and windows-* .  See also
144 L<http://czyborra.com/charsets/codepages.html>.
145
146 Macintosh encodings don't seem to be registered in such entities as
147 IANA.  "Canonical" names in Encode are based upon Apple's Tech Note
148 1150.  See L<http://developer.apple.com/technotes/tn/tn1150.html> 
149 for details
150
151 =item KOI8 - De Facto Standard for Cyrillic world
152
153 Though ISO-8859 does have ISO-8859, KOI8 series is far more popular
154 in the Net.   L<Encode> comes with the following KOI charsets.
155 For gory details, see L<http://czyborra.com/charsets/cyrillic.html>
156
157   ----------------------------------------------------------------
158   koi8-f                                        
159   koi8-r cp878                                           [RFC1489]
160   koi8-u                                                 [RFC2319]
161   ----------------------------------------------------------------
162
163 =item gsm0338 - Hentai Latin 1
164
165 GSM0338 is for GSM handsets. Though it shares alphanumerals with
166 ASCII, control character ranges and other parts are mapped very
167 differently, presumably to store Greek and Cyrillic alphabets.
168 This is also covered in Encode::Byte even though it does not
169 comply to extended ASCII.
170
171 =back
172
173 =head2 The CJK: Chinese, Japanese, Korean (Multibyte)
174
175 Note that Vietnamese is listed above.  Also read "Encoding vs Charset"
176 below.  Also note these are implemented in distinct module by
177 languages, due the the size concerns.  Please refer to their
178 respective document pages.
179
180 =over 4
181
182 =item Encode::CN -- Continental China
183
184   Standard      DOS/Win Macintosh                Comment/Reference
185   ----------------------------------------------------------------
186   euc-cn [1]            MacChineseSimp
187   (gbk)         cp936 [2]
188   gb12345-raw                      { GB12345 without CES }
189   gb2312-raw                       { GB2312  without CES }
190   hz
191   iso-ir-165
192   ----------------------------------------------------------------
193
194   [1] GB2312 is aliased to this.  see L<Microsoft-related naming mess>
195   [2] gbk is aliased to this. see L<Microsoft-related naming mess>
196
197 =item Encode::JP -- Japan
198
199   Standard      DOS/Win Macintosh                Comment/Reference
200   ----------------------------------------------------------------
201   euc-jp
202   shiftjis      cp932   macJapanese
203   7bit-jis
204   euc-jp
205   iso-2022-jp                                            [RFC1468]
206   iso-2022-jp-1                                          [RFC2237]
207   jis0201-raw  { JIS X 0201 (roman + halfwidth kana) without CES }
208   jis0208-raw  { JIS X 0208 (Kanji + fullwidth kana) without CES }
209   jis0212-raw  { JIS X 0212 (Extended Kanji)         without CES }
210   ----------------------------------------------------------------
211
212 =item Encode::KR -- Korea
213
214   Standard      DOS/Win Macintosh                Comment/Reference
215   ----------------------------------------------------------------
216   euc-kr                MacKorean                        [RFC1557]
217                 cp949 [1]                    
218   iso-2022-kr                                            [RFC1557]
219   johab                                  [KS X 1001:1998, Annex 3]
220   ksc5601-raw                              { KSC5601 without CES }
221   ----------------------------------------------------------------
222
223   [1] ks_c_5601-1987, (x-)?windows-949, and uhc are aliased to this.
224   See below.
225
226 =item Encode::TW -- Taiwan
227
228   Standard      DOS/Win Macintosh                Comment/Reference
229   ----------------------------------------------------------------
230   big5-eten     cp950   MacChineseTrad {big5 aliased to big5-eten}
231   big5-hkscs                              
232   ----------------------------------------------------------------
233
234 =item Encode::HanExtra -- More Chinese via CPAN
235
236 Due to size concerns, additional Chinese encodings below are
237 distributed separately on CPAN, under the name Encode::HanExtra.
238
239   Standard      DOS/Win Macintosh                Comment/Reference
240   ----------------------------------------------------------------
241   gb18030
242   euc-tw
243   big5plus
244   ----------------------------------------------------------------
245
246 =back
247
248 =head2 Miscellaneous encodings
249
250 =over 4
251
252 =item Encode::EBCDIC
253
254 See L<perlebcdic> for details.
255
256   ----------------------------------------------------------------
257   cp37
258   cp500  
259   cp875  
260   cp1026  
261   cp1047  
262   posix-bc
263   ----------------------------------------------------------------
264
265 =item Encode::Symbols
266
267 For symbols  and dingbats.
268
269   ----------------------------------------------------------------
270   symbol
271   dingbats
272   MacDingbats
273   AdobeZdingbat
274   AdobeSymbol
275   ----------------------------------------------------------------
276
277 =back
278
279 =head1 Unsupported encodings
280
281 The following are not supported as yet.  Some because they are rarely
282 used, some because of technical difficulties.  They may be supported by
283 external modules via CPAN in future, however.
284
285 =over 4
286
287 =item   ISO-2022-JP-2 [RFC1554]
288
289 Not very popular yet.  Needs Unicode Database or equivalent to
290 implement encode() (Because it includes JIS X 0208/0212, KSC5601, and
291 GB2312 simultaneously, which code points in Unicode overlap.  So you
292 need to lookup the database to determine what character set a given
293 Unicode character should belong). 
294
295 =item ISO-2022-CN [RFC1922]
296
297 Not very popular.  Needs CNS 11643-1 and 2 which are not available in
298 this module.  CNS 11643 is supported (via euc-tw) in Encode::HanExtra.
299 Autrijus may add support for this encoding in his module in future.
300
301 =item various UP-UX encodings
302
303 The following are unsupported due to the lack of mapping data.
304
305   '8'  - arabic8, greek8, hebrew8, kana8, thai8, and turkish8
306   '15' - japanese15, korean15, and roi15
307
308 =item Cyrillic encoding ISO-IR-111
309
310 Anton doubts its usefulness.
311
312 =item ISO-8859-8-1 [Hebrew]
313
314 None of the Encode team knows Hebrew enough (ISO-8859-8, cp1255 and
315 MacHebrew are supported because and just because there were mappings
316 available at L<http://www.unicode.org/>).  Contributions welcome.
317
318 =item ISIRI 3342, Iran System, ISIRI 2900 [Farsi]
319
320 Ditto.
321
322 =item Thai encoding TCVN
323
324 Ditto.
325
326 =item Vietnamese encodings VPS
327
328 Though Jungshik has reported that Mozilla supports this encoding it
329 was too late before 5.8.0 for us to add one.  In future via a separate
330 module.  See
331 L<http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.uf>
332 and
333 L<http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.ut>
334 if you are interested in helping us.
335
336 =item Various Mac encodings
337
338 The following are unsupported due to the lack of mapping data. 
339
340   MacArmenian,  MacBengali,   MacBurmese,   MacEthiopic
341   MacExtArabic, MacGeorgian,  MacKannada,   MacKhmer
342   MacLaotian,   MacMalayalam, MacMongolian, MacOriya
343   MacSinhalese, MacTamil,     MacTelugu,    MacTibetan
344   MacVietnamese
345
346 The rest of which already available are based upon the vendor mappings
347 at L<http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/> .
348
349 =item (Mac) Indic encodings
350
351 The maps for the following is available at L<http://www.unicode.org/>
352 but remains unsupport because those encodings need algorithmical
353 approach, currently unsupported by F<enc2xs>
354
355   MacDevanagari
356   MacGurmukhi
357   MacGujarati
358
359 For details, please see C<Unicode mapping issues and notes:> at
360 L<http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/DEVANAGA.TXT> .
361
362 I believe this issue is prevalent not only for Mac Indics but also in
363 other Indic encodings, but the above were the only Indic encodings
364 maps that I could find at L<http://www.unicode.org/> .
365
366 =back
367
368 =head1 Encoding vs. Charset -- terminology
369
370 We are used to using the term (character) I<encoding> and I<character set>
371 interchangeably.  But just as using the term byte and character is
372 dangerous and should be differentiated when needed, we need to
373 differentiate I<encoding> and I<character set>.
374
375 To understand that, it's follow how we make computers grok our characters.
376
377 =over 4
378
379 =item *
380
381 First we start with which characters to include.  We call this
382 collection of characters I<character repertoire>.
383
384 =item *
385
386 Then we have to give each character a unique ID so your computer can
387 tell the difference from 'a' to 'A'.  This itemized character
388 repertoire is now a I<character set>.
389
390 =item *
391
392 If your computer can grow the character set without further
393 processing, you can go ahead use it.  This is called a I<coded
394 character set> (CCS) or I<raw character encoding>.  ASCII is used this
395 way for most cases.
396
397 =item *
398
399 But in many cases especially multi-byte CJK encodings, you have to
400 tweak a little more.  Your network connection may not accept any data
401 with the Most Significant Bit set, Your computer may not be able to
402 tell if a given byte is a whole character or just half of it.  So you
403 have to I<encode> the character set to use it.
404
405 A I<character encoding scheme> (CES) determines how to encode a given
406 character set, or a set of multiple character sets.  7bit ISO-2022 is
407 an example of CES.  You switch between character sets via I<escape
408 sequence>.
409
410 =back
411
412 Technically, or Mathematically speaking, a character set encoded in
413 such a CES that maps character by character may form a CCS.  EUC is such
414 an example.  CES of EUC is as follows;
415
416 =over 4
417
418 =item *
419
420 Map ASCII unchanged.
421
422 =item *
423
424 Map such a character set that consists of 94 or 96 powered by N
425 members by adding 0x80 to each byte.
426
427 =item *
428
429 You can also use 0x8e and 0x8f to tell the following sequence of
430 characters belong to yet another character set.  each following byte
431 is added by 0x80
432
433 =back
434
435 By carefully looking at at the encoded byte sequence, you may find the
436 byte sequence conforms a unique number.  In that sense EUC is a CCS
437 generated by a CES above from up to four CCS (complicated?).  UTF-8
438 falls into this category.  See L<perlUnicode/"UTF-8"> to find how
439 UTF-8 maps Unicode to a byte sequence.
440
441 You may also find by now why 7bit ISO-2022 cannot conform a CCS.  If
442 you look at a byte sequence \x21\x21, you can't tell if it is two !'s
443 or IDEOGRAPHIC SPACE.  EUC maps the latter to \xA1\xA1 so you have no
444 trouble between "!!". and "  "  
445
446 =head1 Encoding Classification (by Anton Tagunov and Dan Kogai)
447
448 This section tries to classify the supported encodings by their 
449 applicability for information exchange over the Internet and to 
450 choose the most suitable aliases to name them in the context of 
451 such communication.
452
453 =over 2
454
455 =item * 
456
457 To (en|de) code Encodings marked as C<(**)>, You need 
458 C<Encode::HanExtra>, available from CPAN.
459
460 =back
461
462 Encoding names
463
464   US-ASCII    UTF-8    ISO-8859-*  KOI8-R
465   Shift_JIS   EUC-JP   ISO-2022-JP ISO-2022-JP-1
466   EUC-KR      Big5     GB2312
467
468 are registered to IANA as preferred MIME names and may probably 
469 be used over the Internet.
470
471 C<Shift_JIS> has been officialized by JIS X 0208:1997.
472 L<Microsoft-related naming mess> gives details.
473
474 C<GB2312> is the IANA name for C<EUC-CN>.
475 See L<Microsoft-related naming mess> for details.
476
477 C<GB_2312-80> I<raw> encoding is available as C<gb2312-raw>
478 with Encode. See L<Encode::CN> for details.
479
480   EUC-CN
481   KOI8-U        [RFC2319]
482
483 have not been registered with IANA (as of March 2002) but
484 seem to be supported by major web browsers. 
485 IANA name for C<EUC-CN> is C<GB2312>.
486
487   KS_C_5601-1987
488
489 is heavily misused.
490 See L<Microsoft-related naming mess> for details.
491
492 C<KS_C_5601-1987> I<raw> encoding is available as C<kcs5601-raw>
493 with Encode. See L<Encode::KR> for details.
494
495   UTF-16 UTF-16BE UTF-16LE
496
497 are IANA-registered C<charset>s. See [RFC 2781] for details.
498 Jungshik Shin reports that UTF-16 with a BOM is well accepted
499 by MS IE 5/6 and NS 4/6. Beware however that
500
501 =over 2
502
503 =item *
504
505 C<UTF-16> support in any software you're going to be
506 using/interoperating with has probably been less tested
507 then C<UTF-8> support
508
509 =item *
510
511 C<UTF-8> coded data seamlessly passes traditional
512 command piping (C<cat>, C<more>, etc.) while C<UTF-16> coded
513 data is likely to cause confusion (with it's zero bytes,
514 for example)
515
516 =item *
517
518 it is beyond the power of words to describe the way HTML browsers
519 encode non-C<ASCII> form data. To get a general impression visit
520 L<http://ppewww.ph.gla.ac.uk/~flavell/charset/form-i18n.html>.
521 While encoding of form data has stabilized for C<UTF-8> coded pages
522 (at least IE 5/6, NS 6, Opera 6 behave consistently), be sure to
523 expect fun (and cross-browser discrepancies) with C<UTF-16> coded
524 pages!
525
526 =back
527
528 The rule of thumb is to use C<UTF-8> unless you know what
529 you're doing and unless you really benefit from using C<UTF-16>.
530
531
532   ISO-IR-165    [RFC1345]
533   VISCII
534   GB 12345
535   GB 18030 (**)  (see links bellow)
536   EUC-TW   (**)
537
538 are totally valid encodings but not registered at IANA.
539 The names under which they are listed here are probably the
540 most widely-known names for these encodings and are recommended
541 names.
542
543   BIG5PLUS (**)
544
545 is a bit proprietary name. 
546
547 =head2 Microsoft-related naming mess
548
549 Microsoft products misuse the following names:
550
551 =over 2
552
553 =item KS_C_5601-1987
554
555 Microsoft extension to C<EUC-KR>.
556
557 Proper names: C<CP949>, C<UHC>, C<x-windows-949> (as used by Mozilla).
558
559 See L<http://lists.w3.org/Archives/Public/ietf-charsets/2001AprJun/0033.html>
560 for details.
561
562 Encode aliases C<KS_C_5601-1987> to C<cp949> to reflect this common
563 misusage. I<Raw> C<KS_C_5601-1987> encoding is available as
564 C<kcs5601-raw>.
565
566 See L<Encode::KR> for details.
567
568 =item GB2312
569
570 Microsoft extension to C<EUC-CN>.
571
572 Proper names: C<CP936>, C<GBK>.
573
574 C<GB2312> has been registered in the C<EUC-CN> meaning at
575 IANA. This has partially repaired the situation: Microsoft's 
576 C<GB2312> has become a superset of the official C<GB2312>.
577
578 Encode aliases C<GB2312> to C<euc-cn> in full agreement with
579 IANA registration. C<cp936> is supported separately.
580 I<Raw> C<GB_2312-80> encoding is available as C<gb2312-raw>.
581
582 See L<Encode::CN> for details.
583
584 =item Big5
585
586 Microsoft extension to C<Big5>.
587
588 Proper name: C<CP950>.
589
590 Encode separately supports C<Big5> and C<cp950>.
591
592 =item Shift_JIS
593
594 Microsoft's understanding of C<Shift_JIS>.
595
596 JIS has not endorsed the full Microsoft standard however.
597 The official C<Shift_JIS> includes only JIS X 0201 and JIS X 0208
598 character sets, while Microsoft has always been meaning C<Shift_JIS>
599 to encode a wider character repertoire. See C<IANA> registration for
600 C<Windows-31J>.
601
602 As a historical predecessor Microsoft's variant
603 probably has more rights for the name, albeit it may be objected
604 that Microsoft shouldn't have used JIS as part of the name
605 in the first place.
606
607 Unambiguous name: C<CP932>. C<IANA> name (not used?): C<Windows-31J>.
608
609 Encode separately supports C<Shift_JIS> and C<cp932>.
610
611 =back
612
613 =head1 Glossary
614
615 =over 2
616
617 =item character repertoire
618
619 A collection of unique characters.  A I<character> set in the most
620 strict sense. At this stage characters are not numbered.
621
622 =item coded character set (CCS)
623
624 A character set that is mapped in a way computers can use directly.
625 Many character encodings including EUC falls in this category.
626
627 =item character encoding scheme (CES)
628
629 An algorithm to map a character set to a byte sequence.  You don't
630 have to be able to tell which character set a given byte sequence
631 belongs.  7-bit ISO-2022 is a CES but it cannot be a CCS.  EUC is an
632 example of being both a CCS and CES.
633
634 =item charset (in MIME context)
635
636 has long been used in the meaning of C<encoding>, CES.
637
638 While C<character set> word combination has lost this meaning
639 in MIME context since [RFC 2130], C<charset> abbreviation has
640 retained it. This is how [RFC 2277], [RFC 2278] bless C<charset>:
641
642
643  This document uses the term "charset" to mean a set of rules for
644  mapping from a sequence of octets to a sequence of characters, such
645  as the combination of a coded character set and a character encoding
646  scheme; this is also what is used as an identifier in MIME "charset="
647  parameters, and registered in the IANA charset registry ...  (Note
648  that this is NOT a term used by other standards bodies, such as ISO).
649                                                [RFC 2277]
650
651 =item EUC
652
653 Extended Unix Character.  See ISO-2022
654
655 =item ISO-2022
656
657 A CES that was carefully designed to coexist with ASCII.  There are 7
658 bit version and 8 bit version.  
659
660 7 bit version switches character set via escape sequence so this
661 cannot form a CCS.  Since this is more difficult to handle in programs
662 than the 8 bit version, 7 bit version is not very popular except for
663 iso-2022-jp, the de facto standard CES for e-mails.
664
665 8 bit version can conform a CCS.  EUC and ISO-8859 are two examples
666 thereof.  Pre-5.6 perl could use them as string literals.
667
668 =item UCS
669
670 Short for I<Universal Character Set>.  When you say just UCS, it means
671 I<Unicode>
672
673 =item UCS-2
674
675 ISO/IEC 10646 encoding form: Universal Character Set coded in two
676 octets.
677
678 =item Unicode
679
680 A Character Set that aims to include all character repertoire of the
681 world.  Many character sets in various national as well as industrial
682 standards have become, in a way, just subsets of Unicode.
683
684 =item UTF
685
686 Short for I<Unicode Transformation Format>.  Determines how to map a
687 Unicode character into byte sequence.
688
689 =item UTF-16
690
691 A UTF in 16-bit encoding.  Can either be in big endian or little
692 endian.  Big endian version is called UTF-16BE (equals to UCS-2 + 
693 Surrogate Support) and little endian version is UTF-16LE.
694
695 =back
696
697 =head1 See Also
698
699 L<Encode>, 
700 L<Encode::Byte>, 
701 L<Encode::CN>, L<Encode::JP>, L<Encode::KR>, L<Encode::TW>,
702 L<Encode::EBCDIC>, L<Encode::Symbol>
703
704 =head1 References
705
706 =over 2
707
708 =item ECMA
709
710 European Computer Manufacturers Association
711 L<http://www.ecma.ch>
712
713 =over 2
714
715 =item EMCA-035 (eq C<ISO-2022>)
716
717 L<http://www.ecma.ch/ecma1/STAND/ECMA-035.HTM> 
718
719 The very specification of ISO-2022 is available from the link above.
720
721 =back
722
723 =item IANA
724
725 Internet Assigned Numbers Authority
726 L<http://www.iana.org/>
727
728 =over 2
729
730 =item Assigned Charset Names by IANA
731
732 L<http://www.iana.org/assignments/character-sets>
733
734 Most of the C<canonical names> in Encode derive from this list
735 so you can directly apply the string you have extracted from MIME
736 header of mails and web pages.
737
738 =back
739
740 =item ISO
741
742 International Organization for Standardization
743 L<http://www.iso.ch/>
744
745 =item RFC
746
747 Request For Comments -- need I say more?
748 L<http://www.rfc.net/>, L<http://www.faqs.org/rfcs/>
749
750 =item UC
751
752 Unicode Consortium
753 L<http://www.unicode.org/>
754
755 =over 2
756
757 =item Unicode Glossary
758
759 L<http://www.unicode.org/glossary/>
760
761 The glossary of this document is based upon this site.
762
763 =back
764
765 =back
766
767 =head2 Other Notable Sites
768
769 =over 2
770
771 =item czyborra.com
772
773 L<http://czyborra.com/>
774
775 Contains a a lot of useful information, especially gory details of ISO
776 vs. vendor mappings.
777
778 =item CJK.inf
779
780 L<http://www.oreilly.com/people/authors/lunde/cjk_inf.html>
781
782 Somewhat obsolete (last update in 1996), but still useful.  Also try
783
784 L<ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/pdf/GB18030_Summary.pdf>
785
786 You will find brief info on C<EUC-CN>, C<GBK> and mostly on C<GB 18030>
787
788 =item Jungshik Shin's Hangul FAQ
789
790 L<http://jshin.net/faq>
791
792 And especially it's subject 8.
793
794 L<http://jshin.net/faq/qa8.html>
795
796 A comprehensive overview of the Korean (C<KS *>) standards.
797
798 =back
799
800 =head2 Offline sources
801
802 =over 2
803
804 =item C<CJKV Information Processing> by Ken Lunde
805
806 CJKV Information Processing
807 1999 O'Reilly & Associates, ISBN : 1-56592-224-7
808
809 The modern successor of the C<CJK.inf>.
810
811 Features a comprehensive coverage on CJKV character sets and
812 encodings along with many other issues faced by anyone trying
813 to better support CJKV languages/scripts in all the areas of
814 information processing.
815
816 To purchase this book visit
817 L<http://www.oreilly.com/catalog/cjkvinfo/>
818
819 =back
820
821 =cut
822
823 I could not find this page because the hostname doesn't resolve!
824
825 Brief description for most of the mentioned CJK encodings
826 L<http://www.debian.org.ru/doc/manuals/intro-i18n/ch-codes.html>