summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu-xetex/data/mappings/convrtrs.txt
blob: 06121fbee4fc5cc8a4116d0529f9dd2c130344df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
# ******************************************************************************
# *
# *   Copyright (C) 1995-2005, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ******************************************************************************

# If this converter alias table looks very confusing, a much easier to
# understand view can be found at this demo:
# http://www.ibm.com/software/globalization/icu/demo/converters

# IMPORTANT NOTE
#
# This file is not read directly by ICU. If you change it, you need to
# run gencnval, and eventually run pkgdata to update the representation that
# ICU uses for aliases. The gencnval tool will normally compile this file into
# cnvalias.icu. The gencnval -v verbose option will help you when you edit
# this file.

# Please be friendly to the rest of us that edit this table by
# keeping this table free of tabs.

# This is an alias file used by the character set converter.
# A lot of converter information can be found in unicode/ucnv.h, but here
# is more information about this file.
#
# Here is the file format using BNF-like syntax:
#
# converterTable ::= tags { converterLine* }
# converterLine ::= converterName [ tags ] { taggedAlias* }'\n'
# taggedAlias ::= alias [ tags ]
# tags ::= '{' { tag+ } '}'
# tag ::= standard['*']
# converterName ::= [0-9a-zA-Z:_'-']+
# alias ::= converterName
#
# Except for the converter name, aliases are case insensitive.
# Names are separated by whitespace.
# Line continuation and comment sytax are similar to the GNU make syntax.
# Any lines beginning with whitespace (e.g. U+0020 SPACE or U+0009 HORIZONTAL
# TABULATION) are presumed to be a continuation of the previous line.
# The # symbol starts a comment and the comment continues till the end of
# the line.
#
# The converter
#
# All names can be tagged by including a space-separated list of tags in
# curly braces, as in ISO_8859-1:1987{IANA*} iso-8859-1 { MIME* } or
# some-charset{MIME* IANA*}. The order of tags does not matter, and
# whitespace is allowed between the tagged name and the tags list.
#
# The tags can be used to get standard names using ucnv_getStandardName().
#
# The complete list of recognized tags used in this file is defined in
# the affinity list near the beginning of the file.
#
# The * after the standard tag denotes that the previous alias is the
# preferred (default) charset name for that standard. There can only
# be one of these default charset names per converter.



# The world is getting more complicated...
# Supporting XML parsers, HTML, MIME, and similar applications
# that mark encodings with a charset name can be difficult.
# Many of these applications and operating systems will update
# their codepages over time.

# It means that a new codepage, one that differs from an
# old one by changing a code point, e.g., to the Euro sign,
# must not get an old alias, because it would mean that
# old files with this alias would be interpreted differently.

# If an codepage gets updated by assigning characters to previously
# unassigned code points, then a new name is not necessary.
# Also, some codepages map unassigned codepage byte values
# to the same numbers in Unicode for roundtripping. It may be
# industry practice to keep the encoding name in such a case, too
# (example: Windows codepages).

# The aliases listed in the list of character sets
# that is maintained by the IANA (http://www.iana.org/) must
# not be changed to mean encodings different from what this
# list shows. Currently, the IANA list is at
# http://www.iana.org/assignments/character-sets
# It should also be mentioned that the exact mapping table used for each
# IANA names usually isn't specified. This means that some other applications
# and operating systems are left to interpret the exact mappings for the
# underspecified aliases. For instance, Shift-JIS on a Solaris platform
# may be different from Shift-JIS on a Windows platform. This is why
# some of the aliases can be tagged to differentiate different mapping
# tables with the same alias. If an alias is given to more than one converter,
# it is considered to be an ambiguous alias, and the affinity list will
# choose the converter to use when a standard isn't specified with the alias.

# Name matching is case-insensitive. Also, dashes '-', underscores '_'
# and spaces ' ' are ignored in names (thus cs-iso_latin-1, csisolatin1
# and "cs iso latin 1" are the same).
# However, the names in the left column are directly file names
# or names of algorithmic converters, and their case must not
# be changed - or else code and/or file names must also be changed.
# For example, the converter ibm-921 is expected to be the file ibm-921.cnv.



# The immediately following list is the affinity list of supported standard tags.
# When multiple converters have the same alias under different standards,
# the standard nearest to the top of this list with that alias will
# be the first converter that will be opened. The ordering of the aliases
# after this affinity list does not affect the preferred alias, but it may
# affect the order of the returned list of aliases for a given converter.
#
# The general ordering is from specific and frequently used to more general
# or rarely used at the bottom.
{   UTR22           # Name format specified by http://www.unicode.org/unicode/reports/tr22/
    # ICU             # Can also use ICU_FEATURE
    IBM             # The IBM CCSID number is specified by ibm-*
    WINDOWS         # The Microsoft code page identifier number is specified by windows-*. The rest are recognized IE names.
    JAVA            # Source: Sun JDK. Alias name case is ignored, but dashes are not ignored.
    # GLIBC
    # AIX
    # DB2
    # SOLARIS
    # APPLE
    # HPUX
    IANA            # Source: http://www.iana.org/assignments/character-sets
    MIME            # Source: http://www.iana.org/assignments/character-sets
    # MSIE            # MSIE is Internet Explorer, which can be different from Windows (From the IMultiLanguage COM interface)
    # ZOS_USS         # z/OS (os/390) Unix System Services (USS), which has NL<->LF swapping. They have the same format as the IBM tag.
    }



# Fully algorithmic converters

UTF-8 { IANA* MIME* JAVA* WINDOWS }
                                ibm-1208 { IBM* } # UTF-8 with IBM PUA
                                ibm-1209 { IBM }  # UTF-8
                                ibm-5304 { IBM }  # Unicode 2.0, UTF-8 with IBM PUA
                                ibm-5305 { IBM }  # Unicode 2.0, UTF-8
                                ibm-13496 { IBM } # Unicode 3.0, UTF-8 with IBM PUA
                                ibm-13497 { IBM } # Unicode 3.0, UTF-8
                                ibm-17592 { IBM } # Unicode 4.0, UTF-8 with IBM PUA
                                ibm-17593 { IBM } # Unicode 4.0, UTF-8
                                windows-65001 { WINDOWS* }
                                cp1208

# The ICU 2.2 UTF-16/32 converters detect and write a BOM.
UTF-16 { IANA* MIME* JAVA* }    ISO-10646-UCS-2 { IANA }
                                ibm-1204 { IBM* } # UTF-16 with IBM PUA and BOM sensitive
                                ibm-1205 { IBM }  # UTF-16 BOM sensitive
                                unicode
                                csUnicode
                                ucs-2
# The following Unicode CCSIDs (IBM) are not valid in ICU because they are
# considered pure DBCS (exactly 2 bytes) of Unicode,
# and they are a subset of Unicode. ICU does not support their encoding structures.
# 1400 1401 1402 1410 1414 1415 1446 1447 1448 1449 64770 64771 65520 5496 5497 5498 9592 13688
UTF-16BE { IANA* MIME* JAVA* }  x-utf-16be { JAVA }
                                ibm-1200 { IBM* } # UTF-16 BE with IBM PUA
                                ibm-1201 { IBM }  # UTF-16 BE
                                ibm-13488 { IBM } # Unicode 2.0, UTF-16 BE with IBM PUA
                                ibm-13489 { IBM } # Unicode 2.0, UTF-16 BE
                                ibm-17584 { IBM } # Unicode 3.0, UTF-16 BE with IBM PUA
                                ibm-17585 { IBM } # Unicode 3.0, UTF-16 BE
                                ibm-21680 { IBM } # Unicode 4.0, UTF-16 BE with IBM PUA
                                ibm-21681 { IBM } # Unicode 4.0, UTF-16 BE
                                ibm-61955 { IBM } # UTF-16BE with Gaidai University (Japan) PUA
                                ibm-61956 { IBM } # UTF-16BE with HKSCS-Big 5 PUA
                                windows-1201 { WINDOWS* }
                                cp1200
                                cp1201
                                UTF16_BigEndian
                                # ibm-5297 { IBM }  # Unicode 2.0, UTF-16 (BE) (reserved, never used)
                                # iso-10646-ucs-2 { JAVA } # This is ambiguous
                                # ibm-61952 is not a valid CCSID because it's Unicode 1.1
                                # ibm-61953 is not a valid CCSID because it's Unicode 1.0
UTF-16LE { IANA* MIME* JAVA* }  x-utf-16le { JAVA }
                                ibm-1202 { IBM* } # UTF-16 LE with IBM PUA
                                ibm-1203 { IBM }  # UTF-16 LE
                                ibm-13490 { IBM } # Unicode 2.0, UTF-16 LE with IBM PUA
                                ibm-13491 { IBM } # Unicode 2.0, UTF-16 LE
                                ibm-17586 { IBM } # Unicode 3.0, UTF-16 LE with IBM PUA
                                ibm-17587 { IBM } # Unicode 3.0, UTF-16 LE
                                ibm-21682 { IBM } # Unicode 4.0, UTF-16 LE with IBM PUA
                                ibm-21683 { IBM } # Unicode 4.0, UTF-16 LE
                                UTF16_LittleEndian
                                windows-1200 { WINDOWS* }

UTF-32 { IANA* MIME* }          ISO-10646-UCS-4 { IANA }
                                ibm-1236 { IBM* } # UTF-32 with IBM PUA and BOM sensitive
                                ibm-1237 { IBM }  # UTF-32 BOM sensitive
                                csUCS4
                                ucs-4
UTF-32BE { IANA* }              UTF32_BigEndian
                                ibm-1232 { IBM* } # UTF-32 BE with IBM PUA
                                ibm-1233 { IBM }  # UTF-32 BE
UTF-32LE { IANA* }              UTF32_LittleEndian
                                ibm-1234 { IBM* } # UTF-32 LE, with IBM PUA
                                ibm-1235 { IBM }  # UTF-32 LE

# ICU-specific names for special uses
UTF16_PlatformEndian
UTF16_OppositeEndian

UTF32_PlatformEndian
UTF32_OppositeEndian

# On UTF-7:
# RFC 2152 (http://www.imc.org/rfc2152) allows to encode some US-ASCII
# characters directly or in base64. Especially, the characters in set O
# as defined in the RFC (!"#$%&*;<=>@[]^_`{|}) may be encoded directly
# but are not allowed in, e.g., email headers.
# By default, the ICU UTF-7 converter encodes set O directly.
# By choosing the option "version=1", set O will be escaped instead.
# For example:
#     utf7Converter=ucnv_open("UTF-7,version=1");
#
# For details about email headers see RFC 2047.
UTF-7 { IANA* MIME* WINDOWS }   windows-65000 { WINDOWS* }

# UTF-EBCDIC doesn't exist in ICU, but the aliases are here for reference.
#UTF-EBCDIC ibm-1210 { IBM* } ibm-1211 { IBM }

# IMAP-mailbox-name is an ICU-specific name for the encoding of IMAP mailbox names.
# It is a substantially modified UTF-7 encoding. See the specification in:
#
# RFC 2060: INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
# (http://www.ietf.org/rfc/rfc2060.txt)
# Section 5.1.3.  Mailbox International Naming Convention
IMAP-mailbox-name

SCSU { IANA* }
    ibm-1212 { IBM* } # SCSU with IBM PUA
    ibm-1213 { IBM }  # SCSU
BOCU-1 { IANA* }
    csBOCU-1 { IANA }
    ibm-1214 { IBM* } # BOCU-1 with IBM PUA
    ibm-1215 { IBM }  # BOCU-1

# See http://www.unicode.org/unicode/reports/tr26 for this Compatibility Encoding Scheme for UTF-16
# The Unicode Consortium does not encourage the use of CESU-8
CESU-8 { IANA* } ibm-9400 { IBM* }

# Standard iso-8859-1, which does not have the Euro update.
# See iso-8859-15 (latin9) for the Euro update
ISO-8859-1 { MIME* IANA JAVA* }
    ibm-819 { IBM* JAVA }    # This is not truely ibm-819 because it's missing the fallbacks.
    IBM819 { IANA }
    cp819 { IANA JAVA }
    latin1 { IANA JAVA }
    8859_1 { JAVA }
    csISOLatin1 { IANA JAVA }
    iso-ir-100 { IANA JAVA }
    ISO_8859-1:1987 { IANA* JAVA }
    l1 { IANA JAVA }
    819 { JAVA }
    # windows-28591 { WINDOWS* } # This has odd behavior because it has the Euro update, which isn't correct.
    # LATIN_1     # Old ICU name
    # ANSI_X3.110-1983  # This is for a different IANA alias.  This isn't iso-8859-1.

US-ASCII { MIME* IANA JAVA WINDOWS }
    ASCII { JAVA* IANA WINDOWS }
    ANSI_X3.4-1968 { IANA* WINDOWS }
    ANSI_X3.4-1986 { IANA WINDOWS }
    ISO_646.irv:1991 { IANA WINDOWS }
    iso_646.irv:1983 { JAVA }
    ISO646-US { JAVA IANA WINDOWS }
    us { IANA }
    csASCII { IANA WINDOWS }
    iso-ir-6 { IANA }
    cp367 { IANA WINDOWS }
    ascii7 { JAVA }
    646 { JAVA }
    windows-20127 { WINDOWS* }
    # IBM367 { IANA WINDOWS } # This isn't the default ibm-367.

# GB 18030 is partly algorithmic, using the MBCS converter
gb18030 { IANA* }       ibm-1392 { IBM* } windows-54936 { WINDOWS* }

# Table-based interchange codepages

ibm-367_P100-1995 { UTR22* }    ibm-367 { IBM* } IBM367 { IANA* }   # This is ASCII, but it has fallbacks

# Central Europe
ibm-912_P100-1995 { UTR22* }
                        ibm-912 { IBM* JAVA }
                        iso-8859-2 { MIME* IANA JAVA* WINDOWS }
                        ISO_8859-2:1987 { IANA* WINDOWS JAVA }
                        latin2 { IANA WINDOWS JAVA }
                        csISOLatin2 { IANA WINDOWS JAVA }
                        iso-ir-101 { IANA WINDOWS JAVA }
                        l2 { IANA WINDOWS JAVA }
                        8859_2 { JAVA }
                        cp912 { JAVA }
                        912 { JAVA }
                        windows-28592 { WINDOWS* }

# Maltese Esperanto
ibm-913_P100-2000 { UTR22* }
                        ibm-913 { IBM* JAVA }
                        iso-8859-3 { MIME* IANA WINDOWS JAVA* }
                        ISO_8859-3:1988 { IANA* WINDOWS JAVA }
                        latin3 { IANA JAVA WINDOWS }
                        csISOLatin3 { IANA WINDOWS }
                        iso-ir-109 { IANA WINDOWS JAVA }
                        l3 { IANA WINDOWS JAVA }
                        8859_3 { JAVA }
                        cp913 { JAVA }
                        913 { JAVA }
                        windows-28593 { WINDOWS* }

# Baltic
ibm-914_P100-1995 { UTR22* }
                        ibm-914 { IBM* JAVA }
                        iso-8859-4 { MIME* IANA WINDOWS JAVA* }
                        latin4 { IANA WINDOWS JAVA }
                        csISOLatin4 { IANA WINDOWS JAVA }
                        iso-ir-110 { IANA WINDOWS JAVA }
                        ISO_8859-4:1988 { IANA* WINDOWS JAVA }
                        l4 { IANA WINDOWS JAVA }
                        8859_4 { JAVA }
                        cp914 { JAVA }
                        914 { JAVA }
                        windows-28594 { WINDOWS* }

# Cyrillic
ibm-915_P100-1995 { UTR22* }
                        ibm-915 { IBM* JAVA }
                        iso-8859-5 { MIME* IANA WINDOWS JAVA* }
                        cyrillic { IANA WINDOWS JAVA }
                        csISOLatinCyrillic { IANA WINDOWS JAVA }
                        iso-ir-144 { IANA WINDOWS JAVA }
                        ISO_8859-5:1988 { IANA* WINDOWS JAVA }
                        8859_5 { JAVA }
                        cp915 { JAVA }
                        915 { JAVA }
                        windows-28595 { WINDOWS* }

# Arabic
# ISO_8859-6-E and ISO_8859-6-I are similar to this charset, but BiDi is done differently
# From a narrow mapping point of view, there is no difference.
# -E means explicit. -I means implicit.
# -E requires the client to handle the ISO 6429 bidirectional controls
ibm-1089_P100-1995 { UTR22* }
                        ibm-1089 { IBM* JAVA }
                        iso-8859-6 { MIME* IANA WINDOWS JAVA* }
                        arabic { IANA WINDOWS JAVA }
                        csISOLatinArabic { IANA WINDOWS JAVA }
                        iso-ir-127 { IANA WINDOWS JAVA }
                        ISO_8859-6:1987 { IANA* WINDOWS JAVA }
                        ECMA-114 { IANA JAVA }
                        ASMO-708 { IANA JAVA }
                        8859_6 { JAVA }
                        cp1089 { JAVA }
                        1089 { JAVA }
                        windows-28596 { WINDOWS* }
                        ISO-8859-6-I { IANA MIME } # IANA considers this alias different and BiDi needs to be applied.
                        ISO-8859-6-E { IANA MIME } # IANA considers this alias different and BiDi needs to be applied.

# ISO Greek (with euro update). This is really ISO_8859-7:2003
ibm-9005_X100-2005 { UTR22* }
                        ibm-9005 { IBM* }
                        iso-8859-7 { MIME* IANA WINDOWS }
                        greek { IANA WINDOWS }
                        greek8 { IANA WINDOWS }
                        ELOT_928 { IANA WINDOWS }
                        ECMA-118 { IANA WINDOWS }
                        csISOLatinGreek { IANA WINDOWS }
                        iso-ir-126 { IANA WINDOWS }
                        ISO_8859-7:1987 { IANA* WINDOWS }
                        windows-28597 { WINDOWS* }

# ISO Greek (w/o euro update)
# JDK 1.5 has these aliases.
ibm-813_P100-1995 { UTR22* }
                        ibm-813 { IBM* JAVA }
                        iso-8859-7 { JAVA* }
                        greek { JAVA }
                        greek8 { JAVA }
                        ELOT_928 { JAVA }
                        ECMA-118 { JAVA }
                        csISOLatinGreek { JAVA }
                        iso-ir-126 { JAVA }
                        ISO_8859-7:1987 { JAVA }
                        8859_7 { JAVA }
                        cp813 { JAVA }
                        813 { JAVA }

# hebrew
# ISO_8859-8-E and ISO_8859-8-I are similar to this charset, but BiDi is done differently
# From a narrow mapping point of view, there is no difference.
# -E means explicit. -I means implicit.
# -E requires the client to handle the ISO 6429 bidirectional controls
ibm-916_P100-1995 { UTR22* }
                        ibm-916 { IBM* JAVA }
                        iso-8859-8 { MIME* IANA WINDOWS JAVA* }
                        hebrew { IANA WINDOWS JAVA }
                        csISOLatinHebrew { IANA WINDOWS JAVA }
                        iso-ir-138 { IANA WINDOWS JAVA }
                        ISO_8859-8:1988 { IANA* WINDOWS JAVA }
                        ISO-8859-8-I { IANA MIME } # IANA and Windows considers this alias different and BiDi needs to be applied.
                        ISO-8859-8-E { IANA MIME } # IANA and Windows considers this alias different and BiDi needs to be applied.
                        8859_8 { JAVA }
                        cp916 { JAVA }
                        916 { JAVA }
                        windows-28598 { WINDOWS* }

# Turkish
ibm-920_P100-1995 { UTR22* }
                        ibm-920 { IBM* JAVA }
                        iso-8859-9 { MIME* IANA WINDOWS JAVA* }
                        latin5 { IANA WINDOWS JAVA }
                        csISOLatin5 { IANA JAVA }
                        iso-ir-148 { IANA WINDOWS JAVA }
                        ISO_8859-9:1989 { IANA* WINDOWS }
                        l5 { IANA WINDOWS JAVA }
                        8859_9 { JAVA }
                        cp920 { JAVA }
                        920 { JAVA }
                        windows-28599 { WINDOWS* }
                        ECMA-128    # IANA doesn't have this alias 6/24/2002

# iso-8859-13, PC Baltic (w/o euro update)
ibm-921_P100-1995 { UTR22* }
                        ibm-921 { IBM* }
                        iso-8859-13 { IANA* MIME* JAVA* }
                        8859_13 { JAVA }
                        cp921
                        921

# Latin 9
ibm-923_P100-1998 { UTR22* }
                        ibm-923 { IBM* JAVA }
                        iso-8859-15 { IANA* MIME* WINDOWS JAVA* }
                        Latin-9 { IANA WINDOWS }
                        l9 { WINDOWS }
                        8859_15 { JAVA }
                        latin0 { JAVA }
                        csisolatin0 { JAVA }
                        csisolatin9 { JAVA }
                        iso8859_15_fdis { JAVA }
                        cp923 { JAVA }
                        923 { JAVA }
                        windows-28605 { WINDOWS* }

# CJK encodings

ibm-942_P12A-1999 { UTR22* }    # ibm-942_P120 is a rarely used alternate mapping (sjis78 is already old)
                        ibm-942 { IBM* }
                        ibm-932 { IBM }
                        cp932
                        shift_jis78
                        sjis78
                        ibm-942_VSUB_VPUA
                        ibm-932_VSUB_VPUA
                        # Is this "JIS_C6226-1978"?

# ibm-943_P15A-2003 differs from windows-932-2000 only in a few roundtrip mappings:
# - the usual IBM PC control code rotation (1A-1C-7F)
# - the Windows table has roundtrips for bytes 80, A0, and FD-FF to U+0080 and PUA
ibm-943_P15A-2003 { UTR22* }
                        ibm-943 # Leave untagged because this isn't the default
                        Shift_JIS { IANA* MIME* WINDOWS JAVA }
                        MS_Kanji { IANA WINDOWS JAVA }
                        csShiftJIS { IANA WINDOWS JAVA }
                        windows-31j { IANA JAVA } # A further extension of Shift_JIS to include NEC special characters (Row 13)
                        csWindows31J { IANA WINDOWS JAVA } # A further extension of Shift_JIS to include NEC special characters (Row 13)
                        x-sjis { WINDOWS JAVA }
                        x-ms-cp932 { WINDOWS }
                        cp932 { WINDOWS }
                        windows-932 { WINDOWS* }
                        cp943c { JAVA* }    # This is slightly different, but the backslash mapping is the same.
                        IBM-943C #{ AIX* } # Add this tag once AIX aliases becomes available
                        ms932
                        pck     # Probably SOLARIS
                        sjis    # This might be for ibm-1351
                        ibm-943_VSUB_VPUA
                        # cp943 # This isn't Windows, and no one else uses it.
                        # IANA says that Windows-31J is an extension to csshiftjis ibm-932 
ibm-943_P130-1999 { UTR22* }
                        ibm-943 { IBM* JAVA }
                        Shift_JIS # Leave untagged because this isn't the default
                        cp943 { JAVA* }    # This is slightly different, but the backslash mapping is the same.
                        943 { JAVA }
                        ibm-943_VASCII_VSUB_VPUA
                        # japanese. Unicode name is \u30b7\u30d5\u30c8\u7b26\u53f7\u5316\u8868\u73fe
ibm-33722_P12A-1999 { UTR22* }
                        ibm-33722   # Leave untagged because this isn't the default
                        ibm-5050    # Leave untagged because this isn't the default, and yes this alias is correct
                        EUC-JP { IANA MIME* WINDOWS JAVA* }
                        Extended_UNIX_Code_Packed_Format_for_Japanese { IANA* WINDOWS JAVA }
                        csEUCPkdFmtJapanese { IANA WINDOWS JAVA }
                        X-EUC-JP { WINDOWS JAVA }   # Japan EUC. x-euc-jp is a MIME name
                        eucjis { JAVA }
                        windows-51932 { WINDOWS* }
                        ibm-33722_VPUA
                        IBM-eucJP
ibm-33722_P120-1999 { UTR22* }  # Japan EUC with \ <-> Yen mapping
                        ibm-33722 { IBM* JAVA }
                        ibm-5050 { IBM }    # Yes this is correct
                        cp33722 { JAVA* }
                        33722 { JAVA }
                        ibm-33722_VASCII_VPUA
# ibm-954 seems to be almost a superset of ibm-33722
ibm-954_P101-2000 { UTR22* }
                        ibm-954 { IBM* }
                        EUC-JP # This is Solaris EUC-JP.
                        # eucJP # A closer Solaris alias

ibm-1373_P100-2002 { UTR22* }               # Taiwan Big-5 (w/ euro update)
                        ibm-1373 { IBM* }
                        windows-950 # Alternate mapping. Leave untagged. This is the IBM interpretation of a Windows codepage.
windows-950-2000 { UTR22* }
                        Big5 { IANA* MIME* JAVA* WINDOWS }
                        csBig5 { IANA WINDOWS }
                        windows-950 { WINDOWS* }
                        x-big5
ibm-950_P110-1999 { UTR22* }                # Taiwan Big-5 (w/o euro update)
                        ibm-950 { IBM* JAVA }
                        cp950 { JAVA* }
                        950 { JAVA }
macos-2566-10.2 { UTR22* }      # This uses supplementary characters.
                        Big5-HKSCS { IANA* JAVA* }
                        big5hk { JAVA }
                        HKSCS-BIG5  # From http://www.openi18n.org/localenameguide/
                        # big5-hkscs:unicode3.0 # This is actually post 3.0 data, which has different mappings
ibm-1375_P100-2003 { UTR22* }   # IBM's interpretation of Windows' Taiwan Big-5 w/ HKSCS extensions
                        ibm-1375 { IBM* }
                        Big5-HKSCS
                        MS950_HKSCS { JAVA* }
                        # windows-950 # Windows-950 can be w/ or w/o HKSCS extensions. By default it's not.
                        # windows-950_hkscs

ibm-1386_P100-2002  { UTR22* }
                        ibm-1386 { IBM* }
                        cp1386
                        windows-936 # Alternate mapping. Leave untagged. This is the IBM interpretation of a Windows codepage.
                        ibm-1386_VSUB_VPUA

windows-936-2000 { UTR22* }
                        GBK { IANA* WINDOWS JAVA* }
                        CP936 { IANA JAVA }
                        MS936 { IANA }  # In JDK 1.5, this goes to x-mswin-936. This is an IANA name split.
                        windows-936 { IANA WINDOWS* JAVA }

# Java has two different tables for ibm-1383 and gb2312. We pick closest set for tagging.
ibm-1383_P110-1999 { UTR22* }       # China EUC.
                        ibm-1383 { IBM* JAVA }
                        GB2312 { IANA* MIME* }
                        csGB2312 { IANA }
                        cp1383 { JAVA* }
                        1383 { JAVA }
                        EUC-CN  # According to other platforms, windows-20936 looks more like euc-cn. x-euc-cn is also a MIME name
                        ibm-eucCN
                        hp15CN  # From HP-UX?
                        ibm-1383_VPUA
                        # gb          # This is not an IANA name. gb in IANA means Great Britain.

ibm-5478_P100-1995 { UTR22* } ibm-5478 { IBM* } # This gb_2312_80 DBCS mapping is needed by iso-2022.
                        GB_2312-80 { IANA* }    # Windows maps this alias incorrectly
                        chinese { IANA }
                        iso-ir-58 { IANA }
                        csISO58GB231280 { IANA }
                        gb2312-1980
                        GB2312.1980-0   # From X11R6

ibm-964_P110-1999 { UTR22* }                # Taiwan EUC. x-euc-tw is a MIME name
                        ibm-964 { IBM* JAVA }
                        EUC-TW
                        ibm-eucTW
                        cns11643 
                        cp964 { JAVA* }
                        964 { JAVA }
                        ibm-964_VPUA

# ISO-2022 needs one, and other people may need others.
ibm-949_P110-1999 { UTR22* }
                        ibm-949 { IBM* JAVA }
                        cp949 { JAVA* }
                        949 { JAVA }
                        ibm-949_VASCII_VSUB_VPUA
ibm-949_P11A-1999 { UTR22* }
                        ibm-949 # Leave untagged because this isn't the default
                        cp949c { JAVA* }
                        ibm-949_VSUB_VPUA

# Korean EUC.
#
# <quote from="Jungshik Shin">
# EUC-KR = KS X 1003/ISO 646-KR or ISO 646-IRV/US-ASCII in GL and KS X 1001:1998 (formerly KS C 5601-1987) in GR.
#
# Although widely spread on MS Windows, using 
# KS C 5601 or related names to denote EUC-KR or
# windows-949 is very much misleading. KS C 5601-1987
# is NOT suitable as a designation for MIME charset
# and MBCS. It's just the name of a 94 x 94 Korean 
# coded character set standard which can be invoked
# on either GL (with MSB reset) or GR (with MSB set).
# Note that JOHAB (windows-1361) specified in 
# KS X 1001:1998 annex 3 (KS C 5601-1992 annex 3) 
# is a _seprate_ MBCS with a _completely different_
# mapping.
# </quote>
#
# The following aliases tries to mirror the poor state of alias recognition
# on these platforms.
#
# ibm-970 is almost a subset of ibm-1363.
# Java, Solaris and AIX use euc-kr to also mean ksc5601.
# Java has both ibm-970 and EUC-KR as separate converters.
ibm-970_P110-1995 { UTR22* }
                        ibm-970 { IBM* JAVA }
                        EUC-KR { IANA* MIME* WINDOWS JAVA }
                        KS_C_5601-1987 { JAVA }
                        windows-51949 { WINDOWS* }
                        csEUCKR { IANA WINDOWS }  # x-euc-kr is also a MIME name
                        ibm-eucKR { JAVA }
                        KSC_5601 { JAVA } # Needed by iso-2022
                        5601 { JAVA }
                        cp970 { JAVA* }
                        970 { JAVA }
                        ibm-970_VPUA

# ibm-971 is almost the set of DBCS mappings of ibm-970
ibm-971_P100-1995       ibm-971 { IBM* } ibm-971_VPUA

# Java, Solaris and AIX use euc-kr to also mean ksc5601, and _sometimes_ for Windows too.
# ibm-1363 is almost a superset of ibm-970.
ibm-1363_P11B-1998 { UTR22* }
                        ibm-1363 # Leave untagged because this isn't the default
                        KS_C_5601-1987 { IANA* }
                        KS_C_5601-1989 { IANA }
                        KSC_5601 { MIME* IANA } # Needed by iso-2022
                        csKSC56011987 { IANA }
                        korean { IANA }
                        iso-ir-149 { IANA }
                        5601
                        cp1363
                        ksc
                        windows-949 # Alternate mapping. Leave untagged. This is the IBM interpretation of a Windows codepage.
                        ibm-1363_VSUB_VPUA
                        # ks_x_1001:1992
                        # ksc5601-1992

ibm-1363_P110-1997 { UTR22* } # Korean KSC MBCS with \ <-> Won mapping
                        ibm-1363 { IBM* }
                        ibm-1363_VASCII_VSUB_VPUA

windows-949-2000 { UTR22* }
                        windows-949 { JAVA* WINDOWS* }
                        KS_C_5601-1987 { WINDOWS }
                        KS_C_5601-1989 { WINDOWS }
                        KSC_5601 { WINDOWS } # Needed by iso-2022
                        csKSC56011987 { WINDOWS }
                        korean { WINDOWS }
                        iso-ir-149 { WINDOWS }
                        ms949 { JAVA }

windows-874-2000 { UTR22* }   # Thai (w/ euro update)
                        TIS-620 { WINDOWS }
                        windows-874 { JAVA* WINDOWS* }
                        MS874 { JAVA }
                        # iso-8859-11 { WINDOWS } # iso-8859-11 is similar to TIS-620. ibm-13162 is a closer match.

ibm-874_P100-1995 { UTR22* }    # Thai PC (w/o euro update).
                        ibm-874 { IBM* JAVA }
                        ibm-9066 { IBM }    # Yes ibm-874 == ibm-9066. ibm-1161 has the euro update.
                        cp874 { JAVA* }
                        TIS-620 { IANA* JAVA }  # This actually separate from ibm-874, which is similar to this table
                        tis620.2533 { JAVA }    # This actually separate from ibm-874, which is similar to this table
                        eucTH               # eucTH is an unusual alias from Solaris.  eucTH has fewer mappings than TIS620

ibm-1162_P100-1999 { UTR22* }   # Thai (w/ euro update)
                        ibm-1162 { IBM* }

# Platform codepages
# If Java supports the IBM prefix, it should also support the ibm- prefix too.
ibm-437_P100-1995 { UTR22* }    ibm-437 { IBM* } IBM437 { IANA* WINDOWS JAVA } cp437 { IANA WINDOWS JAVA* } 437 { IANA WINDOWS JAVA } csPC8CodePage437 { IANA JAVA } windows-437 { WINDOWS* }  # PC US
ibm-737_P100-1997 { UTR22* }    ibm-737 { IBM* } IBM737 { WINDOWS JAVA } cp737 { JAVA* } windows-737 { WINDOWS* } 737 { JAVA } # PC Greek
ibm-775_P100-1996 { UTR22* }    ibm-775 { IBM* } IBM775 { IANA* WINDOWS JAVA } cp775 { IANA WINDOWS JAVA* } csPC775Baltic { IANA } windows-775 { WINDOWS* } 775 { JAVA } # PC Baltic
ibm-850_P100-1995 { UTR22* }    ibm-850 { IBM* } IBM850 { IANA* WINDOWS JAVA } cp850 { IANA MIME* WINDOWS JAVA* } 850 { IANA JAVA } csPC850Multilingual { IANA JAVA } windows-850 { WINDOWS* } # PC latin1
ibm-851_P100-1995 { UTR22* }    ibm-851 { IBM* } IBM851 { IANA* } cp851 { IANA MIME* } 851 { IANA } csPC851 { IANA }             # PC DOS Greek (w/o euro)
ibm-852_P100-1995 { UTR22* }    ibm-852 { IBM* } IBM852 { IANA* WINDOWS JAVA } cp852 { IANA WINDOWS JAVA* } 852 { IANA WINDOWS JAVA } csPCp852 { IANA JAVA } windows-852 { WINDOWS* } # PC latin2 (w/o euro update)
ibm-855_P100-1995 { UTR22* }    ibm-855 { IBM* } IBM855 { IANA* JAVA } cp855 { IANA JAVA* } 855 { IANA } csIBM855 { IANA } csPCp855 { JAVA } # PC cyrillic (w/o euro update)
ibm-856_P100-1995 { UTR22* }    ibm-856 { IBM* } IBM856 { JAVA } cp856 { MIME* JAVA* } 856 { JAVA }  # PC Hebrew (old)
ibm-857_P100-1995 { UTR22* }    ibm-857 { IBM* } IBM857 { IANA* WINDOWS JAVA } cp857 { IANA MIME* JAVA* } 857 { IANA JAVA } csIBM857 { IANA JAVA } windows-857 { WINDOWS* }   # PC Latin 5 (w/o euro update)
ibm-858_P100-1997 { UTR22* }    ibm-858 { IBM* } IBM00858 { IANA* JAVA } CCSID00858 { IANA JAVA } CP00858 { IANA JAVA } PC-Multilingual-850+euro { IANA } cp858 { MIME* JAVA* }  # PC latin1 with Euro
ibm-860_P100-1995 { UTR22* }    ibm-860 { IBM* } IBM860 { IANA* JAVA } cp860 { IANA MIME* JAVA* } 860 { IANA JAVA } csIBM860 { IANA JAVA }    # PC Portugal
ibm-861_P100-1995 { UTR22* }    ibm-861 { IBM* } IBM861 { IANA* WINDOWS JAVA } cp861 { IANA MIME* JAVA* } 861 { IANA JAVA } cp-is { IANA JAVA } csIBM861 { IANA JAVA } windows-861 { WINDOWS* } # PC Iceland
ibm-862_P100-1995 { UTR22* }    ibm-862 { IBM* } IBM862 { IANA* JAVA } cp862 { IANA MIME* JAVA* } 862 { IANA JAVA } csPC862LatinHebrew { IANA JAVA } DOS-862 { WINDOWS } windows-862 { WINDOWS* }    # PC Hebrew (w/o euro update)
ibm-863_P100-1995 { UTR22* }    ibm-863 { IBM* } IBM863 { IANA* JAVA } cp863 { IANA MIME* JAVA* } 863 { IANA JAVA } csIBM863 { IANA JAVA }    # PC Canadian French
ibm-864_X110-1999 { UTR22* }    ibm-864 { IBM* } IBM864 { IANA* JAVA } cp864 { IANA MIME* JAVA* } csIBM864 { IANA JAVA } # PC Arabic (w/o euro update)
ibm-865_P100-1995 { UTR22* }    ibm-865 { IBM* } IBM865 { IANA* JAVA } cp865 { IANA MIME* JAVA* } 865 { IANA JAVA } csIBM865 { IANA JAVA }    # PC Nordic
ibm-866_P100-1995 { UTR22* }    ibm-866 { IBM* } IBM866 { IANA* JAVA } cp866 { IANA MIME* WINDOWS JAVA* } 866 { IANA JAVA } csIBM866 { IANA JAVA } windows-866 { WINDOWS* } # PC Russian (w/o euro update)
ibm-867_P100-1998 { UTR22* }    ibm-867 { IBM* } # PC Hebrew (w/ euro update) Updated version of ibm-862
ibm-868_P100-1995 { UTR22* }    ibm-868 { IBM* } IBM868 { IANA* JAVA } CP868 { IANA MIME* JAVA* } 868 { JAVA } csIBM868 { IANA } cp-ar { IANA }          # PC Urdu
ibm-869_P100-1995 { UTR22* }    ibm-869 { IBM* } IBM869 { IANA* WINDOWS JAVA } cp869 { IANA MIME* JAVA* } 869 { IANA JAVA } cp-gr { IANA JAVA } csIBM869 { IANA JAVA } windows-869 { WINDOWS* } # PC Greek (w/o euro update)
ibm-878_P100-1996 { UTR22* }    ibm-878 { IBM* } KOI8-R { IANA* MIME* WINDOWS JAVA* } koi8 { WINDOWS JAVA } csKOI8R { IANA WINDOWS JAVA } windows-20866 { WINDOWS* } cp878   # Russian internet
ibm-901_P100-1999 { UTR22* }    ibm-901 { IBM* } # PC Baltic (w/ euro update), update of ibm-921
ibm-902_P100-1999 { UTR22* }    ibm-902 { IBM* } # PC Estonian (w/ euro update), update of ibm-922
ibm-922_P100-1999 { UTR22* }    ibm-922 { IBM* } IBM922 { JAVA } cp922 { MIME* JAVA* } 922 { JAVA } # PC Estonian (w/o euro update)
ibm-1168_P100-2002 { UTR22* }   ibm-1168 { IBM* } KOI8-U { IANA* WINDOWS } windows-21866 { WINDOWS* } koi8-ru { WINDOWS }   # Ukrainian KOI8. koi8-ru is an unusual alias, but Microsoft states that it is an alias.
ibm-4909_P100-1999 { UTR22* }   ibm-4909 { IBM* } # ISO Greek (w/ euro update), update of ibm-813

# The cp aliases in this section aren't really windows aliases, but it was used by ICU for Windows.
# cp is usually used to denote IBM in Java, and that is why we don't do that anymore.
# The windows-* aliases mean windows codepages.
ibm-5346_P100-1998 { UTR22* }   ibm-5346 { IBM* } windows-1250 { IANA* JAVA* WINDOWS* } cp1250 { WINDOWS JAVA } # Windows Latin2 (w/ euro update)
ibm-5347_P100-1998 { UTR22* }   ibm-5347 { IBM* } windows-1251 { IANA* JAVA* WINDOWS* } cp1251 { WINDOWS JAVA } # Windows Cyrillic (w/ euro update)
ibm-5348_P100-1997 { UTR22* }   ibm-5348 { IBM* } windows-1252 { IANA* JAVA* WINDOWS* } cp1252 { JAVA }         # Windows Latin1 (w/ euro update)
ibm-5349_P100-1998 { UTR22* }   ibm-5349 { IBM* } windows-1253 { IANA* JAVA* WINDOWS* } cp1253 { JAVA }         # Windows Greek (w/ euro update)
ibm-5350_P100-1998 { UTR22* }   ibm-5350 { IBM* } windows-1254 { IANA* JAVA* WINDOWS* } cp1254 { JAVA }         # Windows Turkish (w/ euro update)
ibm-9447_P100-2002 { UTR22* }   ibm-9447 { IBM* } windows-1255 { IANA* JAVA* WINDOWS* } cp1255 { JAVA }         # Windows Hebrew (w/ euro update)
windows-1256-2000 { UTR22* }    windows-1256 { IANA* JAVA* WINDOWS* } cp1256 { WINDOWS JAVA }                   # Windows Arabic (w/ euro update)
ibm-9449_P100-2002 { UTR22* }   ibm-9449 { IBM* } windows-1257 { IANA* JAVA* WINDOWS* } cp1257 { JAVA }         # Windows Baltic (w/ euro update)
ibm-5354_P100-1998 { UTR22* }   ibm-5354 { IBM* } windows-1258 { IANA* JAVA* WINDOWS* } cp1258 { JAVA }         # Windows Vietnamese (w/ euro update)

# These tables are out of date, and most don't have the Euro
# Leave the windows- variants untagged. They are alternate tables of the newer ones above.
ibm-1250_P100-1995 { UTR22* }   ibm-1250 { IBM* } windows-1250  # Old Windows Latin2 (w/o euro update)
ibm-1251_P100-1995 { UTR22* }   ibm-1251 { IBM* } windows-1251  # Old Windows Cyrillic (w/o euro update)
ibm-1252_P100-2000 { UTR22* }   ibm-1252 { IBM* } windows-1252  # Old Windows Latin 1 without Euro
ibm-1253_P100-1995 { UTR22* }   ibm-1253 { IBM* } windows-1253  # Old Windows Greek (w/o euro update)
ibm-1254_P100-1995 { UTR22* }   ibm-1254 { IBM* } windows-1254  # Old Windows Turkish (w/o euro update)
ibm-1255_P100-1995 { UTR22* }   ibm-1255 { IBM* }               # Very old Windows Hebrew (w/o euro update)
ibm-5351_P100-1998 { UTR22* }   ibm-5351 { IBM* } windows-1255  # Old Windows Hebrew (w/ euro update)
ibm-1256_P110-1997 { UTR22* }   ibm-1256 { IBM* }               # Old Windows Arabic (w/o euro update)
ibm-5352_P100-1998 { UTR22* }   ibm-5352 { IBM* } windows-1256  # Somewhat old Windows Arabic (w/ euro update)
ibm-1257_P100-1995 { UTR22* }   ibm-1257 { IBM* }               # Old Windows Baltic (w/o euro update)
ibm-5353_P100-1998 { UTR22* }   ibm-5353 { IBM* } windows-1257  # Somewhat old Windows Baltic (w/ euro update)
ibm-1258_P100-1997 { UTR22* }   ibm-1258 { IBM* } windows-1258  # Old Windows Vietnamese (w/o euro update)

macos-0_2-10.2 { UTR22* }       macintosh { IANA* MIME* WINDOWS } mac { IANA } csMacintosh { IANA } windows-10000 { WINDOWS* } # Apple latin 1
macos-6-10.2 { UTR22* }         x-mac-greek { MIME* WINDOWS } windows-10006 { WINDOWS* } macgr           # Apple Greek
macos-7_3-10.2 { UTR22* }       x-mac-cyrillic { MIME* WINDOWS } windows-10007 { WINDOWS* } maccy        # Apple Cyrillic
macos-29-10.2 { UTR22* }        x-mac-centraleurroman { MIME* } windows-10029 { WINDOWS* } x-mac-ce { WINDOWS } macce   # Apple Central Europe
macos-35-10.2 { UTR22* }        x-mac-turkish { MIME* WINDOWS } windows-10081 { WINDOWS* } mactr         # Apple Turkish

ibm-1051_P100-1995 { UTR22* }   ibm-1051 { IBM* } hp-roman8 { IANA* } roman8 { IANA } r8 { IANA } csHPRoman8 { IANA }   # HP Latin1
ibm-1276_P100-1995 { UTR22* }   ibm-1276 { IBM* } Adobe-Standard-Encoding { IANA* } csAdobeStandardEncoding { IANA } # Different from ISO-Unicode-IBM-1276 (GCSGID: 1276)

ibm-1006_P100-1995 { UTR22* }   ibm-1006 { IBM* } IBM1006 { JAVA } cp1006 { JAVA* } 1006 { JAVA }   # Urdu
ibm-1098_P100-1995 { UTR22* }   ibm-1098 { IBM* } IBM1098 { JAVA } cp1098 { JAVA* } 1098 { JAVA }   # PC Farsi
ibm-1124_P100-1996 { UTR22* }   ibm-1124 { IBM* JAVA } cp1124 { JAVA* } 1124 { JAVA }   # ISO Cyrillic Ukraine
ibm-1125_P100-1997 { UTR22* }   ibm-1125 { IBM* } cp1125                                # Cyrillic Ukraine PC
ibm-1129_P100-1997 { UTR22* }   ibm-1129 { IBM* }                                       # ISO Vietnamese
ibm-1131_P100-1997 { UTR22* }   ibm-1131 { IBM* } cp1131                                # Cyrillic Belarus PC
ibm-1133_P100-1997 { UTR22* }   ibm-1133 { IBM* }                                       # ISO Lao


# Partially algorithmic converters

# [U_ENABLE_GENERIC_ISO_2022]
# The _generic_ ISO-2022 converter is disabled starting 2003-dec-03 (ICU 2.8).
# For details see the icu mailing list from 2003-dec-01 and the ucnv2022.c file.
# Language-specific variants of ISO-2022 continue to be available as listed below.
# ISO_2022                         ISO-2022 { MIME* } 2022 cp2022

ISO_2022,locale=ja,version=0    ISO-2022-JP { IANA* MIME* JAVA* } csISO2022JP { JAVA }
ISO_2022,locale=ja,version=1    ISO-2022-JP-1 JIS JIS_Encoding { IANA* }
ISO_2022,locale=ja,version=2    ISO-2022-JP-2 { IANA* MIME* } csISO2022JP2
ISO_2022,locale=ja,version=3    JIS7 csJISEncoding
ISO_2022,locale=ja,version=4    JIS8
ISO_2022,locale=ko,version=0    ISO-2022-KR { IANA* MIME* JAVA* } csISO2022KR { JAVA } # This uses ibm-949
ISO_2022,locale=ko,version=1    ibm-25546
ISO_2022,locale=zh,version=0    ISO-2022-CN { IANA* MIME* JAVA* } csISO2022CN { JAVA }
ISO_2022,locale=zh,version=1    ISO-2022-CN-EXT { IANA* MIME* }
HZ                              HZ-GB-2312 { IANA* MIME* }

# Part of iso-2022
ibm-897_P100-1995 { UTR22* }    ibm-897 { IBM* } JIS_X0201 { IANA* } X0201 { IANA } csHalfWidthKatakana { IANA }


ISCII,version=0         x-iscii-de { WINDOWS } windows-57002 { WINDOWS* } iscii-dev
ISCII,version=1         x-iscii-be { WINDOWS } windows-57003 { WINDOWS* } iscii-bng windows-57006 { WINDOWS } x-iscii-as { WINDOWS } # be is different from as on Windows.
ISCII,version=2         x-iscii-pa { WINDOWS } windows-57011 { WINDOWS* } iscii-gur
ISCII,version=3         x-iscii-gu { WINDOWS } windows-57010 { WINDOWS* } iscii-guj
ISCII,version=4         x-iscii-or { WINDOWS } windows-57007 { WINDOWS* } iscii-ori
ISCII,version=5         x-iscii-ta { WINDOWS } windows-57004 { WINDOWS* } iscii-tml
ISCII,version=6         x-iscii-te { WINDOWS } windows-57005 { WINDOWS* } iscii-tlg
ISCII,version=7         x-iscii-ka { WINDOWS } windows-57008 { WINDOWS* } iscii-knd
ISCII,version=8         x-iscii-ma { WINDOWS } windows-57009 { WINDOWS* } iscii-mlm

# Lotus specific
LMBCS-1                 lmbcs ibm-65025 { IBM* }
LMBCS-2
LMBCS-3
LMBCS-4
LMBCS-5
LMBCS-6
LMBCS-8
LMBCS-11
LMBCS-16
LMBCS-17
LMBCS-18
LMBCS-19

# EBCDIC codepages according to the CDRA

# without Euro
ibm-37_P100-1995 { UTR22* }              # EBCDIC US
                        ibm-37 { IBM* }
                        IBM037 { IANA* JAVA }
                        ibm-037 # { JAVA }
                        ebcdic-cp-us { IANA JAVA }
                        ebcdic-cp-ca { IANA JAVA }
                        ebcdic-cp-wt { IANA JAVA }
                        ebcdic-cp-nl { IANA JAVA }
                        csIBM037 { IANA JAVA }
                        cp037 { JAVA* }
                        037 { JAVA }
                        cpibm37 { JAVA }
                        cp37

ibm-273_P100-1995 { UTR22* }    ibm-273 { IBM* } IBM273 { IANA* JAVA } CP273 { IANA JAVA* } csIBM273 { IANA } ebcdic-de 273 { JAVA }                 # EBCDIC Germanay, Austria
ibm-277_P100-1995 { UTR22* }    ibm-277 { IBM* } IBM277 { IANA* JAVA } cp277 { JAVA* } EBCDIC-CP-DK { IANA } EBCDIC-CP-NO { IANA } csIBM277 { IANA } ebcdic-dk 277 { JAVA } # EBCDIC Denmark
ibm-278_P100-1995 { UTR22* }    ibm-278 { IBM* } IBM278 { IANA* JAVA } cp278 { JAVA* } ebcdic-cp-fi { IANA } ebcdic-cp-se { IANA } csIBM278 { IANA } ebcdic-sv { JAVA } 278 { JAVA } # EBCDIC Sweden
ibm-280_P100-1995 { UTR22* }    ibm-280 { IBM* } IBM280 { IANA* JAVA } CP280 { IANA JAVA* } ebcdic-cp-it { IANA } csIBM280 { IANA } 280 { JAVA }     # EBCDIC Italy
ibm-284_P100-1995 { UTR22* }    ibm-284 { IBM* } IBM284 { IANA* JAVA } CP284 { IANA JAVA* } ebcdic-cp-es { IANA } csIBM284 { IANA } cpibm284 { JAVA } 284 { JAVA }       # EBCDIC Spain
ibm-285_P100-1995 { UTR22* }    ibm-285 { IBM* } IBM285 { IANA* JAVA } CP285 { IANA JAVA* } ebcdic-cp-gb { IANA } csIBM285 { IANA } cpibm285 { JAVA } ebcdic-gb { JAVA } 285 { JAVA } # EBCDIC UK Ireland
ibm-290_P100-1995 { UTR22* }    ibm-290 { IBM* } IBM290 { IANA* } cp290 { IANA } EBCDIC-JP-kana { IANA } csIBM290 { IANA } # host SBCS (Katakana)
ibm-297_P100-1995 { UTR22* }    ibm-297 { IBM* } IBM297 { IANA* JAVA } cp297 { IANA JAVA* } ebcdic-cp-fr { IANA } csIBM297 { IANA } cpibm297 { JAVA } 297 { JAVA }     # EBCDIC France
ibm-420_X120-1999 { UTR22* }    ibm-420 { IBM* } IBM420 { IANA* JAVA } cp420 { IANA JAVA* } ebcdic-cp-ar1 { IANA } csIBM420 { IANA } 420 { JAVA }    # EBCDIC Arabic (all presentation shapes)
ibm-424_P100-1995 { UTR22* }    ibm-424 { IBM* } IBM424 { IANA* JAVA } cp424 { IANA JAVA* } ebcdic-cp-he { IANA } csIBM424 { IANA } 424 { JAVA }     # EBCDIC Hebrew
ibm-500_P100-1995 { UTR22* }    ibm-500 { IBM* } IBM500 { IANA* JAVA } CP500 { IANA JAVA* } ebcdic-cp-be { IANA } csIBM500 { IANA } ebcdic-cp-ch { IANA } 500   # EBCDIC International Latin1
ibm-803_P100-1999 { UTR22* }    ibm-803 { IBM* } cp803   # Old EBCDIC Hebrew
ibm-838_P100-1995 { UTR22* }    ibm-838 { IBM* } IBM838 { JAVA } IBM-Thai { IANA* JAVA } csIBMThai { IANA } cp838 { JAVA* } 838 { JAVA } ibm-9030 { IBM }   # EBCDIC Thai. Yes ibm-9030 is an alias.
ibm-870_P100-1995 { UTR22* }    ibm-870 { IBM* } IBM870 { IANA* JAVA } CP870 { IANA JAVA* } ebcdic-cp-roece { IANA } ebcdic-cp-yu { IANA } csIBM870 { IANA }    # EBCDIC Latin 2 
ibm-871_P100-1995 { UTR22* }    ibm-871 { IBM* } IBM871 { IANA* JAVA } ebcdic-cp-is { IANA JAVA } csIBM871 { IANA JAVA } CP871 { IANA JAVA* } ebcdic-is { JAVA } 871 { JAVA }     # EBCDIC Iceland
ibm-875_P100-1995 { UTR22* }    ibm-875 { IBM* } IBM875 { JAVA } cp875 { JAVA* } 875 { JAVA } # EBCDIC Greek
ibm-918_P100-1995 { UTR22* }    ibm-918 { IBM* } IBM918 { IANA* JAVA } CP918 { IANA JAVA* } ebcdic-cp-ar2 { IANA } csIBM918 { IANA }        # EBCDIC Urdu
ibm-930_P120-1999 { UTR22* }    # EBCDIC_STATEFUL Katakana-Kanji Host Mixed.
                        ibm-930 { IBM* }
                        ibm-5026 { IBM } # Yes this is correct
                        IBM930 { JAVA }
                        cp930 { JAVA* }
                        930 { JAVA }
ibm-933_P110-1995 { UTR22* }    ibm-933 { IBM* JAVA } cp933 { JAVA* } 933 { JAVA } # Korea EBCDIC MIXED
ibm-935_P110-1999 { UTR22* }    ibm-935 { IBM* JAVA } cp935 { JAVA* } 935 { JAVA } # China EBCDIC MIXED. Need to use Unicode, ibm-1388 or gb18030 instead because it is required by the government of China.
ibm-937_P110-1999 { UTR22* }    ibm-937 { IBM* JAVA } cp937 { JAVA* } 937 { JAVA } # Taiwan EBCDIC MIXED
ibm-939_P120-1999 { UTR22* }    # EBCDIC_STATEFUL Latin-Kanji Host Mixed.
                        ibm-939 { IBM* }
                        ibm-931 { IBM }     # Yes this is correct
                        ibm-5035 { IBM }    # Yes this is also correct
                        IBM939 { JAVA }
                        cp939 { JAVA* }
                        939 { JAVA }
ibm-1025_P100-1995 { UTR22* }   ibm-1025 { IBM* JAVA } cp1025 { JAVA* } 1025 { JAVA }   # EBCDIC Cyrillic
ibm-1026_P100-1995 { UTR22* }   ibm-1026 { IBM* } IBM1026 { IANA* JAVA } CP1026 { IANA JAVA* } csIBM1026 { IANA } 1026 { JAVA } # EBCDIC Turkey 
ibm-1047_P100-1995 { UTR22* }   ibm-1047 { IBM* } IBM1047 { IANA* JAVA } cp1047 { JAVA* } 1047 { JAVA } # EBCDIC Open systems Latin1
ibm-1097_P100-1995 { UTR22* }   ibm-1097 { IBM* JAVA } cp1097 { JAVA* } 1097 { JAVA }   # EBCDIC Farsi
ibm-1112_P100-1995 { UTR22* }   ibm-1112 { IBM* JAVA } cp1112 { JAVA* } 1112 { JAVA }   # EBCDIC Baltic
ibm-1122_P100-1999 { UTR22* }   ibm-1122 { IBM* JAVA } cp1122 { JAVA* } 1122 { JAVA }   # EBCDIC Estonia 
ibm-1123_P100-1995 { UTR22* }   ibm-1123 { IBM* JAVA } cp1123 { JAVA* } 1123 { JAVA }   # EBCDIC Cyrillic Ukraine
ibm-1130_P100-1997 { UTR22* }   ibm-1130 { IBM* }       # EBCDIC Vietnamese
ibm-1132_P100-1998 { UTR22* }   ibm-1132 { IBM* }       # EBCDIC Lao
ibm-1137_P100-1999 { UTR22* }   ibm-1137 { IBM* }       # Devanagari EBCDIC (based on Unicode character set)

# with Euro
ibm-1140_P100-1997 { UTR22* }   ibm-1140 { IBM* } IBM01140 { IANA* JAVA } CCSID01140 { IANA JAVA } CP01140 { IANA JAVA } cp1140 { JAVA* } ebcdic-us-37+euro { IANA } # EBCDIC US
ibm-1141_P100-1997 { UTR22* }   ibm-1141 { IBM* } IBM01141 { IANA* JAVA } CCSID01141 { IANA JAVA } CP01141 { IANA JAVA } cp1141 { JAVA* } ebcdic-de-273+euro { IANA } # EBCDIC Germanay, Austria
ibm-1142_P100-1997 { UTR22* }   ibm-1142 { IBM* } IBM01142 { IANA* JAVA } CCSID01142 { IANA JAVA } CP01142 { IANA JAVA } cp1142 { JAVA* } ebcdic-dk-277+euro { IANA } ebcdic-no-277+euro { IANA } # EBCDIC Denmark
ibm-1143_P100-1997 { UTR22* }   ibm-1143 { IBM* } IBM01143 { IANA* JAVA } CCSID01143 { IANA JAVA } CP01143 { IANA JAVA } cp1143 { JAVA* } ebcdic-fi-278+euro { IANA } ebcdic-se-278+euro { IANA } # EBCDIC Sweden
ibm-1144_P100-1997 { UTR22* }   ibm-1144 { IBM* } IBM01144 { IANA* JAVA } CCSID01144 { IANA JAVA } CP01144 { IANA JAVA } cp1144 { JAVA* } ebcdic-it-280+euro { IANA } # EBCDIC Italy
ibm-1145_P100-1997 { UTR22* }   ibm-1145 { IBM* } IBM01145 { IANA* JAVA } CCSID01145 { IANA JAVA } CP01145 { IANA JAVA } cp1145 { JAVA* } ebcdic-es-284+euro { IANA } # EBCDIC Spain
ibm-1146_P100-1997 { UTR22* }   ibm-1146 { IBM* } IBM01146 { IANA* JAVA } CCSID01146 { IANA JAVA } CP01146 { IANA JAVA } cp1146 { JAVA* } ebcdic-gb-285+euro { IANA } # EBCDIC UK Ireland
ibm-1147_P100-1997 { UTR22* }   ibm-1147 { IBM* } IBM01147 { IANA* JAVA } CCSID01147 { IANA JAVA } CP01147 { IANA JAVA } cp1147 { JAVA* } ebcdic-fr-297+euro { IANA } # EBCDIC France
ibm-1148_P100-1997 { UTR22* }   ibm-1148 { IBM* } IBM01148 { IANA* JAVA } CCSID01148 { IANA JAVA } CP01148 { IANA JAVA } cp1148 { JAVA* } ebcdic-international-500+euro { IANA } # EBCDIC International Latin1
ibm-1149_P100-1997 { UTR22* }   ibm-1149 { IBM* } IBM01149 { IANA* JAVA } CCSID01149 { IANA JAVA } CP01149 { IANA JAVA } cp1149 { JAVA* } ebcdic-is-871+euro { IANA } # EBCDIC Iceland
ibm-1153_P100-1999 { UTR22* }   ibm-1153 { IBM* }                   # EBCDIC latin 2
ibm-1154_P100-1999 { UTR22* }   ibm-1154 { IBM* }                   # EBCDIC Cyrillic Multilingual
ibm-1155_P100-1999 { UTR22* }   ibm-1155 { IBM* }                   # EBCDIC Turkey
ibm-1156_P100-1999 { UTR22* }   ibm-1156 { IBM* }                   # EBCDIC Baltic Multilingual
ibm-1157_P100-1999 { UTR22* }   ibm-1157 { IBM* }                   # EBCDIC Estonia
ibm-1158_P100-1999 { UTR22* }   ibm-1158 { IBM* }                   # EBCDIC Cyrillic Ukraine
ibm-1160_P100-1999 { UTR22* }   ibm-1160 { IBM* }                   # EBCDIC Thailand
ibm-1164_P100-1999 { UTR22* }   ibm-1164 { IBM* }                   # EBCDIC Viet Nam
ibm-1364_P110-1997 { UTR22* }   ibm-1364 { IBM* }                   # Korean Host Mixed
ibm-1371_P100-1999 { UTR22* }   ibm-1371 { IBM* }                   # Taiwan EBCDIC MIXED
ibm-1388_P103-2001 { UTR22* }   ibm-1388 { IBM* } ibm-9580 { IBM }  # S-Ch DBCS-Host Data GBK EBCDIC_STATEFUL. Yes ibm-9580 is an alias.
ibm-1390_P110-2003 { UTR22* }   ibm-1390 { IBM* }                   # Japan EBCDIC MIXED (JIS X 0213)
ibm-1399_P110-2003 { UTR22* }   ibm-1399 { IBM* }                   # Host MBCS (Latin-Kanji) (JIS X 0213)
ibm-5123_P100-1999 { UTR22* }   ibm-5123 { IBM* }                   # Host Roman Jis. Euro update of ibm-1027. SBCS portion of ibm-1390.
ibm-8482_P100-1999 { UTR22* }   ibm-8482 { IBM* }                   # host SBCS (Katakana). Euro update of ibm-290. SBCS portion of ibm-1399.
ibm-16684_P110-2003 { UTR22* }  ibm-16684 { IBM* }                  # DBCS Jis + Roman Jis Host. This is the DBCS portion of ibm-1390 and ibm-1399 (JIS X 0213)
ibm-4899_P100-1998 { UTR22* }   ibm-4899 { IBM* }                   # Old EBCDIC Hebrew
ibm-4971_P100-1999 { UTR22* }   ibm-4971 { IBM* }                   # EBCDIC Greek
ibm-12712_P100-1998 { UTR22* }  ibm-12712 { IBM* } ebcdic-he        # EBCDIC Hebrew (new sheqel, control charaters update)
ibm-16804_X110-1999 { UTR22* }  ibm-16804 { IBM* } ebcdic-ar        # EBCDIC Arabic


# EBCDIC codepages for S/390, with LF and NL codes swapped
# Starting with ICU 2.4, the swapping is done by modifying the
# normal tables at runtime instead of at build time.
# Append UCNV_SWAP_LFNL_OPTION_STRING to the "ibm-CCSID" name to select this.
#
# Example: "ibm-1047,swaplfnl" or "ibm-1047" UCNV_SWAP_LFNL_OPTION_STRING
#
# This avoids the duplication of all EBCDIC SBCS and mixed-SBCS/DBCS
# mapping files.

# Some examples below for declaring old-style, obsolete aliases with the "-s390"
# suffix to map to the new-style, recommended names with the option added.
# These are listed here for backward compatibility.
# Do not use these; instead use the normal converter name with the option
# added as recommended above.

# Note: It is not possible to define an alias (non-initial name in a line here)
# that itself contains a converter option like this one for swapping LF<->NL.
# Such names would never be found because ucnv_open() will first parse and strip
# options before looking up a name in this table.
# ucnv_open() then parses the lookup result (the canonical name on the left
# in lines here) as well.

# This also means that it is not necessary to add anything to convrtrs.txt
# for converter names like "ibm-1026,swaplfnl" to work -
# they are already covered by the normal option parsing together with the
# regular, option-less alias elsewhere in this file.

ibm-37_P100-1995,swaplfnl     ibm-37-s390 ibm037-s390
ibm-1047_P100-1995,swaplfnl   ibm-1047-s390
ibm-1140_P100-1997,swaplfnl   ibm-1140-s390
ibm-1142_P100-1997,swaplfnl   ibm-1142-s390
ibm-1143_P100-1997,swaplfnl   ibm-1143-s390
ibm-1144_P100-1997,swaplfnl   ibm-1144-s390
ibm-1145_P100-1997,swaplfnl   ibm-1145-s390
ibm-1146_P100-1997,swaplfnl   ibm-1146-s390
ibm-1147_P100-1997,swaplfnl   ibm-1147-s390
ibm-1148_P100-1997,swaplfnl   ibm-1148-s390
ibm-1149_P100-1997,swaplfnl   ibm-1149-s390
ibm-1153_P100-1999,swaplfnl   ibm-1153-s390
ibm-12712_P100-1998,swaplfnl  ibm-12712-s390
ibm-16804_X110-1999,swaplfnl  ibm-16804-s390

# This is a special version of ibm-1140 that the XML4C (Xerces) parser team
# requested in 2000.
# It maps both EBCDIC LF and NL controls to Unicode LF U+000A.

ebcdic-xml-us



# These were removed due to age, and they are rarely used.

# ibm-274   IBM274 { IANA* } cp274 csIBM274 ebcdic-be
# ibm-870   IBM870 { IANA* } ebcdic-cp-roece ebcdic-cp-yu csIBM870 cp870 870

#ibm-942_P120-1999 { UTR22* }
#                        #ibm-942 { IBM* }
#                        ibm-942_VASCII_VSUB_VPUA
#                        #ibm-932 { IBM }
#                        ibm-932_VASCII_VSUB_VPUA   # Old s_jis
#ibm-859 { IBM* }        cp859 { MIME* }     # PC Latin 9 (w/ euro update)
#ibm-5104_X110-1999 { UTR22* }   ibm-5104 { IBM* } cp1008    # 8-bit Arabic (w/ euro update)
#ibm-9238 { IBM* }               cp1046                      # PC Arabic Extended (w/ euro update)
#ibm-17248_X110-1999 { UTR22* }  ibm-17248 { IBM* }          # PC Arabic (w/ euro update) Updated version of ibm-864

#ibm-941                 jis-208 jisx-208    # Pure DBCS jisx-208 # ibm-941 is not JISX 208 code page
#ibm-955                 jis-208 jisx-208    # Pure DBCS jisx-208

#ibm-1159_P100-1999 { UTR22* }   ibm-1159 { IBM* }   # SBCS T-Ch Host. Euro update of ibm-28709. This is used in combination with another CCSID mapping.
#ibm-9027_P100-1999 { UTR22* }   ibm-9027 { IBM* }   # DBCS T-Ch Host. Euro update of ibm-835. DBCS portion of ibm-1371.

#ibm-1381_P110-1999 { UTR22* }   ibm-1381 { IBM* JAVA } cp1381 { JAVA* } 1381 { JAVA }   # S-Ch PC Data mixed (IBM GB)