1// Generated from Unicode script tables
2
3#ifndef CATEGORY_PROPERTIES_H_
4#define CATEGORY_PROPERTIES_H_
5
6#include <stdint.h>
7#include "harfbuzz-external.h"
8
9struct category_property {
10  uint32_t range_start;
11  uint32_t range_end;
12  HB_CharCategory category;
13};
14
15static const struct category_property category_properties[] = {
16  {0x0, 0x1f, HB_Other_Control},
17  {0x20, 0x20, HB_Separator_Space},
18  {0x21, 0x23, HB_Punctuation_Other},
19  {0x24, 0x24, HB_Symbol_Currency},
20  {0x25, 0x27, HB_Punctuation_Other},
21  {0x28, 0x28, HB_Punctuation_Open},
22  {0x29, 0x29, HB_Punctuation_Close},
23  {0x2a, 0x2a, HB_Punctuation_Other},
24  {0x2b, 0x2b, HB_Symbol_Math},
25  {0x2c, 0x2c, HB_Punctuation_Other},
26  {0x2d, 0x2d, HB_Punctuation_Dash},
27  {0x2e, 0x2f, HB_Punctuation_Other},
28  {0x30, 0x39, HB_Number_DecimalDigit},
29  {0x3a, 0x3b, HB_Punctuation_Other},
30  {0x3c, 0x3e, HB_Symbol_Math},
31  {0x3f, 0x40, HB_Punctuation_Other},
32  {0x41, 0x5a, HB_Letter_Uppercase},
33  {0x5b, 0x5b, HB_Punctuation_Open},
34  {0x5c, 0x5c, HB_Punctuation_Other},
35  {0x5d, 0x5d, HB_Punctuation_Close},
36  {0x5e, 0x5e, HB_Symbol_Modifier},
37  {0x5f, 0x5f, HB_Punctuation_Connector},
38  {0x60, 0x60, HB_Symbol_Modifier},
39  {0x61, 0x7a, HB_Letter_Lowercase},
40  {0x7b, 0x7b, HB_Punctuation_Open},
41  {0x7c, 0x7c, HB_Symbol_Math},
42  {0x7d, 0x7d, HB_Punctuation_Close},
43  {0x7e, 0x7e, HB_Symbol_Math},
44  {0x7f, 0x9f, HB_Other_Control},
45  {0xa0, 0xa0, HB_Separator_Space},
46  {0xa1, 0xa1, HB_Punctuation_Other},
47  {0xa2, 0xa5, HB_Symbol_Currency},
48  {0xa6, 0xa7, HB_Symbol_Other},
49  {0xa8, 0xa8, HB_Symbol_Modifier},
50  {0xa9, 0xa9, HB_Symbol_Other},
51  {0xaa, 0xaa, HB_Letter_Lowercase},
52  {0xab, 0xab, HB_Punctuation_InitialQuote},
53  {0xac, 0xac, HB_Symbol_Math},
54  {0xad, 0xad, HB_Other_Format},
55  {0xae, 0xae, HB_Symbol_Other},
56  {0xaf, 0xaf, HB_Symbol_Modifier},
57  {0xb0, 0xb0, HB_Symbol_Other},
58  {0xb1, 0xb1, HB_Symbol_Math},
59  {0xb2, 0xb3, HB_Number_Other},
60  {0xb4, 0xb4, HB_Symbol_Modifier},
61  {0xb5, 0xb5, HB_Letter_Lowercase},
62  {0xb6, 0xb6, HB_Symbol_Other},
63  {0xb7, 0xb7, HB_Punctuation_Other},
64  {0xb8, 0xb8, HB_Symbol_Modifier},
65  {0xb9, 0xb9, HB_Number_Other},
66  {0xba, 0xba, HB_Letter_Lowercase},
67  {0xbb, 0xbb, HB_Punctuation_FinalQuote},
68  {0xbc, 0xbe, HB_Number_Other},
69  {0xbf, 0xbf, HB_Punctuation_Other},
70  {0xc0, 0xd6, HB_Letter_Uppercase},
71  {0xd7, 0xd7, HB_Symbol_Math},
72  {0xd8, 0xde, HB_Letter_Uppercase},
73  {0xdf, 0xf6, HB_Letter_Lowercase},
74  {0xf7, 0xf7, HB_Symbol_Math},
75  {0xf8, 0xff, HB_Letter_Lowercase},
76  {0x100, 0x100, HB_Letter_Uppercase},
77  {0x101, 0x101, HB_Letter_Lowercase},
78  {0x102, 0x102, HB_Letter_Uppercase},
79  {0x103, 0x103, HB_Letter_Lowercase},
80  {0x104, 0x104, HB_Letter_Uppercase},
81  {0x105, 0x105, HB_Letter_Lowercase},
82  {0x106, 0x106, HB_Letter_Uppercase},
83  {0x107, 0x107, HB_Letter_Lowercase},
84  {0x108, 0x108, HB_Letter_Uppercase},
85  {0x109, 0x109, HB_Letter_Lowercase},
86  {0x10a, 0x10a, HB_Letter_Uppercase},
87  {0x10b, 0x10b, HB_Letter_Lowercase},
88  {0x10c, 0x10c, HB_Letter_Uppercase},
89  {0x10d, 0x10d, HB_Letter_Lowercase},
90  {0x10e, 0x10e, HB_Letter_Uppercase},
91  {0x10f, 0x10f, HB_Letter_Lowercase},
92  {0x110, 0x110, HB_Letter_Uppercase},
93  {0x111, 0x111, HB_Letter_Lowercase},
94  {0x112, 0x112, HB_Letter_Uppercase},
95  {0x113, 0x113, HB_Letter_Lowercase},
96  {0x114, 0x114, HB_Letter_Uppercase},
97  {0x115, 0x115, HB_Letter_Lowercase},
98  {0x116, 0x116, HB_Letter_Uppercase},
99  {0x117, 0x117, HB_Letter_Lowercase},
100  {0x118, 0x118, HB_Letter_Uppercase},
101  {0x119, 0x119, HB_Letter_Lowercase},
102  {0x11a, 0x11a, HB_Letter_Uppercase},
103  {0x11b, 0x11b, HB_Letter_Lowercase},
104  {0x11c, 0x11c, HB_Letter_Uppercase},
105  {0x11d, 0x11d, HB_Letter_Lowercase},
106  {0x11e, 0x11e, HB_Letter_Uppercase},
107  {0x11f, 0x11f, HB_Letter_Lowercase},
108  {0x120, 0x120, HB_Letter_Uppercase},
109  {0x121, 0x121, HB_Letter_Lowercase},
110  {0x122, 0x122, HB_Letter_Uppercase},
111  {0x123, 0x123, HB_Letter_Lowercase},
112  {0x124, 0x124, HB_Letter_Uppercase},
113  {0x125, 0x125, HB_Letter_Lowercase},
114  {0x126, 0x126, HB_Letter_Uppercase},
115  {0x127, 0x127, HB_Letter_Lowercase},
116  {0x128, 0x128, HB_Letter_Uppercase},
117  {0x129, 0x129, HB_Letter_Lowercase},
118  {0x12a, 0x12a, HB_Letter_Uppercase},
119  {0x12b, 0x12b, HB_Letter_Lowercase},
120  {0x12c, 0x12c, HB_Letter_Uppercase},
121  {0x12d, 0x12d, HB_Letter_Lowercase},
122  {0x12e, 0x12e, HB_Letter_Uppercase},
123  {0x12f, 0x12f, HB_Letter_Lowercase},
124  {0x130, 0x130, HB_Letter_Uppercase},
125  {0x131, 0x131, HB_Letter_Lowercase},
126  {0x132, 0x132, HB_Letter_Uppercase},
127  {0x133, 0x133, HB_Letter_Lowercase},
128  {0x134, 0x134, HB_Letter_Uppercase},
129  {0x135, 0x135, HB_Letter_Lowercase},
130  {0x136, 0x136, HB_Letter_Uppercase},
131  {0x137, 0x138, HB_Letter_Lowercase},
132  {0x139, 0x139, HB_Letter_Uppercase},
133  {0x13a, 0x13a, HB_Letter_Lowercase},
134  {0x13b, 0x13b, HB_Letter_Uppercase},
135  {0x13c, 0x13c, HB_Letter_Lowercase},
136  {0x13d, 0x13d, HB_Letter_Uppercase},
137  {0x13e, 0x13e, HB_Letter_Lowercase},
138  {0x13f, 0x13f, HB_Letter_Uppercase},
139  {0x140, 0x140, HB_Letter_Lowercase},
140  {0x141, 0x141, HB_Letter_Uppercase},
141  {0x142, 0x142, HB_Letter_Lowercase},
142  {0x143, 0x143, HB_Letter_Uppercase},
143  {0x144, 0x144, HB_Letter_Lowercase},
144  {0x145, 0x145, HB_Letter_Uppercase},
145  {0x146, 0x146, HB_Letter_Lowercase},
146  {0x147, 0x147, HB_Letter_Uppercase},
147  {0x148, 0x149, HB_Letter_Lowercase},
148  {0x14a, 0x14a, HB_Letter_Uppercase},
149  {0x14b, 0x14b, HB_Letter_Lowercase},
150  {0x14c, 0x14c, HB_Letter_Uppercase},
151  {0x14d, 0x14d, HB_Letter_Lowercase},
152  {0x14e, 0x14e, HB_Letter_Uppercase},
153  {0x14f, 0x14f, HB_Letter_Lowercase},
154  {0x150, 0x150, HB_Letter_Uppercase},
155  {0x151, 0x151, HB_Letter_Lowercase},
156  {0x152, 0x152, HB_Letter_Uppercase},
157  {0x153, 0x153, HB_Letter_Lowercase},
158  {0x154, 0x154, HB_Letter_Uppercase},
159  {0x155, 0x155, HB_Letter_Lowercase},
160  {0x156, 0x156, HB_Letter_Uppercase},
161  {0x157, 0x157, HB_Letter_Lowercase},
162  {0x158, 0x158, HB_Letter_Uppercase},
163  {0x159, 0x159, HB_Letter_Lowercase},
164  {0x15a, 0x15a, HB_Letter_Uppercase},
165  {0x15b, 0x15b, HB_Letter_Lowercase},
166  {0x15c, 0x15c, HB_Letter_Uppercase},
167  {0x15d, 0x15d, HB_Letter_Lowercase},
168  {0x15e, 0x15e, HB_Letter_Uppercase},
169  {0x15f, 0x15f, HB_Letter_Lowercase},
170  {0x160, 0x160, HB_Letter_Uppercase},
171  {0x161, 0x161, HB_Letter_Lowercase},
172  {0x162, 0x162, HB_Letter_Uppercase},
173  {0x163, 0x163, HB_Letter_Lowercase},
174  {0x164, 0x164, HB_Letter_Uppercase},
175  {0x165, 0x165, HB_Letter_Lowercase},
176  {0x166, 0x166, HB_Letter_Uppercase},
177  {0x167, 0x167, HB_Letter_Lowercase},
178  {0x168, 0x168, HB_Letter_Uppercase},
179  {0x169, 0x169, HB_Letter_Lowercase},
180  {0x16a, 0x16a, HB_Letter_Uppercase},
181  {0x16b, 0x16b, HB_Letter_Lowercase},
182  {0x16c, 0x16c, HB_Letter_Uppercase},
183  {0x16d, 0x16d, HB_Letter_Lowercase},
184  {0x16e, 0x16e, HB_Letter_Uppercase},
185  {0x16f, 0x16f, HB_Letter_Lowercase},
186  {0x170, 0x170, HB_Letter_Uppercase},
187  {0x171, 0x171, HB_Letter_Lowercase},
188  {0x172, 0x172, HB_Letter_Uppercase},
189  {0x173, 0x173, HB_Letter_Lowercase},
190  {0x174, 0x174, HB_Letter_Uppercase},
191  {0x175, 0x175, HB_Letter_Lowercase},
192  {0x176, 0x176, HB_Letter_Uppercase},
193  {0x177, 0x177, HB_Letter_Lowercase},
194  {0x178, 0x179, HB_Letter_Uppercase},
195  {0x17a, 0x17a, HB_Letter_Lowercase},
196  {0x17b, 0x17b, HB_Letter_Uppercase},
197  {0x17c, 0x17c, HB_Letter_Lowercase},
198  {0x17d, 0x17d, HB_Letter_Uppercase},
199  {0x17e, 0x180, HB_Letter_Lowercase},
200  {0x181, 0x182, HB_Letter_Uppercase},
201  {0x183, 0x183, HB_Letter_Lowercase},
202  {0x184, 0x184, HB_Letter_Uppercase},
203  {0x185, 0x185, HB_Letter_Lowercase},
204  {0x186, 0x187, HB_Letter_Uppercase},
205  {0x188, 0x188, HB_Letter_Lowercase},
206  {0x189, 0x18b, HB_Letter_Uppercase},
207  {0x18c, 0x18d, HB_Letter_Lowercase},
208  {0x18e, 0x191, HB_Letter_Uppercase},
209  {0x192, 0x192, HB_Letter_Lowercase},
210  {0x193, 0x194, HB_Letter_Uppercase},
211  {0x195, 0x195, HB_Letter_Lowercase},
212  {0x196, 0x198, HB_Letter_Uppercase},
213  {0x199, 0x19b, HB_Letter_Lowercase},
214  {0x19c, 0x19d, HB_Letter_Uppercase},
215  {0x19e, 0x19e, HB_Letter_Lowercase},
216  {0x19f, 0x1a0, HB_Letter_Uppercase},
217  {0x1a1, 0x1a1, HB_Letter_Lowercase},
218  {0x1a2, 0x1a2, HB_Letter_Uppercase},
219  {0x1a3, 0x1a3, HB_Letter_Lowercase},
220  {0x1a4, 0x1a4, HB_Letter_Uppercase},
221  {0x1a5, 0x1a5, HB_Letter_Lowercase},
222  {0x1a6, 0x1a7, HB_Letter_Uppercase},
223  {0x1a8, 0x1a8, HB_Letter_Lowercase},
224  {0x1a9, 0x1a9, HB_Letter_Uppercase},
225  {0x1aa, 0x1ab, HB_Letter_Lowercase},
226  {0x1ac, 0x1ac, HB_Letter_Uppercase},
227  {0x1ad, 0x1ad, HB_Letter_Lowercase},
228  {0x1ae, 0x1af, HB_Letter_Uppercase},
229  {0x1b0, 0x1b0, HB_Letter_Lowercase},
230  {0x1b1, 0x1b3, HB_Letter_Uppercase},
231  {0x1b4, 0x1b4, HB_Letter_Lowercase},
232  {0x1b5, 0x1b5, HB_Letter_Uppercase},
233  {0x1b6, 0x1b6, HB_Letter_Lowercase},
234  {0x1b7, 0x1b8, HB_Letter_Uppercase},
235  {0x1b9, 0x1ba, HB_Letter_Lowercase},
236  {0x1bb, 0x1bb, HB_Letter_Other},
237  {0x1bc, 0x1bc, HB_Letter_Uppercase},
238  {0x1bd, 0x1bf, HB_Letter_Lowercase},
239  {0x1c0, 0x1c3, HB_Letter_Other},
240  {0x1c4, 0x1c4, HB_Letter_Uppercase},
241  {0x1c5, 0x1c5, HB_Letter_Titlecase},
242  {0x1c6, 0x1c6, HB_Letter_Lowercase},
243  {0x1c7, 0x1c7, HB_Letter_Uppercase},
244  {0x1c8, 0x1c8, HB_Letter_Titlecase},
245  {0x1c9, 0x1c9, HB_Letter_Lowercase},
246  {0x1ca, 0x1ca, HB_Letter_Uppercase},
247  {0x1cb, 0x1cb, HB_Letter_Titlecase},
248  {0x1cc, 0x1cc, HB_Letter_Lowercase},
249  {0x1cd, 0x1cd, HB_Letter_Uppercase},
250  {0x1ce, 0x1ce, HB_Letter_Lowercase},
251  {0x1cf, 0x1cf, HB_Letter_Uppercase},
252  {0x1d0, 0x1d0, HB_Letter_Lowercase},
253  {0x1d1, 0x1d1, HB_Letter_Uppercase},
254  {0x1d2, 0x1d2, HB_Letter_Lowercase},
255  {0x1d3, 0x1d3, HB_Letter_Uppercase},
256  {0x1d4, 0x1d4, HB_Letter_Lowercase},
257  {0x1d5, 0x1d5, HB_Letter_Uppercase},
258  {0x1d6, 0x1d6, HB_Letter_Lowercase},
259  {0x1d7, 0x1d7, HB_Letter_Uppercase},
260  {0x1d8, 0x1d8, HB_Letter_Lowercase},
261  {0x1d9, 0x1d9, HB_Letter_Uppercase},
262  {0x1da, 0x1da, HB_Letter_Lowercase},
263  {0x1db, 0x1db, HB_Letter_Uppercase},
264  {0x1dc, 0x1dd, HB_Letter_Lowercase},
265  {0x1de, 0x1de, HB_Letter_Uppercase},
266  {0x1df, 0x1df, HB_Letter_Lowercase},
267  {0x1e0, 0x1e0, HB_Letter_Uppercase},
268  {0x1e1, 0x1e1, HB_Letter_Lowercase},
269  {0x1e2, 0x1e2, HB_Letter_Uppercase},
270  {0x1e3, 0x1e3, HB_Letter_Lowercase},
271  {0x1e4, 0x1e4, HB_Letter_Uppercase},
272  {0x1e5, 0x1e5, HB_Letter_Lowercase},
273  {0x1e6, 0x1e6, HB_Letter_Uppercase},
274  {0x1e7, 0x1e7, HB_Letter_Lowercase},
275  {0x1e8, 0x1e8, HB_Letter_Uppercase},
276  {0x1e9, 0x1e9, HB_Letter_Lowercase},
277  {0x1ea, 0x1ea, HB_Letter_Uppercase},
278  {0x1eb, 0x1eb, HB_Letter_Lowercase},
279  {0x1ec, 0x1ec, HB_Letter_Uppercase},
280  {0x1ed, 0x1ed, HB_Letter_Lowercase},
281  {0x1ee, 0x1ee, HB_Letter_Uppercase},
282  {0x1ef, 0x1f0, HB_Letter_Lowercase},
283  {0x1f1, 0x1f1, HB_Letter_Uppercase},
284  {0x1f2, 0x1f2, HB_Letter_Titlecase},
285  {0x1f3, 0x1f3, HB_Letter_Lowercase},
286  {0x1f4, 0x1f4, HB_Letter_Uppercase},
287  {0x1f5, 0x1f5, HB_Letter_Lowercase},
288  {0x1f6, 0x1f8, HB_Letter_Uppercase},
289  {0x1f9, 0x1f9, HB_Letter_Lowercase},
290  {0x1fa, 0x1fa, HB_Letter_Uppercase},
291  {0x1fb, 0x1fb, HB_Letter_Lowercase},
292  {0x1fc, 0x1fc, HB_Letter_Uppercase},
293  {0x1fd, 0x1fd, HB_Letter_Lowercase},
294  {0x1fe, 0x1fe, HB_Letter_Uppercase},
295  {0x1ff, 0x1ff, HB_Letter_Lowercase},
296  {0x200, 0x200, HB_Letter_Uppercase},
297  {0x201, 0x201, HB_Letter_Lowercase},
298  {0x202, 0x202, HB_Letter_Uppercase},
299  {0x203, 0x203, HB_Letter_Lowercase},
300  {0x204, 0x204, HB_Letter_Uppercase},
301  {0x205, 0x205, HB_Letter_Lowercase},
302  {0x206, 0x206, HB_Letter_Uppercase},
303  {0x207, 0x207, HB_Letter_Lowercase},
304  {0x208, 0x208, HB_Letter_Uppercase},
305  {0x209, 0x209, HB_Letter_Lowercase},
306  {0x20a, 0x20a, HB_Letter_Uppercase},
307  {0x20b, 0x20b, HB_Letter_Lowercase},
308  {0x20c, 0x20c, HB_Letter_Uppercase},
309  {0x20d, 0x20d, HB_Letter_Lowercase},
310  {0x20e, 0x20e, HB_Letter_Uppercase},
311  {0x20f, 0x20f, HB_Letter_Lowercase},
312  {0x210, 0x210, HB_Letter_Uppercase},
313  {0x211, 0x211, HB_Letter_Lowercase},
314  {0x212, 0x212, HB_Letter_Uppercase},
315  {0x213, 0x213, HB_Letter_Lowercase},
316  {0x214, 0x214, HB_Letter_Uppercase},
317  {0x215, 0x215, HB_Letter_Lowercase},
318  {0x216, 0x216, HB_Letter_Uppercase},
319  {0x217, 0x217, HB_Letter_Lowercase},
320  {0x218, 0x218, HB_Letter_Uppercase},
321  {0x219, 0x219, HB_Letter_Lowercase},
322  {0x21a, 0x21a, HB_Letter_Uppercase},
323  {0x21b, 0x21b, HB_Letter_Lowercase},
324  {0x21c, 0x21c, HB_Letter_Uppercase},
325  {0x21d, 0x21d, HB_Letter_Lowercase},
326  {0x21e, 0x21e, HB_Letter_Uppercase},
327  {0x21f, 0x21f, HB_Letter_Lowercase},
328  {0x220, 0x220, HB_Letter_Uppercase},
329  {0x221, 0x221, HB_Letter_Lowercase},
330  {0x222, 0x222, HB_Letter_Uppercase},
331  {0x223, 0x223, HB_Letter_Lowercase},
332  {0x224, 0x224, HB_Letter_Uppercase},
333  {0x225, 0x225, HB_Letter_Lowercase},
334  {0x226, 0x226, HB_Letter_Uppercase},
335  {0x227, 0x227, HB_Letter_Lowercase},
336  {0x228, 0x228, HB_Letter_Uppercase},
337  {0x229, 0x229, HB_Letter_Lowercase},
338  {0x22a, 0x22a, HB_Letter_Uppercase},
339  {0x22b, 0x22b, HB_Letter_Lowercase},
340  {0x22c, 0x22c, HB_Letter_Uppercase},
341  {0x22d, 0x22d, HB_Letter_Lowercase},
342  {0x22e, 0x22e, HB_Letter_Uppercase},
343  {0x22f, 0x22f, HB_Letter_Lowercase},
344  {0x230, 0x230, HB_Letter_Uppercase},
345  {0x231, 0x231, HB_Letter_Lowercase},
346  {0x232, 0x232, HB_Letter_Uppercase},
347  {0x233, 0x239, HB_Letter_Lowercase},
348  {0x23a, 0x23b, HB_Letter_Uppercase},
349  {0x23c, 0x23c, HB_Letter_Lowercase},
350  {0x23d, 0x23e, HB_Letter_Uppercase},
351  {0x23f, 0x240, HB_Letter_Lowercase},
352  {0x241, 0x241, HB_Letter_Uppercase},
353  {0x242, 0x242, HB_Letter_Lowercase},
354  {0x243, 0x246, HB_Letter_Uppercase},
355  {0x247, 0x247, HB_Letter_Lowercase},
356  {0x248, 0x248, HB_Letter_Uppercase},
357  {0x249, 0x249, HB_Letter_Lowercase},
358  {0x24a, 0x24a, HB_Letter_Uppercase},
359  {0x24b, 0x24b, HB_Letter_Lowercase},
360  {0x24c, 0x24c, HB_Letter_Uppercase},
361  {0x24d, 0x24d, HB_Letter_Lowercase},
362  {0x24e, 0x24e, HB_Letter_Uppercase},
363  {0x24f, 0x293, HB_Letter_Lowercase},
364  {0x294, 0x294, HB_Letter_Other},
365  {0x295, 0x2af, HB_Letter_Lowercase},
366  {0x2b0, 0x2c1, HB_Letter_Modifier},
367  {0x2c2, 0x2c5, HB_Symbol_Modifier},
368  {0x2c6, 0x2d1, HB_Letter_Modifier},
369  {0x2d2, 0x2df, HB_Symbol_Modifier},
370  {0x2e0, 0x2e4, HB_Letter_Modifier},
371  {0x2e5, 0x2eb, HB_Symbol_Modifier},
372  {0x2ec, 0x2ec, HB_Letter_Modifier},
373  {0x2ed, 0x2ed, HB_Symbol_Modifier},
374  {0x2ee, 0x2ee, HB_Letter_Modifier},
375  {0x2ef, 0x2ff, HB_Symbol_Modifier},
376  {0x300, 0x36f, HB_Mark_NonSpacing},
377  {0x370, 0x370, HB_Letter_Uppercase},
378  {0x371, 0x371, HB_Letter_Lowercase},
379  {0x372, 0x372, HB_Letter_Uppercase},
380  {0x373, 0x373, HB_Letter_Lowercase},
381  {0x374, 0x374, HB_Letter_Modifier},
382  {0x375, 0x375, HB_Symbol_Modifier},
383  {0x376, 0x376, HB_Letter_Uppercase},
384  {0x377, 0x377, HB_Letter_Lowercase},
385  {0x378, 0x379, HB_Other_NotAssigned},
386  {0x37a, 0x37a, HB_Letter_Modifier},
387  {0x37b, 0x37d, HB_Letter_Lowercase},
388  {0x37e, 0x37e, HB_Punctuation_Other},
389  {0x37f, 0x383, HB_Other_NotAssigned},
390  {0x384, 0x385, HB_Symbol_Modifier},
391  {0x386, 0x386, HB_Letter_Uppercase},
392  {0x387, 0x387, HB_Punctuation_Other},
393  {0x388, 0x38a, HB_Letter_Uppercase},
394  {0x38b, 0x38b, HB_Other_NotAssigned},
395  {0x38c, 0x38c, HB_Letter_Uppercase},
396  {0x38d, 0x38d, HB_Other_NotAssigned},
397  {0x38e, 0x38f, HB_Letter_Uppercase},
398  {0x390, 0x390, HB_Letter_Lowercase},
399  {0x391, 0x3a1, HB_Letter_Uppercase},
400  {0x3a2, 0x3a2, HB_Other_NotAssigned},
401  {0x3a3, 0x3ab, HB_Letter_Uppercase},
402  {0x3ac, 0x3ce, HB_Letter_Lowercase},
403  {0x3cf, 0x3cf, HB_Letter_Uppercase},
404  {0x3d0, 0x3d1, HB_Letter_Lowercase},
405  {0x3d2, 0x3d4, HB_Letter_Uppercase},
406  {0x3d5, 0x3d7, HB_Letter_Lowercase},
407  {0x3d8, 0x3d8, HB_Letter_Uppercase},
408  {0x3d9, 0x3d9, HB_Letter_Lowercase},
409  {0x3da, 0x3da, HB_Letter_Uppercase},
410  {0x3db, 0x3db, HB_Letter_Lowercase},
411  {0x3dc, 0x3dc, HB_Letter_Uppercase},
412  {0x3dd, 0x3dd, HB_Letter_Lowercase},
413  {0x3de, 0x3de, HB_Letter_Uppercase},
414  {0x3df, 0x3df, HB_Letter_Lowercase},
415  {0x3e0, 0x3e0, HB_Letter_Uppercase},
416  {0x3e1, 0x3e1, HB_Letter_Lowercase},
417  {0x3e2, 0x3e2, HB_Letter_Uppercase},
418  {0x3e3, 0x3e3, HB_Letter_Lowercase},
419  {0x3e4, 0x3e4, HB_Letter_Uppercase},
420  {0x3e5, 0x3e5, HB_Letter_Lowercase},
421  {0x3e6, 0x3e6, HB_Letter_Uppercase},
422  {0x3e7, 0x3e7, HB_Letter_Lowercase},
423  {0x3e8, 0x3e8, HB_Letter_Uppercase},
424  {0x3e9, 0x3e9, HB_Letter_Lowercase},
425  {0x3ea, 0x3ea, HB_Letter_Uppercase},
426  {0x3eb, 0x3eb, HB_Letter_Lowercase},
427  {0x3ec, 0x3ec, HB_Letter_Uppercase},
428  {0x3ed, 0x3ed, HB_Letter_Lowercase},
429  {0x3ee, 0x3ee, HB_Letter_Uppercase},
430  {0x3ef, 0x3f3, HB_Letter_Lowercase},
431  {0x3f4, 0x3f4, HB_Letter_Uppercase},
432  {0x3f5, 0x3f5, HB_Letter_Lowercase},
433  {0x3f6, 0x3f6, HB_Symbol_Math},
434  {0x3f7, 0x3f7, HB_Letter_Uppercase},
435  {0x3f8, 0x3f8, HB_Letter_Lowercase},
436  {0x3f9, 0x3fa, HB_Letter_Uppercase},
437  {0x3fb, 0x3fc, HB_Letter_Lowercase},
438  {0x3fd, 0x42f, HB_Letter_Uppercase},
439  {0x430, 0x45f, HB_Letter_Lowercase},
440  {0x460, 0x460, HB_Letter_Uppercase},
441  {0x461, 0x461, HB_Letter_Lowercase},
442  {0x462, 0x462, HB_Letter_Uppercase},
443  {0x463, 0x463, HB_Letter_Lowercase},
444  {0x464, 0x464, HB_Letter_Uppercase},
445  {0x465, 0x465, HB_Letter_Lowercase},
446  {0x466, 0x466, HB_Letter_Uppercase},
447  {0x467, 0x467, HB_Letter_Lowercase},
448  {0x468, 0x468, HB_Letter_Uppercase},
449  {0x469, 0x469, HB_Letter_Lowercase},
450  {0x46a, 0x46a, HB_Letter_Uppercase},
451  {0x46b, 0x46b, HB_Letter_Lowercase},
452  {0x46c, 0x46c, HB_Letter_Uppercase},
453  {0x46d, 0x46d, HB_Letter_Lowercase},
454  {0x46e, 0x46e, HB_Letter_Uppercase},
455  {0x46f, 0x46f, HB_Letter_Lowercase},
456  {0x470, 0x470, HB_Letter_Uppercase},
457  {0x471, 0x471, HB_Letter_Lowercase},
458  {0x472, 0x472, HB_Letter_Uppercase},
459  {0x473, 0x473, HB_Letter_Lowercase},
460  {0x474, 0x474, HB_Letter_Uppercase},
461  {0x475, 0x475, HB_Letter_Lowercase},
462  {0x476, 0x476, HB_Letter_Uppercase},
463  {0x477, 0x477, HB_Letter_Lowercase},
464  {0x478, 0x478, HB_Letter_Uppercase},
465  {0x479, 0x479, HB_Letter_Lowercase},
466  {0x47a, 0x47a, HB_Letter_Uppercase},
467  {0x47b, 0x47b, HB_Letter_Lowercase},
468  {0x47c, 0x47c, HB_Letter_Uppercase},
469  {0x47d, 0x47d, HB_Letter_Lowercase},
470  {0x47e, 0x47e, HB_Letter_Uppercase},
471  {0x47f, 0x47f, HB_Letter_Lowercase},
472  {0x480, 0x480, HB_Letter_Uppercase},
473  {0x481, 0x481, HB_Letter_Lowercase},
474  {0x482, 0x482, HB_Symbol_Other},
475  {0x483, 0x487, HB_Mark_NonSpacing},
476  {0x488, 0x489, HB_Mark_Enclosing},
477  {0x48a, 0x48a, HB_Letter_Uppercase},
478  {0x48b, 0x48b, HB_Letter_Lowercase},
479  {0x48c, 0x48c, HB_Letter_Uppercase},
480  {0x48d, 0x48d, HB_Letter_Lowercase},
481  {0x48e, 0x48e, HB_Letter_Uppercase},
482  {0x48f, 0x48f, HB_Letter_Lowercase},
483  {0x490, 0x490, HB_Letter_Uppercase},
484  {0x491, 0x491, HB_Letter_Lowercase},
485  {0x492, 0x492, HB_Letter_Uppercase},
486  {0x493, 0x493, HB_Letter_Lowercase},
487  {0x494, 0x494, HB_Letter_Uppercase},
488  {0x495, 0x495, HB_Letter_Lowercase},
489  {0x496, 0x496, HB_Letter_Uppercase},
490  {0x497, 0x497, HB_Letter_Lowercase},
491  {0x498, 0x498, HB_Letter_Uppercase},
492  {0x499, 0x499, HB_Letter_Lowercase},
493  {0x49a, 0x49a, HB_Letter_Uppercase},
494  {0x49b, 0x49b, HB_Letter_Lowercase},
495  {0x49c, 0x49c, HB_Letter_Uppercase},
496  {0x49d, 0x49d, HB_Letter_Lowercase},
497  {0x49e, 0x49e, HB_Letter_Uppercase},
498  {0x49f, 0x49f, HB_Letter_Lowercase},
499  {0x4a0, 0x4a0, HB_Letter_Uppercase},
500  {0x4a1, 0x4a1, HB_Letter_Lowercase},
501  {0x4a2, 0x4a2, HB_Letter_Uppercase},
502  {0x4a3, 0x4a3, HB_Letter_Lowercase},
503  {0x4a4, 0x4a4, HB_Letter_Uppercase},
504  {0x4a5, 0x4a5, HB_Letter_Lowercase},
505  {0x4a6, 0x4a6, HB_Letter_Uppercase},
506  {0x4a7, 0x4a7, HB_Letter_Lowercase},
507  {0x4a8, 0x4a8, HB_Letter_Uppercase},
508  {0x4a9, 0x4a9, HB_Letter_Lowercase},
509  {0x4aa, 0x4aa, HB_Letter_Uppercase},
510  {0x4ab, 0x4ab, HB_Letter_Lowercase},
511  {0x4ac, 0x4ac, HB_Letter_Uppercase},
512  {0x4ad, 0x4ad, HB_Letter_Lowercase},
513  {0x4ae, 0x4ae, HB_Letter_Uppercase},
514  {0x4af, 0x4af, HB_Letter_Lowercase},
515  {0x4b0, 0x4b0, HB_Letter_Uppercase},
516  {0x4b1, 0x4b1, HB_Letter_Lowercase},
517  {0x4b2, 0x4b2, HB_Letter_Uppercase},
518  {0x4b3, 0x4b3, HB_Letter_Lowercase},
519  {0x4b4, 0x4b4, HB_Letter_Uppercase},
520  {0x4b5, 0x4b5, HB_Letter_Lowercase},
521  {0x4b6, 0x4b6, HB_Letter_Uppercase},
522  {0x4b7, 0x4b7, HB_Letter_Lowercase},
523  {0x4b8, 0x4b8, HB_Letter_Uppercase},
524  {0x4b9, 0x4b9, HB_Letter_Lowercase},
525  {0x4ba, 0x4ba, HB_Letter_Uppercase},
526  {0x4bb, 0x4bb, HB_Letter_Lowercase},
527  {0x4bc, 0x4bc, HB_Letter_Uppercase},
528  {0x4bd, 0x4bd, HB_Letter_Lowercase},
529  {0x4be, 0x4be, HB_Letter_Uppercase},
530  {0x4bf, 0x4bf, HB_Letter_Lowercase},
531  {0x4c0, 0x4c1, HB_Letter_Uppercase},
532  {0x4c2, 0x4c2, HB_Letter_Lowercase},
533  {0x4c3, 0x4c3, HB_Letter_Uppercase},
534  {0x4c4, 0x4c4, HB_Letter_Lowercase},
535  {0x4c5, 0x4c5, HB_Letter_Uppercase},
536  {0x4c6, 0x4c6, HB_Letter_Lowercase},
537  {0x4c7, 0x4c7, HB_Letter_Uppercase},
538  {0x4c8, 0x4c8, HB_Letter_Lowercase},
539  {0x4c9, 0x4c9, HB_Letter_Uppercase},
540  {0x4ca, 0x4ca, HB_Letter_Lowercase},
541  {0x4cb, 0x4cb, HB_Letter_Uppercase},
542  {0x4cc, 0x4cc, HB_Letter_Lowercase},
543  {0x4cd, 0x4cd, HB_Letter_Uppercase},
544  {0x4ce, 0x4cf, HB_Letter_Lowercase},
545  {0x4d0, 0x4d0, HB_Letter_Uppercase},
546  {0x4d1, 0x4d1, HB_Letter_Lowercase},
547  {0x4d2, 0x4d2, HB_Letter_Uppercase},
548  {0x4d3, 0x4d3, HB_Letter_Lowercase},
549  {0x4d4, 0x4d4, HB_Letter_Uppercase},
550  {0x4d5, 0x4d5, HB_Letter_Lowercase},
551  {0x4d6, 0x4d6, HB_Letter_Uppercase},
552  {0x4d7, 0x4d7, HB_Letter_Lowercase},
553  {0x4d8, 0x4d8, HB_Letter_Uppercase},
554  {0x4d9, 0x4d9, HB_Letter_Lowercase},
555  {0x4da, 0x4da, HB_Letter_Uppercase},
556  {0x4db, 0x4db, HB_Letter_Lowercase},
557  {0x4dc, 0x4dc, HB_Letter_Uppercase},
558  {0x4dd, 0x4dd, HB_Letter_Lowercase},
559  {0x4de, 0x4de, HB_Letter_Uppercase},
560  {0x4df, 0x4df, HB_Letter_Lowercase},
561  {0x4e0, 0x4e0, HB_Letter_Uppercase},
562  {0x4e1, 0x4e1, HB_Letter_Lowercase},
563  {0x4e2, 0x4e2, HB_Letter_Uppercase},
564  {0x4e3, 0x4e3, HB_Letter_Lowercase},
565  {0x4e4, 0x4e4, HB_Letter_Uppercase},
566  {0x4e5, 0x4e5, HB_Letter_Lowercase},
567  {0x4e6, 0x4e6, HB_Letter_Uppercase},
568  {0x4e7, 0x4e7, HB_Letter_Lowercase},
569  {0x4e8, 0x4e8, HB_Letter_Uppercase},
570  {0x4e9, 0x4e9, HB_Letter_Lowercase},
571  {0x4ea, 0x4ea, HB_Letter_Uppercase},
572  {0x4eb, 0x4eb, HB_Letter_Lowercase},
573  {0x4ec, 0x4ec, HB_Letter_Uppercase},
574  {0x4ed, 0x4ed, HB_Letter_Lowercase},
575  {0x4ee, 0x4ee, HB_Letter_Uppercase},
576  {0x4ef, 0x4ef, HB_Letter_Lowercase},
577  {0x4f0, 0x4f0, HB_Letter_Uppercase},
578  {0x4f1, 0x4f1, HB_Letter_Lowercase},
579  {0x4f2, 0x4f2, HB_Letter_Uppercase},
580  {0x4f3, 0x4f3, HB_Letter_Lowercase},
581  {0x4f4, 0x4f4, HB_Letter_Uppercase},
582  {0x4f5, 0x4f5, HB_Letter_Lowercase},
583  {0x4f6, 0x4f6, HB_Letter_Uppercase},
584  {0x4f7, 0x4f7, HB_Letter_Lowercase},
585  {0x4f8, 0x4f8, HB_Letter_Uppercase},
586  {0x4f9, 0x4f9, HB_Letter_Lowercase},
587  {0x4fa, 0x4fa, HB_Letter_Uppercase},
588  {0x4fb, 0x4fb, HB_Letter_Lowercase},
589  {0x4fc, 0x4fc, HB_Letter_Uppercase},
590  {0x4fd, 0x4fd, HB_Letter_Lowercase},
591  {0x4fe, 0x4fe, HB_Letter_Uppercase},
592  {0x4ff, 0x4ff, HB_Letter_Lowercase},
593  {0x500, 0x500, HB_Letter_Uppercase},
594  {0x501, 0x501, HB_Letter_Lowercase},
595  {0x502, 0x502, HB_Letter_Uppercase},
596  {0x503, 0x503, HB_Letter_Lowercase},
597  {0x504, 0x504, HB_Letter_Uppercase},
598  {0x505, 0x505, HB_Letter_Lowercase},
599  {0x506, 0x506, HB_Letter_Uppercase},
600  {0x507, 0x507, HB_Letter_Lowercase},
601  {0x508, 0x508, HB_Letter_Uppercase},
602  {0x509, 0x509, HB_Letter_Lowercase},
603  {0x50a, 0x50a, HB_Letter_Uppercase},
604  {0x50b, 0x50b, HB_Letter_Lowercase},
605  {0x50c, 0x50c, HB_Letter_Uppercase},
606  {0x50d, 0x50d, HB_Letter_Lowercase},
607  {0x50e, 0x50e, HB_Letter_Uppercase},
608  {0x50f, 0x50f, HB_Letter_Lowercase},
609  {0x510, 0x510, HB_Letter_Uppercase},
610  {0x511, 0x511, HB_Letter_Lowercase},
611  {0x512, 0x512, HB_Letter_Uppercase},
612  {0x513, 0x513, HB_Letter_Lowercase},
613  {0x514, 0x514, HB_Letter_Uppercase},
614  {0x515, 0x515, HB_Letter_Lowercase},
615  {0x516, 0x516, HB_Letter_Uppercase},
616  {0x517, 0x517, HB_Letter_Lowercase},
617  {0x518, 0x518, HB_Letter_Uppercase},
618  {0x519, 0x519, HB_Letter_Lowercase},
619  {0x51a, 0x51a, HB_Letter_Uppercase},
620  {0x51b, 0x51b, HB_Letter_Lowercase},
621  {0x51c, 0x51c, HB_Letter_Uppercase},
622  {0x51d, 0x51d, HB_Letter_Lowercase},
623  {0x51e, 0x51e, HB_Letter_Uppercase},
624  {0x51f, 0x51f, HB_Letter_Lowercase},
625  {0x520, 0x520, HB_Letter_Uppercase},
626  {0x521, 0x521, HB_Letter_Lowercase},
627  {0x522, 0x522, HB_Letter_Uppercase},
628  {0x523, 0x523, HB_Letter_Lowercase},
629  {0x524, 0x530, HB_Other_NotAssigned},
630  {0x531, 0x556, HB_Letter_Uppercase},
631  {0x557, 0x558, HB_Other_NotAssigned},
632  {0x559, 0x559, HB_Letter_Modifier},
633  {0x55a, 0x55f, HB_Punctuation_Other},
634  {0x560, 0x560, HB_Other_NotAssigned},
635  {0x561, 0x587, HB_Letter_Lowercase},
636  {0x588, 0x588, HB_Other_NotAssigned},
637  {0x589, 0x589, HB_Punctuation_Other},
638  {0x58a, 0x58a, HB_Punctuation_Dash},
639  {0x58b, 0x590, HB_Other_NotAssigned},
640  {0x591, 0x5bd, HB_Mark_NonSpacing},
641  {0x5be, 0x5be, HB_Punctuation_Dash},
642  {0x5bf, 0x5bf, HB_Mark_NonSpacing},
643  {0x5c0, 0x5c0, HB_Punctuation_Other},
644  {0x5c1, 0x5c2, HB_Mark_NonSpacing},
645  {0x5c3, 0x5c3, HB_Punctuation_Other},
646  {0x5c4, 0x5c5, HB_Mark_NonSpacing},
647  {0x5c6, 0x5c6, HB_Punctuation_Other},
648  {0x5c7, 0x5c7, HB_Mark_NonSpacing},
649  {0x5c8, 0x5cf, HB_Other_NotAssigned},
650  {0x5d0, 0x5ea, HB_Letter_Other},
651  {0x5eb, 0x5ef, HB_Other_NotAssigned},
652  {0x5f0, 0x5f2, HB_Letter_Other},
653  {0x5f3, 0x5f4, HB_Punctuation_Other},
654  {0x5f5, 0x5ff, HB_Other_NotAssigned},
655  {0x600, 0x603, HB_Other_Format},
656  {0x604, 0x605, HB_Other_NotAssigned},
657  {0x606, 0x608, HB_Symbol_Math},
658  {0x609, 0x60a, HB_Punctuation_Other},
659  {0x60b, 0x60b, HB_Symbol_Currency},
660  {0x60c, 0x60d, HB_Punctuation_Other},
661  {0x60e, 0x60f, HB_Symbol_Other},
662  {0x610, 0x61a, HB_Mark_NonSpacing},
663  {0x61b, 0x61b, HB_Punctuation_Other},
664  {0x61c, 0x61d, HB_Other_NotAssigned},
665  {0x61e, 0x61f, HB_Punctuation_Other},
666  {0x620, 0x620, HB_Other_NotAssigned},
667  {0x621, 0x63f, HB_Letter_Other},
668  {0x640, 0x640, HB_Letter_Modifier},
669  {0x641, 0x64a, HB_Letter_Other},
670  {0x64b, 0x65e, HB_Mark_NonSpacing},
671  {0x65f, 0x65f, HB_Other_NotAssigned},
672  {0x660, 0x669, HB_Number_DecimalDigit},
673  {0x66a, 0x66d, HB_Punctuation_Other},
674  {0x66e, 0x66f, HB_Letter_Other},
675  {0x670, 0x670, HB_Mark_NonSpacing},
676  {0x671, 0x6d3, HB_Letter_Other},
677  {0x6d4, 0x6d4, HB_Punctuation_Other},
678  {0x6d5, 0x6d5, HB_Letter_Other},
679  {0x6d6, 0x6dc, HB_Mark_NonSpacing},
680  {0x6dd, 0x6dd, HB_Other_Format},
681  {0x6de, 0x6de, HB_Mark_Enclosing},
682  {0x6df, 0x6e4, HB_Mark_NonSpacing},
683  {0x6e5, 0x6e6, HB_Letter_Modifier},
684  {0x6e7, 0x6e8, HB_Mark_NonSpacing},
685  {0x6e9, 0x6e9, HB_Symbol_Other},
686  {0x6ea, 0x6ed, HB_Mark_NonSpacing},
687  {0x6ee, 0x6ef, HB_Letter_Other},
688  {0x6f0, 0x6f9, HB_Number_DecimalDigit},
689  {0x6fa, 0x6fc, HB_Letter_Other},
690  {0x6fd, 0x6fe, HB_Symbol_Other},
691  {0x6ff, 0x6ff, HB_Letter_Other},
692  {0x700, 0x70d, HB_Punctuation_Other},
693  {0x70e, 0x70e, HB_Other_NotAssigned},
694  {0x70f, 0x70f, HB_Other_Format},
695  {0x710, 0x710, HB_Letter_Other},
696  {0x711, 0x711, HB_Mark_NonSpacing},
697  {0x712, 0x72f, HB_Letter_Other},
698  {0x730, 0x74a, HB_Mark_NonSpacing},
699  {0x74b, 0x74c, HB_Other_NotAssigned},
700  {0x74d, 0x7a5, HB_Letter_Other},
701  {0x7a6, 0x7b0, HB_Mark_NonSpacing},
702  {0x7b1, 0x7b1, HB_Letter_Other},
703  {0x7b2, 0x7bf, HB_Other_NotAssigned},
704  {0x7c0, 0x7c9, HB_Number_DecimalDigit},
705  {0x7ca, 0x7ea, HB_Letter_Other},
706  {0x7eb, 0x7f3, HB_Mark_NonSpacing},
707  {0x7f4, 0x7f5, HB_Letter_Modifier},
708  {0x7f6, 0x7f6, HB_Symbol_Other},
709  {0x7f7, 0x7f9, HB_Punctuation_Other},
710  {0x7fa, 0x7fa, HB_Letter_Modifier},
711  {0x7fb, 0x900, HB_Other_NotAssigned},
712  {0x901, 0x902, HB_Mark_NonSpacing},
713  {0x903, 0x903, HB_Mark_SpacingCombining},
714  {0x904, 0x939, HB_Letter_Other},
715  {0x93a, 0x93b, HB_Other_NotAssigned},
716  {0x93c, 0x93c, HB_Mark_NonSpacing},
717  {0x93d, 0x93d, HB_Letter_Other},
718  {0x93e, 0x940, HB_Mark_SpacingCombining},
719  {0x941, 0x948, HB_Mark_NonSpacing},
720  {0x949, 0x94c, HB_Mark_SpacingCombining},
721  {0x94d, 0x94d, HB_Mark_NonSpacing},
722  {0x94e, 0x94f, HB_Other_NotAssigned},
723  {0x950, 0x950, HB_Letter_Other},
724  {0x951, 0x954, HB_Mark_NonSpacing},
725  {0x955, 0x957, HB_Other_NotAssigned},
726  {0x958, 0x961, HB_Letter_Other},
727  {0x962, 0x963, HB_Mark_NonSpacing},
728  {0x964, 0x965, HB_Punctuation_Other},
729  {0x966, 0x96f, HB_Number_DecimalDigit},
730  {0x970, 0x970, HB_Punctuation_Other},
731  {0x971, 0x971, HB_Letter_Modifier},
732  {0x972, 0x972, HB_Letter_Other},
733  {0x973, 0x97a, HB_Other_NotAssigned},
734  {0x97b, 0x97f, HB_Letter_Other},
735  {0x980, 0x980, HB_Other_NotAssigned},
736  {0x981, 0x981, HB_Mark_NonSpacing},
737  {0x982, 0x983, HB_Mark_SpacingCombining},
738  {0x984, 0x984, HB_Other_NotAssigned},
739  {0x985, 0x98c, HB_Letter_Other},
740  {0x98d, 0x98e, HB_Other_NotAssigned},
741  {0x98f, 0x990, HB_Letter_Other},
742  {0x991, 0x992, HB_Other_NotAssigned},
743  {0x993, 0x9a8, HB_Letter_Other},
744  {0x9a9, 0x9a9, HB_Other_NotAssigned},
745  {0x9aa, 0x9b0, HB_Letter_Other},
746  {0x9b1, 0x9b1, HB_Other_NotAssigned},
747  {0x9b2, 0x9b2, HB_Letter_Other},
748  {0x9b3, 0x9b5, HB_Other_NotAssigned},
749  {0x9b6, 0x9b9, HB_Letter_Other},
750  {0x9ba, 0x9bb, HB_Other_NotAssigned},
751  {0x9bc, 0x9bc, HB_Mark_NonSpacing},
752  {0x9bd, 0x9bd, HB_Letter_Other},
753  {0x9be, 0x9c0, HB_Mark_SpacingCombining},
754  {0x9c1, 0x9c4, HB_Mark_NonSpacing},
755  {0x9c5, 0x9c6, HB_Other_NotAssigned},
756  {0x9c7, 0x9c8, HB_Mark_SpacingCombining},
757  {0x9c9, 0x9ca, HB_Other_NotAssigned},
758  {0x9cb, 0x9cc, HB_Mark_SpacingCombining},
759  {0x9cd, 0x9cd, HB_Mark_NonSpacing},
760  {0x9ce, 0x9ce, HB_Letter_Other},
761  {0x9cf, 0x9d6, HB_Other_NotAssigned},
762  {0x9d7, 0x9d7, HB_Mark_SpacingCombining},
763  {0x9d8, 0x9db, HB_Other_NotAssigned},
764  {0x9dc, 0x9dd, HB_Letter_Other},
765  {0x9de, 0x9de, HB_Other_NotAssigned},
766  {0x9df, 0x9e1, HB_Letter_Other},
767  {0x9e2, 0x9e3, HB_Mark_NonSpacing},
768  {0x9e4, 0x9e5, HB_Other_NotAssigned},
769  {0x9e6, 0x9ef, HB_Number_DecimalDigit},
770  {0x9f0, 0x9f1, HB_Letter_Other},
771  {0x9f2, 0x9f3, HB_Symbol_Currency},
772  {0x9f4, 0x9f9, HB_Number_Other},
773  {0x9fa, 0x9fa, HB_Symbol_Other},
774  {0x9fb, 0xa00, HB_Other_NotAssigned},
775  {0xa01, 0xa02, HB_Mark_NonSpacing},
776  {0xa03, 0xa03, HB_Mark_SpacingCombining},
777  {0xa04, 0xa04, HB_Other_NotAssigned},
778  {0xa05, 0xa0a, HB_Letter_Other},
779  {0xa0b, 0xa0e, HB_Other_NotAssigned},
780  {0xa0f, 0xa10, HB_Letter_Other},
781  {0xa11, 0xa12, HB_Other_NotAssigned},
782  {0xa13, 0xa28, HB_Letter_Other},
783  {0xa29, 0xa29, HB_Other_NotAssigned},
784  {0xa2a, 0xa30, HB_Letter_Other},
785  {0xa31, 0xa31, HB_Other_NotAssigned},
786  {0xa32, 0xa33, HB_Letter_Other},
787  {0xa34, 0xa34, HB_Other_NotAssigned},
788  {0xa35, 0xa36, HB_Letter_Other},
789  {0xa37, 0xa37, HB_Other_NotAssigned},
790  {0xa38, 0xa39, HB_Letter_Other},
791  {0xa3a, 0xa3b, HB_Other_NotAssigned},
792  {0xa3c, 0xa3c, HB_Mark_NonSpacing},
793  {0xa3d, 0xa3d, HB_Other_NotAssigned},
794  {0xa3e, 0xa40, HB_Mark_SpacingCombining},
795  {0xa41, 0xa42, HB_Mark_NonSpacing},
796  {0xa43, 0xa46, HB_Other_NotAssigned},
797  {0xa47, 0xa48, HB_Mark_NonSpacing},
798  {0xa49, 0xa4a, HB_Other_NotAssigned},
799  {0xa4b, 0xa4d, HB_Mark_NonSpacing},
800  {0xa4e, 0xa50, HB_Other_NotAssigned},
801  {0xa51, 0xa51, HB_Mark_NonSpacing},
802  {0xa52, 0xa58, HB_Other_NotAssigned},
803  {0xa59, 0xa5c, HB_Letter_Other},
804  {0xa5d, 0xa5d, HB_Other_NotAssigned},
805  {0xa5e, 0xa5e, HB_Letter_Other},
806  {0xa5f, 0xa65, HB_Other_NotAssigned},
807  {0xa66, 0xa6f, HB_Number_DecimalDigit},
808  {0xa70, 0xa71, HB_Mark_NonSpacing},
809  {0xa72, 0xa74, HB_Letter_Other},
810  {0xa75, 0xa75, HB_Mark_NonSpacing},
811  {0xa76, 0xa80, HB_Other_NotAssigned},
812  {0xa81, 0xa82, HB_Mark_NonSpacing},
813  {0xa83, 0xa83, HB_Mark_SpacingCombining},
814  {0xa84, 0xa84, HB_Other_NotAssigned},
815  {0xa85, 0xa8d, HB_Letter_Other},
816  {0xa8e, 0xa8e, HB_Other_NotAssigned},
817  {0xa8f, 0xa91, HB_Letter_Other},
818  {0xa92, 0xa92, HB_Other_NotAssigned},
819  {0xa93, 0xaa8, HB_Letter_Other},
820  {0xaa9, 0xaa9, HB_Other_NotAssigned},
821  {0xaaa, 0xab0, HB_Letter_Other},
822  {0xab1, 0xab1, HB_Other_NotAssigned},
823  {0xab2, 0xab3, HB_Letter_Other},
824  {0xab4, 0xab4, HB_Other_NotAssigned},
825  {0xab5, 0xab9, HB_Letter_Other},
826  {0xaba, 0xabb, HB_Other_NotAssigned},
827  {0xabc, 0xabc, HB_Mark_NonSpacing},
828  {0xabd, 0xabd, HB_Letter_Other},
829  {0xabe, 0xac0, HB_Mark_SpacingCombining},
830  {0xac1, 0xac5, HB_Mark_NonSpacing},
831  {0xac6, 0xac6, HB_Other_NotAssigned},
832  {0xac7, 0xac8, HB_Mark_NonSpacing},
833  {0xac9, 0xac9, HB_Mark_SpacingCombining},
834  {0xaca, 0xaca, HB_Other_NotAssigned},
835  {0xacb, 0xacc, HB_Mark_SpacingCombining},
836  {0xacd, 0xacd, HB_Mark_NonSpacing},
837  {0xace, 0xacf, HB_Other_NotAssigned},
838  {0xad0, 0xad0, HB_Letter_Other},
839  {0xad1, 0xadf, HB_Other_NotAssigned},
840  {0xae0, 0xae1, HB_Letter_Other},
841  {0xae2, 0xae3, HB_Mark_NonSpacing},
842  {0xae4, 0xae5, HB_Other_NotAssigned},
843  {0xae6, 0xaef, HB_Number_DecimalDigit},
844  {0xaf0, 0xaf0, HB_Other_NotAssigned},
845  {0xaf1, 0xaf1, HB_Symbol_Currency},
846  {0xaf2, 0xb00, HB_Other_NotAssigned},
847  {0xb01, 0xb01, HB_Mark_NonSpacing},
848  {0xb02, 0xb03, HB_Mark_SpacingCombining},
849  {0xb04, 0xb04, HB_Other_NotAssigned},
850  {0xb05, 0xb0c, HB_Letter_Other},
851  {0xb0d, 0xb0e, HB_Other_NotAssigned},
852  {0xb0f, 0xb10, HB_Letter_Other},
853  {0xb11, 0xb12, HB_Other_NotAssigned},
854  {0xb13, 0xb28, HB_Letter_Other},
855  {0xb29, 0xb29, HB_Other_NotAssigned},
856  {0xb2a, 0xb30, HB_Letter_Other},
857  {0xb31, 0xb31, HB_Other_NotAssigned},
858  {0xb32, 0xb33, HB_Letter_Other},
859  {0xb34, 0xb34, HB_Other_NotAssigned},
860  {0xb35, 0xb39, HB_Letter_Other},
861  {0xb3a, 0xb3b, HB_Other_NotAssigned},
862  {0xb3c, 0xb3c, HB_Mark_NonSpacing},
863  {0xb3d, 0xb3d, HB_Letter_Other},
864  {0xb3e, 0xb3e, HB_Mark_SpacingCombining},
865  {0xb3f, 0xb3f, HB_Mark_NonSpacing},
866  {0xb40, 0xb40, HB_Mark_SpacingCombining},
867  {0xb41, 0xb44, HB_Mark_NonSpacing},
868  {0xb45, 0xb46, HB_Other_NotAssigned},
869  {0xb47, 0xb48, HB_Mark_SpacingCombining},
870  {0xb49, 0xb4a, HB_Other_NotAssigned},
871  {0xb4b, 0xb4c, HB_Mark_SpacingCombining},
872  {0xb4d, 0xb4d, HB_Mark_NonSpacing},
873  {0xb4e, 0xb55, HB_Other_NotAssigned},
874  {0xb56, 0xb56, HB_Mark_NonSpacing},
875  {0xb57, 0xb57, HB_Mark_SpacingCombining},
876  {0xb58, 0xb5b, HB_Other_NotAssigned},
877  {0xb5c, 0xb5d, HB_Letter_Other},
878  {0xb5e, 0xb5e, HB_Other_NotAssigned},
879  {0xb5f, 0xb61, HB_Letter_Other},
880  {0xb62, 0xb63, HB_Mark_NonSpacing},
881  {0xb64, 0xb65, HB_Other_NotAssigned},
882  {0xb66, 0xb6f, HB_Number_DecimalDigit},
883  {0xb70, 0xb70, HB_Symbol_Other},
884  {0xb71, 0xb71, HB_Letter_Other},
885  {0xb72, 0xb81, HB_Other_NotAssigned},
886  {0xb82, 0xb82, HB_Mark_NonSpacing},
887  {0xb83, 0xb83, HB_Letter_Other},
888  {0xb84, 0xb84, HB_Other_NotAssigned},
889  {0xb85, 0xb8a, HB_Letter_Other},
890  {0xb8b, 0xb8d, HB_Other_NotAssigned},
891  {0xb8e, 0xb90, HB_Letter_Other},
892  {0xb91, 0xb91, HB_Other_NotAssigned},
893  {0xb92, 0xb95, HB_Letter_Other},
894  {0xb96, 0xb98, HB_Other_NotAssigned},
895  {0xb99, 0xb9a, HB_Letter_Other},
896  {0xb9b, 0xb9b, HB_Other_NotAssigned},
897  {0xb9c, 0xb9c, HB_Letter_Other},
898  {0xb9d, 0xb9d, HB_Other_NotAssigned},
899  {0xb9e, 0xb9f, HB_Letter_Other},
900  {0xba0, 0xba2, HB_Other_NotAssigned},
901  {0xba3, 0xba4, HB_Letter_Other},
902  {0xba5, 0xba7, HB_Other_NotAssigned},
903  {0xba8, 0xbaa, HB_Letter_Other},
904  {0xbab, 0xbad, HB_Other_NotAssigned},
905  {0xbae, 0xbb9, HB_Letter_Other},
906  {0xbba, 0xbbd, HB_Other_NotAssigned},
907  {0xbbe, 0xbbf, HB_Mark_SpacingCombining},
908  {0xbc0, 0xbc0, HB_Mark_NonSpacing},
909  {0xbc1, 0xbc2, HB_Mark_SpacingCombining},
910  {0xbc3, 0xbc5, HB_Other_NotAssigned},
911  {0xbc6, 0xbc8, HB_Mark_SpacingCombining},
912  {0xbc9, 0xbc9, HB_Other_NotAssigned},
913  {0xbca, 0xbcc, HB_Mark_SpacingCombining},
914  {0xbcd, 0xbcd, HB_Mark_NonSpacing},
915  {0xbce, 0xbcf, HB_Other_NotAssigned},
916  {0xbd0, 0xbd0, HB_Letter_Other},
917  {0xbd1, 0xbd6, HB_Other_NotAssigned},
918  {0xbd7, 0xbd7, HB_Mark_SpacingCombining},
919  {0xbd8, 0xbe5, HB_Other_NotAssigned},
920  {0xbe6, 0xbef, HB_Number_DecimalDigit},
921  {0xbf0, 0xbf2, HB_Number_Other},
922  {0xbf3, 0xbf8, HB_Symbol_Other},
923  {0xbf9, 0xbf9, HB_Symbol_Currency},
924  {0xbfa, 0xbfa, HB_Symbol_Other},
925  {0xbfb, 0xc00, HB_Other_NotAssigned},
926  {0xc01, 0xc03, HB_Mark_SpacingCombining},
927  {0xc04, 0xc04, HB_Other_NotAssigned},
928  {0xc05, 0xc0c, HB_Letter_Other},
929  {0xc0d, 0xc0d, HB_Other_NotAssigned},
930  {0xc0e, 0xc10, HB_Letter_Other},
931  {0xc11, 0xc11, HB_Other_NotAssigned},
932  {0xc12, 0xc28, HB_Letter_Other},
933  {0xc29, 0xc29, HB_Other_NotAssigned},
934  {0xc2a, 0xc33, HB_Letter_Other},
935  {0xc34, 0xc34, HB_Other_NotAssigned},
936  {0xc35, 0xc39, HB_Letter_Other},
937  {0xc3a, 0xc3c, HB_Other_NotAssigned},
938  {0xc3d, 0xc3d, HB_Letter_Other},
939  {0xc3e, 0xc40, HB_Mark_NonSpacing},
940  {0xc41, 0xc44, HB_Mark_SpacingCombining},
941  {0xc45, 0xc45, HB_Other_NotAssigned},
942  {0xc46, 0xc48, HB_Mark_NonSpacing},
943  {0xc49, 0xc49, HB_Other_NotAssigned},
944  {0xc4a, 0xc4d, HB_Mark_NonSpacing},
945  {0xc4e, 0xc54, HB_Other_NotAssigned},
946  {0xc55, 0xc56, HB_Mark_NonSpacing},
947  {0xc57, 0xc57, HB_Other_NotAssigned},
948  {0xc58, 0xc59, HB_Letter_Other},
949  {0xc5a, 0xc5f, HB_Other_NotAssigned},
950  {0xc60, 0xc61, HB_Letter_Other},
951  {0xc62, 0xc63, HB_Mark_NonSpacing},
952  {0xc64, 0xc65, HB_Other_NotAssigned},
953  {0xc66, 0xc6f, HB_Number_DecimalDigit},
954  {0xc70, 0xc77, HB_Other_NotAssigned},
955  {0xc78, 0xc7e, HB_Number_Other},
956  {0xc7f, 0xc7f, HB_Symbol_Other},
957  {0xc80, 0xc81, HB_Other_NotAssigned},
958  {0xc82, 0xc83, HB_Mark_SpacingCombining},
959  {0xc84, 0xc84, HB_Other_NotAssigned},
960  {0xc85, 0xc8c, HB_Letter_Other},
961  {0xc8d, 0xc8d, HB_Other_NotAssigned},
962  {0xc8e, 0xc90, HB_Letter_Other},
963  {0xc91, 0xc91, HB_Other_NotAssigned},
964  {0xc92, 0xca8, HB_Letter_Other},
965  {0xca9, 0xca9, HB_Other_NotAssigned},
966  {0xcaa, 0xcb3, HB_Letter_Other},
967  {0xcb4, 0xcb4, HB_Other_NotAssigned},
968  {0xcb5, 0xcb9, HB_Letter_Other},
969  {0xcba, 0xcbb, HB_Other_NotAssigned},
970  {0xcbc, 0xcbc, HB_Mark_NonSpacing},
971  {0xcbd, 0xcbd, HB_Letter_Other},
972  {0xcbe, 0xcbe, HB_Mark_SpacingCombining},
973  {0xcbf, 0xcbf, HB_Mark_NonSpacing},
974  {0xcc0, 0xcc4, HB_Mark_SpacingCombining},
975  {0xcc5, 0xcc5, HB_Other_NotAssigned},
976  {0xcc6, 0xcc6, HB_Mark_NonSpacing},
977  {0xcc7, 0xcc8, HB_Mark_SpacingCombining},
978  {0xcc9, 0xcc9, HB_Other_NotAssigned},
979  {0xcca, 0xccb, HB_Mark_SpacingCombining},
980  {0xccc, 0xccd, HB_Mark_NonSpacing},
981  {0xcce, 0xcd4, HB_Other_NotAssigned},
982  {0xcd5, 0xcd6, HB_Mark_SpacingCombining},
983  {0xcd7, 0xcdd, HB_Other_NotAssigned},
984  {0xcde, 0xcde, HB_Letter_Other},
985  {0xcdf, 0xcdf, HB_Other_NotAssigned},
986  {0xce0, 0xce1, HB_Letter_Other},
987  {0xce2, 0xce3, HB_Mark_NonSpacing},
988  {0xce4, 0xce5, HB_Other_NotAssigned},
989  {0xce6, 0xcef, HB_Number_DecimalDigit},
990  {0xcf0, 0xcf0, HB_Other_NotAssigned},
991  {0xcf1, 0xcf2, HB_Symbol_Other},
992  {0xcf3, 0xd01, HB_Other_NotAssigned},
993  {0xd02, 0xd03, HB_Mark_SpacingCombining},
994  {0xd04, 0xd04, HB_Other_NotAssigned},
995  {0xd05, 0xd0c, HB_Letter_Other},
996  {0xd0d, 0xd0d, HB_Other_NotAssigned},
997  {0xd0e, 0xd10, HB_Letter_Other},
998  {0xd11, 0xd11, HB_Other_NotAssigned},
999  {0xd12, 0xd28, HB_Letter_Other},
1000  {0xd29, 0xd29, HB_Other_NotAssigned},
1001  {0xd2a, 0xd39, HB_Letter_Other},
1002  {0xd3a, 0xd3c, HB_Other_NotAssigned},
1003  {0xd3d, 0xd3d, HB_Letter_Other},
1004  {0xd3e, 0xd40, HB_Mark_SpacingCombining},
1005  {0xd41, 0xd44, HB_Mark_NonSpacing},
1006  {0xd45, 0xd45, HB_Other_NotAssigned},
1007  {0xd46, 0xd48, HB_Mark_SpacingCombining},
1008  {0xd49, 0xd49, HB_Other_NotAssigned},
1009  {0xd4a, 0xd4c, HB_Mark_SpacingCombining},
1010  {0xd4d, 0xd4d, HB_Mark_NonSpacing},
1011  {0xd4e, 0xd56, HB_Other_NotAssigned},
1012  {0xd57, 0xd57, HB_Mark_SpacingCombining},
1013  {0xd58, 0xd5f, HB_Other_NotAssigned},
1014  {0xd60, 0xd61, HB_Letter_Other},
1015  {0xd62, 0xd63, HB_Mark_NonSpacing},
1016  {0xd64, 0xd65, HB_Other_NotAssigned},
1017  {0xd66, 0xd6f, HB_Number_DecimalDigit},
1018  {0xd70, 0xd75, HB_Number_Other},
1019  {0xd76, 0xd78, HB_Other_NotAssigned},
1020  {0xd79, 0xd79, HB_Symbol_Other},
1021  {0xd7a, 0xd7f, HB_Letter_Other},
1022  {0xd80, 0xd81, HB_Other_NotAssigned},
1023  {0xd82, 0xd83, HB_Mark_SpacingCombining},
1024  {0xd84, 0xd84, HB_Other_NotAssigned},
1025  {0xd85, 0xd96, HB_Letter_Other},
1026  {0xd97, 0xd99, HB_Other_NotAssigned},
1027  {0xd9a, 0xdb1, HB_Letter_Other},
1028  {0xdb2, 0xdb2, HB_Other_NotAssigned},
1029  {0xdb3, 0xdbb, HB_Letter_Other},
1030  {0xdbc, 0xdbc, HB_Other_NotAssigned},
1031  {0xdbd, 0xdbd, HB_Letter_Other},
1032  {0xdbe, 0xdbf, HB_Other_NotAssigned},
1033  {0xdc0, 0xdc6, HB_Letter_Other},
1034  {0xdc7, 0xdc9, HB_Other_NotAssigned},
1035  {0xdca, 0xdca, HB_Mark_NonSpacing},
1036  {0xdcb, 0xdce, HB_Other_NotAssigned},
1037  {0xdcf, 0xdd1, HB_Mark_SpacingCombining},
1038  {0xdd2, 0xdd4, HB_Mark_NonSpacing},
1039  {0xdd5, 0xdd5, HB_Other_NotAssigned},
1040  {0xdd6, 0xdd6, HB_Mark_NonSpacing},
1041  {0xdd7, 0xdd7, HB_Other_NotAssigned},
1042  {0xdd8, 0xddf, HB_Mark_SpacingCombining},
1043  {0xde0, 0xdf1, HB_Other_NotAssigned},
1044  {0xdf2, 0xdf3, HB_Mark_SpacingCombining},
1045  {0xdf4, 0xdf4, HB_Punctuation_Other},
1046  {0xdf5, 0xe00, HB_Other_NotAssigned},
1047  {0xe01, 0xe30, HB_Letter_Other},
1048  {0xe31, 0xe31, HB_Mark_NonSpacing},
1049  {0xe32, 0xe33, HB_Letter_Other},
1050  {0xe34, 0xe3a, HB_Mark_NonSpacing},
1051  {0xe3b, 0xe3e, HB_Other_NotAssigned},
1052  {0xe3f, 0xe3f, HB_Symbol_Currency},
1053  {0xe40, 0xe45, HB_Letter_Other},
1054  {0xe46, 0xe46, HB_Letter_Modifier},
1055  {0xe47, 0xe4e, HB_Mark_NonSpacing},
1056  {0xe4f, 0xe4f, HB_Punctuation_Other},
1057  {0xe50, 0xe59, HB_Number_DecimalDigit},
1058  {0xe5a, 0xe5b, HB_Punctuation_Other},
1059  {0xe5c, 0xe80, HB_Other_NotAssigned},
1060  {0xe81, 0xe82, HB_Letter_Other},
1061  {0xe83, 0xe83, HB_Other_NotAssigned},
1062  {0xe84, 0xe84, HB_Letter_Other},
1063  {0xe85, 0xe86, HB_Other_NotAssigned},
1064  {0xe87, 0xe88, HB_Letter_Other},
1065  {0xe89, 0xe89, HB_Other_NotAssigned},
1066  {0xe8a, 0xe8a, HB_Letter_Other},
1067  {0xe8b, 0xe8c, HB_Other_NotAssigned},
1068  {0xe8d, 0xe8d, HB_Letter_Other},
1069  {0xe8e, 0xe93, HB_Other_NotAssigned},
1070  {0xe94, 0xe97, HB_Letter_Other},
1071  {0xe98, 0xe98, HB_Other_NotAssigned},
1072  {0xe99, 0xe9f, HB_Letter_Other},
1073  {0xea0, 0xea0, HB_Other_NotAssigned},
1074  {0xea1, 0xea3, HB_Letter_Other},
1075  {0xea4, 0xea4, HB_Other_NotAssigned},
1076  {0xea5, 0xea5, HB_Letter_Other},
1077  {0xea6, 0xea6, HB_Other_NotAssigned},
1078  {0xea7, 0xea7, HB_Letter_Other},
1079  {0xea8, 0xea9, HB_Other_NotAssigned},
1080  {0xeaa, 0xeab, HB_Letter_Other},
1081  {0xeac, 0xeac, HB_Other_NotAssigned},
1082  {0xead, 0xeb0, HB_Letter_Other},
1083  {0xeb1, 0xeb1, HB_Mark_NonSpacing},
1084  {0xeb2, 0xeb3, HB_Letter_Other},
1085  {0xeb4, 0xeb9, HB_Mark_NonSpacing},
1086  {0xeba, 0xeba, HB_Other_NotAssigned},
1087  {0xebb, 0xebc, HB_Mark_NonSpacing},
1088  {0xebd, 0xebd, HB_Letter_Other},
1089  {0xebe, 0xebf, HB_Other_NotAssigned},
1090  {0xec0, 0xec4, HB_Letter_Other},
1091  {0xec5, 0xec5, HB_Other_NotAssigned},
1092  {0xec6, 0xec6, HB_Letter_Modifier},
1093  {0xec7, 0xec7, HB_Other_NotAssigned},
1094  {0xec8, 0xecd, HB_Mark_NonSpacing},
1095  {0xece, 0xecf, HB_Other_NotAssigned},
1096  {0xed0, 0xed9, HB_Number_DecimalDigit},
1097  {0xeda, 0xedb, HB_Other_NotAssigned},
1098  {0xedc, 0xedd, HB_Letter_Other},
1099  {0xede, 0xeff, HB_Other_NotAssigned},
1100  {0xf00, 0xf00, HB_Letter_Other},
1101  {0xf01, 0xf03, HB_Symbol_Other},
1102  {0xf04, 0xf12, HB_Punctuation_Other},
1103  {0xf13, 0xf17, HB_Symbol_Other},
1104  {0xf18, 0xf19, HB_Mark_NonSpacing},
1105  {0xf1a, 0xf1f, HB_Symbol_Other},
1106  {0xf20, 0xf29, HB_Number_DecimalDigit},
1107  {0xf2a, 0xf33, HB_Number_Other},
1108  {0xf34, 0xf34, HB_Symbol_Other},
1109  {0xf35, 0xf35, HB_Mark_NonSpacing},
1110  {0xf36, 0xf36, HB_Symbol_Other},
1111  {0xf37, 0xf37, HB_Mark_NonSpacing},
1112  {0xf38, 0xf38, HB_Symbol_Other},
1113  {0xf39, 0xf39, HB_Mark_NonSpacing},
1114  {0xf3a, 0xf3a, HB_Punctuation_Open},
1115  {0xf3b, 0xf3b, HB_Punctuation_Close},
1116  {0xf3c, 0xf3c, HB_Punctuation_Open},
1117  {0xf3d, 0xf3d, HB_Punctuation_Close},
1118  {0xf3e, 0xf3f, HB_Mark_SpacingCombining},
1119  {0xf40, 0xf47, HB_Letter_Other},
1120  {0xf48, 0xf48, HB_Other_NotAssigned},
1121  {0xf49, 0xf6c, HB_Letter_Other},
1122  {0xf6d, 0xf70, HB_Other_NotAssigned},
1123  {0xf71, 0xf7e, HB_Mark_NonSpacing},
1124  {0xf7f, 0xf7f, HB_Mark_SpacingCombining},
1125  {0xf80, 0xf84, HB_Mark_NonSpacing},
1126  {0xf85, 0xf85, HB_Punctuation_Other},
1127  {0xf86, 0xf87, HB_Mark_NonSpacing},
1128  {0xf88, 0xf8b, HB_Letter_Other},
1129  {0xf8c, 0xf8f, HB_Other_NotAssigned},
1130  {0xf90, 0xf97, HB_Mark_NonSpacing},
1131  {0xf98, 0xf98, HB_Other_NotAssigned},
1132  {0xf99, 0xfbc, HB_Mark_NonSpacing},
1133  {0xfbd, 0xfbd, HB_Other_NotAssigned},
1134  {0xfbe, 0xfc5, HB_Symbol_Other},
1135  {0xfc6, 0xfc6, HB_Mark_NonSpacing},
1136  {0xfc7, 0xfcc, HB_Symbol_Other},
1137  {0xfcd, 0xfcd, HB_Other_NotAssigned},
1138  {0xfce, 0xfcf, HB_Symbol_Other},
1139  {0xfd0, 0xfd4, HB_Punctuation_Other},
1140  {0xfd5, 0xfff, HB_Other_NotAssigned},
1141  {0x1000, 0x102a, HB_Letter_Other},
1142  {0x102b, 0x102c, HB_Mark_SpacingCombining},
1143  {0x102d, 0x1030, HB_Mark_NonSpacing},
1144  {0x1031, 0x1031, HB_Mark_SpacingCombining},
1145  {0x1032, 0x1037, HB_Mark_NonSpacing},
1146  {0x1038, 0x1038, HB_Mark_SpacingCombining},
1147  {0x1039, 0x103a, HB_Mark_NonSpacing},
1148  {0x103b, 0x103c, HB_Mark_SpacingCombining},
1149  {0x103d, 0x103e, HB_Mark_NonSpacing},
1150  {0x103f, 0x103f, HB_Letter_Other},
1151  {0x1040, 0x1049, HB_Number_DecimalDigit},
1152  {0x104a, 0x104f, HB_Punctuation_Other},
1153  {0x1050, 0x1055, HB_Letter_Other},
1154  {0x1056, 0x1057, HB_Mark_SpacingCombining},
1155  {0x1058, 0x1059, HB_Mark_NonSpacing},
1156  {0x105a, 0x105d, HB_Letter_Other},
1157  {0x105e, 0x1060, HB_Mark_NonSpacing},
1158  {0x1061, 0x1061, HB_Letter_Other},
1159  {0x1062, 0x1064, HB_Mark_SpacingCombining},
1160  {0x1065, 0x1066, HB_Letter_Other},
1161  {0x1067, 0x106d, HB_Mark_SpacingCombining},
1162  {0x106e, 0x1070, HB_Letter_Other},
1163  {0x1071, 0x1074, HB_Mark_NonSpacing},
1164  {0x1075, 0x1081, HB_Letter_Other},
1165  {0x1082, 0x1082, HB_Mark_NonSpacing},
1166  {0x1083, 0x1084, HB_Mark_SpacingCombining},
1167  {0x1085, 0x1086, HB_Mark_NonSpacing},
1168  {0x1087, 0x108c, HB_Mark_SpacingCombining},
1169  {0x108d, 0x108d, HB_Mark_NonSpacing},
1170  {0x108e, 0x108e, HB_Letter_Other},
1171  {0x108f, 0x108f, HB_Mark_SpacingCombining},
1172  {0x1090, 0x1099, HB_Number_DecimalDigit},
1173  {0x109a, 0x109d, HB_Other_NotAssigned},
1174  {0x109e, 0x109f, HB_Symbol_Other},
1175  {0x10a0, 0x10c5, HB_Letter_Uppercase},
1176  {0x10c6, 0x10cf, HB_Other_NotAssigned},
1177  {0x10d0, 0x10fa, HB_Letter_Other},
1178  {0x10fb, 0x10fb, HB_Punctuation_Other},
1179  {0x10fc, 0x10fc, HB_Letter_Modifier},
1180  {0x10fd, 0x10ff, HB_Other_NotAssigned},
1181  {0x1100, 0x1159, HB_Letter_Other},
1182  {0x115a, 0x115e, HB_Other_NotAssigned},
1183  {0x115f, 0x11a2, HB_Letter_Other},
1184  {0x11a3, 0x11a7, HB_Other_NotAssigned},
1185  {0x11a8, 0x11f9, HB_Letter_Other},
1186  {0x11fa, 0x11ff, HB_Other_NotAssigned},
1187  {0x1200, 0x1248, HB_Letter_Other},
1188  {0x1249, 0x1249, HB_Other_NotAssigned},
1189  {0x124a, 0x124d, HB_Letter_Other},
1190  {0x124e, 0x124f, HB_Other_NotAssigned},
1191  {0x1250, 0x1256, HB_Letter_Other},
1192  {0x1257, 0x1257, HB_Other_NotAssigned},
1193  {0x1258, 0x1258, HB_Letter_Other},
1194  {0x1259, 0x1259, HB_Other_NotAssigned},
1195  {0x125a, 0x125d, HB_Letter_Other},
1196  {0x125e, 0x125f, HB_Other_NotAssigned},
1197  {0x1260, 0x1288, HB_Letter_Other},
1198  {0x1289, 0x1289, HB_Other_NotAssigned},
1199  {0x128a, 0x128d, HB_Letter_Other},
1200  {0x128e, 0x128f, HB_Other_NotAssigned},
1201  {0x1290, 0x12b0, HB_Letter_Other},
1202  {0x12b1, 0x12b1, HB_Other_NotAssigned},
1203  {0x12b2, 0x12b5, HB_Letter_Other},
1204  {0x12b6, 0x12b7, HB_Other_NotAssigned},
1205  {0x12b8, 0x12be, HB_Letter_Other},
1206  {0x12bf, 0x12bf, HB_Other_NotAssigned},
1207  {0x12c0, 0x12c0, HB_Letter_Other},
1208  {0x12c1, 0x12c1, HB_Other_NotAssigned},
1209  {0x12c2, 0x12c5, HB_Letter_Other},
1210  {0x12c6, 0x12c7, HB_Other_NotAssigned},
1211  {0x12c8, 0x12d6, HB_Letter_Other},
1212  {0x12d7, 0x12d7, HB_Other_NotAssigned},
1213  {0x12d8, 0x1310, HB_Letter_Other},
1214  {0x1311, 0x1311, HB_Other_NotAssigned},
1215  {0x1312, 0x1315, HB_Letter_Other},
1216  {0x1316, 0x1317, HB_Other_NotAssigned},
1217  {0x1318, 0x135a, HB_Letter_Other},
1218  {0x135b, 0x135e, HB_Other_NotAssigned},
1219  {0x135f, 0x135f, HB_Mark_NonSpacing},
1220  {0x1360, 0x1360, HB_Symbol_Other},
1221  {0x1361, 0x1368, HB_Punctuation_Other},
1222  {0x1369, 0x137c, HB_Number_Other},
1223  {0x137d, 0x137f, HB_Other_NotAssigned},
1224  {0x1380, 0x138f, HB_Letter_Other},
1225  {0x1390, 0x1399, HB_Symbol_Other},
1226  {0x139a, 0x139f, HB_Other_NotAssigned},
1227  {0x13a0, 0x13f4, HB_Letter_Other},
1228  {0x13f5, 0x1400, HB_Other_NotAssigned},
1229  {0x1401, 0x166c, HB_Letter_Other},
1230  {0x166d, 0x166e, HB_Punctuation_Other},
1231  {0x166f, 0x1676, HB_Letter_Other},
1232  {0x1677, 0x167f, HB_Other_NotAssigned},
1233  {0x1680, 0x1680, HB_Separator_Space},
1234  {0x1681, 0x169a, HB_Letter_Other},
1235  {0x169b, 0x169b, HB_Punctuation_Open},
1236  {0x169c, 0x169c, HB_Punctuation_Close},
1237  {0x169d, 0x169f, HB_Other_NotAssigned},
1238  {0x16a0, 0x16ea, HB_Letter_Other},
1239  {0x16eb, 0x16ed, HB_Punctuation_Other},
1240  {0x16ee, 0x16f0, HB_Number_Letter},
1241  {0x16f1, 0x16ff, HB_Other_NotAssigned},
1242  {0x1700, 0x170c, HB_Letter_Other},
1243  {0x170d, 0x170d, HB_Other_NotAssigned},
1244  {0x170e, 0x1711, HB_Letter_Other},
1245  {0x1712, 0x1714, HB_Mark_NonSpacing},
1246  {0x1715, 0x171f, HB_Other_NotAssigned},
1247  {0x1720, 0x1731, HB_Letter_Other},
1248  {0x1732, 0x1734, HB_Mark_NonSpacing},
1249  {0x1735, 0x1736, HB_Punctuation_Other},
1250  {0x1737, 0x173f, HB_Other_NotAssigned},
1251  {0x1740, 0x1751, HB_Letter_Other},
1252  {0x1752, 0x1753, HB_Mark_NonSpacing},
1253  {0x1754, 0x175f, HB_Other_NotAssigned},
1254  {0x1760, 0x176c, HB_Letter_Other},
1255  {0x176d, 0x176d, HB_Other_NotAssigned},
1256  {0x176e, 0x1770, HB_Letter_Other},
1257  {0x1771, 0x1771, HB_Other_NotAssigned},
1258  {0x1772, 0x1773, HB_Mark_NonSpacing},
1259  {0x1774, 0x177f, HB_Other_NotAssigned},
1260  {0x1780, 0x17b3, HB_Letter_Other},
1261  {0x17b4, 0x17b5, HB_Other_Format},
1262  {0x17b6, 0x17b6, HB_Mark_SpacingCombining},
1263  {0x17b7, 0x17bd, HB_Mark_NonSpacing},
1264  {0x17be, 0x17c5, HB_Mark_SpacingCombining},
1265  {0x17c6, 0x17c6, HB_Mark_NonSpacing},
1266  {0x17c7, 0x17c8, HB_Mark_SpacingCombining},
1267  {0x17c9, 0x17d3, HB_Mark_NonSpacing},
1268  {0x17d4, 0x17d6, HB_Punctuation_Other},
1269  {0x17d7, 0x17d7, HB_Letter_Modifier},
1270  {0x17d8, 0x17da, HB_Punctuation_Other},
1271  {0x17db, 0x17db, HB_Symbol_Currency},
1272  {0x17dc, 0x17dc, HB_Letter_Other},
1273  {0x17dd, 0x17dd, HB_Mark_NonSpacing},
1274  {0x17de, 0x17df, HB_Other_NotAssigned},
1275  {0x17e0, 0x17e9, HB_Number_DecimalDigit},
1276  {0x17ea, 0x17ef, HB_Other_NotAssigned},
1277  {0x17f0, 0x17f9, HB_Number_Other},
1278  {0x17fa, 0x17ff, HB_Other_NotAssigned},
1279  {0x1800, 0x1805, HB_Punctuation_Other},
1280  {0x1806, 0x1806, HB_Punctuation_Dash},
1281  {0x1807, 0x180a, HB_Punctuation_Other},
1282  {0x180b, 0x180d, HB_Mark_NonSpacing},
1283  {0x180e, 0x180e, HB_Separator_Space},
1284  {0x180f, 0x180f, HB_Other_NotAssigned},
1285  {0x1810, 0x1819, HB_Number_DecimalDigit},
1286  {0x181a, 0x181f, HB_Other_NotAssigned},
1287  {0x1820, 0x1842, HB_Letter_Other},
1288  {0x1843, 0x1843, HB_Letter_Modifier},
1289  {0x1844, 0x1877, HB_Letter_Other},
1290  {0x1878, 0x187f, HB_Other_NotAssigned},
1291  {0x1880, 0x18a8, HB_Letter_Other},
1292  {0x18a9, 0x18a9, HB_Mark_NonSpacing},
1293  {0x18aa, 0x18aa, HB_Letter_Other},
1294  {0x18ab, 0x18ff, HB_Other_NotAssigned},
1295  {0x1900, 0x191c, HB_Letter_Other},
1296  {0x191d, 0x191f, HB_Other_NotAssigned},
1297  {0x1920, 0x1922, HB_Mark_NonSpacing},
1298  {0x1923, 0x1926, HB_Mark_SpacingCombining},
1299  {0x1927, 0x1928, HB_Mark_NonSpacing},
1300  {0x1929, 0x192b, HB_Mark_SpacingCombining},
1301  {0x192c, 0x192f, HB_Other_NotAssigned},
1302  {0x1930, 0x1931, HB_Mark_SpacingCombining},
1303  {0x1932, 0x1932, HB_Mark_NonSpacing},
1304  {0x1933, 0x1938, HB_Mark_SpacingCombining},
1305  {0x1939, 0x193b, HB_Mark_NonSpacing},
1306  {0x193c, 0x193f, HB_Other_NotAssigned},
1307  {0x1940, 0x1940, HB_Symbol_Other},
1308  {0x1941, 0x1943, HB_Other_NotAssigned},
1309  {0x1944, 0x1945, HB_Punctuation_Other},
1310  {0x1946, 0x194f, HB_Number_DecimalDigit},
1311  {0x1950, 0x196d, HB_Letter_Other},
1312  {0x196e, 0x196f, HB_Other_NotAssigned},
1313  {0x1970, 0x1974, HB_Letter_Other},
1314  {0x1975, 0x197f, HB_Other_NotAssigned},
1315  {0x1980, 0x19a9, HB_Letter_Other},
1316  {0x19aa, 0x19af, HB_Other_NotAssigned},
1317  {0x19b0, 0x19c0, HB_Mark_SpacingCombining},
1318  {0x19c1, 0x19c7, HB_Letter_Other},
1319  {0x19c8, 0x19c9, HB_Mark_SpacingCombining},
1320  {0x19ca, 0x19cf, HB_Other_NotAssigned},
1321  {0x19d0, 0x19d9, HB_Number_DecimalDigit},
1322  {0x19da, 0x19dd, HB_Other_NotAssigned},
1323  {0x19de, 0x19df, HB_Punctuation_Other},
1324  {0x19e0, 0x19ff, HB_Symbol_Other},
1325  {0x1a00, 0x1a16, HB_Letter_Other},
1326  {0x1a17, 0x1a18, HB_Mark_NonSpacing},
1327  {0x1a19, 0x1a1b, HB_Mark_SpacingCombining},
1328  {0x1a1c, 0x1a1d, HB_Other_NotAssigned},
1329  {0x1a1e, 0x1a1f, HB_Punctuation_Other},
1330  {0x1a20, 0x1aff, HB_Other_NotAssigned},
1331  {0x1b00, 0x1b03, HB_Mark_NonSpacing},
1332  {0x1b04, 0x1b04, HB_Mark_SpacingCombining},
1333  {0x1b05, 0x1b33, HB_Letter_Other},
1334  {0x1b34, 0x1b34, HB_Mark_NonSpacing},
1335  {0x1b35, 0x1b35, HB_Mark_SpacingCombining},
1336  {0x1b36, 0x1b3a, HB_Mark_NonSpacing},
1337  {0x1b3b, 0x1b3b, HB_Mark_SpacingCombining},
1338  {0x1b3c, 0x1b3c, HB_Mark_NonSpacing},
1339  {0x1b3d, 0x1b41, HB_Mark_SpacingCombining},
1340  {0x1b42, 0x1b42, HB_Mark_NonSpacing},
1341  {0x1b43, 0x1b44, HB_Mark_SpacingCombining},
1342  {0x1b45, 0x1b4b, HB_Letter_Other},
1343  {0x1b4c, 0x1b4f, HB_Other_NotAssigned},
1344  {0x1b50, 0x1b59, HB_Number_DecimalDigit},
1345  {0x1b5a, 0x1b60, HB_Punctuation_Other},
1346  {0x1b61, 0x1b6a, HB_Symbol_Other},
1347  {0x1b6b, 0x1b73, HB_Mark_NonSpacing},
1348  {0x1b74, 0x1b7c, HB_Symbol_Other},
1349  {0x1b7d, 0x1b7f, HB_Other_NotAssigned},
1350  {0x1b80, 0x1b81, HB_Mark_NonSpacing},
1351  {0x1b82, 0x1b82, HB_Mark_SpacingCombining},
1352  {0x1b83, 0x1ba0, HB_Letter_Other},
1353  {0x1ba1, 0x1ba1, HB_Mark_SpacingCombining},
1354  {0x1ba2, 0x1ba5, HB_Mark_NonSpacing},
1355  {0x1ba6, 0x1ba7, HB_Mark_SpacingCombining},
1356  {0x1ba8, 0x1ba9, HB_Mark_NonSpacing},
1357  {0x1baa, 0x1baa, HB_Mark_SpacingCombining},
1358  {0x1bab, 0x1bad, HB_Other_NotAssigned},
1359  {0x1bae, 0x1baf, HB_Letter_Other},
1360  {0x1bb0, 0x1bb9, HB_Number_DecimalDigit},
1361  {0x1bba, 0x1bff, HB_Other_NotAssigned},
1362  {0x1c00, 0x1c23, HB_Letter_Other},
1363  {0x1c24, 0x1c2b, HB_Mark_SpacingCombining},
1364  {0x1c2c, 0x1c33, HB_Mark_NonSpacing},
1365  {0x1c34, 0x1c35, HB_Mark_SpacingCombining},
1366  {0x1c36, 0x1c37, HB_Mark_NonSpacing},
1367  {0x1c38, 0x1c3a, HB_Other_NotAssigned},
1368  {0x1c3b, 0x1c3f, HB_Punctuation_Other},
1369  {0x1c40, 0x1c49, HB_Number_DecimalDigit},
1370  {0x1c4a, 0x1c4c, HB_Other_NotAssigned},
1371  {0x1c4d, 0x1c4f, HB_Letter_Other},
1372  {0x1c50, 0x1c59, HB_Number_DecimalDigit},
1373  {0x1c5a, 0x1c77, HB_Letter_Other},
1374  {0x1c78, 0x1c7d, HB_Letter_Modifier},
1375  {0x1c7e, 0x1c7f, HB_Punctuation_Other},
1376  {0x1c80, 0x1cff, HB_Other_NotAssigned},
1377  {0x1d00, 0x1d2b, HB_Letter_Lowercase},
1378  {0x1d2c, 0x1d61, HB_Letter_Modifier},
1379  {0x1d62, 0x1d77, HB_Letter_Lowercase},
1380  {0x1d78, 0x1d78, HB_Letter_Modifier},
1381  {0x1d79, 0x1d9a, HB_Letter_Lowercase},
1382  {0x1d9b, 0x1dbf, HB_Letter_Modifier},
1383  {0x1dc0, 0x1de6, HB_Mark_NonSpacing},
1384  {0x1de7, 0x1dfd, HB_Other_NotAssigned},
1385  {0x1dfe, 0x1dff, HB_Mark_NonSpacing},
1386  {0x1e00, 0x1e00, HB_Letter_Uppercase},
1387  {0x1e01, 0x1e01, HB_Letter_Lowercase},
1388  {0x1e02, 0x1e02, HB_Letter_Uppercase},
1389  {0x1e03, 0x1e03, HB_Letter_Lowercase},
1390  {0x1e04, 0x1e04, HB_Letter_Uppercase},
1391  {0x1e05, 0x1e05, HB_Letter_Lowercase},
1392  {0x1e06, 0x1e06, HB_Letter_Uppercase},
1393  {0x1e07, 0x1e07, HB_Letter_Lowercase},
1394  {0x1e08, 0x1e08, HB_Letter_Uppercase},
1395  {0x1e09, 0x1e09, HB_Letter_Lowercase},
1396  {0x1e0a, 0x1e0a, HB_Letter_Uppercase},
1397  {0x1e0b, 0x1e0b, HB_Letter_Lowercase},
1398  {0x1e0c, 0x1e0c, HB_Letter_Uppercase},
1399  {0x1e0d, 0x1e0d, HB_Letter_Lowercase},
1400  {0x1e0e, 0x1e0e, HB_Letter_Uppercase},
1401  {0x1e0f, 0x1e0f, HB_Letter_Lowercase},
1402  {0x1e10, 0x1e10, HB_Letter_Uppercase},
1403  {0x1e11, 0x1e11, HB_Letter_Lowercase},
1404  {0x1e12, 0x1e12, HB_Letter_Uppercase},
1405  {0x1e13, 0x1e13, HB_Letter_Lowercase},
1406  {0x1e14, 0x1e14, HB_Letter_Uppercase},
1407  {0x1e15, 0x1e15, HB_Letter_Lowercase},
1408  {0x1e16, 0x1e16, HB_Letter_Uppercase},
1409  {0x1e17, 0x1e17, HB_Letter_Lowercase},
1410  {0x1e18, 0x1e18, HB_Letter_Uppercase},
1411  {0x1e19, 0x1e19, HB_Letter_Lowercase},
1412  {0x1e1a, 0x1e1a, HB_Letter_Uppercase},
1413  {0x1e1b, 0x1e1b, HB_Letter_Lowercase},
1414  {0x1e1c, 0x1e1c, HB_Letter_Uppercase},
1415  {0x1e1d, 0x1e1d, HB_Letter_Lowercase},
1416  {0x1e1e, 0x1e1e, HB_Letter_Uppercase},
1417  {0x1e1f, 0x1e1f, HB_Letter_Lowercase},
1418  {0x1e20, 0x1e20, HB_Letter_Uppercase},
1419  {0x1e21, 0x1e21, HB_Letter_Lowercase},
1420  {0x1e22, 0x1e22, HB_Letter_Uppercase},
1421  {0x1e23, 0x1e23, HB_Letter_Lowercase},
1422  {0x1e24, 0x1e24, HB_Letter_Uppercase},
1423  {0x1e25, 0x1e25, HB_Letter_Lowercase},
1424  {0x1e26, 0x1e26, HB_Letter_Uppercase},
1425  {0x1e27, 0x1e27, HB_Letter_Lowercase},
1426  {0x1e28, 0x1e28, HB_Letter_Uppercase},
1427  {0x1e29, 0x1e29, HB_Letter_Lowercase},
1428  {0x1e2a, 0x1e2a, HB_Letter_Uppercase},
1429  {0x1e2b, 0x1e2b, HB_Letter_Lowercase},
1430  {0x1e2c, 0x1e2c, HB_Letter_Uppercase},
1431  {0x1e2d, 0x1e2d, HB_Letter_Lowercase},
1432  {0x1e2e, 0x1e2e, HB_Letter_Uppercase},
1433  {0x1e2f, 0x1e2f, HB_Letter_Lowercase},
1434  {0x1e30, 0x1e30, HB_Letter_Uppercase},
1435  {0x1e31, 0x1e31, HB_Letter_Lowercase},
1436  {0x1e32, 0x1e32, HB_Letter_Uppercase},
1437  {0x1e33, 0x1e33, HB_Letter_Lowercase},
1438  {0x1e34, 0x1e34, HB_Letter_Uppercase},
1439  {0x1e35, 0x1e35, HB_Letter_Lowercase},
1440  {0x1e36, 0x1e36, HB_Letter_Uppercase},
1441  {0x1e37, 0x1e37, HB_Letter_Lowercase},
1442  {0x1e38, 0x1e38, HB_Letter_Uppercase},
1443  {0x1e39, 0x1e39, HB_Letter_Lowercase},
1444  {0x1e3a, 0x1e3a, HB_Letter_Uppercase},
1445  {0x1e3b, 0x1e3b, HB_Letter_Lowercase},
1446  {0x1e3c, 0x1e3c, HB_Letter_Uppercase},
1447  {0x1e3d, 0x1e3d, HB_Letter_Lowercase},
1448  {0x1e3e, 0x1e3e, HB_Letter_Uppercase},
1449  {0x1e3f, 0x1e3f, HB_Letter_Lowercase},
1450  {0x1e40, 0x1e40, HB_Letter_Uppercase},
1451  {0x1e41, 0x1e41, HB_Letter_Lowercase},
1452  {0x1e42, 0x1e42, HB_Letter_Uppercase},
1453  {0x1e43, 0x1e43, HB_Letter_Lowercase},
1454  {0x1e44, 0x1e44, HB_Letter_Uppercase},
1455  {0x1e45, 0x1e45, HB_Letter_Lowercase},
1456  {0x1e46, 0x1e46, HB_Letter_Uppercase},
1457  {0x1e47, 0x1e47, HB_Letter_Lowercase},
1458  {0x1e48, 0x1e48, HB_Letter_Uppercase},
1459  {0x1e49, 0x1e49, HB_Letter_Lowercase},
1460  {0x1e4a, 0x1e4a, HB_Letter_Uppercase},
1461  {0x1e4b, 0x1e4b, HB_Letter_Lowercase},
1462  {0x1e4c, 0x1e4c, HB_Letter_Uppercase},
1463  {0x1e4d, 0x1e4d, HB_Letter_Lowercase},
1464  {0x1e4e, 0x1e4e, HB_Letter_Uppercase},
1465  {0x1e4f, 0x1e4f, HB_Letter_Lowercase},
1466  {0x1e50, 0x1e50, HB_Letter_Uppercase},
1467  {0x1e51, 0x1e51, HB_Letter_Lowercase},
1468  {0x1e52, 0x1e52, HB_Letter_Uppercase},
1469  {0x1e53, 0x1e53, HB_Letter_Lowercase},
1470  {0x1e54, 0x1e54, HB_Letter_Uppercase},
1471  {0x1e55, 0x1e55, HB_Letter_Lowercase},
1472  {0x1e56, 0x1e56, HB_Letter_Uppercase},
1473  {0x1e57, 0x1e57, HB_Letter_Lowercase},
1474  {0x1e58, 0x1e58, HB_Letter_Uppercase},
1475  {0x1e59, 0x1e59, HB_Letter_Lowercase},
1476  {0x1e5a, 0x1e5a, HB_Letter_Uppercase},
1477  {0x1e5b, 0x1e5b, HB_Letter_Lowercase},
1478  {0x1e5c, 0x1e5c, HB_Letter_Uppercase},
1479  {0x1e5d, 0x1e5d, HB_Letter_Lowercase},
1480  {0x1e5e, 0x1e5e, HB_Letter_Uppercase},
1481  {0x1e5f, 0x1e5f, HB_Letter_Lowercase},
1482  {0x1e60, 0x1e60, HB_Letter_Uppercase},
1483  {0x1e61, 0x1e61, HB_Letter_Lowercase},
1484  {0x1e62, 0x1e62, HB_Letter_Uppercase},
1485  {0x1e63, 0x1e63, HB_Letter_Lowercase},
1486  {0x1e64, 0x1e64, HB_Letter_Uppercase},
1487  {0x1e65, 0x1e65, HB_Letter_Lowercase},
1488  {0x1e66, 0x1e66, HB_Letter_Uppercase},
1489  {0x1e67, 0x1e67, HB_Letter_Lowercase},
1490  {0x1e68, 0x1e68, HB_Letter_Uppercase},
1491  {0x1e69, 0x1e69, HB_Letter_Lowercase},
1492  {0x1e6a, 0x1e6a, HB_Letter_Uppercase},
1493  {0x1e6b, 0x1e6b, HB_Letter_Lowercase},
1494  {0x1e6c, 0x1e6c, HB_Letter_Uppercase},
1495  {0x1e6d, 0x1e6d, HB_Letter_Lowercase},
1496  {0x1e6e, 0x1e6e, HB_Letter_Uppercase},
1497  {0x1e6f, 0x1e6f, HB_Letter_Lowercase},
1498  {0x1e70, 0x1e70, HB_Letter_Uppercase},
1499  {0x1e71, 0x1e71, HB_Letter_Lowercase},
1500  {0x1e72, 0x1e72, HB_Letter_Uppercase},
1501  {0x1e73, 0x1e73, HB_Letter_Lowercase},
1502  {0x1e74, 0x1e74, HB_Letter_Uppercase},
1503  {0x1e75, 0x1e75, HB_Letter_Lowercase},
1504  {0x1e76, 0x1e76, HB_Letter_Uppercase},
1505  {0x1e77, 0x1e77, HB_Letter_Lowercase},
1506  {0x1e78, 0x1e78, HB_Letter_Uppercase},
1507  {0x1e79, 0x1e79, HB_Letter_Lowercase},
1508  {0x1e7a, 0x1e7a, HB_Letter_Uppercase},
1509  {0x1e7b, 0x1e7b, HB_Letter_Lowercase},
1510  {0x1e7c, 0x1e7c, HB_Letter_Uppercase},
1511  {0x1e7d, 0x1e7d, HB_Letter_Lowercase},
1512  {0x1e7e, 0x1e7e, HB_Letter_Uppercase},
1513  {0x1e7f, 0x1e7f, HB_Letter_Lowercase},
1514  {0x1e80, 0x1e80, HB_Letter_Uppercase},
1515  {0x1e81, 0x1e81, HB_Letter_Lowercase},
1516  {0x1e82, 0x1e82, HB_Letter_Uppercase},
1517  {0x1e83, 0x1e83, HB_Letter_Lowercase},
1518  {0x1e84, 0x1e84, HB_Letter_Uppercase},
1519  {0x1e85, 0x1e85, HB_Letter_Lowercase},
1520  {0x1e86, 0x1e86, HB_Letter_Uppercase},
1521  {0x1e87, 0x1e87, HB_Letter_Lowercase},
1522  {0x1e88, 0x1e88, HB_Letter_Uppercase},
1523  {0x1e89, 0x1e89, HB_Letter_Lowercase},
1524  {0x1e8a, 0x1e8a, HB_Letter_Uppercase},
1525  {0x1e8b, 0x1e8b, HB_Letter_Lowercase},
1526  {0x1e8c, 0x1e8c, HB_Letter_Uppercase},
1527  {0x1e8d, 0x1e8d, HB_Letter_Lowercase},
1528  {0x1e8e, 0x1e8e, HB_Letter_Uppercase},
1529  {0x1e8f, 0x1e8f, HB_Letter_Lowercase},
1530  {0x1e90, 0x1e90, HB_Letter_Uppercase},
1531  {0x1e91, 0x1e91, HB_Letter_Lowercase},
1532  {0x1e92, 0x1e92, HB_Letter_Uppercase},
1533  {0x1e93, 0x1e93, HB_Letter_Lowercase},
1534  {0x1e94, 0x1e94, HB_Letter_Uppercase},
1535  {0x1e95, 0x1e9d, HB_Letter_Lowercase},
1536  {0x1e9e, 0x1e9e, HB_Letter_Uppercase},
1537  {0x1e9f, 0x1e9f, HB_Letter_Lowercase},
1538  {0x1ea0, 0x1ea0, HB_Letter_Uppercase},
1539  {0x1ea1, 0x1ea1, HB_Letter_Lowercase},
1540  {0x1ea2, 0x1ea2, HB_Letter_Uppercase},
1541  {0x1ea3, 0x1ea3, HB_Letter_Lowercase},
1542  {0x1ea4, 0x1ea4, HB_Letter_Uppercase},
1543  {0x1ea5, 0x1ea5, HB_Letter_Lowercase},
1544  {0x1ea6, 0x1ea6, HB_Letter_Uppercase},
1545  {0x1ea7, 0x1ea7, HB_Letter_Lowercase},
1546  {0x1ea8, 0x1ea8, HB_Letter_Uppercase},
1547  {0x1ea9, 0x1ea9, HB_Letter_Lowercase},
1548  {0x1eaa, 0x1eaa, HB_Letter_Uppercase},
1549  {0x1eab, 0x1eab, HB_Letter_Lowercase},
1550  {0x1eac, 0x1eac, HB_Letter_Uppercase},
1551  {0x1ead, 0x1ead, HB_Letter_Lowercase},
1552  {0x1eae, 0x1eae, HB_Letter_Uppercase},
1553  {0x1eaf, 0x1eaf, HB_Letter_Lowercase},
1554  {0x1eb0, 0x1eb0, HB_Letter_Uppercase},
1555  {0x1eb1, 0x1eb1, HB_Letter_Lowercase},
1556  {0x1eb2, 0x1eb2, HB_Letter_Uppercase},
1557  {0x1eb3, 0x1eb3, HB_Letter_Lowercase},
1558  {0x1eb4, 0x1eb4, HB_Letter_Uppercase},
1559  {0x1eb5, 0x1eb5, HB_Letter_Lowercase},
1560  {0x1eb6, 0x1eb6, HB_Letter_Uppercase},
1561  {0x1eb7, 0x1eb7, HB_Letter_Lowercase},
1562  {0x1eb8, 0x1eb8, HB_Letter_Uppercase},
1563  {0x1eb9, 0x1eb9, HB_Letter_Lowercase},
1564  {0x1eba, 0x1eba, HB_Letter_Uppercase},
1565  {0x1ebb, 0x1ebb, HB_Letter_Lowercase},
1566  {0x1ebc, 0x1ebc, HB_Letter_Uppercase},
1567  {0x1ebd, 0x1ebd, HB_Letter_Lowercase},
1568  {0x1ebe, 0x1ebe, HB_Letter_Uppercase},
1569  {0x1ebf, 0x1ebf, HB_Letter_Lowercase},
1570  {0x1ec0, 0x1ec0, HB_Letter_Uppercase},
1571  {0x1ec1, 0x1ec1, HB_Letter_Lowercase},
1572  {0x1ec2, 0x1ec2, HB_Letter_Uppercase},
1573  {0x1ec3, 0x1ec3, HB_Letter_Lowercase},
1574  {0x1ec4, 0x1ec4, HB_Letter_Uppercase},
1575  {0x1ec5, 0x1ec5, HB_Letter_Lowercase},
1576  {0x1ec6, 0x1ec6, HB_Letter_Uppercase},
1577  {0x1ec7, 0x1ec7, HB_Letter_Lowercase},
1578  {0x1ec8, 0x1ec8, HB_Letter_Uppercase},
1579  {0x1ec9, 0x1ec9, HB_Letter_Lowercase},
1580  {0x1eca, 0x1eca, HB_Letter_Uppercase},
1581  {0x1ecb, 0x1ecb, HB_Letter_Lowercase},
1582  {0x1ecc, 0x1ecc, HB_Letter_Uppercase},
1583  {0x1ecd, 0x1ecd, HB_Letter_Lowercase},
1584  {0x1ece, 0x1ece, HB_Letter_Uppercase},
1585  {0x1ecf, 0x1ecf, HB_Letter_Lowercase},
1586  {0x1ed0, 0x1ed0, HB_Letter_Uppercase},
1587  {0x1ed1, 0x1ed1, HB_Letter_Lowercase},
1588  {0x1ed2, 0x1ed2, HB_Letter_Uppercase},
1589  {0x1ed3, 0x1ed3, HB_Letter_Lowercase},
1590  {0x1ed4, 0x1ed4, HB_Letter_Uppercase},
1591  {0x1ed5, 0x1ed5, HB_Letter_Lowercase},
1592  {0x1ed6, 0x1ed6, HB_Letter_Uppercase},
1593  {0x1ed7, 0x1ed7, HB_Letter_Lowercase},
1594  {0x1ed8, 0x1ed8, HB_Letter_Uppercase},
1595  {0x1ed9, 0x1ed9, HB_Letter_Lowercase},
1596  {0x1eda, 0x1eda, HB_Letter_Uppercase},
1597  {0x1edb, 0x1edb, HB_Letter_Lowercase},
1598  {0x1edc, 0x1edc, HB_Letter_Uppercase},
1599  {0x1edd, 0x1edd, HB_Letter_Lowercase},
1600  {0x1ede, 0x1ede, HB_Letter_Uppercase},
1601  {0x1edf, 0x1edf, HB_Letter_Lowercase},
1602  {0x1ee0, 0x1ee0, HB_Letter_Uppercase},
1603  {0x1ee1, 0x1ee1, HB_Letter_Lowercase},
1604  {0x1ee2, 0x1ee2, HB_Letter_Uppercase},
1605  {0x1ee3, 0x1ee3, HB_Letter_Lowercase},
1606  {0x1ee4, 0x1ee4, HB_Letter_Uppercase},
1607  {0x1ee5, 0x1ee5, HB_Letter_Lowercase},
1608  {0x1ee6, 0x1ee6, HB_Letter_Uppercase},
1609  {0x1ee7, 0x1ee7, HB_Letter_Lowercase},
1610  {0x1ee8, 0x1ee8, HB_Letter_Uppercase},
1611  {0x1ee9, 0x1ee9, HB_Letter_Lowercase},
1612  {0x1eea, 0x1eea, HB_Letter_Uppercase},
1613  {0x1eeb, 0x1eeb, HB_Letter_Lowercase},
1614  {0x1eec, 0x1eec, HB_Letter_Uppercase},
1615  {0x1eed, 0x1eed, HB_Letter_Lowercase},
1616  {0x1eee, 0x1eee, HB_Letter_Uppercase},
1617  {0x1eef, 0x1eef, HB_Letter_Lowercase},
1618  {0x1ef0, 0x1ef0, HB_Letter_Uppercase},
1619  {0x1ef1, 0x1ef1, HB_Letter_Lowercase},
1620  {0x1ef2, 0x1ef2, HB_Letter_Uppercase},
1621  {0x1ef3, 0x1ef3, HB_Letter_Lowercase},
1622  {0x1ef4, 0x1ef4, HB_Letter_Uppercase},
1623  {0x1ef5, 0x1ef5, HB_Letter_Lowercase},
1624  {0x1ef6, 0x1ef6, HB_Letter_Uppercase},
1625  {0x1ef7, 0x1ef7, HB_Letter_Lowercase},
1626  {0x1ef8, 0x1ef8, HB_Letter_Uppercase},
1627  {0x1ef9, 0x1ef9, HB_Letter_Lowercase},
1628  {0x1efa, 0x1efa, HB_Letter_Uppercase},
1629  {0x1efb, 0x1efb, HB_Letter_Lowercase},
1630  {0x1efc, 0x1efc, HB_Letter_Uppercase},
1631  {0x1efd, 0x1efd, HB_Letter_Lowercase},
1632  {0x1efe, 0x1efe, HB_Letter_Uppercase},
1633  {0x1eff, 0x1f07, HB_Letter_Lowercase},
1634  {0x1f08, 0x1f0f, HB_Letter_Uppercase},
1635  {0x1f10, 0x1f15, HB_Letter_Lowercase},
1636  {0x1f16, 0x1f17, HB_Other_NotAssigned},
1637  {0x1f18, 0x1f1d, HB_Letter_Uppercase},
1638  {0x1f1e, 0x1f1f, HB_Other_NotAssigned},
1639  {0x1f20, 0x1f27, HB_Letter_Lowercase},
1640  {0x1f28, 0x1f2f, HB_Letter_Uppercase},
1641  {0x1f30, 0x1f37, HB_Letter_Lowercase},
1642  {0x1f38, 0x1f3f, HB_Letter_Uppercase},
1643  {0x1f40, 0x1f45, HB_Letter_Lowercase},
1644  {0x1f46, 0x1f47, HB_Other_NotAssigned},
1645  {0x1f48, 0x1f4d, HB_Letter_Uppercase},
1646  {0x1f4e, 0x1f4f, HB_Other_NotAssigned},
1647  {0x1f50, 0x1f57, HB_Letter_Lowercase},
1648  {0x1f58, 0x1f58, HB_Other_NotAssigned},
1649  {0x1f59, 0x1f59, HB_Letter_Uppercase},
1650  {0x1f5a, 0x1f5a, HB_Other_NotAssigned},
1651  {0x1f5b, 0x1f5b, HB_Letter_Uppercase},
1652  {0x1f5c, 0x1f5c, HB_Other_NotAssigned},
1653  {0x1f5d, 0x1f5d, HB_Letter_Uppercase},
1654  {0x1f5e, 0x1f5e, HB_Other_NotAssigned},
1655  {0x1f5f, 0x1f5f, HB_Letter_Uppercase},
1656  {0x1f60, 0x1f67, HB_Letter_Lowercase},
1657  {0x1f68, 0x1f6f, HB_Letter_Uppercase},
1658  {0x1f70, 0x1f7d, HB_Letter_Lowercase},
1659  {0x1f7e, 0x1f7f, HB_Other_NotAssigned},
1660  {0x1f80, 0x1f87, HB_Letter_Lowercase},
1661  {0x1f88, 0x1f8f, HB_Letter_Titlecase},
1662  {0x1f90, 0x1f97, HB_Letter_Lowercase},
1663  {0x1f98, 0x1f9f, HB_Letter_Titlecase},
1664  {0x1fa0, 0x1fa7, HB_Letter_Lowercase},
1665  {0x1fa8, 0x1faf, HB_Letter_Titlecase},
1666  {0x1fb0, 0x1fb4, HB_Letter_Lowercase},
1667  {0x1fb5, 0x1fb5, HB_Other_NotAssigned},
1668  {0x1fb6, 0x1fb7, HB_Letter_Lowercase},
1669  {0x1fb8, 0x1fbb, HB_Letter_Uppercase},
1670  {0x1fbc, 0x1fbc, HB_Letter_Titlecase},
1671  {0x1fbd, 0x1fbd, HB_Symbol_Modifier},
1672  {0x1fbe, 0x1fbe, HB_Letter_Lowercase},
1673  {0x1fbf, 0x1fc1, HB_Symbol_Modifier},
1674  {0x1fc2, 0x1fc4, HB_Letter_Lowercase},
1675  {0x1fc5, 0x1fc5, HB_Other_NotAssigned},
1676  {0x1fc6, 0x1fc7, HB_Letter_Lowercase},
1677  {0x1fc8, 0x1fcb, HB_Letter_Uppercase},
1678  {0x1fcc, 0x1fcc, HB_Letter_Titlecase},
1679  {0x1fcd, 0x1fcf, HB_Symbol_Modifier},
1680  {0x1fd0, 0x1fd3, HB_Letter_Lowercase},
1681  {0x1fd4, 0x1fd5, HB_Other_NotAssigned},
1682  {0x1fd6, 0x1fd7, HB_Letter_Lowercase},
1683  {0x1fd8, 0x1fdb, HB_Letter_Uppercase},
1684  {0x1fdc, 0x1fdc, HB_Other_NotAssigned},
1685  {0x1fdd, 0x1fdf, HB_Symbol_Modifier},
1686  {0x1fe0, 0x1fe7, HB_Letter_Lowercase},
1687  {0x1fe8, 0x1fec, HB_Letter_Uppercase},
1688  {0x1fed, 0x1fef, HB_Symbol_Modifier},
1689  {0x1ff0, 0x1ff1, HB_Other_NotAssigned},
1690  {0x1ff2, 0x1ff4, HB_Letter_Lowercase},
1691  {0x1ff5, 0x1ff5, HB_Other_NotAssigned},
1692  {0x1ff6, 0x1ff7, HB_Letter_Lowercase},
1693  {0x1ff8, 0x1ffb, HB_Letter_Uppercase},
1694  {0x1ffc, 0x1ffc, HB_Letter_Titlecase},
1695  {0x1ffd, 0x1ffe, HB_Symbol_Modifier},
1696  {0x1fff, 0x1fff, HB_Other_NotAssigned},
1697  {0x2000, 0x200a, HB_Separator_Space},
1698  {0x200b, 0x200f, HB_Other_Format},
1699  {0x2010, 0x2015, HB_Punctuation_Dash},
1700  {0x2016, 0x2017, HB_Punctuation_Other},
1701  {0x2018, 0x2018, HB_Punctuation_InitialQuote},
1702  {0x2019, 0x2019, HB_Punctuation_FinalQuote},
1703  {0x201a, 0x201a, HB_Punctuation_Open},
1704  {0x201b, 0x201c, HB_Punctuation_InitialQuote},
1705  {0x201d, 0x201d, HB_Punctuation_FinalQuote},
1706  {0x201e, 0x201e, HB_Punctuation_Open},
1707  {0x201f, 0x201f, HB_Punctuation_InitialQuote},
1708  {0x2020, 0x2027, HB_Punctuation_Other},
1709  {0x2028, 0x2028, HB_Separator_Line},
1710  {0x2029, 0x2029, HB_Separator_Paragraph},
1711  {0x202a, 0x202e, HB_Other_Format},
1712  {0x202f, 0x202f, HB_Separator_Space},
1713  {0x2030, 0x2038, HB_Punctuation_Other},
1714  {0x2039, 0x2039, HB_Punctuation_InitialQuote},
1715  {0x203a, 0x203a, HB_Punctuation_FinalQuote},
1716  {0x203b, 0x203e, HB_Punctuation_Other},
1717  {0x203f, 0x2040, HB_Punctuation_Connector},
1718  {0x2041, 0x2043, HB_Punctuation_Other},
1719  {0x2044, 0x2044, HB_Symbol_Math},
1720  {0x2045, 0x2045, HB_Punctuation_Open},
1721  {0x2046, 0x2046, HB_Punctuation_Close},
1722  {0x2047, 0x2051, HB_Punctuation_Other},
1723  {0x2052, 0x2052, HB_Symbol_Math},
1724  {0x2053, 0x2053, HB_Punctuation_Other},
1725  {0x2054, 0x2054, HB_Punctuation_Connector},
1726  {0x2055, 0x205e, HB_Punctuation_Other},
1727  {0x205f, 0x205f, HB_Separator_Space},
1728  {0x2060, 0x2064, HB_Other_Format},
1729  {0x2065, 0x2069, HB_Other_NotAssigned},
1730  {0x206a, 0x206f, HB_Other_Format},
1731  {0x2070, 0x2070, HB_Number_Other},
1732  {0x2071, 0x2071, HB_Letter_Lowercase},
1733  {0x2072, 0x2073, HB_Other_NotAssigned},
1734  {0x2074, 0x2079, HB_Number_Other},
1735  {0x207a, 0x207c, HB_Symbol_Math},
1736  {0x207d, 0x207d, HB_Punctuation_Open},
1737  {0x207e, 0x207e, HB_Punctuation_Close},
1738  {0x207f, 0x207f, HB_Letter_Lowercase},
1739  {0x2080, 0x2089, HB_Number_Other},
1740  {0x208a, 0x208c, HB_Symbol_Math},
1741  {0x208d, 0x208d, HB_Punctuation_Open},
1742  {0x208e, 0x208e, HB_Punctuation_Close},
1743  {0x208f, 0x208f, HB_Other_NotAssigned},
1744  {0x2090, 0x2094, HB_Letter_Modifier},
1745  {0x2095, 0x209f, HB_Other_NotAssigned},
1746  {0x20a0, 0x20b5, HB_Symbol_Currency},
1747  {0x20b6, 0x20cf, HB_Other_NotAssigned},
1748  {0x20d0, 0x20dc, HB_Mark_NonSpacing},
1749  {0x20dd, 0x20e0, HB_Mark_Enclosing},
1750  {0x20e1, 0x20e1, HB_Mark_NonSpacing},
1751  {0x20e2, 0x20e4, HB_Mark_Enclosing},
1752  {0x20e5, 0x20f0, HB_Mark_NonSpacing},
1753  {0x20f1, 0x20ff, HB_Other_NotAssigned},
1754  {0x2100, 0x2101, HB_Symbol_Other},
1755  {0x2102, 0x2102, HB_Letter_Uppercase},
1756  {0x2103, 0x2106, HB_Symbol_Other},
1757  {0x2107, 0x2107, HB_Letter_Uppercase},
1758  {0x2108, 0x2109, HB_Symbol_Other},
1759  {0x210a, 0x210a, HB_Letter_Lowercase},
1760  {0x210b, 0x210d, HB_Letter_Uppercase},
1761  {0x210e, 0x210f, HB_Letter_Lowercase},
1762  {0x2110, 0x2112, HB_Letter_Uppercase},
1763  {0x2113, 0x2113, HB_Letter_Lowercase},
1764  {0x2114, 0x2114, HB_Symbol_Other},
1765  {0x2115, 0x2115, HB_Letter_Uppercase},
1766  {0x2116, 0x2118, HB_Symbol_Other},
1767  {0x2119, 0x211d, HB_Letter_Uppercase},
1768  {0x211e, 0x2123, HB_Symbol_Other},
1769  {0x2124, 0x2124, HB_Letter_Uppercase},
1770  {0x2125, 0x2125, HB_Symbol_Other},
1771  {0x2126, 0x2126, HB_Letter_Uppercase},
1772  {0x2127, 0x2127, HB_Symbol_Other},
1773  {0x2128, 0x2128, HB_Letter_Uppercase},
1774  {0x2129, 0x2129, HB_Symbol_Other},
1775  {0x212a, 0x212d, HB_Letter_Uppercase},
1776  {0x212e, 0x212e, HB_Symbol_Other},
1777  {0x212f, 0x212f, HB_Letter_Lowercase},
1778  {0x2130, 0x2133, HB_Letter_Uppercase},
1779  {0x2134, 0x2134, HB_Letter_Lowercase},
1780  {0x2135, 0x2138, HB_Letter_Other},
1781  {0x2139, 0x2139, HB_Letter_Lowercase},
1782  {0x213a, 0x213b, HB_Symbol_Other},
1783  {0x213c, 0x213d, HB_Letter_Lowercase},
1784  {0x213e, 0x213f, HB_Letter_Uppercase},
1785  {0x2140, 0x2144, HB_Symbol_Math},
1786  {0x2145, 0x2145, HB_Letter_Uppercase},
1787  {0x2146, 0x2149, HB_Letter_Lowercase},
1788  {0x214a, 0x214a, HB_Symbol_Other},
1789  {0x214b, 0x214b, HB_Symbol_Math},
1790  {0x214c, 0x214d, HB_Symbol_Other},
1791  {0x214e, 0x214e, HB_Letter_Lowercase},
1792  {0x214f, 0x214f, HB_Symbol_Other},
1793  {0x2150, 0x2152, HB_Other_NotAssigned},
1794  {0x2153, 0x215f, HB_Number_Other},
1795  {0x2160, 0x2182, HB_Number_Letter},
1796  {0x2183, 0x2183, HB_Letter_Uppercase},
1797  {0x2184, 0x2184, HB_Letter_Lowercase},
1798  {0x2185, 0x2188, HB_Number_Letter},
1799  {0x2189, 0x218f, HB_Other_NotAssigned},
1800  {0x2190, 0x2194, HB_Symbol_Math},
1801  {0x2195, 0x2199, HB_Symbol_Other},
1802  {0x219a, 0x219b, HB_Symbol_Math},
1803  {0x219c, 0x219f, HB_Symbol_Other},
1804  {0x21a0, 0x21a0, HB_Symbol_Math},
1805  {0x21a1, 0x21a2, HB_Symbol_Other},
1806  {0x21a3, 0x21a3, HB_Symbol_Math},
1807  {0x21a4, 0x21a5, HB_Symbol_Other},
1808  {0x21a6, 0x21a6, HB_Symbol_Math},
1809  {0x21a7, 0x21ad, HB_Symbol_Other},
1810  {0x21ae, 0x21ae, HB_Symbol_Math},
1811  {0x21af, 0x21cd, HB_Symbol_Other},
1812  {0x21ce, 0x21cf, HB_Symbol_Math},
1813  {0x21d0, 0x21d1, HB_Symbol_Other},
1814  {0x21d2, 0x21d2, HB_Symbol_Math},
1815  {0x21d3, 0x21d3, HB_Symbol_Other},
1816  {0x21d4, 0x21d4, HB_Symbol_Math},
1817  {0x21d5, 0x21f3, HB_Symbol_Other},
1818  {0x21f4, 0x22ff, HB_Symbol_Math},
1819  {0x2300, 0x2307, HB_Symbol_Other},
1820  {0x2308, 0x230b, HB_Symbol_Math},
1821  {0x230c, 0x231f, HB_Symbol_Other},
1822  {0x2320, 0x2321, HB_Symbol_Math},
1823  {0x2322, 0x2328, HB_Symbol_Other},
1824  {0x2329, 0x2329, HB_Punctuation_Open},
1825  {0x232a, 0x232a, HB_Punctuation_Close},
1826  {0x232b, 0x237b, HB_Symbol_Other},
1827  {0x237c, 0x237c, HB_Symbol_Math},
1828  {0x237d, 0x239a, HB_Symbol_Other},
1829  {0x239b, 0x23b3, HB_Symbol_Math},
1830  {0x23b4, 0x23db, HB_Symbol_Other},
1831  {0x23dc, 0x23e1, HB_Symbol_Math},
1832  {0x23e2, 0x23e7, HB_Symbol_Other},
1833  {0x23e8, 0x23ff, HB_Other_NotAssigned},
1834  {0x2400, 0x2426, HB_Symbol_Other},
1835  {0x2427, 0x243f, HB_Other_NotAssigned},
1836  {0x2440, 0x244a, HB_Symbol_Other},
1837  {0x244b, 0x245f, HB_Other_NotAssigned},
1838  {0x2460, 0x249b, HB_Number_Other},
1839  {0x249c, 0x24e9, HB_Symbol_Other},
1840  {0x24ea, 0x24ff, HB_Number_Other},
1841  {0x2500, 0x25b6, HB_Symbol_Other},
1842  {0x25b7, 0x25b7, HB_Symbol_Math},
1843  {0x25b8, 0x25c0, HB_Symbol_Other},
1844  {0x25c1, 0x25c1, HB_Symbol_Math},
1845  {0x25c2, 0x25f7, HB_Symbol_Other},
1846  {0x25f8, 0x25ff, HB_Symbol_Math},
1847  {0x2600, 0x266e, HB_Symbol_Other},
1848  {0x266f, 0x266f, HB_Symbol_Math},
1849  {0x2670, 0x269d, HB_Symbol_Other},
1850  {0x269e, 0x269f, HB_Other_NotAssigned},
1851  {0x26a0, 0x26bc, HB_Symbol_Other},
1852  {0x26bd, 0x26bf, HB_Other_NotAssigned},
1853  {0x26c0, 0x26c3, HB_Symbol_Other},
1854  {0x26c4, 0x2700, HB_Other_NotAssigned},
1855  {0x2701, 0x2704, HB_Symbol_Other},
1856  {0x2705, 0x2705, HB_Other_NotAssigned},
1857  {0x2706, 0x2709, HB_Symbol_Other},
1858  {0x270a, 0x270b, HB_Other_NotAssigned},
1859  {0x270c, 0x2727, HB_Symbol_Other},
1860  {0x2728, 0x2728, HB_Other_NotAssigned},
1861  {0x2729, 0x274b, HB_Symbol_Other},
1862  {0x274c, 0x274c, HB_Other_NotAssigned},
1863  {0x274d, 0x274d, HB_Symbol_Other},
1864  {0x274e, 0x274e, HB_Other_NotAssigned},
1865  {0x274f, 0x2752, HB_Symbol_Other},
1866  {0x2753, 0x2755, HB_Other_NotAssigned},
1867  {0x2756, 0x2756, HB_Symbol_Other},
1868  {0x2757, 0x2757, HB_Other_NotAssigned},
1869  {0x2758, 0x275e, HB_Symbol_Other},
1870  {0x275f, 0x2760, HB_Other_NotAssigned},
1871  {0x2761, 0x2767, HB_Symbol_Other},
1872  {0x2768, 0x2768, HB_Punctuation_Open},
1873  {0x2769, 0x2769, HB_Punctuation_Close},
1874  {0x276a, 0x276a, HB_Punctuation_Open},
1875  {0x276b, 0x276b, HB_Punctuation_Close},
1876  {0x276c, 0x276c, HB_Punctuation_Open},
1877  {0x276d, 0x276d, HB_Punctuation_Close},
1878  {0x276e, 0x276e, HB_Punctuation_Open},
1879  {0x276f, 0x276f, HB_Punctuation_Close},
1880  {0x2770, 0x2770, HB_Punctuation_Open},
1881  {0x2771, 0x2771, HB_Punctuation_Close},
1882  {0x2772, 0x2772, HB_Punctuation_Open},
1883  {0x2773, 0x2773, HB_Punctuation_Close},
1884  {0x2774, 0x2774, HB_Punctuation_Open},
1885  {0x2775, 0x2775, HB_Punctuation_Close},
1886  {0x2776, 0x2793, HB_Number_Other},
1887  {0x2794, 0x2794, HB_Symbol_Other},
1888  {0x2795, 0x2797, HB_Other_NotAssigned},
1889  {0x2798, 0x27af, HB_Symbol_Other},
1890  {0x27b0, 0x27b0, HB_Other_NotAssigned},
1891  {0x27b1, 0x27be, HB_Symbol_Other},
1892  {0x27bf, 0x27bf, HB_Other_NotAssigned},
1893  {0x27c0, 0x27c4, HB_Symbol_Math},
1894  {0x27c5, 0x27c5, HB_Punctuation_Open},
1895  {0x27c6, 0x27c6, HB_Punctuation_Close},
1896  {0x27c7, 0x27ca, HB_Symbol_Math},
1897  {0x27cb, 0x27cb, HB_Other_NotAssigned},
1898  {0x27cc, 0x27cc, HB_Symbol_Math},
1899  {0x27cd, 0x27cf, HB_Other_NotAssigned},
1900  {0x27d0, 0x27e5, HB_Symbol_Math},
1901  {0x27e6, 0x27e6, HB_Punctuation_Open},
1902  {0x27e7, 0x27e7, HB_Punctuation_Close},
1903  {0x27e8, 0x27e8, HB_Punctuation_Open},
1904  {0x27e9, 0x27e9, HB_Punctuation_Close},
1905  {0x27ea, 0x27ea, HB_Punctuation_Open},
1906  {0x27eb, 0x27eb, HB_Punctuation_Close},
1907  {0x27ec, 0x27ec, HB_Punctuation_Open},
1908  {0x27ed, 0x27ed, HB_Punctuation_Close},
1909  {0x27ee, 0x27ee, HB_Punctuation_Open},
1910  {0x27ef, 0x27ef, HB_Punctuation_Close},
1911  {0x27f0, 0x27ff, HB_Symbol_Math},
1912  {0x2800, 0x28ff, HB_Symbol_Other},
1913  {0x2900, 0x2982, HB_Symbol_Math},
1914  {0x2983, 0x2983, HB_Punctuation_Open},
1915  {0x2984, 0x2984, HB_Punctuation_Close},
1916  {0x2985, 0x2985, HB_Punctuation_Open},
1917  {0x2986, 0x2986, HB_Punctuation_Close},
1918  {0x2987, 0x2987, HB_Punctuation_Open},
1919  {0x2988, 0x2988, HB_Punctuation_Close},
1920  {0x2989, 0x2989, HB_Punctuation_Open},
1921  {0x298a, 0x298a, HB_Punctuation_Close},
1922  {0x298b, 0x298b, HB_Punctuation_Open},
1923  {0x298c, 0x298c, HB_Punctuation_Close},
1924  {0x298d, 0x298d, HB_Punctuation_Open},
1925  {0x298e, 0x298e, HB_Punctuation_Close},
1926  {0x298f, 0x298f, HB_Punctuation_Open},
1927  {0x2990, 0x2990, HB_Punctuation_Close},
1928  {0x2991, 0x2991, HB_Punctuation_Open},
1929  {0x2992, 0x2992, HB_Punctuation_Close},
1930  {0x2993, 0x2993, HB_Punctuation_Open},
1931  {0x2994, 0x2994, HB_Punctuation_Close},
1932  {0x2995, 0x2995, HB_Punctuation_Open},
1933  {0x2996, 0x2996, HB_Punctuation_Close},
1934  {0x2997, 0x2997, HB_Punctuation_Open},
1935  {0x2998, 0x2998, HB_Punctuation_Close},
1936  {0x2999, 0x29d7, HB_Symbol_Math},
1937  {0x29d8, 0x29d8, HB_Punctuation_Open},
1938  {0x29d9, 0x29d9, HB_Punctuation_Close},
1939  {0x29da, 0x29da, HB_Punctuation_Open},
1940  {0x29db, 0x29db, HB_Punctuation_Close},
1941  {0x29dc, 0x29fb, HB_Symbol_Math},
1942  {0x29fc, 0x29fc, HB_Punctuation_Open},
1943  {0x29fd, 0x29fd, HB_Punctuation_Close},
1944  {0x29fe, 0x2aff, HB_Symbol_Math},
1945  {0x2b00, 0x2b2f, HB_Symbol_Other},
1946  {0x2b30, 0x2b44, HB_Symbol_Math},
1947  {0x2b45, 0x2b46, HB_Symbol_Other},
1948  {0x2b47, 0x2b4c, HB_Symbol_Math},
1949  {0x2b4d, 0x2b4f, HB_Other_NotAssigned},
1950  {0x2b50, 0x2b54, HB_Symbol_Other},
1951  {0x2b55, 0x2bff, HB_Other_NotAssigned},
1952  {0x2c00, 0x2c2e, HB_Letter_Uppercase},
1953  {0x2c2f, 0x2c2f, HB_Other_NotAssigned},
1954  {0x2c30, 0x2c5e, HB_Letter_Lowercase},
1955  {0x2c5f, 0x2c5f, HB_Other_NotAssigned},
1956  {0x2c60, 0x2c60, HB_Letter_Uppercase},
1957  {0x2c61, 0x2c61, HB_Letter_Lowercase},
1958  {0x2c62, 0x2c64, HB_Letter_Uppercase},
1959  {0x2c65, 0x2c66, HB_Letter_Lowercase},
1960  {0x2c67, 0x2c67, HB_Letter_Uppercase},
1961  {0x2c68, 0x2c68, HB_Letter_Lowercase},
1962  {0x2c69, 0x2c69, HB_Letter_Uppercase},
1963  {0x2c6a, 0x2c6a, HB_Letter_Lowercase},
1964  {0x2c6b, 0x2c6b, HB_Letter_Uppercase},
1965  {0x2c6c, 0x2c6c, HB_Letter_Lowercase},
1966  {0x2c6d, 0x2c6f, HB_Letter_Uppercase},
1967  {0x2c70, 0x2c70, HB_Other_NotAssigned},
1968  {0x2c71, 0x2c71, HB_Letter_Lowercase},
1969  {0x2c72, 0x2c72, HB_Letter_Uppercase},
1970  {0x2c73, 0x2c74, HB_Letter_Lowercase},
1971  {0x2c75, 0x2c75, HB_Letter_Uppercase},
1972  {0x2c76, 0x2c7c, HB_Letter_Lowercase},
1973  {0x2c7d, 0x2c7d, HB_Letter_Modifier},
1974  {0x2c7e, 0x2c7f, HB_Other_NotAssigned},
1975  {0x2c80, 0x2c80, HB_Letter_Uppercase},
1976  {0x2c81, 0x2c81, HB_Letter_Lowercase},
1977  {0x2c82, 0x2c82, HB_Letter_Uppercase},
1978  {0x2c83, 0x2c83, HB_Letter_Lowercase},
1979  {0x2c84, 0x2c84, HB_Letter_Uppercase},
1980  {0x2c85, 0x2c85, HB_Letter_Lowercase},
1981  {0x2c86, 0x2c86, HB_Letter_Uppercase},
1982  {0x2c87, 0x2c87, HB_Letter_Lowercase},
1983  {0x2c88, 0x2c88, HB_Letter_Uppercase},
1984  {0x2c89, 0x2c89, HB_Letter_Lowercase},
1985  {0x2c8a, 0x2c8a, HB_Letter_Uppercase},
1986  {0x2c8b, 0x2c8b, HB_Letter_Lowercase},
1987  {0x2c8c, 0x2c8c, HB_Letter_Uppercase},
1988  {0x2c8d, 0x2c8d, HB_Letter_Lowercase},
1989  {0x2c8e, 0x2c8e, HB_Letter_Uppercase},
1990  {0x2c8f, 0x2c8f, HB_Letter_Lowercase},
1991  {0x2c90, 0x2c90, HB_Letter_Uppercase},
1992  {0x2c91, 0x2c91, HB_Letter_Lowercase},
1993  {0x2c92, 0x2c92, HB_Letter_Uppercase},
1994  {0x2c93, 0x2c93, HB_Letter_Lowercase},
1995  {0x2c94, 0x2c94, HB_Letter_Uppercase},
1996  {0x2c95, 0x2c95, HB_Letter_Lowercase},
1997  {0x2c96, 0x2c96, HB_Letter_Uppercase},
1998  {0x2c97, 0x2c97, HB_Letter_Lowercase},
1999  {0x2c98, 0x2c98, HB_Letter_Uppercase},
2000  {0x2c99, 0x2c99, HB_Letter_Lowercase},
2001  {0x2c9a, 0x2c9a, HB_Letter_Uppercase},
2002  {0x2c9b, 0x2c9b, HB_Letter_Lowercase},
2003  {0x2c9c, 0x2c9c, HB_Letter_Uppercase},
2004  {0x2c9d, 0x2c9d, HB_Letter_Lowercase},
2005  {0x2c9e, 0x2c9e, HB_Letter_Uppercase},
2006  {0x2c9f, 0x2c9f, HB_Letter_Lowercase},
2007  {0x2ca0, 0x2ca0, HB_Letter_Uppercase},
2008  {0x2ca1, 0x2ca1, HB_Letter_Lowercase},
2009  {0x2ca2, 0x2ca2, HB_Letter_Uppercase},
2010  {0x2ca3, 0x2ca3, HB_Letter_Lowercase},
2011  {0x2ca4, 0x2ca4, HB_Letter_Uppercase},
2012  {0x2ca5, 0x2ca5, HB_Letter_Lowercase},
2013  {0x2ca6, 0x2ca6, HB_Letter_Uppercase},
2014  {0x2ca7, 0x2ca7, HB_Letter_Lowercase},
2015  {0x2ca8, 0x2ca8, HB_Letter_Uppercase},
2016  {0x2ca9, 0x2ca9, HB_Letter_Lowercase},
2017  {0x2caa, 0x2caa, HB_Letter_Uppercase},
2018  {0x2cab, 0x2cab, HB_Letter_Lowercase},
2019  {0x2cac, 0x2cac, HB_Letter_Uppercase},
2020  {0x2cad, 0x2cad, HB_Letter_Lowercase},
2021  {0x2cae, 0x2cae, HB_Letter_Uppercase},
2022  {0x2caf, 0x2caf, HB_Letter_Lowercase},
2023  {0x2cb0, 0x2cb0, HB_Letter_Uppercase},
2024  {0x2cb1, 0x2cb1, HB_Letter_Lowercase},
2025  {0x2cb2, 0x2cb2, HB_Letter_Uppercase},
2026  {0x2cb3, 0x2cb3, HB_Letter_Lowercase},
2027  {0x2cb4, 0x2cb4, HB_Letter_Uppercase},
2028  {0x2cb5, 0x2cb5, HB_Letter_Lowercase},
2029  {0x2cb6, 0x2cb6, HB_Letter_Uppercase},
2030  {0x2cb7, 0x2cb7, HB_Letter_Lowercase},
2031  {0x2cb8, 0x2cb8, HB_Letter_Uppercase},
2032  {0x2cb9, 0x2cb9, HB_Letter_Lowercase},
2033  {0x2cba, 0x2cba, HB_Letter_Uppercase},
2034  {0x2cbb, 0x2cbb, HB_Letter_Lowercase},
2035  {0x2cbc, 0x2cbc, HB_Letter_Uppercase},
2036  {0x2cbd, 0x2cbd, HB_Letter_Lowercase},
2037  {0x2cbe, 0x2cbe, HB_Letter_Uppercase},
2038  {0x2cbf, 0x2cbf, HB_Letter_Lowercase},
2039  {0x2cc0, 0x2cc0, HB_Letter_Uppercase},
2040  {0x2cc1, 0x2cc1, HB_Letter_Lowercase},
2041  {0x2cc2, 0x2cc2, HB_Letter_Uppercase},
2042  {0x2cc3, 0x2cc3, HB_Letter_Lowercase},
2043  {0x2cc4, 0x2cc4, HB_Letter_Uppercase},
2044  {0x2cc5, 0x2cc5, HB_Letter_Lowercase},
2045  {0x2cc6, 0x2cc6, HB_Letter_Uppercase},
2046  {0x2cc7, 0x2cc7, HB_Letter_Lowercase},
2047  {0x2cc8, 0x2cc8, HB_Letter_Uppercase},
2048  {0x2cc9, 0x2cc9, HB_Letter_Lowercase},
2049  {0x2cca, 0x2cca, HB_Letter_Uppercase},
2050  {0x2ccb, 0x2ccb, HB_Letter_Lowercase},
2051  {0x2ccc, 0x2ccc, HB_Letter_Uppercase},
2052  {0x2ccd, 0x2ccd, HB_Letter_Lowercase},
2053  {0x2cce, 0x2cce, HB_Letter_Uppercase},
2054  {0x2ccf, 0x2ccf, HB_Letter_Lowercase},
2055  {0x2cd0, 0x2cd0, HB_Letter_Uppercase},
2056  {0x2cd1, 0x2cd1, HB_Letter_Lowercase},
2057  {0x2cd2, 0x2cd2, HB_Letter_Uppercase},
2058  {0x2cd3, 0x2cd3, HB_Letter_Lowercase},
2059  {0x2cd4, 0x2cd4, HB_Letter_Uppercase},
2060  {0x2cd5, 0x2cd5, HB_Letter_Lowercase},
2061  {0x2cd6, 0x2cd6, HB_Letter_Uppercase},
2062  {0x2cd7, 0x2cd7, HB_Letter_Lowercase},
2063  {0x2cd8, 0x2cd8, HB_Letter_Uppercase},
2064  {0x2cd9, 0x2cd9, HB_Letter_Lowercase},
2065  {0x2cda, 0x2cda, HB_Letter_Uppercase},
2066  {0x2cdb, 0x2cdb, HB_Letter_Lowercase},
2067  {0x2cdc, 0x2cdc, HB_Letter_Uppercase},
2068  {0x2cdd, 0x2cdd, HB_Letter_Lowercase},
2069  {0x2cde, 0x2cde, HB_Letter_Uppercase},
2070  {0x2cdf, 0x2cdf, HB_Letter_Lowercase},
2071  {0x2ce0, 0x2ce0, HB_Letter_Uppercase},
2072  {0x2ce1, 0x2ce1, HB_Letter_Lowercase},
2073  {0x2ce2, 0x2ce2, HB_Letter_Uppercase},
2074  {0x2ce3, 0x2ce4, HB_Letter_Lowercase},
2075  {0x2ce5, 0x2cea, HB_Symbol_Other},
2076  {0x2ceb, 0x2cf8, HB_Other_NotAssigned},
2077  {0x2cf9, 0x2cfc, HB_Punctuation_Other},
2078  {0x2cfd, 0x2cfd, HB_Number_Other},
2079  {0x2cfe, 0x2cff, HB_Punctuation_Other},
2080  {0x2d00, 0x2d25, HB_Letter_Lowercase},
2081  {0x2d26, 0x2d2f, HB_Other_NotAssigned},
2082  {0x2d30, 0x2d65, HB_Letter_Other},
2083  {0x2d66, 0x2d6e, HB_Other_NotAssigned},
2084  {0x2d6f, 0x2d6f, HB_Letter_Modifier},
2085  {0x2d70, 0x2d7f, HB_Other_NotAssigned},
2086  {0x2d80, 0x2d96, HB_Letter_Other},
2087  {0x2d97, 0x2d9f, HB_Other_NotAssigned},
2088  {0x2da0, 0x2da6, HB_Letter_Other},
2089  {0x2da7, 0x2da7, HB_Other_NotAssigned},
2090  {0x2da8, 0x2dae, HB_Letter_Other},
2091  {0x2daf, 0x2daf, HB_Other_NotAssigned},
2092  {0x2db0, 0x2db6, HB_Letter_Other},
2093  {0x2db7, 0x2db7, HB_Other_NotAssigned},
2094  {0x2db8, 0x2dbe, HB_Letter_Other},
2095  {0x2dbf, 0x2dbf, HB_Other_NotAssigned},
2096  {0x2dc0, 0x2dc6, HB_Letter_Other},
2097  {0x2dc7, 0x2dc7, HB_Other_NotAssigned},
2098  {0x2dc8, 0x2dce, HB_Letter_Other},
2099  {0x2dcf, 0x2dcf, HB_Other_NotAssigned},
2100  {0x2dd0, 0x2dd6, HB_Letter_Other},
2101  {0x2dd7, 0x2dd7, HB_Other_NotAssigned},
2102  {0x2dd8, 0x2dde, HB_Letter_Other},
2103  {0x2ddf, 0x2ddf, HB_Other_NotAssigned},
2104  {0x2de0, 0x2dff, HB_Mark_NonSpacing},
2105  {0x2e00, 0x2e01, HB_Punctuation_Other},
2106  {0x2e02, 0x2e02, HB_Punctuation_InitialQuote},
2107  {0x2e03, 0x2e03, HB_Punctuation_FinalQuote},
2108  {0x2e04, 0x2e04, HB_Punctuation_InitialQuote},
2109  {0x2e05, 0x2e05, HB_Punctuation_FinalQuote},
2110  {0x2e06, 0x2e08, HB_Punctuation_Other},
2111  {0x2e09, 0x2e09, HB_Punctuation_InitialQuote},
2112  {0x2e0a, 0x2e0a, HB_Punctuation_FinalQuote},
2113  {0x2e0b, 0x2e0b, HB_Punctuation_Other},
2114  {0x2e0c, 0x2e0c, HB_Punctuation_InitialQuote},
2115  {0x2e0d, 0x2e0d, HB_Punctuation_FinalQuote},
2116  {0x2e0e, 0x2e16, HB_Punctuation_Other},
2117  {0x2e17, 0x2e17, HB_Punctuation_Dash},
2118  {0x2e18, 0x2e19, HB_Punctuation_Other},
2119  {0x2e1a, 0x2e1a, HB_Punctuation_Dash},
2120  {0x2e1b, 0x2e1b, HB_Punctuation_Other},
2121  {0x2e1c, 0x2e1c, HB_Punctuation_InitialQuote},
2122  {0x2e1d, 0x2e1d, HB_Punctuation_FinalQuote},
2123  {0x2e1e, 0x2e1f, HB_Punctuation_Other},
2124  {0x2e20, 0x2e20, HB_Punctuation_InitialQuote},
2125  {0x2e21, 0x2e21, HB_Punctuation_FinalQuote},
2126  {0x2e22, 0x2e22, HB_Punctuation_Open},
2127  {0x2e23, 0x2e23, HB_Punctuation_Close},
2128  {0x2e24, 0x2e24, HB_Punctuation_Open},
2129  {0x2e25, 0x2e25, HB_Punctuation_Close},
2130  {0x2e26, 0x2e26, HB_Punctuation_Open},
2131  {0x2e27, 0x2e27, HB_Punctuation_Close},
2132  {0x2e28, 0x2e28, HB_Punctuation_Open},
2133  {0x2e29, 0x2e29, HB_Punctuation_Close},
2134  {0x2e2a, 0x2e2e, HB_Punctuation_Other},
2135  {0x2e2f, 0x2e2f, HB_Letter_Modifier},
2136  {0x2e30, 0x2e30, HB_Punctuation_Other},
2137  {0x2e31, 0x2e7f, HB_Other_NotAssigned},
2138  {0x2e80, 0x2e99, HB_Symbol_Other},
2139  {0x2e9a, 0x2e9a, HB_Other_NotAssigned},
2140  {0x2e9b, 0x2ef3, HB_Symbol_Other},
2141  {0x2ef4, 0x2eff, HB_Other_NotAssigned},
2142  {0x2f00, 0x2fd5, HB_Symbol_Other},
2143  {0x2fd6, 0x2fef, HB_Other_NotAssigned},
2144  {0x2ff0, 0x2ffb, HB_Symbol_Other},
2145  {0x2ffc, 0x2fff, HB_Other_NotAssigned},
2146  {0x3000, 0x3000, HB_Separator_Space},
2147  {0x3001, 0x3003, HB_Punctuation_Other},
2148  {0x3004, 0x3004, HB_Symbol_Other},
2149  {0x3005, 0x3005, HB_Letter_Modifier},
2150  {0x3006, 0x3006, HB_Letter_Other},
2151  {0x3007, 0x3007, HB_Number_Letter},
2152  {0x3008, 0x3008, HB_Punctuation_Open},
2153  {0x3009, 0x3009, HB_Punctuation_Close},
2154  {0x300a, 0x300a, HB_Punctuation_Open},
2155  {0x300b, 0x300b, HB_Punctuation_Close},
2156  {0x300c, 0x300c, HB_Punctuation_Open},
2157  {0x300d, 0x300d, HB_Punctuation_Close},
2158  {0x300e, 0x300e, HB_Punctuation_Open},
2159  {0x300f, 0x300f, HB_Punctuation_Close},
2160  {0x3010, 0x3010, HB_Punctuation_Open},
2161  {0x3011, 0x3011, HB_Punctuation_Close},
2162  {0x3012, 0x3013, HB_Symbol_Other},
2163  {0x3014, 0x3014, HB_Punctuation_Open},
2164  {0x3015, 0x3015, HB_Punctuation_Close},
2165  {0x3016, 0x3016, HB_Punctuation_Open},
2166  {0x3017, 0x3017, HB_Punctuation_Close},
2167  {0x3018, 0x3018, HB_Punctuation_Open},
2168  {0x3019, 0x3019, HB_Punctuation_Close},
2169  {0x301a, 0x301a, HB_Punctuation_Open},
2170  {0x301b, 0x301b, HB_Punctuation_Close},
2171  {0x301c, 0x301c, HB_Punctuation_Dash},
2172  {0x301d, 0x301d, HB_Punctuation_Open},
2173  {0x301e, 0x301f, HB_Punctuation_Close},
2174  {0x3020, 0x3020, HB_Symbol_Other},
2175  {0x3021, 0x3029, HB_Number_Letter},
2176  {0x302a, 0x302f, HB_Mark_NonSpacing},
2177  {0x3030, 0x3030, HB_Punctuation_Dash},
2178  {0x3031, 0x3035, HB_Letter_Modifier},
2179  {0x3036, 0x3037, HB_Symbol_Other},
2180  {0x3038, 0x303a, HB_Number_Letter},
2181  {0x303b, 0x303b, HB_Letter_Modifier},
2182  {0x303c, 0x303c, HB_Letter_Other},
2183  {0x303d, 0x303d, HB_Punctuation_Other},
2184  {0x303e, 0x303f, HB_Symbol_Other},
2185  {0x3040, 0x3040, HB_Other_NotAssigned},
2186  {0x3041, 0x3096, HB_Letter_Other},
2187  {0x3097, 0x3098, HB_Other_NotAssigned},
2188  {0x3099, 0x309a, HB_Mark_NonSpacing},
2189  {0x309b, 0x309c, HB_Symbol_Modifier},
2190  {0x309d, 0x309e, HB_Letter_Modifier},
2191  {0x309f, 0x309f, HB_Letter_Other},
2192  {0x30a0, 0x30a0, HB_Punctuation_Dash},
2193  {0x30a1, 0x30fa, HB_Letter_Other},
2194  {0x30fb, 0x30fb, HB_Punctuation_Other},
2195  {0x30fc, 0x30fe, HB_Letter_Modifier},
2196  {0x30ff, 0x30ff, HB_Letter_Other},
2197  {0x3100, 0x3104, HB_Other_NotAssigned},
2198  {0x3105, 0x312d, HB_Letter_Other},
2199  {0x312e, 0x3130, HB_Other_NotAssigned},
2200  {0x3131, 0x318e, HB_Letter_Other},
2201  {0x318f, 0x318f, HB_Other_NotAssigned},
2202  {0x3190, 0x3191, HB_Symbol_Other},
2203  {0x3192, 0x3195, HB_Number_Other},
2204  {0x3196, 0x319f, HB_Symbol_Other},
2205  {0x31a0, 0x31b7, HB_Letter_Other},
2206  {0x31b8, 0x31bf, HB_Other_NotAssigned},
2207  {0x31c0, 0x31e3, HB_Symbol_Other},
2208  {0x31e4, 0x31ef, HB_Other_NotAssigned},
2209  {0x31f0, 0x31ff, HB_Letter_Other},
2210  {0x3200, 0x321e, HB_Symbol_Other},
2211  {0x321f, 0x321f, HB_Other_NotAssigned},
2212  {0x3220, 0x3229, HB_Number_Other},
2213  {0x322a, 0x3243, HB_Symbol_Other},
2214  {0x3244, 0x324f, HB_Other_NotAssigned},
2215  {0x3250, 0x3250, HB_Symbol_Other},
2216  {0x3251, 0x325f, HB_Number_Other},
2217  {0x3260, 0x327f, HB_Symbol_Other},
2218  {0x3280, 0x3289, HB_Number_Other},
2219  {0x328a, 0x32b0, HB_Symbol_Other},
2220  {0x32b1, 0x32bf, HB_Number_Other},
2221  {0x32c0, 0x32fe, HB_Symbol_Other},
2222  {0x32ff, 0x32ff, HB_Other_NotAssigned},
2223  {0x3300, 0x33ff, HB_Symbol_Other},
2224  {0x3400, 0x4db5, HB_Letter_Other},
2225  {0x4db6, 0x4dbf, HB_Other_NotAssigned},
2226  {0x4dc0, 0x4dff, HB_Symbol_Other},
2227  {0x4e00, 0x9fc3, HB_Letter_Other},
2228  {0x9fc4, 0x9fff, HB_Other_NotAssigned},
2229  {0xa000, 0xa014, HB_Letter_Other},
2230  {0xa015, 0xa015, HB_Letter_Modifier},
2231  {0xa016, 0xa48c, HB_Letter_Other},
2232  {0xa48d, 0xa48f, HB_Other_NotAssigned},
2233  {0xa490, 0xa4c6, HB_Symbol_Other},
2234  {0xa4c7, 0xa4ff, HB_Other_NotAssigned},
2235  {0xa500, 0xa60b, HB_Letter_Other},
2236  {0xa60c, 0xa60c, HB_Letter_Modifier},
2237  {0xa60d, 0xa60f, HB_Punctuation_Other},
2238  {0xa610, 0xa61f, HB_Letter_Other},
2239  {0xa620, 0xa629, HB_Number_DecimalDigit},
2240  {0xa62a, 0xa62b, HB_Letter_Other},
2241  {0xa62c, 0xa63f, HB_Other_NotAssigned},
2242  {0xa640, 0xa640, HB_Letter_Uppercase},
2243  {0xa641, 0xa641, HB_Letter_Lowercase},
2244  {0xa642, 0xa642, HB_Letter_Uppercase},
2245  {0xa643, 0xa643, HB_Letter_Lowercase},
2246  {0xa644, 0xa644, HB_Letter_Uppercase},
2247  {0xa645, 0xa645, HB_Letter_Lowercase},
2248  {0xa646, 0xa646, HB_Letter_Uppercase},
2249  {0xa647, 0xa647, HB_Letter_Lowercase},
2250  {0xa648, 0xa648, HB_Letter_Uppercase},
2251  {0xa649, 0xa649, HB_Letter_Lowercase},
2252  {0xa64a, 0xa64a, HB_Letter_Uppercase},
2253  {0xa64b, 0xa64b, HB_Letter_Lowercase},
2254  {0xa64c, 0xa64c, HB_Letter_Uppercase},
2255  {0xa64d, 0xa64d, HB_Letter_Lowercase},
2256  {0xa64e, 0xa64e, HB_Letter_Uppercase},
2257  {0xa64f, 0xa64f, HB_Letter_Lowercase},
2258  {0xa650, 0xa650, HB_Letter_Uppercase},
2259  {0xa651, 0xa651, HB_Letter_Lowercase},
2260  {0xa652, 0xa652, HB_Letter_Uppercase},
2261  {0xa653, 0xa653, HB_Letter_Lowercase},
2262  {0xa654, 0xa654, HB_Letter_Uppercase},
2263  {0xa655, 0xa655, HB_Letter_Lowercase},
2264  {0xa656, 0xa656, HB_Letter_Uppercase},
2265  {0xa657, 0xa657, HB_Letter_Lowercase},
2266  {0xa658, 0xa658, HB_Letter_Uppercase},
2267  {0xa659, 0xa659, HB_Letter_Lowercase},
2268  {0xa65a, 0xa65a, HB_Letter_Uppercase},
2269  {0xa65b, 0xa65b, HB_Letter_Lowercase},
2270  {0xa65c, 0xa65c, HB_Letter_Uppercase},
2271  {0xa65d, 0xa65d, HB_Letter_Lowercase},
2272  {0xa65e, 0xa65e, HB_Letter_Uppercase},
2273  {0xa65f, 0xa65f, HB_Letter_Lowercase},
2274  {0xa660, 0xa661, HB_Other_NotAssigned},
2275  {0xa662, 0xa662, HB_Letter_Uppercase},
2276  {0xa663, 0xa663, HB_Letter_Lowercase},
2277  {0xa664, 0xa664, HB_Letter_Uppercase},
2278  {0xa665, 0xa665, HB_Letter_Lowercase},
2279  {0xa666, 0xa666, HB_Letter_Uppercase},
2280  {0xa667, 0xa667, HB_Letter_Lowercase},
2281  {0xa668, 0xa668, HB_Letter_Uppercase},
2282  {0xa669, 0xa669, HB_Letter_Lowercase},
2283  {0xa66a, 0xa66a, HB_Letter_Uppercase},
2284  {0xa66b, 0xa66b, HB_Letter_Lowercase},
2285  {0xa66c, 0xa66c, HB_Letter_Uppercase},
2286  {0xa66d, 0xa66d, HB_Letter_Lowercase},
2287  {0xa66e, 0xa66e, HB_Letter_Other},
2288  {0xa66f, 0xa66f, HB_Mark_NonSpacing},
2289  {0xa670, 0xa672, HB_Mark_Enclosing},
2290  {0xa673, 0xa673, HB_Punctuation_Other},
2291  {0xa674, 0xa67b, HB_Other_NotAssigned},
2292  {0xa67c, 0xa67d, HB_Mark_NonSpacing},
2293  {0xa67e, 0xa67e, HB_Punctuation_Other},
2294  {0xa67f, 0xa67f, HB_Letter_Modifier},
2295  {0xa680, 0xa680, HB_Letter_Uppercase},
2296  {0xa681, 0xa681, HB_Letter_Lowercase},
2297  {0xa682, 0xa682, HB_Letter_Uppercase},
2298  {0xa683, 0xa683, HB_Letter_Lowercase},
2299  {0xa684, 0xa684, HB_Letter_Uppercase},
2300  {0xa685, 0xa685, HB_Letter_Lowercase},
2301  {0xa686, 0xa686, HB_Letter_Uppercase},
2302  {0xa687, 0xa687, HB_Letter_Lowercase},
2303  {0xa688, 0xa688, HB_Letter_Uppercase},
2304  {0xa689, 0xa689, HB_Letter_Lowercase},
2305  {0xa68a, 0xa68a, HB_Letter_Uppercase},
2306  {0xa68b, 0xa68b, HB_Letter_Lowercase},
2307  {0xa68c, 0xa68c, HB_Letter_Uppercase},
2308  {0xa68d, 0xa68d, HB_Letter_Lowercase},
2309  {0xa68e, 0xa68e, HB_Letter_Uppercase},
2310  {0xa68f, 0xa68f, HB_Letter_Lowercase},
2311  {0xa690, 0xa690, HB_Letter_Uppercase},
2312  {0xa691, 0xa691, HB_Letter_Lowercase},
2313  {0xa692, 0xa692, HB_Letter_Uppercase},
2314  {0xa693, 0xa693, HB_Letter_Lowercase},
2315  {0xa694, 0xa694, HB_Letter_Uppercase},
2316  {0xa695, 0xa695, HB_Letter_Lowercase},
2317  {0xa696, 0xa696, HB_Letter_Uppercase},
2318  {0xa697, 0xa697, HB_Letter_Lowercase},
2319  {0xa698, 0xa6ff, HB_Other_NotAssigned},
2320  {0xa700, 0xa716, HB_Symbol_Modifier},
2321  {0xa717, 0xa71f, HB_Letter_Modifier},
2322  {0xa720, 0xa721, HB_Symbol_Modifier},
2323  {0xa722, 0xa722, HB_Letter_Uppercase},
2324  {0xa723, 0xa723, HB_Letter_Lowercase},
2325  {0xa724, 0xa724, HB_Letter_Uppercase},
2326  {0xa725, 0xa725, HB_Letter_Lowercase},
2327  {0xa726, 0xa726, HB_Letter_Uppercase},
2328  {0xa727, 0xa727, HB_Letter_Lowercase},
2329  {0xa728, 0xa728, HB_Letter_Uppercase},
2330  {0xa729, 0xa729, HB_Letter_Lowercase},
2331  {0xa72a, 0xa72a, HB_Letter_Uppercase},
2332  {0xa72b, 0xa72b, HB_Letter_Lowercase},
2333  {0xa72c, 0xa72c, HB_Letter_Uppercase},
2334  {0xa72d, 0xa72d, HB_Letter_Lowercase},
2335  {0xa72e, 0xa72e, HB_Letter_Uppercase},
2336  {0xa72f, 0xa731, HB_Letter_Lowercase},
2337  {0xa732, 0xa732, HB_Letter_Uppercase},
2338  {0xa733, 0xa733, HB_Letter_Lowercase},
2339  {0xa734, 0xa734, HB_Letter_Uppercase},
2340  {0xa735, 0xa735, HB_Letter_Lowercase},
2341  {0xa736, 0xa736, HB_Letter_Uppercase},
2342  {0xa737, 0xa737, HB_Letter_Lowercase},
2343  {0xa738, 0xa738, HB_Letter_Uppercase},
2344  {0xa739, 0xa739, HB_Letter_Lowercase},
2345  {0xa73a, 0xa73a, HB_Letter_Uppercase},
2346  {0xa73b, 0xa73b, HB_Letter_Lowercase},
2347  {0xa73c, 0xa73c, HB_Letter_Uppercase},
2348  {0xa73d, 0xa73d, HB_Letter_Lowercase},
2349  {0xa73e, 0xa73e, HB_Letter_Uppercase},
2350  {0xa73f, 0xa73f, HB_Letter_Lowercase},
2351  {0xa740, 0xa740, HB_Letter_Uppercase},
2352  {0xa741, 0xa741, HB_Letter_Lowercase},
2353  {0xa742, 0xa742, HB_Letter_Uppercase},
2354  {0xa743, 0xa743, HB_Letter_Lowercase},
2355  {0xa744, 0xa744, HB_Letter_Uppercase},
2356  {0xa745, 0xa745, HB_Letter_Lowercase},
2357  {0xa746, 0xa746, HB_Letter_Uppercase},
2358  {0xa747, 0xa747, HB_Letter_Lowercase},
2359  {0xa748, 0xa748, HB_Letter_Uppercase},
2360  {0xa749, 0xa749, HB_Letter_Lowercase},
2361  {0xa74a, 0xa74a, HB_Letter_Uppercase},
2362  {0xa74b, 0xa74b, HB_Letter_Lowercase},
2363  {0xa74c, 0xa74c, HB_Letter_Uppercase},
2364  {0xa74d, 0xa74d, HB_Letter_Lowercase},
2365  {0xa74e, 0xa74e, HB_Letter_Uppercase},
2366  {0xa74f, 0xa74f, HB_Letter_Lowercase},
2367  {0xa750, 0xa750, HB_Letter_Uppercase},
2368  {0xa751, 0xa751, HB_Letter_Lowercase},
2369  {0xa752, 0xa752, HB_Letter_Uppercase},
2370  {0xa753, 0xa753, HB_Letter_Lowercase},
2371  {0xa754, 0xa754, HB_Letter_Uppercase},
2372  {0xa755, 0xa755, HB_Letter_Lowercase},
2373  {0xa756, 0xa756, HB_Letter_Uppercase},
2374  {0xa757, 0xa757, HB_Letter_Lowercase},
2375  {0xa758, 0xa758, HB_Letter_Uppercase},
2376  {0xa759, 0xa759, HB_Letter_Lowercase},
2377  {0xa75a, 0xa75a, HB_Letter_Uppercase},
2378  {0xa75b, 0xa75b, HB_Letter_Lowercase},
2379  {0xa75c, 0xa75c, HB_Letter_Uppercase},
2380  {0xa75d, 0xa75d, HB_Letter_Lowercase},
2381  {0xa75e, 0xa75e, HB_Letter_Uppercase},
2382  {0xa75f, 0xa75f, HB_Letter_Lowercase},
2383  {0xa760, 0xa760, HB_Letter_Uppercase},
2384  {0xa761, 0xa761, HB_Letter_Lowercase},
2385  {0xa762, 0xa762, HB_Letter_Uppercase},
2386  {0xa763, 0xa763, HB_Letter_Lowercase},
2387  {0xa764, 0xa764, HB_Letter_Uppercase},
2388  {0xa765, 0xa765, HB_Letter_Lowercase},
2389  {0xa766, 0xa766, HB_Letter_Uppercase},
2390  {0xa767, 0xa767, HB_Letter_Lowercase},
2391  {0xa768, 0xa768, HB_Letter_Uppercase},
2392  {0xa769, 0xa769, HB_Letter_Lowercase},
2393  {0xa76a, 0xa76a, HB_Letter_Uppercase},
2394  {0xa76b, 0xa76b, HB_Letter_Lowercase},
2395  {0xa76c, 0xa76c, HB_Letter_Uppercase},
2396  {0xa76d, 0xa76d, HB_Letter_Lowercase},
2397  {0xa76e, 0xa76e, HB_Letter_Uppercase},
2398  {0xa76f, 0xa76f, HB_Letter_Lowercase},
2399  {0xa770, 0xa770, HB_Letter_Modifier},
2400  {0xa771, 0xa778, HB_Letter_Lowercase},
2401  {0xa779, 0xa779, HB_Letter_Uppercase},
2402  {0xa77a, 0xa77a, HB_Letter_Lowercase},
2403  {0xa77b, 0xa77b, HB_Letter_Uppercase},
2404  {0xa77c, 0xa77c, HB_Letter_Lowercase},
2405  {0xa77d, 0xa77e, HB_Letter_Uppercase},
2406  {0xa77f, 0xa77f, HB_Letter_Lowercase},
2407  {0xa780, 0xa780, HB_Letter_Uppercase},
2408  {0xa781, 0xa781, HB_Letter_Lowercase},
2409  {0xa782, 0xa782, HB_Letter_Uppercase},
2410  {0xa783, 0xa783, HB_Letter_Lowercase},
2411  {0xa784, 0xa784, HB_Letter_Uppercase},
2412  {0xa785, 0xa785, HB_Letter_Lowercase},
2413  {0xa786, 0xa786, HB_Letter_Uppercase},
2414  {0xa787, 0xa787, HB_Letter_Lowercase},
2415  {0xa788, 0xa788, HB_Letter_Modifier},
2416  {0xa789, 0xa78a, HB_Symbol_Modifier},
2417  {0xa78b, 0xa78b, HB_Letter_Uppercase},
2418  {0xa78c, 0xa78c, HB_Letter_Lowercase},
2419  {0xa78d, 0xa7fa, HB_Other_NotAssigned},
2420  {0xa7fb, 0xa801, HB_Letter_Other},
2421  {0xa802, 0xa802, HB_Mark_NonSpacing},
2422  {0xa803, 0xa805, HB_Letter_Other},
2423  {0xa806, 0xa806, HB_Mark_NonSpacing},
2424  {0xa807, 0xa80a, HB_Letter_Other},
2425  {0xa80b, 0xa80b, HB_Mark_NonSpacing},
2426  {0xa80c, 0xa822, HB_Letter_Other},
2427  {0xa823, 0xa824, HB_Mark_SpacingCombining},
2428  {0xa825, 0xa826, HB_Mark_NonSpacing},
2429  {0xa827, 0xa827, HB_Mark_SpacingCombining},
2430  {0xa828, 0xa82b, HB_Symbol_Other},
2431  {0xa82c, 0xa83f, HB_Other_NotAssigned},
2432  {0xa840, 0xa873, HB_Letter_Other},
2433  {0xa874, 0xa877, HB_Punctuation_Other},
2434  {0xa878, 0xa87f, HB_Other_NotAssigned},
2435  {0xa880, 0xa881, HB_Mark_SpacingCombining},
2436  {0xa882, 0xa8b3, HB_Letter_Other},
2437  {0xa8b4, 0xa8c3, HB_Mark_SpacingCombining},
2438  {0xa8c4, 0xa8c4, HB_Mark_NonSpacing},
2439  {0xa8c5, 0xa8cd, HB_Other_NotAssigned},
2440  {0xa8ce, 0xa8cf, HB_Punctuation_Other},
2441  {0xa8d0, 0xa8d9, HB_Number_DecimalDigit},
2442  {0xa8da, 0xa8ff, HB_Other_NotAssigned},
2443  {0xa900, 0xa909, HB_Number_DecimalDigit},
2444  {0xa90a, 0xa925, HB_Letter_Other},
2445  {0xa926, 0xa92d, HB_Mark_NonSpacing},
2446  {0xa92e, 0xa92f, HB_Punctuation_Other},
2447  {0xa930, 0xa946, HB_Letter_Other},
2448  {0xa947, 0xa951, HB_Mark_NonSpacing},
2449  {0xa952, 0xa953, HB_Mark_SpacingCombining},
2450  {0xa954, 0xa95e, HB_Other_NotAssigned},
2451  {0xa95f, 0xa95f, HB_Punctuation_Other},
2452  {0xa960, 0xa9ff, HB_Other_NotAssigned},
2453  {0xaa00, 0xaa28, HB_Letter_Other},
2454  {0xaa29, 0xaa2e, HB_Mark_NonSpacing},
2455  {0xaa2f, 0xaa30, HB_Mark_SpacingCombining},
2456  {0xaa31, 0xaa32, HB_Mark_NonSpacing},
2457  {0xaa33, 0xaa34, HB_Mark_SpacingCombining},
2458  {0xaa35, 0xaa36, HB_Mark_NonSpacing},
2459  {0xaa37, 0xaa3f, HB_Other_NotAssigned},
2460  {0xaa40, 0xaa42, HB_Letter_Other},
2461  {0xaa43, 0xaa43, HB_Mark_NonSpacing},
2462  {0xaa44, 0xaa4b, HB_Letter_Other},
2463  {0xaa4c, 0xaa4c, HB_Mark_NonSpacing},
2464  {0xaa4d, 0xaa4d, HB_Mark_SpacingCombining},
2465  {0xaa4e, 0xaa4f, HB_Other_NotAssigned},
2466  {0xaa50, 0xaa59, HB_Number_DecimalDigit},
2467  {0xaa5a, 0xaa5b, HB_Other_NotAssigned},
2468  {0xaa5c, 0xaa5f, HB_Punctuation_Other},
2469  {0xaa60, 0xabff, HB_Other_NotAssigned},
2470  {0xac00, 0xd7a3, HB_Letter_Other},
2471  {0xd7a4, 0xd7ff, HB_Other_NotAssigned},
2472  {0xd800, 0xdfff, HB_Other_Surrogate},
2473  {0xe000, 0xf8ff, HB_Other_PrivateUse},
2474  {0xf900, 0xfa2d, HB_Letter_Other},
2475  {0xfa2e, 0xfa2f, HB_Other_NotAssigned},
2476  {0xfa30, 0xfa6a, HB_Letter_Other},
2477  {0xfa6b, 0xfa6f, HB_Other_NotAssigned},
2478  {0xfa70, 0xfad9, HB_Letter_Other},
2479  {0xfada, 0xfaff, HB_Other_NotAssigned},
2480  {0xfb00, 0xfb06, HB_Letter_Lowercase},
2481  {0xfb07, 0xfb12, HB_Other_NotAssigned},
2482  {0xfb13, 0xfb17, HB_Letter_Lowercase},
2483  {0xfb18, 0xfb1c, HB_Other_NotAssigned},
2484  {0xfb1d, 0xfb1d, HB_Letter_Other},
2485  {0xfb1e, 0xfb1e, HB_Mark_NonSpacing},
2486  {0xfb1f, 0xfb28, HB_Letter_Other},
2487  {0xfb29, 0xfb29, HB_Symbol_Math},
2488  {0xfb2a, 0xfb36, HB_Letter_Other},
2489  {0xfb37, 0xfb37, HB_Other_NotAssigned},
2490  {0xfb38, 0xfb3c, HB_Letter_Other},
2491  {0xfb3d, 0xfb3d, HB_Other_NotAssigned},
2492  {0xfb3e, 0xfb3e, HB_Letter_Other},
2493  {0xfb3f, 0xfb3f, HB_Other_NotAssigned},
2494  {0xfb40, 0xfb41, HB_Letter_Other},
2495  {0xfb42, 0xfb42, HB_Other_NotAssigned},
2496  {0xfb43, 0xfb44, HB_Letter_Other},
2497  {0xfb45, 0xfb45, HB_Other_NotAssigned},
2498  {0xfb46, 0xfbb1, HB_Letter_Other},
2499  {0xfbb2, 0xfbd2, HB_Other_NotAssigned},
2500  {0xfbd3, 0xfd3d, HB_Letter_Other},
2501  {0xfd3e, 0xfd3e, HB_Punctuation_Open},
2502  {0xfd3f, 0xfd3f, HB_Punctuation_Close},
2503  {0xfd40, 0xfd4f, HB_Other_NotAssigned},
2504  {0xfd50, 0xfd8f, HB_Letter_Other},
2505  {0xfd90, 0xfd91, HB_Other_NotAssigned},
2506  {0xfd92, 0xfdc7, HB_Letter_Other},
2507  {0xfdc8, 0xfdef, HB_Other_NotAssigned},
2508  {0xfdf0, 0xfdfb, HB_Letter_Other},
2509  {0xfdfc, 0xfdfc, HB_Symbol_Currency},
2510  {0xfdfd, 0xfdfd, HB_Symbol_Other},
2511  {0xfdfe, 0xfdff, HB_Other_NotAssigned},
2512  {0xfe00, 0xfe0f, HB_Mark_NonSpacing},
2513  {0xfe10, 0xfe16, HB_Punctuation_Other},
2514  {0xfe17, 0xfe17, HB_Punctuation_Open},
2515  {0xfe18, 0xfe18, HB_Punctuation_Close},
2516  {0xfe19, 0xfe19, HB_Punctuation_Other},
2517  {0xfe1a, 0xfe1f, HB_Other_NotAssigned},
2518  {0xfe20, 0xfe26, HB_Mark_NonSpacing},
2519  {0xfe27, 0xfe2f, HB_Other_NotAssigned},
2520  {0xfe30, 0xfe30, HB_Punctuation_Other},
2521  {0xfe31, 0xfe32, HB_Punctuation_Dash},
2522  {0xfe33, 0xfe34, HB_Punctuation_Connector},
2523  {0xfe35, 0xfe35, HB_Punctuation_Open},
2524  {0xfe36, 0xfe36, HB_Punctuation_Close},
2525  {0xfe37, 0xfe37, HB_Punctuation_Open},
2526  {0xfe38, 0xfe38, HB_Punctuation_Close},
2527  {0xfe39, 0xfe39, HB_Punctuation_Open},
2528  {0xfe3a, 0xfe3a, HB_Punctuation_Close},
2529  {0xfe3b, 0xfe3b, HB_Punctuation_Open},
2530  {0xfe3c, 0xfe3c, HB_Punctuation_Close},
2531  {0xfe3d, 0xfe3d, HB_Punctuation_Open},
2532  {0xfe3e, 0xfe3e, HB_Punctuation_Close},
2533  {0xfe3f, 0xfe3f, HB_Punctuation_Open},
2534  {0xfe40, 0xfe40, HB_Punctuation_Close},
2535  {0xfe41, 0xfe41, HB_Punctuation_Open},
2536  {0xfe42, 0xfe42, HB_Punctuation_Close},
2537  {0xfe43, 0xfe43, HB_Punctuation_Open},
2538  {0xfe44, 0xfe44, HB_Punctuation_Close},
2539  {0xfe45, 0xfe46, HB_Punctuation_Other},
2540  {0xfe47, 0xfe47, HB_Punctuation_Open},
2541  {0xfe48, 0xfe48, HB_Punctuation_Close},
2542  {0xfe49, 0xfe4c, HB_Punctuation_Other},
2543  {0xfe4d, 0xfe4f, HB_Punctuation_Connector},
2544  {0xfe50, 0xfe52, HB_Punctuation_Other},
2545  {0xfe53, 0xfe53, HB_Other_NotAssigned},
2546  {0xfe54, 0xfe57, HB_Punctuation_Other},
2547  {0xfe58, 0xfe58, HB_Punctuation_Dash},
2548  {0xfe59, 0xfe59, HB_Punctuation_Open},
2549  {0xfe5a, 0xfe5a, HB_Punctuation_Close},
2550  {0xfe5b, 0xfe5b, HB_Punctuation_Open},
2551  {0xfe5c, 0xfe5c, HB_Punctuation_Close},
2552  {0xfe5d, 0xfe5d, HB_Punctuation_Open},
2553  {0xfe5e, 0xfe5e, HB_Punctuation_Close},
2554  {0xfe5f, 0xfe61, HB_Punctuation_Other},
2555  {0xfe62, 0xfe62, HB_Symbol_Math},
2556  {0xfe63, 0xfe63, HB_Punctuation_Dash},
2557  {0xfe64, 0xfe66, HB_Symbol_Math},
2558  {0xfe67, 0xfe67, HB_Other_NotAssigned},
2559  {0xfe68, 0xfe68, HB_Punctuation_Other},
2560  {0xfe69, 0xfe69, HB_Symbol_Currency},
2561  {0xfe6a, 0xfe6b, HB_Punctuation_Other},
2562  {0xfe6c, 0xfe6f, HB_Other_NotAssigned},
2563  {0xfe70, 0xfe74, HB_Letter_Other},
2564  {0xfe75, 0xfe75, HB_Other_NotAssigned},
2565  {0xfe76, 0xfefc, HB_Letter_Other},
2566  {0xfefd, 0xfefe, HB_Other_NotAssigned},
2567  {0xfeff, 0xfeff, HB_Other_Format},
2568  {0xff00, 0xff00, HB_Other_NotAssigned},
2569  {0xff01, 0xff03, HB_Punctuation_Other},
2570  {0xff04, 0xff04, HB_Symbol_Currency},
2571  {0xff05, 0xff07, HB_Punctuation_Other},
2572  {0xff08, 0xff08, HB_Punctuation_Open},
2573  {0xff09, 0xff09, HB_Punctuation_Close},
2574  {0xff0a, 0xff0a, HB_Punctuation_Other},
2575  {0xff0b, 0xff0b, HB_Symbol_Math},
2576  {0xff0c, 0xff0c, HB_Punctuation_Other},
2577  {0xff0d, 0xff0d, HB_Punctuation_Dash},
2578  {0xff0e, 0xff0f, HB_Punctuation_Other},
2579  {0xff10, 0xff19, HB_Number_DecimalDigit},
2580  {0xff1a, 0xff1b, HB_Punctuation_Other},
2581  {0xff1c, 0xff1e, HB_Symbol_Math},
2582  {0xff1f, 0xff20, HB_Punctuation_Other},
2583  {0xff21, 0xff3a, HB_Letter_Uppercase},
2584  {0xff3b, 0xff3b, HB_Punctuation_Open},
2585  {0xff3c, 0xff3c, HB_Punctuation_Other},
2586  {0xff3d, 0xff3d, HB_Punctuation_Close},
2587  {0xff3e, 0xff3e, HB_Symbol_Modifier},
2588  {0xff3f, 0xff3f, HB_Punctuation_Connector},
2589  {0xff40, 0xff40, HB_Symbol_Modifier},
2590  {0xff41, 0xff5a, HB_Letter_Lowercase},
2591  {0xff5b, 0xff5b, HB_Punctuation_Open},
2592  {0xff5c, 0xff5c, HB_Symbol_Math},
2593  {0xff5d, 0xff5d, HB_Punctuation_Close},
2594  {0xff5e, 0xff5e, HB_Symbol_Math},
2595  {0xff5f, 0xff5f, HB_Punctuation_Open},
2596  {0xff60, 0xff60, HB_Punctuation_Close},
2597  {0xff61, 0xff61, HB_Punctuation_Other},
2598  {0xff62, 0xff62, HB_Punctuation_Open},
2599  {0xff63, 0xff63, HB_Punctuation_Close},
2600  {0xff64, 0xff65, HB_Punctuation_Other},
2601  {0xff66, 0xff6f, HB_Letter_Other},
2602  {0xff70, 0xff70, HB_Letter_Modifier},
2603  {0xff71, 0xff9d, HB_Letter_Other},
2604  {0xff9e, 0xff9f, HB_Letter_Modifier},
2605  {0xffa0, 0xffbe, HB_Letter_Other},
2606  {0xffbf, 0xffc1, HB_Other_NotAssigned},
2607  {0xffc2, 0xffc7, HB_Letter_Other},
2608  {0xffc8, 0xffc9, HB_Other_NotAssigned},
2609  {0xffca, 0xffcf, HB_Letter_Other},
2610  {0xffd0, 0xffd1, HB_Other_NotAssigned},
2611  {0xffd2, 0xffd7, HB_Letter_Other},
2612  {0xffd8, 0xffd9, HB_Other_NotAssigned},
2613  {0xffda, 0xffdc, HB_Letter_Other},
2614  {0xffdd, 0xffdf, HB_Other_NotAssigned},
2615  {0xffe0, 0xffe1, HB_Symbol_Currency},
2616  {0xffe2, 0xffe2, HB_Symbol_Math},
2617  {0xffe3, 0xffe3, HB_Symbol_Modifier},
2618  {0xffe4, 0xffe4, HB_Symbol_Other},
2619  {0xffe5, 0xffe6, HB_Symbol_Currency},
2620  {0xffe7, 0xffe7, HB_Other_NotAssigned},
2621  {0xffe8, 0xffe8, HB_Symbol_Other},
2622  {0xffe9, 0xffec, HB_Symbol_Math},
2623  {0xffed, 0xffee, HB_Symbol_Other},
2624  {0xffef, 0xfff8, HB_Other_NotAssigned},
2625  {0xfff9, 0xfffb, HB_Other_Format},
2626  {0xfffc, 0xfffd, HB_Symbol_Other},
2627  {0xfffe, 0xffff, HB_Other_NotAssigned},
2628  {0x10000, 0x1000b, HB_Letter_Other},
2629  {0x1000c, 0x1000c, HB_Other_NotAssigned},
2630  {0x1000d, 0x10026, HB_Letter_Other},
2631  {0x10027, 0x10027, HB_Other_NotAssigned},
2632  {0x10028, 0x1003a, HB_Letter_Other},
2633  {0x1003b, 0x1003b, HB_Other_NotAssigned},
2634  {0x1003c, 0x1003d, HB_Letter_Other},
2635  {0x1003e, 0x1003e, HB_Other_NotAssigned},
2636  {0x1003f, 0x1004d, HB_Letter_Other},
2637  {0x1004e, 0x1004f, HB_Other_NotAssigned},
2638  {0x10050, 0x1005d, HB_Letter_Other},
2639  {0x1005e, 0x1007f, HB_Other_NotAssigned},
2640  {0x10080, 0x100fa, HB_Letter_Other},
2641  {0x100fb, 0x100ff, HB_Other_NotAssigned},
2642  {0x10100, 0x10101, HB_Punctuation_Other},
2643  {0x10102, 0x10102, HB_Symbol_Other},
2644  {0x10103, 0x10106, HB_Other_NotAssigned},
2645  {0x10107, 0x10133, HB_Number_Other},
2646  {0x10134, 0x10136, HB_Other_NotAssigned},
2647  {0x10137, 0x1013f, HB_Symbol_Other},
2648  {0x10140, 0x10174, HB_Number_Letter},
2649  {0x10175, 0x10178, HB_Number_Other},
2650  {0x10179, 0x10189, HB_Symbol_Other},
2651  {0x1018a, 0x1018a, HB_Number_Other},
2652  {0x1018b, 0x1018f, HB_Other_NotAssigned},
2653  {0x10190, 0x1019b, HB_Symbol_Other},
2654  {0x1019c, 0x101cf, HB_Other_NotAssigned},
2655  {0x101d0, 0x101fc, HB_Symbol_Other},
2656  {0x101fd, 0x101fd, HB_Mark_NonSpacing},
2657  {0x101fe, 0x1027f, HB_Other_NotAssigned},
2658  {0x10280, 0x1029c, HB_Letter_Other},
2659  {0x1029d, 0x1029f, HB_Other_NotAssigned},
2660  {0x102a0, 0x102d0, HB_Letter_Other},
2661  {0x102d1, 0x102ff, HB_Other_NotAssigned},
2662  {0x10300, 0x1031e, HB_Letter_Other},
2663  {0x1031f, 0x1031f, HB_Other_NotAssigned},
2664  {0x10320, 0x10323, HB_Number_Other},
2665  {0x10324, 0x1032f, HB_Other_NotAssigned},
2666  {0x10330, 0x10340, HB_Letter_Other},
2667  {0x10341, 0x10341, HB_Number_Letter},
2668  {0x10342, 0x10349, HB_Letter_Other},
2669  {0x1034a, 0x1034a, HB_Number_Letter},
2670  {0x1034b, 0x1037f, HB_Other_NotAssigned},
2671  {0x10380, 0x1039d, HB_Letter_Other},
2672  {0x1039e, 0x1039e, HB_Other_NotAssigned},
2673  {0x1039f, 0x1039f, HB_Punctuation_Other},
2674  {0x103a0, 0x103c3, HB_Letter_Other},
2675  {0x103c4, 0x103c7, HB_Other_NotAssigned},
2676  {0x103c8, 0x103cf, HB_Letter_Other},
2677  {0x103d0, 0x103d0, HB_Punctuation_Other},
2678  {0x103d1, 0x103d5, HB_Number_Letter},
2679  {0x103d6, 0x103ff, HB_Other_NotAssigned},
2680  {0x10400, 0x10427, HB_Letter_Uppercase},
2681  {0x10428, 0x1044f, HB_Letter_Lowercase},
2682  {0x10450, 0x1049d, HB_Letter_Other},
2683  {0x1049e, 0x1049f, HB_Other_NotAssigned},
2684  {0x104a0, 0x104a9, HB_Number_DecimalDigit},
2685  {0x104aa, 0x107ff, HB_Other_NotAssigned},
2686  {0x10800, 0x10805, HB_Letter_Other},
2687  {0x10806, 0x10807, HB_Other_NotAssigned},
2688  {0x10808, 0x10808, HB_Letter_Other},
2689  {0x10809, 0x10809, HB_Other_NotAssigned},
2690  {0x1080a, 0x10835, HB_Letter_Other},
2691  {0x10836, 0x10836, HB_Other_NotAssigned},
2692  {0x10837, 0x10838, HB_Letter_Other},
2693  {0x10839, 0x1083b, HB_Other_NotAssigned},
2694  {0x1083c, 0x1083c, HB_Letter_Other},
2695  {0x1083d, 0x1083e, HB_Other_NotAssigned},
2696  {0x1083f, 0x1083f, HB_Letter_Other},
2697  {0x10840, 0x108ff, HB_Other_NotAssigned},
2698  {0x10900, 0x10915, HB_Letter_Other},
2699  {0x10916, 0x10919, HB_Number_Other},
2700  {0x1091a, 0x1091e, HB_Other_NotAssigned},
2701  {0x1091f, 0x1091f, HB_Punctuation_Other},
2702  {0x10920, 0x10939, HB_Letter_Other},
2703  {0x1093a, 0x1093e, HB_Other_NotAssigned},
2704  {0x1093f, 0x1093f, HB_Punctuation_Other},
2705  {0x10940, 0x109ff, HB_Other_NotAssigned},
2706  {0x10a00, 0x10a00, HB_Letter_Other},
2707  {0x10a01, 0x10a03, HB_Mark_NonSpacing},
2708  {0x10a04, 0x10a04, HB_Other_NotAssigned},
2709  {0x10a05, 0x10a06, HB_Mark_NonSpacing},
2710  {0x10a07, 0x10a0b, HB_Other_NotAssigned},
2711  {0x10a0c, 0x10a0f, HB_Mark_NonSpacing},
2712  {0x10a10, 0x10a13, HB_Letter_Other},
2713  {0x10a14, 0x10a14, HB_Other_NotAssigned},
2714  {0x10a15, 0x10a17, HB_Letter_Other},
2715  {0x10a18, 0x10a18, HB_Other_NotAssigned},
2716  {0x10a19, 0x10a33, HB_Letter_Other},
2717  {0x10a34, 0x10a37, HB_Other_NotAssigned},
2718  {0x10a38, 0x10a3a, HB_Mark_NonSpacing},
2719  {0x10a3b, 0x10a3e, HB_Other_NotAssigned},
2720  {0x10a3f, 0x10a3f, HB_Mark_NonSpacing},
2721  {0x10a40, 0x10a47, HB_Number_Other},
2722  {0x10a48, 0x10a4f, HB_Other_NotAssigned},
2723  {0x10a50, 0x10a58, HB_Punctuation_Other},
2724  {0x10a59, 0x11fff, HB_Other_NotAssigned},
2725  {0x12000, 0x1236e, HB_Letter_Other},
2726  {0x1236f, 0x123ff, HB_Other_NotAssigned},
2727  {0x12400, 0x12462, HB_Number_Letter},
2728  {0x12463, 0x1246f, HB_Other_NotAssigned},
2729  {0x12470, 0x12473, HB_Punctuation_Other},
2730  {0x12474, 0x1cfff, HB_Other_NotAssigned},
2731  {0x1d000, 0x1d0f5, HB_Symbol_Other},
2732  {0x1d0f6, 0x1d0ff, HB_Other_NotAssigned},
2733  {0x1d100, 0x1d126, HB_Symbol_Other},
2734  {0x1d127, 0x1d128, HB_Other_NotAssigned},
2735  {0x1d129, 0x1d164, HB_Symbol_Other},
2736  {0x1d165, 0x1d166, HB_Mark_SpacingCombining},
2737  {0x1d167, 0x1d169, HB_Mark_NonSpacing},
2738  {0x1d16a, 0x1d16c, HB_Symbol_Other},
2739  {0x1d16d, 0x1d172, HB_Mark_SpacingCombining},
2740  {0x1d173, 0x1d17a, HB_Other_Format},
2741  {0x1d17b, 0x1d182, HB_Mark_NonSpacing},
2742  {0x1d183, 0x1d184, HB_Symbol_Other},
2743  {0x1d185, 0x1d18b, HB_Mark_NonSpacing},
2744  {0x1d18c, 0x1d1a9, HB_Symbol_Other},
2745  {0x1d1aa, 0x1d1ad, HB_Mark_NonSpacing},
2746  {0x1d1ae, 0x1d1dd, HB_Symbol_Other},
2747  {0x1d1de, 0x1d1ff, HB_Other_NotAssigned},
2748  {0x1d200, 0x1d241, HB_Symbol_Other},
2749  {0x1d242, 0x1d244, HB_Mark_NonSpacing},
2750  {0x1d245, 0x1d245, HB_Symbol_Other},
2751  {0x1d246, 0x1d2ff, HB_Other_NotAssigned},
2752  {0x1d300, 0x1d356, HB_Symbol_Other},
2753  {0x1d357, 0x1d35f, HB_Other_NotAssigned},
2754  {0x1d360, 0x1d371, HB_Number_Other},
2755  {0x1d372, 0x1d3ff, HB_Other_NotAssigned},
2756  {0x1d400, 0x1d419, HB_Letter_Uppercase},
2757  {0x1d41a, 0x1d433, HB_Letter_Lowercase},
2758  {0x1d434, 0x1d44d, HB_Letter_Uppercase},
2759  {0x1d44e, 0x1d454, HB_Letter_Lowercase},
2760  {0x1d455, 0x1d455, HB_Other_NotAssigned},
2761  {0x1d456, 0x1d467, HB_Letter_Lowercase},
2762  {0x1d468, 0x1d481, HB_Letter_Uppercase},
2763  {0x1d482, 0x1d49b, HB_Letter_Lowercase},
2764  {0x1d49c, 0x1d49c, HB_Letter_Uppercase},
2765  {0x1d49d, 0x1d49d, HB_Other_NotAssigned},
2766  {0x1d49e, 0x1d49f, HB_Letter_Uppercase},
2767  {0x1d4a0, 0x1d4a1, HB_Other_NotAssigned},
2768  {0x1d4a2, 0x1d4a2, HB_Letter_Uppercase},
2769  {0x1d4a3, 0x1d4a4, HB_Other_NotAssigned},
2770  {0x1d4a5, 0x1d4a6, HB_Letter_Uppercase},
2771  {0x1d4a7, 0x1d4a8, HB_Other_NotAssigned},
2772  {0x1d4a9, 0x1d4ac, HB_Letter_Uppercase},
2773  {0x1d4ad, 0x1d4ad, HB_Other_NotAssigned},
2774  {0x1d4ae, 0x1d4b5, HB_Letter_Uppercase},
2775  {0x1d4b6, 0x1d4b9, HB_Letter_Lowercase},
2776  {0x1d4ba, 0x1d4ba, HB_Other_NotAssigned},
2777  {0x1d4bb, 0x1d4bb, HB_Letter_Lowercase},
2778  {0x1d4bc, 0x1d4bc, HB_Other_NotAssigned},
2779  {0x1d4bd, 0x1d4c3, HB_Letter_Lowercase},
2780  {0x1d4c4, 0x1d4c4, HB_Other_NotAssigned},
2781  {0x1d4c5, 0x1d4cf, HB_Letter_Lowercase},
2782  {0x1d4d0, 0x1d4e9, HB_Letter_Uppercase},
2783  {0x1d4ea, 0x1d503, HB_Letter_Lowercase},
2784  {0x1d504, 0x1d505, HB_Letter_Uppercase},
2785  {0x1d506, 0x1d506, HB_Other_NotAssigned},
2786  {0x1d507, 0x1d50a, HB_Letter_Uppercase},
2787  {0x1d50b, 0x1d50c, HB_Other_NotAssigned},
2788  {0x1d50d, 0x1d514, HB_Letter_Uppercase},
2789  {0x1d515, 0x1d515, HB_Other_NotAssigned},
2790  {0x1d516, 0x1d51c, HB_Letter_Uppercase},
2791  {0x1d51d, 0x1d51d, HB_Other_NotAssigned},
2792  {0x1d51e, 0x1d537, HB_Letter_Lowercase},
2793  {0x1d538, 0x1d539, HB_Letter_Uppercase},
2794  {0x1d53a, 0x1d53a, HB_Other_NotAssigned},
2795  {0x1d53b, 0x1d53e, HB_Letter_Uppercase},
2796  {0x1d53f, 0x1d53f, HB_Other_NotAssigned},
2797  {0x1d540, 0x1d544, HB_Letter_Uppercase},
2798  {0x1d545, 0x1d545, HB_Other_NotAssigned},
2799  {0x1d546, 0x1d546, HB_Letter_Uppercase},
2800  {0x1d547, 0x1d549, HB_Other_NotAssigned},
2801  {0x1d54a, 0x1d550, HB_Letter_Uppercase},
2802  {0x1d551, 0x1d551, HB_Other_NotAssigned},
2803  {0x1d552, 0x1d56b, HB_Letter_Lowercase},
2804  {0x1d56c, 0x1d585, HB_Letter_Uppercase},
2805  {0x1d586, 0x1d59f, HB_Letter_Lowercase},
2806  {0x1d5a0, 0x1d5b9, HB_Letter_Uppercase},
2807  {0x1d5ba, 0x1d5d3, HB_Letter_Lowercase},
2808  {0x1d5d4, 0x1d5ed, HB_Letter_Uppercase},
2809  {0x1d5ee, 0x1d607, HB_Letter_Lowercase},
2810  {0x1d608, 0x1d621, HB_Letter_Uppercase},
2811  {0x1d622, 0x1d63b, HB_Letter_Lowercase},
2812  {0x1d63c, 0x1d655, HB_Letter_Uppercase},
2813  {0x1d656, 0x1d66f, HB_Letter_Lowercase},
2814  {0x1d670, 0x1d689, HB_Letter_Uppercase},
2815  {0x1d68a, 0x1d6a5, HB_Letter_Lowercase},
2816  {0x1d6a6, 0x1d6a7, HB_Other_NotAssigned},
2817  {0x1d6a8, 0x1d6c0, HB_Letter_Uppercase},
2818  {0x1d6c1, 0x1d6c1, HB_Symbol_Math},
2819  {0x1d6c2, 0x1d6da, HB_Letter_Lowercase},
2820  {0x1d6db, 0x1d6db, HB_Symbol_Math},
2821  {0x1d6dc, 0x1d6e1, HB_Letter_Lowercase},
2822  {0x1d6e2, 0x1d6fa, HB_Letter_Uppercase},
2823  {0x1d6fb, 0x1d6fb, HB_Symbol_Math},
2824  {0x1d6fc, 0x1d714, HB_Letter_Lowercase},
2825  {0x1d715, 0x1d715, HB_Symbol_Math},
2826  {0x1d716, 0x1d71b, HB_Letter_Lowercase},
2827  {0x1d71c, 0x1d734, HB_Letter_Uppercase},
2828  {0x1d735, 0x1d735, HB_Symbol_Math},
2829  {0x1d736, 0x1d74e, HB_Letter_Lowercase},
2830  {0x1d74f, 0x1d74f, HB_Symbol_Math},
2831  {0x1d750, 0x1d755, HB_Letter_Lowercase},
2832  {0x1d756, 0x1d76e, HB_Letter_Uppercase},
2833  {0x1d76f, 0x1d76f, HB_Symbol_Math},
2834  {0x1d770, 0x1d788, HB_Letter_Lowercase},
2835  {0x1d789, 0x1d789, HB_Symbol_Math},
2836  {0x1d78a, 0x1d78f, HB_Letter_Lowercase},
2837  {0x1d790, 0x1d7a8, HB_Letter_Uppercase},
2838  {0x1d7a9, 0x1d7a9, HB_Symbol_Math},
2839  {0x1d7aa, 0x1d7c2, HB_Letter_Lowercase},
2840  {0x1d7c3, 0x1d7c3, HB_Symbol_Math},
2841  {0x1d7c4, 0x1d7c9, HB_Letter_Lowercase},
2842  {0x1d7ca, 0x1d7ca, HB_Letter_Uppercase},
2843  {0x1d7cb, 0x1d7cb, HB_Letter_Lowercase},
2844  {0x1d7cc, 0x1d7cd, HB_Other_NotAssigned},
2845  {0x1d7ce, 0x1d7ff, HB_Number_DecimalDigit},
2846  {0x1d800, 0x1efff, HB_Other_NotAssigned},
2847  {0x1f000, 0x1f02b, HB_Symbol_Other},
2848  {0x1f02c, 0x1f02f, HB_Other_NotAssigned},
2849  {0x1f030, 0x1f093, HB_Symbol_Other},
2850  {0x1f094, 0x1ffff, HB_Other_NotAssigned},
2851  {0x20000, 0x2a6d6, HB_Letter_Other},
2852  {0x2a6d7, 0x2f7ff, HB_Other_NotAssigned},
2853  {0x2f800, 0x2fa1d, HB_Letter_Other},
2854  {0x2fa1e, 0xe0000, HB_Other_NotAssigned},
2855  {0xe0001, 0xe0001, HB_Other_Format},
2856  {0xe0002, 0xe001f, HB_Other_NotAssigned},
2857  {0xe0020, 0xe007f, HB_Other_Format},
2858  {0xe0080, 0xe00ff, HB_Other_NotAssigned},
2859  {0xe0100, 0xe01ef, HB_Mark_NonSpacing},
2860  {0xe01f0, 0xeffff, HB_Other_NotAssigned},
2861  {0xf0000, 0xffffd, HB_Other_PrivateUse},
2862  {0xffffe, 0xfffff, HB_Other_NotAssigned},
2863  {0x100000, 0x10fffd, HB_Other_PrivateUse},
2864  {0x10fffe, 0x10ffff, HB_Other_NotAssigned},
2865};
2866
2867static const unsigned category_properties_count = 2849;
2868
2869#endif  // CATEGORY_PROPERTIES_H_
2870