1259 lines
36 KiB
C
1259 lines
36 KiB
C
/* $Id$
|
|
|
|
Part of SWI-Prolog
|
|
|
|
Author: Jan Wielemaker
|
|
E-mail: wielemak@science.uva.nl
|
|
WWW: http://www.swi-prolog.org
|
|
Copyright (C): 1985-2006, University of Amsterdam
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public
|
|
License along with this library; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
As a special exception, if you link this library with other files,
|
|
compiled with a Free Software compiler, to produce an executable, this
|
|
library does not by itself cause the resulting executable to be covered
|
|
by the GNU General Public License. This exception does not however
|
|
invalidate any other reasons why the executable file might be covered by
|
|
the GNU General Public License.
|
|
*/
|
|
|
|
|
|
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
XML character classification.
|
|
|
|
The core of this file is generated by xml_unicode.pl using the data from
|
|
http://www.w3.org/TR/2006/REC-xml-20060816.
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
|
|
|
int
|
|
xml_basechar(int c)
|
|
{ if ( c <= 0x0c10 )
|
|
{ if ( c <= 0x0939 )
|
|
{ if ( c <= 0x03e0 )
|
|
{ if ( c <= 0x01f5 )
|
|
{ if ( c <= 0x0131 )
|
|
{ if ( c <= 0x00d6 )
|
|
{ if ( c <= 0x005a )
|
|
{ return (c >= 0x0041 && c <= 0x005a);
|
|
} else
|
|
{ if ( c <= 0x007a )
|
|
{ return (c >= 0x0061 && c <= 0x007a);
|
|
} else
|
|
{ return (c >= 0x00c0 && c <= 0x00d6);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x00f6 )
|
|
{ return (c >= 0x00d8 && c <= 0x00f6);
|
|
} else
|
|
{ if ( c <= 0x00ff )
|
|
{ return (c >= 0x00f8 && c <= 0x00ff);
|
|
} else
|
|
{ return (c >= 0x0100 && c <= 0x0131);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x017e )
|
|
{ if ( c <= 0x013e )
|
|
{ return (c >= 0x0134 && c <= 0x013e);
|
|
} else
|
|
{ if ( c <= 0x0148 )
|
|
{ return (c >= 0x0141 && c <= 0x0148);
|
|
} else
|
|
{ return (c >= 0x014a && c <= 0x017e);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x01c3 )
|
|
{ return (c >= 0x0180 && c <= 0x01c3);
|
|
} else
|
|
{ if ( c <= 0x01f0 )
|
|
{ return (c >= 0x01cd && c <= 0x01f0);
|
|
} else
|
|
{ return (c >= 0x01f4 && c <= 0x01f5);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x038c )
|
|
{ if ( c <= 0x02c1 )
|
|
{ if ( c <= 0x0217 )
|
|
{ return (c >= 0x01fa && c <= 0x0217);
|
|
} else
|
|
{ if ( c <= 0x02a8 )
|
|
{ return (c >= 0x0250 && c <= 0x02a8);
|
|
} else
|
|
{ return (c >= 0x02bb && c <= 0x02c1);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0386 )
|
|
{ return (c == 0x0386);} else
|
|
{ if ( c <= 0x038a )
|
|
{ return (c >= 0x0388 && c <= 0x038a);
|
|
} else
|
|
{ return (c == 0x038c);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x03d6 )
|
|
{ if ( c <= 0x03a1 )
|
|
{ return (c >= 0x038e && c <= 0x03a1);
|
|
} else
|
|
{ if ( c <= 0x03ce )
|
|
{ return (c >= 0x03a3 && c <= 0x03ce);
|
|
} else
|
|
{ return (c >= 0x03d0 && c <= 0x03d6);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x03dc )
|
|
{ if ( c <= 0x03da )
|
|
{ return (c == 0x03da);} else
|
|
{ return (c == 0x03dc);}
|
|
} else
|
|
{ if ( c <= 0x03de )
|
|
{ return (c == 0x03de);} else
|
|
{ return (c == 0x03e0);}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0556 )
|
|
{ if ( c <= 0x04c4 )
|
|
{ if ( c <= 0x044f )
|
|
{ if ( c <= 0x03f3 )
|
|
{ return (c >= 0x03e2 && c <= 0x03f3);
|
|
} else
|
|
{ if ( c <= 0x040c )
|
|
{ return (c >= 0x0401 && c <= 0x040c);
|
|
} else
|
|
{ return (c >= 0x040e && c <= 0x044f);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x045c )
|
|
{ return (c >= 0x0451 && c <= 0x045c);
|
|
} else
|
|
{ if ( c <= 0x0481 )
|
|
{ return (c >= 0x045e && c <= 0x0481);
|
|
} else
|
|
{ return (c >= 0x0490 && c <= 0x04c4);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x04eb )
|
|
{ if ( c <= 0x04c8 )
|
|
{ return (c >= 0x04c7 && c <= 0x04c8);
|
|
} else
|
|
{ if ( c <= 0x04cc )
|
|
{ return (c >= 0x04cb && c <= 0x04cc);
|
|
} else
|
|
{ return (c >= 0x04d0 && c <= 0x04eb);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x04f5 )
|
|
{ return (c >= 0x04ee && c <= 0x04f5);
|
|
} else
|
|
{ if ( c <= 0x04f9 )
|
|
{ return (c >= 0x04f8 && c <= 0x04f9);
|
|
} else
|
|
{ return (c >= 0x0531 && c <= 0x0556);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x064a )
|
|
{ if ( c <= 0x05ea )
|
|
{ if ( c <= 0x0559 )
|
|
{ return (c == 0x0559);} else
|
|
{ if ( c <= 0x0586 )
|
|
{ return (c >= 0x0561 && c <= 0x0586);
|
|
} else
|
|
{ return (c >= 0x05d0 && c <= 0x05ea);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x05f2 )
|
|
{ return (c >= 0x05f0 && c <= 0x05f2);
|
|
} else
|
|
{ if ( c <= 0x063a )
|
|
{ return (c >= 0x0621 && c <= 0x063a);
|
|
} else
|
|
{ return (c >= 0x0641 && c <= 0x064a);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x06ce )
|
|
{ if ( c <= 0x06b7 )
|
|
{ return (c >= 0x0671 && c <= 0x06b7);
|
|
} else
|
|
{ if ( c <= 0x06be )
|
|
{ return (c >= 0x06ba && c <= 0x06be);
|
|
} else
|
|
{ return (c >= 0x06c0 && c <= 0x06ce);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x06d5 )
|
|
{ if ( c <= 0x06d3 )
|
|
{ return (c >= 0x06d0 && c <= 0x06d3);
|
|
} else
|
|
{ return (c == 0x06d5);}
|
|
} else
|
|
{ if ( c <= 0x06e6 )
|
|
{ return (c >= 0x06e5 && c <= 0x06e6);
|
|
} else
|
|
{ return (c >= 0x0905 && c <= 0x0939);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0aa8 )
|
|
{ if ( c <= 0x0a0a )
|
|
{ if ( c <= 0x09b0 )
|
|
{ if ( c <= 0x098c )
|
|
{ if ( c <= 0x093d )
|
|
{ return (c == 0x093d);} else
|
|
{ if ( c <= 0x0961 )
|
|
{ return (c >= 0x0958 && c <= 0x0961);
|
|
} else
|
|
{ return (c >= 0x0985 && c <= 0x098c);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0990 )
|
|
{ return (c >= 0x098f && c <= 0x0990);
|
|
} else
|
|
{ if ( c <= 0x09a8 )
|
|
{ return (c >= 0x0993 && c <= 0x09a8);
|
|
} else
|
|
{ return (c >= 0x09aa && c <= 0x09b0);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x09dd )
|
|
{ if ( c <= 0x09b2 )
|
|
{ return (c == 0x09b2);} else
|
|
{ if ( c <= 0x09b9 )
|
|
{ return (c >= 0x09b6 && c <= 0x09b9);
|
|
} else
|
|
{ return (c >= 0x09dc && c <= 0x09dd);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x09e1 )
|
|
{ return (c >= 0x09df && c <= 0x09e1);
|
|
} else
|
|
{ if ( c <= 0x09f1 )
|
|
{ return (c >= 0x09f0 && c <= 0x09f1);
|
|
} else
|
|
{ return (c >= 0x0a05 && c <= 0x0a0a);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a39 )
|
|
{ if ( c <= 0x0a30 )
|
|
{ if ( c <= 0x0a10 )
|
|
{ return (c >= 0x0a0f && c <= 0x0a10);
|
|
} else
|
|
{ if ( c <= 0x0a28 )
|
|
{ return (c >= 0x0a13 && c <= 0x0a28);
|
|
} else
|
|
{ return (c >= 0x0a2a && c <= 0x0a30);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a33 )
|
|
{ return (c >= 0x0a32 && c <= 0x0a33);
|
|
} else
|
|
{ if ( c <= 0x0a36 )
|
|
{ return (c >= 0x0a35 && c <= 0x0a36);
|
|
} else
|
|
{ return (c >= 0x0a38 && c <= 0x0a39);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a74 )
|
|
{ if ( c <= 0x0a5c )
|
|
{ return (c >= 0x0a59 && c <= 0x0a5c);
|
|
} else
|
|
{ if ( c <= 0x0a5e )
|
|
{ return (c == 0x0a5e);} else
|
|
{ return (c >= 0x0a72 && c <= 0x0a74);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a8d )
|
|
{ if ( c <= 0x0a8b )
|
|
{ return (c >= 0x0a85 && c <= 0x0a8b);
|
|
} else
|
|
{ return (c == 0x0a8d);}
|
|
} else
|
|
{ if ( c <= 0x0a91 )
|
|
{ return (c >= 0x0a8f && c <= 0x0a91);
|
|
} else
|
|
{ return (c >= 0x0a93 && c <= 0x0aa8);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b5d )
|
|
{ if ( c <= 0x0b0c )
|
|
{ if ( c <= 0x0ab9 )
|
|
{ if ( c <= 0x0ab0 )
|
|
{ return (c >= 0x0aaa && c <= 0x0ab0);
|
|
} else
|
|
{ if ( c <= 0x0ab3 )
|
|
{ return (c >= 0x0ab2 && c <= 0x0ab3);
|
|
} else
|
|
{ return (c >= 0x0ab5 && c <= 0x0ab9);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0abd )
|
|
{ return (c == 0x0abd);} else
|
|
{ if ( c <= 0x0ae0 )
|
|
{ return (c == 0x0ae0);} else
|
|
{ return (c >= 0x0b05 && c <= 0x0b0c);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b30 )
|
|
{ if ( c <= 0x0b10 )
|
|
{ return (c >= 0x0b0f && c <= 0x0b10);
|
|
} else
|
|
{ if ( c <= 0x0b28 )
|
|
{ return (c >= 0x0b13 && c <= 0x0b28);
|
|
} else
|
|
{ return (c >= 0x0b2a && c <= 0x0b30);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b39 )
|
|
{ if ( c <= 0x0b33 )
|
|
{ return (c >= 0x0b32 && c <= 0x0b33);
|
|
} else
|
|
{ return (c >= 0x0b36 && c <= 0x0b39);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b3d )
|
|
{ return (c == 0x0b3d);} else
|
|
{ return (c >= 0x0b5c && c <= 0x0b5d);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b9c )
|
|
{ if ( c <= 0x0b90 )
|
|
{ if ( c <= 0x0b61 )
|
|
{ return (c >= 0x0b5f && c <= 0x0b61);
|
|
} else
|
|
{ if ( c <= 0x0b8a )
|
|
{ return (c >= 0x0b85 && c <= 0x0b8a);
|
|
} else
|
|
{ return (c >= 0x0b8e && c <= 0x0b90);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b95 )
|
|
{ return (c >= 0x0b92 && c <= 0x0b95);
|
|
} else
|
|
{ if ( c <= 0x0b9a )
|
|
{ return (c >= 0x0b99 && c <= 0x0b9a);
|
|
} else
|
|
{ return (c == 0x0b9c);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0baa )
|
|
{ if ( c <= 0x0b9f )
|
|
{ return (c >= 0x0b9e && c <= 0x0b9f);
|
|
} else
|
|
{ if ( c <= 0x0ba4 )
|
|
{ return (c >= 0x0ba3 && c <= 0x0ba4);
|
|
} else
|
|
{ return (c >= 0x0ba8 && c <= 0x0baa);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0bb9 )
|
|
{ if ( c <= 0x0bb5 )
|
|
{ return (c >= 0x0bae && c <= 0x0bb5);
|
|
} else
|
|
{ return (c >= 0x0bb7 && c <= 0x0bb9);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0c0c )
|
|
{ return (c >= 0x0c05 && c <= 0x0c0c);
|
|
} else
|
|
{ return (c >= 0x0c0e && c <= 0x0c10);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x114c )
|
|
{ if ( c <= 0x0e8d )
|
|
{ if ( c <= 0x0d0c )
|
|
{ if ( c <= 0x0c90 )
|
|
{ if ( c <= 0x0c39 )
|
|
{ if ( c <= 0x0c28 )
|
|
{ return (c >= 0x0c12 && c <= 0x0c28);
|
|
} else
|
|
{ if ( c <= 0x0c33 )
|
|
{ return (c >= 0x0c2a && c <= 0x0c33);
|
|
} else
|
|
{ return (c >= 0x0c35 && c <= 0x0c39);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0c61 )
|
|
{ return (c >= 0x0c60 && c <= 0x0c61);
|
|
} else
|
|
{ if ( c <= 0x0c8c )
|
|
{ return (c >= 0x0c85 && c <= 0x0c8c);
|
|
} else
|
|
{ return (c >= 0x0c8e && c <= 0x0c90);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0cb9 )
|
|
{ if ( c <= 0x0ca8 )
|
|
{ return (c >= 0x0c92 && c <= 0x0ca8);
|
|
} else
|
|
{ if ( c <= 0x0cb3 )
|
|
{ return (c >= 0x0caa && c <= 0x0cb3);
|
|
} else
|
|
{ return (c >= 0x0cb5 && c <= 0x0cb9);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0cde )
|
|
{ return (c == 0x0cde);} else
|
|
{ if ( c <= 0x0ce1 )
|
|
{ return (c >= 0x0ce0 && c <= 0x0ce1);
|
|
} else
|
|
{ return (c >= 0x0d05 && c <= 0x0d0c);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0e30 )
|
|
{ if ( c <= 0x0d39 )
|
|
{ if ( c <= 0x0d10 )
|
|
{ return (c >= 0x0d0e && c <= 0x0d10);
|
|
} else
|
|
{ if ( c <= 0x0d28 )
|
|
{ return (c >= 0x0d12 && c <= 0x0d28);
|
|
} else
|
|
{ return (c >= 0x0d2a && c <= 0x0d39);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0d61 )
|
|
{ return (c >= 0x0d60 && c <= 0x0d61);
|
|
} else
|
|
{ if ( c <= 0x0e2e )
|
|
{ return (c >= 0x0e01 && c <= 0x0e2e);
|
|
} else
|
|
{ return (c == 0x0e30);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0e82 )
|
|
{ if ( c <= 0x0e33 )
|
|
{ return (c >= 0x0e32 && c <= 0x0e33);
|
|
} else
|
|
{ if ( c <= 0x0e45 )
|
|
{ return (c >= 0x0e40 && c <= 0x0e45);
|
|
} else
|
|
{ return (c >= 0x0e81 && c <= 0x0e82);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0e88 )
|
|
{ if ( c <= 0x0e84 )
|
|
{ return (c == 0x0e84);} else
|
|
{ return (c >= 0x0e87 && c <= 0x0e88);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0e8a )
|
|
{ return (c == 0x0e8a);} else
|
|
{ return (c == 0x0e8d);}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0f47 )
|
|
{ if ( c <= 0x0eab )
|
|
{ if ( c <= 0x0ea3 )
|
|
{ if ( c <= 0x0e97 )
|
|
{ return (c >= 0x0e94 && c <= 0x0e97);
|
|
} else
|
|
{ if ( c <= 0x0e9f )
|
|
{ return (c >= 0x0e99 && c <= 0x0e9f);
|
|
} else
|
|
{ return (c >= 0x0ea1 && c <= 0x0ea3);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0ea5 )
|
|
{ return (c == 0x0ea5);} else
|
|
{ if ( c <= 0x0ea7 )
|
|
{ return (c == 0x0ea7);} else
|
|
{ return (c >= 0x0eaa && c <= 0x0eab);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0eb3 )
|
|
{ if ( c <= 0x0eae )
|
|
{ return (c >= 0x0ead && c <= 0x0eae);
|
|
} else
|
|
{ if ( c <= 0x0eb0 )
|
|
{ return (c == 0x0eb0);} else
|
|
{ return (c >= 0x0eb2 && c <= 0x0eb3);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0ebd )
|
|
{ return (c == 0x0ebd);} else
|
|
{ if ( c <= 0x0ec4 )
|
|
{ return (c >= 0x0ec0 && c <= 0x0ec4);
|
|
} else
|
|
{ return (c >= 0x0f40 && c <= 0x0f47);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1107 )
|
|
{ if ( c <= 0x10f6 )
|
|
{ if ( c <= 0x0f69 )
|
|
{ return (c >= 0x0f49 && c <= 0x0f69);
|
|
} else
|
|
{ if ( c <= 0x10c5 )
|
|
{ return (c >= 0x10a0 && c <= 0x10c5);
|
|
} else
|
|
{ return (c >= 0x10d0 && c <= 0x10f6);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1100 )
|
|
{ return (c == 0x1100);} else
|
|
{ if ( c <= 0x1103 )
|
|
{ return (c >= 0x1102 && c <= 0x1103);
|
|
} else
|
|
{ return (c >= 0x1105 && c <= 0x1107);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1112 )
|
|
{ if ( c <= 0x1109 )
|
|
{ return (c == 0x1109);} else
|
|
{ if ( c <= 0x110c )
|
|
{ return (c >= 0x110b && c <= 0x110c);
|
|
} else
|
|
{ return (c >= 0x110e && c <= 0x1112);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x113e )
|
|
{ if ( c <= 0x113c )
|
|
{ return (c == 0x113c);} else
|
|
{ return (c == 0x113e);}
|
|
} else
|
|
{ if ( c <= 0x1140 )
|
|
{ return (c == 0x1140);} else
|
|
{ return (c == 0x114c);}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1f15 )
|
|
{ if ( c <= 0x1175 )
|
|
{ if ( c <= 0x1163 )
|
|
{ if ( c <= 0x1155 )
|
|
{ if ( c <= 0x114e )
|
|
{ return (c == 0x114e);} else
|
|
{ if ( c <= 0x1150 )
|
|
{ return (c == 0x1150);} else
|
|
{ return (c >= 0x1154 && c <= 0x1155);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1159 )
|
|
{ return (c == 0x1159);} else
|
|
{ if ( c <= 0x1161 )
|
|
{ return (c >= 0x115f && c <= 0x1161);
|
|
} else
|
|
{ return (c == 0x1163);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1169 )
|
|
{ if ( c <= 0x1165 )
|
|
{ return (c == 0x1165);} else
|
|
{ if ( c <= 0x1167 )
|
|
{ return (c == 0x1167);} else
|
|
{ return (c == 0x1169);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x116e )
|
|
{ return (c >= 0x116d && c <= 0x116e);
|
|
} else
|
|
{ if ( c <= 0x1173 )
|
|
{ return (c >= 0x1172 && c <= 0x1173);
|
|
} else
|
|
{ return (c == 0x1175);}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x11ba )
|
|
{ if ( c <= 0x11ab )
|
|
{ if ( c <= 0x119e )
|
|
{ return (c == 0x119e);} else
|
|
{ if ( c <= 0x11a8 )
|
|
{ return (c == 0x11a8);} else
|
|
{ return (c == 0x11ab);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x11af )
|
|
{ return (c >= 0x11ae && c <= 0x11af);
|
|
} else
|
|
{ if ( c <= 0x11b8 )
|
|
{ return (c >= 0x11b7 && c <= 0x11b8);
|
|
} else
|
|
{ return (c == 0x11ba);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x11f0 )
|
|
{ if ( c <= 0x11c2 )
|
|
{ return (c >= 0x11bc && c <= 0x11c2);
|
|
} else
|
|
{ if ( c <= 0x11eb )
|
|
{ return (c == 0x11eb);} else
|
|
{ return (c == 0x11f0);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1e9b )
|
|
{ if ( c <= 0x11f9 )
|
|
{ return (c == 0x11f9);} else
|
|
{ return (c >= 0x1e00 && c <= 0x1e9b);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1ef9 )
|
|
{ return (c >= 0x1ea0 && c <= 0x1ef9);
|
|
} else
|
|
{ return (c >= 0x1f00 && c <= 0x1f15);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1fcc )
|
|
{ if ( c <= 0x1f5b )
|
|
{ if ( c <= 0x1f4d )
|
|
{ if ( c <= 0x1f1d )
|
|
{ return (c >= 0x1f18 && c <= 0x1f1d);
|
|
} else
|
|
{ if ( c <= 0x1f45 )
|
|
{ return (c >= 0x1f20 && c <= 0x1f45);
|
|
} else
|
|
{ return (c >= 0x1f48 && c <= 0x1f4d);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1f57 )
|
|
{ return (c >= 0x1f50 && c <= 0x1f57);
|
|
} else
|
|
{ if ( c <= 0x1f59 )
|
|
{ return (c == 0x1f59);} else
|
|
{ return (c == 0x1f5b);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1fb4 )
|
|
{ if ( c <= 0x1f5d )
|
|
{ return (c == 0x1f5d);} else
|
|
{ if ( c <= 0x1f7d )
|
|
{ return (c >= 0x1f5f && c <= 0x1f7d);
|
|
} else
|
|
{ return (c >= 0x1f80 && c <= 0x1fb4);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1fbe )
|
|
{ if ( c <= 0x1fbc )
|
|
{ return (c >= 0x1fb6 && c <= 0x1fbc);
|
|
} else
|
|
{ return (c == 0x1fbe);}
|
|
} else
|
|
{ if ( c <= 0x1fc4 )
|
|
{ return (c >= 0x1fc2 && c <= 0x1fc4);
|
|
} else
|
|
{ return (c >= 0x1fc6 && c <= 0x1fcc);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x2126 )
|
|
{ if ( c <= 0x1fec )
|
|
{ if ( c <= 0x1fd3 )
|
|
{ return (c >= 0x1fd0 && c <= 0x1fd3);
|
|
} else
|
|
{ if ( c <= 0x1fdb )
|
|
{ return (c >= 0x1fd6 && c <= 0x1fdb);
|
|
} else
|
|
{ return (c >= 0x1fe0 && c <= 0x1fec);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x1ff4 )
|
|
{ return (c >= 0x1ff2 && c <= 0x1ff4);
|
|
} else
|
|
{ if ( c <= 0x1ffc )
|
|
{ return (c >= 0x1ff6 && c <= 0x1ffc);
|
|
} else
|
|
{ return (c == 0x2126);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x2182 )
|
|
{ if ( c <= 0x212b )
|
|
{ return (c >= 0x212a && c <= 0x212b);
|
|
} else
|
|
{ if ( c <= 0x212e )
|
|
{ return (c == 0x212e);} else
|
|
{ return (c >= 0x2180 && c <= 0x2182);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x30fa )
|
|
{ if ( c <= 0x3094 )
|
|
{ return (c >= 0x3041 && c <= 0x3094);
|
|
} else
|
|
{ return (c >= 0x30a1 && c <= 0x30fa);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x312c )
|
|
{ return (c >= 0x3105 && c <= 0x312c);
|
|
} else
|
|
{ return (c >= 0xac00 && c <= 0xd7a3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
int
|
|
xml_ideographic(int c)
|
|
{ if ( c <= 0x9fa5 )
|
|
{ return (c >= 0x4e00 && c <= 0x9fa5);
|
|
} else
|
|
{ if ( c <= 0x3007 )
|
|
{ return (c == 0x3007);} else
|
|
{ return (c >= 0x3021 && c <= 0x3029);
|
|
}
|
|
}
|
|
}
|
|
|
|
int
|
|
xml_combining_char(int c)
|
|
{ if ( c <= 0x0b43 )
|
|
{ if ( c <= 0x0983 )
|
|
{ if ( c <= 0x0670 )
|
|
{ if ( c <= 0x05b9 )
|
|
{ if ( c <= 0x0361 )
|
|
{ if ( c <= 0x0345 )
|
|
{ return (c >= 0x0300 && c <= 0x0345);
|
|
} else
|
|
{ return (c >= 0x0360 && c <= 0x0361);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0486 )
|
|
{ return (c >= 0x0483 && c <= 0x0486);
|
|
} else
|
|
{ if ( c <= 0x05a1 )
|
|
{ return (c >= 0x0591 && c <= 0x05a1);
|
|
} else
|
|
{ return (c >= 0x05a3 && c <= 0x05b9);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x05c2 )
|
|
{ if ( c <= 0x05bd )
|
|
{ return (c >= 0x05bb && c <= 0x05bd);
|
|
} else
|
|
{ if ( c <= 0x05bf )
|
|
{ return (c == 0x05bf);} else
|
|
{ return (c >= 0x05c1 && c <= 0x05c2);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x05c4 )
|
|
{ return (c == 0x05c4);} else
|
|
{ if ( c <= 0x0652 )
|
|
{ return (c >= 0x064b && c <= 0x0652);
|
|
} else
|
|
{ return (c == 0x0670);}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0903 )
|
|
{ if ( c <= 0x06e4 )
|
|
{ if ( c <= 0x06dc )
|
|
{ return (c >= 0x06d6 && c <= 0x06dc);
|
|
} else
|
|
{ if ( c <= 0x06df )
|
|
{ return (c >= 0x06dd && c <= 0x06df);
|
|
} else
|
|
{ return (c >= 0x06e0 && c <= 0x06e4);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x06e8 )
|
|
{ return (c >= 0x06e7 && c <= 0x06e8);
|
|
} else
|
|
{ if ( c <= 0x06ed )
|
|
{ return (c >= 0x06ea && c <= 0x06ed);
|
|
} else
|
|
{ return (c >= 0x0901 && c <= 0x0903);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x094d )
|
|
{ if ( c <= 0x093c )
|
|
{ return (c == 0x093c);} else
|
|
{ if ( c <= 0x094c )
|
|
{ return (c >= 0x093e && c <= 0x094c);
|
|
} else
|
|
{ return (c == 0x094d);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0954 )
|
|
{ return (c >= 0x0951 && c <= 0x0954);
|
|
} else
|
|
{ if ( c <= 0x0963 )
|
|
{ return (c >= 0x0962 && c <= 0x0963);
|
|
} else
|
|
{ return (c >= 0x0981 && c <= 0x0983);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a3f )
|
|
{ if ( c <= 0x09cd )
|
|
{ if ( c <= 0x09bf )
|
|
{ if ( c <= 0x09bc )
|
|
{ return (c == 0x09bc);} else
|
|
{ if ( c <= 0x09be )
|
|
{ return (c == 0x09be);} else
|
|
{ return (c == 0x09bf);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x09c4 )
|
|
{ return (c >= 0x09c0 && c <= 0x09c4);
|
|
} else
|
|
{ if ( c <= 0x09c8 )
|
|
{ return (c >= 0x09c7 && c <= 0x09c8);
|
|
} else
|
|
{ return (c >= 0x09cb && c <= 0x09cd);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a02 )
|
|
{ if ( c <= 0x09d7 )
|
|
{ return (c == 0x09d7);} else
|
|
{ if ( c <= 0x09e3 )
|
|
{ return (c >= 0x09e2 && c <= 0x09e3);
|
|
} else
|
|
{ return (c == 0x0a02);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a3c )
|
|
{ return (c == 0x0a3c);} else
|
|
{ if ( c <= 0x0a3e )
|
|
{ return (c == 0x0a3e);} else
|
|
{ return (c == 0x0a3f);}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0abc )
|
|
{ if ( c <= 0x0a4d )
|
|
{ if ( c <= 0x0a42 )
|
|
{ return (c >= 0x0a40 && c <= 0x0a42);
|
|
} else
|
|
{ if ( c <= 0x0a48 )
|
|
{ return (c >= 0x0a47 && c <= 0x0a48);
|
|
} else
|
|
{ return (c >= 0x0a4b && c <= 0x0a4d);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a71 )
|
|
{ return (c >= 0x0a70 && c <= 0x0a71);
|
|
} else
|
|
{ if ( c <= 0x0a83 )
|
|
{ return (c >= 0x0a81 && c <= 0x0a83);
|
|
} else
|
|
{ return (c == 0x0abc);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0acd )
|
|
{ if ( c <= 0x0ac5 )
|
|
{ return (c >= 0x0abe && c <= 0x0ac5);
|
|
} else
|
|
{ if ( c <= 0x0ac9 )
|
|
{ return (c >= 0x0ac7 && c <= 0x0ac9);
|
|
} else
|
|
{ return (c >= 0x0acb && c <= 0x0acd);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b03 )
|
|
{ return (c >= 0x0b01 && c <= 0x0b03);
|
|
} else
|
|
{ if ( c <= 0x0b3c )
|
|
{ return (c == 0x0b3c);} else
|
|
{ return (c >= 0x0b3e && c <= 0x0b43);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0e31 )
|
|
{ if ( c <= 0x0c4d )
|
|
{ if ( c <= 0x0bc8 )
|
|
{ if ( c <= 0x0b57 )
|
|
{ if ( c <= 0x0b48 )
|
|
{ return (c >= 0x0b47 && c <= 0x0b48);
|
|
} else
|
|
{ if ( c <= 0x0b4d )
|
|
{ return (c >= 0x0b4b && c <= 0x0b4d);
|
|
} else
|
|
{ return (c >= 0x0b56 && c <= 0x0b57);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0b83 )
|
|
{ return (c >= 0x0b82 && c <= 0x0b83);
|
|
} else
|
|
{ if ( c <= 0x0bc2 )
|
|
{ return (c >= 0x0bbe && c <= 0x0bc2);
|
|
} else
|
|
{ return (c >= 0x0bc6 && c <= 0x0bc8);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0c03 )
|
|
{ if ( c <= 0x0bcd )
|
|
{ return (c >= 0x0bca && c <= 0x0bcd);
|
|
} else
|
|
{ if ( c <= 0x0bd7 )
|
|
{ return (c == 0x0bd7);} else
|
|
{ return (c >= 0x0c01 && c <= 0x0c03);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0c44 )
|
|
{ return (c >= 0x0c3e && c <= 0x0c44);
|
|
} else
|
|
{ if ( c <= 0x0c48 )
|
|
{ return (c >= 0x0c46 && c <= 0x0c48);
|
|
} else
|
|
{ return (c >= 0x0c4a && c <= 0x0c4d);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0cd6 )
|
|
{ if ( c <= 0x0cc4 )
|
|
{ if ( c <= 0x0c56 )
|
|
{ return (c >= 0x0c55 && c <= 0x0c56);
|
|
} else
|
|
{ if ( c <= 0x0c83 )
|
|
{ return (c >= 0x0c82 && c <= 0x0c83);
|
|
} else
|
|
{ return (c >= 0x0cbe && c <= 0x0cc4);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0cc8 )
|
|
{ return (c >= 0x0cc6 && c <= 0x0cc8);
|
|
} else
|
|
{ if ( c <= 0x0ccd )
|
|
{ return (c >= 0x0cca && c <= 0x0ccd);
|
|
} else
|
|
{ return (c >= 0x0cd5 && c <= 0x0cd6);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0d48 )
|
|
{ if ( c <= 0x0d03 )
|
|
{ return (c >= 0x0d02 && c <= 0x0d03);
|
|
} else
|
|
{ if ( c <= 0x0d43 )
|
|
{ return (c >= 0x0d3e && c <= 0x0d43);
|
|
} else
|
|
{ return (c >= 0x0d46 && c <= 0x0d48);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0d4d )
|
|
{ return (c >= 0x0d4a && c <= 0x0d4d);
|
|
} else
|
|
{ if ( c <= 0x0d57 )
|
|
{ return (c == 0x0d57);} else
|
|
{ return (c == 0x0e31);}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0f3f )
|
|
{ if ( c <= 0x0ecd )
|
|
{ if ( c <= 0x0eb1 )
|
|
{ if ( c <= 0x0e3a )
|
|
{ return (c >= 0x0e34 && c <= 0x0e3a);
|
|
} else
|
|
{ if ( c <= 0x0e4e )
|
|
{ return (c >= 0x0e47 && c <= 0x0e4e);
|
|
} else
|
|
{ return (c == 0x0eb1);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0eb9 )
|
|
{ return (c >= 0x0eb4 && c <= 0x0eb9);
|
|
} else
|
|
{ if ( c <= 0x0ebc )
|
|
{ return (c >= 0x0ebb && c <= 0x0ebc);
|
|
} else
|
|
{ return (c >= 0x0ec8 && c <= 0x0ecd);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0f37 )
|
|
{ if ( c <= 0x0f19 )
|
|
{ return (c >= 0x0f18 && c <= 0x0f19);
|
|
} else
|
|
{ if ( c <= 0x0f35 )
|
|
{ return (c == 0x0f35);} else
|
|
{ return (c == 0x0f37);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0f39 )
|
|
{ return (c == 0x0f39);} else
|
|
{ if ( c <= 0x0f3e )
|
|
{ return (c == 0x0f3e);} else
|
|
{ return (c == 0x0f3f);}
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0fb7 )
|
|
{ if ( c <= 0x0f95 )
|
|
{ if ( c <= 0x0f84 )
|
|
{ return (c >= 0x0f71 && c <= 0x0f84);
|
|
} else
|
|
{ if ( c <= 0x0f8b )
|
|
{ return (c >= 0x0f86 && c <= 0x0f8b);
|
|
} else
|
|
{ return (c >= 0x0f90 && c <= 0x0f95);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0f97 )
|
|
{ return (c == 0x0f97);} else
|
|
{ if ( c <= 0x0fad )
|
|
{ return (c >= 0x0f99 && c <= 0x0fad);
|
|
} else
|
|
{ return (c >= 0x0fb1 && c <= 0x0fb7);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x20e1 )
|
|
{ if ( c <= 0x0fb9 )
|
|
{ return (c == 0x0fb9);} else
|
|
{ if ( c <= 0x20dc )
|
|
{ return (c >= 0x20d0 && c <= 0x20dc);
|
|
} else
|
|
{ return (c == 0x20e1);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x302f )
|
|
{ return (c >= 0x302a && c <= 0x302f);
|
|
} else
|
|
{ if ( c <= 0x3099 )
|
|
{ return (c == 0x3099);} else
|
|
{ return (c == 0x309a);}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
int
|
|
xml_digit(int c)
|
|
{ if ( c <= 0x0aef )
|
|
{ if ( c <= 0x06f9 )
|
|
{ if ( c <= 0x0039 )
|
|
{ return (c >= 0x0030 && c <= 0x0039);
|
|
} else
|
|
{ if ( c <= 0x0669 )
|
|
{ return (c >= 0x0660 && c <= 0x0669);
|
|
} else
|
|
{ return (c >= 0x06f0 && c <= 0x06f9);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x09ef )
|
|
{ if ( c <= 0x096f )
|
|
{ return (c >= 0x0966 && c <= 0x096f);
|
|
} else
|
|
{ return (c >= 0x09e6 && c <= 0x09ef);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0a6f )
|
|
{ return (c >= 0x0a66 && c <= 0x0a6f);
|
|
} else
|
|
{ return (c >= 0x0ae6 && c <= 0x0aef);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0cef )
|
|
{ if ( c <= 0x0bef )
|
|
{ if ( c <= 0x0b6f )
|
|
{ return (c >= 0x0b66 && c <= 0x0b6f);
|
|
} else
|
|
{ return (c >= 0x0be7 && c <= 0x0bef);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0c6f )
|
|
{ return (c >= 0x0c66 && c <= 0x0c6f);
|
|
} else
|
|
{ return (c >= 0x0ce6 && c <= 0x0cef);
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0e59 )
|
|
{ if ( c <= 0x0d6f )
|
|
{ return (c >= 0x0d66 && c <= 0x0d6f);
|
|
} else
|
|
{ return (c >= 0x0e50 && c <= 0x0e59);
|
|
}
|
|
} else
|
|
{ if ( c <= 0x0ed9 )
|
|
{ return (c >= 0x0ed0 && c <= 0x0ed9);
|
|
} else
|
|
{ return (c >= 0x0f20 && c <= 0x0f29);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
int
|
|
xml_extender(int c)
|
|
{ if ( c <= 0x0640 )
|
|
{ if ( c <= 0x02d0 )
|
|
{ if ( c <= 0x00b7 )
|
|
{ return (c == 0x00b7);} else
|
|
{ return (c == 0x02d0);}
|
|
} else
|
|
{ if ( c <= 0x02d1 )
|
|
{ return (c == 0x02d1);} else
|
|
{ if ( c <= 0x0387 )
|
|
{ return (c == 0x0387);} else
|
|
{ return (c == 0x0640);}
|
|
}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x3005 )
|
|
{ if ( c <= 0x0e46 )
|
|
{ return (c == 0x0e46);} else
|
|
{ if ( c <= 0x0ec6 )
|
|
{ return (c == 0x0ec6);} else
|
|
{ return (c == 0x3005);}
|
|
}
|
|
} else
|
|
{ if ( c <= 0x3035 )
|
|
{ return (c >= 0x3031 && c <= 0x3035);
|
|
} else
|
|
{ if ( c <= 0x309e )
|
|
{ return (c >= 0x309d && c <= 0x309e);
|
|
} else
|
|
{ return (c >= 0x30fc && c <= 0x30fe);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|