aboutsummaryrefslogtreecommitdiff
path: root/lib/unicode/prop/uprop_get_jg.c
blob: 9c38700478a58c25bebbc4e97db233ae35429168 (plain) (blame)
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
/* This file is autogenerated by gen/prop/jg; DO NOT EDIT. */

#include "_bsearch.h"
#include "rune.h"
#include "unicode/prop.h"

static const struct {
	rune lo, hi;
	enum uprop_jg val;
} lookup[] = {
	{RUNE_C(0x000620), RUNE_C(0x000620), JG_YEH},
	{RUNE_C(0x000622), RUNE_C(0x000623), JG_ALEF},
	{RUNE_C(0x000624), RUNE_C(0x000624), JG_WAW},
	{RUNE_C(0x000625), RUNE_C(0x000625), JG_ALEF},
	{RUNE_C(0x000626), RUNE_C(0x000626), JG_YEH},
	{RUNE_C(0x000627), RUNE_C(0x000627), JG_ALEF},
	{RUNE_C(0x000628), RUNE_C(0x000628), JG_BEH},
	{RUNE_C(0x000629), RUNE_C(0x000629), JG_TEH_MARBUTA},
	{RUNE_C(0x00062A), RUNE_C(0x00062B), JG_BEH},
	{RUNE_C(0x00062C), RUNE_C(0x00062E), JG_HAH},
	{RUNE_C(0x00062F), RUNE_C(0x000630), JG_DAL},
	{RUNE_C(0x000631), RUNE_C(0x000632), JG_REH},
	{RUNE_C(0x000633), RUNE_C(0x000634), JG_SEEN},
	{RUNE_C(0x000635), RUNE_C(0x000636), JG_SAD},
	{RUNE_C(0x000637), RUNE_C(0x000638), JG_TAH},
	{RUNE_C(0x000639), RUNE_C(0x00063A), JG_AIN},
	{RUNE_C(0x00063B), RUNE_C(0x00063C), JG_GAF},
	{RUNE_C(0x00063D), RUNE_C(0x00063F), JG_FARSI_YEH},
	{RUNE_C(0x000641), RUNE_C(0x000641), JG_FEH},
	{RUNE_C(0x000642), RUNE_C(0x000642), JG_QAF},
	{RUNE_C(0x000643), RUNE_C(0x000643), JG_KAF},
	{RUNE_C(0x000644), RUNE_C(0x000644), JG_LAM},
	{RUNE_C(0x000645), RUNE_C(0x000645), JG_MEEM},
	{RUNE_C(0x000646), RUNE_C(0x000646), JG_NOON},
	{RUNE_C(0x000647), RUNE_C(0x000647), JG_HEH},
	{RUNE_C(0x000648), RUNE_C(0x000648), JG_WAW},
	{RUNE_C(0x000649), RUNE_C(0x00064A), JG_YEH},
	{RUNE_C(0x00066E), RUNE_C(0x00066E), JG_BEH},
	{RUNE_C(0x00066F), RUNE_C(0x00066F), JG_QAF},
	{RUNE_C(0x000671), RUNE_C(0x000673), JG_ALEF},
	{RUNE_C(0x000675), RUNE_C(0x000675), JG_ALEF},
	{RUNE_C(0x000676), RUNE_C(0x000677), JG_WAW},
	{RUNE_C(0x000678), RUNE_C(0x000678), JG_YEH},
	{RUNE_C(0x000679), RUNE_C(0x000680), JG_BEH},
	{RUNE_C(0x000681), RUNE_C(0x000687), JG_HAH},
	{RUNE_C(0x000688), RUNE_C(0x000690), JG_DAL},
	{RUNE_C(0x000691), RUNE_C(0x000699), JG_REH},
	{RUNE_C(0x00069A), RUNE_C(0x00069C), JG_SEEN},
	{RUNE_C(0x00069D), RUNE_C(0x00069E), JG_SAD},
	{RUNE_C(0x00069F), RUNE_C(0x00069F), JG_TAH},
	{RUNE_C(0x0006A0), RUNE_C(0x0006A0), JG_AIN},
	{RUNE_C(0x0006A1), RUNE_C(0x0006A6), JG_FEH},
	{RUNE_C(0x0006A7), RUNE_C(0x0006A8), JG_QAF},
	{RUNE_C(0x0006A9), RUNE_C(0x0006A9), JG_GAF},
	{RUNE_C(0x0006AA), RUNE_C(0x0006AA), JG_SWASH_KAF},
	{RUNE_C(0x0006AB), RUNE_C(0x0006AB), JG_GAF},
	{RUNE_C(0x0006AC), RUNE_C(0x0006AE), JG_KAF},
	{RUNE_C(0x0006AF), RUNE_C(0x0006B4), JG_GAF},
	{RUNE_C(0x0006B5), RUNE_C(0x0006B8), JG_LAM},
	{RUNE_C(0x0006B9), RUNE_C(0x0006BC), JG_NOON},
	{RUNE_C(0x0006BD), RUNE_C(0x0006BD), JG_NYA},
	{RUNE_C(0x0006BE), RUNE_C(0x0006BE), JG_KNOTTED_HEH},
	{RUNE_C(0x0006BF), RUNE_C(0x0006BF), JG_HAH},
	{RUNE_C(0x0006C0), RUNE_C(0x0006C0), JG_TEH_MARBUTA},
	{RUNE_C(0x0006C1), RUNE_C(0x0006C2), JG_HEH_GOAL},
	{RUNE_C(0x0006C3), RUNE_C(0x0006C3), JG_TEH_MARBUTA_GOAL},
	{RUNE_C(0x0006C4), RUNE_C(0x0006CB), JG_WAW},
	{RUNE_C(0x0006CC), RUNE_C(0x0006CC), JG_FARSI_YEH},
	{RUNE_C(0x0006CD), RUNE_C(0x0006CD), JG_YEH_WITH_TAIL},
	{RUNE_C(0x0006CE), RUNE_C(0x0006CE), JG_FARSI_YEH},
	{RUNE_C(0x0006CF), RUNE_C(0x0006CF), JG_WAW},
	{RUNE_C(0x0006D0), RUNE_C(0x0006D1), JG_YEH},
	{RUNE_C(0x0006D2), RUNE_C(0x0006D3), JG_YEH_BARREE},
	{RUNE_C(0x0006D5), RUNE_C(0x0006D5), JG_TEH_MARBUTA},
	{RUNE_C(0x0006EE), RUNE_C(0x0006EE), JG_DAL},
	{RUNE_C(0x0006EF), RUNE_C(0x0006EF), JG_REH},
	{RUNE_C(0x0006FA), RUNE_C(0x0006FA), JG_SEEN},
	{RUNE_C(0x0006FB), RUNE_C(0x0006FB), JG_SAD},
	{RUNE_C(0x0006FC), RUNE_C(0x0006FC), JG_AIN},
	{RUNE_C(0x0006FF), RUNE_C(0x0006FF), JG_KNOTTED_HEH},
	{RUNE_C(0x000710), RUNE_C(0x000710), JG_ALAPH},
	{RUNE_C(0x000712), RUNE_C(0x000712), JG_BETH},
	{RUNE_C(0x000713), RUNE_C(0x000714), JG_GAMAL},
	{RUNE_C(0x000715), RUNE_C(0x000716), JG_DALATH_RISH},
	{RUNE_C(0x000717), RUNE_C(0x000717), JG_HE},
	{RUNE_C(0x000718), RUNE_C(0x000718), JG_SYRIAC_WAW},
	{RUNE_C(0x000719), RUNE_C(0x000719), JG_ZAIN},
	{RUNE_C(0x00071A), RUNE_C(0x00071A), JG_HETH},
	{RUNE_C(0x00071B), RUNE_C(0x00071C), JG_TETH},
	{RUNE_C(0x00071D), RUNE_C(0x00071D), JG_YUDH},
	{RUNE_C(0x00071E), RUNE_C(0x00071E), JG_YUDH_HE},
	{RUNE_C(0x00071F), RUNE_C(0x00071F), JG_KAPH},
	{RUNE_C(0x000720), RUNE_C(0x000720), JG_LAMADH},
	{RUNE_C(0x000721), RUNE_C(0x000721), JG_MIM},
	{RUNE_C(0x000722), RUNE_C(0x000722), JG_NUN},
	{RUNE_C(0x000723), RUNE_C(0x000723), JG_SEMKATH},
	{RUNE_C(0x000724), RUNE_C(0x000724), JG_FINAL_SEMKATH},
	{RUNE_C(0x000725), RUNE_C(0x000725), JG_E},
	{RUNE_C(0x000726), RUNE_C(0x000726), JG_PE},
	{RUNE_C(0x000727), RUNE_C(0x000727), JG_REVERSED_PE},
	{RUNE_C(0x000728), RUNE_C(0x000728), JG_SADHE},
	{RUNE_C(0x000729), RUNE_C(0x000729), JG_QAPH},
	{RUNE_C(0x00072A), RUNE_C(0x00072A), JG_DALATH_RISH},
	{RUNE_C(0x00072B), RUNE_C(0x00072B), JG_SHIN},
	{RUNE_C(0x00072C), RUNE_C(0x00072C), JG_TAW},
	{RUNE_C(0x00072D), RUNE_C(0x00072D), JG_BETH},
	{RUNE_C(0x00072E), RUNE_C(0x00072E), JG_GAMAL},
	{RUNE_C(0x00072F), RUNE_C(0x00072F), JG_DALATH_RISH},
	{RUNE_C(0x00074D), RUNE_C(0x00074D), JG_ZHAIN},
	{RUNE_C(0x00074E), RUNE_C(0x00074E), JG_KHAPH},
	{RUNE_C(0x00074F), RUNE_C(0x00074F), JG_FE},
	{RUNE_C(0x000750), RUNE_C(0x000756), JG_BEH},
	{RUNE_C(0x000757), RUNE_C(0x000758), JG_HAH},
	{RUNE_C(0x000759), RUNE_C(0x00075A), JG_DAL},
	{RUNE_C(0x00075B), RUNE_C(0x00075B), JG_REH},
	{RUNE_C(0x00075C), RUNE_C(0x00075C), JG_SEEN},
	{RUNE_C(0x00075D), RUNE_C(0x00075F), JG_AIN},
	{RUNE_C(0x000760), RUNE_C(0x000761), JG_FEH},
	{RUNE_C(0x000762), RUNE_C(0x000764), JG_GAF},
	{RUNE_C(0x000765), RUNE_C(0x000766), JG_MEEM},
	{RUNE_C(0x000767), RUNE_C(0x000769), JG_NOON},
	{RUNE_C(0x00076A), RUNE_C(0x00076A), JG_LAM},
	{RUNE_C(0x00076B), RUNE_C(0x00076C), JG_REH},
	{RUNE_C(0x00076D), RUNE_C(0x00076D), JG_SEEN},
	{RUNE_C(0x00076E), RUNE_C(0x00076F), JG_HAH},
	{RUNE_C(0x000770), RUNE_C(0x000770), JG_SEEN},
	{RUNE_C(0x000771), RUNE_C(0x000771), JG_REH},
	{RUNE_C(0x000772), RUNE_C(0x000772), JG_HAH},
	{RUNE_C(0x000773), RUNE_C(0x000774), JG_ALEF},
	{RUNE_C(0x000775), RUNE_C(0x000776), JG_FARSI_YEH},
	{RUNE_C(0x000777), RUNE_C(0x000777), JG_YEH},
	{RUNE_C(0x000778), RUNE_C(0x000779), JG_WAW},
	{RUNE_C(0x00077A), RUNE_C(0x00077B), JG_BURUSHASKI_YEH_BARREE},
	{RUNE_C(0x00077C), RUNE_C(0x00077C), JG_HAH},
	{RUNE_C(0x00077D), RUNE_C(0x00077E), JG_SEEN},
	{RUNE_C(0x00077F), RUNE_C(0x00077F), JG_KAF},
	{RUNE_C(0x000860), RUNE_C(0x000860), JG_MALAYALAM_NGA},
	{RUNE_C(0x000861), RUNE_C(0x000861), JG_MALAYALAM_JA},
	{RUNE_C(0x000862), RUNE_C(0x000862), JG_MALAYALAM_NYA},
	{RUNE_C(0x000863), RUNE_C(0x000863), JG_MALAYALAM_TTA},
	{RUNE_C(0x000864), RUNE_C(0x000864), JG_MALAYALAM_NNA},
	{RUNE_C(0x000865), RUNE_C(0x000865), JG_MALAYALAM_NNNA},
	{RUNE_C(0x000866), RUNE_C(0x000866), JG_MALAYALAM_BHA},
	{RUNE_C(0x000867), RUNE_C(0x000867), JG_MALAYALAM_RA},
	{RUNE_C(0x000868), RUNE_C(0x000868), JG_MALAYALAM_LLA},
	{RUNE_C(0x000869), RUNE_C(0x000869), JG_MALAYALAM_LLLA},
	{RUNE_C(0x00086A), RUNE_C(0x00086A), JG_MALAYALAM_SSA},
	{RUNE_C(0x000870), RUNE_C(0x000882), JG_ALEF},
	{RUNE_C(0x000886), RUNE_C(0x000886), JG_THIN_YEH},
	{RUNE_C(0x000889), RUNE_C(0x000889), JG_NOON},
	{RUNE_C(0x00088A), RUNE_C(0x00088A), JG_HAH},
	{RUNE_C(0x00088B), RUNE_C(0x00088C), JG_TAH},
	{RUNE_C(0x00088D), RUNE_C(0x00088D), JG_GAF},
	{RUNE_C(0x00088E), RUNE_C(0x00088E), JG_VERTICAL_TAIL},
	{RUNE_C(0x0008A0), RUNE_C(0x0008A1), JG_BEH},
	{RUNE_C(0x0008A2), RUNE_C(0x0008A2), JG_HAH},
	{RUNE_C(0x0008A3), RUNE_C(0x0008A3), JG_TAH},
	{RUNE_C(0x0008A4), RUNE_C(0x0008A4), JG_FEH},
	{RUNE_C(0x0008A5), RUNE_C(0x0008A5), JG_QAF},
	{RUNE_C(0x0008A6), RUNE_C(0x0008A6), JG_LAM},
	{RUNE_C(0x0008A7), RUNE_C(0x0008A7), JG_MEEM},
	{RUNE_C(0x0008A8), RUNE_C(0x0008A9), JG_YEH},
	{RUNE_C(0x0008AA), RUNE_C(0x0008AA), JG_REH},
	{RUNE_C(0x0008AB), RUNE_C(0x0008AB), JG_WAW},
	{RUNE_C(0x0008AC), RUNE_C(0x0008AC), JG_ROHINGYA_YEH},
	{RUNE_C(0x0008AE), RUNE_C(0x0008AE), JG_DAL},
	{RUNE_C(0x0008AF), RUNE_C(0x0008AF), JG_SAD},
	{RUNE_C(0x0008B0), RUNE_C(0x0008B0), JG_GAF},
	{RUNE_C(0x0008B1), RUNE_C(0x0008B1), JG_STRAIGHT_WAW},
	{RUNE_C(0x0008B2), RUNE_C(0x0008B2), JG_REH},
	{RUNE_C(0x0008B3), RUNE_C(0x0008B3), JG_AIN},
	{RUNE_C(0x0008B4), RUNE_C(0x0008B4), JG_KAF},
	{RUNE_C(0x0008B5), RUNE_C(0x0008B5), JG_QAF},
	{RUNE_C(0x0008B6), RUNE_C(0x0008B8), JG_BEH},
	{RUNE_C(0x0008B9), RUNE_C(0x0008B9), JG_REH},
	{RUNE_C(0x0008BA), RUNE_C(0x0008BA), JG_YEH},
	{RUNE_C(0x0008BB), RUNE_C(0x0008BB), JG_AFRICAN_FEH},
	{RUNE_C(0x0008BC), RUNE_C(0x0008BC), JG_AFRICAN_QAF},
	{RUNE_C(0x0008BD), RUNE_C(0x0008BD), JG_AFRICAN_NOON},
	{RUNE_C(0x0008BE), RUNE_C(0x0008C0), JG_BEH},
	{RUNE_C(0x0008C1), RUNE_C(0x0008C1), JG_HAH},
	{RUNE_C(0x0008C2), RUNE_C(0x0008C2), JG_GAF},
	{RUNE_C(0x0008C3), RUNE_C(0x0008C3), JG_AIN},
	{RUNE_C(0x0008C4), RUNE_C(0x0008C4), JG_AFRICAN_QAF},
	{RUNE_C(0x0008C5), RUNE_C(0x0008C6), JG_HAH},
	{RUNE_C(0x0008C7), RUNE_C(0x0008C7), JG_LAM},
	{RUNE_C(0x0008C8), RUNE_C(0x0008C8), JG_GAF},
	{RUNE_C(0x010AC0), RUNE_C(0x010AC0), JG_MANICHAEAN_ALEPH},
	{RUNE_C(0x010AC1), RUNE_C(0x010AC2), JG_MANICHAEAN_BETH},
	{RUNE_C(0x010AC3), RUNE_C(0x010AC4), JG_MANICHAEAN_GIMEL},
	{RUNE_C(0x010AC5), RUNE_C(0x010AC5), JG_MANICHAEAN_DALETH},
	{RUNE_C(0x010AC7), RUNE_C(0x010AC7), JG_MANICHAEAN_WAW},
	{RUNE_C(0x010AC9), RUNE_C(0x010ACA), JG_MANICHAEAN_ZAYIN},
	{RUNE_C(0x010ACD), RUNE_C(0x010ACD), JG_MANICHAEAN_HETH},
	{RUNE_C(0x010ACE), RUNE_C(0x010ACE), JG_MANICHAEAN_TETH},
	{RUNE_C(0x010ACF), RUNE_C(0x010ACF), JG_MANICHAEAN_YODH},
	{RUNE_C(0x010AD0), RUNE_C(0x010AD2), JG_MANICHAEAN_KAPH},
	{RUNE_C(0x010AD3), RUNE_C(0x010AD3), JG_MANICHAEAN_LAMEDH},
	{RUNE_C(0x010AD4), RUNE_C(0x010AD4), JG_MANICHAEAN_DHAMEDH},
	{RUNE_C(0x010AD5), RUNE_C(0x010AD5), JG_MANICHAEAN_THAMEDH},
	{RUNE_C(0x010AD6), RUNE_C(0x010AD6), JG_MANICHAEAN_MEM},
	{RUNE_C(0x010AD7), RUNE_C(0x010AD7), JG_MANICHAEAN_NUN},
	{RUNE_C(0x010AD8), RUNE_C(0x010AD8), JG_MANICHAEAN_SAMEKH},
	{RUNE_C(0x010AD9), RUNE_C(0x010ADA), JG_MANICHAEAN_AYIN},
	{RUNE_C(0x010ADB), RUNE_C(0x010ADC), JG_MANICHAEAN_PE},
	{RUNE_C(0x010ADD), RUNE_C(0x010ADD), JG_MANICHAEAN_SADHE},
	{RUNE_C(0x010ADE), RUNE_C(0x010AE0), JG_MANICHAEAN_QOPH},
	{RUNE_C(0x010AE1), RUNE_C(0x010AE1), JG_MANICHAEAN_RESH},
	{RUNE_C(0x010AE4), RUNE_C(0x010AE4), JG_MANICHAEAN_TAW},
	{RUNE_C(0x010AEB), RUNE_C(0x010AEB), JG_MANICHAEAN_ONE},
	{RUNE_C(0x010AEC), RUNE_C(0x010AEC), JG_MANICHAEAN_FIVE},
	{RUNE_C(0x010AED), RUNE_C(0x010AED), JG_MANICHAEAN_TEN},
	{RUNE_C(0x010AEE), RUNE_C(0x010AEE), JG_MANICHAEAN_TWENTY},
	{RUNE_C(0x010AEF), RUNE_C(0x010AEF), JG_MANICHAEAN_HUNDRED},
	{RUNE_C(0x010D02), RUNE_C(0x010D02), JG_HANIFI_ROHINGYA_PA},
	{RUNE_C(0x010D09), RUNE_C(0x010D09), JG_HANIFI_ROHINGYA_PA},
	{RUNE_C(0x010D19), RUNE_C(0x010D19), JG_HANIFI_ROHINGYA_KINNA_YA},
	{RUNE_C(0x010D1C), RUNE_C(0x010D1C), JG_HANIFI_ROHINGYA_PA},
	{RUNE_C(0x010D1E), RUNE_C(0x010D1E), JG_HANIFI_ROHINGYA_KINNA_YA},
	{RUNE_C(0x010D20), RUNE_C(0x010D20), JG_HANIFI_ROHINGYA_KINNA_YA},
	{RUNE_C(0x010D23), RUNE_C(0x010D23), JG_HANIFI_ROHINGYA_KINNA_YA},
};

_MLIB_DEFINE_BSEARCH(enum uprop_jg, lookup, JG_NO_JOINING_GROUP)

enum uprop_jg
uprop_get_jg(rune ch)
{
	return ch < lookup[0].lo ? JG_NO_JOINING_GROUP : mlib_lookup(ch);
}