1// re2c $INPUT -o $OUTPUT -8 --encoding-policy substitute
2#include <stdio.h>
3#include "utf8.h"
4#define YYCTYPE unsigned char
5enum Block
6{
7	Basic_Latin,
8	Latin___Supplement,
9	Latin_Extended_A,
10	Latin_Extended_B,
11	IPA_Extensions,
12	Spacing_Modifier_Letters,
13	Combining_Diacritical_Marks,
14	Greek_and_Coptic,
15	Cyrillic,
16	Cyrillic_Supplementary,
17	Armenian,
18	Hebrew,
19	Arabic,
20	Syriac,
21	Thaana,
22	Devanagari,
23	Bengali,
24	Gurmukhi,
25	Gujarati,
26	Oriya,
27	Tamil,
28	Telugu,
29	Kannada,
30	Malayalam,
31	Sinhala,
32	Thai,
33	Lao,
34	Tibetan,
35	Myanmar,
36	Georgian,
37	Hangul_Jamo,
38	Ethiopic,
39	Cherokee,
40	Unified_Canadian_Aboriginal_Syllabics,
41	Ogham,
42	Runic,
43	Tagalog,
44	Hanunoo,
45	Buhid,
46	Tagbanwa,
47	Khmer,
48	Mongolian,
49	Limbu,
50	Tai_Le,
51	Khmer_Symbols,
52	Phonetic_Extensions,
53	Latin_Extended_Additional,
54	Greek_Extended,
55	General_Punctuation,
56	Superscripts_and_Subscripts,
57	Currency_Symbols,
58	Combining_Diacritical_Marks_for_Symbols,
59	Letterlike_Symbols,
60	Number_Forms,
61	Arrows,
62	Mathematical_Operators,
63	Miscellaneous_Technical,
64	Control_Pictures,
65	Optical_Character_Recognition,
66	Enclosed_Alphanumerics,
67	Box_Drawing,
68	Block_Elements,
69	Geometric_Shapes,
70	Miscellaneous_Symbols,
71	Dingbats,
72	Miscellaneous_Mathematical_Symbols_A,
73	Supplemental_Arrows_A,
74	Braille_Patterns,
75	Supplemental_Arrows_B,
76	Miscellaneous_Mathematical_Symbols_B,
77	Supplemental_Mathematical_Operators,
78	Miscellaneous_Symbols_and_Arrows,
79	CJK_Radicals_Supplement,
80	Kangxi_Radicals,
81	Ideographic_Description_Characters,
82	CJK_Symbols_and_Punctuation,
83	Hiragana,
84	Katakana,
85	Bopomofo,
86	Hangul_Compatibility_Jamo,
87	Kanbun,
88	Bopomofo_Extended,
89	Katakana_Phonetic_Extensions,
90	Enclosed_CJK_Letters_and_Months,
91	CJK_Compatibility,
92	CJK_Unified_Ideographs_Extension_A,
93	Yijing_Hexagram_Symbols,
94	CJK_Unified_Ideographs,
95	Yi_Syllables,
96	Yi_Radicals,
97	Hangul_Syllables,
98	High_Surrogates,
99	High_Private_Use_Surrogates,
100	Low_Surrogates,
101	Private_Use_Area,
102	CJK_Compatibility_Ideographs,
103	Alphabetic_Presentation_Forms,
104	Arabic_Presentation_Forms_A,
105	Variation_Selectors,
106	Combining_Half_Marks,
107	CJK_Compatibility_Forms,
108	Small_Form_Variants,
109	Arabic_Presentation_Forms_B,
110	Halfwidth_and_Fullwidth_Forms,
111	Specials,
112	All,
113
114	Error
115};
116Block scan(const YYCTYPE * start, const YYCTYPE * const limit, Block blk)
117{
118	__attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used
119#	define YYCURSOR start
120	switch (blk)
121	{
122		case Basic_Latin: goto Basic_Latin ;
123		case Latin___Supplement: goto Latin___Supplement ;
124		case Latin_Extended_A: goto Latin_Extended_A ;
125		case Latin_Extended_B: goto Latin_Extended_B ;
126		case IPA_Extensions: goto IPA_Extensions ;
127		case Spacing_Modifier_Letters: goto Spacing_Modifier_Letters ;
128		case Combining_Diacritical_Marks: goto Combining_Diacritical_Marks ;
129		case Greek_and_Coptic: goto Greek_and_Coptic ;
130		case Cyrillic: goto Cyrillic ;
131		case Cyrillic_Supplementary: goto Cyrillic_Supplementary ;
132		case Armenian: goto Armenian ;
133		case Hebrew: goto Hebrew ;
134		case Arabic: goto Arabic ;
135		case Syriac: goto Syriac ;
136		case Thaana: goto Thaana ;
137		case Devanagari: goto Devanagari ;
138		case Bengali: goto Bengali ;
139		case Gurmukhi: goto Gurmukhi ;
140		case Gujarati: goto Gujarati ;
141		case Oriya: goto Oriya ;
142		case Tamil: goto Tamil ;
143		case Telugu: goto Telugu ;
144		case Kannada: goto Kannada ;
145		case Malayalam: goto Malayalam ;
146		case Sinhala: goto Sinhala ;
147		case Thai: goto Thai ;
148		case Lao: goto Lao ;
149		case Tibetan: goto Tibetan ;
150		case Myanmar: goto Myanmar ;
151		case Georgian: goto Georgian ;
152		case Hangul_Jamo: goto Hangul_Jamo ;
153		case Ethiopic: goto Ethiopic ;
154		case Cherokee: goto Cherokee ;
155		case Unified_Canadian_Aboriginal_Syllabics: goto Unified_Canadian_Aboriginal_Syllabics ;
156		case Ogham: goto Ogham ;
157		case Runic: goto Runic ;
158		case Tagalog: goto Tagalog ;
159		case Hanunoo: goto Hanunoo ;
160		case Buhid: goto Buhid ;
161		case Tagbanwa: goto Tagbanwa ;
162		case Khmer: goto Khmer ;
163		case Mongolian: goto Mongolian ;
164		case Limbu: goto Limbu ;
165		case Tai_Le: goto Tai_Le ;
166		case Khmer_Symbols: goto Khmer_Symbols ;
167		case Phonetic_Extensions: goto Phonetic_Extensions ;
168		case Latin_Extended_Additional: goto Latin_Extended_Additional ;
169		case Greek_Extended: goto Greek_Extended ;
170		case General_Punctuation: goto General_Punctuation ;
171		case Superscripts_and_Subscripts: goto Superscripts_and_Subscripts ;
172		case Currency_Symbols: goto Currency_Symbols ;
173		case Combining_Diacritical_Marks_for_Symbols: goto Combining_Diacritical_Marks_for_Symbols ;
174		case Letterlike_Symbols: goto Letterlike_Symbols ;
175		case Number_Forms: goto Number_Forms ;
176		case Arrows: goto Arrows ;
177		case Mathematical_Operators: goto Mathematical_Operators ;
178		case Miscellaneous_Technical: goto Miscellaneous_Technical ;
179		case Control_Pictures: goto Control_Pictures ;
180		case Optical_Character_Recognition: goto Optical_Character_Recognition ;
181		case Enclosed_Alphanumerics: goto Enclosed_Alphanumerics ;
182		case Box_Drawing: goto Box_Drawing ;
183		case Block_Elements: goto Block_Elements ;
184		case Geometric_Shapes: goto Geometric_Shapes ;
185		case Miscellaneous_Symbols: goto Miscellaneous_Symbols ;
186		case Dingbats: goto Dingbats ;
187		case Miscellaneous_Mathematical_Symbols_A: goto Miscellaneous_Mathematical_Symbols_A ;
188		case Supplemental_Arrows_A: goto Supplemental_Arrows_A ;
189		case Braille_Patterns: goto Braille_Patterns ;
190		case Supplemental_Arrows_B: goto Supplemental_Arrows_B ;
191		case Miscellaneous_Mathematical_Symbols_B: goto Miscellaneous_Mathematical_Symbols_B ;
192		case Supplemental_Mathematical_Operators: goto Supplemental_Mathematical_Operators ;
193		case Miscellaneous_Symbols_and_Arrows: goto Miscellaneous_Symbols_and_Arrows ;
194		case CJK_Radicals_Supplement: goto CJK_Radicals_Supplement ;
195		case Kangxi_Radicals: goto Kangxi_Radicals ;
196		case Ideographic_Description_Characters: goto Ideographic_Description_Characters ;
197		case CJK_Symbols_and_Punctuation: goto CJK_Symbols_and_Punctuation ;
198		case Hiragana: goto Hiragana ;
199		case Katakana: goto Katakana ;
200		case Bopomofo: goto Bopomofo ;
201		case Hangul_Compatibility_Jamo: goto Hangul_Compatibility_Jamo ;
202		case Kanbun: goto Kanbun ;
203		case Bopomofo_Extended: goto Bopomofo_Extended ;
204		case Katakana_Phonetic_Extensions: goto Katakana_Phonetic_Extensions ;
205		case Enclosed_CJK_Letters_and_Months: goto Enclosed_CJK_Letters_and_Months ;
206		case CJK_Compatibility: goto CJK_Compatibility ;
207		case CJK_Unified_Ideographs_Extension_A: goto CJK_Unified_Ideographs_Extension_A ;
208		case Yijing_Hexagram_Symbols: goto Yijing_Hexagram_Symbols ;
209		case CJK_Unified_Ideographs: goto CJK_Unified_Ideographs ;
210		case Yi_Syllables: goto Yi_Syllables ;
211		case Yi_Radicals: goto Yi_Radicals ;
212		case Hangul_Syllables: goto Hangul_Syllables ;
213		case High_Surrogates: goto High_Surrogates ;
214		case High_Private_Use_Surrogates: goto High_Private_Use_Surrogates ;
215		case Low_Surrogates: goto Low_Surrogates ;
216		case Private_Use_Area: goto Private_Use_Area ;
217		case CJK_Compatibility_Ideographs: goto CJK_Compatibility_Ideographs ;
218		case Alphabetic_Presentation_Forms: goto Alphabetic_Presentation_Forms ;
219		case Arabic_Presentation_Forms_A: goto Arabic_Presentation_Forms_A ;
220		case Variation_Selectors: goto Variation_Selectors ;
221		case Combining_Half_Marks: goto Combining_Half_Marks ;
222		case CJK_Compatibility_Forms: goto CJK_Compatibility_Forms ;
223		case Small_Form_Variants: goto Small_Form_Variants ;
224		case Arabic_Presentation_Forms_B: goto Arabic_Presentation_Forms_B ;
225		case Halfwidth_and_Fullwidth_Forms: goto Halfwidth_and_Fullwidth_Forms ;
226		case Specials: goto Specials ;
227		case All: goto All ;
228
229		default: return Error;
230	}
231	/*!re2c
232		Basic_Latin = [\x00-\x7f];
233		Latin___Supplement = [\x80-\u00ff];
234		Latin_Extended_A = [\u0100-\u017f];
235		Latin_Extended_B = [\u0180-\u024f];
236		IPA_Extensions = [\u0250-\u02af];
237		Spacing_Modifier_Letters = [\u02b0-\u02ff];
238		Combining_Diacritical_Marks = [\u0300-\u036f];
239		Greek_and_Coptic = [\u0370-\u03ff];
240		Cyrillic = [\u0400-\u04ff];
241		Cyrillic_Supplementary = [\u0500-\u052f];
242		Armenian = [\u0530-\u058f];
243		Hebrew = [\u0590-\u05ff];
244		Arabic = [\u0600-\u06ff];
245		Syriac = [\u0700-\u074f];
246		Thaana = [\u0780-\u07bf];
247		Devanagari = [\u0900-\u097f];
248		Bengali = [\u0980-\u09ff];
249		Gurmukhi = [\u0a00-\u0a7f];
250		Gujarati = [\u0a80-\u0aff];
251		Oriya = [\u0b00-\u0b7f];
252		Tamil = [\u0b80-\u0bff];
253		Telugu = [\u0c00-\u0c7f];
254		Kannada = [\u0c80-\u0cff];
255		Malayalam = [\u0d00-\u0d7f];
256		Sinhala = [\u0d80-\u0dff];
257		Thai = [\u0e00-\u0e7f];
258		Lao = [\u0e80-\u0eff];
259		Tibetan = [\u0f00-\u0fff];
260		Myanmar = [\u1000-\u109f];
261		Georgian = [\u10a0-\u10ff];
262		Hangul_Jamo = [\u1100-\u11ff];
263		Ethiopic = [\u1200-\u137f];
264		Cherokee = [\u13a0-\u13ff];
265		Unified_Canadian_Aboriginal_Syllabics = [\u1400-\u167f];
266		Ogham = [\u1680-\u169f];
267		Runic = [\u16a0-\u16ff];
268		Tagalog = [\u1700-\u171f];
269		Hanunoo = [\u1720-\u173f];
270		Buhid = [\u1740-\u175f];
271		Tagbanwa = [\u1760-\u177f];
272		Khmer = [\u1780-\u17ff];
273		Mongolian = [\u1800-\u18af];
274		Limbu = [\u1900-\u194f];
275		Tai_Le = [\u1950-\u197f];
276		Khmer_Symbols = [\u19e0-\u19ff];
277		Phonetic_Extensions = [\u1d00-\u1d7f];
278		Latin_Extended_Additional = [\u1e00-\u1eff];
279		Greek_Extended = [\u1f00-\u1fff];
280		General_Punctuation = [\u2000-\u206f];
281		Superscripts_and_Subscripts = [\u2070-\u209f];
282		Currency_Symbols = [\u20a0-\u20cf];
283		Combining_Diacritical_Marks_for_Symbols = [\u20d0-\u20ff];
284		Letterlike_Symbols = [\u2100-\u214f];
285		Number_Forms = [\u2150-\u218f];
286		Arrows = [\u2190-\u21ff];
287		Mathematical_Operators = [\u2200-\u22ff];
288		Miscellaneous_Technical = [\u2300-\u23ff];
289		Control_Pictures = [\u2400-\u243f];
290		Optical_Character_Recognition = [\u2440-\u245f];
291		Enclosed_Alphanumerics = [\u2460-\u24ff];
292		Box_Drawing = [\u2500-\u257f];
293		Block_Elements = [\u2580-\u259f];
294		Geometric_Shapes = [\u25a0-\u25ff];
295		Miscellaneous_Symbols = [\u2600-\u26ff];
296		Dingbats = [\u2700-\u27bf];
297		Miscellaneous_Mathematical_Symbols_A = [\u27c0-\u27ef];
298		Supplemental_Arrows_A = [\u27f0-\u27ff];
299		Braille_Patterns = [\u2800-\u28ff];
300		Supplemental_Arrows_B = [\u2900-\u297f];
301		Miscellaneous_Mathematical_Symbols_B = [\u2980-\u29ff];
302		Supplemental_Mathematical_Operators = [\u2a00-\u2aff];
303		Miscellaneous_Symbols_and_Arrows = [\u2b00-\u2bff];
304		CJK_Radicals_Supplement = [\u2e80-\u2eff];
305		Kangxi_Radicals = [\u2f00-\u2fdf];
306		Ideographic_Description_Characters = [\u2ff0-\u2fff];
307		CJK_Symbols_and_Punctuation = [\u3000-\u303f];
308		Hiragana = [\u3040-\u309f];
309		Katakana = [\u30a0-\u30ff];
310		Bopomofo = [\u3100-\u312f];
311		Hangul_Compatibility_Jamo = [\u3130-\u318f];
312		Kanbun = [\u3190-\u319f];
313		Bopomofo_Extended = [\u31a0-\u31bf];
314		Katakana_Phonetic_Extensions = [\u31f0-\u31ff];
315		Enclosed_CJK_Letters_and_Months = [\u3200-\u32ff];
316		CJK_Compatibility = [\u3300-\u33ff];
317		CJK_Unified_Ideographs_Extension_A = [\u3400-\u4dbf];
318		Yijing_Hexagram_Symbols = [\u4dc0-\u4dff];
319		CJK_Unified_Ideographs = [\u4e00-\u9fff];
320		Yi_Syllables = [\ua000-\ua48f];
321		Yi_Radicals = [\ua490-\ua4cf];
322		Hangul_Syllables = [\uac00-\ud7af];
323		High_Surrogates = [\ud800-\udb7f];
324		High_Private_Use_Surrogates = [\udb80-\udbff];
325		Low_Surrogates = [\udc00-\udfff];
326		Private_Use_Area = [\ue000-\uf8ff];
327		CJK_Compatibility_Ideographs = [\uf900-\ufaff];
328		Alphabetic_Presentation_Forms = [\ufb00-\ufb4f];
329		Arabic_Presentation_Forms_A = [\ufb50-\ufdff];
330		Variation_Selectors = [\ufe00-\ufe0f];
331		Combining_Half_Marks = [\ufe20-\ufe2f];
332		CJK_Compatibility_Forms = [\ufe30-\ufe4f];
333		Small_Form_Variants = [\ufe50-\ufe6f];
334		Arabic_Presentation_Forms_B = [\ufe70-\ufeff];
335		Halfwidth_and_Fullwidth_Forms = [\uff00-\uffef];
336		Specials = [\ufff0-\U0000ffff];
337		All = [\x00-\u074f\u0780-\u07bf\u0900-\u137f\u13a0-\u18af\u1900-\u197f\u19e0-\u19ff\u1d00-\u1d7f\u1e00-\u2bff\u2e80-\u2fdf\u2ff0-\u31bf\u31f0-\ua4cf\uac00-\ud7af\ud800-\ufe0f\ufe20-\U0000ffff];
338
339	*/
340Basic_Latin:
341	/*!re2c
342		re2c:yyfill:enable = 0;
343		Basic_Latin { goto Basic_Latin; }
344		* { if (YYCURSOR == limit) return Basic_Latin; else return Error; }
345	*/
346
347Latin___Supplement:
348	/*!re2c
349		re2c:yyfill:enable = 0;
350		Latin___Supplement { goto Latin___Supplement; }
351		* { if (YYCURSOR == limit) return Latin___Supplement; else return Error; }
352	*/
353
354Latin_Extended_A:
355	/*!re2c
356		re2c:yyfill:enable = 0;
357		Latin_Extended_A { goto Latin_Extended_A; }
358		* { if (YYCURSOR == limit) return Latin_Extended_A; else return Error; }
359	*/
360
361Latin_Extended_B:
362	/*!re2c
363		re2c:yyfill:enable = 0;
364		Latin_Extended_B { goto Latin_Extended_B; }
365		* { if (YYCURSOR == limit) return Latin_Extended_B; else return Error; }
366	*/
367
368IPA_Extensions:
369	/*!re2c
370		re2c:yyfill:enable = 0;
371		IPA_Extensions { goto IPA_Extensions; }
372		* { if (YYCURSOR == limit) return IPA_Extensions; else return Error; }
373	*/
374
375Spacing_Modifier_Letters:
376	/*!re2c
377		re2c:yyfill:enable = 0;
378		Spacing_Modifier_Letters { goto Spacing_Modifier_Letters; }
379		* { if (YYCURSOR == limit) return Spacing_Modifier_Letters; else return Error; }
380	*/
381
382Combining_Diacritical_Marks:
383	/*!re2c
384		re2c:yyfill:enable = 0;
385		Combining_Diacritical_Marks { goto Combining_Diacritical_Marks; }
386		* { if (YYCURSOR == limit) return Combining_Diacritical_Marks; else return Error; }
387	*/
388
389Greek_and_Coptic:
390	/*!re2c
391		re2c:yyfill:enable = 0;
392		Greek_and_Coptic { goto Greek_and_Coptic; }
393		* { if (YYCURSOR == limit) return Greek_and_Coptic; else return Error; }
394	*/
395
396Cyrillic:
397	/*!re2c
398		re2c:yyfill:enable = 0;
399		Cyrillic { goto Cyrillic; }
400		* { if (YYCURSOR == limit) return Cyrillic; else return Error; }
401	*/
402
403Cyrillic_Supplementary:
404	/*!re2c
405		re2c:yyfill:enable = 0;
406		Cyrillic_Supplementary { goto Cyrillic_Supplementary; }
407		* { if (YYCURSOR == limit) return Cyrillic_Supplementary; else return Error; }
408	*/
409
410Armenian:
411	/*!re2c
412		re2c:yyfill:enable = 0;
413		Armenian { goto Armenian; }
414		* { if (YYCURSOR == limit) return Armenian; else return Error; }
415	*/
416
417Hebrew:
418	/*!re2c
419		re2c:yyfill:enable = 0;
420		Hebrew { goto Hebrew; }
421		* { if (YYCURSOR == limit) return Hebrew; else return Error; }
422	*/
423
424Arabic:
425	/*!re2c
426		re2c:yyfill:enable = 0;
427		Arabic { goto Arabic; }
428		* { if (YYCURSOR == limit) return Arabic; else return Error; }
429	*/
430
431Syriac:
432	/*!re2c
433		re2c:yyfill:enable = 0;
434		Syriac { goto Syriac; }
435		* { if (YYCURSOR == limit) return Syriac; else return Error; }
436	*/
437
438Thaana:
439	/*!re2c
440		re2c:yyfill:enable = 0;
441		Thaana { goto Thaana; }
442		* { if (YYCURSOR == limit) return Thaana; else return Error; }
443	*/
444
445Devanagari:
446	/*!re2c
447		re2c:yyfill:enable = 0;
448		Devanagari { goto Devanagari; }
449		* { if (YYCURSOR == limit) return Devanagari; else return Error; }
450	*/
451
452Bengali:
453	/*!re2c
454		re2c:yyfill:enable = 0;
455		Bengali { goto Bengali; }
456		* { if (YYCURSOR == limit) return Bengali; else return Error; }
457	*/
458
459Gurmukhi:
460	/*!re2c
461		re2c:yyfill:enable = 0;
462		Gurmukhi { goto Gurmukhi; }
463		* { if (YYCURSOR == limit) return Gurmukhi; else return Error; }
464	*/
465
466Gujarati:
467	/*!re2c
468		re2c:yyfill:enable = 0;
469		Gujarati { goto Gujarati; }
470		* { if (YYCURSOR == limit) return Gujarati; else return Error; }
471	*/
472
473Oriya:
474	/*!re2c
475		re2c:yyfill:enable = 0;
476		Oriya { goto Oriya; }
477		* { if (YYCURSOR == limit) return Oriya; else return Error; }
478	*/
479
480Tamil:
481	/*!re2c
482		re2c:yyfill:enable = 0;
483		Tamil { goto Tamil; }
484		* { if (YYCURSOR == limit) return Tamil; else return Error; }
485	*/
486
487Telugu:
488	/*!re2c
489		re2c:yyfill:enable = 0;
490		Telugu { goto Telugu; }
491		* { if (YYCURSOR == limit) return Telugu; else return Error; }
492	*/
493
494Kannada:
495	/*!re2c
496		re2c:yyfill:enable = 0;
497		Kannada { goto Kannada; }
498		* { if (YYCURSOR == limit) return Kannada; else return Error; }
499	*/
500
501Malayalam:
502	/*!re2c
503		re2c:yyfill:enable = 0;
504		Malayalam { goto Malayalam; }
505		* { if (YYCURSOR == limit) return Malayalam; else return Error; }
506	*/
507
508Sinhala:
509	/*!re2c
510		re2c:yyfill:enable = 0;
511		Sinhala { goto Sinhala; }
512		* { if (YYCURSOR == limit) return Sinhala; else return Error; }
513	*/
514
515Thai:
516	/*!re2c
517		re2c:yyfill:enable = 0;
518		Thai { goto Thai; }
519		* { if (YYCURSOR == limit) return Thai; else return Error; }
520	*/
521
522Lao:
523	/*!re2c
524		re2c:yyfill:enable = 0;
525		Lao { goto Lao; }
526		* { if (YYCURSOR == limit) return Lao; else return Error; }
527	*/
528
529Tibetan:
530	/*!re2c
531		re2c:yyfill:enable = 0;
532		Tibetan { goto Tibetan; }
533		* { if (YYCURSOR == limit) return Tibetan; else return Error; }
534	*/
535
536Myanmar:
537	/*!re2c
538		re2c:yyfill:enable = 0;
539		Myanmar { goto Myanmar; }
540		* { if (YYCURSOR == limit) return Myanmar; else return Error; }
541	*/
542
543Georgian:
544	/*!re2c
545		re2c:yyfill:enable = 0;
546		Georgian { goto Georgian; }
547		* { if (YYCURSOR == limit) return Georgian; else return Error; }
548	*/
549
550Hangul_Jamo:
551	/*!re2c
552		re2c:yyfill:enable = 0;
553		Hangul_Jamo { goto Hangul_Jamo; }
554		* { if (YYCURSOR == limit) return Hangul_Jamo; else return Error; }
555	*/
556
557Ethiopic:
558	/*!re2c
559		re2c:yyfill:enable = 0;
560		Ethiopic { goto Ethiopic; }
561		* { if (YYCURSOR == limit) return Ethiopic; else return Error; }
562	*/
563
564Cherokee:
565	/*!re2c
566		re2c:yyfill:enable = 0;
567		Cherokee { goto Cherokee; }
568		* { if (YYCURSOR == limit) return Cherokee; else return Error; }
569	*/
570
571Unified_Canadian_Aboriginal_Syllabics:
572	/*!re2c
573		re2c:yyfill:enable = 0;
574		Unified_Canadian_Aboriginal_Syllabics { goto Unified_Canadian_Aboriginal_Syllabics; }
575		* { if (YYCURSOR == limit) return Unified_Canadian_Aboriginal_Syllabics; else return Error; }
576	*/
577
578Ogham:
579	/*!re2c
580		re2c:yyfill:enable = 0;
581		Ogham { goto Ogham; }
582		* { if (YYCURSOR == limit) return Ogham; else return Error; }
583	*/
584
585Runic:
586	/*!re2c
587		re2c:yyfill:enable = 0;
588		Runic { goto Runic; }
589		* { if (YYCURSOR == limit) return Runic; else return Error; }
590	*/
591
592Tagalog:
593	/*!re2c
594		re2c:yyfill:enable = 0;
595		Tagalog { goto Tagalog; }
596		* { if (YYCURSOR == limit) return Tagalog; else return Error; }
597	*/
598
599Hanunoo:
600	/*!re2c
601		re2c:yyfill:enable = 0;
602		Hanunoo { goto Hanunoo; }
603		* { if (YYCURSOR == limit) return Hanunoo; else return Error; }
604	*/
605
606Buhid:
607	/*!re2c
608		re2c:yyfill:enable = 0;
609		Buhid { goto Buhid; }
610		* { if (YYCURSOR == limit) return Buhid; else return Error; }
611	*/
612
613Tagbanwa:
614	/*!re2c
615		re2c:yyfill:enable = 0;
616		Tagbanwa { goto Tagbanwa; }
617		* { if (YYCURSOR == limit) return Tagbanwa; else return Error; }
618	*/
619
620Khmer:
621	/*!re2c
622		re2c:yyfill:enable = 0;
623		Khmer { goto Khmer; }
624		* { if (YYCURSOR == limit) return Khmer; else return Error; }
625	*/
626
627Mongolian:
628	/*!re2c
629		re2c:yyfill:enable = 0;
630		Mongolian { goto Mongolian; }
631		* { if (YYCURSOR == limit) return Mongolian; else return Error; }
632	*/
633
634Limbu:
635	/*!re2c
636		re2c:yyfill:enable = 0;
637		Limbu { goto Limbu; }
638		* { if (YYCURSOR == limit) return Limbu; else return Error; }
639	*/
640
641Tai_Le:
642	/*!re2c
643		re2c:yyfill:enable = 0;
644		Tai_Le { goto Tai_Le; }
645		* { if (YYCURSOR == limit) return Tai_Le; else return Error; }
646	*/
647
648Khmer_Symbols:
649	/*!re2c
650		re2c:yyfill:enable = 0;
651		Khmer_Symbols { goto Khmer_Symbols; }
652		* { if (YYCURSOR == limit) return Khmer_Symbols; else return Error; }
653	*/
654
655Phonetic_Extensions:
656	/*!re2c
657		re2c:yyfill:enable = 0;
658		Phonetic_Extensions { goto Phonetic_Extensions; }
659		* { if (YYCURSOR == limit) return Phonetic_Extensions; else return Error; }
660	*/
661
662Latin_Extended_Additional:
663	/*!re2c
664		re2c:yyfill:enable = 0;
665		Latin_Extended_Additional { goto Latin_Extended_Additional; }
666		* { if (YYCURSOR == limit) return Latin_Extended_Additional; else return Error; }
667	*/
668
669Greek_Extended:
670	/*!re2c
671		re2c:yyfill:enable = 0;
672		Greek_Extended { goto Greek_Extended; }
673		* { if (YYCURSOR == limit) return Greek_Extended; else return Error; }
674	*/
675
676General_Punctuation:
677	/*!re2c
678		re2c:yyfill:enable = 0;
679		General_Punctuation { goto General_Punctuation; }
680		* { if (YYCURSOR == limit) return General_Punctuation; else return Error; }
681	*/
682
683Superscripts_and_Subscripts:
684	/*!re2c
685		re2c:yyfill:enable = 0;
686		Superscripts_and_Subscripts { goto Superscripts_and_Subscripts; }
687		* { if (YYCURSOR == limit) return Superscripts_and_Subscripts; else return Error; }
688	*/
689
690Currency_Symbols:
691	/*!re2c
692		re2c:yyfill:enable = 0;
693		Currency_Symbols { goto Currency_Symbols; }
694		* { if (YYCURSOR == limit) return Currency_Symbols; else return Error; }
695	*/
696
697Combining_Diacritical_Marks_for_Symbols:
698	/*!re2c
699		re2c:yyfill:enable = 0;
700		Combining_Diacritical_Marks_for_Symbols { goto Combining_Diacritical_Marks_for_Symbols; }
701		* { if (YYCURSOR == limit) return Combining_Diacritical_Marks_for_Symbols; else return Error; }
702	*/
703
704Letterlike_Symbols:
705	/*!re2c
706		re2c:yyfill:enable = 0;
707		Letterlike_Symbols { goto Letterlike_Symbols; }
708		* { if (YYCURSOR == limit) return Letterlike_Symbols; else return Error; }
709	*/
710
711Number_Forms:
712	/*!re2c
713		re2c:yyfill:enable = 0;
714		Number_Forms { goto Number_Forms; }
715		* { if (YYCURSOR == limit) return Number_Forms; else return Error; }
716	*/
717
718Arrows:
719	/*!re2c
720		re2c:yyfill:enable = 0;
721		Arrows { goto Arrows; }
722		* { if (YYCURSOR == limit) return Arrows; else return Error; }
723	*/
724
725Mathematical_Operators:
726	/*!re2c
727		re2c:yyfill:enable = 0;
728		Mathematical_Operators { goto Mathematical_Operators; }
729		* { if (YYCURSOR == limit) return Mathematical_Operators; else return Error; }
730	*/
731
732Miscellaneous_Technical:
733	/*!re2c
734		re2c:yyfill:enable = 0;
735		Miscellaneous_Technical { goto Miscellaneous_Technical; }
736		* { if (YYCURSOR == limit) return Miscellaneous_Technical; else return Error; }
737	*/
738
739Control_Pictures:
740	/*!re2c
741		re2c:yyfill:enable = 0;
742		Control_Pictures { goto Control_Pictures; }
743		* { if (YYCURSOR == limit) return Control_Pictures; else return Error; }
744	*/
745
746Optical_Character_Recognition:
747	/*!re2c
748		re2c:yyfill:enable = 0;
749		Optical_Character_Recognition { goto Optical_Character_Recognition; }
750		* { if (YYCURSOR == limit) return Optical_Character_Recognition; else return Error; }
751	*/
752
753Enclosed_Alphanumerics:
754	/*!re2c
755		re2c:yyfill:enable = 0;
756		Enclosed_Alphanumerics { goto Enclosed_Alphanumerics; }
757		* { if (YYCURSOR == limit) return Enclosed_Alphanumerics; else return Error; }
758	*/
759
760Box_Drawing:
761	/*!re2c
762		re2c:yyfill:enable = 0;
763		Box_Drawing { goto Box_Drawing; }
764		* { if (YYCURSOR == limit) return Box_Drawing; else return Error; }
765	*/
766
767Block_Elements:
768	/*!re2c
769		re2c:yyfill:enable = 0;
770		Block_Elements { goto Block_Elements; }
771		* { if (YYCURSOR == limit) return Block_Elements; else return Error; }
772	*/
773
774Geometric_Shapes:
775	/*!re2c
776		re2c:yyfill:enable = 0;
777		Geometric_Shapes { goto Geometric_Shapes; }
778		* { if (YYCURSOR == limit) return Geometric_Shapes; else return Error; }
779	*/
780
781Miscellaneous_Symbols:
782	/*!re2c
783		re2c:yyfill:enable = 0;
784		Miscellaneous_Symbols { goto Miscellaneous_Symbols; }
785		* { if (YYCURSOR == limit) return Miscellaneous_Symbols; else return Error; }
786	*/
787
788Dingbats:
789	/*!re2c
790		re2c:yyfill:enable = 0;
791		Dingbats { goto Dingbats; }
792		* { if (YYCURSOR == limit) return Dingbats; else return Error; }
793	*/
794
795Miscellaneous_Mathematical_Symbols_A:
796	/*!re2c
797		re2c:yyfill:enable = 0;
798		Miscellaneous_Mathematical_Symbols_A { goto Miscellaneous_Mathematical_Symbols_A; }
799		* { if (YYCURSOR == limit) return Miscellaneous_Mathematical_Symbols_A; else return Error; }
800	*/
801
802Supplemental_Arrows_A:
803	/*!re2c
804		re2c:yyfill:enable = 0;
805		Supplemental_Arrows_A { goto Supplemental_Arrows_A; }
806		* { if (YYCURSOR == limit) return Supplemental_Arrows_A; else return Error; }
807	*/
808
809Braille_Patterns:
810	/*!re2c
811		re2c:yyfill:enable = 0;
812		Braille_Patterns { goto Braille_Patterns; }
813		* { if (YYCURSOR == limit) return Braille_Patterns; else return Error; }
814	*/
815
816Supplemental_Arrows_B:
817	/*!re2c
818		re2c:yyfill:enable = 0;
819		Supplemental_Arrows_B { goto Supplemental_Arrows_B; }
820		* { if (YYCURSOR == limit) return Supplemental_Arrows_B; else return Error; }
821	*/
822
823Miscellaneous_Mathematical_Symbols_B:
824	/*!re2c
825		re2c:yyfill:enable = 0;
826		Miscellaneous_Mathematical_Symbols_B { goto Miscellaneous_Mathematical_Symbols_B; }
827		* { if (YYCURSOR == limit) return Miscellaneous_Mathematical_Symbols_B; else return Error; }
828	*/
829
830Supplemental_Mathematical_Operators:
831	/*!re2c
832		re2c:yyfill:enable = 0;
833		Supplemental_Mathematical_Operators { goto Supplemental_Mathematical_Operators; }
834		* { if (YYCURSOR == limit) return Supplemental_Mathematical_Operators; else return Error; }
835	*/
836
837Miscellaneous_Symbols_and_Arrows:
838	/*!re2c
839		re2c:yyfill:enable = 0;
840		Miscellaneous_Symbols_and_Arrows { goto Miscellaneous_Symbols_and_Arrows; }
841		* { if (YYCURSOR == limit) return Miscellaneous_Symbols_and_Arrows; else return Error; }
842	*/
843
844CJK_Radicals_Supplement:
845	/*!re2c
846		re2c:yyfill:enable = 0;
847		CJK_Radicals_Supplement { goto CJK_Radicals_Supplement; }
848		* { if (YYCURSOR == limit) return CJK_Radicals_Supplement; else return Error; }
849	*/
850
851Kangxi_Radicals:
852	/*!re2c
853		re2c:yyfill:enable = 0;
854		Kangxi_Radicals { goto Kangxi_Radicals; }
855		* { if (YYCURSOR == limit) return Kangxi_Radicals; else return Error; }
856	*/
857
858Ideographic_Description_Characters:
859	/*!re2c
860		re2c:yyfill:enable = 0;
861		Ideographic_Description_Characters { goto Ideographic_Description_Characters; }
862		* { if (YYCURSOR == limit) return Ideographic_Description_Characters; else return Error; }
863	*/
864
865CJK_Symbols_and_Punctuation:
866	/*!re2c
867		re2c:yyfill:enable = 0;
868		CJK_Symbols_and_Punctuation { goto CJK_Symbols_and_Punctuation; }
869		* { if (YYCURSOR == limit) return CJK_Symbols_and_Punctuation; else return Error; }
870	*/
871
872Hiragana:
873	/*!re2c
874		re2c:yyfill:enable = 0;
875		Hiragana { goto Hiragana; }
876		* { if (YYCURSOR == limit) return Hiragana; else return Error; }
877	*/
878
879Katakana:
880	/*!re2c
881		re2c:yyfill:enable = 0;
882		Katakana { goto Katakana; }
883		* { if (YYCURSOR == limit) return Katakana; else return Error; }
884	*/
885
886Bopomofo:
887	/*!re2c
888		re2c:yyfill:enable = 0;
889		Bopomofo { goto Bopomofo; }
890		* { if (YYCURSOR == limit) return Bopomofo; else return Error; }
891	*/
892
893Hangul_Compatibility_Jamo:
894	/*!re2c
895		re2c:yyfill:enable = 0;
896		Hangul_Compatibility_Jamo { goto Hangul_Compatibility_Jamo; }
897		* { if (YYCURSOR == limit) return Hangul_Compatibility_Jamo; else return Error; }
898	*/
899
900Kanbun:
901	/*!re2c
902		re2c:yyfill:enable = 0;
903		Kanbun { goto Kanbun; }
904		* { if (YYCURSOR == limit) return Kanbun; else return Error; }
905	*/
906
907Bopomofo_Extended:
908	/*!re2c
909		re2c:yyfill:enable = 0;
910		Bopomofo_Extended { goto Bopomofo_Extended; }
911		* { if (YYCURSOR == limit) return Bopomofo_Extended; else return Error; }
912	*/
913
914Katakana_Phonetic_Extensions:
915	/*!re2c
916		re2c:yyfill:enable = 0;
917		Katakana_Phonetic_Extensions { goto Katakana_Phonetic_Extensions; }
918		* { if (YYCURSOR == limit) return Katakana_Phonetic_Extensions; else return Error; }
919	*/
920
921Enclosed_CJK_Letters_and_Months:
922	/*!re2c
923		re2c:yyfill:enable = 0;
924		Enclosed_CJK_Letters_and_Months { goto Enclosed_CJK_Letters_and_Months; }
925		* { if (YYCURSOR == limit) return Enclosed_CJK_Letters_and_Months; else return Error; }
926	*/
927
928CJK_Compatibility:
929	/*!re2c
930		re2c:yyfill:enable = 0;
931		CJK_Compatibility { goto CJK_Compatibility; }
932		* { if (YYCURSOR == limit) return CJK_Compatibility; else return Error; }
933	*/
934
935CJK_Unified_Ideographs_Extension_A:
936	/*!re2c
937		re2c:yyfill:enable = 0;
938		CJK_Unified_Ideographs_Extension_A { goto CJK_Unified_Ideographs_Extension_A; }
939		* { if (YYCURSOR == limit) return CJK_Unified_Ideographs_Extension_A; else return Error; }
940	*/
941
942Yijing_Hexagram_Symbols:
943	/*!re2c
944		re2c:yyfill:enable = 0;
945		Yijing_Hexagram_Symbols { goto Yijing_Hexagram_Symbols; }
946		* { if (YYCURSOR == limit) return Yijing_Hexagram_Symbols; else return Error; }
947	*/
948
949CJK_Unified_Ideographs:
950	/*!re2c
951		re2c:yyfill:enable = 0;
952		CJK_Unified_Ideographs { goto CJK_Unified_Ideographs; }
953		* { if (YYCURSOR == limit) return CJK_Unified_Ideographs; else return Error; }
954	*/
955
956Yi_Syllables:
957	/*!re2c
958		re2c:yyfill:enable = 0;
959		Yi_Syllables { goto Yi_Syllables; }
960		* { if (YYCURSOR == limit) return Yi_Syllables; else return Error; }
961	*/
962
963Yi_Radicals:
964	/*!re2c
965		re2c:yyfill:enable = 0;
966		Yi_Radicals { goto Yi_Radicals; }
967		* { if (YYCURSOR == limit) return Yi_Radicals; else return Error; }
968	*/
969
970Hangul_Syllables:
971	/*!re2c
972		re2c:yyfill:enable = 0;
973		Hangul_Syllables { goto Hangul_Syllables; }
974		* { if (YYCURSOR == limit) return Hangul_Syllables; else return Error; }
975	*/
976
977High_Surrogates:
978	/*!re2c
979		re2c:yyfill:enable = 0;
980		High_Surrogates { goto High_Surrogates; }
981		* { if (YYCURSOR == limit) return High_Surrogates; else return Error; }
982	*/
983
984High_Private_Use_Surrogates:
985	/*!re2c
986		re2c:yyfill:enable = 0;
987		High_Private_Use_Surrogates { goto High_Private_Use_Surrogates; }
988		* { if (YYCURSOR == limit) return High_Private_Use_Surrogates; else return Error; }
989	*/
990
991Low_Surrogates:
992	/*!re2c
993		re2c:yyfill:enable = 0;
994		Low_Surrogates { goto Low_Surrogates; }
995		* { if (YYCURSOR == limit) return Low_Surrogates; else return Error; }
996	*/
997
998Private_Use_Area:
999	/*!re2c
1000		re2c:yyfill:enable = 0;
1001		Private_Use_Area { goto Private_Use_Area; }
1002		* { if (YYCURSOR == limit) return Private_Use_Area; else return Error; }
1003	*/
1004
1005CJK_Compatibility_Ideographs:
1006	/*!re2c
1007		re2c:yyfill:enable = 0;
1008		CJK_Compatibility_Ideographs { goto CJK_Compatibility_Ideographs; }
1009		* { if (YYCURSOR == limit) return CJK_Compatibility_Ideographs; else return Error; }
1010	*/
1011
1012Alphabetic_Presentation_Forms:
1013	/*!re2c
1014		re2c:yyfill:enable = 0;
1015		Alphabetic_Presentation_Forms { goto Alphabetic_Presentation_Forms; }
1016		* { if (YYCURSOR == limit) return Alphabetic_Presentation_Forms; else return Error; }
1017	*/
1018
1019Arabic_Presentation_Forms_A:
1020	/*!re2c
1021		re2c:yyfill:enable = 0;
1022		Arabic_Presentation_Forms_A { goto Arabic_Presentation_Forms_A; }
1023		* { if (YYCURSOR == limit) return Arabic_Presentation_Forms_A; else return Error; }
1024	*/
1025
1026Variation_Selectors:
1027	/*!re2c
1028		re2c:yyfill:enable = 0;
1029		Variation_Selectors { goto Variation_Selectors; }
1030		* { if (YYCURSOR == limit) return Variation_Selectors; else return Error; }
1031	*/
1032
1033Combining_Half_Marks:
1034	/*!re2c
1035		re2c:yyfill:enable = 0;
1036		Combining_Half_Marks { goto Combining_Half_Marks; }
1037		* { if (YYCURSOR == limit) return Combining_Half_Marks; else return Error; }
1038	*/
1039
1040CJK_Compatibility_Forms:
1041	/*!re2c
1042		re2c:yyfill:enable = 0;
1043		CJK_Compatibility_Forms { goto CJK_Compatibility_Forms; }
1044		* { if (YYCURSOR == limit) return CJK_Compatibility_Forms; else return Error; }
1045	*/
1046
1047Small_Form_Variants:
1048	/*!re2c
1049		re2c:yyfill:enable = 0;
1050		Small_Form_Variants { goto Small_Form_Variants; }
1051		* { if (YYCURSOR == limit) return Small_Form_Variants; else return Error; }
1052	*/
1053
1054Arabic_Presentation_Forms_B:
1055	/*!re2c
1056		re2c:yyfill:enable = 0;
1057		Arabic_Presentation_Forms_B { goto Arabic_Presentation_Forms_B; }
1058		* { if (YYCURSOR == limit) return Arabic_Presentation_Forms_B; else return Error; }
1059	*/
1060
1061Halfwidth_and_Fullwidth_Forms:
1062	/*!re2c
1063		re2c:yyfill:enable = 0;
1064		Halfwidth_and_Fullwidth_Forms { goto Halfwidth_and_Fullwidth_Forms; }
1065		* { if (YYCURSOR == limit) return Halfwidth_and_Fullwidth_Forms; else return Error; }
1066	*/
1067
1068Specials:
1069	/*!re2c
1070		re2c:yyfill:enable = 0;
1071		Specials { goto Specials; }
1072		* { if (YYCURSOR == limit) return Specials; else return Error; }
1073	*/
1074
1075All:
1076	/*!re2c
1077		re2c:yyfill:enable = 0;
1078		All { goto All; }
1079		* { if (YYCURSOR == limit) return All; else return Error; }
1080	*/
1081
1082
1083}
1084static const unsigned int chars_Basic_Latin [] = {0x0,0x7f,  0x80,0x80};
1085static const unsigned int chars_Latin___Supplement [] = {0x80,0xff,  0x0,0x0};
1086static const unsigned int chars_Latin_Extended_A [] = {0x100,0x17f,  0x0,0x0};
1087static const unsigned int chars_Latin_Extended_B [] = {0x180,0x24f,  0x0,0x0};
1088static const unsigned int chars_IPA_Extensions [] = {0x250,0x2af,  0x0,0x0};
1089static const unsigned int chars_Spacing_Modifier_Letters [] = {0x2b0,0x2ff,  0x0,0x0};
1090static const unsigned int chars_Combining_Diacritical_Marks [] = {0x300,0x36f,  0x0,0x0};
1091static const unsigned int chars_Greek_and_Coptic [] = {0x370,0x3ff,  0x0,0x0};
1092static const unsigned int chars_Cyrillic [] = {0x400,0x4ff,  0x0,0x0};
1093static const unsigned int chars_Cyrillic_Supplementary [] = {0x500,0x52f,  0x0,0x0};
1094static const unsigned int chars_Armenian [] = {0x530,0x58f,  0x0,0x0};
1095static const unsigned int chars_Hebrew [] = {0x590,0x5ff,  0x0,0x0};
1096static const unsigned int chars_Arabic [] = {0x600,0x6ff,  0x0,0x0};
1097static const unsigned int chars_Syriac [] = {0x700,0x74f,  0x0,0x0};
1098static const unsigned int chars_Thaana [] = {0x780,0x7bf,  0x0,0x0};
1099static const unsigned int chars_Devanagari [] = {0x900,0x97f,  0x0,0x0};
1100static const unsigned int chars_Bengali [] = {0x980,0x9ff,  0x0,0x0};
1101static const unsigned int chars_Gurmukhi [] = {0xa00,0xa7f,  0x0,0x0};
1102static const unsigned int chars_Gujarati [] = {0xa80,0xaff,  0x0,0x0};
1103static const unsigned int chars_Oriya [] = {0xb00,0xb7f,  0x0,0x0};
1104static const unsigned int chars_Tamil [] = {0xb80,0xbff,  0x0,0x0};
1105static const unsigned int chars_Telugu [] = {0xc00,0xc7f,  0x0,0x0};
1106static const unsigned int chars_Kannada [] = {0xc80,0xcff,  0x0,0x0};
1107static const unsigned int chars_Malayalam [] = {0xd00,0xd7f,  0x0,0x0};
1108static const unsigned int chars_Sinhala [] = {0xd80,0xdff,  0x0,0x0};
1109static const unsigned int chars_Thai [] = {0xe00,0xe7f,  0x0,0x0};
1110static const unsigned int chars_Lao [] = {0xe80,0xeff,  0x0,0x0};
1111static const unsigned int chars_Tibetan [] = {0xf00,0xfff,  0x0,0x0};
1112static const unsigned int chars_Myanmar [] = {0x1000,0x109f,  0x0,0x0};
1113static const unsigned int chars_Georgian [] = {0x10a0,0x10ff,  0x0,0x0};
1114static const unsigned int chars_Hangul_Jamo [] = {0x1100,0x11ff,  0x0,0x0};
1115static const unsigned int chars_Ethiopic [] = {0x1200,0x137f,  0x0,0x0};
1116static const unsigned int chars_Cherokee [] = {0x13a0,0x13ff,  0x0,0x0};
1117static const unsigned int chars_Unified_Canadian_Aboriginal_Syllabics [] = {0x1400,0x167f,  0x0,0x0};
1118static const unsigned int chars_Ogham [] = {0x1680,0x169f,  0x0,0x0};
1119static const unsigned int chars_Runic [] = {0x16a0,0x16ff,  0x0,0x0};
1120static const unsigned int chars_Tagalog [] = {0x1700,0x171f,  0x0,0x0};
1121static const unsigned int chars_Hanunoo [] = {0x1720,0x173f,  0x0,0x0};
1122static const unsigned int chars_Buhid [] = {0x1740,0x175f,  0x0,0x0};
1123static const unsigned int chars_Tagbanwa [] = {0x1760,0x177f,  0x0,0x0};
1124static const unsigned int chars_Khmer [] = {0x1780,0x17ff,  0x0,0x0};
1125static const unsigned int chars_Mongolian [] = {0x1800,0x18af,  0x0,0x0};
1126static const unsigned int chars_Limbu [] = {0x1900,0x194f,  0x0,0x0};
1127static const unsigned int chars_Tai_Le [] = {0x1950,0x197f,  0x0,0x0};
1128static const unsigned int chars_Khmer_Symbols [] = {0x19e0,0x19ff,  0x0,0x0};
1129static const unsigned int chars_Phonetic_Extensions [] = {0x1d00,0x1d7f,  0x0,0x0};
1130static const unsigned int chars_Latin_Extended_Additional [] = {0x1e00,0x1eff,  0x0,0x0};
1131static const unsigned int chars_Greek_Extended [] = {0x1f00,0x1fff,  0x0,0x0};
1132static const unsigned int chars_General_Punctuation [] = {0x2000,0x206f,  0x0,0x0};
1133static const unsigned int chars_Superscripts_and_Subscripts [] = {0x2070,0x209f,  0x0,0x0};
1134static const unsigned int chars_Currency_Symbols [] = {0x20a0,0x20cf,  0x0,0x0};
1135static const unsigned int chars_Combining_Diacritical_Marks_for_Symbols [] = {0x20d0,0x20ff,  0x0,0x0};
1136static const unsigned int chars_Letterlike_Symbols [] = {0x2100,0x214f,  0x0,0x0};
1137static const unsigned int chars_Number_Forms [] = {0x2150,0x218f,  0x0,0x0};
1138static const unsigned int chars_Arrows [] = {0x2190,0x21ff,  0x0,0x0};
1139static const unsigned int chars_Mathematical_Operators [] = {0x2200,0x22ff,  0x0,0x0};
1140static const unsigned int chars_Miscellaneous_Technical [] = {0x2300,0x23ff,  0x0,0x0};
1141static const unsigned int chars_Control_Pictures [] = {0x2400,0x243f,  0x0,0x0};
1142static const unsigned int chars_Optical_Character_Recognition [] = {0x2440,0x245f,  0x0,0x0};
1143static const unsigned int chars_Enclosed_Alphanumerics [] = {0x2460,0x24ff,  0x0,0x0};
1144static const unsigned int chars_Box_Drawing [] = {0x2500,0x257f,  0x0,0x0};
1145static const unsigned int chars_Block_Elements [] = {0x2580,0x259f,  0x0,0x0};
1146static const unsigned int chars_Geometric_Shapes [] = {0x25a0,0x25ff,  0x0,0x0};
1147static const unsigned int chars_Miscellaneous_Symbols [] = {0x2600,0x26ff,  0x0,0x0};
1148static const unsigned int chars_Dingbats [] = {0x2700,0x27bf,  0x0,0x0};
1149static const unsigned int chars_Miscellaneous_Mathematical_Symbols_A [] = {0x27c0,0x27ef,  0x0,0x0};
1150static const unsigned int chars_Supplemental_Arrows_A [] = {0x27f0,0x27ff,  0x0,0x0};
1151static const unsigned int chars_Braille_Patterns [] = {0x2800,0x28ff,  0x0,0x0};
1152static const unsigned int chars_Supplemental_Arrows_B [] = {0x2900,0x297f,  0x0,0x0};
1153static const unsigned int chars_Miscellaneous_Mathematical_Symbols_B [] = {0x2980,0x29ff,  0x0,0x0};
1154static const unsigned int chars_Supplemental_Mathematical_Operators [] = {0x2a00,0x2aff,  0x0,0x0};
1155static const unsigned int chars_Miscellaneous_Symbols_and_Arrows [] = {0x2b00,0x2bff,  0x0,0x0};
1156static const unsigned int chars_CJK_Radicals_Supplement [] = {0x2e80,0x2eff,  0x0,0x0};
1157static const unsigned int chars_Kangxi_Radicals [] = {0x2f00,0x2fdf,  0x0,0x0};
1158static const unsigned int chars_Ideographic_Description_Characters [] = {0x2ff0,0x2fff,  0x0,0x0};
1159static const unsigned int chars_CJK_Symbols_and_Punctuation [] = {0x3000,0x303f,  0x0,0x0};
1160static const unsigned int chars_Hiragana [] = {0x3040,0x309f,  0x0,0x0};
1161static const unsigned int chars_Katakana [] = {0x30a0,0x30ff,  0x0,0x0};
1162static const unsigned int chars_Bopomofo [] = {0x3100,0x312f,  0x0,0x0};
1163static const unsigned int chars_Hangul_Compatibility_Jamo [] = {0x3130,0x318f,  0x0,0x0};
1164static const unsigned int chars_Kanbun [] = {0x3190,0x319f,  0x0,0x0};
1165static const unsigned int chars_Bopomofo_Extended [] = {0x31a0,0x31bf,  0x0,0x0};
1166static const unsigned int chars_Katakana_Phonetic_Extensions [] = {0x31f0,0x31ff,  0x0,0x0};
1167static const unsigned int chars_Enclosed_CJK_Letters_and_Months [] = {0x3200,0x32ff,  0x0,0x0};
1168static const unsigned int chars_CJK_Compatibility [] = {0x3300,0x33ff,  0x0,0x0};
1169static const unsigned int chars_CJK_Unified_Ideographs_Extension_A [] = {0x3400,0x4dbf,  0x0,0x0};
1170static const unsigned int chars_Yijing_Hexagram_Symbols [] = {0x4dc0,0x4dff,  0x0,0x0};
1171static const unsigned int chars_CJK_Unified_Ideographs [] = {0x4e00,0x9fff,  0x0,0x0};
1172static const unsigned int chars_Yi_Syllables [] = {0xa000,0xa48f,  0x0,0x0};
1173static const unsigned int chars_Yi_Radicals [] = {0xa490,0xa4cf,  0x0,0x0};
1174static const unsigned int chars_Hangul_Syllables [] = {0xac00,0xd7af,  0x0,0x0};
1175static const unsigned int chars_High_Surrogates [] = {0xd800,0xdb7f,  0x0,0x0};
1176static const unsigned int chars_High_Private_Use_Surrogates [] = {0xdb80,0xdbff,  0x0,0x0};
1177static const unsigned int chars_Low_Surrogates [] = {0xdc00,0xdfff,  0x0,0x0};
1178static const unsigned int chars_Private_Use_Area [] = {0xe000,0xf8ff,  0x0,0x0};
1179static const unsigned int chars_CJK_Compatibility_Ideographs [] = {0xf900,0xfaff,  0x0,0x0};
1180static const unsigned int chars_Alphabetic_Presentation_Forms [] = {0xfb00,0xfb4f,  0x0,0x0};
1181static const unsigned int chars_Arabic_Presentation_Forms_A [] = {0xfb50,0xfdff,  0x0,0x0};
1182static const unsigned int chars_Variation_Selectors [] = {0xfe00,0xfe0f,  0x0,0x0};
1183static const unsigned int chars_Combining_Half_Marks [] = {0xfe20,0xfe2f,  0x0,0x0};
1184static const unsigned int chars_CJK_Compatibility_Forms [] = {0xfe30,0xfe4f,  0x0,0x0};
1185static const unsigned int chars_Small_Form_Variants [] = {0xfe50,0xfe6f,  0x0,0x0};
1186static const unsigned int chars_Arabic_Presentation_Forms_B [] = {0xfe70,0xfeff,  0x0,0x0};
1187static const unsigned int chars_Halfwidth_and_Fullwidth_Forms [] = {0xff00,0xffef,  0x0,0x0};
1188static const unsigned int chars_Specials [] = {0xfff0,0xffff,  0x0,0x0};
1189static const unsigned int chars_All [] = {0x0,0x74f,  0x780,0x7bf,  0x900,0x137f,  0x13a0,0x18af,  0x1900,0x197f,  0x19e0,0x19ff,  0x1d00,0x1d7f,  0x1e00,0x2bff,  0x2e80,0x2fdf,  0x2ff0,0x31bf,  0x31f0,0xa4cf,  0xac00,0xd7af,  0xd800,0xfe0f,  0xfe20,0xffff,  0x750,0x750};
1190
1191static unsigned int encode_utf8 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s)
1192{
1193	unsigned int * const s_start = s;
1194	for (unsigned int i = 0; i < ranges_count - 2; i += 2)
1195		for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j)
1196			s += re2c::utf8::rune_to_bytes (s, j);
1197	re2c::utf8::rune_to_bytes (s, ranges[ranges_count - 1]);
1198	return s - s_start + 1;
1199}
1200
1201int main()
1202{
1203	unsigned int * buffer_Basic_Latin = new unsigned int [516];
1204	YYCTYPE * s_Basic_Latin = (YYCTYPE *) buffer_Basic_Latin;
1205	unsigned int buffer_Basic_Latin_len = encode_utf8 (chars_Basic_Latin, sizeof (chars_Basic_Latin) / sizeof (unsigned int), buffer_Basic_Latin);
1206	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1207	for (unsigned int i = 0; i < buffer_Basic_Latin_len; ++i) s_Basic_Latin[i] = buffer_Basic_Latin[i];
1208	if (scan (s_Basic_Latin, s_Basic_Latin + buffer_Basic_Latin_len, Basic_Latin) != Basic_Latin)
1209		printf ("test 'Basic_Latin' failed\n");
1210	delete [] buffer_Basic_Latin;
1211
1212	unsigned int * buffer_Latin___Supplement = new unsigned int [516];
1213	YYCTYPE * s_Latin___Supplement = (YYCTYPE *) buffer_Latin___Supplement;
1214	unsigned int buffer_Latin___Supplement_len = encode_utf8 (chars_Latin___Supplement, sizeof (chars_Latin___Supplement) / sizeof (unsigned int), buffer_Latin___Supplement);
1215	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1216	for (unsigned int i = 0; i < buffer_Latin___Supplement_len; ++i) s_Latin___Supplement[i] = buffer_Latin___Supplement[i];
1217	if (scan (s_Latin___Supplement, s_Latin___Supplement + buffer_Latin___Supplement_len, Latin___Supplement) != Latin___Supplement)
1218		printf ("test 'Latin___Supplement' failed\n");
1219	delete [] buffer_Latin___Supplement;
1220
1221	unsigned int * buffer_Latin_Extended_A = new unsigned int [516];
1222	YYCTYPE * s_Latin_Extended_A = (YYCTYPE *) buffer_Latin_Extended_A;
1223	unsigned int buffer_Latin_Extended_A_len = encode_utf8 (chars_Latin_Extended_A, sizeof (chars_Latin_Extended_A) / sizeof (unsigned int), buffer_Latin_Extended_A);
1224	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1225	for (unsigned int i = 0; i < buffer_Latin_Extended_A_len; ++i) s_Latin_Extended_A[i] = buffer_Latin_Extended_A[i];
1226	if (scan (s_Latin_Extended_A, s_Latin_Extended_A + buffer_Latin_Extended_A_len, Latin_Extended_A) != Latin_Extended_A)
1227		printf ("test 'Latin_Extended_A' failed\n");
1228	delete [] buffer_Latin_Extended_A;
1229
1230	unsigned int * buffer_Latin_Extended_B = new unsigned int [836];
1231	YYCTYPE * s_Latin_Extended_B = (YYCTYPE *) buffer_Latin_Extended_B;
1232	unsigned int buffer_Latin_Extended_B_len = encode_utf8 (chars_Latin_Extended_B, sizeof (chars_Latin_Extended_B) / sizeof (unsigned int), buffer_Latin_Extended_B);
1233	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1234	for (unsigned int i = 0; i < buffer_Latin_Extended_B_len; ++i) s_Latin_Extended_B[i] = buffer_Latin_Extended_B[i];
1235	if (scan (s_Latin_Extended_B, s_Latin_Extended_B + buffer_Latin_Extended_B_len, Latin_Extended_B) != Latin_Extended_B)
1236		printf ("test 'Latin_Extended_B' failed\n");
1237	delete [] buffer_Latin_Extended_B;
1238
1239	unsigned int * buffer_IPA_Extensions = new unsigned int [388];
1240	YYCTYPE * s_IPA_Extensions = (YYCTYPE *) buffer_IPA_Extensions;
1241	unsigned int buffer_IPA_Extensions_len = encode_utf8 (chars_IPA_Extensions, sizeof (chars_IPA_Extensions) / sizeof (unsigned int), buffer_IPA_Extensions);
1242	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1243	for (unsigned int i = 0; i < buffer_IPA_Extensions_len; ++i) s_IPA_Extensions[i] = buffer_IPA_Extensions[i];
1244	if (scan (s_IPA_Extensions, s_IPA_Extensions + buffer_IPA_Extensions_len, IPA_Extensions) != IPA_Extensions)
1245		printf ("test 'IPA_Extensions' failed\n");
1246	delete [] buffer_IPA_Extensions;
1247
1248	unsigned int * buffer_Spacing_Modifier_Letters = new unsigned int [324];
1249	YYCTYPE * s_Spacing_Modifier_Letters = (YYCTYPE *) buffer_Spacing_Modifier_Letters;
1250	unsigned int buffer_Spacing_Modifier_Letters_len = encode_utf8 (chars_Spacing_Modifier_Letters, sizeof (chars_Spacing_Modifier_Letters) / sizeof (unsigned int), buffer_Spacing_Modifier_Letters);
1251	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1252	for (unsigned int i = 0; i < buffer_Spacing_Modifier_Letters_len; ++i) s_Spacing_Modifier_Letters[i] = buffer_Spacing_Modifier_Letters[i];
1253	if (scan (s_Spacing_Modifier_Letters, s_Spacing_Modifier_Letters + buffer_Spacing_Modifier_Letters_len, Spacing_Modifier_Letters) != Spacing_Modifier_Letters)
1254		printf ("test 'Spacing_Modifier_Letters' failed\n");
1255	delete [] buffer_Spacing_Modifier_Letters;
1256
1257	unsigned int * buffer_Combining_Diacritical_Marks = new unsigned int [452];
1258	YYCTYPE * s_Combining_Diacritical_Marks = (YYCTYPE *) buffer_Combining_Diacritical_Marks;
1259	unsigned int buffer_Combining_Diacritical_Marks_len = encode_utf8 (chars_Combining_Diacritical_Marks, sizeof (chars_Combining_Diacritical_Marks) / sizeof (unsigned int), buffer_Combining_Diacritical_Marks);
1260	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1261	for (unsigned int i = 0; i < buffer_Combining_Diacritical_Marks_len; ++i) s_Combining_Diacritical_Marks[i] = buffer_Combining_Diacritical_Marks[i];
1262	if (scan (s_Combining_Diacritical_Marks, s_Combining_Diacritical_Marks + buffer_Combining_Diacritical_Marks_len, Combining_Diacritical_Marks) != Combining_Diacritical_Marks)
1263		printf ("test 'Combining_Diacritical_Marks' failed\n");
1264	delete [] buffer_Combining_Diacritical_Marks;
1265
1266	unsigned int * buffer_Greek_and_Coptic = new unsigned int [580];
1267	YYCTYPE * s_Greek_and_Coptic = (YYCTYPE *) buffer_Greek_and_Coptic;
1268	unsigned int buffer_Greek_and_Coptic_len = encode_utf8 (chars_Greek_and_Coptic, sizeof (chars_Greek_and_Coptic) / sizeof (unsigned int), buffer_Greek_and_Coptic);
1269	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1270	for (unsigned int i = 0; i < buffer_Greek_and_Coptic_len; ++i) s_Greek_and_Coptic[i] = buffer_Greek_and_Coptic[i];
1271	if (scan (s_Greek_and_Coptic, s_Greek_and_Coptic + buffer_Greek_and_Coptic_len, Greek_and_Coptic) != Greek_and_Coptic)
1272		printf ("test 'Greek_and_Coptic' failed\n");
1273	delete [] buffer_Greek_and_Coptic;
1274
1275	unsigned int * buffer_Cyrillic = new unsigned int [1028];
1276	YYCTYPE * s_Cyrillic = (YYCTYPE *) buffer_Cyrillic;
1277	unsigned int buffer_Cyrillic_len = encode_utf8 (chars_Cyrillic, sizeof (chars_Cyrillic) / sizeof (unsigned int), buffer_Cyrillic);
1278	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1279	for (unsigned int i = 0; i < buffer_Cyrillic_len; ++i) s_Cyrillic[i] = buffer_Cyrillic[i];
1280	if (scan (s_Cyrillic, s_Cyrillic + buffer_Cyrillic_len, Cyrillic) != Cyrillic)
1281		printf ("test 'Cyrillic' failed\n");
1282	delete [] buffer_Cyrillic;
1283
1284	unsigned int * buffer_Cyrillic_Supplementary = new unsigned int [196];
1285	YYCTYPE * s_Cyrillic_Supplementary = (YYCTYPE *) buffer_Cyrillic_Supplementary;
1286	unsigned int buffer_Cyrillic_Supplementary_len = encode_utf8 (chars_Cyrillic_Supplementary, sizeof (chars_Cyrillic_Supplementary) / sizeof (unsigned int), buffer_Cyrillic_Supplementary);
1287	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1288	for (unsigned int i = 0; i < buffer_Cyrillic_Supplementary_len; ++i) s_Cyrillic_Supplementary[i] = buffer_Cyrillic_Supplementary[i];
1289	if (scan (s_Cyrillic_Supplementary, s_Cyrillic_Supplementary + buffer_Cyrillic_Supplementary_len, Cyrillic_Supplementary) != Cyrillic_Supplementary)
1290		printf ("test 'Cyrillic_Supplementary' failed\n");
1291	delete [] buffer_Cyrillic_Supplementary;
1292
1293	unsigned int * buffer_Armenian = new unsigned int [388];
1294	YYCTYPE * s_Armenian = (YYCTYPE *) buffer_Armenian;
1295	unsigned int buffer_Armenian_len = encode_utf8 (chars_Armenian, sizeof (chars_Armenian) / sizeof (unsigned int), buffer_Armenian);
1296	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1297	for (unsigned int i = 0; i < buffer_Armenian_len; ++i) s_Armenian[i] = buffer_Armenian[i];
1298	if (scan (s_Armenian, s_Armenian + buffer_Armenian_len, Armenian) != Armenian)
1299		printf ("test 'Armenian' failed\n");
1300	delete [] buffer_Armenian;
1301
1302	unsigned int * buffer_Hebrew = new unsigned int [452];
1303	YYCTYPE * s_Hebrew = (YYCTYPE *) buffer_Hebrew;
1304	unsigned int buffer_Hebrew_len = encode_utf8 (chars_Hebrew, sizeof (chars_Hebrew) / sizeof (unsigned int), buffer_Hebrew);
1305	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1306	for (unsigned int i = 0; i < buffer_Hebrew_len; ++i) s_Hebrew[i] = buffer_Hebrew[i];
1307	if (scan (s_Hebrew, s_Hebrew + buffer_Hebrew_len, Hebrew) != Hebrew)
1308		printf ("test 'Hebrew' failed\n");
1309	delete [] buffer_Hebrew;
1310
1311	unsigned int * buffer_Arabic = new unsigned int [1028];
1312	YYCTYPE * s_Arabic = (YYCTYPE *) buffer_Arabic;
1313	unsigned int buffer_Arabic_len = encode_utf8 (chars_Arabic, sizeof (chars_Arabic) / sizeof (unsigned int), buffer_Arabic);
1314	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1315	for (unsigned int i = 0; i < buffer_Arabic_len; ++i) s_Arabic[i] = buffer_Arabic[i];
1316	if (scan (s_Arabic, s_Arabic + buffer_Arabic_len, Arabic) != Arabic)
1317		printf ("test 'Arabic' failed\n");
1318	delete [] buffer_Arabic;
1319
1320	unsigned int * buffer_Syriac = new unsigned int [324];
1321	YYCTYPE * s_Syriac = (YYCTYPE *) buffer_Syriac;
1322	unsigned int buffer_Syriac_len = encode_utf8 (chars_Syriac, sizeof (chars_Syriac) / sizeof (unsigned int), buffer_Syriac);
1323	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1324	for (unsigned int i = 0; i < buffer_Syriac_len; ++i) s_Syriac[i] = buffer_Syriac[i];
1325	if (scan (s_Syriac, s_Syriac + buffer_Syriac_len, Syriac) != Syriac)
1326		printf ("test 'Syriac' failed\n");
1327	delete [] buffer_Syriac;
1328
1329	unsigned int * buffer_Thaana = new unsigned int [260];
1330	YYCTYPE * s_Thaana = (YYCTYPE *) buffer_Thaana;
1331	unsigned int buffer_Thaana_len = encode_utf8 (chars_Thaana, sizeof (chars_Thaana) / sizeof (unsigned int), buffer_Thaana);
1332	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1333	for (unsigned int i = 0; i < buffer_Thaana_len; ++i) s_Thaana[i] = buffer_Thaana[i];
1334	if (scan (s_Thaana, s_Thaana + buffer_Thaana_len, Thaana) != Thaana)
1335		printf ("test 'Thaana' failed\n");
1336	delete [] buffer_Thaana;
1337
1338	unsigned int * buffer_Devanagari = new unsigned int [516];
1339	YYCTYPE * s_Devanagari = (YYCTYPE *) buffer_Devanagari;
1340	unsigned int buffer_Devanagari_len = encode_utf8 (chars_Devanagari, sizeof (chars_Devanagari) / sizeof (unsigned int), buffer_Devanagari);
1341	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1342	for (unsigned int i = 0; i < buffer_Devanagari_len; ++i) s_Devanagari[i] = buffer_Devanagari[i];
1343	if (scan (s_Devanagari, s_Devanagari + buffer_Devanagari_len, Devanagari) != Devanagari)
1344		printf ("test 'Devanagari' failed\n");
1345	delete [] buffer_Devanagari;
1346
1347	unsigned int * buffer_Bengali = new unsigned int [516];
1348	YYCTYPE * s_Bengali = (YYCTYPE *) buffer_Bengali;
1349	unsigned int buffer_Bengali_len = encode_utf8 (chars_Bengali, sizeof (chars_Bengali) / sizeof (unsigned int), buffer_Bengali);
1350	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1351	for (unsigned int i = 0; i < buffer_Bengali_len; ++i) s_Bengali[i] = buffer_Bengali[i];
1352	if (scan (s_Bengali, s_Bengali + buffer_Bengali_len, Bengali) != Bengali)
1353		printf ("test 'Bengali' failed\n");
1354	delete [] buffer_Bengali;
1355
1356	unsigned int * buffer_Gurmukhi = new unsigned int [516];
1357	YYCTYPE * s_Gurmukhi = (YYCTYPE *) buffer_Gurmukhi;
1358	unsigned int buffer_Gurmukhi_len = encode_utf8 (chars_Gurmukhi, sizeof (chars_Gurmukhi) / sizeof (unsigned int), buffer_Gurmukhi);
1359	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1360	for (unsigned int i = 0; i < buffer_Gurmukhi_len; ++i) s_Gurmukhi[i] = buffer_Gurmukhi[i];
1361	if (scan (s_Gurmukhi, s_Gurmukhi + buffer_Gurmukhi_len, Gurmukhi) != Gurmukhi)
1362		printf ("test 'Gurmukhi' failed\n");
1363	delete [] buffer_Gurmukhi;
1364
1365	unsigned int * buffer_Gujarati = new unsigned int [516];
1366	YYCTYPE * s_Gujarati = (YYCTYPE *) buffer_Gujarati;
1367	unsigned int buffer_Gujarati_len = encode_utf8 (chars_Gujarati, sizeof (chars_Gujarati) / sizeof (unsigned int), buffer_Gujarati);
1368	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1369	for (unsigned int i = 0; i < buffer_Gujarati_len; ++i) s_Gujarati[i] = buffer_Gujarati[i];
1370	if (scan (s_Gujarati, s_Gujarati + buffer_Gujarati_len, Gujarati) != Gujarati)
1371		printf ("test 'Gujarati' failed\n");
1372	delete [] buffer_Gujarati;
1373
1374	unsigned int * buffer_Oriya = new unsigned int [516];
1375	YYCTYPE * s_Oriya = (YYCTYPE *) buffer_Oriya;
1376	unsigned int buffer_Oriya_len = encode_utf8 (chars_Oriya, sizeof (chars_Oriya) / sizeof (unsigned int), buffer_Oriya);
1377	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1378	for (unsigned int i = 0; i < buffer_Oriya_len; ++i) s_Oriya[i] = buffer_Oriya[i];
1379	if (scan (s_Oriya, s_Oriya + buffer_Oriya_len, Oriya) != Oriya)
1380		printf ("test 'Oriya' failed\n");
1381	delete [] buffer_Oriya;
1382
1383	unsigned int * buffer_Tamil = new unsigned int [516];
1384	YYCTYPE * s_Tamil = (YYCTYPE *) buffer_Tamil;
1385	unsigned int buffer_Tamil_len = encode_utf8 (chars_Tamil, sizeof (chars_Tamil) / sizeof (unsigned int), buffer_Tamil);
1386	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1387	for (unsigned int i = 0; i < buffer_Tamil_len; ++i) s_Tamil[i] = buffer_Tamil[i];
1388	if (scan (s_Tamil, s_Tamil + buffer_Tamil_len, Tamil) != Tamil)
1389		printf ("test 'Tamil' failed\n");
1390	delete [] buffer_Tamil;
1391
1392	unsigned int * buffer_Telugu = new unsigned int [516];
1393	YYCTYPE * s_Telugu = (YYCTYPE *) buffer_Telugu;
1394	unsigned int buffer_Telugu_len = encode_utf8 (chars_Telugu, sizeof (chars_Telugu) / sizeof (unsigned int), buffer_Telugu);
1395	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1396	for (unsigned int i = 0; i < buffer_Telugu_len; ++i) s_Telugu[i] = buffer_Telugu[i];
1397	if (scan (s_Telugu, s_Telugu + buffer_Telugu_len, Telugu) != Telugu)
1398		printf ("test 'Telugu' failed\n");
1399	delete [] buffer_Telugu;
1400
1401	unsigned int * buffer_Kannada = new unsigned int [516];
1402	YYCTYPE * s_Kannada = (YYCTYPE *) buffer_Kannada;
1403	unsigned int buffer_Kannada_len = encode_utf8 (chars_Kannada, sizeof (chars_Kannada) / sizeof (unsigned int), buffer_Kannada);
1404	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1405	for (unsigned int i = 0; i < buffer_Kannada_len; ++i) s_Kannada[i] = buffer_Kannada[i];
1406	if (scan (s_Kannada, s_Kannada + buffer_Kannada_len, Kannada) != Kannada)
1407		printf ("test 'Kannada' failed\n");
1408	delete [] buffer_Kannada;
1409
1410	unsigned int * buffer_Malayalam = new unsigned int [516];
1411	YYCTYPE * s_Malayalam = (YYCTYPE *) buffer_Malayalam;
1412	unsigned int buffer_Malayalam_len = encode_utf8 (chars_Malayalam, sizeof (chars_Malayalam) / sizeof (unsigned int), buffer_Malayalam);
1413	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1414	for (unsigned int i = 0; i < buffer_Malayalam_len; ++i) s_Malayalam[i] = buffer_Malayalam[i];
1415	if (scan (s_Malayalam, s_Malayalam + buffer_Malayalam_len, Malayalam) != Malayalam)
1416		printf ("test 'Malayalam' failed\n");
1417	delete [] buffer_Malayalam;
1418
1419	unsigned int * buffer_Sinhala = new unsigned int [516];
1420	YYCTYPE * s_Sinhala = (YYCTYPE *) buffer_Sinhala;
1421	unsigned int buffer_Sinhala_len = encode_utf8 (chars_Sinhala, sizeof (chars_Sinhala) / sizeof (unsigned int), buffer_Sinhala);
1422	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1423	for (unsigned int i = 0; i < buffer_Sinhala_len; ++i) s_Sinhala[i] = buffer_Sinhala[i];
1424	if (scan (s_Sinhala, s_Sinhala + buffer_Sinhala_len, Sinhala) != Sinhala)
1425		printf ("test 'Sinhala' failed\n");
1426	delete [] buffer_Sinhala;
1427
1428	unsigned int * buffer_Thai = new unsigned int [516];
1429	YYCTYPE * s_Thai = (YYCTYPE *) buffer_Thai;
1430	unsigned int buffer_Thai_len = encode_utf8 (chars_Thai, sizeof (chars_Thai) / sizeof (unsigned int), buffer_Thai);
1431	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1432	for (unsigned int i = 0; i < buffer_Thai_len; ++i) s_Thai[i] = buffer_Thai[i];
1433	if (scan (s_Thai, s_Thai + buffer_Thai_len, Thai) != Thai)
1434		printf ("test 'Thai' failed\n");
1435	delete [] buffer_Thai;
1436
1437	unsigned int * buffer_Lao = new unsigned int [516];
1438	YYCTYPE * s_Lao = (YYCTYPE *) buffer_Lao;
1439	unsigned int buffer_Lao_len = encode_utf8 (chars_Lao, sizeof (chars_Lao) / sizeof (unsigned int), buffer_Lao);
1440	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1441	for (unsigned int i = 0; i < buffer_Lao_len; ++i) s_Lao[i] = buffer_Lao[i];
1442	if (scan (s_Lao, s_Lao + buffer_Lao_len, Lao) != Lao)
1443		printf ("test 'Lao' failed\n");
1444	delete [] buffer_Lao;
1445
1446	unsigned int * buffer_Tibetan = new unsigned int [1028];
1447	YYCTYPE * s_Tibetan = (YYCTYPE *) buffer_Tibetan;
1448	unsigned int buffer_Tibetan_len = encode_utf8 (chars_Tibetan, sizeof (chars_Tibetan) / sizeof (unsigned int), buffer_Tibetan);
1449	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1450	for (unsigned int i = 0; i < buffer_Tibetan_len; ++i) s_Tibetan[i] = buffer_Tibetan[i];
1451	if (scan (s_Tibetan, s_Tibetan + buffer_Tibetan_len, Tibetan) != Tibetan)
1452		printf ("test 'Tibetan' failed\n");
1453	delete [] buffer_Tibetan;
1454
1455	unsigned int * buffer_Myanmar = new unsigned int [644];
1456	YYCTYPE * s_Myanmar = (YYCTYPE *) buffer_Myanmar;
1457	unsigned int buffer_Myanmar_len = encode_utf8 (chars_Myanmar, sizeof (chars_Myanmar) / sizeof (unsigned int), buffer_Myanmar);
1458	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1459	for (unsigned int i = 0; i < buffer_Myanmar_len; ++i) s_Myanmar[i] = buffer_Myanmar[i];
1460	if (scan (s_Myanmar, s_Myanmar + buffer_Myanmar_len, Myanmar) != Myanmar)
1461		printf ("test 'Myanmar' failed\n");
1462	delete [] buffer_Myanmar;
1463
1464	unsigned int * buffer_Georgian = new unsigned int [388];
1465	YYCTYPE * s_Georgian = (YYCTYPE *) buffer_Georgian;
1466	unsigned int buffer_Georgian_len = encode_utf8 (chars_Georgian, sizeof (chars_Georgian) / sizeof (unsigned int), buffer_Georgian);
1467	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1468	for (unsigned int i = 0; i < buffer_Georgian_len; ++i) s_Georgian[i] = buffer_Georgian[i];
1469	if (scan (s_Georgian, s_Georgian + buffer_Georgian_len, Georgian) != Georgian)
1470		printf ("test 'Georgian' failed\n");
1471	delete [] buffer_Georgian;
1472
1473	unsigned int * buffer_Hangul_Jamo = new unsigned int [1028];
1474	YYCTYPE * s_Hangul_Jamo = (YYCTYPE *) buffer_Hangul_Jamo;
1475	unsigned int buffer_Hangul_Jamo_len = encode_utf8 (chars_Hangul_Jamo, sizeof (chars_Hangul_Jamo) / sizeof (unsigned int), buffer_Hangul_Jamo);
1476	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1477	for (unsigned int i = 0; i < buffer_Hangul_Jamo_len; ++i) s_Hangul_Jamo[i] = buffer_Hangul_Jamo[i];
1478	if (scan (s_Hangul_Jamo, s_Hangul_Jamo + buffer_Hangul_Jamo_len, Hangul_Jamo) != Hangul_Jamo)
1479		printf ("test 'Hangul_Jamo' failed\n");
1480	delete [] buffer_Hangul_Jamo;
1481
1482	unsigned int * buffer_Ethiopic = new unsigned int [1540];
1483	YYCTYPE * s_Ethiopic = (YYCTYPE *) buffer_Ethiopic;
1484	unsigned int buffer_Ethiopic_len = encode_utf8 (chars_Ethiopic, sizeof (chars_Ethiopic) / sizeof (unsigned int), buffer_Ethiopic);
1485	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1486	for (unsigned int i = 0; i < buffer_Ethiopic_len; ++i) s_Ethiopic[i] = buffer_Ethiopic[i];
1487	if (scan (s_Ethiopic, s_Ethiopic + buffer_Ethiopic_len, Ethiopic) != Ethiopic)
1488		printf ("test 'Ethiopic' failed\n");
1489	delete [] buffer_Ethiopic;
1490
1491	unsigned int * buffer_Cherokee = new unsigned int [388];
1492	YYCTYPE * s_Cherokee = (YYCTYPE *) buffer_Cherokee;
1493	unsigned int buffer_Cherokee_len = encode_utf8 (chars_Cherokee, sizeof (chars_Cherokee) / sizeof (unsigned int), buffer_Cherokee);
1494	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1495	for (unsigned int i = 0; i < buffer_Cherokee_len; ++i) s_Cherokee[i] = buffer_Cherokee[i];
1496	if (scan (s_Cherokee, s_Cherokee + buffer_Cherokee_len, Cherokee) != Cherokee)
1497		printf ("test 'Cherokee' failed\n");
1498	delete [] buffer_Cherokee;
1499
1500	unsigned int * buffer_Unified_Canadian_Aboriginal_Syllabics = new unsigned int [2564];
1501	YYCTYPE * s_Unified_Canadian_Aboriginal_Syllabics = (YYCTYPE *) buffer_Unified_Canadian_Aboriginal_Syllabics;
1502	unsigned int buffer_Unified_Canadian_Aboriginal_Syllabics_len = encode_utf8 (chars_Unified_Canadian_Aboriginal_Syllabics, sizeof (chars_Unified_Canadian_Aboriginal_Syllabics) / sizeof (unsigned int), buffer_Unified_Canadian_Aboriginal_Syllabics);
1503	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1504	for (unsigned int i = 0; i < buffer_Unified_Canadian_Aboriginal_Syllabics_len; ++i) s_Unified_Canadian_Aboriginal_Syllabics[i] = buffer_Unified_Canadian_Aboriginal_Syllabics[i];
1505	if (scan (s_Unified_Canadian_Aboriginal_Syllabics, s_Unified_Canadian_Aboriginal_Syllabics + buffer_Unified_Canadian_Aboriginal_Syllabics_len, Unified_Canadian_Aboriginal_Syllabics) != Unified_Canadian_Aboriginal_Syllabics)
1506		printf ("test 'Unified_Canadian_Aboriginal_Syllabics' failed\n");
1507	delete [] buffer_Unified_Canadian_Aboriginal_Syllabics;
1508
1509	unsigned int * buffer_Ogham = new unsigned int [132];
1510	YYCTYPE * s_Ogham = (YYCTYPE *) buffer_Ogham;
1511	unsigned int buffer_Ogham_len = encode_utf8 (chars_Ogham, sizeof (chars_Ogham) / sizeof (unsigned int), buffer_Ogham);
1512	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1513	for (unsigned int i = 0; i < buffer_Ogham_len; ++i) s_Ogham[i] = buffer_Ogham[i];
1514	if (scan (s_Ogham, s_Ogham + buffer_Ogham_len, Ogham) != Ogham)
1515		printf ("test 'Ogham' failed\n");
1516	delete [] buffer_Ogham;
1517
1518	unsigned int * buffer_Runic = new unsigned int [388];
1519	YYCTYPE * s_Runic = (YYCTYPE *) buffer_Runic;
1520	unsigned int buffer_Runic_len = encode_utf8 (chars_Runic, sizeof (chars_Runic) / sizeof (unsigned int), buffer_Runic);
1521	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1522	for (unsigned int i = 0; i < buffer_Runic_len; ++i) s_Runic[i] = buffer_Runic[i];
1523	if (scan (s_Runic, s_Runic + buffer_Runic_len, Runic) != Runic)
1524		printf ("test 'Runic' failed\n");
1525	delete [] buffer_Runic;
1526
1527	unsigned int * buffer_Tagalog = new unsigned int [132];
1528	YYCTYPE * s_Tagalog = (YYCTYPE *) buffer_Tagalog;
1529	unsigned int buffer_Tagalog_len = encode_utf8 (chars_Tagalog, sizeof (chars_Tagalog) / sizeof (unsigned int), buffer_Tagalog);
1530	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1531	for (unsigned int i = 0; i < buffer_Tagalog_len; ++i) s_Tagalog[i] = buffer_Tagalog[i];
1532	if (scan (s_Tagalog, s_Tagalog + buffer_Tagalog_len, Tagalog) != Tagalog)
1533		printf ("test 'Tagalog' failed\n");
1534	delete [] buffer_Tagalog;
1535
1536	unsigned int * buffer_Hanunoo = new unsigned int [132];
1537	YYCTYPE * s_Hanunoo = (YYCTYPE *) buffer_Hanunoo;
1538	unsigned int buffer_Hanunoo_len = encode_utf8 (chars_Hanunoo, sizeof (chars_Hanunoo) / sizeof (unsigned int), buffer_Hanunoo);
1539	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1540	for (unsigned int i = 0; i < buffer_Hanunoo_len; ++i) s_Hanunoo[i] = buffer_Hanunoo[i];
1541	if (scan (s_Hanunoo, s_Hanunoo + buffer_Hanunoo_len, Hanunoo) != Hanunoo)
1542		printf ("test 'Hanunoo' failed\n");
1543	delete [] buffer_Hanunoo;
1544
1545	unsigned int * buffer_Buhid = new unsigned int [132];
1546	YYCTYPE * s_Buhid = (YYCTYPE *) buffer_Buhid;
1547	unsigned int buffer_Buhid_len = encode_utf8 (chars_Buhid, sizeof (chars_Buhid) / sizeof (unsigned int), buffer_Buhid);
1548	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1549	for (unsigned int i = 0; i < buffer_Buhid_len; ++i) s_Buhid[i] = buffer_Buhid[i];
1550	if (scan (s_Buhid, s_Buhid + buffer_Buhid_len, Buhid) != Buhid)
1551		printf ("test 'Buhid' failed\n");
1552	delete [] buffer_Buhid;
1553
1554	unsigned int * buffer_Tagbanwa = new unsigned int [132];
1555	YYCTYPE * s_Tagbanwa = (YYCTYPE *) buffer_Tagbanwa;
1556	unsigned int buffer_Tagbanwa_len = encode_utf8 (chars_Tagbanwa, sizeof (chars_Tagbanwa) / sizeof (unsigned int), buffer_Tagbanwa);
1557	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1558	for (unsigned int i = 0; i < buffer_Tagbanwa_len; ++i) s_Tagbanwa[i] = buffer_Tagbanwa[i];
1559	if (scan (s_Tagbanwa, s_Tagbanwa + buffer_Tagbanwa_len, Tagbanwa) != Tagbanwa)
1560		printf ("test 'Tagbanwa' failed\n");
1561	delete [] buffer_Tagbanwa;
1562
1563	unsigned int * buffer_Khmer = new unsigned int [516];
1564	YYCTYPE * s_Khmer = (YYCTYPE *) buffer_Khmer;
1565	unsigned int buffer_Khmer_len = encode_utf8 (chars_Khmer, sizeof (chars_Khmer) / sizeof (unsigned int), buffer_Khmer);
1566	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1567	for (unsigned int i = 0; i < buffer_Khmer_len; ++i) s_Khmer[i] = buffer_Khmer[i];
1568	if (scan (s_Khmer, s_Khmer + buffer_Khmer_len, Khmer) != Khmer)
1569		printf ("test 'Khmer' failed\n");
1570	delete [] buffer_Khmer;
1571
1572	unsigned int * buffer_Mongolian = new unsigned int [708];
1573	YYCTYPE * s_Mongolian = (YYCTYPE *) buffer_Mongolian;
1574	unsigned int buffer_Mongolian_len = encode_utf8 (chars_Mongolian, sizeof (chars_Mongolian) / sizeof (unsigned int), buffer_Mongolian);
1575	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1576	for (unsigned int i = 0; i < buffer_Mongolian_len; ++i) s_Mongolian[i] = buffer_Mongolian[i];
1577	if (scan (s_Mongolian, s_Mongolian + buffer_Mongolian_len, Mongolian) != Mongolian)
1578		printf ("test 'Mongolian' failed\n");
1579	delete [] buffer_Mongolian;
1580
1581	unsigned int * buffer_Limbu = new unsigned int [324];
1582	YYCTYPE * s_Limbu = (YYCTYPE *) buffer_Limbu;
1583	unsigned int buffer_Limbu_len = encode_utf8 (chars_Limbu, sizeof (chars_Limbu) / sizeof (unsigned int), buffer_Limbu);
1584	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1585	for (unsigned int i = 0; i < buffer_Limbu_len; ++i) s_Limbu[i] = buffer_Limbu[i];
1586	if (scan (s_Limbu, s_Limbu + buffer_Limbu_len, Limbu) != Limbu)
1587		printf ("test 'Limbu' failed\n");
1588	delete [] buffer_Limbu;
1589
1590	unsigned int * buffer_Tai_Le = new unsigned int [196];
1591	YYCTYPE * s_Tai_Le = (YYCTYPE *) buffer_Tai_Le;
1592	unsigned int buffer_Tai_Le_len = encode_utf8 (chars_Tai_Le, sizeof (chars_Tai_Le) / sizeof (unsigned int), buffer_Tai_Le);
1593	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1594	for (unsigned int i = 0; i < buffer_Tai_Le_len; ++i) s_Tai_Le[i] = buffer_Tai_Le[i];
1595	if (scan (s_Tai_Le, s_Tai_Le + buffer_Tai_Le_len, Tai_Le) != Tai_Le)
1596		printf ("test 'Tai_Le' failed\n");
1597	delete [] buffer_Tai_Le;
1598
1599	unsigned int * buffer_Khmer_Symbols = new unsigned int [132];
1600	YYCTYPE * s_Khmer_Symbols = (YYCTYPE *) buffer_Khmer_Symbols;
1601	unsigned int buffer_Khmer_Symbols_len = encode_utf8 (chars_Khmer_Symbols, sizeof (chars_Khmer_Symbols) / sizeof (unsigned int), buffer_Khmer_Symbols);
1602	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1603	for (unsigned int i = 0; i < buffer_Khmer_Symbols_len; ++i) s_Khmer_Symbols[i] = buffer_Khmer_Symbols[i];
1604	if (scan (s_Khmer_Symbols, s_Khmer_Symbols + buffer_Khmer_Symbols_len, Khmer_Symbols) != Khmer_Symbols)
1605		printf ("test 'Khmer_Symbols' failed\n");
1606	delete [] buffer_Khmer_Symbols;
1607
1608	unsigned int * buffer_Phonetic_Extensions = new unsigned int [516];
1609	YYCTYPE * s_Phonetic_Extensions = (YYCTYPE *) buffer_Phonetic_Extensions;
1610	unsigned int buffer_Phonetic_Extensions_len = encode_utf8 (chars_Phonetic_Extensions, sizeof (chars_Phonetic_Extensions) / sizeof (unsigned int), buffer_Phonetic_Extensions);
1611	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1612	for (unsigned int i = 0; i < buffer_Phonetic_Extensions_len; ++i) s_Phonetic_Extensions[i] = buffer_Phonetic_Extensions[i];
1613	if (scan (s_Phonetic_Extensions, s_Phonetic_Extensions + buffer_Phonetic_Extensions_len, Phonetic_Extensions) != Phonetic_Extensions)
1614		printf ("test 'Phonetic_Extensions' failed\n");
1615	delete [] buffer_Phonetic_Extensions;
1616
1617	unsigned int * buffer_Latin_Extended_Additional = new unsigned int [1028];
1618	YYCTYPE * s_Latin_Extended_Additional = (YYCTYPE *) buffer_Latin_Extended_Additional;
1619	unsigned int buffer_Latin_Extended_Additional_len = encode_utf8 (chars_Latin_Extended_Additional, sizeof (chars_Latin_Extended_Additional) / sizeof (unsigned int), buffer_Latin_Extended_Additional);
1620	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1621	for (unsigned int i = 0; i < buffer_Latin_Extended_Additional_len; ++i) s_Latin_Extended_Additional[i] = buffer_Latin_Extended_Additional[i];
1622	if (scan (s_Latin_Extended_Additional, s_Latin_Extended_Additional + buffer_Latin_Extended_Additional_len, Latin_Extended_Additional) != Latin_Extended_Additional)
1623		printf ("test 'Latin_Extended_Additional' failed\n");
1624	delete [] buffer_Latin_Extended_Additional;
1625
1626	unsigned int * buffer_Greek_Extended = new unsigned int [1028];
1627	YYCTYPE * s_Greek_Extended = (YYCTYPE *) buffer_Greek_Extended;
1628	unsigned int buffer_Greek_Extended_len = encode_utf8 (chars_Greek_Extended, sizeof (chars_Greek_Extended) / sizeof (unsigned int), buffer_Greek_Extended);
1629	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1630	for (unsigned int i = 0; i < buffer_Greek_Extended_len; ++i) s_Greek_Extended[i] = buffer_Greek_Extended[i];
1631	if (scan (s_Greek_Extended, s_Greek_Extended + buffer_Greek_Extended_len, Greek_Extended) != Greek_Extended)
1632		printf ("test 'Greek_Extended' failed\n");
1633	delete [] buffer_Greek_Extended;
1634
1635	unsigned int * buffer_General_Punctuation = new unsigned int [452];
1636	YYCTYPE * s_General_Punctuation = (YYCTYPE *) buffer_General_Punctuation;
1637	unsigned int buffer_General_Punctuation_len = encode_utf8 (chars_General_Punctuation, sizeof (chars_General_Punctuation) / sizeof (unsigned int), buffer_General_Punctuation);
1638	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1639	for (unsigned int i = 0; i < buffer_General_Punctuation_len; ++i) s_General_Punctuation[i] = buffer_General_Punctuation[i];
1640	if (scan (s_General_Punctuation, s_General_Punctuation + buffer_General_Punctuation_len, General_Punctuation) != General_Punctuation)
1641		printf ("test 'General_Punctuation' failed\n");
1642	delete [] buffer_General_Punctuation;
1643
1644	unsigned int * buffer_Superscripts_and_Subscripts = new unsigned int [196];
1645	YYCTYPE * s_Superscripts_and_Subscripts = (YYCTYPE *) buffer_Superscripts_and_Subscripts;
1646	unsigned int buffer_Superscripts_and_Subscripts_len = encode_utf8 (chars_Superscripts_and_Subscripts, sizeof (chars_Superscripts_and_Subscripts) / sizeof (unsigned int), buffer_Superscripts_and_Subscripts);
1647	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1648	for (unsigned int i = 0; i < buffer_Superscripts_and_Subscripts_len; ++i) s_Superscripts_and_Subscripts[i] = buffer_Superscripts_and_Subscripts[i];
1649	if (scan (s_Superscripts_and_Subscripts, s_Superscripts_and_Subscripts + buffer_Superscripts_and_Subscripts_len, Superscripts_and_Subscripts) != Superscripts_and_Subscripts)
1650		printf ("test 'Superscripts_and_Subscripts' failed\n");
1651	delete [] buffer_Superscripts_and_Subscripts;
1652
1653	unsigned int * buffer_Currency_Symbols = new unsigned int [196];
1654	YYCTYPE * s_Currency_Symbols = (YYCTYPE *) buffer_Currency_Symbols;
1655	unsigned int buffer_Currency_Symbols_len = encode_utf8 (chars_Currency_Symbols, sizeof (chars_Currency_Symbols) / sizeof (unsigned int), buffer_Currency_Symbols);
1656	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1657	for (unsigned int i = 0; i < buffer_Currency_Symbols_len; ++i) s_Currency_Symbols[i] = buffer_Currency_Symbols[i];
1658	if (scan (s_Currency_Symbols, s_Currency_Symbols + buffer_Currency_Symbols_len, Currency_Symbols) != Currency_Symbols)
1659		printf ("test 'Currency_Symbols' failed\n");
1660	delete [] buffer_Currency_Symbols;
1661
1662	unsigned int * buffer_Combining_Diacritical_Marks_for_Symbols = new unsigned int [196];
1663	YYCTYPE * s_Combining_Diacritical_Marks_for_Symbols = (YYCTYPE *) buffer_Combining_Diacritical_Marks_for_Symbols;
1664	unsigned int buffer_Combining_Diacritical_Marks_for_Symbols_len = encode_utf8 (chars_Combining_Diacritical_Marks_for_Symbols, sizeof (chars_Combining_Diacritical_Marks_for_Symbols) / sizeof (unsigned int), buffer_Combining_Diacritical_Marks_for_Symbols);
1665	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1666	for (unsigned int i = 0; i < buffer_Combining_Diacritical_Marks_for_Symbols_len; ++i) s_Combining_Diacritical_Marks_for_Symbols[i] = buffer_Combining_Diacritical_Marks_for_Symbols[i];
1667	if (scan (s_Combining_Diacritical_Marks_for_Symbols, s_Combining_Diacritical_Marks_for_Symbols + buffer_Combining_Diacritical_Marks_for_Symbols_len, Combining_Diacritical_Marks_for_Symbols) != Combining_Diacritical_Marks_for_Symbols)
1668		printf ("test 'Combining_Diacritical_Marks_for_Symbols' failed\n");
1669	delete [] buffer_Combining_Diacritical_Marks_for_Symbols;
1670
1671	unsigned int * buffer_Letterlike_Symbols = new unsigned int [324];
1672	YYCTYPE * s_Letterlike_Symbols = (YYCTYPE *) buffer_Letterlike_Symbols;
1673	unsigned int buffer_Letterlike_Symbols_len = encode_utf8 (chars_Letterlike_Symbols, sizeof (chars_Letterlike_Symbols) / sizeof (unsigned int), buffer_Letterlike_Symbols);
1674	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1675	for (unsigned int i = 0; i < buffer_Letterlike_Symbols_len; ++i) s_Letterlike_Symbols[i] = buffer_Letterlike_Symbols[i];
1676	if (scan (s_Letterlike_Symbols, s_Letterlike_Symbols + buffer_Letterlike_Symbols_len, Letterlike_Symbols) != Letterlike_Symbols)
1677		printf ("test 'Letterlike_Symbols' failed\n");
1678	delete [] buffer_Letterlike_Symbols;
1679
1680	unsigned int * buffer_Number_Forms = new unsigned int [260];
1681	YYCTYPE * s_Number_Forms = (YYCTYPE *) buffer_Number_Forms;
1682	unsigned int buffer_Number_Forms_len = encode_utf8 (chars_Number_Forms, sizeof (chars_Number_Forms) / sizeof (unsigned int), buffer_Number_Forms);
1683	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1684	for (unsigned int i = 0; i < buffer_Number_Forms_len; ++i) s_Number_Forms[i] = buffer_Number_Forms[i];
1685	if (scan (s_Number_Forms, s_Number_Forms + buffer_Number_Forms_len, Number_Forms) != Number_Forms)
1686		printf ("test 'Number_Forms' failed\n");
1687	delete [] buffer_Number_Forms;
1688
1689	unsigned int * buffer_Arrows = new unsigned int [452];
1690	YYCTYPE * s_Arrows = (YYCTYPE *) buffer_Arrows;
1691	unsigned int buffer_Arrows_len = encode_utf8 (chars_Arrows, sizeof (chars_Arrows) / sizeof (unsigned int), buffer_Arrows);
1692	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1693	for (unsigned int i = 0; i < buffer_Arrows_len; ++i) s_Arrows[i] = buffer_Arrows[i];
1694	if (scan (s_Arrows, s_Arrows + buffer_Arrows_len, Arrows) != Arrows)
1695		printf ("test 'Arrows' failed\n");
1696	delete [] buffer_Arrows;
1697
1698	unsigned int * buffer_Mathematical_Operators = new unsigned int [1028];
1699	YYCTYPE * s_Mathematical_Operators = (YYCTYPE *) buffer_Mathematical_Operators;
1700	unsigned int buffer_Mathematical_Operators_len = encode_utf8 (chars_Mathematical_Operators, sizeof (chars_Mathematical_Operators) / sizeof (unsigned int), buffer_Mathematical_Operators);
1701	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1702	for (unsigned int i = 0; i < buffer_Mathematical_Operators_len; ++i) s_Mathematical_Operators[i] = buffer_Mathematical_Operators[i];
1703	if (scan (s_Mathematical_Operators, s_Mathematical_Operators + buffer_Mathematical_Operators_len, Mathematical_Operators) != Mathematical_Operators)
1704		printf ("test 'Mathematical_Operators' failed\n");
1705	delete [] buffer_Mathematical_Operators;
1706
1707	unsigned int * buffer_Miscellaneous_Technical = new unsigned int [1028];
1708	YYCTYPE * s_Miscellaneous_Technical = (YYCTYPE *) buffer_Miscellaneous_Technical;
1709	unsigned int buffer_Miscellaneous_Technical_len = encode_utf8 (chars_Miscellaneous_Technical, sizeof (chars_Miscellaneous_Technical) / sizeof (unsigned int), buffer_Miscellaneous_Technical);
1710	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1711	for (unsigned int i = 0; i < buffer_Miscellaneous_Technical_len; ++i) s_Miscellaneous_Technical[i] = buffer_Miscellaneous_Technical[i];
1712	if (scan (s_Miscellaneous_Technical, s_Miscellaneous_Technical + buffer_Miscellaneous_Technical_len, Miscellaneous_Technical) != Miscellaneous_Technical)
1713		printf ("test 'Miscellaneous_Technical' failed\n");
1714	delete [] buffer_Miscellaneous_Technical;
1715
1716	unsigned int * buffer_Control_Pictures = new unsigned int [260];
1717	YYCTYPE * s_Control_Pictures = (YYCTYPE *) buffer_Control_Pictures;
1718	unsigned int buffer_Control_Pictures_len = encode_utf8 (chars_Control_Pictures, sizeof (chars_Control_Pictures) / sizeof (unsigned int), buffer_Control_Pictures);
1719	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1720	for (unsigned int i = 0; i < buffer_Control_Pictures_len; ++i) s_Control_Pictures[i] = buffer_Control_Pictures[i];
1721	if (scan (s_Control_Pictures, s_Control_Pictures + buffer_Control_Pictures_len, Control_Pictures) != Control_Pictures)
1722		printf ("test 'Control_Pictures' failed\n");
1723	delete [] buffer_Control_Pictures;
1724
1725	unsigned int * buffer_Optical_Character_Recognition = new unsigned int [132];
1726	YYCTYPE * s_Optical_Character_Recognition = (YYCTYPE *) buffer_Optical_Character_Recognition;
1727	unsigned int buffer_Optical_Character_Recognition_len = encode_utf8 (chars_Optical_Character_Recognition, sizeof (chars_Optical_Character_Recognition) / sizeof (unsigned int), buffer_Optical_Character_Recognition);
1728	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1729	for (unsigned int i = 0; i < buffer_Optical_Character_Recognition_len; ++i) s_Optical_Character_Recognition[i] = buffer_Optical_Character_Recognition[i];
1730	if (scan (s_Optical_Character_Recognition, s_Optical_Character_Recognition + buffer_Optical_Character_Recognition_len, Optical_Character_Recognition) != Optical_Character_Recognition)
1731		printf ("test 'Optical_Character_Recognition' failed\n");
1732	delete [] buffer_Optical_Character_Recognition;
1733
1734	unsigned int * buffer_Enclosed_Alphanumerics = new unsigned int [644];
1735	YYCTYPE * s_Enclosed_Alphanumerics = (YYCTYPE *) buffer_Enclosed_Alphanumerics;
1736	unsigned int buffer_Enclosed_Alphanumerics_len = encode_utf8 (chars_Enclosed_Alphanumerics, sizeof (chars_Enclosed_Alphanumerics) / sizeof (unsigned int), buffer_Enclosed_Alphanumerics);
1737	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1738	for (unsigned int i = 0; i < buffer_Enclosed_Alphanumerics_len; ++i) s_Enclosed_Alphanumerics[i] = buffer_Enclosed_Alphanumerics[i];
1739	if (scan (s_Enclosed_Alphanumerics, s_Enclosed_Alphanumerics + buffer_Enclosed_Alphanumerics_len, Enclosed_Alphanumerics) != Enclosed_Alphanumerics)
1740		printf ("test 'Enclosed_Alphanumerics' failed\n");
1741	delete [] buffer_Enclosed_Alphanumerics;
1742
1743	unsigned int * buffer_Box_Drawing = new unsigned int [516];
1744	YYCTYPE * s_Box_Drawing = (YYCTYPE *) buffer_Box_Drawing;
1745	unsigned int buffer_Box_Drawing_len = encode_utf8 (chars_Box_Drawing, sizeof (chars_Box_Drawing) / sizeof (unsigned int), buffer_Box_Drawing);
1746	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1747	for (unsigned int i = 0; i < buffer_Box_Drawing_len; ++i) s_Box_Drawing[i] = buffer_Box_Drawing[i];
1748	if (scan (s_Box_Drawing, s_Box_Drawing + buffer_Box_Drawing_len, Box_Drawing) != Box_Drawing)
1749		printf ("test 'Box_Drawing' failed\n");
1750	delete [] buffer_Box_Drawing;
1751
1752	unsigned int * buffer_Block_Elements = new unsigned int [132];
1753	YYCTYPE * s_Block_Elements = (YYCTYPE *) buffer_Block_Elements;
1754	unsigned int buffer_Block_Elements_len = encode_utf8 (chars_Block_Elements, sizeof (chars_Block_Elements) / sizeof (unsigned int), buffer_Block_Elements);
1755	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1756	for (unsigned int i = 0; i < buffer_Block_Elements_len; ++i) s_Block_Elements[i] = buffer_Block_Elements[i];
1757	if (scan (s_Block_Elements, s_Block_Elements + buffer_Block_Elements_len, Block_Elements) != Block_Elements)
1758		printf ("test 'Block_Elements' failed\n");
1759	delete [] buffer_Block_Elements;
1760
1761	unsigned int * buffer_Geometric_Shapes = new unsigned int [388];
1762	YYCTYPE * s_Geometric_Shapes = (YYCTYPE *) buffer_Geometric_Shapes;
1763	unsigned int buffer_Geometric_Shapes_len = encode_utf8 (chars_Geometric_Shapes, sizeof (chars_Geometric_Shapes) / sizeof (unsigned int), buffer_Geometric_Shapes);
1764	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1765	for (unsigned int i = 0; i < buffer_Geometric_Shapes_len; ++i) s_Geometric_Shapes[i] = buffer_Geometric_Shapes[i];
1766	if (scan (s_Geometric_Shapes, s_Geometric_Shapes + buffer_Geometric_Shapes_len, Geometric_Shapes) != Geometric_Shapes)
1767		printf ("test 'Geometric_Shapes' failed\n");
1768	delete [] buffer_Geometric_Shapes;
1769
1770	unsigned int * buffer_Miscellaneous_Symbols = new unsigned int [1028];
1771	YYCTYPE * s_Miscellaneous_Symbols = (YYCTYPE *) buffer_Miscellaneous_Symbols;
1772	unsigned int buffer_Miscellaneous_Symbols_len = encode_utf8 (chars_Miscellaneous_Symbols, sizeof (chars_Miscellaneous_Symbols) / sizeof (unsigned int), buffer_Miscellaneous_Symbols);
1773	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1774	for (unsigned int i = 0; i < buffer_Miscellaneous_Symbols_len; ++i) s_Miscellaneous_Symbols[i] = buffer_Miscellaneous_Symbols[i];
1775	if (scan (s_Miscellaneous_Symbols, s_Miscellaneous_Symbols + buffer_Miscellaneous_Symbols_len, Miscellaneous_Symbols) != Miscellaneous_Symbols)
1776		printf ("test 'Miscellaneous_Symbols' failed\n");
1777	delete [] buffer_Miscellaneous_Symbols;
1778
1779	unsigned int * buffer_Dingbats = new unsigned int [772];
1780	YYCTYPE * s_Dingbats = (YYCTYPE *) buffer_Dingbats;
1781	unsigned int buffer_Dingbats_len = encode_utf8 (chars_Dingbats, sizeof (chars_Dingbats) / sizeof (unsigned int), buffer_Dingbats);
1782	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1783	for (unsigned int i = 0; i < buffer_Dingbats_len; ++i) s_Dingbats[i] = buffer_Dingbats[i];
1784	if (scan (s_Dingbats, s_Dingbats + buffer_Dingbats_len, Dingbats) != Dingbats)
1785		printf ("test 'Dingbats' failed\n");
1786	delete [] buffer_Dingbats;
1787
1788	unsigned int * buffer_Miscellaneous_Mathematical_Symbols_A = new unsigned int [196];
1789	YYCTYPE * s_Miscellaneous_Mathematical_Symbols_A = (YYCTYPE *) buffer_Miscellaneous_Mathematical_Symbols_A;
1790	unsigned int buffer_Miscellaneous_Mathematical_Symbols_A_len = encode_utf8 (chars_Miscellaneous_Mathematical_Symbols_A, sizeof (chars_Miscellaneous_Mathematical_Symbols_A) / sizeof (unsigned int), buffer_Miscellaneous_Mathematical_Symbols_A);
1791	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1792	for (unsigned int i = 0; i < buffer_Miscellaneous_Mathematical_Symbols_A_len; ++i) s_Miscellaneous_Mathematical_Symbols_A[i] = buffer_Miscellaneous_Mathematical_Symbols_A[i];
1793	if (scan (s_Miscellaneous_Mathematical_Symbols_A, s_Miscellaneous_Mathematical_Symbols_A + buffer_Miscellaneous_Mathematical_Symbols_A_len, Miscellaneous_Mathematical_Symbols_A) != Miscellaneous_Mathematical_Symbols_A)
1794		printf ("test 'Miscellaneous_Mathematical_Symbols_A' failed\n");
1795	delete [] buffer_Miscellaneous_Mathematical_Symbols_A;
1796
1797	unsigned int * buffer_Supplemental_Arrows_A = new unsigned int [68];
1798	YYCTYPE * s_Supplemental_Arrows_A = (YYCTYPE *) buffer_Supplemental_Arrows_A;
1799	unsigned int buffer_Supplemental_Arrows_A_len = encode_utf8 (chars_Supplemental_Arrows_A, sizeof (chars_Supplemental_Arrows_A) / sizeof (unsigned int), buffer_Supplemental_Arrows_A);
1800	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1801	for (unsigned int i = 0; i < buffer_Supplemental_Arrows_A_len; ++i) s_Supplemental_Arrows_A[i] = buffer_Supplemental_Arrows_A[i];
1802	if (scan (s_Supplemental_Arrows_A, s_Supplemental_Arrows_A + buffer_Supplemental_Arrows_A_len, Supplemental_Arrows_A) != Supplemental_Arrows_A)
1803		printf ("test 'Supplemental_Arrows_A' failed\n");
1804	delete [] buffer_Supplemental_Arrows_A;
1805
1806	unsigned int * buffer_Braille_Patterns = new unsigned int [1028];
1807	YYCTYPE * s_Braille_Patterns = (YYCTYPE *) buffer_Braille_Patterns;
1808	unsigned int buffer_Braille_Patterns_len = encode_utf8 (chars_Braille_Patterns, sizeof (chars_Braille_Patterns) / sizeof (unsigned int), buffer_Braille_Patterns);
1809	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1810	for (unsigned int i = 0; i < buffer_Braille_Patterns_len; ++i) s_Braille_Patterns[i] = buffer_Braille_Patterns[i];
1811	if (scan (s_Braille_Patterns, s_Braille_Patterns + buffer_Braille_Patterns_len, Braille_Patterns) != Braille_Patterns)
1812		printf ("test 'Braille_Patterns' failed\n");
1813	delete [] buffer_Braille_Patterns;
1814
1815	unsigned int * buffer_Supplemental_Arrows_B = new unsigned int [516];
1816	YYCTYPE * s_Supplemental_Arrows_B = (YYCTYPE *) buffer_Supplemental_Arrows_B;
1817	unsigned int buffer_Supplemental_Arrows_B_len = encode_utf8 (chars_Supplemental_Arrows_B, sizeof (chars_Supplemental_Arrows_B) / sizeof (unsigned int), buffer_Supplemental_Arrows_B);
1818	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1819	for (unsigned int i = 0; i < buffer_Supplemental_Arrows_B_len; ++i) s_Supplemental_Arrows_B[i] = buffer_Supplemental_Arrows_B[i];
1820	if (scan (s_Supplemental_Arrows_B, s_Supplemental_Arrows_B + buffer_Supplemental_Arrows_B_len, Supplemental_Arrows_B) != Supplemental_Arrows_B)
1821		printf ("test 'Supplemental_Arrows_B' failed\n");
1822	delete [] buffer_Supplemental_Arrows_B;
1823
1824	unsigned int * buffer_Miscellaneous_Mathematical_Symbols_B = new unsigned int [516];
1825	YYCTYPE * s_Miscellaneous_Mathematical_Symbols_B = (YYCTYPE *) buffer_Miscellaneous_Mathematical_Symbols_B;
1826	unsigned int buffer_Miscellaneous_Mathematical_Symbols_B_len = encode_utf8 (chars_Miscellaneous_Mathematical_Symbols_B, sizeof (chars_Miscellaneous_Mathematical_Symbols_B) / sizeof (unsigned int), buffer_Miscellaneous_Mathematical_Symbols_B);
1827	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1828	for (unsigned int i = 0; i < buffer_Miscellaneous_Mathematical_Symbols_B_len; ++i) s_Miscellaneous_Mathematical_Symbols_B[i] = buffer_Miscellaneous_Mathematical_Symbols_B[i];
1829	if (scan (s_Miscellaneous_Mathematical_Symbols_B, s_Miscellaneous_Mathematical_Symbols_B + buffer_Miscellaneous_Mathematical_Symbols_B_len, Miscellaneous_Mathematical_Symbols_B) != Miscellaneous_Mathematical_Symbols_B)
1830		printf ("test 'Miscellaneous_Mathematical_Symbols_B' failed\n");
1831	delete [] buffer_Miscellaneous_Mathematical_Symbols_B;
1832
1833	unsigned int * buffer_Supplemental_Mathematical_Operators = new unsigned int [1028];
1834	YYCTYPE * s_Supplemental_Mathematical_Operators = (YYCTYPE *) buffer_Supplemental_Mathematical_Operators;
1835	unsigned int buffer_Supplemental_Mathematical_Operators_len = encode_utf8 (chars_Supplemental_Mathematical_Operators, sizeof (chars_Supplemental_Mathematical_Operators) / sizeof (unsigned int), buffer_Supplemental_Mathematical_Operators);
1836	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1837	for (unsigned int i = 0; i < buffer_Supplemental_Mathematical_Operators_len; ++i) s_Supplemental_Mathematical_Operators[i] = buffer_Supplemental_Mathematical_Operators[i];
1838	if (scan (s_Supplemental_Mathematical_Operators, s_Supplemental_Mathematical_Operators + buffer_Supplemental_Mathematical_Operators_len, Supplemental_Mathematical_Operators) != Supplemental_Mathematical_Operators)
1839		printf ("test 'Supplemental_Mathematical_Operators' failed\n");
1840	delete [] buffer_Supplemental_Mathematical_Operators;
1841
1842	unsigned int * buffer_Miscellaneous_Symbols_and_Arrows = new unsigned int [1028];
1843	YYCTYPE * s_Miscellaneous_Symbols_and_Arrows = (YYCTYPE *) buffer_Miscellaneous_Symbols_and_Arrows;
1844	unsigned int buffer_Miscellaneous_Symbols_and_Arrows_len = encode_utf8 (chars_Miscellaneous_Symbols_and_Arrows, sizeof (chars_Miscellaneous_Symbols_and_Arrows) / sizeof (unsigned int), buffer_Miscellaneous_Symbols_and_Arrows);
1845	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1846	for (unsigned int i = 0; i < buffer_Miscellaneous_Symbols_and_Arrows_len; ++i) s_Miscellaneous_Symbols_and_Arrows[i] = buffer_Miscellaneous_Symbols_and_Arrows[i];
1847	if (scan (s_Miscellaneous_Symbols_and_Arrows, s_Miscellaneous_Symbols_and_Arrows + buffer_Miscellaneous_Symbols_and_Arrows_len, Miscellaneous_Symbols_and_Arrows) != Miscellaneous_Symbols_and_Arrows)
1848		printf ("test 'Miscellaneous_Symbols_and_Arrows' failed\n");
1849	delete [] buffer_Miscellaneous_Symbols_and_Arrows;
1850
1851	unsigned int * buffer_CJK_Radicals_Supplement = new unsigned int [516];
1852	YYCTYPE * s_CJK_Radicals_Supplement = (YYCTYPE *) buffer_CJK_Radicals_Supplement;
1853	unsigned int buffer_CJK_Radicals_Supplement_len = encode_utf8 (chars_CJK_Radicals_Supplement, sizeof (chars_CJK_Radicals_Supplement) / sizeof (unsigned int), buffer_CJK_Radicals_Supplement);
1854	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1855	for (unsigned int i = 0; i < buffer_CJK_Radicals_Supplement_len; ++i) s_CJK_Radicals_Supplement[i] = buffer_CJK_Radicals_Supplement[i];
1856	if (scan (s_CJK_Radicals_Supplement, s_CJK_Radicals_Supplement + buffer_CJK_Radicals_Supplement_len, CJK_Radicals_Supplement) != CJK_Radicals_Supplement)
1857		printf ("test 'CJK_Radicals_Supplement' failed\n");
1858	delete [] buffer_CJK_Radicals_Supplement;
1859
1860	unsigned int * buffer_Kangxi_Radicals = new unsigned int [900];
1861	YYCTYPE * s_Kangxi_Radicals = (YYCTYPE *) buffer_Kangxi_Radicals;
1862	unsigned int buffer_Kangxi_Radicals_len = encode_utf8 (chars_Kangxi_Radicals, sizeof (chars_Kangxi_Radicals) / sizeof (unsigned int), buffer_Kangxi_Radicals);
1863	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1864	for (unsigned int i = 0; i < buffer_Kangxi_Radicals_len; ++i) s_Kangxi_Radicals[i] = buffer_Kangxi_Radicals[i];
1865	if (scan (s_Kangxi_Radicals, s_Kangxi_Radicals + buffer_Kangxi_Radicals_len, Kangxi_Radicals) != Kangxi_Radicals)
1866		printf ("test 'Kangxi_Radicals' failed\n");
1867	delete [] buffer_Kangxi_Radicals;
1868
1869	unsigned int * buffer_Ideographic_Description_Characters = new unsigned int [68];
1870	YYCTYPE * s_Ideographic_Description_Characters = (YYCTYPE *) buffer_Ideographic_Description_Characters;
1871	unsigned int buffer_Ideographic_Description_Characters_len = encode_utf8 (chars_Ideographic_Description_Characters, sizeof (chars_Ideographic_Description_Characters) / sizeof (unsigned int), buffer_Ideographic_Description_Characters);
1872	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1873	for (unsigned int i = 0; i < buffer_Ideographic_Description_Characters_len; ++i) s_Ideographic_Description_Characters[i] = buffer_Ideographic_Description_Characters[i];
1874	if (scan (s_Ideographic_Description_Characters, s_Ideographic_Description_Characters + buffer_Ideographic_Description_Characters_len, Ideographic_Description_Characters) != Ideographic_Description_Characters)
1875		printf ("test 'Ideographic_Description_Characters' failed\n");
1876	delete [] buffer_Ideographic_Description_Characters;
1877
1878	unsigned int * buffer_CJK_Symbols_and_Punctuation = new unsigned int [260];
1879	YYCTYPE * s_CJK_Symbols_and_Punctuation = (YYCTYPE *) buffer_CJK_Symbols_and_Punctuation;
1880	unsigned int buffer_CJK_Symbols_and_Punctuation_len = encode_utf8 (chars_CJK_Symbols_and_Punctuation, sizeof (chars_CJK_Symbols_and_Punctuation) / sizeof (unsigned int), buffer_CJK_Symbols_and_Punctuation);
1881	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1882	for (unsigned int i = 0; i < buffer_CJK_Symbols_and_Punctuation_len; ++i) s_CJK_Symbols_and_Punctuation[i] = buffer_CJK_Symbols_and_Punctuation[i];
1883	if (scan (s_CJK_Symbols_and_Punctuation, s_CJK_Symbols_and_Punctuation + buffer_CJK_Symbols_and_Punctuation_len, CJK_Symbols_and_Punctuation) != CJK_Symbols_and_Punctuation)
1884		printf ("test 'CJK_Symbols_and_Punctuation' failed\n");
1885	delete [] buffer_CJK_Symbols_and_Punctuation;
1886
1887	unsigned int * buffer_Hiragana = new unsigned int [388];
1888	YYCTYPE * s_Hiragana = (YYCTYPE *) buffer_Hiragana;
1889	unsigned int buffer_Hiragana_len = encode_utf8 (chars_Hiragana, sizeof (chars_Hiragana) / sizeof (unsigned int), buffer_Hiragana);
1890	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1891	for (unsigned int i = 0; i < buffer_Hiragana_len; ++i) s_Hiragana[i] = buffer_Hiragana[i];
1892	if (scan (s_Hiragana, s_Hiragana + buffer_Hiragana_len, Hiragana) != Hiragana)
1893		printf ("test 'Hiragana' failed\n");
1894	delete [] buffer_Hiragana;
1895
1896	unsigned int * buffer_Katakana = new unsigned int [388];
1897	YYCTYPE * s_Katakana = (YYCTYPE *) buffer_Katakana;
1898	unsigned int buffer_Katakana_len = encode_utf8 (chars_Katakana, sizeof (chars_Katakana) / sizeof (unsigned int), buffer_Katakana);
1899	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1900	for (unsigned int i = 0; i < buffer_Katakana_len; ++i) s_Katakana[i] = buffer_Katakana[i];
1901	if (scan (s_Katakana, s_Katakana + buffer_Katakana_len, Katakana) != Katakana)
1902		printf ("test 'Katakana' failed\n");
1903	delete [] buffer_Katakana;
1904
1905	unsigned int * buffer_Bopomofo = new unsigned int [196];
1906	YYCTYPE * s_Bopomofo = (YYCTYPE *) buffer_Bopomofo;
1907	unsigned int buffer_Bopomofo_len = encode_utf8 (chars_Bopomofo, sizeof (chars_Bopomofo) / sizeof (unsigned int), buffer_Bopomofo);
1908	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1909	for (unsigned int i = 0; i < buffer_Bopomofo_len; ++i) s_Bopomofo[i] = buffer_Bopomofo[i];
1910	if (scan (s_Bopomofo, s_Bopomofo + buffer_Bopomofo_len, Bopomofo) != Bopomofo)
1911		printf ("test 'Bopomofo' failed\n");
1912	delete [] buffer_Bopomofo;
1913
1914	unsigned int * buffer_Hangul_Compatibility_Jamo = new unsigned int [388];
1915	YYCTYPE * s_Hangul_Compatibility_Jamo = (YYCTYPE *) buffer_Hangul_Compatibility_Jamo;
1916	unsigned int buffer_Hangul_Compatibility_Jamo_len = encode_utf8 (chars_Hangul_Compatibility_Jamo, sizeof (chars_Hangul_Compatibility_Jamo) / sizeof (unsigned int), buffer_Hangul_Compatibility_Jamo);
1917	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1918	for (unsigned int i = 0; i < buffer_Hangul_Compatibility_Jamo_len; ++i) s_Hangul_Compatibility_Jamo[i] = buffer_Hangul_Compatibility_Jamo[i];
1919	if (scan (s_Hangul_Compatibility_Jamo, s_Hangul_Compatibility_Jamo + buffer_Hangul_Compatibility_Jamo_len, Hangul_Compatibility_Jamo) != Hangul_Compatibility_Jamo)
1920		printf ("test 'Hangul_Compatibility_Jamo' failed\n");
1921	delete [] buffer_Hangul_Compatibility_Jamo;
1922
1923	unsigned int * buffer_Kanbun = new unsigned int [68];
1924	YYCTYPE * s_Kanbun = (YYCTYPE *) buffer_Kanbun;
1925	unsigned int buffer_Kanbun_len = encode_utf8 (chars_Kanbun, sizeof (chars_Kanbun) / sizeof (unsigned int), buffer_Kanbun);
1926	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1927	for (unsigned int i = 0; i < buffer_Kanbun_len; ++i) s_Kanbun[i] = buffer_Kanbun[i];
1928	if (scan (s_Kanbun, s_Kanbun + buffer_Kanbun_len, Kanbun) != Kanbun)
1929		printf ("test 'Kanbun' failed\n");
1930	delete [] buffer_Kanbun;
1931
1932	unsigned int * buffer_Bopomofo_Extended = new unsigned int [132];
1933	YYCTYPE * s_Bopomofo_Extended = (YYCTYPE *) buffer_Bopomofo_Extended;
1934	unsigned int buffer_Bopomofo_Extended_len = encode_utf8 (chars_Bopomofo_Extended, sizeof (chars_Bopomofo_Extended) / sizeof (unsigned int), buffer_Bopomofo_Extended);
1935	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1936	for (unsigned int i = 0; i < buffer_Bopomofo_Extended_len; ++i) s_Bopomofo_Extended[i] = buffer_Bopomofo_Extended[i];
1937	if (scan (s_Bopomofo_Extended, s_Bopomofo_Extended + buffer_Bopomofo_Extended_len, Bopomofo_Extended) != Bopomofo_Extended)
1938		printf ("test 'Bopomofo_Extended' failed\n");
1939	delete [] buffer_Bopomofo_Extended;
1940
1941	unsigned int * buffer_Katakana_Phonetic_Extensions = new unsigned int [68];
1942	YYCTYPE * s_Katakana_Phonetic_Extensions = (YYCTYPE *) buffer_Katakana_Phonetic_Extensions;
1943	unsigned int buffer_Katakana_Phonetic_Extensions_len = encode_utf8 (chars_Katakana_Phonetic_Extensions, sizeof (chars_Katakana_Phonetic_Extensions) / sizeof (unsigned int), buffer_Katakana_Phonetic_Extensions);
1944	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1945	for (unsigned int i = 0; i < buffer_Katakana_Phonetic_Extensions_len; ++i) s_Katakana_Phonetic_Extensions[i] = buffer_Katakana_Phonetic_Extensions[i];
1946	if (scan (s_Katakana_Phonetic_Extensions, s_Katakana_Phonetic_Extensions + buffer_Katakana_Phonetic_Extensions_len, Katakana_Phonetic_Extensions) != Katakana_Phonetic_Extensions)
1947		printf ("test 'Katakana_Phonetic_Extensions' failed\n");
1948	delete [] buffer_Katakana_Phonetic_Extensions;
1949
1950	unsigned int * buffer_Enclosed_CJK_Letters_and_Months = new unsigned int [1028];
1951	YYCTYPE * s_Enclosed_CJK_Letters_and_Months = (YYCTYPE *) buffer_Enclosed_CJK_Letters_and_Months;
1952	unsigned int buffer_Enclosed_CJK_Letters_and_Months_len = encode_utf8 (chars_Enclosed_CJK_Letters_and_Months, sizeof (chars_Enclosed_CJK_Letters_and_Months) / sizeof (unsigned int), buffer_Enclosed_CJK_Letters_and_Months);
1953	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1954	for (unsigned int i = 0; i < buffer_Enclosed_CJK_Letters_and_Months_len; ++i) s_Enclosed_CJK_Letters_and_Months[i] = buffer_Enclosed_CJK_Letters_and_Months[i];
1955	if (scan (s_Enclosed_CJK_Letters_and_Months, s_Enclosed_CJK_Letters_and_Months + buffer_Enclosed_CJK_Letters_and_Months_len, Enclosed_CJK_Letters_and_Months) != Enclosed_CJK_Letters_and_Months)
1956		printf ("test 'Enclosed_CJK_Letters_and_Months' failed\n");
1957	delete [] buffer_Enclosed_CJK_Letters_and_Months;
1958
1959	unsigned int * buffer_CJK_Compatibility = new unsigned int [1028];
1960	YYCTYPE * s_CJK_Compatibility = (YYCTYPE *) buffer_CJK_Compatibility;
1961	unsigned int buffer_CJK_Compatibility_len = encode_utf8 (chars_CJK_Compatibility, sizeof (chars_CJK_Compatibility) / sizeof (unsigned int), buffer_CJK_Compatibility);
1962	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1963	for (unsigned int i = 0; i < buffer_CJK_Compatibility_len; ++i) s_CJK_Compatibility[i] = buffer_CJK_Compatibility[i];
1964	if (scan (s_CJK_Compatibility, s_CJK_Compatibility + buffer_CJK_Compatibility_len, CJK_Compatibility) != CJK_Compatibility)
1965		printf ("test 'CJK_Compatibility' failed\n");
1966	delete [] buffer_CJK_Compatibility;
1967
1968	unsigned int * buffer_CJK_Unified_Ideographs_Extension_A = new unsigned int [26372];
1969	YYCTYPE * s_CJK_Unified_Ideographs_Extension_A = (YYCTYPE *) buffer_CJK_Unified_Ideographs_Extension_A;
1970	unsigned int buffer_CJK_Unified_Ideographs_Extension_A_len = encode_utf8 (chars_CJK_Unified_Ideographs_Extension_A, sizeof (chars_CJK_Unified_Ideographs_Extension_A) / sizeof (unsigned int), buffer_CJK_Unified_Ideographs_Extension_A);
1971	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1972	for (unsigned int i = 0; i < buffer_CJK_Unified_Ideographs_Extension_A_len; ++i) s_CJK_Unified_Ideographs_Extension_A[i] = buffer_CJK_Unified_Ideographs_Extension_A[i];
1973	if (scan (s_CJK_Unified_Ideographs_Extension_A, s_CJK_Unified_Ideographs_Extension_A + buffer_CJK_Unified_Ideographs_Extension_A_len, CJK_Unified_Ideographs_Extension_A) != CJK_Unified_Ideographs_Extension_A)
1974		printf ("test 'CJK_Unified_Ideographs_Extension_A' failed\n");
1975	delete [] buffer_CJK_Unified_Ideographs_Extension_A;
1976
1977	unsigned int * buffer_Yijing_Hexagram_Symbols = new unsigned int [260];
1978	YYCTYPE * s_Yijing_Hexagram_Symbols = (YYCTYPE *) buffer_Yijing_Hexagram_Symbols;
1979	unsigned int buffer_Yijing_Hexagram_Symbols_len = encode_utf8 (chars_Yijing_Hexagram_Symbols, sizeof (chars_Yijing_Hexagram_Symbols) / sizeof (unsigned int), buffer_Yijing_Hexagram_Symbols);
1980	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1981	for (unsigned int i = 0; i < buffer_Yijing_Hexagram_Symbols_len; ++i) s_Yijing_Hexagram_Symbols[i] = buffer_Yijing_Hexagram_Symbols[i];
1982	if (scan (s_Yijing_Hexagram_Symbols, s_Yijing_Hexagram_Symbols + buffer_Yijing_Hexagram_Symbols_len, Yijing_Hexagram_Symbols) != Yijing_Hexagram_Symbols)
1983		printf ("test 'Yijing_Hexagram_Symbols' failed\n");
1984	delete [] buffer_Yijing_Hexagram_Symbols;
1985
1986	unsigned int * buffer_CJK_Unified_Ideographs = new unsigned int [83972];
1987	YYCTYPE * s_CJK_Unified_Ideographs = (YYCTYPE *) buffer_CJK_Unified_Ideographs;
1988	unsigned int buffer_CJK_Unified_Ideographs_len = encode_utf8 (chars_CJK_Unified_Ideographs, sizeof (chars_CJK_Unified_Ideographs) / sizeof (unsigned int), buffer_CJK_Unified_Ideographs);
1989	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1990	for (unsigned int i = 0; i < buffer_CJK_Unified_Ideographs_len; ++i) s_CJK_Unified_Ideographs[i] = buffer_CJK_Unified_Ideographs[i];
1991	if (scan (s_CJK_Unified_Ideographs, s_CJK_Unified_Ideographs + buffer_CJK_Unified_Ideographs_len, CJK_Unified_Ideographs) != CJK_Unified_Ideographs)
1992		printf ("test 'CJK_Unified_Ideographs' failed\n");
1993	delete [] buffer_CJK_Unified_Ideographs;
1994
1995	unsigned int * buffer_Yi_Syllables = new unsigned int [4676];
1996	YYCTYPE * s_Yi_Syllables = (YYCTYPE *) buffer_Yi_Syllables;
1997	unsigned int buffer_Yi_Syllables_len = encode_utf8 (chars_Yi_Syllables, sizeof (chars_Yi_Syllables) / sizeof (unsigned int), buffer_Yi_Syllables);
1998	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
1999	for (unsigned int i = 0; i < buffer_Yi_Syllables_len; ++i) s_Yi_Syllables[i] = buffer_Yi_Syllables[i];
2000	if (scan (s_Yi_Syllables, s_Yi_Syllables + buffer_Yi_Syllables_len, Yi_Syllables) != Yi_Syllables)
2001		printf ("test 'Yi_Syllables' failed\n");
2002	delete [] buffer_Yi_Syllables;
2003
2004	unsigned int * buffer_Yi_Radicals = new unsigned int [260];
2005	YYCTYPE * s_Yi_Radicals = (YYCTYPE *) buffer_Yi_Radicals;
2006	unsigned int buffer_Yi_Radicals_len = encode_utf8 (chars_Yi_Radicals, sizeof (chars_Yi_Radicals) / sizeof (unsigned int), buffer_Yi_Radicals);
2007	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2008	for (unsigned int i = 0; i < buffer_Yi_Radicals_len; ++i) s_Yi_Radicals[i] = buffer_Yi_Radicals[i];
2009	if (scan (s_Yi_Radicals, s_Yi_Radicals + buffer_Yi_Radicals_len, Yi_Radicals) != Yi_Radicals)
2010		printf ("test 'Yi_Radicals' failed\n");
2011	delete [] buffer_Yi_Radicals;
2012
2013	unsigned int * buffer_Hangul_Syllables = new unsigned int [44740];
2014	YYCTYPE * s_Hangul_Syllables = (YYCTYPE *) buffer_Hangul_Syllables;
2015	unsigned int buffer_Hangul_Syllables_len = encode_utf8 (chars_Hangul_Syllables, sizeof (chars_Hangul_Syllables) / sizeof (unsigned int), buffer_Hangul_Syllables);
2016	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2017	for (unsigned int i = 0; i < buffer_Hangul_Syllables_len; ++i) s_Hangul_Syllables[i] = buffer_Hangul_Syllables[i];
2018	if (scan (s_Hangul_Syllables, s_Hangul_Syllables + buffer_Hangul_Syllables_len, Hangul_Syllables) != Hangul_Syllables)
2019		printf ("test 'Hangul_Syllables' failed\n");
2020	delete [] buffer_Hangul_Syllables;
2021
2022	unsigned int * buffer_High_Surrogates = new unsigned int [3588];
2023	YYCTYPE * s_High_Surrogates = (YYCTYPE *) buffer_High_Surrogates;
2024	unsigned int buffer_High_Surrogates_len = encode_utf8 (chars_High_Surrogates, sizeof (chars_High_Surrogates) / sizeof (unsigned int), buffer_High_Surrogates);
2025	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2026	for (unsigned int i = 0; i < buffer_High_Surrogates_len; ++i) s_High_Surrogates[i] = buffer_High_Surrogates[i];
2027	if (scan (s_High_Surrogates, s_High_Surrogates + buffer_High_Surrogates_len, High_Surrogates) != High_Surrogates)
2028		printf ("test 'High_Surrogates' failed\n");
2029	delete [] buffer_High_Surrogates;
2030
2031	unsigned int * buffer_High_Private_Use_Surrogates = new unsigned int [516];
2032	YYCTYPE * s_High_Private_Use_Surrogates = (YYCTYPE *) buffer_High_Private_Use_Surrogates;
2033	unsigned int buffer_High_Private_Use_Surrogates_len = encode_utf8 (chars_High_Private_Use_Surrogates, sizeof (chars_High_Private_Use_Surrogates) / sizeof (unsigned int), buffer_High_Private_Use_Surrogates);
2034	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2035	for (unsigned int i = 0; i < buffer_High_Private_Use_Surrogates_len; ++i) s_High_Private_Use_Surrogates[i] = buffer_High_Private_Use_Surrogates[i];
2036	if (scan (s_High_Private_Use_Surrogates, s_High_Private_Use_Surrogates + buffer_High_Private_Use_Surrogates_len, High_Private_Use_Surrogates) != High_Private_Use_Surrogates)
2037		printf ("test 'High_Private_Use_Surrogates' failed\n");
2038	delete [] buffer_High_Private_Use_Surrogates;
2039
2040	unsigned int * buffer_Low_Surrogates = new unsigned int [4100];
2041	YYCTYPE * s_Low_Surrogates = (YYCTYPE *) buffer_Low_Surrogates;
2042	unsigned int buffer_Low_Surrogates_len = encode_utf8 (chars_Low_Surrogates, sizeof (chars_Low_Surrogates) / sizeof (unsigned int), buffer_Low_Surrogates);
2043	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2044	for (unsigned int i = 0; i < buffer_Low_Surrogates_len; ++i) s_Low_Surrogates[i] = buffer_Low_Surrogates[i];
2045	if (scan (s_Low_Surrogates, s_Low_Surrogates + buffer_Low_Surrogates_len, Low_Surrogates) != Low_Surrogates)
2046		printf ("test 'Low_Surrogates' failed\n");
2047	delete [] buffer_Low_Surrogates;
2048
2049	unsigned int * buffer_Private_Use_Area = new unsigned int [25604];
2050	YYCTYPE * s_Private_Use_Area = (YYCTYPE *) buffer_Private_Use_Area;
2051	unsigned int buffer_Private_Use_Area_len = encode_utf8 (chars_Private_Use_Area, sizeof (chars_Private_Use_Area) / sizeof (unsigned int), buffer_Private_Use_Area);
2052	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2053	for (unsigned int i = 0; i < buffer_Private_Use_Area_len; ++i) s_Private_Use_Area[i] = buffer_Private_Use_Area[i];
2054	if (scan (s_Private_Use_Area, s_Private_Use_Area + buffer_Private_Use_Area_len, Private_Use_Area) != Private_Use_Area)
2055		printf ("test 'Private_Use_Area' failed\n");
2056	delete [] buffer_Private_Use_Area;
2057
2058	unsigned int * buffer_CJK_Compatibility_Ideographs = new unsigned int [2052];
2059	YYCTYPE * s_CJK_Compatibility_Ideographs = (YYCTYPE *) buffer_CJK_Compatibility_Ideographs;
2060	unsigned int buffer_CJK_Compatibility_Ideographs_len = encode_utf8 (chars_CJK_Compatibility_Ideographs, sizeof (chars_CJK_Compatibility_Ideographs) / sizeof (unsigned int), buffer_CJK_Compatibility_Ideographs);
2061	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2062	for (unsigned int i = 0; i < buffer_CJK_Compatibility_Ideographs_len; ++i) s_CJK_Compatibility_Ideographs[i] = buffer_CJK_Compatibility_Ideographs[i];
2063	if (scan (s_CJK_Compatibility_Ideographs, s_CJK_Compatibility_Ideographs + buffer_CJK_Compatibility_Ideographs_len, CJK_Compatibility_Ideographs) != CJK_Compatibility_Ideographs)
2064		printf ("test 'CJK_Compatibility_Ideographs' failed\n");
2065	delete [] buffer_CJK_Compatibility_Ideographs;
2066
2067	unsigned int * buffer_Alphabetic_Presentation_Forms = new unsigned int [324];
2068	YYCTYPE * s_Alphabetic_Presentation_Forms = (YYCTYPE *) buffer_Alphabetic_Presentation_Forms;
2069	unsigned int buffer_Alphabetic_Presentation_Forms_len = encode_utf8 (chars_Alphabetic_Presentation_Forms, sizeof (chars_Alphabetic_Presentation_Forms) / sizeof (unsigned int), buffer_Alphabetic_Presentation_Forms);
2070	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2071	for (unsigned int i = 0; i < buffer_Alphabetic_Presentation_Forms_len; ++i) s_Alphabetic_Presentation_Forms[i] = buffer_Alphabetic_Presentation_Forms[i];
2072	if (scan (s_Alphabetic_Presentation_Forms, s_Alphabetic_Presentation_Forms + buffer_Alphabetic_Presentation_Forms_len, Alphabetic_Presentation_Forms) != Alphabetic_Presentation_Forms)
2073		printf ("test 'Alphabetic_Presentation_Forms' failed\n");
2074	delete [] buffer_Alphabetic_Presentation_Forms;
2075
2076	unsigned int * buffer_Arabic_Presentation_Forms_A = new unsigned int [2756];
2077	YYCTYPE * s_Arabic_Presentation_Forms_A = (YYCTYPE *) buffer_Arabic_Presentation_Forms_A;
2078	unsigned int buffer_Arabic_Presentation_Forms_A_len = encode_utf8 (chars_Arabic_Presentation_Forms_A, sizeof (chars_Arabic_Presentation_Forms_A) / sizeof (unsigned int), buffer_Arabic_Presentation_Forms_A);
2079	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2080	for (unsigned int i = 0; i < buffer_Arabic_Presentation_Forms_A_len; ++i) s_Arabic_Presentation_Forms_A[i] = buffer_Arabic_Presentation_Forms_A[i];
2081	if (scan (s_Arabic_Presentation_Forms_A, s_Arabic_Presentation_Forms_A + buffer_Arabic_Presentation_Forms_A_len, Arabic_Presentation_Forms_A) != Arabic_Presentation_Forms_A)
2082		printf ("test 'Arabic_Presentation_Forms_A' failed\n");
2083	delete [] buffer_Arabic_Presentation_Forms_A;
2084
2085	unsigned int * buffer_Variation_Selectors = new unsigned int [68];
2086	YYCTYPE * s_Variation_Selectors = (YYCTYPE *) buffer_Variation_Selectors;
2087	unsigned int buffer_Variation_Selectors_len = encode_utf8 (chars_Variation_Selectors, sizeof (chars_Variation_Selectors) / sizeof (unsigned int), buffer_Variation_Selectors);
2088	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2089	for (unsigned int i = 0; i < buffer_Variation_Selectors_len; ++i) s_Variation_Selectors[i] = buffer_Variation_Selectors[i];
2090	if (scan (s_Variation_Selectors, s_Variation_Selectors + buffer_Variation_Selectors_len, Variation_Selectors) != Variation_Selectors)
2091		printf ("test 'Variation_Selectors' failed\n");
2092	delete [] buffer_Variation_Selectors;
2093
2094	unsigned int * buffer_Combining_Half_Marks = new unsigned int [68];
2095	YYCTYPE * s_Combining_Half_Marks = (YYCTYPE *) buffer_Combining_Half_Marks;
2096	unsigned int buffer_Combining_Half_Marks_len = encode_utf8 (chars_Combining_Half_Marks, sizeof (chars_Combining_Half_Marks) / sizeof (unsigned int), buffer_Combining_Half_Marks);
2097	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2098	for (unsigned int i = 0; i < buffer_Combining_Half_Marks_len; ++i) s_Combining_Half_Marks[i] = buffer_Combining_Half_Marks[i];
2099	if (scan (s_Combining_Half_Marks, s_Combining_Half_Marks + buffer_Combining_Half_Marks_len, Combining_Half_Marks) != Combining_Half_Marks)
2100		printf ("test 'Combining_Half_Marks' failed\n");
2101	delete [] buffer_Combining_Half_Marks;
2102
2103	unsigned int * buffer_CJK_Compatibility_Forms = new unsigned int [132];
2104	YYCTYPE * s_CJK_Compatibility_Forms = (YYCTYPE *) buffer_CJK_Compatibility_Forms;
2105	unsigned int buffer_CJK_Compatibility_Forms_len = encode_utf8 (chars_CJK_Compatibility_Forms, sizeof (chars_CJK_Compatibility_Forms) / sizeof (unsigned int), buffer_CJK_Compatibility_Forms);
2106	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2107	for (unsigned int i = 0; i < buffer_CJK_Compatibility_Forms_len; ++i) s_CJK_Compatibility_Forms[i] = buffer_CJK_Compatibility_Forms[i];
2108	if (scan (s_CJK_Compatibility_Forms, s_CJK_Compatibility_Forms + buffer_CJK_Compatibility_Forms_len, CJK_Compatibility_Forms) != CJK_Compatibility_Forms)
2109		printf ("test 'CJK_Compatibility_Forms' failed\n");
2110	delete [] buffer_CJK_Compatibility_Forms;
2111
2112	unsigned int * buffer_Small_Form_Variants = new unsigned int [132];
2113	YYCTYPE * s_Small_Form_Variants = (YYCTYPE *) buffer_Small_Form_Variants;
2114	unsigned int buffer_Small_Form_Variants_len = encode_utf8 (chars_Small_Form_Variants, sizeof (chars_Small_Form_Variants) / sizeof (unsigned int), buffer_Small_Form_Variants);
2115	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2116	for (unsigned int i = 0; i < buffer_Small_Form_Variants_len; ++i) s_Small_Form_Variants[i] = buffer_Small_Form_Variants[i];
2117	if (scan (s_Small_Form_Variants, s_Small_Form_Variants + buffer_Small_Form_Variants_len, Small_Form_Variants) != Small_Form_Variants)
2118		printf ("test 'Small_Form_Variants' failed\n");
2119	delete [] buffer_Small_Form_Variants;
2120
2121	unsigned int * buffer_Arabic_Presentation_Forms_B = new unsigned int [580];
2122	YYCTYPE * s_Arabic_Presentation_Forms_B = (YYCTYPE *) buffer_Arabic_Presentation_Forms_B;
2123	unsigned int buffer_Arabic_Presentation_Forms_B_len = encode_utf8 (chars_Arabic_Presentation_Forms_B, sizeof (chars_Arabic_Presentation_Forms_B) / sizeof (unsigned int), buffer_Arabic_Presentation_Forms_B);
2124	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2125	for (unsigned int i = 0; i < buffer_Arabic_Presentation_Forms_B_len; ++i) s_Arabic_Presentation_Forms_B[i] = buffer_Arabic_Presentation_Forms_B[i];
2126	if (scan (s_Arabic_Presentation_Forms_B, s_Arabic_Presentation_Forms_B + buffer_Arabic_Presentation_Forms_B_len, Arabic_Presentation_Forms_B) != Arabic_Presentation_Forms_B)
2127		printf ("test 'Arabic_Presentation_Forms_B' failed\n");
2128	delete [] buffer_Arabic_Presentation_Forms_B;
2129
2130	unsigned int * buffer_Halfwidth_and_Fullwidth_Forms = new unsigned int [964];
2131	YYCTYPE * s_Halfwidth_and_Fullwidth_Forms = (YYCTYPE *) buffer_Halfwidth_and_Fullwidth_Forms;
2132	unsigned int buffer_Halfwidth_and_Fullwidth_Forms_len = encode_utf8 (chars_Halfwidth_and_Fullwidth_Forms, sizeof (chars_Halfwidth_and_Fullwidth_Forms) / sizeof (unsigned int), buffer_Halfwidth_and_Fullwidth_Forms);
2133	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2134	for (unsigned int i = 0; i < buffer_Halfwidth_and_Fullwidth_Forms_len; ++i) s_Halfwidth_and_Fullwidth_Forms[i] = buffer_Halfwidth_and_Fullwidth_Forms[i];
2135	if (scan (s_Halfwidth_and_Fullwidth_Forms, s_Halfwidth_and_Fullwidth_Forms + buffer_Halfwidth_and_Fullwidth_Forms_len, Halfwidth_and_Fullwidth_Forms) != Halfwidth_and_Fullwidth_Forms)
2136		printf ("test 'Halfwidth_and_Fullwidth_Forms' failed\n");
2137	delete [] buffer_Halfwidth_and_Fullwidth_Forms;
2138
2139	unsigned int * buffer_Specials = new unsigned int [68];
2140	YYCTYPE * s_Specials = (YYCTYPE *) buffer_Specials;
2141	unsigned int buffer_Specials_len = encode_utf8 (chars_Specials, sizeof (chars_Specials) / sizeof (unsigned int), buffer_Specials);
2142	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2143	for (unsigned int i = 0; i < buffer_Specials_len; ++i) s_Specials[i] = buffer_Specials[i];
2144	if (scan (s_Specials, s_Specials + buffer_Specials_len, Specials) != Specials)
2145		printf ("test 'Specials' failed\n");
2146	delete [] buffer_Specials;
2147
2148	unsigned int * buffer_All = new unsigned int [245700];
2149	YYCTYPE * s_All = (YYCTYPE *) buffer_All;
2150	unsigned int buffer_All_len = encode_utf8 (chars_All, sizeof (chars_All) / sizeof (unsigned int), buffer_All);
2151	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
2152	for (unsigned int i = 0; i < buffer_All_len; ++i) s_All[i] = buffer_All[i];
2153	if (scan (s_All, s_All + buffer_All_len, All) != All)
2154		printf ("test 'All' failed\n");
2155	delete [] buffer_All;
2156
2157
2158	return 0;
2159}
2160