@@ -38,6 +38,126 @@ pub mod general_category {
38
38
Cc_table . lookup ( c)
39
39
}
40
40
41
+ pub const Mn_table : & super :: BoolTrie = & super :: BoolTrie {
42
+ r1 : [
43
+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
44
+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
45
+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
46
+ 0xffffffffffffffff , 0x0000ffffffffffff , 0x0000000000000000 , 0x0000000000000000 ,
47
+ 0x0000000000000000 , 0x0000000000000000 , 0x00000000000000f8 , 0x0000000000000000 ,
48
+ 0x0000000000000000 , 0x0000000000000000 , 0xbffffffffffe0000 , 0x00000000000000b6 ,
49
+ 0x0000000007ff0000 , 0x00010000fffff800 , 0x0000000000000000 , 0x00003d9f9fc00000 ,
50
+ 0xffff000000020000 , 0x00000000000007ff , 0x0001ffc000000000 , 0x000ff80000000000
51
+ ] ,
52
+ r2 : [
53
+ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 8 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 11 , 17 , 18 , 7 , 2 , 19 , 20 ,
54
+ 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 31 , 2 , 2 , 2 , 2 , 2 ,
55
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 32 , 33 , 34 , 35 , 36 , 2 , 37 , 2 , 38 , 2 , 2 , 2 , 39 , 40 , 41 , 2 , 42 ,
56
+ 43 , 44 , 45 , 46 , 2 , 2 , 47 , 2 , 2 , 2 , 48 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 49 , 2 , 2 , 2 , 2 ,
57
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
58
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 50 , 2 , 51 , 2 , 52 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 53 ,
59
+ 2 , 54 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
60
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
61
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
62
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
63
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
64
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
65
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
66
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
67
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
68
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
69
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
70
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
71
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
72
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
73
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
74
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
75
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 55 , 56 , 57 , 2 , 2 , 2 , 2 , 58 , 2 , 2 , 59 , 60 , 61 , 62 , 63 , 64 , 65 ,
76
+ 66 , 67 , 2 , 2 , 2 , 68 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
77
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
78
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
79
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
80
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
81
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
82
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
83
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
84
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
85
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
86
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
87
+ 2 , 2 , 2 , 2 , 69 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 70 , 2 , 2 , 2 , 2 , 2 , 2 , 2
88
+ ] ,
89
+ r3 : & [
90
+ 0x00003eeffbc00000 , 0x000000000e000000 , 0x0000000000000000 , 0xfffffffbfff00000 ,
91
+ 0x1400000000000007 , 0x0000000c00fe21fe , 0x1000000000000002 , 0x0000000c0000201e ,
92
+ 0x1000000000000006 , 0x0023000000023986 , 0xfc00000c000021be , 0x9000000000000002 ,
93
+ 0x0000000c0040201e , 0x0000000000000004 , 0x0000000000002001 , 0xc000000000000001 ,
94
+ 0x0000000c00603dc1 , 0x0000000c00003040 , 0x1800000000000003 , 0x00000000005c0400 ,
95
+ 0x07f2000000000000 , 0x0000000000007f80 , 0x1bf2000000000000 , 0x0000000000003f00 ,
96
+ 0x02a0000003000000 , 0x7ffe000000000000 , 0x1ffffffffeffe0df , 0x0000000000000040 ,
97
+ 0x66fde00000000000 , 0x001e0001c3000000 , 0x0000000020002064 , 0x00000000e0000000 ,
98
+ 0x001c0000001c0000 , 0x000c0000000c0000 , 0x3fb0000000000000 , 0x00000000200ffe40 ,
99
+ 0x0000000000003800 , 0x0000020000000060 , 0x0e04018700000000 , 0x0000000009800000 ,
100
+ 0x9ff81fe57f400000 , 0x3fff000000000000 , 0x17d000000000000f , 0x000ff80000000004 ,
101
+ 0x00003b3c00000003 , 0x0003a34000000000 , 0x00cff00000000000 , 0x031021fdfff70000 ,
102
+ 0xfbffffffffffffff , 0x0001ffe21fff0000 , 0x0003800000000000 , 0x8000000000000000 ,
103
+ 0xffffffff00000000 , 0x00003c0000000000 , 0x0000000006000000 , 0x3ff0800000000000 ,
104
+ 0x00000000c0000000 , 0x0003000000000000 , 0x0000006000000844 , 0x0003ffff00000030 ,
105
+ 0x00003fc000000000 , 0x000000000003ff80 , 0x13c8000000000007 , 0x0000002000000000 ,
106
+ 0x00667e0000000000 , 0x1000000000001008 , 0xc19d000000000000 , 0x0040300000000002 ,
107
+ 0x0000212000000000 , 0x0000000040000000 , 0x0000ffff0000ffff
108
+ ] ,
109
+ r4 : [
110
+ 0 , 1 , 2 , 2 , 2 , 2 , 3 , 2 , 2 , 2 , 2 , 4 , 2 , 5 , 6 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
111
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
112
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
113
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
114
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
115
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
116
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
117
+ 2 , 2 , 2 , 2 , 2 , 7 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
118
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
119
+ ] ,
120
+ r5 : & [
121
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 2 , 0 , 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
122
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 0 , 0 , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
123
+ 0 , 0 , 0 , 0 , 0 , 0 , 6 , 7 , 8 , 0 , 9 , 10 , 11 , 12 , 13 , 0 , 0 , 14 , 15 , 16 , 0 , 0 , 17 , 18 , 19 , 20 ,
124
+ 0 , 0 , 21 , 22 , 23 , 24 , 25 , 0 , 26 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 27 , 28 , 29 , 0 , 0 , 0 ,
125
+ 0 , 0 , 30 , 0 , 31 , 0 , 32 , 33 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
126
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
127
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
128
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
129
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 34 , 35 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
130
+ 36 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
131
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 37 , 0 , 0 , 0 , 0 , 0 ,
132
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 38 , 39 , 0 , 0 , 40 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
133
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 41 , 42 , 43 , 0 , 0 , 0 , 0 , 0 ,
134
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 44 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
135
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 45 , 0 , 46 , 0 , 0 , 0 , 0 ,
136
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 47 , 47 ,
137
+ 47 , 48 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
138
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
139
+ ] ,
140
+ r6 : & [
141
+ 0x0000000000000000 , 0x2000000000000000 , 0x0000000100000000 , 0x07c0000000000000 ,
142
+ 0x870000000000f06e , 0x0000006000000000 , 0xff00000000000002 , 0x800000000000007f ,
143
+ 0x0678000000000003 , 0x001fef8000000007 , 0x0008000000000000 , 0x7fc0000000000003 ,
144
+ 0x0000000000001c00 , 0x40d3800000000000 , 0x000007f880000000 , 0x1000000000000003 ,
145
+ 0x001f1fc000000001 , 0xff00000000000000 , 0x000000000000005c , 0x85f8000000000000 ,
146
+ 0x000000000000000d , 0xb03c000000000000 , 0x0000000030000001 , 0xa7f8000000000000 ,
147
+ 0x0000000000000001 , 0x00bf280000000000 , 0x00000fbce0000000 , 0x79f800000000067e ,
148
+ 0x000000000e7e0080 , 0x00000000037ffc00 , 0xbf7f000000000000 , 0x006dfcfffffc0000 ,
149
+ 0xb47e000000000000 , 0x00000000000000bf , 0x001f000000000000 , 0x007f000000000000 ,
150
+ 0x0000000000078000 , 0x0000000060000000 , 0xf800038000000000 , 0x00003c0000000fe7 ,
151
+ 0x000000000000001c , 0xf87fffffffffffff , 0x00201fffffffffff , 0x0000fffef8000010 ,
152
+ 0x000007dbf9ffff7f , 0x00000000007f0000 , 0x00000000000007f0 , 0xffffffffffffffff ,
153
+ 0x0000ffffffffffff
154
+ ] ,
155
+ } ;
156
+
157
+ pub fn Mn ( c : char ) -> bool {
158
+ Mn_table . lookup ( c)
159
+ }
160
+
41
161
pub const N_table : & super :: BoolTrie = & super :: BoolTrie {
42
162
r1 : [
43
163
0x03ff000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
0 commit comments