]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/data/mappings/gb18030.ucm
ICU-551.24.tar.gz
[apple/icu.git] / icuSources / data / mappings / gb18030.ucm
index a6d7cbd732eb24fc9d83014357c0549ee12773b2..f8f0cb03b108375fddba1e4ad692ccf0082e81a2 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2000, International Business Machines Corporation and others.
+# Copyright (C) 2000-2012, International Business Machines Corporation and others.
 # All Rights Reserved.
 
 # ICU codepage data for GB 18030
 # Note that the entire block for the supplementary Unicode planes is
 # marked unassigned because they are handled algorithmically.
 # Similarly, some of the BMP mappings are marked as unassigned for the same reason.
+# See http://userguide.icu-project.org/conversion/data#TOC-State-table-syntax-in-.ucm-files
 
+# States 0..2:
 # Mostly assigned sequences, with branches in the lead bytes
-<icu:state> 0-7f, 81:7, 82:8, 83:9, 84:a, 85-fe:4
-<icu:state> 30-39:2, 40-7e, 80-fe
-<icu:state> 81-fe:3
+# The second <icu:state> line is commented out (and does not count)
+# because the state table is hand-optimized and does not use what would be
+# the natural path for the encoding scheme.
+<icu:state> 0-7f, 81:6, 82:7, 83:8, 84:9, 85-fe:3
+# <icu:state> 30-39:2, 40-7e, 80-fe
+<icu:state> 81-fe:2
 <icu:state> 30-39
 
-# All-unassigned 4-byte sequences
-<icu:state> 30-39:5, 40-7e, 80-fe
-<icu:state> 81-fe:6
+# States 3..5: All-unassigned 4-byte sequences.
+# Do not change these states, or else the conversion table will grow significantly.
+<icu:state> 30-39:4, 40-7e, 80-fe
+<icu:state> 81-fe:5
 <icu:state> 30-39.u
 
+# States 6..9:
 # Some unassigned 4-byte sequences, one state for each of the lead bytes 81-84
 # Each of these states branch on the second of four bytes; for the third and fourth bytes,
 # unassigned sequences continue with state 5, assigned ones with state 2
-<icu:state> 30:2, 31-35:5, 36-39:2, 40-7e, 80-fe
-<icu:state> 30-35:2, 36-39:5, 40-7e, 80-fe
-<icu:state> 30-35:5, 36:2, 37-39:5, 40-7e, 80-fe
-<icu:state> 30-31:2, 32-39:5, 40-7e, 80-fe
+<icu:state> 30:1, 31-34:4, 35:a, 36-39:1, 40-7e, 80-fe
+<icu:state> 30-35:1, 36-39:4, 40-7e, 80-fe
+<icu:state> 30-35:4, 36:1, 37-39:4, 40-7e, 80-fe
+<icu:state> 30-31:1, 32-39:4, 40-7e, 80-fe
+
+# State 0xa=10, reached from 81 35: Handle the new mapping U+E7C7 <-> 81 35 F4 37
+# (see changes between revisions 25802 and 29863),
+# allow mappings for 81 35 F4 zz,
+# but otherwise keep 81 35 xx yy going to "unassigned" states.
+<icu:state> 81-fe:5, f4:2
 
 # GB 18030 BMP mappings that are not handled algorithmically are
 # generated using gbmake4 and gbtoucm tools. Please see charset/source/gb18030/gb18030.html
-# or http://oss.software.ibm.com/cvs/icu/~checkout~/charset/source/gb18030/gb18030.html
+# or http://source.icu-project.org/repos/icu/data/trunk/charset/source/gb18030/gb18030.html
 # for more information.
 
 CHARMAP
@@ -1147,6 +1160,7 @@ CHARMAP
 <U044F> \xA7\xF1 |0
 <U0450> \x81\x30\xD2\x39 |0
 <U0451> \xA7\xD7 |0
+<U1E3F> \xA8\xBC |0
 <U2010> \xA9\x5C |0
 <U2011> \x81\x36\xA5\x32 |0
 <U2012> \x81\x36\xA5\x33 |0
@@ -30052,7 +30066,7 @@ CHARMAP
 <UE7C4> \xA8\x9E |0
 <UE7C5> \xA8\x9F |0
 <UE7C6> \xA8\xA0 |0
-<UE7C7> \xA8\xBC |0
+<UE7C7> \x81\x35\xF4\x37 |0
 <UE7C8> \x83\x36\xC8\x30 |0
 <UE7C9> \xA8\xC1 |0
 <UE7CA> \xA8\xC2 |0