/src/libxml2/xmlunicode.c
Line  | Count  | Source (jump to first uncovered line)  | 
1  |  | /*  | 
2  |  |  * xmlunicode.c: this module implements the Unicode character APIs  | 
3  |  |  *  | 
4  |  |  * This file is automatically generated from the  | 
5  |  |  * UCS description files of the Unicode Character Database  | 
6  |  |  * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html  | 
7  |  |  * using the genUnicode.py Python script.  | 
8  |  |  *  | 
9  |  |  * Generation date: Mon Mar 27 11:09:52 2006  | 
10  |  |  * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt  | 
11  |  |  * Daniel Veillard <veillard@redhat.com>  | 
12  |  |  */  | 
13  |  |  | 
14  |  | #define IN_LIBXML  | 
15  |  | #include "libxml.h"  | 
16  |  |  | 
17  |  | #ifdef LIBXML_UNICODE_ENABLED  | 
18  |  |  | 
19  |  | #include <string.h>  | 
20  |  | #include <libxml/xmlversion.h>  | 
21  |  | #include <libxml/xmlunicode.h>  | 
22  |  | #include <libxml/chvalid.h>  | 
23  |  |  | 
24  |  | typedef int (xmlIntFunc)(int);  /* just to keep one's mind untwisted */  | 
25  |  |  | 
26  |  | typedef struct { | 
27  |  |     const char *rangename;  | 
28  |  |     xmlIntFunc *func;  | 
29  |  | } xmlUnicodeRange;  | 
30  |  |  | 
31  |  | typedef struct { | 
32  |  |     const xmlUnicodeRange *table;  | 
33  |  |     int       numentries;  | 
34  |  | } xmlUnicodeNameTable;  | 
35  |  |  | 
36  |  |  | 
37  |  | static xmlIntFunc *xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname);  | 
38  |  |  | 
39  |  | static const xmlUnicodeRange xmlUnicodeBlocks[] = { | 
40  |  |   {"AegeanNumbers", xmlUCSIsAegeanNumbers}, | 
41  |  |   {"AlphabeticPresentationForms", xmlUCSIsAlphabeticPresentationForms}, | 
42  |  |   {"Arabic", xmlUCSIsArabic}, | 
43  |  |   {"ArabicPresentationForms-A", xmlUCSIsArabicPresentationFormsA}, | 
44  |  |   {"ArabicPresentationForms-B", xmlUCSIsArabicPresentationFormsB}, | 
45  |  |   {"Armenian", xmlUCSIsArmenian}, | 
46  |  |   {"Arrows", xmlUCSIsArrows}, | 
47  |  |   {"BasicLatin", xmlUCSIsBasicLatin}, | 
48  |  |   {"Bengali", xmlUCSIsBengali}, | 
49  |  |   {"BlockElements", xmlUCSIsBlockElements}, | 
50  |  |   {"Bopomofo", xmlUCSIsBopomofo}, | 
51  |  |   {"BopomofoExtended", xmlUCSIsBopomofoExtended}, | 
52  |  |   {"BoxDrawing", xmlUCSIsBoxDrawing}, | 
53  |  |   {"BraillePatterns", xmlUCSIsBraillePatterns}, | 
54  |  |   {"Buhid", xmlUCSIsBuhid}, | 
55  |  |   {"ByzantineMusicalSymbols", xmlUCSIsByzantineMusicalSymbols}, | 
56  |  |   {"CJKCompatibility", xmlUCSIsCJKCompatibility}, | 
57  |  |   {"CJKCompatibilityForms", xmlUCSIsCJKCompatibilityForms}, | 
58  |  |   {"CJKCompatibilityIdeographs", xmlUCSIsCJKCompatibilityIdeographs}, | 
59  |  |   {"CJKCompatibilityIdeographsSupplement", xmlUCSIsCJKCompatibilityIdeographsSupplement}, | 
60  |  |   {"CJKRadicalsSupplement", xmlUCSIsCJKRadicalsSupplement}, | 
61  |  |   {"CJKSymbolsandPunctuation", xmlUCSIsCJKSymbolsandPunctuation}, | 
62  |  |   {"CJKUnifiedIdeographs", xmlUCSIsCJKUnifiedIdeographs}, | 
63  |  |   {"CJKUnifiedIdeographsExtensionA", xmlUCSIsCJKUnifiedIdeographsExtensionA}, | 
64  |  |   {"CJKUnifiedIdeographsExtensionB", xmlUCSIsCJKUnifiedIdeographsExtensionB}, | 
65  |  |   {"Cherokee", xmlUCSIsCherokee}, | 
66  |  |   {"CombiningDiacriticalMarks", xmlUCSIsCombiningDiacriticalMarks}, | 
67  |  |   {"CombiningDiacriticalMarksforSymbols", xmlUCSIsCombiningDiacriticalMarksforSymbols}, | 
68  |  |   {"CombiningHalfMarks", xmlUCSIsCombiningHalfMarks}, | 
69  |  |   {"CombiningMarksforSymbols", xmlUCSIsCombiningMarksforSymbols}, | 
70  |  |   {"ControlPictures", xmlUCSIsControlPictures}, | 
71  |  |   {"CurrencySymbols", xmlUCSIsCurrencySymbols}, | 
72  |  |   {"CypriotSyllabary", xmlUCSIsCypriotSyllabary}, | 
73  |  |   {"Cyrillic", xmlUCSIsCyrillic}, | 
74  |  |   {"CyrillicSupplement", xmlUCSIsCyrillicSupplement}, | 
75  |  |   {"Deseret", xmlUCSIsDeseret}, | 
76  |  |   {"Devanagari", xmlUCSIsDevanagari}, | 
77  |  |   {"Dingbats", xmlUCSIsDingbats}, | 
78  |  |   {"EnclosedAlphanumerics", xmlUCSIsEnclosedAlphanumerics}, | 
79  |  |   {"EnclosedCJKLettersandMonths", xmlUCSIsEnclosedCJKLettersandMonths}, | 
80  |  |   {"Ethiopic", xmlUCSIsEthiopic}, | 
81  |  |   {"GeneralPunctuation", xmlUCSIsGeneralPunctuation}, | 
82  |  |   {"GeometricShapes", xmlUCSIsGeometricShapes}, | 
83  |  |   {"Georgian", xmlUCSIsGeorgian}, | 
84  |  |   {"Gothic", xmlUCSIsGothic}, | 
85  |  |   {"Greek", xmlUCSIsGreek}, | 
86  |  |   {"GreekExtended", xmlUCSIsGreekExtended}, | 
87  |  |   {"GreekandCoptic", xmlUCSIsGreekandCoptic}, | 
88  |  |   {"Gujarati", xmlUCSIsGujarati}, | 
89  |  |   {"Gurmukhi", xmlUCSIsGurmukhi}, | 
90  |  |   {"HalfwidthandFullwidthForms", xmlUCSIsHalfwidthandFullwidthForms}, | 
91  |  |   {"HangulCompatibilityJamo", xmlUCSIsHangulCompatibilityJamo}, | 
92  |  |   {"HangulJamo", xmlUCSIsHangulJamo}, | 
93  |  |   {"HangulSyllables", xmlUCSIsHangulSyllables}, | 
94  |  |   {"Hanunoo", xmlUCSIsHanunoo}, | 
95  |  |   {"Hebrew", xmlUCSIsHebrew}, | 
96  |  |   {"HighPrivateUseSurrogates", xmlUCSIsHighPrivateUseSurrogates}, | 
97  |  |   {"HighSurrogates", xmlUCSIsHighSurrogates}, | 
98  |  |   {"Hiragana", xmlUCSIsHiragana}, | 
99  |  |   {"IPAExtensions", xmlUCSIsIPAExtensions}, | 
100  |  |   {"IdeographicDescriptionCharacters", xmlUCSIsIdeographicDescriptionCharacters}, | 
101  |  |   {"Kanbun", xmlUCSIsKanbun}, | 
102  |  |   {"KangxiRadicals", xmlUCSIsKangxiRadicals}, | 
103  |  |   {"Kannada", xmlUCSIsKannada}, | 
104  |  |   {"Katakana", xmlUCSIsKatakana}, | 
105  |  |   {"KatakanaPhoneticExtensions", xmlUCSIsKatakanaPhoneticExtensions}, | 
106  |  |   {"Khmer", xmlUCSIsKhmer}, | 
107  |  |   {"KhmerSymbols", xmlUCSIsKhmerSymbols}, | 
108  |  |   {"Lao", xmlUCSIsLao}, | 
109  |  |   {"Latin-1Supplement", xmlUCSIsLatin1Supplement}, | 
110  |  |   {"LatinExtended-A", xmlUCSIsLatinExtendedA}, | 
111  |  |   {"LatinExtended-B", xmlUCSIsLatinExtendedB}, | 
112  |  |   {"LatinExtendedAdditional", xmlUCSIsLatinExtendedAdditional}, | 
113  |  |   {"LetterlikeSymbols", xmlUCSIsLetterlikeSymbols}, | 
114  |  |   {"Limbu", xmlUCSIsLimbu}, | 
115  |  |   {"LinearBIdeograms", xmlUCSIsLinearBIdeograms}, | 
116  |  |   {"LinearBSyllabary", xmlUCSIsLinearBSyllabary}, | 
117  |  |   {"LowSurrogates", xmlUCSIsLowSurrogates}, | 
118  |  |   {"Malayalam", xmlUCSIsMalayalam}, | 
119  |  |   {"MathematicalAlphanumericSymbols", xmlUCSIsMathematicalAlphanumericSymbols}, | 
120  |  |   {"MathematicalOperators", xmlUCSIsMathematicalOperators}, | 
121  |  |   {"MiscellaneousMathematicalSymbols-A", xmlUCSIsMiscellaneousMathematicalSymbolsA}, | 
122  |  |   {"MiscellaneousMathematicalSymbols-B", xmlUCSIsMiscellaneousMathematicalSymbolsB}, | 
123  |  |   {"MiscellaneousSymbols", xmlUCSIsMiscellaneousSymbols}, | 
124  |  |   {"MiscellaneousSymbolsandArrows", xmlUCSIsMiscellaneousSymbolsandArrows}, | 
125  |  |   {"MiscellaneousTechnical", xmlUCSIsMiscellaneousTechnical}, | 
126  |  |   {"Mongolian", xmlUCSIsMongolian}, | 
127  |  |   {"MusicalSymbols", xmlUCSIsMusicalSymbols}, | 
128  |  |   {"Myanmar", xmlUCSIsMyanmar}, | 
129  |  |   {"NumberForms", xmlUCSIsNumberForms}, | 
130  |  |   {"Ogham", xmlUCSIsOgham}, | 
131  |  |   {"OldItalic", xmlUCSIsOldItalic}, | 
132  |  |   {"OpticalCharacterRecognition", xmlUCSIsOpticalCharacterRecognition}, | 
133  |  |   {"Oriya", xmlUCSIsOriya}, | 
134  |  |   {"Osmanya", xmlUCSIsOsmanya}, | 
135  |  |   {"PhoneticExtensions", xmlUCSIsPhoneticExtensions}, | 
136  |  |   {"PrivateUse", xmlUCSIsPrivateUse}, | 
137  |  |   {"PrivateUseArea", xmlUCSIsPrivateUseArea}, | 
138  |  |   {"Runic", xmlUCSIsRunic}, | 
139  |  |   {"Shavian", xmlUCSIsShavian}, | 
140  |  |   {"Sinhala", xmlUCSIsSinhala}, | 
141  |  |   {"SmallFormVariants", xmlUCSIsSmallFormVariants}, | 
142  |  |   {"SpacingModifierLetters", xmlUCSIsSpacingModifierLetters}, | 
143  |  |   {"Specials", xmlUCSIsSpecials}, | 
144  |  |   {"SuperscriptsandSubscripts", xmlUCSIsSuperscriptsandSubscripts}, | 
145  |  |   {"SupplementalArrows-A", xmlUCSIsSupplementalArrowsA}, | 
146  |  |   {"SupplementalArrows-B", xmlUCSIsSupplementalArrowsB}, | 
147  |  |   {"SupplementalMathematicalOperators", xmlUCSIsSupplementalMathematicalOperators}, | 
148  |  |   {"SupplementaryPrivateUseArea-A", xmlUCSIsSupplementaryPrivateUseAreaA}, | 
149  |  |   {"SupplementaryPrivateUseArea-B", xmlUCSIsSupplementaryPrivateUseAreaB}, | 
150  |  |   {"Syriac", xmlUCSIsSyriac}, | 
151  |  |   {"Tagalog", xmlUCSIsTagalog}, | 
152  |  |   {"Tagbanwa", xmlUCSIsTagbanwa}, | 
153  |  |   {"Tags", xmlUCSIsTags}, | 
154  |  |   {"TaiLe", xmlUCSIsTaiLe}, | 
155  |  |   {"TaiXuanJingSymbols", xmlUCSIsTaiXuanJingSymbols}, | 
156  |  |   {"Tamil", xmlUCSIsTamil}, | 
157  |  |   {"Telugu", xmlUCSIsTelugu}, | 
158  |  |   {"Thaana", xmlUCSIsThaana}, | 
159  |  |   {"Thai", xmlUCSIsThai}, | 
160  |  |   {"Tibetan", xmlUCSIsTibetan}, | 
161  |  |   {"Ugaritic", xmlUCSIsUgaritic}, | 
162  |  |   {"UnifiedCanadianAboriginalSyllabics", xmlUCSIsUnifiedCanadianAboriginalSyllabics}, | 
163  |  |   {"VariationSelectors", xmlUCSIsVariationSelectors}, | 
164  |  |   {"VariationSelectorsSupplement", xmlUCSIsVariationSelectorsSupplement}, | 
165  |  |   {"YiRadicals", xmlUCSIsYiRadicals}, | 
166  |  |   {"YiSyllables", xmlUCSIsYiSyllables}, | 
167  |  |   {"YijingHexagramSymbols", xmlUCSIsYijingHexagramSymbols}}; | 
168  |  |  | 
169  |  | static const xmlUnicodeRange xmlUnicodeCats[] = { | 
170  |  |   {"C", xmlUCSIsCatC}, | 
171  |  |   {"Cc", xmlUCSIsCatCc}, | 
172  |  |   {"Cf", xmlUCSIsCatCf}, | 
173  |  |   {"Co", xmlUCSIsCatCo}, | 
174  |  |   {"Cs", xmlUCSIsCatCs}, | 
175  |  |   {"L", xmlUCSIsCatL}, | 
176  |  |   {"Ll", xmlUCSIsCatLl}, | 
177  |  |   {"Lm", xmlUCSIsCatLm}, | 
178  |  |   {"Lo", xmlUCSIsCatLo}, | 
179  |  |   {"Lt", xmlUCSIsCatLt}, | 
180  |  |   {"Lu", xmlUCSIsCatLu}, | 
181  |  |   {"M", xmlUCSIsCatM}, | 
182  |  |   {"Mc", xmlUCSIsCatMc}, | 
183  |  |   {"Me", xmlUCSIsCatMe}, | 
184  |  |   {"Mn", xmlUCSIsCatMn}, | 
185  |  |   {"N", xmlUCSIsCatN}, | 
186  |  |   {"Nd", xmlUCSIsCatNd}, | 
187  |  |   {"Nl", xmlUCSIsCatNl}, | 
188  |  |   {"No", xmlUCSIsCatNo}, | 
189  |  |   {"P", xmlUCSIsCatP}, | 
190  |  |   {"Pc", xmlUCSIsCatPc}, | 
191  |  |   {"Pd", xmlUCSIsCatPd}, | 
192  |  |   {"Pe", xmlUCSIsCatPe}, | 
193  |  |   {"Pf", xmlUCSIsCatPf}, | 
194  |  |   {"Pi", xmlUCSIsCatPi}, | 
195  |  |   {"Po", xmlUCSIsCatPo}, | 
196  |  |   {"Ps", xmlUCSIsCatPs}, | 
197  |  |   {"S", xmlUCSIsCatS}, | 
198  |  |   {"Sc", xmlUCSIsCatSc}, | 
199  |  |   {"Sk", xmlUCSIsCatSk}, | 
200  |  |   {"Sm", xmlUCSIsCatSm}, | 
201  |  |   {"So", xmlUCSIsCatSo}, | 
202  |  |   {"Z", xmlUCSIsCatZ}, | 
203  |  |   {"Zl", xmlUCSIsCatZl}, | 
204  |  |   {"Zp", xmlUCSIsCatZp}, | 
205  |  |   {"Zs", xmlUCSIsCatZs}}; | 
206  |  |  | 
207  |  | static const xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f}, | 
208  |  |     {0xad, 0xad}, {0x600, 0x603}, {0x6dd, 0x6dd}, {0x70f, 0x70f}, | 
209  |  |     {0x17b4, 0x17b5}, {0x200b, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2063}, | 
210  |  |     {0x206a, 0x206f}, {0xd800, 0xd800}, {0xdb7f, 0xdb80}, {0xdbff, 0xdc00}, | 
211  |  |     {0xdfff, 0xe000}, {0xf8ff, 0xf8ff}, {0xfeff, 0xfeff}, {0xfff9, 0xfffb} }; | 
212  |  | static const xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, | 
213  |  |     {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd}, | 
214  |  |     {0x100000, 0x100000}, {0x10fffd, 0x10fffd} }; | 
215  |  | static const xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL}; | 
216  |  |  | 
217  |  | static const xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603}, | 
218  |  |     {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200b, 0x200f}, | 
219  |  |     {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, {0xfeff, 0xfeff}, | 
220  |  |     {0xfff9, 0xfffb} }; | 
221  |  | static const xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, | 
222  |  |     {0xe0020, 0xe007f} }; | 
223  |  | static const xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL}; | 
224  |  |  | 
225  |  | static const xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a}, | 
226  |  |     {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, | 
227  |  |     {0xf8, 0x236}, {0x250, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, | 
228  |  |     {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x386, 0x386}, {0x388, 0x38a}, | 
229  |  |     {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3f5}, | 
230  |  |     {0x3f7, 0x3fb}, {0x400, 0x481}, {0x48a, 0x4ce}, {0x4d0, 0x4f5}, | 
231  |  |     {0x4f8, 0x4f9}, {0x500, 0x50f}, {0x531, 0x556}, {0x559, 0x559}, | 
232  |  |     {0x561, 0x587}, {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, | 
233  |  |     {0x640, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, | 
234  |  |     {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, | 
235  |  |     {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x74f}, {0x780, 0x7a5}, | 
236  |  |     {0x7b1, 0x7b1}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, | 
237  |  |     {0x958, 0x961}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, | 
238  |  |     {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, | 
239  |  |     {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a}, | 
240  |  |     {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, | 
241  |  |     {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, | 
242  |  |     {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, | 
243  |  |     {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, | 
244  |  |     {0xad0, 0xad0}, {0xae0, 0xae1}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, | 
245  |  |     {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, | 
246  |  |     {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, | 
247  |  |     {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, | 
248  |  |     {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, | 
249  |  |     {0xba8, 0xbaa}, {0xbae, 0xbb5}, {0xbb7, 0xbb9}, {0xc05, 0xc0c}, | 
250  |  |     {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc33}, {0xc35, 0xc39}, | 
251  |  |     {0xc60, 0xc61}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, | 
252  |  |     {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcde, 0xcde}, | 
253  |  |     {0xce0, 0xce1}, {0xd05, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd28}, | 
254  |  |     {0xd2a, 0xd39}, {0xd60, 0xd61}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, | 
255  |  |     {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30}, | 
256  |  |     {0xe32, 0xe33}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, | 
257  |  |     {0xe87, 0xe88}, {0xe8a, 0xe8a}, {0xe8d, 0xe8d}, {0xe94, 0xe97}, | 
258  |  |     {0xe99, 0xe9f}, {0xea1, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xea7}, | 
259  |  |     {0xeaa, 0xeab}, {0xead, 0xeb0}, {0xeb2, 0xeb3}, {0xebd, 0xebd}, | 
260  |  |     {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedd}, {0xf00, 0xf00}, | 
261  |  |     {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b}, {0x1000, 0x1021}, | 
262  |  |     {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055}, {0x10a0, 0x10c5}, | 
263  |  |     {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9}, | 
264  |  |     {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d}, | 
265  |  |     {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286}, | 
266  |  |     {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0}, | 
267  |  |     {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, | 
268  |  |     {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e}, | 
269  |  |     {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346}, | 
270  |  |     {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676}, | 
271  |  |     {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711}, | 
272  |  |     {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, | 
273  |  |     {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1877}, | 
274  |  |     {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974}, | 
275  |  |     {0x1d00, 0x1d6b}, {0x1e00, 0x1e9b}, {0x1ea0, 0x1ef9}, {0x1f00, 0x1f15}, | 
276  |  |     {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, | 
277  |  |     {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, | 
278  |  |     {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, | 
279  |  |     {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, | 
280  |  |     {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f}, | 
281  |  |     {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, | 
282  |  |     {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, | 
283  |  |     {0x212a, 0x212d}, {0x212f, 0x2131}, {0x2133, 0x2139}, {0x213d, 0x213f}, | 
284  |  |     {0x2145, 0x2149}, {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c}, | 
285  |  |     {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, | 
286  |  |     {0x3105, 0x312c}, {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff}, | 
287  |  |     {0x3400, 0x3400}, {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5}, | 
288  |  |     {0xa000, 0xa48c}, {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d}, | 
289  |  |     {0xfa30, 0xfa6a}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, | 
290  |  |     {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, | 
291  |  |     {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, | 
292  |  |     {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, | 
293  |  |     {0xfe76, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, | 
294  |  |     {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc} }; | 
295  |  | static const xmlChLRange xmlLL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, | 
296  |  |     {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, | 
297  |  |     {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e}, | 
298  |  |     {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10400, 0x1049d}, | 
299  |  |     {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, | 
300  |  |     {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f}, | 
301  |  |     {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, | 
302  |  |     {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, | 
303  |  |     {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, | 
304  |  |     {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, | 
305  |  |     {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, | 
306  |  |     {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, | 
307  |  |     {0x1d552, 0x1d6a3}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, | 
308  |  |     {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, | 
309  |  |     {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, | 
310  |  |     {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9}, | 
311  |  |     {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} }; | 
312  |  | static const xmlChRangeGroup xmlLG = {279,50,xmlLS,xmlLL}; | 
313  |  |  | 
314  |  | static const xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa}, | 
315  |  |     {0xb5, 0xb5}, {0xba, 0xba}, {0xdf, 0xf6}, {0xf8, 0xff}, {0x101, 0x101}, | 
316  |  |     {0x103, 0x103}, {0x105, 0x105}, {0x107, 0x107}, {0x109, 0x109}, | 
317  |  |     {0x10b, 0x10b}, {0x10d, 0x10d}, {0x10f, 0x10f}, {0x111, 0x111}, | 
318  |  |     {0x113, 0x113}, {0x115, 0x115}, {0x117, 0x117}, {0x119, 0x119}, | 
319  |  |     {0x11b, 0x11b}, {0x11d, 0x11d}, {0x11f, 0x11f}, {0x121, 0x121}, | 
320  |  |     {0x123, 0x123}, {0x125, 0x125}, {0x127, 0x127}, {0x129, 0x129}, | 
321  |  |     {0x12b, 0x12b}, {0x12d, 0x12d}, {0x12f, 0x12f}, {0x131, 0x131}, | 
322  |  |     {0x133, 0x133}, {0x135, 0x135}, {0x137, 0x138}, {0x13a, 0x13a}, | 
323  |  |     {0x13c, 0x13c}, {0x13e, 0x13e}, {0x140, 0x140}, {0x142, 0x142}, | 
324  |  |     {0x144, 0x144}, {0x146, 0x146}, {0x148, 0x149}, {0x14b, 0x14b}, | 
325  |  |     {0x14d, 0x14d}, {0x14f, 0x14f}, {0x151, 0x151}, {0x153, 0x153}, | 
326  |  |     {0x155, 0x155}, {0x157, 0x157}, {0x159, 0x159}, {0x15b, 0x15b}, | 
327  |  |     {0x15d, 0x15d}, {0x15f, 0x15f}, {0x161, 0x161}, {0x163, 0x163}, | 
328  |  |     {0x165, 0x165}, {0x167, 0x167}, {0x169, 0x169}, {0x16b, 0x16b}, | 
329  |  |     {0x16d, 0x16d}, {0x16f, 0x16f}, {0x171, 0x171}, {0x173, 0x173}, | 
330  |  |     {0x175, 0x175}, {0x177, 0x177}, {0x17a, 0x17a}, {0x17c, 0x17c}, | 
331  |  |     {0x17e, 0x180}, {0x183, 0x183}, {0x185, 0x185}, {0x188, 0x188}, | 
332  |  |     {0x18c, 0x18d}, {0x192, 0x192}, {0x195, 0x195}, {0x199, 0x19b}, | 
333  |  |     {0x19e, 0x19e}, {0x1a1, 0x1a1}, {0x1a3, 0x1a3}, {0x1a5, 0x1a5}, | 
334  |  |     {0x1a8, 0x1a8}, {0x1aa, 0x1ab}, {0x1ad, 0x1ad}, {0x1b0, 0x1b0}, | 
335  |  |     {0x1b4, 0x1b4}, {0x1b6, 0x1b6}, {0x1b9, 0x1ba}, {0x1bd, 0x1bf}, | 
336  |  |     {0x1c6, 0x1c6}, {0x1c9, 0x1c9}, {0x1cc, 0x1cc}, {0x1ce, 0x1ce}, | 
337  |  |     {0x1d0, 0x1d0}, {0x1d2, 0x1d2}, {0x1d4, 0x1d4}, {0x1d6, 0x1d6}, | 
338  |  |     {0x1d8, 0x1d8}, {0x1da, 0x1da}, {0x1dc, 0x1dd}, {0x1df, 0x1df}, | 
339  |  |     {0x1e1, 0x1e1}, {0x1e3, 0x1e3}, {0x1e5, 0x1e5}, {0x1e7, 0x1e7}, | 
340  |  |     {0x1e9, 0x1e9}, {0x1eb, 0x1eb}, {0x1ed, 0x1ed}, {0x1ef, 0x1f0}, | 
341  |  |     {0x1f3, 0x1f3}, {0x1f5, 0x1f5}, {0x1f9, 0x1f9}, {0x1fb, 0x1fb}, | 
342  |  |     {0x1fd, 0x1fd}, {0x1ff, 0x1ff}, {0x201, 0x201}, {0x203, 0x203}, | 
343  |  |     {0x205, 0x205}, {0x207, 0x207}, {0x209, 0x209}, {0x20b, 0x20b}, | 
344  |  |     {0x20d, 0x20d}, {0x20f, 0x20f}, {0x211, 0x211}, {0x213, 0x213}, | 
345  |  |     {0x215, 0x215}, {0x217, 0x217}, {0x219, 0x219}, {0x21b, 0x21b}, | 
346  |  |     {0x21d, 0x21d}, {0x21f, 0x21f}, {0x221, 0x221}, {0x223, 0x223}, | 
347  |  |     {0x225, 0x225}, {0x227, 0x227}, {0x229, 0x229}, {0x22b, 0x22b}, | 
348  |  |     {0x22d, 0x22d}, {0x22f, 0x22f}, {0x231, 0x231}, {0x233, 0x236}, | 
349  |  |     {0x250, 0x2af}, {0x390, 0x390}, {0x3ac, 0x3ce}, {0x3d0, 0x3d1}, | 
350  |  |     {0x3d5, 0x3d7}, {0x3d9, 0x3d9}, {0x3db, 0x3db}, {0x3dd, 0x3dd}, | 
351  |  |     {0x3df, 0x3df}, {0x3e1, 0x3e1}, {0x3e3, 0x3e3}, {0x3e5, 0x3e5}, | 
352  |  |     {0x3e7, 0x3e7}, {0x3e9, 0x3e9}, {0x3eb, 0x3eb}, {0x3ed, 0x3ed}, | 
353  |  |     {0x3ef, 0x3f3}, {0x3f5, 0x3f5}, {0x3f8, 0x3f8}, {0x3fb, 0x3fb}, | 
354  |  |     {0x430, 0x45f}, {0x461, 0x461}, {0x463, 0x463}, {0x465, 0x465}, | 
355  |  |     {0x467, 0x467}, {0x469, 0x469}, {0x46b, 0x46b}, {0x46d, 0x46d}, | 
356  |  |     {0x46f, 0x46f}, {0x471, 0x471}, {0x473, 0x473}, {0x475, 0x475}, | 
357  |  |     {0x477, 0x477}, {0x479, 0x479}, {0x47b, 0x47b}, {0x47d, 0x47d}, | 
358  |  |     {0x47f, 0x47f}, {0x481, 0x481}, {0x48b, 0x48b}, {0x48d, 0x48d}, | 
359  |  |     {0x48f, 0x48f}, {0x491, 0x491}, {0x493, 0x493}, {0x495, 0x495}, | 
360  |  |     {0x497, 0x497}, {0x499, 0x499}, {0x49b, 0x49b}, {0x49d, 0x49d}, | 
361  |  |     {0x49f, 0x49f}, {0x4a1, 0x4a1}, {0x4a3, 0x4a3}, {0x4a5, 0x4a5}, | 
362  |  |     {0x4a7, 0x4a7}, {0x4a9, 0x4a9}, {0x4ab, 0x4ab}, {0x4ad, 0x4ad}, | 
363  |  |     {0x4af, 0x4af}, {0x4b1, 0x4b1}, {0x4b3, 0x4b3}, {0x4b5, 0x4b5}, | 
364  |  |     {0x4b7, 0x4b7}, {0x4b9, 0x4b9}, {0x4bb, 0x4bb}, {0x4bd, 0x4bd}, | 
365  |  |     {0x4bf, 0x4bf}, {0x4c2, 0x4c2}, {0x4c4, 0x4c4}, {0x4c6, 0x4c6}, | 
366  |  |     {0x4c8, 0x4c8}, {0x4ca, 0x4ca}, {0x4cc, 0x4cc}, {0x4ce, 0x4ce}, | 
367  |  |     {0x4d1, 0x4d1}, {0x4d3, 0x4d3}, {0x4d5, 0x4d5}, {0x4d7, 0x4d7}, | 
368  |  |     {0x4d9, 0x4d9}, {0x4db, 0x4db}, {0x4dd, 0x4dd}, {0x4df, 0x4df}, | 
369  |  |     {0x4e1, 0x4e1}, {0x4e3, 0x4e3}, {0x4e5, 0x4e5}, {0x4e7, 0x4e7}, | 
370  |  |     {0x4e9, 0x4e9}, {0x4eb, 0x4eb}, {0x4ed, 0x4ed}, {0x4ef, 0x4ef}, | 
371  |  |     {0x4f1, 0x4f1}, {0x4f3, 0x4f3}, {0x4f5, 0x4f5}, {0x4f9, 0x4f9}, | 
372  |  |     {0x501, 0x501}, {0x503, 0x503}, {0x505, 0x505}, {0x507, 0x507}, | 
373  |  |     {0x509, 0x509}, {0x50b, 0x50b}, {0x50d, 0x50d}, {0x50f, 0x50f}, | 
374  |  |     {0x561, 0x587}, {0x1d00, 0x1d2b}, {0x1d62, 0x1d6b}, {0x1e01, 0x1e01}, | 
375  |  |     {0x1e03, 0x1e03}, {0x1e05, 0x1e05}, {0x1e07, 0x1e07}, {0x1e09, 0x1e09}, | 
376  |  |     {0x1e0b, 0x1e0b}, {0x1e0d, 0x1e0d}, {0x1e0f, 0x1e0f}, {0x1e11, 0x1e11}, | 
377  |  |     {0x1e13, 0x1e13}, {0x1e15, 0x1e15}, {0x1e17, 0x1e17}, {0x1e19, 0x1e19}, | 
378  |  |     {0x1e1b, 0x1e1b}, {0x1e1d, 0x1e1d}, {0x1e1f, 0x1e1f}, {0x1e21, 0x1e21}, | 
379  |  |     {0x1e23, 0x1e23}, {0x1e25, 0x1e25}, {0x1e27, 0x1e27}, {0x1e29, 0x1e29}, | 
380  |  |     {0x1e2b, 0x1e2b}, {0x1e2d, 0x1e2d}, {0x1e2f, 0x1e2f}, {0x1e31, 0x1e31}, | 
381  |  |     {0x1e33, 0x1e33}, {0x1e35, 0x1e35}, {0x1e37, 0x1e37}, {0x1e39, 0x1e39}, | 
382  |  |     {0x1e3b, 0x1e3b}, {0x1e3d, 0x1e3d}, {0x1e3f, 0x1e3f}, {0x1e41, 0x1e41}, | 
383  |  |     {0x1e43, 0x1e43}, {0x1e45, 0x1e45}, {0x1e47, 0x1e47}, {0x1e49, 0x1e49}, | 
384  |  |     {0x1e4b, 0x1e4b}, {0x1e4d, 0x1e4d}, {0x1e4f, 0x1e4f}, {0x1e51, 0x1e51}, | 
385  |  |     {0x1e53, 0x1e53}, {0x1e55, 0x1e55}, {0x1e57, 0x1e57}, {0x1e59, 0x1e59}, | 
386  |  |     {0x1e5b, 0x1e5b}, {0x1e5d, 0x1e5d}, {0x1e5f, 0x1e5f}, {0x1e61, 0x1e61}, | 
387  |  |     {0x1e63, 0x1e63}, {0x1e65, 0x1e65}, {0x1e67, 0x1e67}, {0x1e69, 0x1e69}, | 
388  |  |     {0x1e6b, 0x1e6b}, {0x1e6d, 0x1e6d}, {0x1e6f, 0x1e6f}, {0x1e71, 0x1e71}, | 
389  |  |     {0x1e73, 0x1e73}, {0x1e75, 0x1e75}, {0x1e77, 0x1e77}, {0x1e79, 0x1e79}, | 
390  |  |     {0x1e7b, 0x1e7b}, {0x1e7d, 0x1e7d}, {0x1e7f, 0x1e7f}, {0x1e81, 0x1e81}, | 
391  |  |     {0x1e83, 0x1e83}, {0x1e85, 0x1e85}, {0x1e87, 0x1e87}, {0x1e89, 0x1e89}, | 
392  |  |     {0x1e8b, 0x1e8b}, {0x1e8d, 0x1e8d}, {0x1e8f, 0x1e8f}, {0x1e91, 0x1e91}, | 
393  |  |     {0x1e93, 0x1e93}, {0x1e95, 0x1e9b}, {0x1ea1, 0x1ea1}, {0x1ea3, 0x1ea3}, | 
394  |  |     {0x1ea5, 0x1ea5}, {0x1ea7, 0x1ea7}, {0x1ea9, 0x1ea9}, {0x1eab, 0x1eab}, | 
395  |  |     {0x1ead, 0x1ead}, {0x1eaf, 0x1eaf}, {0x1eb1, 0x1eb1}, {0x1eb3, 0x1eb3}, | 
396  |  |     {0x1eb5, 0x1eb5}, {0x1eb7, 0x1eb7}, {0x1eb9, 0x1eb9}, {0x1ebb, 0x1ebb}, | 
397  |  |     {0x1ebd, 0x1ebd}, {0x1ebf, 0x1ebf}, {0x1ec1, 0x1ec1}, {0x1ec3, 0x1ec3}, | 
398  |  |     {0x1ec5, 0x1ec5}, {0x1ec7, 0x1ec7}, {0x1ec9, 0x1ec9}, {0x1ecb, 0x1ecb}, | 
399  |  |     {0x1ecd, 0x1ecd}, {0x1ecf, 0x1ecf}, {0x1ed1, 0x1ed1}, {0x1ed3, 0x1ed3}, | 
400  |  |     {0x1ed5, 0x1ed5}, {0x1ed7, 0x1ed7}, {0x1ed9, 0x1ed9}, {0x1edb, 0x1edb}, | 
401  |  |     {0x1edd, 0x1edd}, {0x1edf, 0x1edf}, {0x1ee1, 0x1ee1}, {0x1ee3, 0x1ee3}, | 
402  |  |     {0x1ee5, 0x1ee5}, {0x1ee7, 0x1ee7}, {0x1ee9, 0x1ee9}, {0x1eeb, 0x1eeb}, | 
403  |  |     {0x1eed, 0x1eed}, {0x1eef, 0x1eef}, {0x1ef1, 0x1ef1}, {0x1ef3, 0x1ef3}, | 
404  |  |     {0x1ef5, 0x1ef5}, {0x1ef7, 0x1ef7}, {0x1ef9, 0x1ef9}, {0x1f00, 0x1f07}, | 
405  |  |     {0x1f10, 0x1f15}, {0x1f20, 0x1f27}, {0x1f30, 0x1f37}, {0x1f40, 0x1f45}, | 
406  |  |     {0x1f50, 0x1f57}, {0x1f60, 0x1f67}, {0x1f70, 0x1f7d}, {0x1f80, 0x1f87}, | 
407  |  |     {0x1f90, 0x1f97}, {0x1fa0, 0x1fa7}, {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7}, | 
408  |  |     {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, {0x1fd0, 0x1fd3}, | 
409  |  |     {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ff7}, | 
410  |  |     {0x2071, 0x2071}, {0x207f, 0x207f}, {0x210a, 0x210a}, {0x210e, 0x210f}, | 
411  |  |     {0x2113, 0x2113}, {0x212f, 0x212f}, {0x2134, 0x2134}, {0x2139, 0x2139}, | 
412  |  |     {0x213d, 0x213d}, {0x2146, 0x2149}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, | 
413  |  |     {0xff41, 0xff5a} }; | 
414  |  | static const xmlChLRange xmlLlL[] = {{0x10428, 0x1044f}, {0x1d41a, 0x1d433}, | 
415  |  |     {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, {0x1d482, 0x1d49b}, | 
416  |  |     {0x1d4b6, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, | 
417  |  |     {0x1d4c5, 0x1d4cf}, {0x1d4ea, 0x1d503}, {0x1d51e, 0x1d537}, | 
418  |  |     {0x1d552, 0x1d56b}, {0x1d586, 0x1d59f}, {0x1d5ba, 0x1d5d3}, | 
419  |  |     {0x1d5ee, 0x1d607}, {0x1d622, 0x1d63b}, {0x1d656, 0x1d66f}, | 
420  |  |     {0x1d68a, 0x1d6a3}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6e1}, | 
421  |  |     {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e}, | 
422  |  |     {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f}, | 
423  |  |     {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9} }; | 
424  |  | static const xmlChRangeGroup xmlLlG = {396,28,xmlLlS,xmlLlL}; | 
425  |  |  | 
426  |  | static const xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1}, | 
427  |  |     {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x559, 0x559}, | 
428  |  |     {0x640, 0x640}, {0x6e5, 0x6e6}, {0xe46, 0xe46}, {0xec6, 0xec6}, | 
429  |  |     {0x17d7, 0x17d7}, {0x1843, 0x1843}, {0x1d2c, 0x1d61}, {0x3005, 0x3005}, | 
430  |  |     {0x3031, 0x3035}, {0x303b, 0x303b}, {0x309d, 0x309e}, {0x30fc, 0x30fe}, | 
431  |  |     {0xff70, 0xff70}, {0xff9e, 0xff9f} }; | 
432  |  | static const xmlChRangeGroup xmlLmG = {20,0,xmlLmS,NULL}; | 
433  |  |  | 
434  |  | static const xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3}, | 
435  |  |     {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x641, 0x64a}, | 
436  |  |     {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6ee, 0x6ef}, | 
437  |  |     {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, | 
438  |  |     {0x74d, 0x74f}, {0x780, 0x7a5}, {0x7b1, 0x7b1}, {0x904, 0x939}, | 
439  |  |     {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x985, 0x98c}, | 
440  |  |     {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, | 
441  |  |     {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, | 
442  |  |     {0x9f0, 0x9f1}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, | 
443  |  |     {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, | 
444  |  |     {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d}, | 
445  |  |     {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, | 
446  |  |     {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1}, | 
447  |  |     {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, | 
448  |  |     {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, | 
449  |  |     {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, | 
450  |  |     {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, | 
451  |  |     {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb5}, | 
452  |  |     {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, | 
453  |  |     {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, {0xc85, 0xc8c}, | 
454  |  |     {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, | 
455  |  |     {0xcbd, 0xcbd}, {0xcde, 0xcde}, {0xce0, 0xce1}, {0xd05, 0xd0c}, | 
456  |  |     {0xd0e, 0xd10}, {0xd12, 0xd28}, {0xd2a, 0xd39}, {0xd60, 0xd61}, | 
457  |  |     {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, | 
458  |  |     {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe45}, | 
459  |  |     {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe87, 0xe88}, {0xe8a, 0xe8a}, | 
460  |  |     {0xe8d, 0xe8d}, {0xe94, 0xe97}, {0xe99, 0xe9f}, {0xea1, 0xea3}, | 
461  |  |     {0xea5, 0xea5}, {0xea7, 0xea7}, {0xeaa, 0xeab}, {0xead, 0xeb0}, | 
462  |  |     {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xedc, 0xedd}, | 
463  |  |     {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b}, | 
464  |  |     {0x1000, 0x1021}, {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055}, | 
465  |  |     {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9}, | 
466  |  |     {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d}, | 
467  |  |     {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286}, | 
468  |  |     {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0}, | 
469  |  |     {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, | 
470  |  |     {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e}, | 
471  |  |     {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346}, | 
472  |  |     {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676}, | 
473  |  |     {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711}, | 
474  |  |     {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, | 
475  |  |     {0x1780, 0x17b3}, {0x17dc, 0x17dc}, {0x1820, 0x1842}, {0x1844, 0x1877}, | 
476  |  |     {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974}, | 
477  |  |     {0x2135, 0x2138}, {0x3006, 0x3006}, {0x303c, 0x303c}, {0x3041, 0x3096}, | 
478  |  |     {0x309f, 0x309f}, {0x30a1, 0x30fa}, {0x30ff, 0x30ff}, {0x3105, 0x312c}, | 
479  |  |     {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff}, {0x3400, 0x3400}, | 
480  |  |     {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5}, {0xa000, 0xa48c}, | 
481  |  |     {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d}, {0xfa30, 0xfa6a}, | 
482  |  |     {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, | 
483  |  |     {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, | 
484  |  |     {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, | 
485  |  |     {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff66, 0xff6f}, {0xff71, 0xff9d}, | 
486  |  |     {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, | 
487  |  |     {0xffda, 0xffdc} }; | 
488  |  | static const xmlChLRange xmlLoL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, | 
489  |  |     {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, | 
490  |  |     {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e}, | 
491  |  |     {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10450, 0x1049d}, | 
492  |  |     {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, | 
493  |  |     {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f}, | 
494  |  |     {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} }; | 
495  |  | static const xmlChRangeGroup xmlLoG = {211,20,xmlLoS,xmlLoL}; | 
496  |  |  | 
497  |  | static const xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8}, | 
498  |  |     {0x1cb, 0x1cb}, {0x1f2, 0x1f2}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f}, | 
499  |  |     {0x1fa8, 0x1faf}, {0x1fbc, 0x1fbc}, {0x1fcc, 0x1fcc}, {0x1ffc, 0x1ffc} }; | 
500  |  | static const xmlChRangeGroup xmlLtG = {10,0,xmlLtS,NULL}; | 
501  |  |  | 
502  |  | static const xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6}, | 
503  |  |     {0xd8, 0xde}, {0x100, 0x100}, {0x102, 0x102}, {0x104, 0x104}, | 
504  |  |     {0x106, 0x106}, {0x108, 0x108}, {0x10a, 0x10a}, {0x10c, 0x10c}, | 
505  |  |     {0x10e, 0x10e}, {0x110, 0x110}, {0x112, 0x112}, {0x114, 0x114}, | 
506  |  |     {0x116, 0x116}, {0x118, 0x118}, {0x11a, 0x11a}, {0x11c, 0x11c}, | 
507  |  |     {0x11e, 0x11e}, {0x120, 0x120}, {0x122, 0x122}, {0x124, 0x124}, | 
508  |  |     {0x126, 0x126}, {0x128, 0x128}, {0x12a, 0x12a}, {0x12c, 0x12c}, | 
509  |  |     {0x12e, 0x12e}, {0x130, 0x130}, {0x132, 0x132}, {0x134, 0x134}, | 
510  |  |     {0x136, 0x136}, {0x139, 0x139}, {0x13b, 0x13b}, {0x13d, 0x13d}, | 
511  |  |     {0x13f, 0x13f}, {0x141, 0x141}, {0x143, 0x143}, {0x145, 0x145}, | 
512  |  |     {0x147, 0x147}, {0x14a, 0x14a}, {0x14c, 0x14c}, {0x14e, 0x14e}, | 
513  |  |     {0x150, 0x150}, {0x152, 0x152}, {0x154, 0x154}, {0x156, 0x156}, | 
514  |  |     {0x158, 0x158}, {0x15a, 0x15a}, {0x15c, 0x15c}, {0x15e, 0x15e}, | 
515  |  |     {0x160, 0x160}, {0x162, 0x162}, {0x164, 0x164}, {0x166, 0x166}, | 
516  |  |     {0x168, 0x168}, {0x16a, 0x16a}, {0x16c, 0x16c}, {0x16e, 0x16e}, | 
517  |  |     {0x170, 0x170}, {0x172, 0x172}, {0x174, 0x174}, {0x176, 0x176}, | 
518  |  |     {0x178, 0x179}, {0x17b, 0x17b}, {0x17d, 0x17d}, {0x181, 0x182}, | 
519  |  |     {0x184, 0x184}, {0x186, 0x187}, {0x189, 0x18b}, {0x18e, 0x191}, | 
520  |  |     {0x193, 0x194}, {0x196, 0x198}, {0x19c, 0x19d}, {0x19f, 0x1a0}, | 
521  |  |     {0x1a2, 0x1a2}, {0x1a4, 0x1a4}, {0x1a6, 0x1a7}, {0x1a9, 0x1a9}, | 
522  |  |     {0x1ac, 0x1ac}, {0x1ae, 0x1af}, {0x1b1, 0x1b3}, {0x1b5, 0x1b5}, | 
523  |  |     {0x1b7, 0x1b8}, {0x1bc, 0x1bc}, {0x1c4, 0x1c4}, {0x1c7, 0x1c7}, | 
524  |  |     {0x1ca, 0x1ca}, {0x1cd, 0x1cd}, {0x1cf, 0x1cf}, {0x1d1, 0x1d1}, | 
525  |  |     {0x1d3, 0x1d3}, {0x1d5, 0x1d5}, {0x1d7, 0x1d7}, {0x1d9, 0x1d9}, | 
526  |  |     {0x1db, 0x1db}, {0x1de, 0x1de}, {0x1e0, 0x1e0}, {0x1e2, 0x1e2}, | 
527  |  |     {0x1e4, 0x1e4}, {0x1e6, 0x1e6}, {0x1e8, 0x1e8}, {0x1ea, 0x1ea}, | 
528  |  |     {0x1ec, 0x1ec}, {0x1ee, 0x1ee}, {0x1f1, 0x1f1}, {0x1f4, 0x1f4}, | 
529  |  |     {0x1f6, 0x1f8}, {0x1fa, 0x1fa}, {0x1fc, 0x1fc}, {0x1fe, 0x1fe}, | 
530  |  |     {0x200, 0x200}, {0x202, 0x202}, {0x204, 0x204}, {0x206, 0x206}, | 
531  |  |     {0x208, 0x208}, {0x20a, 0x20a}, {0x20c, 0x20c}, {0x20e, 0x20e}, | 
532  |  |     {0x210, 0x210}, {0x212, 0x212}, {0x214, 0x214}, {0x216, 0x216}, | 
533  |  |     {0x218, 0x218}, {0x21a, 0x21a}, {0x21c, 0x21c}, {0x21e, 0x21e}, | 
534  |  |     {0x220, 0x220}, {0x222, 0x222}, {0x224, 0x224}, {0x226, 0x226}, | 
535  |  |     {0x228, 0x228}, {0x22a, 0x22a}, {0x22c, 0x22c}, {0x22e, 0x22e}, | 
536  |  |     {0x230, 0x230}, {0x232, 0x232}, {0x386, 0x386}, {0x388, 0x38a}, | 
537  |  |     {0x38c, 0x38c}, {0x38e, 0x38f}, {0x391, 0x3a1}, {0x3a3, 0x3ab}, | 
538  |  |     {0x3d2, 0x3d4}, {0x3d8, 0x3d8}, {0x3da, 0x3da}, {0x3dc, 0x3dc}, | 
539  |  |     {0x3de, 0x3de}, {0x3e0, 0x3e0}, {0x3e2, 0x3e2}, {0x3e4, 0x3e4}, | 
540  |  |     {0x3e6, 0x3e6}, {0x3e8, 0x3e8}, {0x3ea, 0x3ea}, {0x3ec, 0x3ec}, | 
541  |  |     {0x3ee, 0x3ee}, {0x3f4, 0x3f4}, {0x3f7, 0x3f7}, {0x3f9, 0x3fa}, | 
542  |  |     {0x400, 0x42f}, {0x460, 0x460}, {0x462, 0x462}, {0x464, 0x464}, | 
543  |  |     {0x466, 0x466}, {0x468, 0x468}, {0x46a, 0x46a}, {0x46c, 0x46c}, | 
544  |  |     {0x46e, 0x46e}, {0x470, 0x470}, {0x472, 0x472}, {0x474, 0x474}, | 
545  |  |     {0x476, 0x476}, {0x478, 0x478}, {0x47a, 0x47a}, {0x47c, 0x47c}, | 
546  |  |     {0x47e, 0x47e}, {0x480, 0x480}, {0x48a, 0x48a}, {0x48c, 0x48c}, | 
547  |  |     {0x48e, 0x48e}, {0x490, 0x490}, {0x492, 0x492}, {0x494, 0x494}, | 
548  |  |     {0x496, 0x496}, {0x498, 0x498}, {0x49a, 0x49a}, {0x49c, 0x49c}, | 
549  |  |     {0x49e, 0x49e}, {0x4a0, 0x4a0}, {0x4a2, 0x4a2}, {0x4a4, 0x4a4}, | 
550  |  |     {0x4a6, 0x4a6}, {0x4a8, 0x4a8}, {0x4aa, 0x4aa}, {0x4ac, 0x4ac}, | 
551  |  |     {0x4ae, 0x4ae}, {0x4b0, 0x4b0}, {0x4b2, 0x4b2}, {0x4b4, 0x4b4}, | 
552  |  |     {0x4b6, 0x4b6}, {0x4b8, 0x4b8}, {0x4ba, 0x4ba}, {0x4bc, 0x4bc}, | 
553  |  |     {0x4be, 0x4be}, {0x4c0, 0x4c1}, {0x4c3, 0x4c3}, {0x4c5, 0x4c5}, | 
554  |  |     {0x4c7, 0x4c7}, {0x4c9, 0x4c9}, {0x4cb, 0x4cb}, {0x4cd, 0x4cd}, | 
555  |  |     {0x4d0, 0x4d0}, {0x4d2, 0x4d2}, {0x4d4, 0x4d4}, {0x4d6, 0x4d6}, | 
556  |  |     {0x4d8, 0x4d8}, {0x4da, 0x4da}, {0x4dc, 0x4dc}, {0x4de, 0x4de}, | 
557  |  |     {0x4e0, 0x4e0}, {0x4e2, 0x4e2}, {0x4e4, 0x4e4}, {0x4e6, 0x4e6}, | 
558  |  |     {0x4e8, 0x4e8}, {0x4ea, 0x4ea}, {0x4ec, 0x4ec}, {0x4ee, 0x4ee}, | 
559  |  |     {0x4f0, 0x4f0}, {0x4f2, 0x4f2}, {0x4f4, 0x4f4}, {0x4f8, 0x4f8}, | 
560  |  |     {0x500, 0x500}, {0x502, 0x502}, {0x504, 0x504}, {0x506, 0x506}, | 
561  |  |     {0x508, 0x508}, {0x50a, 0x50a}, {0x50c, 0x50c}, {0x50e, 0x50e}, | 
562  |  |     {0x531, 0x556}, {0x10a0, 0x10c5}, {0x1e00, 0x1e00}, {0x1e02, 0x1e02}, | 
563  |  |     {0x1e04, 0x1e04}, {0x1e06, 0x1e06}, {0x1e08, 0x1e08}, {0x1e0a, 0x1e0a}, | 
564  |  |     {0x1e0c, 0x1e0c}, {0x1e0e, 0x1e0e}, {0x1e10, 0x1e10}, {0x1e12, 0x1e12}, | 
565  |  |     {0x1e14, 0x1e14}, {0x1e16, 0x1e16}, {0x1e18, 0x1e18}, {0x1e1a, 0x1e1a}, | 
566  |  |     {0x1e1c, 0x1e1c}, {0x1e1e, 0x1e1e}, {0x1e20, 0x1e20}, {0x1e22, 0x1e22}, | 
567  |  |     {0x1e24, 0x1e24}, {0x1e26, 0x1e26}, {0x1e28, 0x1e28}, {0x1e2a, 0x1e2a}, | 
568  |  |     {0x1e2c, 0x1e2c}, {0x1e2e, 0x1e2e}, {0x1e30, 0x1e30}, {0x1e32, 0x1e32}, | 
569  |  |     {0x1e34, 0x1e34}, {0x1e36, 0x1e36}, {0x1e38, 0x1e38}, {0x1e3a, 0x1e3a}, | 
570  |  |     {0x1e3c, 0x1e3c}, {0x1e3e, 0x1e3e}, {0x1e40, 0x1e40}, {0x1e42, 0x1e42}, | 
571  |  |     {0x1e44, 0x1e44}, {0x1e46, 0x1e46}, {0x1e48, 0x1e48}, {0x1e4a, 0x1e4a}, | 
572  |  |     {0x1e4c, 0x1e4c}, {0x1e4e, 0x1e4e}, {0x1e50, 0x1e50}, {0x1e52, 0x1e52}, | 
573  |  |     {0x1e54, 0x1e54}, {0x1e56, 0x1e56}, {0x1e58, 0x1e58}, {0x1e5a, 0x1e5a}, | 
574  |  |     {0x1e5c, 0x1e5c}, {0x1e5e, 0x1e5e}, {0x1e60, 0x1e60}, {0x1e62, 0x1e62}, | 
575  |  |     {0x1e64, 0x1e64}, {0x1e66, 0x1e66}, {0x1e68, 0x1e68}, {0x1e6a, 0x1e6a}, | 
576  |  |     {0x1e6c, 0x1e6c}, {0x1e6e, 0x1e6e}, {0x1e70, 0x1e70}, {0x1e72, 0x1e72}, | 
577  |  |     {0x1e74, 0x1e74}, {0x1e76, 0x1e76}, {0x1e78, 0x1e78}, {0x1e7a, 0x1e7a}, | 
578  |  |     {0x1e7c, 0x1e7c}, {0x1e7e, 0x1e7e}, {0x1e80, 0x1e80}, {0x1e82, 0x1e82}, | 
579  |  |     {0x1e84, 0x1e84}, {0x1e86, 0x1e86}, {0x1e88, 0x1e88}, {0x1e8a, 0x1e8a}, | 
580  |  |     {0x1e8c, 0x1e8c}, {0x1e8e, 0x1e8e}, {0x1e90, 0x1e90}, {0x1e92, 0x1e92}, | 
581  |  |     {0x1e94, 0x1e94}, {0x1ea0, 0x1ea0}, {0x1ea2, 0x1ea2}, {0x1ea4, 0x1ea4}, | 
582  |  |     {0x1ea6, 0x1ea6}, {0x1ea8, 0x1ea8}, {0x1eaa, 0x1eaa}, {0x1eac, 0x1eac}, | 
583  |  |     {0x1eae, 0x1eae}, {0x1eb0, 0x1eb0}, {0x1eb2, 0x1eb2}, {0x1eb4, 0x1eb4}, | 
584  |  |     {0x1eb6, 0x1eb6}, {0x1eb8, 0x1eb8}, {0x1eba, 0x1eba}, {0x1ebc, 0x1ebc}, | 
585  |  |     {0x1ebe, 0x1ebe}, {0x1ec0, 0x1ec0}, {0x1ec2, 0x1ec2}, {0x1ec4, 0x1ec4}, | 
586  |  |     {0x1ec6, 0x1ec6}, {0x1ec8, 0x1ec8}, {0x1eca, 0x1eca}, {0x1ecc, 0x1ecc}, | 
587  |  |     {0x1ece, 0x1ece}, {0x1ed0, 0x1ed0}, {0x1ed2, 0x1ed2}, {0x1ed4, 0x1ed4}, | 
588  |  |     {0x1ed6, 0x1ed6}, {0x1ed8, 0x1ed8}, {0x1eda, 0x1eda}, {0x1edc, 0x1edc}, | 
589  |  |     {0x1ede, 0x1ede}, {0x1ee0, 0x1ee0}, {0x1ee2, 0x1ee2}, {0x1ee4, 0x1ee4}, | 
590  |  |     {0x1ee6, 0x1ee6}, {0x1ee8, 0x1ee8}, {0x1eea, 0x1eea}, {0x1eec, 0x1eec}, | 
591  |  |     {0x1eee, 0x1eee}, {0x1ef0, 0x1ef0}, {0x1ef2, 0x1ef2}, {0x1ef4, 0x1ef4}, | 
592  |  |     {0x1ef6, 0x1ef6}, {0x1ef8, 0x1ef8}, {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d}, | 
593  |  |     {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, {0x1f59, 0x1f59}, | 
594  |  |     {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f5f}, {0x1f68, 0x1f6f}, | 
595  |  |     {0x1fb8, 0x1fbb}, {0x1fc8, 0x1fcb}, {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec}, | 
596  |  |     {0x1ff8, 0x1ffb}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210b, 0x210d}, | 
597  |  |     {0x2110, 0x2112}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124}, | 
598  |  |     {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x212d}, {0x2130, 0x2131}, | 
599  |  |     {0x2133, 0x2133}, {0x213e, 0x213f}, {0x2145, 0x2145}, {0xff21, 0xff3a} }; | 
600  |  | static const xmlChLRange xmlLuL[] = {{0x10400, 0x10427}, {0x1d400, 0x1d419}, | 
601  |  |     {0x1d434, 0x1d44d}, {0x1d468, 0x1d481}, {0x1d49c, 0x1d49c}, | 
602  |  |     {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, | 
603  |  |     {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9}, | 
604  |  |     {0x1d504, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, | 
605  |  |     {0x1d516, 0x1d51c}, {0x1d538, 0x1d539}, {0x1d53b, 0x1d53e}, | 
606  |  |     {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, | 
607  |  |     {0x1d56c, 0x1d585}, {0x1d5a0, 0x1d5b9}, {0x1d5d4, 0x1d5ed}, | 
608  |  |     {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689}, | 
609  |  |     {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734}, | 
610  |  |     {0x1d756, 0x1d76e}, {0x1d790, 0x1d7a8} }; | 
611  |  | static const xmlChRangeGroup xmlLuG = {390,31,xmlLuS,xmlLuL}; | 
612  |  |  | 
613  |  | static const xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f}, | 
614  |  |     {0x483, 0x486}, {0x488, 0x489}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, | 
615  |  |     {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, | 
616  |  |     {0x610, 0x615}, {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, | 
617  |  |     {0x6de, 0x6e4}, {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711}, | 
618  |  |     {0x730, 0x74a}, {0x7a6, 0x7b0}, {0x901, 0x903}, {0x93c, 0x93c}, | 
619  |  |     {0x93e, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x983}, | 
620  |  |     {0x9bc, 0x9bc}, {0x9be, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9cd}, | 
621  |  |     {0x9d7, 0x9d7}, {0x9e2, 0x9e3}, {0xa01, 0xa03}, {0xa3c, 0xa3c}, | 
622  |  |     {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa70, 0xa71}, | 
623  |  |     {0xa81, 0xa83}, {0xabc, 0xabc}, {0xabe, 0xac5}, {0xac7, 0xac9}, | 
624  |  |     {0xacb, 0xacd}, {0xae2, 0xae3}, {0xb01, 0xb03}, {0xb3c, 0xb3c}, | 
625  |  |     {0xb3e, 0xb43}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb56, 0xb57}, | 
626  |  |     {0xb82, 0xb82}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd}, | 
627  |  |     {0xbd7, 0xbd7}, {0xc01, 0xc03}, {0xc3e, 0xc44}, {0xc46, 0xc48}, | 
628  |  |     {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc82, 0xc83}, {0xcbc, 0xcbc}, | 
629  |  |     {0xcbe, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, | 
630  |  |     {0xd02, 0xd03}, {0xd3e, 0xd43}, {0xd46, 0xd48}, {0xd4a, 0xd4d}, | 
631  |  |     {0xd57, 0xd57}, {0xd82, 0xd83}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, | 
632  |  |     {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xdf2, 0xdf3}, {0xe31, 0xe31}, | 
633  |  |     {0xe34, 0xe3a}, {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, | 
634  |  |     {0xebb, 0xebc}, {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35}, | 
635  |  |     {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf3f}, {0xf71, 0xf84}, | 
636  |  |     {0xf86, 0xf87}, {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, | 
637  |  |     {0x102c, 0x1032}, {0x1036, 0x1039}, {0x1056, 0x1059}, {0x1712, 0x1714}, | 
638  |  |     {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, {0x17b6, 0x17d3}, | 
639  |  |     {0x17dd, 0x17dd}, {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x192b}, | 
640  |  |     {0x1930, 0x193b}, {0x20d0, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, | 
641  |  |     {0xfb1e, 0xfb1e}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} }; | 
642  |  | static const xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, | 
643  |  |     {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, | 
644  |  |     {0xe0100, 0xe01ef} }; | 
645  |  | static const xmlChRangeGroup xmlMG = {113,6,xmlMS,xmlML}; | 
646  |  |  | 
647  |  | static const xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940}, | 
648  |  |     {0x949, 0x94c}, {0x982, 0x983}, {0x9be, 0x9c0}, {0x9c7, 0x9c8}, | 
649  |  |     {0x9cb, 0x9cc}, {0x9d7, 0x9d7}, {0xa03, 0xa03}, {0xa3e, 0xa40}, | 
650  |  |     {0xa83, 0xa83}, {0xabe, 0xac0}, {0xac9, 0xac9}, {0xacb, 0xacc}, | 
651  |  |     {0xb02, 0xb03}, {0xb3e, 0xb3e}, {0xb40, 0xb40}, {0xb47, 0xb48}, | 
652  |  |     {0xb4b, 0xb4c}, {0xb57, 0xb57}, {0xbbe, 0xbbf}, {0xbc1, 0xbc2}, | 
653  |  |     {0xbc6, 0xbc8}, {0xbca, 0xbcc}, {0xbd7, 0xbd7}, {0xc01, 0xc03}, | 
654  |  |     {0xc41, 0xc44}, {0xc82, 0xc83}, {0xcbe, 0xcbe}, {0xcc0, 0xcc4}, | 
655  |  |     {0xcc7, 0xcc8}, {0xcca, 0xccb}, {0xcd5, 0xcd6}, {0xd02, 0xd03}, | 
656  |  |     {0xd3e, 0xd40}, {0xd46, 0xd48}, {0xd4a, 0xd4c}, {0xd57, 0xd57}, | 
657  |  |     {0xd82, 0xd83}, {0xdcf, 0xdd1}, {0xdd8, 0xddf}, {0xdf2, 0xdf3}, | 
658  |  |     {0xf3e, 0xf3f}, {0xf7f, 0xf7f}, {0x102c, 0x102c}, {0x1031, 0x1031}, | 
659  |  |     {0x1038, 0x1038}, {0x1056, 0x1057}, {0x17b6, 0x17b6}, {0x17be, 0x17c5}, | 
660  |  |     {0x17c7, 0x17c8}, {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931}, | 
661  |  |     {0x1933, 0x1938} }; | 
662  |  | static const xmlChLRange xmlMcL[] = {{0x1d165, 0x1d166}, {0x1d16d, 0x1d172} }; | 
663  |  | static const xmlChRangeGroup xmlMcG = {55,2,xmlMcS,xmlMcL}; | 
664  |  |  | 
665  |  | static const xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f}, | 
666  |  |     {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, {0x5bb, 0x5bd}, | 
667  |  |     {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, {0x610, 0x615}, | 
668  |  |     {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6df, 0x6e4}, | 
669  |  |     {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711}, {0x730, 0x74a}, | 
670  |  |     {0x7a6, 0x7b0}, {0x901, 0x902}, {0x93c, 0x93c}, {0x941, 0x948}, | 
671  |  |     {0x94d, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x981}, | 
672  |  |     {0x9bc, 0x9bc}, {0x9c1, 0x9c4}, {0x9cd, 0x9cd}, {0x9e2, 0x9e3}, | 
673  |  |     {0xa01, 0xa02}, {0xa3c, 0xa3c}, {0xa41, 0xa42}, {0xa47, 0xa48}, | 
674  |  |     {0xa4b, 0xa4d}, {0xa70, 0xa71}, {0xa81, 0xa82}, {0xabc, 0xabc}, | 
675  |  |     {0xac1, 0xac5}, {0xac7, 0xac8}, {0xacd, 0xacd}, {0xae2, 0xae3}, | 
676  |  |     {0xb01, 0xb01}, {0xb3c, 0xb3c}, {0xb3f, 0xb3f}, {0xb41, 0xb43}, | 
677  |  |     {0xb4d, 0xb4d}, {0xb56, 0xb56}, {0xb82, 0xb82}, {0xbc0, 0xbc0}, | 
678  |  |     {0xbcd, 0xbcd}, {0xc3e, 0xc40}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, | 
679  |  |     {0xc55, 0xc56}, {0xcbc, 0xcbc}, {0xcbf, 0xcbf}, {0xcc6, 0xcc6}, | 
680  |  |     {0xccc, 0xccd}, {0xd41, 0xd43}, {0xd4d, 0xd4d}, {0xdca, 0xdca}, | 
681  |  |     {0xdd2, 0xdd4}, {0xdd6, 0xdd6}, {0xe31, 0xe31}, {0xe34, 0xe3a}, | 
682  |  |     {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, {0xebb, 0xebc}, | 
683  |  |     {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35}, {0xf37, 0xf37}, | 
684  |  |     {0xf39, 0xf39}, {0xf71, 0xf7e}, {0xf80, 0xf84}, {0xf86, 0xf87}, | 
685  |  |     {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x102d, 0x1030}, | 
686  |  |     {0x1032, 0x1032}, {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059}, | 
687  |  |     {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, | 
688  |  |     {0x17b7, 0x17bd}, {0x17c6, 0x17c6}, {0x17c9, 0x17d3}, {0x17dd, 0x17dd}, | 
689  |  |     {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x1922}, {0x1927, 0x1928}, | 
690  |  |     {0x1932, 0x1932}, {0x1939, 0x193b}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, | 
691  |  |     {0x20e5, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e}, | 
692  |  |     {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} }; | 
693  |  | static const xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, | 
694  |  |     {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef} }; | 
695  |  | static const xmlChRangeGroup xmlMnG = {108,5,xmlMnS,xmlMnL}; | 
696  |  |  | 
697  |  | static const xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3}, | 
698  |  |     {0xb9, 0xb9}, {0xbc, 0xbe}, {0x660, 0x669}, {0x6f0, 0x6f9}, | 
699  |  |     {0x966, 0x96f}, {0x9e6, 0x9ef}, {0x9f4, 0x9f9}, {0xa66, 0xa6f}, | 
700  |  |     {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbf2}, {0xc66, 0xc6f}, | 
701  |  |     {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9}, | 
702  |  |     {0xf20, 0xf33}, {0x1040, 0x1049}, {0x1369, 0x137c}, {0x16ee, 0x16f0}, | 
703  |  |     {0x17e0, 0x17e9}, {0x17f0, 0x17f9}, {0x1810, 0x1819}, {0x1946, 0x194f}, | 
704  |  |     {0x2070, 0x2070}, {0x2074, 0x2079}, {0x2080, 0x2089}, {0x2153, 0x2183}, | 
705  |  |     {0x2460, 0x249b}, {0x24ea, 0x24ff}, {0x2776, 0x2793}, {0x3007, 0x3007}, | 
706  |  |     {0x3021, 0x3029}, {0x3038, 0x303a}, {0x3192, 0x3195}, {0x3220, 0x3229}, | 
707  |  |     {0x3251, 0x325f}, {0x3280, 0x3289}, {0x32b1, 0x32bf}, {0xff10, 0xff19} }; | 
708  |  | static const xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323}, | 
709  |  |     {0x1034a, 0x1034a}, {0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} }; | 
710  |  | static const xmlChRangeGroup xmlNG = {42,5,xmlNS,xmlNL}; | 
711  |  |  | 
712  |  | static const xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669}, | 
713  |  |     {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f}, | 
714  |  |     {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f}, | 
715  |  |     {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9}, | 
716  |  |     {0xf20, 0xf29}, {0x1040, 0x1049}, {0x1369, 0x1371}, {0x17e0, 0x17e9}, | 
717  |  |     {0x1810, 0x1819}, {0x1946, 0x194f}, {0xff10, 0xff19} }; | 
718  |  | static const xmlChLRange xmlNdL[] = {{0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} }; | 
719  |  | static const xmlChRangeGroup xmlNdG = {21,2,xmlNdS,xmlNdL}; | 
720  |  |  | 
721  |  | static const xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9}, | 
722  |  |     {0xbc, 0xbe}, {0x9f4, 0x9f9}, {0xbf0, 0xbf2}, {0xf2a, 0xf33}, | 
723  |  |     {0x1372, 0x137c}, {0x17f0, 0x17f9}, {0x2070, 0x2070}, {0x2074, 0x2079}, | 
724  |  |     {0x2080, 0x2089}, {0x2153, 0x215f}, {0x2460, 0x249b}, {0x24ea, 0x24ff}, | 
725  |  |     {0x2776, 0x2793}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f}, | 
726  |  |     {0x3280, 0x3289}, {0x32b1, 0x32bf} }; | 
727  |  | static const xmlChLRange xmlNoL[] = {{0x10107, 0x10133}, {0x10320, 0x10323} }; | 
728  |  | static const xmlChRangeGroup xmlNoG = {20,2,xmlNoS,xmlNoL}; | 
729  |  |  | 
730  |  | static const xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a}, | 
731  |  |     {0x2c, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, {0x5b, 0x5d}, {0x5f, 0x5f}, | 
732  |  |     {0x7b, 0x7b}, {0x7d, 0x7d}, {0xa1, 0xa1}, {0xab, 0xab}, {0xb7, 0xb7}, | 
733  |  |     {0xbb, 0xbb}, {0xbf, 0xbf}, {0x37e, 0x37e}, {0x387, 0x387}, | 
734  |  |     {0x55a, 0x55f}, {0x589, 0x58a}, {0x5be, 0x5be}, {0x5c0, 0x5c0}, | 
735  |  |     {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d}, {0x61b, 0x61b}, | 
736  |  |     {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4}, {0x700, 0x70d}, | 
737  |  |     {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4}, {0xe4f, 0xe4f}, | 
738  |  |     {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf3a, 0xf3d}, {0xf85, 0xf85}, | 
739  |  |     {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e}, | 
740  |  |     {0x169b, 0x169c}, {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, | 
741  |  |     {0x17d8, 0x17da}, {0x1800, 0x180a}, {0x1944, 0x1945}, {0x2010, 0x2027}, | 
742  |  |     {0x2030, 0x2043}, {0x2045, 0x2051}, {0x2053, 0x2054}, {0x2057, 0x2057}, | 
743  |  |     {0x207d, 0x207e}, {0x208d, 0x208e}, {0x2329, 0x232a}, {0x23b4, 0x23b6}, | 
744  |  |     {0x2768, 0x2775}, {0x27e6, 0x27eb}, {0x2983, 0x2998}, {0x29d8, 0x29db}, | 
745  |  |     {0x29fc, 0x29fd}, {0x3001, 0x3003}, {0x3008, 0x3011}, {0x3014, 0x301f}, | 
746  |  |     {0x3030, 0x3030}, {0x303d, 0x303d}, {0x30a0, 0x30a0}, {0x30fb, 0x30fb}, | 
747  |  |     {0xfd3e, 0xfd3f}, {0xfe30, 0xfe52}, {0xfe54, 0xfe61}, {0xfe63, 0xfe63}, | 
748  |  |     {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff0a}, | 
749  |  |     {0xff0c, 0xff0f}, {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d}, | 
750  |  |     {0xff3f, 0xff3f}, {0xff5b, 0xff5b}, {0xff5d, 0xff5d}, {0xff5f, 0xff65} }; | 
751  |  | static const xmlChLRange xmlPL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} }; | 
752  |  | static const xmlChRangeGroup xmlPG = {84,2,xmlPS,xmlPL}; | 
753  |  |  | 
754  |  | static const xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a}, | 
755  |  |     {0x1806, 0x1806}, {0x2010, 0x2015}, {0x301c, 0x301c}, {0x3030, 0x3030}, | 
756  |  |     {0x30a0, 0x30a0}, {0xfe31, 0xfe32}, {0xfe58, 0xfe58}, {0xfe63, 0xfe63}, | 
757  |  |     {0xff0d, 0xff0d} }; | 
758  |  | static const xmlChRangeGroup xmlPdG = {11,0,xmlPdS,NULL}; | 
759  |  |  | 
760  |  | static const xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d}, | 
761  |  |     {0x7d, 0x7d}, {0xf3b, 0xf3b}, {0xf3d, 0xf3d}, {0x169c, 0x169c}, | 
762  |  |     {0x2046, 0x2046}, {0x207e, 0x207e}, {0x208e, 0x208e}, {0x232a, 0x232a}, | 
763  |  |     {0x23b5, 0x23b5}, {0x2769, 0x2769}, {0x276b, 0x276b}, {0x276d, 0x276d}, | 
764  |  |     {0x276f, 0x276f}, {0x2771, 0x2771}, {0x2773, 0x2773}, {0x2775, 0x2775}, | 
765  |  |     {0x27e7, 0x27e7}, {0x27e9, 0x27e9}, {0x27eb, 0x27eb}, {0x2984, 0x2984}, | 
766  |  |     {0x2986, 0x2986}, {0x2988, 0x2988}, {0x298a, 0x298a}, {0x298c, 0x298c}, | 
767  |  |     {0x298e, 0x298e}, {0x2990, 0x2990}, {0x2992, 0x2992}, {0x2994, 0x2994}, | 
768  |  |     {0x2996, 0x2996}, {0x2998, 0x2998}, {0x29d9, 0x29d9}, {0x29db, 0x29db}, | 
769  |  |     {0x29fd, 0x29fd}, {0x3009, 0x3009}, {0x300b, 0x300b}, {0x300d, 0x300d}, | 
770  |  |     {0x300f, 0x300f}, {0x3011, 0x3011}, {0x3015, 0x3015}, {0x3017, 0x3017}, | 
771  |  |     {0x3019, 0x3019}, {0x301b, 0x301b}, {0x301e, 0x301f}, {0xfd3f, 0xfd3f}, | 
772  |  |     {0xfe36, 0xfe36}, {0xfe38, 0xfe38}, {0xfe3a, 0xfe3a}, {0xfe3c, 0xfe3c}, | 
773  |  |     {0xfe3e, 0xfe3e}, {0xfe40, 0xfe40}, {0xfe42, 0xfe42}, {0xfe44, 0xfe44}, | 
774  |  |     {0xfe48, 0xfe48}, {0xfe5a, 0xfe5a}, {0xfe5c, 0xfe5c}, {0xfe5e, 0xfe5e}, | 
775  |  |     {0xff09, 0xff09}, {0xff3d, 0xff3d}, {0xff5d, 0xff5d}, {0xff60, 0xff60}, | 
776  |  |     {0xff63, 0xff63} }; | 
777  |  | static const xmlChRangeGroup xmlPeG = {63,0,xmlPeS,NULL}; | 
778  |  |  | 
779  |  | static const xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27}, | 
780  |  |     {0x2a, 0x2a}, {0x2c, 0x2c}, {0x2e, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, | 
781  |  |     {0x5c, 0x5c}, {0xa1, 0xa1}, {0xb7, 0xb7}, {0xbf, 0xbf}, {0x37e, 0x37e}, | 
782  |  |     {0x387, 0x387}, {0x55a, 0x55f}, {0x589, 0x589}, {0x5be, 0x5be}, | 
783  |  |     {0x5c0, 0x5c0}, {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d}, | 
784  |  |     {0x61b, 0x61b}, {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4}, | 
785  |  |     {0x700, 0x70d}, {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4}, | 
786  |  |     {0xe4f, 0xe4f}, {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf85, 0xf85}, | 
787  |  |     {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e}, | 
788  |  |     {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, {0x17d8, 0x17da}, | 
789  |  |     {0x1800, 0x1805}, {0x1807, 0x180a}, {0x1944, 0x1945}, {0x2016, 0x2017}, | 
790  |  |     {0x2020, 0x2027}, {0x2030, 0x2038}, {0x203b, 0x203e}, {0x2041, 0x2043}, | 
791  |  |     {0x2047, 0x2051}, {0x2053, 0x2053}, {0x2057, 0x2057}, {0x23b6, 0x23b6}, | 
792  |  |     {0x3001, 0x3003}, {0x303d, 0x303d}, {0xfe30, 0xfe30}, {0xfe45, 0xfe46}, | 
793  |  |     {0xfe49, 0xfe4c}, {0xfe50, 0xfe52}, {0xfe54, 0xfe57}, {0xfe5f, 0xfe61}, | 
794  |  |     {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff07}, | 
795  |  |     {0xff0a, 0xff0a}, {0xff0c, 0xff0c}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b}, | 
796  |  |     {0xff1f, 0xff20}, {0xff3c, 0xff3c}, {0xff61, 0xff61}, {0xff64, 0xff64} }; | 
797  |  | static const xmlChLRange xmlPoL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} }; | 
798  |  | static const xmlChRangeGroup xmlPoG = {72,2,xmlPoS,xmlPoL}; | 
799  |  |  | 
800  |  | static const xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b}, | 
801  |  |     {0x7b, 0x7b}, {0xf3a, 0xf3a}, {0xf3c, 0xf3c}, {0x169b, 0x169b}, | 
802  |  |     {0x201a, 0x201a}, {0x201e, 0x201e}, {0x2045, 0x2045}, {0x207d, 0x207d}, | 
803  |  |     {0x208d, 0x208d}, {0x2329, 0x2329}, {0x23b4, 0x23b4}, {0x2768, 0x2768}, | 
804  |  |     {0x276a, 0x276a}, {0x276c, 0x276c}, {0x276e, 0x276e}, {0x2770, 0x2770}, | 
805  |  |     {0x2772, 0x2772}, {0x2774, 0x2774}, {0x27e6, 0x27e6}, {0x27e8, 0x27e8}, | 
806  |  |     {0x27ea, 0x27ea}, {0x2983, 0x2983}, {0x2985, 0x2985}, {0x2987, 0x2987}, | 
807  |  |     {0x2989, 0x2989}, {0x298b, 0x298b}, {0x298d, 0x298d}, {0x298f, 0x298f}, | 
808  |  |     {0x2991, 0x2991}, {0x2993, 0x2993}, {0x2995, 0x2995}, {0x2997, 0x2997}, | 
809  |  |     {0x29d8, 0x29d8}, {0x29da, 0x29da}, {0x29fc, 0x29fc}, {0x3008, 0x3008}, | 
810  |  |     {0x300a, 0x300a}, {0x300c, 0x300c}, {0x300e, 0x300e}, {0x3010, 0x3010}, | 
811  |  |     {0x3014, 0x3014}, {0x3016, 0x3016}, {0x3018, 0x3018}, {0x301a, 0x301a}, | 
812  |  |     {0x301d, 0x301d}, {0xfd3e, 0xfd3e}, {0xfe35, 0xfe35}, {0xfe37, 0xfe37}, | 
813  |  |     {0xfe39, 0xfe39}, {0xfe3b, 0xfe3b}, {0xfe3d, 0xfe3d}, {0xfe3f, 0xfe3f}, | 
814  |  |     {0xfe41, 0xfe41}, {0xfe43, 0xfe43}, {0xfe47, 0xfe47}, {0xfe59, 0xfe59}, | 
815  |  |     {0xfe5b, 0xfe5b}, {0xfe5d, 0xfe5d}, {0xff08, 0xff08}, {0xff3b, 0xff3b}, | 
816  |  |     {0xff5b, 0xff5b}, {0xff5f, 0xff5f}, {0xff62, 0xff62} }; | 
817  |  | static const xmlChRangeGroup xmlPsG = {65,0,xmlPsS,NULL}; | 
818  |  |  | 
819  |  | static const xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b}, | 
820  |  |     {0x3c, 0x3e}, {0x5e, 0x5e}, {0x60, 0x60}, {0x7c, 0x7c}, {0x7e, 0x7e}, | 
821  |  |     {0xa2, 0xa9}, {0xac, 0xac}, {0xae, 0xb1}, {0xb4, 0xb4}, {0xb6, 0xb6}, | 
822  |  |     {0xb8, 0xb8}, {0xd7, 0xd7}, {0xf7, 0xf7}, {0x2c2, 0x2c5}, | 
823  |  |     {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375}, | 
824  |  |     {0x384, 0x385}, {0x3f6, 0x3f6}, {0x482, 0x482}, {0x60e, 0x60f}, | 
825  |  |     {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9f2, 0x9f3}, {0x9fa, 0x9fa}, | 
826  |  |     {0xaf1, 0xaf1}, {0xb70, 0xb70}, {0xbf3, 0xbfa}, {0xe3f, 0xe3f}, | 
827  |  |     {0xf01, 0xf03}, {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34}, | 
828  |  |     {0xf36, 0xf36}, {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc}, | 
829  |  |     {0xfcf, 0xfcf}, {0x17db, 0x17db}, {0x1940, 0x1940}, {0x19e0, 0x19ff}, | 
830  |  |     {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf}, | 
831  |  |     {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x2044, 0x2044}, {0x2052, 0x2052}, | 
832  |  |     {0x207a, 0x207c}, {0x208a, 0x208c}, {0x20a0, 0x20b1}, {0x2100, 0x2101}, | 
833  |  |     {0x2103, 0x2106}, {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118}, | 
834  |  |     {0x211e, 0x2123}, {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129}, | 
835  |  |     {0x212e, 0x212e}, {0x2132, 0x2132}, {0x213a, 0x213b}, {0x2140, 0x2144}, | 
836  |  |     {0x214a, 0x214b}, {0x2190, 0x2328}, {0x232b, 0x23b3}, {0x23b7, 0x23d0}, | 
837  |  |     {0x2400, 0x2426}, {0x2440, 0x244a}, {0x249c, 0x24e9}, {0x2500, 0x2617}, | 
838  |  |     {0x2619, 0x267d}, {0x2680, 0x2691}, {0x26a0, 0x26a1}, {0x2701, 0x2704}, | 
839  |  |     {0x2706, 0x2709}, {0x270c, 0x2727}, {0x2729, 0x274b}, {0x274d, 0x274d}, | 
840  |  |     {0x274f, 0x2752}, {0x2756, 0x2756}, {0x2758, 0x275e}, {0x2761, 0x2767}, | 
841  |  |     {0x2794, 0x2794}, {0x2798, 0x27af}, {0x27b1, 0x27be}, {0x27d0, 0x27e5}, | 
842  |  |     {0x27f0, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2b0d}, | 
843  |  |     {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, | 
844  |  |     {0x3004, 0x3004}, {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037}, | 
845  |  |     {0x303e, 0x303f}, {0x309b, 0x309c}, {0x3190, 0x3191}, {0x3196, 0x319f}, | 
846  |  |     {0x3200, 0x321e}, {0x322a, 0x3243}, {0x3250, 0x3250}, {0x3260, 0x327d}, | 
847  |  |     {0x327f, 0x327f}, {0x328a, 0x32b0}, {0x32c0, 0x32fe}, {0x3300, 0x33ff}, | 
848  |  |     {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, {0xfb29, 0xfb29}, {0xfdfc, 0xfdfd}, | 
849  |  |     {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xfe69, 0xfe69}, {0xff04, 0xff04}, | 
850  |  |     {0xff0b, 0xff0b}, {0xff1c, 0xff1e}, {0xff3e, 0xff3e}, {0xff40, 0xff40}, | 
851  |  |     {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe0, 0xffe6}, {0xffe8, 0xffee}, | 
852  |  |     {0xfffc, 0xfffd} }; | 
853  |  | static const xmlChLRange xmlSL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, | 
854  |  |     {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164}, | 
855  |  |     {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, | 
856  |  |     {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356}, {0x1d6c1, 0x1d6c1}, | 
857  |  |     {0x1d6db, 0x1d6db}, {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, | 
858  |  |     {0x1d735, 0x1d735}, {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, | 
859  |  |     {0x1d789, 0x1d789}, {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} }; | 
860  |  | static const xmlChRangeGroup xmlSG = {133,20,xmlSS,xmlSL}; | 
861  |  |  | 
862  |  | static const xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5}, | 
863  |  |     {0x9f2, 0x9f3}, {0xaf1, 0xaf1}, {0xbf9, 0xbf9}, {0xe3f, 0xe3f}, | 
864  |  |     {0x17db, 0x17db}, {0x20a0, 0x20b1}, {0xfdfc, 0xfdfc}, {0xfe69, 0xfe69}, | 
865  |  |     {0xff04, 0xff04}, {0xffe0, 0xffe1}, {0xffe5, 0xffe6} }; | 
866  |  | static const xmlChRangeGroup xmlScG = {13,0,xmlScS,NULL}; | 
867  |  |  | 
868  |  | static const xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60}, | 
869  |  |     {0xa8, 0xa8}, {0xaf, 0xaf}, {0xb4, 0xb4}, {0xb8, 0xb8}, {0x2c2, 0x2c5}, | 
870  |  |     {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375}, | 
871  |  |     {0x384, 0x385}, {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, | 
872  |  |     {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c}, | 
873  |  |     {0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xffe3, 0xffe3} }; | 
874  |  | static const xmlChRangeGroup xmlSkG = {22,0,xmlSkS,NULL}; | 
875  |  |  | 
876  |  | static const xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e}, | 
877  |  |     {0x7c, 0x7c}, {0x7e, 0x7e}, {0xac, 0xac}, {0xb1, 0xb1}, {0xd7, 0xd7}, | 
878  |  |     {0xf7, 0xf7}, {0x3f6, 0x3f6}, {0x2044, 0x2044}, {0x2052, 0x2052}, | 
879  |  |     {0x207a, 0x207c}, {0x208a, 0x208c}, {0x2140, 0x2144}, {0x214b, 0x214b}, | 
880  |  |     {0x2190, 0x2194}, {0x219a, 0x219b}, {0x21a0, 0x21a0}, {0x21a3, 0x21a3}, | 
881  |  |     {0x21a6, 0x21a6}, {0x21ae, 0x21ae}, {0x21ce, 0x21cf}, {0x21d2, 0x21d2}, | 
882  |  |     {0x21d4, 0x21d4}, {0x21f4, 0x22ff}, {0x2308, 0x230b}, {0x2320, 0x2321}, | 
883  |  |     {0x237c, 0x237c}, {0x239b, 0x23b3}, {0x25b7, 0x25b7}, {0x25c1, 0x25c1}, | 
884  |  |     {0x25f8, 0x25ff}, {0x266f, 0x266f}, {0x27d0, 0x27e5}, {0x27f0, 0x27ff}, | 
885  |  |     {0x2900, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2aff}, | 
886  |  |     {0xfb29, 0xfb29}, {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xff0b, 0xff0b}, | 
887  |  |     {0xff1c, 0xff1e}, {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe2, 0xffe2}, | 
888  |  |     {0xffe9, 0xffec} }; | 
889  |  | static const xmlChLRange xmlSmL[] = {{0x1d6c1, 0x1d6c1}, {0x1d6db, 0x1d6db}, | 
890  |  |     {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, {0x1d735, 0x1d735}, | 
891  |  |     {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, {0x1d789, 0x1d789}, | 
892  |  |     {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} }; | 
893  |  | static const xmlChRangeGroup xmlSmG = {48,10,xmlSmS,xmlSmL}; | 
894  |  |  | 
895  |  | static const xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9}, | 
896  |  |     {0xae, 0xae}, {0xb0, 0xb0}, {0xb6, 0xb6}, {0x482, 0x482}, | 
897  |  |     {0x60e, 0x60f}, {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9fa, 0x9fa}, | 
898  |  |     {0xb70, 0xb70}, {0xbf3, 0xbf8}, {0xbfa, 0xbfa}, {0xf01, 0xf03}, | 
899  |  |     {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34}, {0xf36, 0xf36}, | 
900  |  |     {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc}, {0xfcf, 0xfcf}, | 
901  |  |     {0x1940, 0x1940}, {0x19e0, 0x19ff}, {0x2100, 0x2101}, {0x2103, 0x2106}, | 
902  |  |     {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118}, {0x211e, 0x2123}, | 
903  |  |     {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129}, {0x212e, 0x212e}, | 
904  |  |     {0x2132, 0x2132}, {0x213a, 0x213b}, {0x214a, 0x214a}, {0x2195, 0x2199}, | 
905  |  |     {0x219c, 0x219f}, {0x21a1, 0x21a2}, {0x21a4, 0x21a5}, {0x21a7, 0x21ad}, | 
906  |  |     {0x21af, 0x21cd}, {0x21d0, 0x21d1}, {0x21d3, 0x21d3}, {0x21d5, 0x21f3}, | 
907  |  |     {0x2300, 0x2307}, {0x230c, 0x231f}, {0x2322, 0x2328}, {0x232b, 0x237b}, | 
908  |  |     {0x237d, 0x239a}, {0x23b7, 0x23d0}, {0x2400, 0x2426}, {0x2440, 0x244a}, | 
909  |  |     {0x249c, 0x24e9}, {0x2500, 0x25b6}, {0x25b8, 0x25c0}, {0x25c2, 0x25f7}, | 
910  |  |     {0x2600, 0x2617}, {0x2619, 0x266e}, {0x2670, 0x267d}, {0x2680, 0x2691}, | 
911  |  |     {0x26a0, 0x26a1}, {0x2701, 0x2704}, {0x2706, 0x2709}, {0x270c, 0x2727}, | 
912  |  |     {0x2729, 0x274b}, {0x274d, 0x274d}, {0x274f, 0x2752}, {0x2756, 0x2756}, | 
913  |  |     {0x2758, 0x275e}, {0x2761, 0x2767}, {0x2794, 0x2794}, {0x2798, 0x27af}, | 
914  |  |     {0x27b1, 0x27be}, {0x2800, 0x28ff}, {0x2b00, 0x2b0d}, {0x2e80, 0x2e99}, | 
915  |  |     {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3004, 0x3004}, | 
916  |  |     {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037}, {0x303e, 0x303f}, | 
917  |  |     {0x3190, 0x3191}, {0x3196, 0x319f}, {0x3200, 0x321e}, {0x322a, 0x3243}, | 
918  |  |     {0x3250, 0x3250}, {0x3260, 0x327d}, {0x327f, 0x327f}, {0x328a, 0x32b0}, | 
919  |  |     {0x32c0, 0x32fe}, {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, | 
920  |  |     {0xfdfd, 0xfdfd}, {0xffe4, 0xffe4}, {0xffe8, 0xffe8}, {0xffed, 0xffee}, | 
921  |  |     {0xfffc, 0xfffd} }; | 
922  |  | static const xmlChLRange xmlSoL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, | 
923  |  |     {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164}, | 
924  |  |     {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, | 
925  |  |     {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356} }; | 
926  |  | static const xmlChRangeGroup xmlSoG = {103,10,xmlSoS,xmlSoL}; | 
927  |  |  | 
928  |  | static const xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0}, | 
929  |  |     {0x1680, 0x1680}, {0x180e, 0x180e}, {0x2000, 0x200a}, {0x2028, 0x2029}, | 
930  |  |     {0x202f, 0x202f}, {0x205f, 0x205f}, {0x3000, 0x3000} }; | 
931  |  | static const xmlChRangeGroup xmlZG = {9,0,xmlZS,NULL}; | 
932  |  |  | 
933  |  | static const xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, 128}; | 
934  |  | static const xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, 36}; | 
935  |  |  | 
936  |  | /**  | 
937  |  |  * xmlUnicodeLookup:  | 
938  |  |  * @tptr: pointer to the name table  | 
939  |  |  * @name: name to be found  | 
940  |  |  *  | 
941  |  |  * binary table lookup for user-supplied name  | 
942  |  |  *  | 
943  |  |  * Returns pointer to range function if found, otherwise NULL  | 
944  |  |  */  | 
945  |  | static xmlIntFunc  | 
946  | 0  | *xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname) { | 
947  | 0  |     int low, high, mid, cmp;  | 
948  | 0  |     const xmlUnicodeRange *sptr;  | 
949  |  | 
  | 
950  | 0  |     if ((tptr == NULL) || (tname == NULL)) return(NULL);  | 
951  |  |  | 
952  | 0  |     low = 0;  | 
953  | 0  |     high = tptr->numentries - 1;  | 
954  | 0  |     sptr = tptr->table;  | 
955  | 0  |     while (low <= high) { | 
956  | 0  |   mid = (low + high) / 2;  | 
957  | 0  |   if ((cmp=strcmp(tname, sptr[mid].rangename)) == 0)  | 
958  | 0  |       return (sptr[mid].func);  | 
959  | 0  |   if (cmp < 0)  | 
960  | 0  |       high = mid - 1;  | 
961  | 0  |   else  | 
962  | 0  |       low = mid + 1;  | 
963  | 0  |     }  | 
964  | 0  |     return (NULL);  | 
965  | 0  | }  | 
966  |  |  | 
967  |  | /**  | 
968  |  |  * xmlUCSIsAegeanNumbers:  | 
969  |  |  * @code: UCS code point  | 
970  |  |  *  | 
971  |  |  * Check whether the character is part of AegeanNumbers UCS Block  | 
972  |  |  *  | 
973  |  |  * Returns 1 if true 0 otherwise  | 
974  |  |  */  | 
975  |  | int  | 
976  | 0  | xmlUCSIsAegeanNumbers(int code) { | 
977  | 0  |     return(((code >= 0x10100) && (code <= 0x1013F)));  | 
978  | 0  | }  | 
979  |  |  | 
980  |  | /**  | 
981  |  |  * xmlUCSIsAlphabeticPresentationForms:  | 
982  |  |  * @code: UCS code point  | 
983  |  |  *  | 
984  |  |  * Check whether the character is part of AlphabeticPresentationForms UCS Block  | 
985  |  |  *  | 
986  |  |  * Returns 1 if true 0 otherwise  | 
987  |  |  */  | 
988  |  | int  | 
989  | 0  | xmlUCSIsAlphabeticPresentationForms(int code) { | 
990  | 0  |     return(((code >= 0xFB00) && (code <= 0xFB4F)));  | 
991  | 0  | }  | 
992  |  |  | 
993  |  | /**  | 
994  |  |  * xmlUCSIsArabic:  | 
995  |  |  * @code: UCS code point  | 
996  |  |  *  | 
997  |  |  * Check whether the character is part of Arabic UCS Block  | 
998  |  |  *  | 
999  |  |  * Returns 1 if true 0 otherwise  | 
1000  |  |  */  | 
1001  |  | int  | 
1002  | 0  | xmlUCSIsArabic(int code) { | 
1003  | 0  |     return(((code >= 0x0600) && (code <= 0x06FF)));  | 
1004  | 0  | }  | 
1005  |  |  | 
1006  |  | /**  | 
1007  |  |  * xmlUCSIsArabicPresentationFormsA:  | 
1008  |  |  * @code: UCS code point  | 
1009  |  |  *  | 
1010  |  |  * Check whether the character is part of ArabicPresentationForms-A UCS Block  | 
1011  |  |  *  | 
1012  |  |  * Returns 1 if true 0 otherwise  | 
1013  |  |  */  | 
1014  |  | int  | 
1015  | 0  | xmlUCSIsArabicPresentationFormsA(int code) { | 
1016  | 0  |     return(((code >= 0xFB50) && (code <= 0xFDFF)));  | 
1017  | 0  | }  | 
1018  |  |  | 
1019  |  | /**  | 
1020  |  |  * xmlUCSIsArabicPresentationFormsB:  | 
1021  |  |  * @code: UCS code point  | 
1022  |  |  *  | 
1023  |  |  * Check whether the character is part of ArabicPresentationForms-B UCS Block  | 
1024  |  |  *  | 
1025  |  |  * Returns 1 if true 0 otherwise  | 
1026  |  |  */  | 
1027  |  | int  | 
1028  | 0  | xmlUCSIsArabicPresentationFormsB(int code) { | 
1029  | 0  |     return(((code >= 0xFE70) && (code <= 0xFEFF)));  | 
1030  | 0  | }  | 
1031  |  |  | 
1032  |  | /**  | 
1033  |  |  * xmlUCSIsArmenian:  | 
1034  |  |  * @code: UCS code point  | 
1035  |  |  *  | 
1036  |  |  * Check whether the character is part of Armenian UCS Block  | 
1037  |  |  *  | 
1038  |  |  * Returns 1 if true 0 otherwise  | 
1039  |  |  */  | 
1040  |  | int  | 
1041  | 0  | xmlUCSIsArmenian(int code) { | 
1042  | 0  |     return(((code >= 0x0530) && (code <= 0x058F)));  | 
1043  | 0  | }  | 
1044  |  |  | 
1045  |  | /**  | 
1046  |  |  * xmlUCSIsArrows:  | 
1047  |  |  * @code: UCS code point  | 
1048  |  |  *  | 
1049  |  |  * Check whether the character is part of Arrows UCS Block  | 
1050  |  |  *  | 
1051  |  |  * Returns 1 if true 0 otherwise  | 
1052  |  |  */  | 
1053  |  | int  | 
1054  | 0  | xmlUCSIsArrows(int code) { | 
1055  | 0  |     return(((code >= 0x2190) && (code <= 0x21FF)));  | 
1056  | 0  | }  | 
1057  |  |  | 
1058  |  | /**  | 
1059  |  |  * xmlUCSIsBasicLatin:  | 
1060  |  |  * @code: UCS code point  | 
1061  |  |  *  | 
1062  |  |  * Check whether the character is part of BasicLatin UCS Block  | 
1063  |  |  *  | 
1064  |  |  * Returns 1 if true 0 otherwise  | 
1065  |  |  */  | 
1066  |  | int  | 
1067  | 0  | xmlUCSIsBasicLatin(int code) { | 
1068  | 0  |     return(((code >= 0x0000) && (code <= 0x007F)));  | 
1069  | 0  | }  | 
1070  |  |  | 
1071  |  | /**  | 
1072  |  |  * xmlUCSIsBengali:  | 
1073  |  |  * @code: UCS code point  | 
1074  |  |  *  | 
1075  |  |  * Check whether the character is part of Bengali UCS Block  | 
1076  |  |  *  | 
1077  |  |  * Returns 1 if true 0 otherwise  | 
1078  |  |  */  | 
1079  |  | int  | 
1080  | 0  | xmlUCSIsBengali(int code) { | 
1081  | 0  |     return(((code >= 0x0980) && (code <= 0x09FF)));  | 
1082  | 0  | }  | 
1083  |  |  | 
1084  |  | /**  | 
1085  |  |  * xmlUCSIsBlockElements:  | 
1086  |  |  * @code: UCS code point  | 
1087  |  |  *  | 
1088  |  |  * Check whether the character is part of BlockElements UCS Block  | 
1089  |  |  *  | 
1090  |  |  * Returns 1 if true 0 otherwise  | 
1091  |  |  */  | 
1092  |  | int  | 
1093  | 0  | xmlUCSIsBlockElements(int code) { | 
1094  | 0  |     return(((code >= 0x2580) && (code <= 0x259F)));  | 
1095  | 0  | }  | 
1096  |  |  | 
1097  |  | /**  | 
1098  |  |  * xmlUCSIsBopomofo:  | 
1099  |  |  * @code: UCS code point  | 
1100  |  |  *  | 
1101  |  |  * Check whether the character is part of Bopomofo UCS Block  | 
1102  |  |  *  | 
1103  |  |  * Returns 1 if true 0 otherwise  | 
1104  |  |  */  | 
1105  |  | int  | 
1106  | 0  | xmlUCSIsBopomofo(int code) { | 
1107  | 0  |     return(((code >= 0x3100) && (code <= 0x312F)));  | 
1108  | 0  | }  | 
1109  |  |  | 
1110  |  | /**  | 
1111  |  |  * xmlUCSIsBopomofoExtended:  | 
1112  |  |  * @code: UCS code point  | 
1113  |  |  *  | 
1114  |  |  * Check whether the character is part of BopomofoExtended UCS Block  | 
1115  |  |  *  | 
1116  |  |  * Returns 1 if true 0 otherwise  | 
1117  |  |  */  | 
1118  |  | int  | 
1119  | 0  | xmlUCSIsBopomofoExtended(int code) { | 
1120  | 0  |     return(((code >= 0x31A0) && (code <= 0x31BF)));  | 
1121  | 0  | }  | 
1122  |  |  | 
1123  |  | /**  | 
1124  |  |  * xmlUCSIsBoxDrawing:  | 
1125  |  |  * @code: UCS code point  | 
1126  |  |  *  | 
1127  |  |  * Check whether the character is part of BoxDrawing UCS Block  | 
1128  |  |  *  | 
1129  |  |  * Returns 1 if true 0 otherwise  | 
1130  |  |  */  | 
1131  |  | int  | 
1132  | 0  | xmlUCSIsBoxDrawing(int code) { | 
1133  | 0  |     return(((code >= 0x2500) && (code <= 0x257F)));  | 
1134  | 0  | }  | 
1135  |  |  | 
1136  |  | /**  | 
1137  |  |  * xmlUCSIsBraillePatterns:  | 
1138  |  |  * @code: UCS code point  | 
1139  |  |  *  | 
1140  |  |  * Check whether the character is part of BraillePatterns UCS Block  | 
1141  |  |  *  | 
1142  |  |  * Returns 1 if true 0 otherwise  | 
1143  |  |  */  | 
1144  |  | int  | 
1145  | 0  | xmlUCSIsBraillePatterns(int code) { | 
1146  | 0  |     return(((code >= 0x2800) && (code <= 0x28FF)));  | 
1147  | 0  | }  | 
1148  |  |  | 
1149  |  | /**  | 
1150  |  |  * xmlUCSIsBuhid:  | 
1151  |  |  * @code: UCS code point  | 
1152  |  |  *  | 
1153  |  |  * Check whether the character is part of Buhid UCS Block  | 
1154  |  |  *  | 
1155  |  |  * Returns 1 if true 0 otherwise  | 
1156  |  |  */  | 
1157  |  | int  | 
1158  | 0  | xmlUCSIsBuhid(int code) { | 
1159  | 0  |     return(((code >= 0x1740) && (code <= 0x175F)));  | 
1160  | 0  | }  | 
1161  |  |  | 
1162  |  | /**  | 
1163  |  |  * xmlUCSIsByzantineMusicalSymbols:  | 
1164  |  |  * @code: UCS code point  | 
1165  |  |  *  | 
1166  |  |  * Check whether the character is part of ByzantineMusicalSymbols UCS Block  | 
1167  |  |  *  | 
1168  |  |  * Returns 1 if true 0 otherwise  | 
1169  |  |  */  | 
1170  |  | int  | 
1171  | 0  | xmlUCSIsByzantineMusicalSymbols(int code) { | 
1172  | 0  |     return(((code >= 0x1D000) && (code <= 0x1D0FF)));  | 
1173  | 0  | }  | 
1174  |  |  | 
1175  |  | /**  | 
1176  |  |  * xmlUCSIsCJKCompatibility:  | 
1177  |  |  * @code: UCS code point  | 
1178  |  |  *  | 
1179  |  |  * Check whether the character is part of CJKCompatibility UCS Block  | 
1180  |  |  *  | 
1181  |  |  * Returns 1 if true 0 otherwise  | 
1182  |  |  */  | 
1183  |  | int  | 
1184  | 0  | xmlUCSIsCJKCompatibility(int code) { | 
1185  | 0  |     return(((code >= 0x3300) && (code <= 0x33FF)));  | 
1186  | 0  | }  | 
1187  |  |  | 
1188  |  | /**  | 
1189  |  |  * xmlUCSIsCJKCompatibilityForms:  | 
1190  |  |  * @code: UCS code point  | 
1191  |  |  *  | 
1192  |  |  * Check whether the character is part of CJKCompatibilityForms UCS Block  | 
1193  |  |  *  | 
1194  |  |  * Returns 1 if true 0 otherwise  | 
1195  |  |  */  | 
1196  |  | int  | 
1197  | 0  | xmlUCSIsCJKCompatibilityForms(int code) { | 
1198  | 0  |     return(((code >= 0xFE30) && (code <= 0xFE4F)));  | 
1199  | 0  | }  | 
1200  |  |  | 
1201  |  | /**  | 
1202  |  |  * xmlUCSIsCJKCompatibilityIdeographs:  | 
1203  |  |  * @code: UCS code point  | 
1204  |  |  *  | 
1205  |  |  * Check whether the character is part of CJKCompatibilityIdeographs UCS Block  | 
1206  |  |  *  | 
1207  |  |  * Returns 1 if true 0 otherwise  | 
1208  |  |  */  | 
1209  |  | int  | 
1210  | 0  | xmlUCSIsCJKCompatibilityIdeographs(int code) { | 
1211  | 0  |     return(((code >= 0xF900) && (code <= 0xFAFF)));  | 
1212  | 0  | }  | 
1213  |  |  | 
1214  |  | /**  | 
1215  |  |  * xmlUCSIsCJKCompatibilityIdeographsSupplement:  | 
1216  |  |  * @code: UCS code point  | 
1217  |  |  *  | 
1218  |  |  * Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block  | 
1219  |  |  *  | 
1220  |  |  * Returns 1 if true 0 otherwise  | 
1221  |  |  */  | 
1222  |  | int  | 
1223  | 0  | xmlUCSIsCJKCompatibilityIdeographsSupplement(int code) { | 
1224  | 0  |     return(((code >= 0x2F800) && (code <= 0x2FA1F)));  | 
1225  | 0  | }  | 
1226  |  |  | 
1227  |  | /**  | 
1228  |  |  * xmlUCSIsCJKRadicalsSupplement:  | 
1229  |  |  * @code: UCS code point  | 
1230  |  |  *  | 
1231  |  |  * Check whether the character is part of CJKRadicalsSupplement UCS Block  | 
1232  |  |  *  | 
1233  |  |  * Returns 1 if true 0 otherwise  | 
1234  |  |  */  | 
1235  |  | int  | 
1236  | 0  | xmlUCSIsCJKRadicalsSupplement(int code) { | 
1237  | 0  |     return(((code >= 0x2E80) && (code <= 0x2EFF)));  | 
1238  | 0  | }  | 
1239  |  |  | 
1240  |  | /**  | 
1241  |  |  * xmlUCSIsCJKSymbolsandPunctuation:  | 
1242  |  |  * @code: UCS code point  | 
1243  |  |  *  | 
1244  |  |  * Check whether the character is part of CJKSymbolsandPunctuation UCS Block  | 
1245  |  |  *  | 
1246  |  |  * Returns 1 if true 0 otherwise  | 
1247  |  |  */  | 
1248  |  | int  | 
1249  | 0  | xmlUCSIsCJKSymbolsandPunctuation(int code) { | 
1250  | 0  |     return(((code >= 0x3000) && (code <= 0x303F)));  | 
1251  | 0  | }  | 
1252  |  |  | 
1253  |  | /**  | 
1254  |  |  * xmlUCSIsCJKUnifiedIdeographs:  | 
1255  |  |  * @code: UCS code point  | 
1256  |  |  *  | 
1257  |  |  * Check whether the character is part of CJKUnifiedIdeographs UCS Block  | 
1258  |  |  *  | 
1259  |  |  * Returns 1 if true 0 otherwise  | 
1260  |  |  */  | 
1261  |  | int  | 
1262  | 0  | xmlUCSIsCJKUnifiedIdeographs(int code) { | 
1263  | 0  |     return(((code >= 0x4E00) && (code <= 0x9FFF)));  | 
1264  | 0  | }  | 
1265  |  |  | 
1266  |  | /**  | 
1267  |  |  * xmlUCSIsCJKUnifiedIdeographsExtensionA:  | 
1268  |  |  * @code: UCS code point  | 
1269  |  |  *  | 
1270  |  |  * Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block  | 
1271  |  |  *  | 
1272  |  |  * Returns 1 if true 0 otherwise  | 
1273  |  |  */  | 
1274  |  | int  | 
1275  | 0  | xmlUCSIsCJKUnifiedIdeographsExtensionA(int code) { | 
1276  | 0  |     return(((code >= 0x3400) && (code <= 0x4DBF)));  | 
1277  | 0  | }  | 
1278  |  |  | 
1279  |  | /**  | 
1280  |  |  * xmlUCSIsCJKUnifiedIdeographsExtensionB:  | 
1281  |  |  * @code: UCS code point  | 
1282  |  |  *  | 
1283  |  |  * Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block  | 
1284  |  |  *  | 
1285  |  |  * Returns 1 if true 0 otherwise  | 
1286  |  |  */  | 
1287  |  | int  | 
1288  | 0  | xmlUCSIsCJKUnifiedIdeographsExtensionB(int code) { | 
1289  | 0  |     return(((code >= 0x20000) && (code <= 0x2A6DF)));  | 
1290  | 0  | }  | 
1291  |  |  | 
1292  |  | /**  | 
1293  |  |  * xmlUCSIsCherokee:  | 
1294  |  |  * @code: UCS code point  | 
1295  |  |  *  | 
1296  |  |  * Check whether the character is part of Cherokee UCS Block  | 
1297  |  |  *  | 
1298  |  |  * Returns 1 if true 0 otherwise  | 
1299  |  |  */  | 
1300  |  | int  | 
1301  | 0  | xmlUCSIsCherokee(int code) { | 
1302  | 0  |     return(((code >= 0x13A0) && (code <= 0x13FF)));  | 
1303  | 0  | }  | 
1304  |  |  | 
1305  |  | /**  | 
1306  |  |  * xmlUCSIsCombiningDiacriticalMarks:  | 
1307  |  |  * @code: UCS code point  | 
1308  |  |  *  | 
1309  |  |  * Check whether the character is part of CombiningDiacriticalMarks UCS Block  | 
1310  |  |  *  | 
1311  |  |  * Returns 1 if true 0 otherwise  | 
1312  |  |  */  | 
1313  |  | int  | 
1314  | 0  | xmlUCSIsCombiningDiacriticalMarks(int code) { | 
1315  | 0  |     return(((code >= 0x0300) && (code <= 0x036F)));  | 
1316  | 0  | }  | 
1317  |  |  | 
1318  |  | /**  | 
1319  |  |  * xmlUCSIsCombiningDiacriticalMarksforSymbols:  | 
1320  |  |  * @code: UCS code point  | 
1321  |  |  *  | 
1322  |  |  * Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block  | 
1323  |  |  *  | 
1324  |  |  * Returns 1 if true 0 otherwise  | 
1325  |  |  */  | 
1326  |  | int  | 
1327  | 0  | xmlUCSIsCombiningDiacriticalMarksforSymbols(int code) { | 
1328  | 0  |     return(((code >= 0x20D0) && (code <= 0x20FF)));  | 
1329  | 0  | }  | 
1330  |  |  | 
1331  |  | /**  | 
1332  |  |  * xmlUCSIsCombiningHalfMarks:  | 
1333  |  |  * @code: UCS code point  | 
1334  |  |  *  | 
1335  |  |  * Check whether the character is part of CombiningHalfMarks UCS Block  | 
1336  |  |  *  | 
1337  |  |  * Returns 1 if true 0 otherwise  | 
1338  |  |  */  | 
1339  |  | int  | 
1340  | 0  | xmlUCSIsCombiningHalfMarks(int code) { | 
1341  | 0  |     return(((code >= 0xFE20) && (code <= 0xFE2F)));  | 
1342  | 0  | }  | 
1343  |  |  | 
1344  |  | /**  | 
1345  |  |  * xmlUCSIsCombiningMarksforSymbols:  | 
1346  |  |  * @code: UCS code point  | 
1347  |  |  *  | 
1348  |  |  * Check whether the character is part of CombiningMarksforSymbols UCS Block  | 
1349  |  |  *  | 
1350  |  |  * Returns 1 if true 0 otherwise  | 
1351  |  |  */  | 
1352  |  | int  | 
1353  | 0  | xmlUCSIsCombiningMarksforSymbols(int code) { | 
1354  | 0  |     return(((code >= 0x20D0) && (code <= 0x20FF)));  | 
1355  | 0  | }  | 
1356  |  |  | 
1357  |  | /**  | 
1358  |  |  * xmlUCSIsControlPictures:  | 
1359  |  |  * @code: UCS code point  | 
1360  |  |  *  | 
1361  |  |  * Check whether the character is part of ControlPictures UCS Block  | 
1362  |  |  *  | 
1363  |  |  * Returns 1 if true 0 otherwise  | 
1364  |  |  */  | 
1365  |  | int  | 
1366  | 0  | xmlUCSIsControlPictures(int code) { | 
1367  | 0  |     return(((code >= 0x2400) && (code <= 0x243F)));  | 
1368  | 0  | }  | 
1369  |  |  | 
1370  |  | /**  | 
1371  |  |  * xmlUCSIsCurrencySymbols:  | 
1372  |  |  * @code: UCS code point  | 
1373  |  |  *  | 
1374  |  |  * Check whether the character is part of CurrencySymbols UCS Block  | 
1375  |  |  *  | 
1376  |  |  * Returns 1 if true 0 otherwise  | 
1377  |  |  */  | 
1378  |  | int  | 
1379  | 0  | xmlUCSIsCurrencySymbols(int code) { | 
1380  | 0  |     return(((code >= 0x20A0) && (code <= 0x20CF)));  | 
1381  | 0  | }  | 
1382  |  |  | 
1383  |  | /**  | 
1384  |  |  * xmlUCSIsCypriotSyllabary:  | 
1385  |  |  * @code: UCS code point  | 
1386  |  |  *  | 
1387  |  |  * Check whether the character is part of CypriotSyllabary UCS Block  | 
1388  |  |  *  | 
1389  |  |  * Returns 1 if true 0 otherwise  | 
1390  |  |  */  | 
1391  |  | int  | 
1392  | 0  | xmlUCSIsCypriotSyllabary(int code) { | 
1393  | 0  |     return(((code >= 0x10800) && (code <= 0x1083F)));  | 
1394  | 0  | }  | 
1395  |  |  | 
1396  |  | /**  | 
1397  |  |  * xmlUCSIsCyrillic:  | 
1398  |  |  * @code: UCS code point  | 
1399  |  |  *  | 
1400  |  |  * Check whether the character is part of Cyrillic UCS Block  | 
1401  |  |  *  | 
1402  |  |  * Returns 1 if true 0 otherwise  | 
1403  |  |  */  | 
1404  |  | int  | 
1405  | 0  | xmlUCSIsCyrillic(int code) { | 
1406  | 0  |     return(((code >= 0x0400) && (code <= 0x04FF)));  | 
1407  | 0  | }  | 
1408  |  |  | 
1409  |  | /**  | 
1410  |  |  * xmlUCSIsCyrillicSupplement:  | 
1411  |  |  * @code: UCS code point  | 
1412  |  |  *  | 
1413  |  |  * Check whether the character is part of CyrillicSupplement UCS Block  | 
1414  |  |  *  | 
1415  |  |  * Returns 1 if true 0 otherwise  | 
1416  |  |  */  | 
1417  |  | int  | 
1418  | 0  | xmlUCSIsCyrillicSupplement(int code) { | 
1419  | 0  |     return(((code >= 0x0500) && (code <= 0x052F)));  | 
1420  | 0  | }  | 
1421  |  |  | 
1422  |  | /**  | 
1423  |  |  * xmlUCSIsDeseret:  | 
1424  |  |  * @code: UCS code point  | 
1425  |  |  *  | 
1426  |  |  * Check whether the character is part of Deseret UCS Block  | 
1427  |  |  *  | 
1428  |  |  * Returns 1 if true 0 otherwise  | 
1429  |  |  */  | 
1430  |  | int  | 
1431  | 0  | xmlUCSIsDeseret(int code) { | 
1432  | 0  |     return(((code >= 0x10400) && (code <= 0x1044F)));  | 
1433  | 0  | }  | 
1434  |  |  | 
1435  |  | /**  | 
1436  |  |  * xmlUCSIsDevanagari:  | 
1437  |  |  * @code: UCS code point  | 
1438  |  |  *  | 
1439  |  |  * Check whether the character is part of Devanagari UCS Block  | 
1440  |  |  *  | 
1441  |  |  * Returns 1 if true 0 otherwise  | 
1442  |  |  */  | 
1443  |  | int  | 
1444  | 0  | xmlUCSIsDevanagari(int code) { | 
1445  | 0  |     return(((code >= 0x0900) && (code <= 0x097F)));  | 
1446  | 0  | }  | 
1447  |  |  | 
1448  |  | /**  | 
1449  |  |  * xmlUCSIsDingbats:  | 
1450  |  |  * @code: UCS code point  | 
1451  |  |  *  | 
1452  |  |  * Check whether the character is part of Dingbats UCS Block  | 
1453  |  |  *  | 
1454  |  |  * Returns 1 if true 0 otherwise  | 
1455  |  |  */  | 
1456  |  | int  | 
1457  | 0  | xmlUCSIsDingbats(int code) { | 
1458  | 0  |     return(((code >= 0x2700) && (code <= 0x27BF)));  | 
1459  | 0  | }  | 
1460  |  |  | 
1461  |  | /**  | 
1462  |  |  * xmlUCSIsEnclosedAlphanumerics:  | 
1463  |  |  * @code: UCS code point  | 
1464  |  |  *  | 
1465  |  |  * Check whether the character is part of EnclosedAlphanumerics UCS Block  | 
1466  |  |  *  | 
1467  |  |  * Returns 1 if true 0 otherwise  | 
1468  |  |  */  | 
1469  |  | int  | 
1470  | 0  | xmlUCSIsEnclosedAlphanumerics(int code) { | 
1471  | 0  |     return(((code >= 0x2460) && (code <= 0x24FF)));  | 
1472  | 0  | }  | 
1473  |  |  | 
1474  |  | /**  | 
1475  |  |  * xmlUCSIsEnclosedCJKLettersandMonths:  | 
1476  |  |  * @code: UCS code point  | 
1477  |  |  *  | 
1478  |  |  * Check whether the character is part of EnclosedCJKLettersandMonths UCS Block  | 
1479  |  |  *  | 
1480  |  |  * Returns 1 if true 0 otherwise  | 
1481  |  |  */  | 
1482  |  | int  | 
1483  | 0  | xmlUCSIsEnclosedCJKLettersandMonths(int code) { | 
1484  | 0  |     return(((code >= 0x3200) && (code <= 0x32FF)));  | 
1485  | 0  | }  | 
1486  |  |  | 
1487  |  | /**  | 
1488  |  |  * xmlUCSIsEthiopic:  | 
1489  |  |  * @code: UCS code point  | 
1490  |  |  *  | 
1491  |  |  * Check whether the character is part of Ethiopic UCS Block  | 
1492  |  |  *  | 
1493  |  |  * Returns 1 if true 0 otherwise  | 
1494  |  |  */  | 
1495  |  | int  | 
1496  | 0  | xmlUCSIsEthiopic(int code) { | 
1497  | 0  |     return(((code >= 0x1200) && (code <= 0x137F)));  | 
1498  | 0  | }  | 
1499  |  |  | 
1500  |  | /**  | 
1501  |  |  * xmlUCSIsGeneralPunctuation:  | 
1502  |  |  * @code: UCS code point  | 
1503  |  |  *  | 
1504  |  |  * Check whether the character is part of GeneralPunctuation UCS Block  | 
1505  |  |  *  | 
1506  |  |  * Returns 1 if true 0 otherwise  | 
1507  |  |  */  | 
1508  |  | int  | 
1509  | 0  | xmlUCSIsGeneralPunctuation(int code) { | 
1510  | 0  |     return(((code >= 0x2000) && (code <= 0x206F)));  | 
1511  | 0  | }  | 
1512  |  |  | 
1513  |  | /**  | 
1514  |  |  * xmlUCSIsGeometricShapes:  | 
1515  |  |  * @code: UCS code point  | 
1516  |  |  *  | 
1517  |  |  * Check whether the character is part of GeometricShapes UCS Block  | 
1518  |  |  *  | 
1519  |  |  * Returns 1 if true 0 otherwise  | 
1520  |  |  */  | 
1521  |  | int  | 
1522  | 0  | xmlUCSIsGeometricShapes(int code) { | 
1523  | 0  |     return(((code >= 0x25A0) && (code <= 0x25FF)));  | 
1524  | 0  | }  | 
1525  |  |  | 
1526  |  | /**  | 
1527  |  |  * xmlUCSIsGeorgian:  | 
1528  |  |  * @code: UCS code point  | 
1529  |  |  *  | 
1530  |  |  * Check whether the character is part of Georgian UCS Block  | 
1531  |  |  *  | 
1532  |  |  * Returns 1 if true 0 otherwise  | 
1533  |  |  */  | 
1534  |  | int  | 
1535  | 0  | xmlUCSIsGeorgian(int code) { | 
1536  | 0  |     return(((code >= 0x10A0) && (code <= 0x10FF)));  | 
1537  | 0  | }  | 
1538  |  |  | 
1539  |  | /**  | 
1540  |  |  * xmlUCSIsGothic:  | 
1541  |  |  * @code: UCS code point  | 
1542  |  |  *  | 
1543  |  |  * Check whether the character is part of Gothic UCS Block  | 
1544  |  |  *  | 
1545  |  |  * Returns 1 if true 0 otherwise  | 
1546  |  |  */  | 
1547  |  | int  | 
1548  | 0  | xmlUCSIsGothic(int code) { | 
1549  | 0  |     return(((code >= 0x10330) && (code <= 0x1034F)));  | 
1550  | 0  | }  | 
1551  |  |  | 
1552  |  | /**  | 
1553  |  |  * xmlUCSIsGreek:  | 
1554  |  |  * @code: UCS code point  | 
1555  |  |  *  | 
1556  |  |  * Check whether the character is part of Greek UCS Block  | 
1557  |  |  *  | 
1558  |  |  * Returns 1 if true 0 otherwise  | 
1559  |  |  */  | 
1560  |  | int  | 
1561  | 0  | xmlUCSIsGreek(int code) { | 
1562  | 0  |     return(((code >= 0x0370) && (code <= 0x03FF)));  | 
1563  | 0  | }  | 
1564  |  |  | 
1565  |  | /**  | 
1566  |  |  * xmlUCSIsGreekExtended:  | 
1567  |  |  * @code: UCS code point  | 
1568  |  |  *  | 
1569  |  |  * Check whether the character is part of GreekExtended UCS Block  | 
1570  |  |  *  | 
1571  |  |  * Returns 1 if true 0 otherwise  | 
1572  |  |  */  | 
1573  |  | int  | 
1574  | 0  | xmlUCSIsGreekExtended(int code) { | 
1575  | 0  |     return(((code >= 0x1F00) && (code <= 0x1FFF)));  | 
1576  | 0  | }  | 
1577  |  |  | 
1578  |  | /**  | 
1579  |  |  * xmlUCSIsGreekandCoptic:  | 
1580  |  |  * @code: UCS code point  | 
1581  |  |  *  | 
1582  |  |  * Check whether the character is part of GreekandCoptic UCS Block  | 
1583  |  |  *  | 
1584  |  |  * Returns 1 if true 0 otherwise  | 
1585  |  |  */  | 
1586  |  | int  | 
1587  | 0  | xmlUCSIsGreekandCoptic(int code) { | 
1588  | 0  |     return(((code >= 0x0370) && (code <= 0x03FF)));  | 
1589  | 0  | }  | 
1590  |  |  | 
1591  |  | /**  | 
1592  |  |  * xmlUCSIsGujarati:  | 
1593  |  |  * @code: UCS code point  | 
1594  |  |  *  | 
1595  |  |  * Check whether the character is part of Gujarati UCS Block  | 
1596  |  |  *  | 
1597  |  |  * Returns 1 if true 0 otherwise  | 
1598  |  |  */  | 
1599  |  | int  | 
1600  | 0  | xmlUCSIsGujarati(int code) { | 
1601  | 0  |     return(((code >= 0x0A80) && (code <= 0x0AFF)));  | 
1602  | 0  | }  | 
1603  |  |  | 
1604  |  | /**  | 
1605  |  |  * xmlUCSIsGurmukhi:  | 
1606  |  |  * @code: UCS code point  | 
1607  |  |  *  | 
1608  |  |  * Check whether the character is part of Gurmukhi UCS Block  | 
1609  |  |  *  | 
1610  |  |  * Returns 1 if true 0 otherwise  | 
1611  |  |  */  | 
1612  |  | int  | 
1613  | 0  | xmlUCSIsGurmukhi(int code) { | 
1614  | 0  |     return(((code >= 0x0A00) && (code <= 0x0A7F)));  | 
1615  | 0  | }  | 
1616  |  |  | 
1617  |  | /**  | 
1618  |  |  * xmlUCSIsHalfwidthandFullwidthForms:  | 
1619  |  |  * @code: UCS code point  | 
1620  |  |  *  | 
1621  |  |  * Check whether the character is part of HalfwidthandFullwidthForms UCS Block  | 
1622  |  |  *  | 
1623  |  |  * Returns 1 if true 0 otherwise  | 
1624  |  |  */  | 
1625  |  | int  | 
1626  | 0  | xmlUCSIsHalfwidthandFullwidthForms(int code) { | 
1627  | 0  |     return(((code >= 0xFF00) && (code <= 0xFFEF)));  | 
1628  | 0  | }  | 
1629  |  |  | 
1630  |  | /**  | 
1631  |  |  * xmlUCSIsHangulCompatibilityJamo:  | 
1632  |  |  * @code: UCS code point  | 
1633  |  |  *  | 
1634  |  |  * Check whether the character is part of HangulCompatibilityJamo UCS Block  | 
1635  |  |  *  | 
1636  |  |  * Returns 1 if true 0 otherwise  | 
1637  |  |  */  | 
1638  |  | int  | 
1639  | 0  | xmlUCSIsHangulCompatibilityJamo(int code) { | 
1640  | 0  |     return(((code >= 0x3130) && (code <= 0x318F)));  | 
1641  | 0  | }  | 
1642  |  |  | 
1643  |  | /**  | 
1644  |  |  * xmlUCSIsHangulJamo:  | 
1645  |  |  * @code: UCS code point  | 
1646  |  |  *  | 
1647  |  |  * Check whether the character is part of HangulJamo UCS Block  | 
1648  |  |  *  | 
1649  |  |  * Returns 1 if true 0 otherwise  | 
1650  |  |  */  | 
1651  |  | int  | 
1652  | 0  | xmlUCSIsHangulJamo(int code) { | 
1653  | 0  |     return(((code >= 0x1100) && (code <= 0x11FF)));  | 
1654  | 0  | }  | 
1655  |  |  | 
1656  |  | /**  | 
1657  |  |  * xmlUCSIsHangulSyllables:  | 
1658  |  |  * @code: UCS code point  | 
1659  |  |  *  | 
1660  |  |  * Check whether the character is part of HangulSyllables UCS Block  | 
1661  |  |  *  | 
1662  |  |  * Returns 1 if true 0 otherwise  | 
1663  |  |  */  | 
1664  |  | int  | 
1665  | 0  | xmlUCSIsHangulSyllables(int code) { | 
1666  | 0  |     return(((code >= 0xAC00) && (code <= 0xD7AF)));  | 
1667  | 0  | }  | 
1668  |  |  | 
1669  |  | /**  | 
1670  |  |  * xmlUCSIsHanunoo:  | 
1671  |  |  * @code: UCS code point  | 
1672  |  |  *  | 
1673  |  |  * Check whether the character is part of Hanunoo UCS Block  | 
1674  |  |  *  | 
1675  |  |  * Returns 1 if true 0 otherwise  | 
1676  |  |  */  | 
1677  |  | int  | 
1678  | 0  | xmlUCSIsHanunoo(int code) { | 
1679  | 0  |     return(((code >= 0x1720) && (code <= 0x173F)));  | 
1680  | 0  | }  | 
1681  |  |  | 
1682  |  | /**  | 
1683  |  |  * xmlUCSIsHebrew:  | 
1684  |  |  * @code: UCS code point  | 
1685  |  |  *  | 
1686  |  |  * Check whether the character is part of Hebrew UCS Block  | 
1687  |  |  *  | 
1688  |  |  * Returns 1 if true 0 otherwise  | 
1689  |  |  */  | 
1690  |  | int  | 
1691  | 0  | xmlUCSIsHebrew(int code) { | 
1692  | 0  |     return(((code >= 0x0590) && (code <= 0x05FF)));  | 
1693  | 0  | }  | 
1694  |  |  | 
1695  |  | /**  | 
1696  |  |  * xmlUCSIsHighPrivateUseSurrogates:  | 
1697  |  |  * @code: UCS code point  | 
1698  |  |  *  | 
1699  |  |  * Check whether the character is part of HighPrivateUseSurrogates UCS Block  | 
1700  |  |  *  | 
1701  |  |  * Returns 1 if true 0 otherwise  | 
1702  |  |  */  | 
1703  |  | int  | 
1704  | 0  | xmlUCSIsHighPrivateUseSurrogates(int code) { | 
1705  | 0  |     return(((code >= 0xDB80) && (code <= 0xDBFF)));  | 
1706  | 0  | }  | 
1707  |  |  | 
1708  |  | /**  | 
1709  |  |  * xmlUCSIsHighSurrogates:  | 
1710  |  |  * @code: UCS code point  | 
1711  |  |  *  | 
1712  |  |  * Check whether the character is part of HighSurrogates UCS Block  | 
1713  |  |  *  | 
1714  |  |  * Returns 1 if true 0 otherwise  | 
1715  |  |  */  | 
1716  |  | int  | 
1717  | 0  | xmlUCSIsHighSurrogates(int code) { | 
1718  | 0  |     return(((code >= 0xD800) && (code <= 0xDB7F)));  | 
1719  | 0  | }  | 
1720  |  |  | 
1721  |  | /**  | 
1722  |  |  * xmlUCSIsHiragana:  | 
1723  |  |  * @code: UCS code point  | 
1724  |  |  *  | 
1725  |  |  * Check whether the character is part of Hiragana UCS Block  | 
1726  |  |  *  | 
1727  |  |  * Returns 1 if true 0 otherwise  | 
1728  |  |  */  | 
1729  |  | int  | 
1730  | 0  | xmlUCSIsHiragana(int code) { | 
1731  | 0  |     return(((code >= 0x3040) && (code <= 0x309F)));  | 
1732  | 0  | }  | 
1733  |  |  | 
1734  |  | /**  | 
1735  |  |  * xmlUCSIsIPAExtensions:  | 
1736  |  |  * @code: UCS code point  | 
1737  |  |  *  | 
1738  |  |  * Check whether the character is part of IPAExtensions UCS Block  | 
1739  |  |  *  | 
1740  |  |  * Returns 1 if true 0 otherwise  | 
1741  |  |  */  | 
1742  |  | int  | 
1743  | 0  | xmlUCSIsIPAExtensions(int code) { | 
1744  | 0  |     return(((code >= 0x0250) && (code <= 0x02AF)));  | 
1745  | 0  | }  | 
1746  |  |  | 
1747  |  | /**  | 
1748  |  |  * xmlUCSIsIdeographicDescriptionCharacters:  | 
1749  |  |  * @code: UCS code point  | 
1750  |  |  *  | 
1751  |  |  * Check whether the character is part of IdeographicDescriptionCharacters UCS Block  | 
1752  |  |  *  | 
1753  |  |  * Returns 1 if true 0 otherwise  | 
1754  |  |  */  | 
1755  |  | int  | 
1756  | 0  | xmlUCSIsIdeographicDescriptionCharacters(int code) { | 
1757  | 0  |     return(((code >= 0x2FF0) && (code <= 0x2FFF)));  | 
1758  | 0  | }  | 
1759  |  |  | 
1760  |  | /**  | 
1761  |  |  * xmlUCSIsKanbun:  | 
1762  |  |  * @code: UCS code point  | 
1763  |  |  *  | 
1764  |  |  * Check whether the character is part of Kanbun UCS Block  | 
1765  |  |  *  | 
1766  |  |  * Returns 1 if true 0 otherwise  | 
1767  |  |  */  | 
1768  |  | int  | 
1769  | 0  | xmlUCSIsKanbun(int code) { | 
1770  | 0  |     return(((code >= 0x3190) && (code <= 0x319F)));  | 
1771  | 0  | }  | 
1772  |  |  | 
1773  |  | /**  | 
1774  |  |  * xmlUCSIsKangxiRadicals:  | 
1775  |  |  * @code: UCS code point  | 
1776  |  |  *  | 
1777  |  |  * Check whether the character is part of KangxiRadicals UCS Block  | 
1778  |  |  *  | 
1779  |  |  * Returns 1 if true 0 otherwise  | 
1780  |  |  */  | 
1781  |  | int  | 
1782  | 0  | xmlUCSIsKangxiRadicals(int code) { | 
1783  | 0  |     return(((code >= 0x2F00) && (code <= 0x2FDF)));  | 
1784  | 0  | }  | 
1785  |  |  | 
1786  |  | /**  | 
1787  |  |  * xmlUCSIsKannada:  | 
1788  |  |  * @code: UCS code point  | 
1789  |  |  *  | 
1790  |  |  * Check whether the character is part of Kannada UCS Block  | 
1791  |  |  *  | 
1792  |  |  * Returns 1 if true 0 otherwise  | 
1793  |  |  */  | 
1794  |  | int  | 
1795  | 0  | xmlUCSIsKannada(int code) { | 
1796  | 0  |     return(((code >= 0x0C80) && (code <= 0x0CFF)));  | 
1797  | 0  | }  | 
1798  |  |  | 
1799  |  | /**  | 
1800  |  |  * xmlUCSIsKatakana:  | 
1801  |  |  * @code: UCS code point  | 
1802  |  |  *  | 
1803  |  |  * Check whether the character is part of Katakana UCS Block  | 
1804  |  |  *  | 
1805  |  |  * Returns 1 if true 0 otherwise  | 
1806  |  |  */  | 
1807  |  | int  | 
1808  | 0  | xmlUCSIsKatakana(int code) { | 
1809  | 0  |     return(((code >= 0x30A0) && (code <= 0x30FF)));  | 
1810  | 0  | }  | 
1811  |  |  | 
1812  |  | /**  | 
1813  |  |  * xmlUCSIsKatakanaPhoneticExtensions:  | 
1814  |  |  * @code: UCS code point  | 
1815  |  |  *  | 
1816  |  |  * Check whether the character is part of KatakanaPhoneticExtensions UCS Block  | 
1817  |  |  *  | 
1818  |  |  * Returns 1 if true 0 otherwise  | 
1819  |  |  */  | 
1820  |  | int  | 
1821  | 0  | xmlUCSIsKatakanaPhoneticExtensions(int code) { | 
1822  | 0  |     return(((code >= 0x31F0) && (code <= 0x31FF)));  | 
1823  | 0  | }  | 
1824  |  |  | 
1825  |  | /**  | 
1826  |  |  * xmlUCSIsKhmer:  | 
1827  |  |  * @code: UCS code point  | 
1828  |  |  *  | 
1829  |  |  * Check whether the character is part of Khmer UCS Block  | 
1830  |  |  *  | 
1831  |  |  * Returns 1 if true 0 otherwise  | 
1832  |  |  */  | 
1833  |  | int  | 
1834  | 0  | xmlUCSIsKhmer(int code) { | 
1835  | 0  |     return(((code >= 0x1780) && (code <= 0x17FF)));  | 
1836  | 0  | }  | 
1837  |  |  | 
1838  |  | /**  | 
1839  |  |  * xmlUCSIsKhmerSymbols:  | 
1840  |  |  * @code: UCS code point  | 
1841  |  |  *  | 
1842  |  |  * Check whether the character is part of KhmerSymbols UCS Block  | 
1843  |  |  *  | 
1844  |  |  * Returns 1 if true 0 otherwise  | 
1845  |  |  */  | 
1846  |  | int  | 
1847  | 0  | xmlUCSIsKhmerSymbols(int code) { | 
1848  | 0  |     return(((code >= 0x19E0) && (code <= 0x19FF)));  | 
1849  | 0  | }  | 
1850  |  |  | 
1851  |  | /**  | 
1852  |  |  * xmlUCSIsLao:  | 
1853  |  |  * @code: UCS code point  | 
1854  |  |  *  | 
1855  |  |  * Check whether the character is part of Lao UCS Block  | 
1856  |  |  *  | 
1857  |  |  * Returns 1 if true 0 otherwise  | 
1858  |  |  */  | 
1859  |  | int  | 
1860  | 0  | xmlUCSIsLao(int code) { | 
1861  | 0  |     return(((code >= 0x0E80) && (code <= 0x0EFF)));  | 
1862  | 0  | }  | 
1863  |  |  | 
1864  |  | /**  | 
1865  |  |  * xmlUCSIsLatin1Supplement:  | 
1866  |  |  * @code: UCS code point  | 
1867  |  |  *  | 
1868  |  |  * Check whether the character is part of Latin-1Supplement UCS Block  | 
1869  |  |  *  | 
1870  |  |  * Returns 1 if true 0 otherwise  | 
1871  |  |  */  | 
1872  |  | int  | 
1873  | 0  | xmlUCSIsLatin1Supplement(int code) { | 
1874  | 0  |     return(((code >= 0x0080) && (code <= 0x00FF)));  | 
1875  | 0  | }  | 
1876  |  |  | 
1877  |  | /**  | 
1878  |  |  * xmlUCSIsLatinExtendedA:  | 
1879  |  |  * @code: UCS code point  | 
1880  |  |  *  | 
1881  |  |  * Check whether the character is part of LatinExtended-A UCS Block  | 
1882  |  |  *  | 
1883  |  |  * Returns 1 if true 0 otherwise  | 
1884  |  |  */  | 
1885  |  | int  | 
1886  | 0  | xmlUCSIsLatinExtendedA(int code) { | 
1887  | 0  |     return(((code >= 0x0100) && (code <= 0x017F)));  | 
1888  | 0  | }  | 
1889  |  |  | 
1890  |  | /**  | 
1891  |  |  * xmlUCSIsLatinExtendedB:  | 
1892  |  |  * @code: UCS code point  | 
1893  |  |  *  | 
1894  |  |  * Check whether the character is part of LatinExtended-B UCS Block  | 
1895  |  |  *  | 
1896  |  |  * Returns 1 if true 0 otherwise  | 
1897  |  |  */  | 
1898  |  | int  | 
1899  | 0  | xmlUCSIsLatinExtendedB(int code) { | 
1900  | 0  |     return(((code >= 0x0180) && (code <= 0x024F)));  | 
1901  | 0  | }  | 
1902  |  |  | 
1903  |  | /**  | 
1904  |  |  * xmlUCSIsLatinExtendedAdditional:  | 
1905  |  |  * @code: UCS code point  | 
1906  |  |  *  | 
1907  |  |  * Check whether the character is part of LatinExtendedAdditional UCS Block  | 
1908  |  |  *  | 
1909  |  |  * Returns 1 if true 0 otherwise  | 
1910  |  |  */  | 
1911  |  | int  | 
1912  | 0  | xmlUCSIsLatinExtendedAdditional(int code) { | 
1913  | 0  |     return(((code >= 0x1E00) && (code <= 0x1EFF)));  | 
1914  | 0  | }  | 
1915  |  |  | 
1916  |  | /**  | 
1917  |  |  * xmlUCSIsLetterlikeSymbols:  | 
1918  |  |  * @code: UCS code point  | 
1919  |  |  *  | 
1920  |  |  * Check whether the character is part of LetterlikeSymbols UCS Block  | 
1921  |  |  *  | 
1922  |  |  * Returns 1 if true 0 otherwise  | 
1923  |  |  */  | 
1924  |  | int  | 
1925  | 0  | xmlUCSIsLetterlikeSymbols(int code) { | 
1926  | 0  |     return(((code >= 0x2100) && (code <= 0x214F)));  | 
1927  | 0  | }  | 
1928  |  |  | 
1929  |  | /**  | 
1930  |  |  * xmlUCSIsLimbu:  | 
1931  |  |  * @code: UCS code point  | 
1932  |  |  *  | 
1933  |  |  * Check whether the character is part of Limbu UCS Block  | 
1934  |  |  *  | 
1935  |  |  * Returns 1 if true 0 otherwise  | 
1936  |  |  */  | 
1937  |  | int  | 
1938  | 0  | xmlUCSIsLimbu(int code) { | 
1939  | 0  |     return(((code >= 0x1900) && (code <= 0x194F)));  | 
1940  | 0  | }  | 
1941  |  |  | 
1942  |  | /**  | 
1943  |  |  * xmlUCSIsLinearBIdeograms:  | 
1944  |  |  * @code: UCS code point  | 
1945  |  |  *  | 
1946  |  |  * Check whether the character is part of LinearBIdeograms UCS Block  | 
1947  |  |  *  | 
1948  |  |  * Returns 1 if true 0 otherwise  | 
1949  |  |  */  | 
1950  |  | int  | 
1951  | 0  | xmlUCSIsLinearBIdeograms(int code) { | 
1952  | 0  |     return(((code >= 0x10080) && (code <= 0x100FF)));  | 
1953  | 0  | }  | 
1954  |  |  | 
1955  |  | /**  | 
1956  |  |  * xmlUCSIsLinearBSyllabary:  | 
1957  |  |  * @code: UCS code point  | 
1958  |  |  *  | 
1959  |  |  * Check whether the character is part of LinearBSyllabary UCS Block  | 
1960  |  |  *  | 
1961  |  |  * Returns 1 if true 0 otherwise  | 
1962  |  |  */  | 
1963  |  | int  | 
1964  | 0  | xmlUCSIsLinearBSyllabary(int code) { | 
1965  | 0  |     return(((code >= 0x10000) && (code <= 0x1007F)));  | 
1966  | 0  | }  | 
1967  |  |  | 
1968  |  | /**  | 
1969  |  |  * xmlUCSIsLowSurrogates:  | 
1970  |  |  * @code: UCS code point  | 
1971  |  |  *  | 
1972  |  |  * Check whether the character is part of LowSurrogates UCS Block  | 
1973  |  |  *  | 
1974  |  |  * Returns 1 if true 0 otherwise  | 
1975  |  |  */  | 
1976  |  | int  | 
1977  | 0  | xmlUCSIsLowSurrogates(int code) { | 
1978  | 0  |     return(((code >= 0xDC00) && (code <= 0xDFFF)));  | 
1979  | 0  | }  | 
1980  |  |  | 
1981  |  | /**  | 
1982  |  |  * xmlUCSIsMalayalam:  | 
1983  |  |  * @code: UCS code point  | 
1984  |  |  *  | 
1985  |  |  * Check whether the character is part of Malayalam UCS Block  | 
1986  |  |  *  | 
1987  |  |  * Returns 1 if true 0 otherwise  | 
1988  |  |  */  | 
1989  |  | int  | 
1990  | 0  | xmlUCSIsMalayalam(int code) { | 
1991  | 0  |     return(((code >= 0x0D00) && (code <= 0x0D7F)));  | 
1992  | 0  | }  | 
1993  |  |  | 
1994  |  | /**  | 
1995  |  |  * xmlUCSIsMathematicalAlphanumericSymbols:  | 
1996  |  |  * @code: UCS code point  | 
1997  |  |  *  | 
1998  |  |  * Check whether the character is part of MathematicalAlphanumericSymbols UCS Block  | 
1999  |  |  *  | 
2000  |  |  * Returns 1 if true 0 otherwise  | 
2001  |  |  */  | 
2002  |  | int  | 
2003  | 0  | xmlUCSIsMathematicalAlphanumericSymbols(int code) { | 
2004  | 0  |     return(((code >= 0x1D400) && (code <= 0x1D7FF)));  | 
2005  | 0  | }  | 
2006  |  |  | 
2007  |  | /**  | 
2008  |  |  * xmlUCSIsMathematicalOperators:  | 
2009  |  |  * @code: UCS code point  | 
2010  |  |  *  | 
2011  |  |  * Check whether the character is part of MathematicalOperators UCS Block  | 
2012  |  |  *  | 
2013  |  |  * Returns 1 if true 0 otherwise  | 
2014  |  |  */  | 
2015  |  | int  | 
2016  | 0  | xmlUCSIsMathematicalOperators(int code) { | 
2017  | 0  |     return(((code >= 0x2200) && (code <= 0x22FF)));  | 
2018  | 0  | }  | 
2019  |  |  | 
2020  |  | /**  | 
2021  |  |  * xmlUCSIsMiscellaneousMathematicalSymbolsA:  | 
2022  |  |  * @code: UCS code point  | 
2023  |  |  *  | 
2024  |  |  * Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block  | 
2025  |  |  *  | 
2026  |  |  * Returns 1 if true 0 otherwise  | 
2027  |  |  */  | 
2028  |  | int  | 
2029  | 0  | xmlUCSIsMiscellaneousMathematicalSymbolsA(int code) { | 
2030  | 0  |     return(((code >= 0x27C0) && (code <= 0x27EF)));  | 
2031  | 0  | }  | 
2032  |  |  | 
2033  |  | /**  | 
2034  |  |  * xmlUCSIsMiscellaneousMathematicalSymbolsB:  | 
2035  |  |  * @code: UCS code point  | 
2036  |  |  *  | 
2037  |  |  * Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block  | 
2038  |  |  *  | 
2039  |  |  * Returns 1 if true 0 otherwise  | 
2040  |  |  */  | 
2041  |  | int  | 
2042  | 0  | xmlUCSIsMiscellaneousMathematicalSymbolsB(int code) { | 
2043  | 0  |     return(((code >= 0x2980) && (code <= 0x29FF)));  | 
2044  | 0  | }  | 
2045  |  |  | 
2046  |  | /**  | 
2047  |  |  * xmlUCSIsMiscellaneousSymbols:  | 
2048  |  |  * @code: UCS code point  | 
2049  |  |  *  | 
2050  |  |  * Check whether the character is part of MiscellaneousSymbols UCS Block  | 
2051  |  |  *  | 
2052  |  |  * Returns 1 if true 0 otherwise  | 
2053  |  |  */  | 
2054  |  | int  | 
2055  | 0  | xmlUCSIsMiscellaneousSymbols(int code) { | 
2056  | 0  |     return(((code >= 0x2600) && (code <= 0x26FF)));  | 
2057  | 0  | }  | 
2058  |  |  | 
2059  |  | /**  | 
2060  |  |  * xmlUCSIsMiscellaneousSymbolsandArrows:  | 
2061  |  |  * @code: UCS code point  | 
2062  |  |  *  | 
2063  |  |  * Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block  | 
2064  |  |  *  | 
2065  |  |  * Returns 1 if true 0 otherwise  | 
2066  |  |  */  | 
2067  |  | int  | 
2068  | 0  | xmlUCSIsMiscellaneousSymbolsandArrows(int code) { | 
2069  | 0  |     return(((code >= 0x2B00) && (code <= 0x2BFF)));  | 
2070  | 0  | }  | 
2071  |  |  | 
2072  |  | /**  | 
2073  |  |  * xmlUCSIsMiscellaneousTechnical:  | 
2074  |  |  * @code: UCS code point  | 
2075  |  |  *  | 
2076  |  |  * Check whether the character is part of MiscellaneousTechnical UCS Block  | 
2077  |  |  *  | 
2078  |  |  * Returns 1 if true 0 otherwise  | 
2079  |  |  */  | 
2080  |  | int  | 
2081  | 0  | xmlUCSIsMiscellaneousTechnical(int code) { | 
2082  | 0  |     return(((code >= 0x2300) && (code <= 0x23FF)));  | 
2083  | 0  | }  | 
2084  |  |  | 
2085  |  | /**  | 
2086  |  |  * xmlUCSIsMongolian:  | 
2087  |  |  * @code: UCS code point  | 
2088  |  |  *  | 
2089  |  |  * Check whether the character is part of Mongolian UCS Block  | 
2090  |  |  *  | 
2091  |  |  * Returns 1 if true 0 otherwise  | 
2092  |  |  */  | 
2093  |  | int  | 
2094  | 0  | xmlUCSIsMongolian(int code) { | 
2095  | 0  |     return(((code >= 0x1800) && (code <= 0x18AF)));  | 
2096  | 0  | }  | 
2097  |  |  | 
2098  |  | /**  | 
2099  |  |  * xmlUCSIsMusicalSymbols:  | 
2100  |  |  * @code: UCS code point  | 
2101  |  |  *  | 
2102  |  |  * Check whether the character is part of MusicalSymbols UCS Block  | 
2103  |  |  *  | 
2104  |  |  * Returns 1 if true 0 otherwise  | 
2105  |  |  */  | 
2106  |  | int  | 
2107  | 0  | xmlUCSIsMusicalSymbols(int code) { | 
2108  | 0  |     return(((code >= 0x1D100) && (code <= 0x1D1FF)));  | 
2109  | 0  | }  | 
2110  |  |  | 
2111  |  | /**  | 
2112  |  |  * xmlUCSIsMyanmar:  | 
2113  |  |  * @code: UCS code point  | 
2114  |  |  *  | 
2115  |  |  * Check whether the character is part of Myanmar UCS Block  | 
2116  |  |  *  | 
2117  |  |  * Returns 1 if true 0 otherwise  | 
2118  |  |  */  | 
2119  |  | int  | 
2120  | 0  | xmlUCSIsMyanmar(int code) { | 
2121  | 0  |     return(((code >= 0x1000) && (code <= 0x109F)));  | 
2122  | 0  | }  | 
2123  |  |  | 
2124  |  | /**  | 
2125  |  |  * xmlUCSIsNumberForms:  | 
2126  |  |  * @code: UCS code point  | 
2127  |  |  *  | 
2128  |  |  * Check whether the character is part of NumberForms UCS Block  | 
2129  |  |  *  | 
2130  |  |  * Returns 1 if true 0 otherwise  | 
2131  |  |  */  | 
2132  |  | int  | 
2133  | 0  | xmlUCSIsNumberForms(int code) { | 
2134  | 0  |     return(((code >= 0x2150) && (code <= 0x218F)));  | 
2135  | 0  | }  | 
2136  |  |  | 
2137  |  | /**  | 
2138  |  |  * xmlUCSIsOgham:  | 
2139  |  |  * @code: UCS code point  | 
2140  |  |  *  | 
2141  |  |  * Check whether the character is part of Ogham UCS Block  | 
2142  |  |  *  | 
2143  |  |  * Returns 1 if true 0 otherwise  | 
2144  |  |  */  | 
2145  |  | int  | 
2146  | 0  | xmlUCSIsOgham(int code) { | 
2147  | 0  |     return(((code >= 0x1680) && (code <= 0x169F)));  | 
2148  | 0  | }  | 
2149  |  |  | 
2150  |  | /**  | 
2151  |  |  * xmlUCSIsOldItalic:  | 
2152  |  |  * @code: UCS code point  | 
2153  |  |  *  | 
2154  |  |  * Check whether the character is part of OldItalic UCS Block  | 
2155  |  |  *  | 
2156  |  |  * Returns 1 if true 0 otherwise  | 
2157  |  |  */  | 
2158  |  | int  | 
2159  | 0  | xmlUCSIsOldItalic(int code) { | 
2160  | 0  |     return(((code >= 0x10300) && (code <= 0x1032F)));  | 
2161  | 0  | }  | 
2162  |  |  | 
2163  |  | /**  | 
2164  |  |  * xmlUCSIsOpticalCharacterRecognition:  | 
2165  |  |  * @code: UCS code point  | 
2166  |  |  *  | 
2167  |  |  * Check whether the character is part of OpticalCharacterRecognition UCS Block  | 
2168  |  |  *  | 
2169  |  |  * Returns 1 if true 0 otherwise  | 
2170  |  |  */  | 
2171  |  | int  | 
2172  | 0  | xmlUCSIsOpticalCharacterRecognition(int code) { | 
2173  | 0  |     return(((code >= 0x2440) && (code <= 0x245F)));  | 
2174  | 0  | }  | 
2175  |  |  | 
2176  |  | /**  | 
2177  |  |  * xmlUCSIsOriya:  | 
2178  |  |  * @code: UCS code point  | 
2179  |  |  *  | 
2180  |  |  * Check whether the character is part of Oriya UCS Block  | 
2181  |  |  *  | 
2182  |  |  * Returns 1 if true 0 otherwise  | 
2183  |  |  */  | 
2184  |  | int  | 
2185  | 0  | xmlUCSIsOriya(int code) { | 
2186  | 0  |     return(((code >= 0x0B00) && (code <= 0x0B7F)));  | 
2187  | 0  | }  | 
2188  |  |  | 
2189  |  | /**  | 
2190  |  |  * xmlUCSIsOsmanya:  | 
2191  |  |  * @code: UCS code point  | 
2192  |  |  *  | 
2193  |  |  * Check whether the character is part of Osmanya UCS Block  | 
2194  |  |  *  | 
2195  |  |  * Returns 1 if true 0 otherwise  | 
2196  |  |  */  | 
2197  |  | int  | 
2198  | 0  | xmlUCSIsOsmanya(int code) { | 
2199  | 0  |     return(((code >= 0x10480) && (code <= 0x104AF)));  | 
2200  | 0  | }  | 
2201  |  |  | 
2202  |  | /**  | 
2203  |  |  * xmlUCSIsPhoneticExtensions:  | 
2204  |  |  * @code: UCS code point  | 
2205  |  |  *  | 
2206  |  |  * Check whether the character is part of PhoneticExtensions UCS Block  | 
2207  |  |  *  | 
2208  |  |  * Returns 1 if true 0 otherwise  | 
2209  |  |  */  | 
2210  |  | int  | 
2211  | 0  | xmlUCSIsPhoneticExtensions(int code) { | 
2212  | 0  |     return(((code >= 0x1D00) && (code <= 0x1D7F)));  | 
2213  | 0  | }  | 
2214  |  |  | 
2215  |  | /**  | 
2216  |  |  * xmlUCSIsPrivateUse:  | 
2217  |  |  * @code: UCS code point  | 
2218  |  |  *  | 
2219  |  |  * Check whether the character is part of PrivateUse UCS Block  | 
2220  |  |  *  | 
2221  |  |  * Returns 1 if true 0 otherwise  | 
2222  |  |  */  | 
2223  |  | int  | 
2224  | 0  | xmlUCSIsPrivateUse(int code) { | 
2225  | 0  |     return(((code >= 0xE000) && (code <= 0xF8FF)) ||  | 
2226  | 0  |            ((code >= 0xF0000) && (code <= 0xFFFFF)) ||  | 
2227  | 0  |            ((code >= 0x100000) && (code <= 0x10FFFF)));  | 
2228  | 0  | }  | 
2229  |  |  | 
2230  |  | /**  | 
2231  |  |  * xmlUCSIsPrivateUseArea:  | 
2232  |  |  * @code: UCS code point  | 
2233  |  |  *  | 
2234  |  |  * Check whether the character is part of PrivateUseArea UCS Block  | 
2235  |  |  *  | 
2236  |  |  * Returns 1 if true 0 otherwise  | 
2237  |  |  */  | 
2238  |  | int  | 
2239  | 0  | xmlUCSIsPrivateUseArea(int code) { | 
2240  | 0  |     return(((code >= 0xE000) && (code <= 0xF8FF)));  | 
2241  | 0  | }  | 
2242  |  |  | 
2243  |  | /**  | 
2244  |  |  * xmlUCSIsRunic:  | 
2245  |  |  * @code: UCS code point  | 
2246  |  |  *  | 
2247  |  |  * Check whether the character is part of Runic UCS Block  | 
2248  |  |  *  | 
2249  |  |  * Returns 1 if true 0 otherwise  | 
2250  |  |  */  | 
2251  |  | int  | 
2252  | 0  | xmlUCSIsRunic(int code) { | 
2253  | 0  |     return(((code >= 0x16A0) && (code <= 0x16FF)));  | 
2254  | 0  | }  | 
2255  |  |  | 
2256  |  | /**  | 
2257  |  |  * xmlUCSIsShavian:  | 
2258  |  |  * @code: UCS code point  | 
2259  |  |  *  | 
2260  |  |  * Check whether the character is part of Shavian UCS Block  | 
2261  |  |  *  | 
2262  |  |  * Returns 1 if true 0 otherwise  | 
2263  |  |  */  | 
2264  |  | int  | 
2265  | 0  | xmlUCSIsShavian(int code) { | 
2266  | 0  |     return(((code >= 0x10450) && (code <= 0x1047F)));  | 
2267  | 0  | }  | 
2268  |  |  | 
2269  |  | /**  | 
2270  |  |  * xmlUCSIsSinhala:  | 
2271  |  |  * @code: UCS code point  | 
2272  |  |  *  | 
2273  |  |  * Check whether the character is part of Sinhala UCS Block  | 
2274  |  |  *  | 
2275  |  |  * Returns 1 if true 0 otherwise  | 
2276  |  |  */  | 
2277  |  | int  | 
2278  | 0  | xmlUCSIsSinhala(int code) { | 
2279  | 0  |     return(((code >= 0x0D80) && (code <= 0x0DFF)));  | 
2280  | 0  | }  | 
2281  |  |  | 
2282  |  | /**  | 
2283  |  |  * xmlUCSIsSmallFormVariants:  | 
2284  |  |  * @code: UCS code point  | 
2285  |  |  *  | 
2286  |  |  * Check whether the character is part of SmallFormVariants UCS Block  | 
2287  |  |  *  | 
2288  |  |  * Returns 1 if true 0 otherwise  | 
2289  |  |  */  | 
2290  |  | int  | 
2291  | 0  | xmlUCSIsSmallFormVariants(int code) { | 
2292  | 0  |     return(((code >= 0xFE50) && (code <= 0xFE6F)));  | 
2293  | 0  | }  | 
2294  |  |  | 
2295  |  | /**  | 
2296  |  |  * xmlUCSIsSpacingModifierLetters:  | 
2297  |  |  * @code: UCS code point  | 
2298  |  |  *  | 
2299  |  |  * Check whether the character is part of SpacingModifierLetters UCS Block  | 
2300  |  |  *  | 
2301  |  |  * Returns 1 if true 0 otherwise  | 
2302  |  |  */  | 
2303  |  | int  | 
2304  | 0  | xmlUCSIsSpacingModifierLetters(int code) { | 
2305  | 0  |     return(((code >= 0x02B0) && (code <= 0x02FF)));  | 
2306  | 0  | }  | 
2307  |  |  | 
2308  |  | /**  | 
2309  |  |  * xmlUCSIsSpecials:  | 
2310  |  |  * @code: UCS code point  | 
2311  |  |  *  | 
2312  |  |  * Check whether the character is part of Specials UCS Block  | 
2313  |  |  *  | 
2314  |  |  * Returns 1 if true 0 otherwise  | 
2315  |  |  */  | 
2316  |  | int  | 
2317  | 0  | xmlUCSIsSpecials(int code) { | 
2318  | 0  |     return(((code >= 0xFFF0) && (code <= 0xFFFF)));  | 
2319  | 0  | }  | 
2320  |  |  | 
2321  |  | /**  | 
2322  |  |  * xmlUCSIsSuperscriptsandSubscripts:  | 
2323  |  |  * @code: UCS code point  | 
2324  |  |  *  | 
2325  |  |  * Check whether the character is part of SuperscriptsandSubscripts UCS Block  | 
2326  |  |  *  | 
2327  |  |  * Returns 1 if true 0 otherwise  | 
2328  |  |  */  | 
2329  |  | int  | 
2330  | 0  | xmlUCSIsSuperscriptsandSubscripts(int code) { | 
2331  | 0  |     return(((code >= 0x2070) && (code <= 0x209F)));  | 
2332  | 0  | }  | 
2333  |  |  | 
2334  |  | /**  | 
2335  |  |  * xmlUCSIsSupplementalArrowsA:  | 
2336  |  |  * @code: UCS code point  | 
2337  |  |  *  | 
2338  |  |  * Check whether the character is part of SupplementalArrows-A UCS Block  | 
2339  |  |  *  | 
2340  |  |  * Returns 1 if true 0 otherwise  | 
2341  |  |  */  | 
2342  |  | int  | 
2343  | 0  | xmlUCSIsSupplementalArrowsA(int code) { | 
2344  | 0  |     return(((code >= 0x27F0) && (code <= 0x27FF)));  | 
2345  | 0  | }  | 
2346  |  |  | 
2347  |  | /**  | 
2348  |  |  * xmlUCSIsSupplementalArrowsB:  | 
2349  |  |  * @code: UCS code point  | 
2350  |  |  *  | 
2351  |  |  * Check whether the character is part of SupplementalArrows-B UCS Block  | 
2352  |  |  *  | 
2353  |  |  * Returns 1 if true 0 otherwise  | 
2354  |  |  */  | 
2355  |  | int  | 
2356  | 0  | xmlUCSIsSupplementalArrowsB(int code) { | 
2357  | 0  |     return(((code >= 0x2900) && (code <= 0x297F)));  | 
2358  | 0  | }  | 
2359  |  |  | 
2360  |  | /**  | 
2361  |  |  * xmlUCSIsSupplementalMathematicalOperators:  | 
2362  |  |  * @code: UCS code point  | 
2363  |  |  *  | 
2364  |  |  * Check whether the character is part of SupplementalMathematicalOperators UCS Block  | 
2365  |  |  *  | 
2366  |  |  * Returns 1 if true 0 otherwise  | 
2367  |  |  */  | 
2368  |  | int  | 
2369  | 0  | xmlUCSIsSupplementalMathematicalOperators(int code) { | 
2370  | 0  |     return(((code >= 0x2A00) && (code <= 0x2AFF)));  | 
2371  | 0  | }  | 
2372  |  |  | 
2373  |  | /**  | 
2374  |  |  * xmlUCSIsSupplementaryPrivateUseAreaA:  | 
2375  |  |  * @code: UCS code point  | 
2376  |  |  *  | 
2377  |  |  * Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block  | 
2378  |  |  *  | 
2379  |  |  * Returns 1 if true 0 otherwise  | 
2380  |  |  */  | 
2381  |  | int  | 
2382  | 0  | xmlUCSIsSupplementaryPrivateUseAreaA(int code) { | 
2383  | 0  |     return(((code >= 0xF0000) && (code <= 0xFFFFF)));  | 
2384  | 0  | }  | 
2385  |  |  | 
2386  |  | /**  | 
2387  |  |  * xmlUCSIsSupplementaryPrivateUseAreaB:  | 
2388  |  |  * @code: UCS code point  | 
2389  |  |  *  | 
2390  |  |  * Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block  | 
2391  |  |  *  | 
2392  |  |  * Returns 1 if true 0 otherwise  | 
2393  |  |  */  | 
2394  |  | int  | 
2395  | 0  | xmlUCSIsSupplementaryPrivateUseAreaB(int code) { | 
2396  | 0  |     return(((code >= 0x100000) && (code <= 0x10FFFF)));  | 
2397  | 0  | }  | 
2398  |  |  | 
2399  |  | /**  | 
2400  |  |  * xmlUCSIsSyriac:  | 
2401  |  |  * @code: UCS code point  | 
2402  |  |  *  | 
2403  |  |  * Check whether the character is part of Syriac UCS Block  | 
2404  |  |  *  | 
2405  |  |  * Returns 1 if true 0 otherwise  | 
2406  |  |  */  | 
2407  |  | int  | 
2408  | 0  | xmlUCSIsSyriac(int code) { | 
2409  | 0  |     return(((code >= 0x0700) && (code <= 0x074F)));  | 
2410  | 0  | }  | 
2411  |  |  | 
2412  |  | /**  | 
2413  |  |  * xmlUCSIsTagalog:  | 
2414  |  |  * @code: UCS code point  | 
2415  |  |  *  | 
2416  |  |  * Check whether the character is part of Tagalog UCS Block  | 
2417  |  |  *  | 
2418  |  |  * Returns 1 if true 0 otherwise  | 
2419  |  |  */  | 
2420  |  | int  | 
2421  | 0  | xmlUCSIsTagalog(int code) { | 
2422  | 0  |     return(((code >= 0x1700) && (code <= 0x171F)));  | 
2423  | 0  | }  | 
2424  |  |  | 
2425  |  | /**  | 
2426  |  |  * xmlUCSIsTagbanwa:  | 
2427  |  |  * @code: UCS code point  | 
2428  |  |  *  | 
2429  |  |  * Check whether the character is part of Tagbanwa UCS Block  | 
2430  |  |  *  | 
2431  |  |  * Returns 1 if true 0 otherwise  | 
2432  |  |  */  | 
2433  |  | int  | 
2434  | 0  | xmlUCSIsTagbanwa(int code) { | 
2435  | 0  |     return(((code >= 0x1760) && (code <= 0x177F)));  | 
2436  | 0  | }  | 
2437  |  |  | 
2438  |  | /**  | 
2439  |  |  * xmlUCSIsTags:  | 
2440  |  |  * @code: UCS code point  | 
2441  |  |  *  | 
2442  |  |  * Check whether the character is part of Tags UCS Block  | 
2443  |  |  *  | 
2444  |  |  * Returns 1 if true 0 otherwise  | 
2445  |  |  */  | 
2446  |  | int  | 
2447  | 0  | xmlUCSIsTags(int code) { | 
2448  | 0  |     return(((code >= 0xE0000) && (code <= 0xE007F)));  | 
2449  | 0  | }  | 
2450  |  |  | 
2451  |  | /**  | 
2452  |  |  * xmlUCSIsTaiLe:  | 
2453  |  |  * @code: UCS code point  | 
2454  |  |  *  | 
2455  |  |  * Check whether the character is part of TaiLe UCS Block  | 
2456  |  |  *  | 
2457  |  |  * Returns 1 if true 0 otherwise  | 
2458  |  |  */  | 
2459  |  | int  | 
2460  | 0  | xmlUCSIsTaiLe(int code) { | 
2461  | 0  |     return(((code >= 0x1950) && (code <= 0x197F)));  | 
2462  | 0  | }  | 
2463  |  |  | 
2464  |  | /**  | 
2465  |  |  * xmlUCSIsTaiXuanJingSymbols:  | 
2466  |  |  * @code: UCS code point  | 
2467  |  |  *  | 
2468  |  |  * Check whether the character is part of TaiXuanJingSymbols UCS Block  | 
2469  |  |  *  | 
2470  |  |  * Returns 1 if true 0 otherwise  | 
2471  |  |  */  | 
2472  |  | int  | 
2473  | 0  | xmlUCSIsTaiXuanJingSymbols(int code) { | 
2474  | 0  |     return(((code >= 0x1D300) && (code <= 0x1D35F)));  | 
2475  | 0  | }  | 
2476  |  |  | 
2477  |  | /**  | 
2478  |  |  * xmlUCSIsTamil:  | 
2479  |  |  * @code: UCS code point  | 
2480  |  |  *  | 
2481  |  |  * Check whether the character is part of Tamil UCS Block  | 
2482  |  |  *  | 
2483  |  |  * Returns 1 if true 0 otherwise  | 
2484  |  |  */  | 
2485  |  | int  | 
2486  | 0  | xmlUCSIsTamil(int code) { | 
2487  | 0  |     return(((code >= 0x0B80) && (code <= 0x0BFF)));  | 
2488  | 0  | }  | 
2489  |  |  | 
2490  |  | /**  | 
2491  |  |  * xmlUCSIsTelugu:  | 
2492  |  |  * @code: UCS code point  | 
2493  |  |  *  | 
2494  |  |  * Check whether the character is part of Telugu UCS Block  | 
2495  |  |  *  | 
2496  |  |  * Returns 1 if true 0 otherwise  | 
2497  |  |  */  | 
2498  |  | int  | 
2499  | 0  | xmlUCSIsTelugu(int code) { | 
2500  | 0  |     return(((code >= 0x0C00) && (code <= 0x0C7F)));  | 
2501  | 0  | }  | 
2502  |  |  | 
2503  |  | /**  | 
2504  |  |  * xmlUCSIsThaana:  | 
2505  |  |  * @code: UCS code point  | 
2506  |  |  *  | 
2507  |  |  * Check whether the character is part of Thaana UCS Block  | 
2508  |  |  *  | 
2509  |  |  * Returns 1 if true 0 otherwise  | 
2510  |  |  */  | 
2511  |  | int  | 
2512  | 0  | xmlUCSIsThaana(int code) { | 
2513  | 0  |     return(((code >= 0x0780) && (code <= 0x07BF)));  | 
2514  | 0  | }  | 
2515  |  |  | 
2516  |  | /**  | 
2517  |  |  * xmlUCSIsThai:  | 
2518  |  |  * @code: UCS code point  | 
2519  |  |  *  | 
2520  |  |  * Check whether the character is part of Thai UCS Block  | 
2521  |  |  *  | 
2522  |  |  * Returns 1 if true 0 otherwise  | 
2523  |  |  */  | 
2524  |  | int  | 
2525  | 0  | xmlUCSIsThai(int code) { | 
2526  | 0  |     return(((code >= 0x0E00) && (code <= 0x0E7F)));  | 
2527  | 0  | }  | 
2528  |  |  | 
2529  |  | /**  | 
2530  |  |  * xmlUCSIsTibetan:  | 
2531  |  |  * @code: UCS code point  | 
2532  |  |  *  | 
2533  |  |  * Check whether the character is part of Tibetan UCS Block  | 
2534  |  |  *  | 
2535  |  |  * Returns 1 if true 0 otherwise  | 
2536  |  |  */  | 
2537  |  | int  | 
2538  | 0  | xmlUCSIsTibetan(int code) { | 
2539  | 0  |     return(((code >= 0x0F00) && (code <= 0x0FFF)));  | 
2540  | 0  | }  | 
2541  |  |  | 
2542  |  | /**  | 
2543  |  |  * xmlUCSIsUgaritic:  | 
2544  |  |  * @code: UCS code point  | 
2545  |  |  *  | 
2546  |  |  * Check whether the character is part of Ugaritic UCS Block  | 
2547  |  |  *  | 
2548  |  |  * Returns 1 if true 0 otherwise  | 
2549  |  |  */  | 
2550  |  | int  | 
2551  | 0  | xmlUCSIsUgaritic(int code) { | 
2552  | 0  |     return(((code >= 0x10380) && (code <= 0x1039F)));  | 
2553  | 0  | }  | 
2554  |  |  | 
2555  |  | /**  | 
2556  |  |  * xmlUCSIsUnifiedCanadianAboriginalSyllabics:  | 
2557  |  |  * @code: UCS code point  | 
2558  |  |  *  | 
2559  |  |  * Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block  | 
2560  |  |  *  | 
2561  |  |  * Returns 1 if true 0 otherwise  | 
2562  |  |  */  | 
2563  |  | int  | 
2564  | 0  | xmlUCSIsUnifiedCanadianAboriginalSyllabics(int code) { | 
2565  | 0  |     return(((code >= 0x1400) && (code <= 0x167F)));  | 
2566  | 0  | }  | 
2567  |  |  | 
2568  |  | /**  | 
2569  |  |  * xmlUCSIsVariationSelectors:  | 
2570  |  |  * @code: UCS code point  | 
2571  |  |  *  | 
2572  |  |  * Check whether the character is part of VariationSelectors UCS Block  | 
2573  |  |  *  | 
2574  |  |  * Returns 1 if true 0 otherwise  | 
2575  |  |  */  | 
2576  |  | int  | 
2577  | 0  | xmlUCSIsVariationSelectors(int code) { | 
2578  | 0  |     return(((code >= 0xFE00) && (code <= 0xFE0F)));  | 
2579  | 0  | }  | 
2580  |  |  | 
2581  |  | /**  | 
2582  |  |  * xmlUCSIsVariationSelectorsSupplement:  | 
2583  |  |  * @code: UCS code point  | 
2584  |  |  *  | 
2585  |  |  * Check whether the character is part of VariationSelectorsSupplement UCS Block  | 
2586  |  |  *  | 
2587  |  |  * Returns 1 if true 0 otherwise  | 
2588  |  |  */  | 
2589  |  | int  | 
2590  | 0  | xmlUCSIsVariationSelectorsSupplement(int code) { | 
2591  | 0  |     return(((code >= 0xE0100) && (code <= 0xE01EF)));  | 
2592  | 0  | }  | 
2593  |  |  | 
2594  |  | /**  | 
2595  |  |  * xmlUCSIsYiRadicals:  | 
2596  |  |  * @code: UCS code point  | 
2597  |  |  *  | 
2598  |  |  * Check whether the character is part of YiRadicals UCS Block  | 
2599  |  |  *  | 
2600  |  |  * Returns 1 if true 0 otherwise  | 
2601  |  |  */  | 
2602  |  | int  | 
2603  | 0  | xmlUCSIsYiRadicals(int code) { | 
2604  | 0  |     return(((code >= 0xA490) && (code <= 0xA4CF)));  | 
2605  | 0  | }  | 
2606  |  |  | 
2607  |  | /**  | 
2608  |  |  * xmlUCSIsYiSyllables:  | 
2609  |  |  * @code: UCS code point  | 
2610  |  |  *  | 
2611  |  |  * Check whether the character is part of YiSyllables UCS Block  | 
2612  |  |  *  | 
2613  |  |  * Returns 1 if true 0 otherwise  | 
2614  |  |  */  | 
2615  |  | int  | 
2616  | 0  | xmlUCSIsYiSyllables(int code) { | 
2617  | 0  |     return(((code >= 0xA000) && (code <= 0xA48F)));  | 
2618  | 0  | }  | 
2619  |  |  | 
2620  |  | /**  | 
2621  |  |  * xmlUCSIsYijingHexagramSymbols:  | 
2622  |  |  * @code: UCS code point  | 
2623  |  |  *  | 
2624  |  |  * Check whether the character is part of YijingHexagramSymbols UCS Block  | 
2625  |  |  *  | 
2626  |  |  * Returns 1 if true 0 otherwise  | 
2627  |  |  */  | 
2628  |  | int  | 
2629  | 0  | xmlUCSIsYijingHexagramSymbols(int code) { | 
2630  | 0  |     return(((code >= 0x4DC0) && (code <= 0x4DFF)));  | 
2631  | 0  | }  | 
2632  |  |  | 
2633  |  | /**  | 
2634  |  |  * xmlUCSIsBlock:  | 
2635  |  |  * @code: UCS code point  | 
2636  |  |  * @block: UCS block name  | 
2637  |  |  *  | 
2638  |  |  * Check whether the character is part of the UCS Block  | 
2639  |  |  *  | 
2640  |  |  * Returns 1 if true, 0 if false and -1 on unknown block  | 
2641  |  |  */  | 
2642  |  | int  | 
2643  | 0  | xmlUCSIsBlock(int code, const char *block) { | 
2644  | 0  |     xmlIntFunc *func;  | 
2645  |  | 
  | 
2646  | 0  |     func = xmlUnicodeLookup(&xmlUnicodeBlockTbl, block);  | 
2647  | 0  |     if (func == NULL)  | 
2648  | 0  |   return (-1);  | 
2649  | 0  |     return (func(code));  | 
2650  | 0  | }  | 
2651  |  |  | 
2652  |  | /**  | 
2653  |  |  * xmlUCSIsCatC:  | 
2654  |  |  * @code: UCS code point  | 
2655  |  |  *  | 
2656  |  |  * Check whether the character is part of C UCS Category  | 
2657  |  |  *  | 
2658  |  |  * Returns 1 if true 0 otherwise  | 
2659  |  |  */  | 
2660  |  | int  | 
2661  | 0  | xmlUCSIsCatC(int code) { | 
2662  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlCG));  | 
2663  | 0  | }  | 
2664  |  |  | 
2665  |  | /**  | 
2666  |  |  * xmlUCSIsCatCc:  | 
2667  |  |  * @code: UCS code point  | 
2668  |  |  *  | 
2669  |  |  * Check whether the character is part of Cc UCS Category  | 
2670  |  |  *  | 
2671  |  |  * Returns 1 if true 0 otherwise  | 
2672  |  |  */  | 
2673  |  | int  | 
2674  | 0  | xmlUCSIsCatCc(int code) { | 
2675  | 0  |     return(((code >= 0x0) && (code <= 0x1f)) ||  | 
2676  | 0  |            ((code >= 0x7f) && (code <= 0x9f)));  | 
2677  | 0  | }  | 
2678  |  |  | 
2679  |  | /**  | 
2680  |  |  * xmlUCSIsCatCf:  | 
2681  |  |  * @code: UCS code point  | 
2682  |  |  *  | 
2683  |  |  * Check whether the character is part of Cf UCS Category  | 
2684  |  |  *  | 
2685  |  |  * Returns 1 if true 0 otherwise  | 
2686  |  |  */  | 
2687  |  | int  | 
2688  | 0  | xmlUCSIsCatCf(int code) { | 
2689  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlCfG));  | 
2690  | 0  | }  | 
2691  |  |  | 
2692  |  | /**  | 
2693  |  |  * xmlUCSIsCatCo:  | 
2694  |  |  * @code: UCS code point  | 
2695  |  |  *  | 
2696  |  |  * Check whether the character is part of Co UCS Category  | 
2697  |  |  *  | 
2698  |  |  * Returns 1 if true 0 otherwise  | 
2699  |  |  */  | 
2700  |  | int  | 
2701  | 0  | xmlUCSIsCatCo(int code) { | 
2702  | 0  |     return((code == 0xe000) ||  | 
2703  | 0  |            (code == 0xf8ff) ||  | 
2704  | 0  |            (code == 0xf0000) ||  | 
2705  | 0  |            (code == 0xffffd) ||  | 
2706  | 0  |            (code == 0x100000) ||  | 
2707  | 0  |            (code == 0x10fffd));  | 
2708  | 0  | }  | 
2709  |  |  | 
2710  |  | /**  | 
2711  |  |  * xmlUCSIsCatCs:  | 
2712  |  |  * @code: UCS code point  | 
2713  |  |  *  | 
2714  |  |  * Check whether the character is part of Cs UCS Category  | 
2715  |  |  *  | 
2716  |  |  * Returns 1 if true 0 otherwise  | 
2717  |  |  */  | 
2718  |  | int  | 
2719  | 0  | xmlUCSIsCatCs(int code) { | 
2720  | 0  |     return((code == 0xd800) ||  | 
2721  | 0  |            ((code >= 0xdb7f) && (code <= 0xdb80)) ||  | 
2722  | 0  |            ((code >= 0xdbff) && (code <= 0xdc00)) ||  | 
2723  | 0  |            (code == 0xdfff));  | 
2724  | 0  | }  | 
2725  |  |  | 
2726  |  | /**  | 
2727  |  |  * xmlUCSIsCatL:  | 
2728  |  |  * @code: UCS code point  | 
2729  |  |  *  | 
2730  |  |  * Check whether the character is part of L UCS Category  | 
2731  |  |  *  | 
2732  |  |  * Returns 1 if true 0 otherwise  | 
2733  |  |  */  | 
2734  |  | int  | 
2735  | 0  | xmlUCSIsCatL(int code) { | 
2736  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlLG));  | 
2737  | 0  | }  | 
2738  |  |  | 
2739  |  | /**  | 
2740  |  |  * xmlUCSIsCatLl:  | 
2741  |  |  * @code: UCS code point  | 
2742  |  |  *  | 
2743  |  |  * Check whether the character is part of Ll UCS Category  | 
2744  |  |  *  | 
2745  |  |  * Returns 1 if true 0 otherwise  | 
2746  |  |  */  | 
2747  |  | int  | 
2748  | 0  | xmlUCSIsCatLl(int code) { | 
2749  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlLlG));  | 
2750  | 0  | }  | 
2751  |  |  | 
2752  |  | /**  | 
2753  |  |  * xmlUCSIsCatLm:  | 
2754  |  |  * @code: UCS code point  | 
2755  |  |  *  | 
2756  |  |  * Check whether the character is part of Lm UCS Category  | 
2757  |  |  *  | 
2758  |  |  * Returns 1 if true 0 otherwise  | 
2759  |  |  */  | 
2760  |  | int  | 
2761  | 0  | xmlUCSIsCatLm(int code) { | 
2762  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlLmG));  | 
2763  | 0  | }  | 
2764  |  |  | 
2765  |  | /**  | 
2766  |  |  * xmlUCSIsCatLo:  | 
2767  |  |  * @code: UCS code point  | 
2768  |  |  *  | 
2769  |  |  * Check whether the character is part of Lo UCS Category  | 
2770  |  |  *  | 
2771  |  |  * Returns 1 if true 0 otherwise  | 
2772  |  |  */  | 
2773  |  | int  | 
2774  | 0  | xmlUCSIsCatLo(int code) { | 
2775  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlLoG));  | 
2776  | 0  | }  | 
2777  |  |  | 
2778  |  | /**  | 
2779  |  |  * xmlUCSIsCatLt:  | 
2780  |  |  * @code: UCS code point  | 
2781  |  |  *  | 
2782  |  |  * Check whether the character is part of Lt UCS Category  | 
2783  |  |  *  | 
2784  |  |  * Returns 1 if true 0 otherwise  | 
2785  |  |  */  | 
2786  |  | int  | 
2787  | 0  | xmlUCSIsCatLt(int code) { | 
2788  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlLtG));  | 
2789  | 0  | }  | 
2790  |  |  | 
2791  |  | /**  | 
2792  |  |  * xmlUCSIsCatLu:  | 
2793  |  |  * @code: UCS code point  | 
2794  |  |  *  | 
2795  |  |  * Check whether the character is part of Lu UCS Category  | 
2796  |  |  *  | 
2797  |  |  * Returns 1 if true 0 otherwise  | 
2798  |  |  */  | 
2799  |  | int  | 
2800  | 0  | xmlUCSIsCatLu(int code) { | 
2801  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlLuG));  | 
2802  | 0  | }  | 
2803  |  |  | 
2804  |  | /**  | 
2805  |  |  * xmlUCSIsCatM:  | 
2806  |  |  * @code: UCS code point  | 
2807  |  |  *  | 
2808  |  |  * Check whether the character is part of M UCS Category  | 
2809  |  |  *  | 
2810  |  |  * Returns 1 if true 0 otherwise  | 
2811  |  |  */  | 
2812  |  | int  | 
2813  | 0  | xmlUCSIsCatM(int code) { | 
2814  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlMG));  | 
2815  | 0  | }  | 
2816  |  |  | 
2817  |  | /**  | 
2818  |  |  * xmlUCSIsCatMc:  | 
2819  |  |  * @code: UCS code point  | 
2820  |  |  *  | 
2821  |  |  * Check whether the character is part of Mc UCS Category  | 
2822  |  |  *  | 
2823  |  |  * Returns 1 if true 0 otherwise  | 
2824  |  |  */  | 
2825  |  | int  | 
2826  | 0  | xmlUCSIsCatMc(int code) { | 
2827  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlMcG));  | 
2828  | 0  | }  | 
2829  |  |  | 
2830  |  | /**  | 
2831  |  |  * xmlUCSIsCatMe:  | 
2832  |  |  * @code: UCS code point  | 
2833  |  |  *  | 
2834  |  |  * Check whether the character is part of Me UCS Category  | 
2835  |  |  *  | 
2836  |  |  * Returns 1 if true 0 otherwise  | 
2837  |  |  */  | 
2838  |  | int  | 
2839  | 0  | xmlUCSIsCatMe(int code) { | 
2840  | 0  |     return(((code >= 0x488) && (code <= 0x489)) ||  | 
2841  | 0  |            (code == 0x6de) ||  | 
2842  | 0  |            ((code >= 0x20dd) && (code <= 0x20e0)) ||  | 
2843  | 0  |            ((code >= 0x20e2) && (code <= 0x20e4)));  | 
2844  | 0  | }  | 
2845  |  |  | 
2846  |  | /**  | 
2847  |  |  * xmlUCSIsCatMn:  | 
2848  |  |  * @code: UCS code point  | 
2849  |  |  *  | 
2850  |  |  * Check whether the character is part of Mn UCS Category  | 
2851  |  |  *  | 
2852  |  |  * Returns 1 if true 0 otherwise  | 
2853  |  |  */  | 
2854  |  | int  | 
2855  | 0  | xmlUCSIsCatMn(int code) { | 
2856  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlMnG));  | 
2857  | 0  | }  | 
2858  |  |  | 
2859  |  | /**  | 
2860  |  |  * xmlUCSIsCatN:  | 
2861  |  |  * @code: UCS code point  | 
2862  |  |  *  | 
2863  |  |  * Check whether the character is part of N UCS Category  | 
2864  |  |  *  | 
2865  |  |  * Returns 1 if true 0 otherwise  | 
2866  |  |  */  | 
2867  |  | int  | 
2868  | 0  | xmlUCSIsCatN(int code) { | 
2869  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlNG));  | 
2870  | 0  | }  | 
2871  |  |  | 
2872  |  | /**  | 
2873  |  |  * xmlUCSIsCatNd:  | 
2874  |  |  * @code: UCS code point  | 
2875  |  |  *  | 
2876  |  |  * Check whether the character is part of Nd UCS Category  | 
2877  |  |  *  | 
2878  |  |  * Returns 1 if true 0 otherwise  | 
2879  |  |  */  | 
2880  |  | int  | 
2881  | 0  | xmlUCSIsCatNd(int code) { | 
2882  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlNdG));  | 
2883  | 0  | }  | 
2884  |  |  | 
2885  |  | /**  | 
2886  |  |  * xmlUCSIsCatNl:  | 
2887  |  |  * @code: UCS code point  | 
2888  |  |  *  | 
2889  |  |  * Check whether the character is part of Nl UCS Category  | 
2890  |  |  *  | 
2891  |  |  * Returns 1 if true 0 otherwise  | 
2892  |  |  */  | 
2893  |  | int  | 
2894  | 0  | xmlUCSIsCatNl(int code) { | 
2895  | 0  |     return(((code >= 0x16ee) && (code <= 0x16f0)) ||  | 
2896  | 0  |            ((code >= 0x2160) && (code <= 0x2183)) ||  | 
2897  | 0  |            (code == 0x3007) ||  | 
2898  | 0  |            ((code >= 0x3021) && (code <= 0x3029)) ||  | 
2899  | 0  |            ((code >= 0x3038) && (code <= 0x303a)) ||  | 
2900  | 0  |            (code == 0x1034a));  | 
2901  | 0  | }  | 
2902  |  |  | 
2903  |  | /**  | 
2904  |  |  * xmlUCSIsCatNo:  | 
2905  |  |  * @code: UCS code point  | 
2906  |  |  *  | 
2907  |  |  * Check whether the character is part of No UCS Category  | 
2908  |  |  *  | 
2909  |  |  * Returns 1 if true 0 otherwise  | 
2910  |  |  */  | 
2911  |  | int  | 
2912  | 0  | xmlUCSIsCatNo(int code) { | 
2913  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlNoG));  | 
2914  | 0  | }  | 
2915  |  |  | 
2916  |  | /**  | 
2917  |  |  * xmlUCSIsCatP:  | 
2918  |  |  * @code: UCS code point  | 
2919  |  |  *  | 
2920  |  |  * Check whether the character is part of P UCS Category  | 
2921  |  |  *  | 
2922  |  |  * Returns 1 if true 0 otherwise  | 
2923  |  |  */  | 
2924  |  | int  | 
2925  | 0  | xmlUCSIsCatP(int code) { | 
2926  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlPG));  | 
2927  | 0  | }  | 
2928  |  |  | 
2929  |  | /**  | 
2930  |  |  * xmlUCSIsCatPc:  | 
2931  |  |  * @code: UCS code point  | 
2932  |  |  *  | 
2933  |  |  * Check whether the character is part of Pc UCS Category  | 
2934  |  |  *  | 
2935  |  |  * Returns 1 if true 0 otherwise  | 
2936  |  |  */  | 
2937  |  | int  | 
2938  | 0  | xmlUCSIsCatPc(int code) { | 
2939  | 0  |     return((code == 0x5f) ||  | 
2940  | 0  |            ((code >= 0x203f) && (code <= 0x2040)) ||  | 
2941  | 0  |            (code == 0x2054) ||  | 
2942  | 0  |            (code == 0x30fb) ||  | 
2943  | 0  |            ((code >= 0xfe33) && (code <= 0xfe34)) ||  | 
2944  | 0  |            ((code >= 0xfe4d) && (code <= 0xfe4f)) ||  | 
2945  | 0  |            (code == 0xff3f) ||  | 
2946  | 0  |            (code == 0xff65));  | 
2947  | 0  | }  | 
2948  |  |  | 
2949  |  | /**  | 
2950  |  |  * xmlUCSIsCatPd:  | 
2951  |  |  * @code: UCS code point  | 
2952  |  |  *  | 
2953  |  |  * Check whether the character is part of Pd UCS Category  | 
2954  |  |  *  | 
2955  |  |  * Returns 1 if true 0 otherwise  | 
2956  |  |  */  | 
2957  |  | int  | 
2958  | 0  | xmlUCSIsCatPd(int code) { | 
2959  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlPdG));  | 
2960  | 0  | }  | 
2961  |  |  | 
2962  |  | /**  | 
2963  |  |  * xmlUCSIsCatPe:  | 
2964  |  |  * @code: UCS code point  | 
2965  |  |  *  | 
2966  |  |  * Check whether the character is part of Pe UCS Category  | 
2967  |  |  *  | 
2968  |  |  * Returns 1 if true 0 otherwise  | 
2969  |  |  */  | 
2970  |  | int  | 
2971  | 0  | xmlUCSIsCatPe(int code) { | 
2972  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlPeG));  | 
2973  | 0  | }  | 
2974  |  |  | 
2975  |  | /**  | 
2976  |  |  * xmlUCSIsCatPf:  | 
2977  |  |  * @code: UCS code point  | 
2978  |  |  *  | 
2979  |  |  * Check whether the character is part of Pf UCS Category  | 
2980  |  |  *  | 
2981  |  |  * Returns 1 if true 0 otherwise  | 
2982  |  |  */  | 
2983  |  | int  | 
2984  | 0  | xmlUCSIsCatPf(int code) { | 
2985  | 0  |     return((code == 0xbb) ||  | 
2986  | 0  |            (code == 0x2019) ||  | 
2987  | 0  |            (code == 0x201d) ||  | 
2988  | 0  |            (code == 0x203a));  | 
2989  | 0  | }  | 
2990  |  |  | 
2991  |  | /**  | 
2992  |  |  * xmlUCSIsCatPi:  | 
2993  |  |  * @code: UCS code point  | 
2994  |  |  *  | 
2995  |  |  * Check whether the character is part of Pi UCS Category  | 
2996  |  |  *  | 
2997  |  |  * Returns 1 if true 0 otherwise  | 
2998  |  |  */  | 
2999  |  | int  | 
3000  | 0  | xmlUCSIsCatPi(int code) { | 
3001  | 0  |     return((code == 0xab) ||  | 
3002  | 0  |            (code == 0x2018) ||  | 
3003  | 0  |            ((code >= 0x201b) && (code <= 0x201c)) ||  | 
3004  | 0  |            (code == 0x201f) ||  | 
3005  | 0  |            (code == 0x2039));  | 
3006  | 0  | }  | 
3007  |  |  | 
3008  |  | /**  | 
3009  |  |  * xmlUCSIsCatPo:  | 
3010  |  |  * @code: UCS code point  | 
3011  |  |  *  | 
3012  |  |  * Check whether the character is part of Po UCS Category  | 
3013  |  |  *  | 
3014  |  |  * Returns 1 if true 0 otherwise  | 
3015  |  |  */  | 
3016  |  | int  | 
3017  | 0  | xmlUCSIsCatPo(int code) { | 
3018  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlPoG));  | 
3019  | 0  | }  | 
3020  |  |  | 
3021  |  | /**  | 
3022  |  |  * xmlUCSIsCatPs:  | 
3023  |  |  * @code: UCS code point  | 
3024  |  |  *  | 
3025  |  |  * Check whether the character is part of Ps UCS Category  | 
3026  |  |  *  | 
3027  |  |  * Returns 1 if true 0 otherwise  | 
3028  |  |  */  | 
3029  |  | int  | 
3030  | 0  | xmlUCSIsCatPs(int code) { | 
3031  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlPsG));  | 
3032  | 0  | }  | 
3033  |  |  | 
3034  |  | /**  | 
3035  |  |  * xmlUCSIsCatS:  | 
3036  |  |  * @code: UCS code point  | 
3037  |  |  *  | 
3038  |  |  * Check whether the character is part of S UCS Category  | 
3039  |  |  *  | 
3040  |  |  * Returns 1 if true 0 otherwise  | 
3041  |  |  */  | 
3042  |  | int  | 
3043  | 0  | xmlUCSIsCatS(int code) { | 
3044  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlSG));  | 
3045  | 0  | }  | 
3046  |  |  | 
3047  |  | /**  | 
3048  |  |  * xmlUCSIsCatSc:  | 
3049  |  |  * @code: UCS code point  | 
3050  |  |  *  | 
3051  |  |  * Check whether the character is part of Sc UCS Category  | 
3052  |  |  *  | 
3053  |  |  * Returns 1 if true 0 otherwise  | 
3054  |  |  */  | 
3055  |  | int  | 
3056  | 0  | xmlUCSIsCatSc(int code) { | 
3057  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlScG));  | 
3058  | 0  | }  | 
3059  |  |  | 
3060  |  | /**  | 
3061  |  |  * xmlUCSIsCatSk:  | 
3062  |  |  * @code: UCS code point  | 
3063  |  |  *  | 
3064  |  |  * Check whether the character is part of Sk UCS Category  | 
3065  |  |  *  | 
3066  |  |  * Returns 1 if true 0 otherwise  | 
3067  |  |  */  | 
3068  |  | int  | 
3069  | 0  | xmlUCSIsCatSk(int code) { | 
3070  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlSkG));  | 
3071  | 0  | }  | 
3072  |  |  | 
3073  |  | /**  | 
3074  |  |  * xmlUCSIsCatSm:  | 
3075  |  |  * @code: UCS code point  | 
3076  |  |  *  | 
3077  |  |  * Check whether the character is part of Sm UCS Category  | 
3078  |  |  *  | 
3079  |  |  * Returns 1 if true 0 otherwise  | 
3080  |  |  */  | 
3081  |  | int  | 
3082  | 0  | xmlUCSIsCatSm(int code) { | 
3083  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlSmG));  | 
3084  | 0  | }  | 
3085  |  |  | 
3086  |  | /**  | 
3087  |  |  * xmlUCSIsCatSo:  | 
3088  |  |  * @code: UCS code point  | 
3089  |  |  *  | 
3090  |  |  * Check whether the character is part of So UCS Category  | 
3091  |  |  *  | 
3092  |  |  * Returns 1 if true 0 otherwise  | 
3093  |  |  */  | 
3094  |  | int  | 
3095  | 0  | xmlUCSIsCatSo(int code) { | 
3096  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlSoG));  | 
3097  | 0  | }  | 
3098  |  |  | 
3099  |  | /**  | 
3100  |  |  * xmlUCSIsCatZ:  | 
3101  |  |  * @code: UCS code point  | 
3102  |  |  *  | 
3103  |  |  * Check whether the character is part of Z UCS Category  | 
3104  |  |  *  | 
3105  |  |  * Returns 1 if true 0 otherwise  | 
3106  |  |  */  | 
3107  |  | int  | 
3108  | 0  | xmlUCSIsCatZ(int code) { | 
3109  | 0  |     return(xmlCharInRange((unsigned int)code, &xmlZG));  | 
3110  | 0  | }  | 
3111  |  |  | 
3112  |  | /**  | 
3113  |  |  * xmlUCSIsCatZl:  | 
3114  |  |  * @code: UCS code point  | 
3115  |  |  *  | 
3116  |  |  * Check whether the character is part of Zl UCS Category  | 
3117  |  |  *  | 
3118  |  |  * Returns 1 if true 0 otherwise  | 
3119  |  |  */  | 
3120  |  | int  | 
3121  | 0  | xmlUCSIsCatZl(int code) { | 
3122  | 0  |     return((code == 0x2028));  | 
3123  | 0  | }  | 
3124  |  |  | 
3125  |  | /**  | 
3126  |  |  * xmlUCSIsCatZp:  | 
3127  |  |  * @code: UCS code point  | 
3128  |  |  *  | 
3129  |  |  * Check whether the character is part of Zp UCS Category  | 
3130  |  |  *  | 
3131  |  |  * Returns 1 if true 0 otherwise  | 
3132  |  |  */  | 
3133  |  | int  | 
3134  | 0  | xmlUCSIsCatZp(int code) { | 
3135  | 0  |     return((code == 0x2029));  | 
3136  | 0  | }  | 
3137  |  |  | 
3138  |  | /**  | 
3139  |  |  * xmlUCSIsCatZs:  | 
3140  |  |  * @code: UCS code point  | 
3141  |  |  *  | 
3142  |  |  * Check whether the character is part of Zs UCS Category  | 
3143  |  |  *  | 
3144  |  |  * Returns 1 if true 0 otherwise  | 
3145  |  |  */  | 
3146  |  | int  | 
3147  | 0  | xmlUCSIsCatZs(int code) { | 
3148  | 0  |     return((code == 0x20) ||  | 
3149  | 0  |            (code == 0xa0) ||  | 
3150  | 0  |            (code == 0x1680) ||  | 
3151  | 0  |            (code == 0x180e) ||  | 
3152  | 0  |            ((code >= 0x2000) && (code <= 0x200a)) ||  | 
3153  | 0  |            (code == 0x202f) ||  | 
3154  | 0  |            (code == 0x205f) ||  | 
3155  | 0  |            (code == 0x3000));  | 
3156  | 0  | }  | 
3157  |  |  | 
3158  |  | /**  | 
3159  |  |  * xmlUCSIsCat:  | 
3160  |  |  * @code: UCS code point  | 
3161  |  |  * @cat: UCS Category name  | 
3162  |  |  *  | 
3163  |  |  * Check whether the character is part of the UCS Category  | 
3164  |  |  *  | 
3165  |  |  * Returns 1 if true, 0 if false and -1 on unknown category  | 
3166  |  |  */  | 
3167  |  | int  | 
3168  | 0  | xmlUCSIsCat(int code, const char *cat) { | 
3169  | 0  |     xmlIntFunc *func;  | 
3170  |  | 
  | 
3171  | 0  |     func = xmlUnicodeLookup(&xmlUnicodeCatTbl, cat);  | 
3172  | 0  |     if (func == NULL)  | 
3173  | 0  |   return (-1);  | 
3174  | 0  |     return (func(code));  | 
3175  | 0  | }  | 
3176  |  |  | 
3177  |  | #endif /* LIBXML_UNICODE_ENABLED */  |