1194 lines
16 KiB
C
1194 lines
16 KiB
C
|
|
#include <blue/core/encoding.h>
|
||
|
|
#include <wctype.h>
|
||
|
|
|
||
|
|
bool b_wchar_is_number(b_wchar c)
|
||
|
|
{
|
||
|
|
return iswnumber((wchar_t)c);
|
||
|
|
}
|
||
|
|
|
||
|
|
bool b_wchar_is_alpha(b_wchar c)
|
||
|
|
{
|
||
|
|
if (c == 0) {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0041 && c <= 0x005A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0061 && c <= 0x007A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x00C0 && c <= 0x00D6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x00D8 && c <= 0x00F6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x00F8 && c <= 0x02C1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x02C6 && c <= 0x02D1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x02E0 && c <= 0x02E4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0370 && c <= 0x0374) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x037A && c <= 0x037D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0388 && c <= 0x038A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x038E && c <= 0x03A1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x03A3 && c <= 0x03F5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x03F7 && c <= 0x0481) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x048A && c <= 0x0527) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0531 && c <= 0x0556) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0561 && c <= 0x0587) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x05D0 && c <= 0x05EA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x05F0 && c <= 0x05F2) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0620 && c <= 0x064A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0671 && c <= 0x06D3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x06FA && c <= 0x06FC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0712 && c <= 0x072F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x074D && c <= 0x07A5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x07CA && c <= 0x07EA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0800 && c <= 0x0815) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0840 && c <= 0x0858) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x08A2 && c <= 0x08AC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0904 && c <= 0x0939) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0958 && c <= 0x0961) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0971 && c <= 0x0977) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0979 && c <= 0x097F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0985 && c <= 0x098C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0993 && c <= 0x09A8) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x09AA && c <= 0x09B0) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x09B6 && c <= 0x09B9) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x09DF && c <= 0x09E1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A05 && c <= 0x0A0A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A13 && c <= 0x0A28) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A2A && c <= 0x0A30) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A59 && c <= 0x0A5C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A72 && c <= 0x0A74) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A85 && c <= 0x0A8D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A8F && c <= 0x0A91) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0A93 && c <= 0x0AA8) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0AAA && c <= 0x0AB0) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0AB5 && c <= 0x0AB9) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B05 && c <= 0x0B0C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B13 && c <= 0x0B28) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B2A && c <= 0x0B30) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B35 && c <= 0x0B39) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B5F && c <= 0x0B61) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B85 && c <= 0x0B8A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B8E && c <= 0x0B90) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0B92 && c <= 0x0B95) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0BA8 && c <= 0x0BAA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0BAE && c <= 0x0BB9) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C05 && c <= 0x0C0C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C0E && c <= 0x0C10) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C12 && c <= 0x0C28) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C2A && c <= 0x0C33) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C35 && c <= 0x0C39) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C85 && c <= 0x0C8C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C8E && c <= 0x0C90) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0C92 && c <= 0x0CA8) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0CAA && c <= 0x0CB3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0CB5 && c <= 0x0CB9) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0D05 && c <= 0x0D0C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0D0E && c <= 0x0D10) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0D12 && c <= 0x0D3A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0D7A && c <= 0x0D7F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0D85 && c <= 0x0D96) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0D9A && c <= 0x0DB1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0DB3 && c <= 0x0DBB) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0DC0 && c <= 0x0DC6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0E01 && c <= 0x0E30) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0E40 && c <= 0x0E46) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0E94 && c <= 0x0E97) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0E99 && c <= 0x0E9F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0EA1 && c <= 0x0EA3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0EAD && c <= 0x0EB0) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0EC0 && c <= 0x0EC4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0EDC && c <= 0x0EDF) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0F40 && c <= 0x0F47) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0F49 && c <= 0x0F6C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x0F88 && c <= 0x0F8C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1000 && c <= 0x102A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1050 && c <= 0x1055) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x105A && c <= 0x105D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x106E && c <= 0x1070) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1075 && c <= 0x1081) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x10A0 && c <= 0x10C5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x10D0 && c <= 0x10FA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x10FC && c <= 0x1248) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x124A && c <= 0x124D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1250 && c <= 0x1256) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x125A && c <= 0x125D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1260 && c <= 0x1288) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x128A && c <= 0x128D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1290 && c <= 0x12B0) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x12B2 && c <= 0x12B5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x12B8 && c <= 0x12BE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x12C2 && c <= 0x12C5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x12C8 && c <= 0x12D6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x12D8 && c <= 0x1310) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1312 && c <= 0x1315) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1318 && c <= 0x135A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1380 && c <= 0x138F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x13A0 && c <= 0x13F4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1401 && c <= 0x166C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x166F && c <= 0x167F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1681 && c <= 0x169A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x16A0 && c <= 0x16EA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1700 && c <= 0x170C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x170E && c <= 0x1711) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1720 && c <= 0x1731) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1740 && c <= 0x1751) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1760 && c <= 0x176C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x176E && c <= 0x1770) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1780 && c <= 0x17B3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1820 && c <= 0x1877) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1880 && c <= 0x18A8) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x18B0 && c <= 0x18F5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1900 && c <= 0x191C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1950 && c <= 0x196D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1970 && c <= 0x1974) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1980 && c <= 0x19AB) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x19C1 && c <= 0x19C7) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1A00 && c <= 0x1A16) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1A20 && c <= 0x1A54) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1B05 && c <= 0x1B33) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1B45 && c <= 0x1B4B) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1B83 && c <= 0x1BA0) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1BBA && c <= 0x1BE5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1C00 && c <= 0x1C23) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1C4D && c <= 0x1C4F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1C5A && c <= 0x1C7D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1CE9 && c <= 0x1CEC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1CEE && c <= 0x1CF1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1D00 && c <= 0x1DBF) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1E00 && c <= 0x1F15) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1F18 && c <= 0x1F1D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1F20 && c <= 0x1F45) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1F48 && c <= 0x1F4D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1F50 && c <= 0x1F57) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1F5F && c <= 0x1F7D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1F80 && c <= 0x1FB4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FB6 && c <= 0x1FBC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FC2 && c <= 0x1FC4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FC6 && c <= 0x1FCC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FD0 && c <= 0x1FD3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FD6 && c <= 0x1FDB) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FE0 && c <= 0x1FEC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FF2 && c <= 0x1FF4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x1FF6 && c <= 0x1FFC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2090 && c <= 0x209C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x210A && c <= 0x2113) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2119 && c <= 0x211D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x212A && c <= 0x212D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x212F && c <= 0x2139) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x213C && c <= 0x213F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2145 && c <= 0x2149) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2C00 && c <= 0x2C2E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2C30 && c <= 0x2C5E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2C60 && c <= 0x2CE4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2CEB && c <= 0x2CEE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2D00 && c <= 0x2D25) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2D30 && c <= 0x2D67) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2D80 && c <= 0x2D96) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DA0 && c <= 0x2DA6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DA8 && c <= 0x2DAE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DB0 && c <= 0x2DB6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DB8 && c <= 0x2DBE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DC0 && c <= 0x2DC6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DC8 && c <= 0x2DCE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DD0 && c <= 0x2DD6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x2DD8 && c <= 0x2DDE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x3031 && c <= 0x3035) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x3041 && c <= 0x3096) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x309D && c <= 0x309F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x30A1 && c <= 0x30FA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x30FC && c <= 0x30FF) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x3105 && c <= 0x312D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x3131 && c <= 0x318E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x31A0 && c <= 0x31BA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x31F0 && c <= 0x31FF) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x3400 && c <= 0x4DB5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0x4E00 && c <= 0x9FCC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA000 && c <= 0xA48C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA4D0 && c <= 0xA4FD) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA500 && c <= 0xA60C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA610 && c <= 0xA61F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA640 && c <= 0xA66E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA67F && c <= 0xA697) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA6A0 && c <= 0xA6E5) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA717 && c <= 0xA71F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA722 && c <= 0xA788) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA78B && c <= 0xA78E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA790 && c <= 0xA793) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA7A0 && c <= 0xA7AA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA7F8 && c <= 0xA801) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA803 && c <= 0xA805) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA807 && c <= 0xA80A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA80C && c <= 0xA822) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA840 && c <= 0xA873) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA882 && c <= 0xA8B3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA8F2 && c <= 0xA8F7) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA90A && c <= 0xA925) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA930 && c <= 0xA946) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA960 && c <= 0xA97C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xA984 && c <= 0xA9B2) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAA00 && c <= 0xAA28) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAA40 && c <= 0xAA42) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAA44 && c <= 0xAA4B) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAA60 && c <= 0xAA76) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAA80 && c <= 0xAAAF) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAAB9 && c <= 0xAABD) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAADB && c <= 0xAADD) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAAE0 && c <= 0xAAEA) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAAF2 && c <= 0xAAF4) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAB01 && c <= 0xAB06) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAB09 && c <= 0xAB0E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAB11 && c <= 0xAB16) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAB20 && c <= 0xAB26) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAB28 && c <= 0xAB2E) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xABC0 && c <= 0xABE2) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xAC00 && c <= 0xD7A3) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xD7B0 && c <= 0xD7C6) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xD7CB && c <= 0xD7FB) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xF900 && c <= 0xFA6D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFA70 && c <= 0xFAD9) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFB00 && c <= 0xFB06) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFB13 && c <= 0xFB17) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFB1F && c <= 0xFB28) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFB2A && c <= 0xFB36) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFB38 && c <= 0xFB3C) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFB46 && c <= 0xFBB1) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFBD3 && c <= 0xFD3D) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFD50 && c <= 0xFD8F) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFD92 && c <= 0xFDC7) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFDF0 && c <= 0xFDFB) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFE70 && c <= 0xFE74) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFE76 && c <= 0xFEFC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFF21 && c <= 0xFF3A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFF41 && c <= 0xFF5A) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFF66 && c <= 0xFFBE) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFFC2 && c <= 0xFFC7) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFFCA && c <= 0xFFCF) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFFD2 && c <= 0xFFD7) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (c >= 0xFFDA && c <= 0xFFDC) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
switch (c) {
|
||
|
|
case 0x00AA:
|
||
|
|
case 0x00B5:
|
||
|
|
case 0x00BA:
|
||
|
|
case 0x02EC:
|
||
|
|
case 0x02EE:
|
||
|
|
case 0x0376:
|
||
|
|
case 0x0377:
|
||
|
|
case 0x0386:
|
||
|
|
case 0x038C:
|
||
|
|
case 0x0559:
|
||
|
|
case 0x066E:
|
||
|
|
case 0x066F:
|
||
|
|
case 0x06D5:
|
||
|
|
case 0x06E5:
|
||
|
|
case 0x06E6:
|
||
|
|
case 0x06EE:
|
||
|
|
case 0x06EF:
|
||
|
|
case 0x06FF:
|
||
|
|
case 0x0710:
|
||
|
|
case 0x07B1:
|
||
|
|
case 0x07F4:
|
||
|
|
case 0x07F5:
|
||
|
|
case 0x07FA:
|
||
|
|
case 0x081A:
|
||
|
|
case 0x0824:
|
||
|
|
case 0x0828:
|
||
|
|
case 0x08A0:
|
||
|
|
case 0x093D:
|
||
|
|
case 0x0950:
|
||
|
|
case 0x098F:
|
||
|
|
case 0x0990:
|
||
|
|
case 0x09B2:
|
||
|
|
case 0x09BD:
|
||
|
|
case 0x09CE:
|
||
|
|
case 0x09DC:
|
||
|
|
case 0x09DD:
|
||
|
|
case 0x09F0:
|
||
|
|
case 0x09F1:
|
||
|
|
case 0x0A0F:
|
||
|
|
case 0x0A10:
|
||
|
|
case 0x0A32:
|
||
|
|
case 0x0A33:
|
||
|
|
case 0x0A35:
|
||
|
|
case 0x0A36:
|
||
|
|
case 0x0A38:
|
||
|
|
case 0x0A39:
|
||
|
|
case 0x0A5E:
|
||
|
|
case 0x0AB2:
|
||
|
|
case 0x0AB3:
|
||
|
|
case 0x0ABD:
|
||
|
|
case 0x0AD0:
|
||
|
|
case 0x0AE0:
|
||
|
|
case 0x0AE1:
|
||
|
|
case 0x0B0F:
|
||
|
|
case 0x0B10:
|
||
|
|
case 0x0B32:
|
||
|
|
case 0x0B33:
|
||
|
|
case 0x0B3D:
|
||
|
|
case 0x0B5C:
|
||
|
|
case 0x0B5D:
|
||
|
|
case 0x0B71:
|
||
|
|
case 0x0B83:
|
||
|
|
case 0x0B99:
|
||
|
|
case 0x0B9A:
|
||
|
|
case 0x0B9C:
|
||
|
|
case 0x0B9E:
|
||
|
|
case 0x0B9F:
|
||
|
|
case 0x0BA3:
|
||
|
|
case 0x0BA4:
|
||
|
|
case 0x0BD0:
|
||
|
|
case 0x0C3D:
|
||
|
|
case 0x0C58:
|
||
|
|
case 0x0C59:
|
||
|
|
case 0x0C60:
|
||
|
|
case 0x0C61:
|
||
|
|
case 0x0CBD:
|
||
|
|
case 0x0CDE:
|
||
|
|
case 0x0CE0:
|
||
|
|
case 0x0CE1:
|
||
|
|
case 0x0CF1:
|
||
|
|
case 0x0CF2:
|
||
|
|
case 0x0D3D:
|
||
|
|
case 0x0D4E:
|
||
|
|
case 0x0D60:
|
||
|
|
case 0x0D61:
|
||
|
|
case 0x0DBD:
|
||
|
|
case 0x0E32:
|
||
|
|
case 0x0E33:
|
||
|
|
case 0x0E81:
|
||
|
|
case 0x0E82:
|
||
|
|
case 0x0E84:
|
||
|
|
case 0x0E87:
|
||
|
|
case 0x0E88:
|
||
|
|
case 0x0E8A:
|
||
|
|
case 0x0E8D:
|
||
|
|
case 0x0EA5:
|
||
|
|
case 0x0EA7:
|
||
|
|
case 0x0EAA:
|
||
|
|
case 0x0EAB:
|
||
|
|
case 0x0EB2:
|
||
|
|
case 0x0EB3:
|
||
|
|
case 0x0EBD:
|
||
|
|
case 0x0EC6:
|
||
|
|
case 0x0F00:
|
||
|
|
case 0x103F:
|
||
|
|
case 0x1061:
|
||
|
|
case 0x1065:
|
||
|
|
case 0x1066:
|
||
|
|
case 0x108E:
|
||
|
|
case 0x10C7:
|
||
|
|
case 0x10CD:
|
||
|
|
case 0x1258:
|
||
|
|
case 0x12C0:
|
||
|
|
case 0x17D7:
|
||
|
|
case 0x17DC:
|
||
|
|
case 0x18AA:
|
||
|
|
case 0x1AA7:
|
||
|
|
case 0x1BAE:
|
||
|
|
case 0x1BAF:
|
||
|
|
case 0x1CF5:
|
||
|
|
case 0x1CF6:
|
||
|
|
case 0x1F59:
|
||
|
|
case 0x1F5B:
|
||
|
|
case 0x1F5D:
|
||
|
|
case 0x1FBE:
|
||
|
|
case 0x2071:
|
||
|
|
case 0x207F:
|
||
|
|
case 0x2102:
|
||
|
|
case 0x2107:
|
||
|
|
case 0x2115:
|
||
|
|
case 0x2124:
|
||
|
|
case 0x2126:
|
||
|
|
case 0x2128:
|
||
|
|
case 0x214E:
|
||
|
|
case 0x2183:
|
||
|
|
case 0x2184:
|
||
|
|
case 0x2CF2:
|
||
|
|
case 0x2CF3:
|
||
|
|
case 0x2D27:
|
||
|
|
case 0x2D2D:
|
||
|
|
case 0x2D6F:
|
||
|
|
case 0x2E2F:
|
||
|
|
case 0x3005:
|
||
|
|
case 0x3006:
|
||
|
|
case 0x303B:
|
||
|
|
case 0x303C:
|
||
|
|
case 0xA62A:
|
||
|
|
case 0xA62B:
|
||
|
|
case 0xA8FB:
|
||
|
|
case 0xA9CF:
|
||
|
|
case 0xAA7A:
|
||
|
|
case 0xAAB1:
|
||
|
|
case 0xAAB5:
|
||
|
|
case 0xAAB6:
|
||
|
|
case 0xAAC0:
|
||
|
|
case 0xAAC2:
|
||
|
|
case 0xFB1D:
|
||
|
|
case 0xFB3E:
|
||
|
|
case 0xFB40:
|
||
|
|
case 0xFB41:
|
||
|
|
case 0xFB43:
|
||
|
|
case 0xFB44:
|
||
|
|
return true;
|
||
|
|
default:
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
bool b_wchar_is_hex_digit(b_wchar c)
|
||
|
|
{
|
||
|
|
return isxdigit(c);
|
||
|
|
}
|
||
|
|
|
||
|
|
bool b_wchar_is_space(b_wchar c)
|
||
|
|
{
|
||
|
|
return iswspace((wchar_t)c);
|
||
|
|
}
|
||
|
|
|
||
|
|
bool b_wchar_is_punct(b_wchar c)
|
||
|
|
{
|
||
|
|
return iswpunct((wchar_t)c);
|
||
|
|
}
|