• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
9 struct category_property {
10   uint32_t range_start;
11   uint32_t range_end;
12   HB_CharCategory category;
13 };
14 
15 static 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 
2867 static const unsigned category_properties_count = 2849;
2868 
2869 #endif  // CATEGORY_PROPERTIES_H_
2870