KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > xml > lexer > UnicodeClasses


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.lib.xml.lexer;
21
22 /**
23  * Set of methods classifing class of character according to XML specs.
24  * <p>
25  * Code is copied from TAX library!
26  *
27  * @author Libor Kramolis
28  * @author Petr Kuzel
29  */

30 public class UnicodeClasses {
31
32     /** Contains static methods only */
33     UnicodeClasses () {
34     }
35
36     //
37
// generated from XML recomendation
38
//
39

40     /**
41      * @see http://www.w3.org/TR/REC-xml#NT-Char
42      */

43     public static boolean isXMLChar (int c) {
44         // #x0009
45
if ( c == 0x0009 ) return true;
46         
47         // #x000a
48
if ( c == 0x000a ) return true;
49         
50         // #x000d
51
if ( c == 0x000d ) return true;
52         
53         // [ #x0020 - #xd7ff ]
54
if ( c < 0x0020 ) return false;
55         if ( c <= 0xd7ff ) return true;
56         
57         // [ #xe000 - #xfffd ]
58
if ( c < 0xe000 ) return false;
59         if ( c <= 0xfffd ) return true;
60         
61         // [ #x10000 - #x10ffff ]
62
if ( c < 0x10000 ) return false;
63         if ( c <= 0x10ffff ) return true;
64         
65         return false;
66     }
67     
68     /**
69      * @see http://www.w3.org/TR/REC-xml#NT-NameChar
70      */

71     public static boolean isXMLNameChar (int c) {
72         return ( ( isXMLLetter (c) )
73         || ( isXMLDigit (c) )
74         || ( c == '.' )
75         || ( c == '-' )
76         || ( c == '_' )
77         || ( c == ':' )
78         || ( isXMLCombiningChar (c) )
79         || ( isXMLExtender (c) ) );
80     }
81     
82     /**
83      * @see http://www.w3.org/TR/REC-xml#NT-Name
84      */

85     public static boolean isXMLNameStartChar (int c) {
86         return ( ( isXMLLetter (c) )
87         || ( c == '_' )
88         || ( c ==':' ) );
89     }
90     
91     /**
92      * @see http://www.w3.org/TR/REC-xml#NT-Letter
93      */

94     public static boolean isXMLLetter (int c) {
95         return ( isXMLBaseChar (c) || isXMLIdeographic (c) );
96     }
97     
98     /**
99      * @see http://www.w3.org/TR/REC-xml#NT-BaseChar
100      */

101     public static boolean isXMLBaseChar (int c) {
102         // [ #x0041 - #x005a ]
103
if ( c < 0x0041 ) return false;
104         if ( c <= 0x005a ) return true;
105         
106         // [ #x0061 - #x007a ]
107
if ( c < 0x0061 ) return false;
108         if ( c <= 0x007a ) return true;
109         
110         // [ #x00c0 - #x00d6 ]
111
if ( c < 0x00c0 ) return false;
112         if ( c <= 0x00d6 ) return true;
113         
114         // [ #x00d8 - #x00f6 ]
115
if ( c < 0x00d8 ) return false;
116         if ( c <= 0x00f6 ) return true;
117         
118         // [ #x00f8 - #x00ff ]
119
if ( c < 0x00f8 ) return false;
120         if ( c <= 0x00ff ) return true;
121         
122         // [ #x0100 - #x0131 ]
123
if ( c < 0x0100 ) return false;
124         if ( c <= 0x0131 ) return true;
125         
126         // [ #x0134 - #x013e ]
127
if ( c < 0x0134 ) return false;
128         if ( c <= 0x013e ) return true;
129         
130         // [ #x0141 - #x0148 ]
131
if ( c < 0x0141 ) return false;
132         if ( c <= 0x0148 ) return true;
133         
134         // [ #x014a - #x017e ]
135
if ( c < 0x014a ) return false;
136         if ( c <= 0x017e ) return true;
137         
138         // [ #x0180 - #x01c3 ]
139
if ( c < 0x0180 ) return false;
140         if ( c <= 0x01c3 ) return true;
141         
142         // [ #x01cd - #x01f0 ]
143
if ( c < 0x01cd ) return false;
144         if ( c <= 0x01f0 ) return true;
145         
146         // [ #x01f4 - #x01f5 ]
147
if ( c < 0x01f4 ) return false;
148         if ( c <= 0x01f5 ) return true;
149         
150         // [ #x01fa - #x0217 ]
151
if ( c < 0x01fa ) return false;
152         if ( c <= 0x0217 ) return true;
153         
154         // [ #x0250 - #x02a8 ]
155
if ( c < 0x0250 ) return false;
156         if ( c <= 0x02a8 ) return true;
157         
158         // [ #x02bb - #x02c1 ]
159
if ( c < 0x02bb ) return false;
160         if ( c <= 0x02c1 ) return true;
161         
162         // #x0386
163
if ( c == 0x0386 ) return true;
164         
165         // [ #x0388 - #x038a ]
166
if ( c < 0x0388 ) return false;
167         if ( c <= 0x038a ) return true;
168         
169         // #x038c
170
if ( c == 0x038c ) return true;
171         
172         // [ #x038e - #x03a1 ]
173
if ( c < 0x038e ) return false;
174         if ( c <= 0x03a1 ) return true;
175         
176         // [ #x03a3 - #x03ce ]
177
if ( c < 0x03a3 ) return false;
178         if ( c <= 0x03ce ) return true;
179         
180         // [ #x03d0 - #x03d6 ]
181
if ( c < 0x03d0 ) return false;
182         if ( c <= 0x03d6 ) return true;
183         
184         // #x03da
185
if ( c == 0x03da ) return true;
186         
187         // #x03dc
188
if ( c == 0x03dc ) return true;
189         
190         // #x03de
191
if ( c == 0x03de ) return true;
192         
193         // #x03e0
194
if ( c == 0x03e0 ) return true;
195         
196         // [ #x03e2 - #x03f3 ]
197
if ( c < 0x03e2 ) return false;
198         if ( c <= 0x03f3 ) return true;
199         
200         // [ #x0401 - #x040c ]
201
if ( c < 0x0401 ) return false;
202         if ( c <= 0x040c ) return true;
203         
204         // [ #x040e - #x044f ]
205
if ( c < 0x040e ) return false;
206         if ( c <= 0x044f ) return true;
207         
208         // [ #x0451 - #x045c ]
209
if ( c < 0x0451 ) return false;
210         if ( c <= 0x045c ) return true;
211         
212         // [ #x045e - #x0481 ]
213
if ( c < 0x045e ) return false;
214         if ( c <= 0x0481 ) return true;
215         
216         // [ #x0490 - #x04c4 ]
217
if ( c < 0x0490 ) return false;
218         if ( c <= 0x04c4 ) return true;
219         
220         // [ #x04c7 - #x04c8 ]
221
if ( c < 0x04c7 ) return false;
222         if ( c <= 0x04c8 ) return true;
223         
224         // [ #x04cb - #x04cc ]
225
if ( c < 0x04cb ) return false;
226         if ( c <= 0x04cc ) return true;
227         
228         // [ #x04d0 - #x04eb ]
229
if ( c < 0x04d0 ) return false;
230         if ( c <= 0x04eb ) return true;
231         
232         // [ #x04ee - #x04f5 ]
233
if ( c < 0x04ee ) return false;
234         if ( c <= 0x04f5 ) return true;
235         
236         // [ #x04f8 - #x04f9 ]
237
if ( c < 0x04f8 ) return false;
238         if ( c <= 0x04f9 ) return true;
239         
240         // [ #x0531 - #x0556 ]
241
if ( c < 0x0531 ) return false;
242         if ( c <= 0x0556 ) return true;
243         
244         // #x0559
245
if ( c == 0x0559 ) return true;
246         
247         // [ #x0561 - #x0586 ]
248
if ( c < 0x0561 ) return false;
249         if ( c <= 0x0586 ) return true;
250         
251         // [ #x05d0 - #x05ea ]
252
if ( c < 0x05d0 ) return false;
253         if ( c <= 0x05ea ) return true;
254         
255         // [ #x05f0 - #x05f2 ]
256
if ( c < 0x05f0 ) return false;
257         if ( c <= 0x05f2 ) return true;
258         
259         // [ #x0621 - #x063a ]
260
if ( c < 0x0621 ) return false;
261         if ( c <= 0x063a ) return true;
262         
263         // [ #x0641 - #x064a ]
264
if ( c < 0x0641 ) return false;
265         if ( c <= 0x064a ) return true;
266         
267         // [ #x0671 - #x06b7 ]
268
if ( c < 0x0671 ) return false;
269         if ( c <= 0x06b7 ) return true;
270         
271         // [ #x06ba - #x06be ]
272
if ( c < 0x06ba ) return false;
273         if ( c <= 0x06be ) return true;
274         
275         // [ #x06c0 - #x06ce ]
276
if ( c < 0x06c0 ) return false;
277         if ( c <= 0x06ce ) return true;
278         
279         // [ #x06d0 - #x06d3 ]
280
if ( c < 0x06d0 ) return false;
281         if ( c <= 0x06d3 ) return true;
282         
283         // #x06d5
284
if ( c == 0x06d5 ) return true;
285         
286         // [ #x06e5 - #x06e6 ]
287
if ( c < 0x06e5 ) return false;
288         if ( c <= 0x06e6 ) return true;
289         
290         // [ #x0905 - #x0939 ]
291
if ( c < 0x0905 ) return false;
292         if ( c <= 0x0939 ) return true;
293         
294         // #x093d
295
if ( c == 0x093d ) return true;
296         
297         // [ #x0958 - #x0961 ]
298
if ( c < 0x0958 ) return false;
299         if ( c <= 0x0961 ) return true;
300         
301         // [ #x0985 - #x098c ]
302
if ( c < 0x0985 ) return false;
303         if ( c <= 0x098c ) return true;
304         
305         // [ #x098f - #x0990 ]
306
if ( c < 0x098f ) return false;
307         if ( c <= 0x0990 ) return true;
308         
309         // [ #x0993 - #x09a8 ]
310
if ( c < 0x0993 ) return false;
311         if ( c <= 0x09a8 ) return true;
312         
313         // [ #x09aa - #x09b0 ]
314
if ( c < 0x09aa ) return false;
315         if ( c <= 0x09b0 ) return true;
316         
317         // #x09b2
318
if ( c == 0x09b2 ) return true;
319         
320         // [ #x09b6 - #x09b9 ]
321
if ( c < 0x09b6 ) return false;
322         if ( c <= 0x09b9 ) return true;
323         
324         // [ #x09dc - #x09dd ]
325
if ( c < 0x09dc ) return false;
326         if ( c <= 0x09dd ) return true;
327         
328         // [ #x09df - #x09e1 ]
329
if ( c < 0x09df ) return false;
330         if ( c <= 0x09e1 ) return true;
331         
332         // [ #x09f0 - #x09f1 ]
333
if ( c < 0x09f0 ) return false;
334         if ( c <= 0x09f1 ) return true;
335         
336         // [ #x0a05 - #x0a0a ]
337
if ( c < 0x0a05 ) return false;
338         if ( c <= 0x0a0a ) return true;
339         
340         // [ #x0a0f - #x0a10 ]
341
if ( c < 0x0a0f ) return false;
342         if ( c <= 0x0a10 ) return true;
343         
344         // [ #x0a13 - #x0a28 ]
345
if ( c < 0x0a13 ) return false;
346         if ( c <= 0x0a28 ) return true;
347         
348         // [ #x0a2a - #x0a30 ]
349
if ( c < 0x0a2a ) return false;
350         if ( c <= 0x0a30 ) return true;
351         
352         // [ #x0a32 - #x0a33 ]
353
if ( c < 0x0a32 ) return false;
354         if ( c <= 0x0a33 ) return true;
355         
356         // [ #x0a35 - #x0a36 ]
357
if ( c < 0x0a35 ) return false;
358         if ( c <= 0x0a36 ) return true;
359         
360         // [ #x0a38 - #x0a39 ]
361
if ( c < 0x0a38 ) return false;
362         if ( c <= 0x0a39 ) return true;
363         
364         // [ #x0a59 - #x0a5c ]
365
if ( c < 0x0a59 ) return false;
366         if ( c <= 0x0a5c ) return true;
367         
368         // #x0a5e
369
if ( c == 0x0a5e ) return true;
370         
371         // [ #x0a72 - #x0a74 ]
372
if ( c < 0x0a72 ) return false;
373         if ( c <= 0x0a74 ) return true;
374         
375         // [ #x0a85 - #x0a8b ]
376
if ( c < 0x0a85 ) return false;
377         if ( c <= 0x0a8b ) return true;
378         
379         // #x0a8d
380
if ( c == 0x0a8d ) return true;
381         
382         // [ #x0a8f - #x0a91 ]
383
if ( c < 0x0a8f ) return false;
384         if ( c <= 0x0a91 ) return true;
385         
386         // [ #x0a93 - #x0aa8 ]
387
if ( c < 0x0a93 ) return false;
388         if ( c <= 0x0aa8 ) return true;
389         
390         // [ #x0aaa - #x0ab0 ]
391
if ( c < 0x0aaa ) return false;
392         if ( c <= 0x0ab0 ) return true;
393         
394         // [ #x0ab2 - #x0ab3 ]
395
if ( c < 0x0ab2 ) return false;
396         if ( c <= 0x0ab3 ) return true;
397         
398         // [ #x0ab5 - #x0ab9 ]
399
if ( c < 0x0ab5 ) return false;
400         if ( c <= 0x0ab9 ) return true;
401         
402         // #x0abd
403
if ( c == 0x0abd ) return true;
404         
405         // #x0ae0
406
if ( c == 0x0ae0 ) return true;
407         
408         // [ #x0b05 - #x0b0c ]
409
if ( c < 0x0b05 ) return false;
410         if ( c <= 0x0b0c ) return true;
411         
412         // [ #x0b0f - #x0b10 ]
413
if ( c < 0x0b0f ) return false;
414         if ( c <= 0x0b10 ) return true;
415         
416         // [ #x0b13 - #x0b28 ]
417
if ( c < 0x0b13 ) return false;
418         if ( c <= 0x0b28 ) return true;
419         
420         // [ #x0b2a - #x0b30 ]
421
if ( c < 0x0b2a ) return false;
422         if ( c <= 0x0b30 ) return true;
423         
424         // [ #x0b32 - #x0b33 ]
425
if ( c < 0x0b32 ) return false;
426         if ( c <= 0x0b33 ) return true;
427         
428         // [ #x0b36 - #x0b39 ]
429
if ( c < 0x0b36 ) return false;
430         if ( c <= 0x0b39 ) return true;
431         
432         // #x0b3d
433
if ( c == 0x0b3d ) return true;
434         
435         // [ #x0b5c - #x0b5d ]
436
if ( c < 0x0b5c ) return false;
437         if ( c <= 0x0b5d ) return true;
438         
439         // [ #x0b5f - #x0b61 ]
440
if ( c < 0x0b5f ) return false;
441         if ( c <= 0x0b61 ) return true;
442         
443         // [ #x0b85 - #x0b8a ]
444
if ( c < 0x0b85 ) return false;
445         if ( c <= 0x0b8a ) return true;
446         
447         // [ #x0b8e - #x0b90 ]
448
if ( c < 0x0b8e ) return false;
449         if ( c <= 0x0b90 ) return true;
450         
451         // [ #x0b92 - #x0b95 ]
452
if ( c < 0x0b92 ) return false;
453         if ( c <= 0x0b95 ) return true;
454         
455         // [ #x0b99 - #x0b9a ]
456
if ( c < 0x0b99 ) return false;
457         if ( c <= 0x0b9a ) return true;
458         
459         // #x0b9c
460
if ( c == 0x0b9c ) return true;
461         
462         // [ #x0b9e - #x0b9f ]
463
if ( c < 0x0b9e ) return false;
464         if ( c <= 0x0b9f ) return true;
465         
466         // [ #x0ba3 - #x0ba4 ]
467
if ( c < 0x0ba3 ) return false;
468         if ( c <= 0x0ba4 ) return true;
469         
470         // [ #x0ba8 - #x0baa ]
471
if ( c < 0x0ba8 ) return false;
472         if ( c <= 0x0baa ) return true;
473         
474         // [ #x0bae - #x0bb5 ]
475
if ( c < 0x0bae ) return false;
476         if ( c <= 0x0bb5 ) return true;
477         
478         // [ #x0bb7 - #x0bb9 ]
479
if ( c < 0x0bb7 ) return false;
480         if ( c <= 0x0bb9 ) return true;
481         
482         // [ #x0c05 - #x0c0c ]
483
if ( c < 0x0c05 ) return false;
484         if ( c <= 0x0c0c ) return true;
485         
486         // [ #x0c0e - #x0c10 ]
487
if ( c < 0x0c0e ) return false;
488         if ( c <= 0x0c10 ) return true;
489         
490         // [ #x0c12 - #x0c28 ]
491
if ( c < 0x0c12 ) return false;
492         if ( c <= 0x0c28 ) return true;
493         
494         // [ #x0c2a - #x0c33 ]
495
if ( c < 0x0c2a ) return false;
496         if ( c <= 0x0c33 ) return true;
497         
498         // [ #x0c35 - #x0c39 ]
499
if ( c < 0x0c35 ) return false;
500         if ( c <= 0x0c39 ) return true;
501         
502         // [ #x0c60 - #x0c61 ]
503
if ( c < 0x0c60 ) return false;
504         if ( c <= 0x0c61 ) return true;
505         
506         // [ #x0c85 - #x0c8c ]
507
if ( c < 0x0c85 ) return false;
508         if ( c <= 0x0c8c ) return true;
509         
510         // [ #x0c8e - #x0c90 ]
511
if ( c < 0x0c8e ) return false;
512         if ( c <= 0x0c90 ) return true;
513         
514         // [ #x0c92 - #x0ca8 ]
515
if ( c < 0x0c92 ) return false;
516         if ( c <= 0x0ca8 ) return true;
517         
518         // [ #x0caa - #x0cb3 ]
519
if ( c < 0x0caa ) return false;
520         if ( c <= 0x0cb3 ) return true;
521         
522         // [ #x0cb5 - #x0cb9 ]
523
if ( c < 0x0cb5 ) return false;
524         if ( c <= 0x0cb9 ) return true;
525         
526         // #x0cde
527
if ( c == 0x0cde ) return true;
528         
529         // [ #x0ce0 - #x0ce1 ]
530
if ( c < 0x0ce0 ) return false;
531         if ( c <= 0x0ce1 ) return true;
532         
533         // [ #x0d05 - #x0d0c ]
534
if ( c < 0x0d05 ) return false;
535         if ( c <= 0x0d0c ) return true;
536         
537         // [ #x0d0e - #x0d10 ]
538
if ( c < 0x0d0e ) return false;
539         if ( c <= 0x0d10 ) return true;
540         
541         // [ #x0d12 - #x0d28 ]
542
if ( c < 0x0d12 ) return false;
543         if ( c <= 0x0d28 ) return true;
544         
545         // [ #x0d2a - #x0d39 ]
546
if ( c < 0x0d2a ) return false;
547         if ( c <= 0x0d39 ) return true;
548         
549         // [ #x0d60 - #x0d61 ]
550
if ( c < 0x0d60 ) return false;
551         if ( c <= 0x0d61 ) return true;
552         
553         // [ #x0e01 - #x0e2e ]
554
if ( c < 0x0e01 ) return false;
555         if ( c <= 0x0e2e ) return true;
556         
557         // #x0e30
558
if ( c == 0x0e30 ) return true;
559         
560         // [ #x0e32 - #x0e33 ]
561
if ( c < 0x0e32 ) return false;
562         if ( c <= 0x0e33 ) return true;
563         
564         // [ #x0e40 - #x0e45 ]
565
if ( c < 0x0e40 ) return false;
566         if ( c <= 0x0e45 ) return true;
567         
568         // [ #x0e81 - #x0e82 ]
569
if ( c < 0x0e81 ) return false;
570         if ( c <= 0x0e82 ) return true;
571         
572         // #x0e84
573
if ( c == 0x0e84 ) return true;
574         
575         // [ #x0e87 - #x0e88 ]
576
if ( c < 0x0e87 ) return false;
577         if ( c <= 0x0e88 ) return true;
578         
579         // #x0e8a
580
if ( c == 0x0e8a ) return true;
581         
582         // #x0e8d
583
if ( c == 0x0e8d ) return true;
584         
585         // [ #x0e94 - #x0e97 ]
586
if ( c < 0x0e94 ) return false;
587         if ( c <= 0x0e97 ) return true;
588         
589         // [ #x0e99 - #x0e9f ]
590
if ( c < 0x0e99 ) return false;
591         if ( c <= 0x0e9f ) return true;
592         
593         // [ #x0ea1 - #x0ea3 ]
594
if ( c < 0x0ea1 ) return false;
595         if ( c <= 0x0ea3 ) return true;
596         
597         // #x0ea5
598
if ( c == 0x0ea5 ) return true;
599         
600         // #x0ea7
601
if ( c == 0x0ea7 ) return true;
602         
603         // [ #x0eaa - #x0eab ]
604
if ( c < 0x0eaa ) return false;
605         if ( c <= 0x0eab ) return true;
606         
607         // [ #x0ead - #x0eae ]
608
if ( c < 0x0ead ) return false;
609         if ( c <= 0x0eae ) return true;
610         
611         // #x0eb0
612
if ( c == 0x0eb0 ) return true;
613         
614         // [ #x0eb2 - #x0eb3 ]
615
if ( c < 0x0eb2 ) return false;
616         if ( c <= 0x0eb3 ) return true;
617         
618         // #x0ebd
619
if ( c == 0x0ebd ) return true;
620         
621         // [ #x0ec0 - #x0ec4 ]
622
if ( c < 0x0ec0 ) return false;
623         if ( c <= 0x0ec4 ) return true;
624         
625         // [ #x0f40 - #x0f47 ]
626
if ( c < 0x0f40 ) return false;
627         if ( c <= 0x0f47 ) return true;
628         
629         // [ #x0f49 - #x0f69 ]
630
if ( c < 0x0f49 ) return false;
631         if ( c <= 0x0f69 ) return true;
632         
633         // [ #x10a0 - #x10c5 ]
634
if ( c < 0x10a0 ) return false;
635         if ( c <= 0x10c5 ) return true;
636         
637         // [ #x10d0 - #x10f6 ]
638
if ( c < 0x10d0 ) return false;
639         if ( c <= 0x10f6 ) return true;
640         
641         // #x1100
642
if ( c == 0x1100 ) return true;
643         
644         // [ #x1102 - #x1103 ]
645
if ( c < 0x1102 ) return false;
646         if ( c <= 0x1103 ) return true;
647         
648         // [ #x1105 - #x1107 ]
649
if ( c < 0x1105 ) return false;
650         if ( c <= 0x1107 ) return true;
651         
652         // #x1109
653
if ( c == 0x1109 ) return true;
654         
655         // [ #x110b - #x110c ]
656
if ( c < 0x110b ) return false;
657         if ( c <= 0x110c ) return true;
658         
659         // [ #x110e - #x1112 ]
660
if ( c < 0x110e ) return false;
661         if ( c <= 0x1112 ) return true;
662         
663         // #x113c
664
if ( c == 0x113c ) return true;
665         
666         // #x113e
667
if ( c == 0x113e ) return true;
668         
669         // #x1140
670
if ( c == 0x1140 ) return true;
671         
672         // #x114c
673
if ( c == 0x114c ) return true;
674         
675         // #x114e
676
if ( c == 0x114e ) return true;
677         
678         // #x1150
679
if ( c == 0x1150 ) return true;
680         
681         // [ #x1154 - #x1155 ]
682
if ( c < 0x1154 ) return false;
683         if ( c <= 0x1155 ) return true;
684         
685         // #x1159
686
if ( c == 0x1159 ) return true;
687         
688         // [ #x115f - #x1161 ]
689
if ( c < 0x115f ) return false;
690         if ( c <= 0x1161 ) return true;
691         
692         // #x1163
693
if ( c == 0x1163 ) return true;
694         
695         // #x1165
696
if ( c == 0x1165 ) return true;
697         
698         // #x1167
699
if ( c == 0x1167 ) return true;
700         
701         // #x1169
702
if ( c == 0x1169 ) return true;
703         
704         // [ #x116d - #x116e ]
705
if ( c < 0x116d ) return false;
706         if ( c <= 0x116e ) return true;
707         
708         // [ #x1172 - #x1173 ]
709
if ( c < 0x1172 ) return false;
710         if ( c <= 0x1173 ) return true;
711         
712         // #x1175
713
if ( c == 0x1175 ) return true;
714         
715         // #x119e
716
if ( c == 0x119e ) return true;
717         
718         // #x11a8
719
if ( c == 0x11a8 ) return true;
720         
721         // #x11ab
722
if ( c == 0x11ab ) return true;
723         
724         // [ #x11ae - #x11af ]
725
if ( c < 0x11ae ) return false;
726         if ( c <= 0x11af ) return true;
727         
728         // [ #x11b7 - #x11b8 ]
729
if ( c < 0x11b7 ) return false;
730         if ( c <= 0x11b8 ) return true;
731         
732         // #x11ba
733
if ( c == 0x11ba ) return true;
734         
735         // [ #x11bc - #x11c2 ]
736
if ( c < 0x11bc ) return false;
737         if ( c <= 0x11c2 ) return true;
738         
739         // #x11eb
740
if ( c == 0x11eb ) return true;
741         
742         // #x11f0
743
if ( c == 0x11f0 ) return true;
744         
745         // #x11f9
746
if ( c == 0x11f9 ) return true;
747         
748         // [ #x1e00 - #x1e9b ]
749
if ( c < 0x1e00 ) return false;
750         if ( c <= 0x1e9b ) return true;
751         
752         // [ #x1ea0 - #x1ef9 ]
753
if ( c < 0x1ea0 ) return false;
754         if ( c <= 0x1ef9 ) return true;
755         
756         // [ #x1f00 - #x1f15 ]
757
if ( c < 0x1f00 ) return false;
758         if ( c <= 0x1f15 ) return true;
759         
760         // [ #x1f18 - #x1f1d ]
761
if ( c < 0x1f18 ) return false;
762         if ( c <= 0x1f1d ) return true;
763         
764         // [ #x1f20 - #x1f45 ]
765
if ( c < 0x1f20 ) return false;
766         if ( c <= 0x1f45 ) return true;
767         
768         // [ #x1f48 - #x1f4d ]
769
if ( c < 0x1f48 ) return false;
770         if ( c <= 0x1f4d ) return true;
771         
772         // [ #x1f50 - #x1f57 ]
773
if ( c < 0x1f50 ) return false;
774         if ( c <= 0x1f57 ) return true;
775         
776         // #x1f59
777
if ( c == 0x1f59 ) return true;
778         
779         // #x1f5b
780
if ( c == 0x1f5b ) return true;
781         
782         // #x1f5d
783
if ( c == 0x1f5d ) return true;
784         
785         // [ #x1f5f - #x1f7d ]
786
if ( c < 0x1f5f ) return false;
787         if ( c <= 0x1f7d ) return true;
788         
789         // [ #x1f80 - #x1fb4 ]
790
if ( c < 0x1f80 ) return false;
791         if ( c <= 0x1fb4 ) return true;
792         
793         // [ #x1fb6 - #x1fbc ]
794
if ( c < 0x1fb6 ) return false;
795         if ( c <= 0x1fbc ) return true;
796         
797         // #x1fbe
798
if ( c == 0x1fbe ) return true;
799         
800         // [ #x1fc2 - #x1fc4 ]
801
if ( c < 0x1fc2 ) return false;
802         if ( c <= 0x1fc4 ) return true;
803         
804         // [ #x1fc6 - #x1fcc ]
805
if ( c < 0x1fc6 ) return false;
806         if ( c <= 0x1fcc ) return true;
807         
808         // [ #x1fd0 - #x1fd3 ]
809
if ( c < 0x1fd0 ) return false;
810         if ( c <= 0x1fd3 ) return true;
811         
812         // [ #x1fd6 - #x1fdb ]
813
if ( c < 0x1fd6 ) return false;
814         if ( c <= 0x1fdb ) return true;
815         
816         // [ #x1fe0 - #x1fec ]
817
if ( c < 0x1fe0 ) return false;
818         if ( c <= 0x1fec ) return true;
819         
820         // [ #x1ff2 - #x1ff4 ]
821
if ( c < 0x1ff2 ) return false;
822         if ( c <= 0x1ff4 ) return true;
823         
824         // [ #x1ff6 - #x1ffc ]
825
if ( c < 0x1ff6 ) return false;
826         if ( c <= 0x1ffc ) return true;
827         
828         // #x2126
829
if ( c == 0x2126 ) return true;
830         
831         // [ #x212a - #x212b ]
832
if ( c < 0x212a ) return false;
833         if ( c <= 0x212b ) return true;
834         
835         // #x212e
836
if ( c == 0x212e ) return true;
837         
838         // [ #x2180 - #x2182 ]
839
if ( c < 0x2180 ) return false;
840         if ( c <= 0x2182 ) return true;
841         
842         // [ #x3041 - #x3094 ]
843
if ( c < 0x3041 ) return false;
844         if ( c <= 0x3094 ) return true;
845         
846         // [ #x30a1 - #x30fa ]
847
if ( c < 0x30a1 ) return false;
848         if ( c <= 0x30fa ) return true;
849         
850         // [ #x3105 - #x312c ]
851
if ( c < 0x3105 ) return false;
852         if ( c <= 0x312c ) return true;
853         
854         // [ #xac00 - #xd7a3 ]
855
if ( c < 0xac00 ) return false;
856         if ( c <= 0xd7a3 ) return true;
857         
858         return false;
859     }
860     
861     
862     /**
863      * @see http://www.w3.org/TR/REC-xml#NT-Ideographic
864      */

865     public static boolean isXMLIdeographic (int c) {
866         // #x3007
867
if ( c == 0x3007 ) return true;
868         
869         // [ #x3021 - #x3029 ]
870
if ( c < 0x3021 ) return false;
871         if ( c <= 0x3029 ) return true;
872         
873         // [ #x4e00 - #x9fa5 ]
874
if ( c < 0x4e00 ) return false;
875         if ( c <= 0x9fa5 ) return true;
876         
877         return false;
878     }
879     
880     
881     /**
882      * @see http://www.w3.org/TR/REC-xml#NT-CombiningChar
883      */

884     public static boolean isXMLCombiningChar (int c) {
885         // [ #x0300 - #x0345 ]
886
if ( c < 0x0300 ) return false;
887         if ( c <= 0x0345 ) return true;
888         
889         // [ #x0360 - #x0361 ]
890
if ( c < 0x0360 ) return false;
891         if ( c <= 0x0361 ) return true;
892         
893         // [ #x0483 - #x0486 ]
894
if ( c < 0x0483 ) return false;
895         if ( c <= 0x0486 ) return true;
896         
897         // [ #x0591 - #x05a1 ]
898
if ( c < 0x0591 ) return false;
899         if ( c <= 0x05a1 ) return true;
900         
901         // [ #x05a3 - #x05b9 ]
902
if ( c < 0x05a3 ) return false;
903         if ( c <= 0x05b9 ) return true;
904         
905         // [ #x05bb - #x05bd ]
906
if ( c < 0x05bb ) return false;
907         if ( c <= 0x05bd ) return true;
908         
909         // #x05bf
910
if ( c == 0x05bf ) return true;
911         
912         // [ #x05c1 - #x05c2 ]
913
if ( c < 0x05c1 ) return false;
914         if ( c <= 0x05c2 ) return true;
915         
916         // #x05c4
917
if ( c == 0x05c4 ) return true;
918         
919         // [ #x064b - #x0652 ]
920
if ( c < 0x064b ) return false;
921         if ( c <= 0x0652 ) return true;
922         
923         // #x0670
924
if ( c == 0x0670 ) return true;
925         
926         // [ #x06d6 - #x06dc ]
927
if ( c < 0x06d6 ) return false;
928         if ( c <= 0x06dc ) return true;
929         
930         // [ #x06dd - #x06df ]
931
if ( c < 0x06dd ) return false;
932         if ( c <= 0x06df ) return true;
933         
934         // [ #x06e0 - #x06e4 ]
935
if ( c < 0x06e0 ) return false;
936         if ( c <= 0x06e4 ) return true;
937         
938         // [ #x06e7 - #x06e8 ]
939
if ( c < 0x06e7 ) return false;
940         if ( c <= 0x06e8 ) return true;
941         
942         // [ #x06ea - #x06ed ]
943
if ( c < 0x06ea ) return false;
944         if ( c <= 0x06ed ) return true;
945         
946         // [ #x0901 - #x0903 ]
947
if ( c < 0x0901 ) return false;
948         if ( c <= 0x0903 ) return true;
949         
950         // #x093c
951
if ( c == 0x093c ) return true;
952         
953         // [ #x093e - #x094c ]
954
if ( c < 0x093e ) return false;
955         if ( c <= 0x094c ) return true;
956         
957         // #x094d
958
if ( c == 0x094d ) return true;
959         
960         // [ #x0951 - #x0954 ]
961
if ( c < 0x0951 ) return false;
962         if ( c <= 0x0954 ) return true;
963         
964         // [ #x0962 - #x0963 ]
965
if ( c < 0x0962 ) return false;
966         if ( c <= 0x0963 ) return true;
967         
968         // [ #x0981 - #x0983 ]
969
if ( c < 0x0981 ) return false;
970         if ( c <= 0x0983 ) return true;
971         
972         // #x09bc
973
if ( c == 0x09bc ) return true;
974         
975         // #x09be
976
if ( c == 0x09be ) return true;
977         
978         // #x09bf
979
if ( c == 0x09bf ) return true;
980         
981         // [ #x09c0 - #x09c4 ]
982
if ( c < 0x09c0 ) return false;
983         if ( c <= 0x09c4 ) return true;
984         
985         // [ #x09c7 - #x09c8 ]
986
if ( c < 0x09c7 ) return false;
987         if ( c <= 0x09c8 ) return true;
988         
989         // [ #x09cb - #x09cd ]
990
if ( c < 0x09cb ) return false;
991         if ( c <= 0x09cd ) return true;
992         
993         // #x09d7
994
if ( c == 0x09d7 ) return true;
995         
996         // [ #x09e2 - #x09e3 ]
997
if ( c < 0x09e2 ) return false;
998         if ( c <= 0x09e3 ) return true;
999         
1000        // #x0a02
1001
if ( c == 0x0a02 ) return true;
1002        
1003        // #x0a3c
1004
if ( c == 0x0a3c ) return true;
1005        
1006        // #x0a3e
1007
if ( c == 0x0a3e ) return true;
1008        
1009        // #x0a3f
1010
if ( c == 0x0a3f ) return true;
1011        
1012        // [ #x0a40 - #x0a42 ]
1013
if ( c < 0x0a40 ) return false;
1014        if ( c <= 0x0a42 ) return true;
1015        
1016        // [ #x0a47 - #x0a48 ]
1017
if ( c < 0x0a47 ) return false;
1018        if ( c <= 0x0a48 ) return true;
1019        
1020        // [ #x0a4b - #x0a4d ]
1021
if ( c < 0x0a4b ) return false;
1022        if ( c <= 0x0a4d ) return true;
1023        
1024        // [ #x0a70 - #x0a71 ]
1025
if ( c < 0x0a70 ) return false;
1026        if ( c <= 0x0a71 ) return true;
1027        
1028        // [ #x0a81 - #x0a83 ]
1029
if ( c < 0x0a81 ) return false;
1030        if ( c <= 0x0a83 ) return true;
1031        
1032        // #x0abc
1033
if ( c == 0x0abc ) return true;
1034        
1035        // [ #x0abe - #x0ac5 ]
1036
if ( c < 0x0abe ) return false;
1037        if ( c <= 0x0ac5 ) return true;
1038        
1039        // [ #x0ac7 - #x0ac9 ]
1040
if ( c < 0x0ac7 ) return false;
1041        if ( c <= 0x0ac9 ) return true;
1042        
1043        // [ #x0acb - #x0acd ]
1044
if ( c < 0x0acb ) return false;
1045        if ( c <= 0x0acd ) return true;
1046        
1047        // [ #x0b01 - #x0b03 ]
1048
if ( c < 0x0b01 ) return false;
1049        if ( c <= 0x0b03 ) return true;
1050        
1051        // #x0b3c
1052
if ( c == 0x0b3c ) return true;
1053        
1054        // [ #x0b3e - #x0b43 ]
1055
if ( c < 0x0b3e ) return false;
1056        if ( c <= 0x0b43 ) return true;
1057        
1058        // [ #x0b47 - #x0b48 ]
1059
if ( c < 0x0b47 ) return false;
1060        if ( c <= 0x0b48 ) return true;
1061        
1062        // [ #x0b4b - #x0b4d ]
1063
if ( c < 0x0b4b ) return false;
1064        if ( c <= 0x0b4d ) return true;
1065        
1066        // [ #x0b56 - #x0b57 ]
1067
if ( c < 0x0b56 ) return false;
1068        if ( c <= 0x0b57 ) return true;
1069        
1070        // [ #x0b82 - #x0b83 ]
1071
if ( c < 0x0b82 ) return false;
1072        if ( c <= 0x0b83 ) return true;
1073        
1074        // [ #x0bbe - #x0bc2 ]
1075
if ( c < 0x0bbe ) return false;
1076        if ( c <= 0x0bc2 ) return true;
1077        
1078        // [ #x0bc6 - #x0bc8 ]
1079
if ( c < 0x0bc6 ) return false;
1080        if ( c <= 0x0bc8 ) return true;
1081        
1082        // [ #x0bca - #x0bcd ]
1083
if ( c < 0x0bca ) return false;
1084        if ( c <= 0x0bcd ) return true;
1085        
1086        // #x0bd7
1087
if ( c == 0x0bd7 ) return true;
1088        
1089        // [ #x0c01 - #x0c03 ]
1090
if ( c < 0x0c01 ) return false;
1091        if ( c <= 0x0c03 ) return true;
1092        
1093        // [ #x0c3e - #x0c44 ]
1094
if ( c < 0x0c3e ) return false;
1095        if ( c <= 0x0c44 ) return true;
1096        
1097        // [ #x0c46 - #x0c48 ]
1098
if ( c < 0x0c46 ) return false;
1099        if ( c <= 0x0c48 ) return true;
1100        
1101        // [ #x0c4a - #x0c4d ]
1102
if ( c < 0x0c4a ) return false;
1103        if ( c <= 0x0c4d ) return true;
1104        
1105        // [ #x0c55 - #x0c56 ]
1106
if ( c < 0x0c55 ) return false;
1107        if ( c <= 0x0c56 ) return true;
1108        
1109        // [ #x0c82 - #x0c83 ]
1110
if ( c < 0x0c82 ) return false;
1111        if ( c <= 0x0c83 ) return true;
1112        
1113        // [ #x0cbe - #x0cc4 ]
1114
if ( c < 0x0cbe ) return false;
1115        if ( c <= 0x0cc4 ) return true;
1116        
1117        // [ #x0cc6 - #x0cc8 ]
1118
if ( c < 0x0cc6 ) return false;
1119        if ( c <= 0x0cc8 ) return true;
1120        
1121        // [ #x0cca - #x0ccd ]
1122
if ( c < 0x0cca ) return false;
1123        if ( c <= 0x0ccd ) return true;
1124        
1125        // [ #x0cd5 - #x0cd6 ]
1126
if ( c < 0x0cd5 ) return false;
1127        if ( c <= 0x0cd6 ) return true;
1128        
1129        // [ #x0d02 - #x0d03 ]
1130
if ( c < 0x0d02 ) return false;
1131        if ( c <= 0x0d03 ) return true;
1132        
1133        // [ #x0d3e - #x0d43 ]
1134
if ( c < 0x0d3e ) return false;
1135        if ( c <= 0x0d43 ) return true;
1136        
1137        // [ #x0d46 - #x0d48 ]
1138
if ( c < 0x0d46 ) return false;
1139        if ( c <= 0x0d48 ) return true;
1140        
1141        // [ #x0d4a - #x0d4d ]
1142
if ( c < 0x0d4a ) return false;
1143        if ( c <= 0x0d4d ) return true;
1144        
1145        // #x0d57
1146
if ( c == 0x0d57 ) return true;
1147        
1148        // #x0e31
1149
if ( c == 0x0e31 ) return true;
1150        
1151        // [ #x0e34 - #x0e3a ]
1152
if ( c < 0x0e34 ) return false;
1153        if ( c <= 0x0e3a ) return true;
1154        
1155        // [ #x0e47 - #x0e4e ]
1156
if ( c < 0x0e47 ) return false;
1157        if ( c <= 0x0e4e ) return true;
1158        
1159        // #x0eb1
1160
if ( c == 0x0eb1 ) return true;
1161        
1162        // [ #x0eb4 - #x0eb9 ]
1163
if ( c < 0x0eb4 ) return false;
1164        if ( c <= 0x0eb9 ) return true;
1165        
1166        // [ #x0ebb - #x0ebc ]
1167
if ( c < 0x0ebb ) return false;
1168        if ( c <= 0x0ebc ) return true;
1169        
1170        // [ #x0ec8 - #x0ecd ]
1171
if ( c < 0x0ec8 ) return false;
1172        if ( c <= 0x0ecd ) return true;
1173        
1174        // [ #x0f18 - #x0f19 ]
1175
if ( c < 0x0f18 ) return false;
1176        if ( c <= 0x0f19 ) return true;
1177        
1178        // #x0f35
1179
if ( c == 0x0f35 ) return true;
1180        
1181        // #x0f37
1182
if ( c == 0x0f37 ) return true;
1183        
1184        // #x0f39
1185
if ( c == 0x0f39 ) return true;
1186        
1187        // #x0f3e
1188
if ( c == 0x0f3e ) return true;
1189        
1190        // #x0f3f
1191
if ( c == 0x0f3f ) return true;
1192        
1193        // [ #x0f71 - #x0f84 ]
1194
if ( c < 0x0f71 ) return false;
1195        if ( c <= 0x0f84 ) return true;
1196        
1197        // [ #x0f86 - #x0f8b ]
1198
if ( c < 0x0f86 ) return false;
1199        if ( c <= 0x0f8b ) return true;
1200        
1201        // [ #x0f90 - #x0f95 ]
1202
if ( c < 0x0f90 ) return false;
1203        if ( c <= 0x0f95 ) return true;
1204        
1205        // #x0f97
1206
if ( c == 0x0f97 ) return true;
1207        
1208        // [ #x0f99 - #x0fad ]
1209
if ( c < 0x0f99 ) return false;
1210        if ( c <= 0x0fad ) return true;
1211        
1212        // [ #x0fb1 - #x0fb7 ]
1213
if ( c < 0x0fb1 ) return false;
1214        if ( c <= 0x0fb7 ) return true;
1215        
1216        // #x0fb9
1217
if ( c == 0x0fb9 ) return true;
1218        
1219        // [ #x20d0 - #x20dc ]
1220
if ( c < 0x20d0 ) return false;
1221        if ( c <= 0x20dc ) return true;
1222        
1223        // #x20e1
1224
if ( c == 0x20e1 ) return true;
1225        
1226        // [ #x302a - #x302f ]
1227
if ( c < 0x302a ) return false;
1228        if ( c <= 0x302f ) return true;
1229        
1230        // #x3099
1231
if ( c == 0x3099 ) return true;
1232        
1233        // #x309a
1234
if ( c == 0x309a ) return true;
1235        
1236        return false;
1237    }
1238    
1239    
1240    /**
1241     * @see http://www.w3.org/TR/REC-xml#NT-Digit
1242     */

1243    public static boolean isXMLDigit (int c) {
1244        // [ #x0030 - #x0039 ]
1245
if ( c < 0x0030 ) return false;
1246        if ( c <= 0x0039 ) return true;
1247        
1248        // [ #x0660 - #x0669 ]
1249
if ( c < 0x0660 ) return false;
1250        if ( c <= 0x0669 ) return true;
1251        
1252        // [ #x06f0 - #x06f9 ]
1253
if ( c < 0x06f0 ) return false;
1254        if ( c <= 0x06f9 ) return true;
1255        
1256        // [ #x0966 - #x096f ]
1257
if ( c < 0x0966 ) return false;
1258        if ( c <= 0x096f ) return true;
1259        
1260        // [ #x09e6 - #x09ef ]
1261
if ( c < 0x09e6 ) return false;
1262        if ( c <= 0x09ef ) return true;
1263        
1264        // [ #x0a66 - #x0a6f ]
1265
if ( c < 0x0a66 ) return false;
1266        if ( c <= 0x0a6f ) return true;
1267        
1268        // [ #x0ae6 - #x0aef ]
1269
if ( c < 0x0ae6 ) return false;
1270        if ( c <= 0x0aef ) return true;
1271        
1272        // [ #x0b66 - #x0b6f ]
1273
if ( c < 0x0b66 ) return false;
1274        if ( c <= 0x0b6f ) return true;
1275        
1276        // [ #x0be7 - #x0bef ]
1277
if ( c < 0x0be7 ) return false;
1278        if ( c <= 0x0bef ) return true;
1279        
1280        // [ #x0c66 - #x0c6f ]
1281
if ( c < 0x0c66 ) return false;
1282        if ( c <= 0x0c6f ) return true;
1283        
1284        // [ #x0ce6 - #x0cef ]
1285
if ( c < 0x0ce6 ) return false;
1286        if ( c <= 0x0cef ) return true;
1287        
1288        // [ #x0d66 - #x0d6f ]
1289
if ( c < 0x0d66 ) return false;
1290        if ( c <= 0x0d6f ) return true;
1291        
1292        // [ #x0e50 - #x0e59 ]
1293
if ( c < 0x0e50 ) return false;
1294        if ( c <= 0x0e59 ) return true;
1295        
1296        // [ #x0ed0 - #x0ed9 ]
1297
if ( c < 0x0ed0 ) return false;
1298        if ( c <= 0x0ed9 ) return true;
1299        
1300        // [ #x0f20 - #x0f29 ]
1301
if ( c < 0x0f20 ) return false;
1302        if ( c <= 0x0f29 ) return true;
1303        
1304        return false;
1305    }
1306    
1307    
1308    /**
1309     * @see http://www.w3.org/TR/REC-xml#NT-Extender
1310     */

1311    public static boolean isXMLExtender (int c) {
1312        // #x00b7
1313
if ( c == 0x00b7 ) return true;
1314        
1315        // #x02d0
1316
if ( c == 0x02d0 ) return true;
1317        
1318        // #x02d1
1319
if ( c == 0x02d1 ) return true;
1320        
1321        // #x0387
1322
if ( c == 0x0387 ) return true;
1323        
1324        // #x0640
1325
if ( c == 0x0640 ) return true;
1326        
1327        // #x0e46
1328
if ( c == 0x0e46 ) return true;
1329        
1330        // #x0ec6
1331
if ( c == 0x0ec6 ) return true;
1332        
1333        // #x3005
1334
if ( c == 0x3005 ) return true;
1335        
1336        // [ #x3031 - #x3035 ]
1337
if ( c < 0x3031 ) return false;
1338        if ( c <= 0x3035 ) return true;
1339        
1340        // [ #x309d - #x309e ]
1341
if ( c < 0x309d ) return false;
1342        if ( c <= 0x309e ) return true;
1343        
1344        // [ #x30fc - #x30fe ]
1345
if ( c < 0x30fc ) return false;
1346        if ( c <= 0x30fe ) return true;
1347        
1348        return false;
1349    }
1350    
1351    
1352    
1353    /**
1354     * @see http://www.w3.org/TR/REC-xml-names/#NT-NCNameChar
1355     */

1356    public static boolean isXMLNCNameChar (int c) {
1357        return ( ( isXMLLetter (c) )
1358        || ( isXMLDigit (c) )
1359        || ( c == '.' )
1360        || ( c == '-' )
1361        || ( c == '_' )
1362        || ( isXMLCombiningChar (c) )
1363        || ( isXMLExtender (c) ) );
1364    }
1365    
1366    /**
1367     * @see http://www.w3.org/TR/REC-xml-names/#NT-NCName
1368     */

1369    public static boolean isXMLNCNameStartChar (int c) {
1370        return ( ( isXMLLetter (c) )
1371        || ( c == '_' ) );
1372    }
1373    
1374    
1375    /**
1376     * @see http://www.w3.org/TR/REC-xml#NT-PubidLiteral
1377     */

1378    public static boolean isXMLPubidLiteral (char c) {
1379        // System.out.println ("[UnicodeClasses.isXMLPubidLiteral] '" + c + "' = 0x" +
1380
// Integer.toHexString (c));
1381

1382        // #x0020
1383
if ( c == ' ' ) return true;
1384        
1385        // #x000d
1386
if ( c == '\r' ) return true;
1387        
1388        // #x000a
1389
if ( c == '\n' ) return true;
1390        
1391        // -
1392
if ( c == '-' ) return true;
1393        
1394        // '
1395
if ( c == '\'' ) return true;
1396        
1397        // (
1398
if ( c == '(' ) return true;
1399        
1400        // )
1401
if ( c == ')' ) return true;
1402        
1403        // +
1404
if ( c == '+' ) return true;
1405        
1406        // ,
1407
if ( c == ',' ) return true;
1408        
1409        // .
1410
if ( c == '.' ) return true;
1411        
1412        // /
1413
if ( c == '/' ) return true;
1414        
1415        // :
1416
if ( c == ':' ) return true;
1417        
1418        // =
1419
if ( c == '=' ) return true;
1420        
1421        // ?
1422
if ( c == '?' ) return true;
1423        
1424        // ;
1425
if ( c == ';' ) return true;
1426        
1427        // !
1428
if ( c == '!' ) return true;
1429        
1430        // *
1431
if ( c == '*' ) return true;
1432        
1433        // #
1434
if ( c == '#' ) return true;
1435        
1436        // @
1437
if ( c == '@' ) return true;
1438        
1439        // $
1440
if ( c == '$' ) return true;
1441        
1442        // _
1443
if ( c == '_' ) return true;
1444        
1445        // %
1446
if ( c == '%' ) return true;
1447        
1448        // [ 0 - 9 ]
1449
if ( c < '0' ) return false;
1450        if ( c <= '9' ) return true;
1451        
1452        // [ A - Z ]
1453
if ( c < 'A' ) return false;
1454        if ( c <= 'Z' ) return true;
1455        
1456        // [ a - z ]
1457
if ( c < 'a' ) return false;
1458        if ( c <= 'z' ) return true;
1459        
1460        return false;
1461    }
1462    
1463}
1464
Popular Tags