1 # This file is generated by mkstringprep.py. DO NOT EDIT.
2 """Library that exposes various tables found in the StringPrep RFC 3454.
4 There are two kinds of tables: sets, for which a member test is provided,
5 and mappings, for which a mapping function is provided.
8 from unicodedata
import ucd_3_2_0
as unicodedata
10 assert unicodedata
.unidata_version
== '3.2.0'
12 def in_table_a1(code
):
13 if unicodedata
.category(code
) != 'Cn': return False
15 if 0xFDD0 <= c
< 0xFDF0: return False
16 return (c
& 0xFFFF) not in (0xFFFE, 0xFFFF)
19 b1_set
= set([173, 847, 6150, 6155, 6156, 6157, 8203, 8204, 8205, 8288, 65279] + range(65024,65040))
20 def in_table_b1(code
):
21 return ord(code
) in b1_set
25 0xb5:u
'\u03bc', 0xdf:u
'ss', 0x130:u
'i\u0307', 0x149:u
'\u02bcn',
26 0x17f:u
's', 0x1f0:u
'j\u030c', 0x345:u
'\u03b9', 0x37a:u
' \u03b9',
27 0x390:u
'\u03b9\u0308\u0301', 0x3b0:u
'\u03c5\u0308\u0301', 0x3c2:u
'\u03c3', 0x3d0:u
'\u03b2',
28 0x3d1:u
'\u03b8', 0x3d2:u
'\u03c5', 0x3d3:u
'\u03cd', 0x3d4:u
'\u03cb',
29 0x3d5:u
'\u03c6', 0x3d6:u
'\u03c0', 0x3f0:u
'\u03ba', 0x3f1:u
'\u03c1',
30 0x3f2:u
'\u03c3', 0x3f5:u
'\u03b5', 0x587:u
'\u0565\u0582', 0x1e96:u
'h\u0331',
31 0x1e97:u
't\u0308', 0x1e98:u
'w\u030a', 0x1e99:u
'y\u030a', 0x1e9a:u
'a\u02be',
32 0x1e9b:u
'\u1e61', 0x1f50:u
'\u03c5\u0313', 0x1f52:u
'\u03c5\u0313\u0300', 0x1f54:u
'\u03c5\u0313\u0301',
33 0x1f56:u
'\u03c5\u0313\u0342', 0x1f80:u
'\u1f00\u03b9', 0x1f81:u
'\u1f01\u03b9', 0x1f82:u
'\u1f02\u03b9',
34 0x1f83:u
'\u1f03\u03b9', 0x1f84:u
'\u1f04\u03b9', 0x1f85:u
'\u1f05\u03b9', 0x1f86:u
'\u1f06\u03b9',
35 0x1f87:u
'\u1f07\u03b9', 0x1f88:u
'\u1f00\u03b9', 0x1f89:u
'\u1f01\u03b9', 0x1f8a:u
'\u1f02\u03b9',
36 0x1f8b:u
'\u1f03\u03b9', 0x1f8c:u
'\u1f04\u03b9', 0x1f8d:u
'\u1f05\u03b9', 0x1f8e:u
'\u1f06\u03b9',
37 0x1f8f:u
'\u1f07\u03b9', 0x1f90:u
'\u1f20\u03b9', 0x1f91:u
'\u1f21\u03b9', 0x1f92:u
'\u1f22\u03b9',
38 0x1f93:u
'\u1f23\u03b9', 0x1f94:u
'\u1f24\u03b9', 0x1f95:u
'\u1f25\u03b9', 0x1f96:u
'\u1f26\u03b9',
39 0x1f97:u
'\u1f27\u03b9', 0x1f98:u
'\u1f20\u03b9', 0x1f99:u
'\u1f21\u03b9', 0x1f9a:u
'\u1f22\u03b9',
40 0x1f9b:u
'\u1f23\u03b9', 0x1f9c:u
'\u1f24\u03b9', 0x1f9d:u
'\u1f25\u03b9', 0x1f9e:u
'\u1f26\u03b9',
41 0x1f9f:u
'\u1f27\u03b9', 0x1fa0:u
'\u1f60\u03b9', 0x1fa1:u
'\u1f61\u03b9', 0x1fa2:u
'\u1f62\u03b9',
42 0x1fa3:u
'\u1f63\u03b9', 0x1fa4:u
'\u1f64\u03b9', 0x1fa5:u
'\u1f65\u03b9', 0x1fa6:u
'\u1f66\u03b9',
43 0x1fa7:u
'\u1f67\u03b9', 0x1fa8:u
'\u1f60\u03b9', 0x1fa9:u
'\u1f61\u03b9', 0x1faa:u
'\u1f62\u03b9',
44 0x1fab:u
'\u1f63\u03b9', 0x1fac:u
'\u1f64\u03b9', 0x1fad:u
'\u1f65\u03b9', 0x1fae:u
'\u1f66\u03b9',
45 0x1faf:u
'\u1f67\u03b9', 0x1fb2:u
'\u1f70\u03b9', 0x1fb3:u
'\u03b1\u03b9', 0x1fb4:u
'\u03ac\u03b9',
46 0x1fb6:u
'\u03b1\u0342', 0x1fb7:u
'\u03b1\u0342\u03b9', 0x1fbc:u
'\u03b1\u03b9', 0x1fbe:u
'\u03b9',
47 0x1fc2:u
'\u1f74\u03b9', 0x1fc3:u
'\u03b7\u03b9', 0x1fc4:u
'\u03ae\u03b9', 0x1fc6:u
'\u03b7\u0342',
48 0x1fc7:u
'\u03b7\u0342\u03b9', 0x1fcc:u
'\u03b7\u03b9', 0x1fd2:u
'\u03b9\u0308\u0300', 0x1fd3:u
'\u03b9\u0308\u0301',
49 0x1fd6:u
'\u03b9\u0342', 0x1fd7:u
'\u03b9\u0308\u0342', 0x1fe2:u
'\u03c5\u0308\u0300', 0x1fe3:u
'\u03c5\u0308\u0301',
50 0x1fe4:u
'\u03c1\u0313', 0x1fe6:u
'\u03c5\u0342', 0x1fe7:u
'\u03c5\u0308\u0342', 0x1ff2:u
'\u1f7c\u03b9',
51 0x1ff3:u
'\u03c9\u03b9', 0x1ff4:u
'\u03ce\u03b9', 0x1ff6:u
'\u03c9\u0342', 0x1ff7:u
'\u03c9\u0342\u03b9',
52 0x1ffc:u
'\u03c9\u03b9', 0x20a8:u
'rs', 0x2102:u
'c', 0x2103:u
'\xb0c',
53 0x2107:u
'\u025b', 0x2109:u
'\xb0f', 0x210b:u
'h', 0x210c:u
'h',
54 0x210d:u
'h', 0x2110:u
'i', 0x2111:u
'i', 0x2112:u
'l',
55 0x2115:u
'n', 0x2116:u
'no', 0x2119:u
'p', 0x211a:u
'q',
56 0x211b:u
'r', 0x211c:u
'r', 0x211d:u
'r', 0x2120:u
'sm',
57 0x2121:u
'tel', 0x2122:u
'tm', 0x2124:u
'z', 0x2128:u
'z',
58 0x212c:u
'b', 0x212d:u
'c', 0x2130:u
'e', 0x2131:u
'f',
59 0x2133:u
'm', 0x213e:u
'\u03b3', 0x213f:u
'\u03c0', 0x2145:u
'd',
60 0x3371:u
'hpa', 0x3373:u
'au', 0x3375:u
'ov', 0x3380:u
'pa',
61 0x3381:u
'na', 0x3382:u
'\u03bca', 0x3383:u
'ma', 0x3384:u
'ka',
62 0x3385:u
'kb', 0x3386:u
'mb', 0x3387:u
'gb', 0x338a:u
'pf',
63 0x338b:u
'nf', 0x338c:u
'\u03bcf', 0x3390:u
'hz', 0x3391:u
'khz',
64 0x3392:u
'mhz', 0x3393:u
'ghz', 0x3394:u
'thz', 0x33a9:u
'pa',
65 0x33aa:u
'kpa', 0x33ab:u
'mpa', 0x33ac:u
'gpa', 0x33b4:u
'pv',
66 0x33b5:u
'nv', 0x33b6:u
'\u03bcv', 0x33b7:u
'mv', 0x33b8:u
'kv',
67 0x33b9:u
'mv', 0x33ba:u
'pw', 0x33bb:u
'nw', 0x33bc:u
'\u03bcw',
68 0x33bd:u
'mw', 0x33be:u
'kw', 0x33bf:u
'mw', 0x33c0:u
'k\u03c9',
69 0x33c1:u
'm\u03c9', 0x33c3:u
'bq', 0x33c6:u
'c\u2215kg', 0x33c7:u
'co.',
70 0x33c8:u
'db', 0x33c9:u
'gy', 0x33cb:u
'hp', 0x33cd:u
'kk',
71 0x33ce:u
'km', 0x33d7:u
'ph', 0x33d9:u
'ppm', 0x33da:u
'pr',
72 0x33dc:u
'sv', 0x33dd:u
'wb', 0xfb00:u
'ff', 0xfb01:u
'fi',
73 0xfb02:u
'fl', 0xfb03:u
'ffi', 0xfb04:u
'ffl', 0xfb05:u
'st',
74 0xfb06:u
'st', 0xfb13:u
'\u0574\u0576', 0xfb14:u
'\u0574\u0565', 0xfb15:u
'\u0574\u056b',
75 0xfb16:u
'\u057e\u0576', 0xfb17:u
'\u0574\u056d', 0x1d400:u
'a', 0x1d401:u
'b',
76 0x1d402:u
'c', 0x1d403:u
'd', 0x1d404:u
'e', 0x1d405:u
'f',
77 0x1d406:u
'g', 0x1d407:u
'h', 0x1d408:u
'i', 0x1d409:u
'j',
78 0x1d40a:u
'k', 0x1d40b:u
'l', 0x1d40c:u
'm', 0x1d40d:u
'n',
79 0x1d40e:u
'o', 0x1d40f:u
'p', 0x1d410:u
'q', 0x1d411:u
'r',
80 0x1d412:u
's', 0x1d413:u
't', 0x1d414:u
'u', 0x1d415:u
'v',
81 0x1d416:u
'w', 0x1d417:u
'x', 0x1d418:u
'y', 0x1d419:u
'z',
82 0x1d434:u
'a', 0x1d435:u
'b', 0x1d436:u
'c', 0x1d437:u
'd',
83 0x1d438:u
'e', 0x1d439:u
'f', 0x1d43a:u
'g', 0x1d43b:u
'h',
84 0x1d43c:u
'i', 0x1d43d:u
'j', 0x1d43e:u
'k', 0x1d43f:u
'l',
85 0x1d440:u
'm', 0x1d441:u
'n', 0x1d442:u
'o', 0x1d443:u
'p',
86 0x1d444:u
'q', 0x1d445:u
'r', 0x1d446:u
's', 0x1d447:u
't',
87 0x1d448:u
'u', 0x1d449:u
'v', 0x1d44a:u
'w', 0x1d44b:u
'x',
88 0x1d44c:u
'y', 0x1d44d:u
'z', 0x1d468:u
'a', 0x1d469:u
'b',
89 0x1d46a:u
'c', 0x1d46b:u
'd', 0x1d46c:u
'e', 0x1d46d:u
'f',
90 0x1d46e:u
'g', 0x1d46f:u
'h', 0x1d470:u
'i', 0x1d471:u
'j',
91 0x1d472:u
'k', 0x1d473:u
'l', 0x1d474:u
'm', 0x1d475:u
'n',
92 0x1d476:u
'o', 0x1d477:u
'p', 0x1d478:u
'q', 0x1d479:u
'r',
93 0x1d47a:u
's', 0x1d47b:u
't', 0x1d47c:u
'u', 0x1d47d:u
'v',
94 0x1d47e:u
'w', 0x1d47f:u
'x', 0x1d480:u
'y', 0x1d481:u
'z',
95 0x1d49c:u
'a', 0x1d49e:u
'c', 0x1d49f:u
'd', 0x1d4a2:u
'g',
96 0x1d4a5:u
'j', 0x1d4a6:u
'k', 0x1d4a9:u
'n', 0x1d4aa:u
'o',
97 0x1d4ab:u
'p', 0x1d4ac:u
'q', 0x1d4ae:u
's', 0x1d4af:u
't',
98 0x1d4b0:u
'u', 0x1d4b1:u
'v', 0x1d4b2:u
'w', 0x1d4b3:u
'x',
99 0x1d4b4:u
'y', 0x1d4b5:u
'z', 0x1d4d0:u
'a', 0x1d4d1:u
'b',
100 0x1d4d2:u
'c', 0x1d4d3:u
'd', 0x1d4d4:u
'e', 0x1d4d5:u
'f',
101 0x1d4d6:u
'g', 0x1d4d7:u
'h', 0x1d4d8:u
'i', 0x1d4d9:u
'j',
102 0x1d4da:u
'k', 0x1d4db:u
'l', 0x1d4dc:u
'm', 0x1d4dd:u
'n',
103 0x1d4de:u
'o', 0x1d4df:u
'p', 0x1d4e0:u
'q', 0x1d4e1:u
'r',
104 0x1d4e2:u
's', 0x1d4e3:u
't', 0x1d4e4:u
'u', 0x1d4e5:u
'v',
105 0x1d4e6:u
'w', 0x1d4e7:u
'x', 0x1d4e8:u
'y', 0x1d4e9:u
'z',
106 0x1d504:u
'a', 0x1d505:u
'b', 0x1d507:u
'd', 0x1d508:u
'e',
107 0x1d509:u
'f', 0x1d50a:u
'g', 0x1d50d:u
'j', 0x1d50e:u
'k',
108 0x1d50f:u
'l', 0x1d510:u
'm', 0x1d511:u
'n', 0x1d512:u
'o',
109 0x1d513:u
'p', 0x1d514:u
'q', 0x1d516:u
's', 0x1d517:u
't',
110 0x1d518:u
'u', 0x1d519:u
'v', 0x1d51a:u
'w', 0x1d51b:u
'x',
111 0x1d51c:u
'y', 0x1d538:u
'a', 0x1d539:u
'b', 0x1d53b:u
'd',
112 0x1d53c:u
'e', 0x1d53d:u
'f', 0x1d53e:u
'g', 0x1d540:u
'i',
113 0x1d541:u
'j', 0x1d542:u
'k', 0x1d543:u
'l', 0x1d544:u
'm',
114 0x1d546:u
'o', 0x1d54a:u
's', 0x1d54b:u
't', 0x1d54c:u
'u',
115 0x1d54d:u
'v', 0x1d54e:u
'w', 0x1d54f:u
'x', 0x1d550:u
'y',
116 0x1d56c:u
'a', 0x1d56d:u
'b', 0x1d56e:u
'c', 0x1d56f:u
'd',
117 0x1d570:u
'e', 0x1d571:u
'f', 0x1d572:u
'g', 0x1d573:u
'h',
118 0x1d574:u
'i', 0x1d575:u
'j', 0x1d576:u
'k', 0x1d577:u
'l',
119 0x1d578:u
'm', 0x1d579:u
'n', 0x1d57a:u
'o', 0x1d57b:u
'p',
120 0x1d57c:u
'q', 0x1d57d:u
'r', 0x1d57e:u
's', 0x1d57f:u
't',
121 0x1d580:u
'u', 0x1d581:u
'v', 0x1d582:u
'w', 0x1d583:u
'x',
122 0x1d584:u
'y', 0x1d585:u
'z', 0x1d5a0:u
'a', 0x1d5a1:u
'b',
123 0x1d5a2:u
'c', 0x1d5a3:u
'd', 0x1d5a4:u
'e', 0x1d5a5:u
'f',
124 0x1d5a6:u
'g', 0x1d5a7:u
'h', 0x1d5a8:u
'i', 0x1d5a9:u
'j',
125 0x1d5aa:u
'k', 0x1d5ab:u
'l', 0x1d5ac:u
'm', 0x1d5ad:u
'n',
126 0x1d5ae:u
'o', 0x1d5af:u
'p', 0x1d5b0:u
'q', 0x1d5b1:u
'r',
127 0x1d5b2:u
's', 0x1d5b3:u
't', 0x1d5b4:u
'u', 0x1d5b5:u
'v',
128 0x1d5b6:u
'w', 0x1d5b7:u
'x', 0x1d5b8:u
'y', 0x1d5b9:u
'z',
129 0x1d5d4:u
'a', 0x1d5d5:u
'b', 0x1d5d6:u
'c', 0x1d5d7:u
'd',
130 0x1d5d8:u
'e', 0x1d5d9:u
'f', 0x1d5da:u
'g', 0x1d5db:u
'h',
131 0x1d5dc:u
'i', 0x1d5dd:u
'j', 0x1d5de:u
'k', 0x1d5df:u
'l',
132 0x1d5e0:u
'm', 0x1d5e1:u
'n', 0x1d5e2:u
'o', 0x1d5e3:u
'p',
133 0x1d5e4:u
'q', 0x1d5e5:u
'r', 0x1d5e6:u
's', 0x1d5e7:u
't',
134 0x1d5e8:u
'u', 0x1d5e9:u
'v', 0x1d5ea:u
'w', 0x1d5eb:u
'x',
135 0x1d5ec:u
'y', 0x1d5ed:u
'z', 0x1d608:u
'a', 0x1d609:u
'b',
136 0x1d60a:u
'c', 0x1d60b:u
'd', 0x1d60c:u
'e', 0x1d60d:u
'f',
137 0x1d60e:u
'g', 0x1d60f:u
'h', 0x1d610:u
'i', 0x1d611:u
'j',
138 0x1d612:u
'k', 0x1d613:u
'l', 0x1d614:u
'm', 0x1d615:u
'n',
139 0x1d616:u
'o', 0x1d617:u
'p', 0x1d618:u
'q', 0x1d619:u
'r',
140 0x1d61a:u
's', 0x1d61b:u
't', 0x1d61c:u
'u', 0x1d61d:u
'v',
141 0x1d61e:u
'w', 0x1d61f:u
'x', 0x1d620:u
'y', 0x1d621:u
'z',
142 0x1d63c:u
'a', 0x1d63d:u
'b', 0x1d63e:u
'c', 0x1d63f:u
'd',
143 0x1d640:u
'e', 0x1d641:u
'f', 0x1d642:u
'g', 0x1d643:u
'h',
144 0x1d644:u
'i', 0x1d645:u
'j', 0x1d646:u
'k', 0x1d647:u
'l',
145 0x1d648:u
'm', 0x1d649:u
'n', 0x1d64a:u
'o', 0x1d64b:u
'p',
146 0x1d64c:u
'q', 0x1d64d:u
'r', 0x1d64e:u
's', 0x1d64f:u
't',
147 0x1d650:u
'u', 0x1d651:u
'v', 0x1d652:u
'w', 0x1d653:u
'x',
148 0x1d654:u
'y', 0x1d655:u
'z', 0x1d670:u
'a', 0x1d671:u
'b',
149 0x1d672:u
'c', 0x1d673:u
'd', 0x1d674:u
'e', 0x1d675:u
'f',
150 0x1d676:u
'g', 0x1d677:u
'h', 0x1d678:u
'i', 0x1d679:u
'j',
151 0x1d67a:u
'k', 0x1d67b:u
'l', 0x1d67c:u
'm', 0x1d67d:u
'n',
152 0x1d67e:u
'o', 0x1d67f:u
'p', 0x1d680:u
'q', 0x1d681:u
'r',
153 0x1d682:u
's', 0x1d683:u
't', 0x1d684:u
'u', 0x1d685:u
'v',
154 0x1d686:u
'w', 0x1d687:u
'x', 0x1d688:u
'y', 0x1d689:u
'z',
155 0x1d6a8:u
'\u03b1', 0x1d6a9:u
'\u03b2', 0x1d6aa:u
'\u03b3', 0x1d6ab:u
'\u03b4',
156 0x1d6ac:u
'\u03b5', 0x1d6ad:u
'\u03b6', 0x1d6ae:u
'\u03b7', 0x1d6af:u
'\u03b8',
157 0x1d6b0:u
'\u03b9', 0x1d6b1:u
'\u03ba', 0x1d6b2:u
'\u03bb', 0x1d6b3:u
'\u03bc',
158 0x1d6b4:u
'\u03bd', 0x1d6b5:u
'\u03be', 0x1d6b6:u
'\u03bf', 0x1d6b7:u
'\u03c0',
159 0x1d6b8:u
'\u03c1', 0x1d6b9:u
'\u03b8', 0x1d6ba:u
'\u03c3', 0x1d6bb:u
'\u03c4',
160 0x1d6bc:u
'\u03c5', 0x1d6bd:u
'\u03c6', 0x1d6be:u
'\u03c7', 0x1d6bf:u
'\u03c8',
161 0x1d6c0:u
'\u03c9', 0x1d6d3:u
'\u03c3', 0x1d6e2:u
'\u03b1', 0x1d6e3:u
'\u03b2',
162 0x1d6e4:u
'\u03b3', 0x1d6e5:u
'\u03b4', 0x1d6e6:u
'\u03b5', 0x1d6e7:u
'\u03b6',
163 0x1d6e8:u
'\u03b7', 0x1d6e9:u
'\u03b8', 0x1d6ea:u
'\u03b9', 0x1d6eb:u
'\u03ba',
164 0x1d6ec:u
'\u03bb', 0x1d6ed:u
'\u03bc', 0x1d6ee:u
'\u03bd', 0x1d6ef:u
'\u03be',
165 0x1d6f0:u
'\u03bf', 0x1d6f1:u
'\u03c0', 0x1d6f2:u
'\u03c1', 0x1d6f3:u
'\u03b8',
166 0x1d6f4:u
'\u03c3', 0x1d6f5:u
'\u03c4', 0x1d6f6:u
'\u03c5', 0x1d6f7:u
'\u03c6',
167 0x1d6f8:u
'\u03c7', 0x1d6f9:u
'\u03c8', 0x1d6fa:u
'\u03c9', 0x1d70d:u
'\u03c3',
168 0x1d71c:u
'\u03b1', 0x1d71d:u
'\u03b2', 0x1d71e:u
'\u03b3', 0x1d71f:u
'\u03b4',
169 0x1d720:u
'\u03b5', 0x1d721:u
'\u03b6', 0x1d722:u
'\u03b7', 0x1d723:u
'\u03b8',
170 0x1d724:u
'\u03b9', 0x1d725:u
'\u03ba', 0x1d726:u
'\u03bb', 0x1d727:u
'\u03bc',
171 0x1d728:u
'\u03bd', 0x1d729:u
'\u03be', 0x1d72a:u
'\u03bf', 0x1d72b:u
'\u03c0',
172 0x1d72c:u
'\u03c1', 0x1d72d:u
'\u03b8', 0x1d72e:u
'\u03c3', 0x1d72f:u
'\u03c4',
173 0x1d730:u
'\u03c5', 0x1d731:u
'\u03c6', 0x1d732:u
'\u03c7', 0x1d733:u
'\u03c8',
174 0x1d734:u
'\u03c9', 0x1d747:u
'\u03c3', 0x1d756:u
'\u03b1', 0x1d757:u
'\u03b2',
175 0x1d758:u
'\u03b3', 0x1d759:u
'\u03b4', 0x1d75a:u
'\u03b5', 0x1d75b:u
'\u03b6',
176 0x1d75c:u
'\u03b7', 0x1d75d:u
'\u03b8', 0x1d75e:u
'\u03b9', 0x1d75f:u
'\u03ba',
177 0x1d760:u
'\u03bb', 0x1d761:u
'\u03bc', 0x1d762:u
'\u03bd', 0x1d763:u
'\u03be',
178 0x1d764:u
'\u03bf', 0x1d765:u
'\u03c0', 0x1d766:u
'\u03c1', 0x1d767:u
'\u03b8',
179 0x1d768:u
'\u03c3', 0x1d769:u
'\u03c4', 0x1d76a:u
'\u03c5', 0x1d76b:u
'\u03c6',
180 0x1d76c:u
'\u03c7', 0x1d76d:u
'\u03c8', 0x1d76e:u
'\u03c9', 0x1d781:u
'\u03c3',
181 0x1d790:u
'\u03b1', 0x1d791:u
'\u03b2', 0x1d792:u
'\u03b3', 0x1d793:u
'\u03b4',
182 0x1d794:u
'\u03b5', 0x1d795:u
'\u03b6', 0x1d796:u
'\u03b7', 0x1d797:u
'\u03b8',
183 0x1d798:u
'\u03b9', 0x1d799:u
'\u03ba', 0x1d79a:u
'\u03bb', 0x1d79b:u
'\u03bc',
184 0x1d79c:u
'\u03bd', 0x1d79d:u
'\u03be', 0x1d79e:u
'\u03bf', 0x1d79f:u
'\u03c0',
185 0x1d7a0:u
'\u03c1', 0x1d7a1:u
'\u03b8', 0x1d7a2:u
'\u03c3', 0x1d7a3:u
'\u03c4',
186 0x1d7a4:u
'\u03c5', 0x1d7a5:u
'\u03c6', 0x1d7a6:u
'\u03c7', 0x1d7a7:u
'\u03c8',
187 0x1d7a8:u
'\u03c9', 0x1d7bb:u
'\u03c3', }
189 def map_table_b3(code
):
190 r
= b3_exceptions
.get(ord(code
))
191 if r
is not None: return r
197 b
= unicodedata
.normalize("NFKC", al
)
198 bl
= u
"".join([map_table_b3(ch
) for ch
in b
])
199 c
= unicodedata
.normalize("NFKC", bl
)
206 def in_table_c11(code
):
210 def in_table_c12(code
):
211 return unicodedata
.category(code
) == "Zs" and code
!= u
" "
213 def in_table_c11_c12(code
):
214 return unicodedata
.category(code
) == "Zs"
217 def in_table_c21(code
):
218 return ord(code
) < 128 and unicodedata
.category(code
) == "Cc"
220 c22_specials
= set([1757, 1807, 6158, 8204, 8205, 8232, 8233, 65279] + range(8288,8292) + range(8298,8304) + range(65529,65533) + range(119155,119163))
221 def in_table_c22(code
):
223 if c
< 128: return False
224 if unicodedata
.category(code
) == "Cc": return True
225 return c
in c22_specials
227 def in_table_c21_c22(code
):
228 return unicodedata
.category(code
) == "Cc" or \
229 ord(code
) in c22_specials
232 def in_table_c3(code
):
233 return unicodedata
.category(code
) == "Co"
236 def in_table_c4(code
):
238 if c
< 0xFDD0: return False
239 if c
< 0xFDF0: return True
240 return (ord(code
) & 0xFFFF) in (0xFFFE, 0xFFFF)
243 def in_table_c5(code
):
244 return unicodedata
.category(code
) == "Cs"
247 c6_set
= set(range(65529,65534))
248 def in_table_c6(code
):
249 return ord(code
) in c6_set
252 c7_set
= set(range(12272,12284))
253 def in_table_c7(code
):
254 return ord(code
) in c7_set
257 c8_set
= set([832, 833, 8206, 8207] + range(8234,8239) + range(8298,8304))
258 def in_table_c8(code
):
259 return ord(code
) in c8_set
262 c9_set
= set([917505] + range(917536,917632))
263 def in_table_c9(code
):
264 return ord(code
) in c9_set
267 def in_table_d1(code
):
268 return unicodedata
.bidirectional(code
) in ("R","AL")
271 def in_table_d2(code
):
272 return unicodedata
.bidirectional(code
) == "L"