Files
kitty/kitty/unicode-data.c
2024-11-10 09:03:52 +05:30

2833 lines
55 KiB
C
Generated

// Unicode data, built from the Unicode Standard 16.0.0
// Code generated by wcwidth.py, DO NOT EDIT.
#include "data-types.h"
START_ALLOW_CASE_RANGE
#include "unicode-data.h"
START_ALLOW_CASE_RANGE
bool
is_combining_char(char_type code) {
// Combining and default ignored characters (6475 codepoints) {{{
if (LIKELY(code < 173)) return false;
switch(code) {
case 0xad:
return true;
case 0x300 ... 0x36f:
return true;
case 0x483 ... 0x489:
return true;
case 0x591 ... 0x5bd:
return true;
case 0x5bf:
return true;
case 0x5c1 ... 0x5c2:
return true;
case 0x5c4 ... 0x5c5:
return true;
case 0x5c7:
return true;
case 0x600 ... 0x605:
return true;
case 0x610 ... 0x61a:
return true;
case 0x61c:
return true;
case 0x64b ... 0x65f:
return true;
case 0x670:
return true;
case 0x6d6 ... 0x6dd:
return true;
case 0x6df ... 0x6e4:
return true;
case 0x6e7 ... 0x6e8:
return true;
case 0x6ea ... 0x6ed:
return true;
case 0x70f:
return true;
case 0x711:
return true;
case 0x730 ... 0x74a:
return true;
case 0x7a6 ... 0x7b0:
return true;
case 0x7eb ... 0x7f3:
return true;
case 0x7fd:
return true;
case 0x816 ... 0x819:
return true;
case 0x81b ... 0x823:
return true;
case 0x825 ... 0x827:
return true;
case 0x829 ... 0x82d:
return true;
case 0x859 ... 0x85b:
return true;
case 0x890 ... 0x891:
return true;
case 0x897 ... 0x89f:
return true;
case 0x8ca ... 0x903:
return true;
case 0x93a ... 0x93c:
return true;
case 0x93e ... 0x94f:
return true;
case 0x951 ... 0x957:
return true;
case 0x962 ... 0x963:
return true;
case 0x981 ... 0x983:
return true;
case 0x9bc:
return true;
case 0x9be ... 0x9c4:
return true;
case 0x9c7 ... 0x9c8:
return true;
case 0x9cb ... 0x9cd:
return true;
case 0x9d7:
return true;
case 0x9e2 ... 0x9e3:
return true;
case 0x9fe:
return true;
case 0xa01 ... 0xa03:
return true;
case 0xa3c:
return true;
case 0xa3e ... 0xa42:
return true;
case 0xa47 ... 0xa48:
return true;
case 0xa4b ... 0xa4d:
return true;
case 0xa51:
return true;
case 0xa70 ... 0xa71:
return true;
case 0xa75:
return true;
case 0xa81 ... 0xa83:
return true;
case 0xabc:
return true;
case 0xabe ... 0xac5:
return true;
case 0xac7 ... 0xac9:
return true;
case 0xacb ... 0xacd:
return true;
case 0xae2 ... 0xae3:
return true;
case 0xafa ... 0xaff:
return true;
case 0xb01 ... 0xb03:
return true;
case 0xb3c:
return true;
case 0xb3e ... 0xb44:
return true;
case 0xb47 ... 0xb48:
return true;
case 0xb4b ... 0xb4d:
return true;
case 0xb55 ... 0xb57:
return true;
case 0xb62 ... 0xb63:
return true;
case 0xb82:
return true;
case 0xbbe ... 0xbc2:
return true;
case 0xbc6 ... 0xbc8:
return true;
case 0xbca ... 0xbcd:
return true;
case 0xbd7:
return true;
case 0xc00 ... 0xc04:
return true;
case 0xc3c:
return true;
case 0xc3e ... 0xc44:
return true;
case 0xc46 ... 0xc48:
return true;
case 0xc4a ... 0xc4d:
return true;
case 0xc55 ... 0xc56:
return true;
case 0xc62 ... 0xc63:
return true;
case 0xc81 ... 0xc83:
return true;
case 0xcbc:
return true;
case 0xcbe ... 0xcc4:
return true;
case 0xcc6 ... 0xcc8:
return true;
case 0xcca ... 0xccd:
return true;
case 0xcd5 ... 0xcd6:
return true;
case 0xce2 ... 0xce3:
return true;
case 0xcf3:
return true;
case 0xd00 ... 0xd03:
return true;
case 0xd3b ... 0xd3c:
return true;
case 0xd3e ... 0xd44:
return true;
case 0xd46 ... 0xd48:
return true;
case 0xd4a ... 0xd4d:
return true;
case 0xd57:
return true;
case 0xd62 ... 0xd63:
return true;
case 0xd81 ... 0xd83:
return true;
case 0xdca:
return true;
case 0xdcf ... 0xdd4:
return true;
case 0xdd6:
return true;
case 0xdd8 ... 0xddf:
return true;
case 0xdf2 ... 0xdf3:
return true;
case 0xe31:
return true;
case 0xe34 ... 0xe3a:
return true;
case 0xe47 ... 0xe4e:
return true;
case 0xeb1:
return true;
case 0xeb4 ... 0xebc:
return true;
case 0xec8 ... 0xece:
return true;
case 0xf18 ... 0xf19:
return true;
case 0xf35:
return true;
case 0xf37:
return true;
case 0xf39:
return true;
case 0xf3e ... 0xf3f:
return true;
case 0xf71 ... 0xf84:
return true;
case 0xf86 ... 0xf87:
return true;
case 0xf8d ... 0xf97:
return true;
case 0xf99 ... 0xfbc:
return true;
case 0xfc6:
return true;
case 0x102b ... 0x103e:
return true;
case 0x1056 ... 0x1059:
return true;
case 0x105e ... 0x1060:
return true;
case 0x1062 ... 0x1064:
return true;
case 0x1067 ... 0x106d:
return true;
case 0x1071 ... 0x1074:
return true;
case 0x1082 ... 0x108d:
return true;
case 0x108f:
return true;
case 0x109a ... 0x109d:
return true;
case 0x115f ... 0x1160:
return true;
case 0x135d ... 0x135f:
return true;
case 0x1712 ... 0x1715:
return true;
case 0x1732 ... 0x1734:
return true;
case 0x1752 ... 0x1753:
return true;
case 0x1772 ... 0x1773:
return true;
case 0x17b4 ... 0x17d3:
return true;
case 0x17dd:
return true;
case 0x180b ... 0x180f:
return true;
case 0x1885 ... 0x1886:
return true;
case 0x18a9:
return true;
case 0x1920 ... 0x192b:
return true;
case 0x1930 ... 0x193b:
return true;
case 0x1a17 ... 0x1a1b:
return true;
case 0x1a55 ... 0x1a5e:
return true;
case 0x1a60 ... 0x1a7c:
return true;
case 0x1a7f:
return true;
case 0x1ab0 ... 0x1ace:
return true;
case 0x1b00 ... 0x1b04:
return true;
case 0x1b34 ... 0x1b44:
return true;
case 0x1b6b ... 0x1b73:
return true;
case 0x1b80 ... 0x1b82:
return true;
case 0x1ba1 ... 0x1bad:
return true;
case 0x1be6 ... 0x1bf3:
return true;
case 0x1c24 ... 0x1c37:
return true;
case 0x1cd0 ... 0x1cd2:
return true;
case 0x1cd4 ... 0x1ce8:
return true;
case 0x1ced:
return true;
case 0x1cf4:
return true;
case 0x1cf7 ... 0x1cf9:
return true;
case 0x1dc0 ... 0x1dff:
return true;
case 0x200b ... 0x200f:
return true;
case 0x202a ... 0x202e:
return true;
case 0x2060 ... 0x206f:
return true;
case 0x20d0 ... 0x20f0:
return true;
case 0x2cef ... 0x2cf1:
return true;
case 0x2d7f:
return true;
case 0x2de0 ... 0x2dff:
return true;
case 0x302a ... 0x302f:
return true;
case 0x3099 ... 0x309a:
return true;
case 0x3164:
return true;
case 0xa66f ... 0xa672:
return true;
case 0xa674 ... 0xa67d:
return true;
case 0xa69e ... 0xa69f:
return true;
case 0xa6f0 ... 0xa6f1:
return true;
case 0xa802:
return true;
case 0xa806:
return true;
case 0xa80b:
return true;
case 0xa823 ... 0xa827:
return true;
case 0xa82c:
return true;
case 0xa880 ... 0xa881:
return true;
case 0xa8b4 ... 0xa8c5:
return true;
case 0xa8e0 ... 0xa8f1:
return true;
case 0xa8ff:
return true;
case 0xa926 ... 0xa92d:
return true;
case 0xa947 ... 0xa953:
return true;
case 0xa980 ... 0xa983:
return true;
case 0xa9b3 ... 0xa9c0:
return true;
case 0xa9e5:
return true;
case 0xaa29 ... 0xaa36:
return true;
case 0xaa43:
return true;
case 0xaa4c ... 0xaa4d:
return true;
case 0xaa7b ... 0xaa7d:
return true;
case 0xaab0:
return true;
case 0xaab2 ... 0xaab4:
return true;
case 0xaab7 ... 0xaab8:
return true;
case 0xaabe ... 0xaabf:
return true;
case 0xaac1:
return true;
case 0xaaeb ... 0xaaef:
return true;
case 0xaaf5 ... 0xaaf6:
return true;
case 0xabe3 ... 0xabea:
return true;
case 0xabec ... 0xabed:
return true;
case 0xfb1e:
return true;
case 0xfe00 ... 0xfe0f:
return true;
case 0xfe20 ... 0xfe2f:
return true;
case 0xfeff:
return true;
case 0xffa0:
return true;
case 0xfff0 ... 0xfffb:
return true;
case 0x101fd:
return true;
case 0x102e0:
return true;
case 0x10376 ... 0x1037a:
return true;
case 0x10a01 ... 0x10a03:
return true;
case 0x10a05 ... 0x10a06:
return true;
case 0x10a0c ... 0x10a0f:
return true;
case 0x10a38 ... 0x10a3a:
return true;
case 0x10a3f:
return true;
case 0x10ae5 ... 0x10ae6:
return true;
case 0x10d24 ... 0x10d27:
return true;
case 0x10d69 ... 0x10d6d:
return true;
case 0x10eab ... 0x10eac:
return true;
case 0x10efc ... 0x10eff:
return true;
case 0x10f46 ... 0x10f50:
return true;
case 0x10f82 ... 0x10f85:
return true;
case 0x11000 ... 0x11002:
return true;
case 0x11038 ... 0x11046:
return true;
case 0x11070:
return true;
case 0x11073 ... 0x11074:
return true;
case 0x1107f ... 0x11082:
return true;
case 0x110b0 ... 0x110ba:
return true;
case 0x110bd:
return true;
case 0x110c2:
return true;
case 0x110cd:
return true;
case 0x11100 ... 0x11102:
return true;
case 0x11127 ... 0x11134:
return true;
case 0x11145 ... 0x11146:
return true;
case 0x11173:
return true;
case 0x11180 ... 0x11182:
return true;
case 0x111b3 ... 0x111c0:
return true;
case 0x111c9 ... 0x111cc:
return true;
case 0x111ce ... 0x111cf:
return true;
case 0x1122c ... 0x11237:
return true;
case 0x1123e:
return true;
case 0x11241:
return true;
case 0x112df ... 0x112ea:
return true;
case 0x11300 ... 0x11303:
return true;
case 0x1133b ... 0x1133c:
return true;
case 0x1133e ... 0x11344:
return true;
case 0x11347 ... 0x11348:
return true;
case 0x1134b ... 0x1134d:
return true;
case 0x11357:
return true;
case 0x11362 ... 0x11363:
return true;
case 0x11366 ... 0x1136c:
return true;
case 0x11370 ... 0x11374:
return true;
case 0x113b8 ... 0x113c0:
return true;
case 0x113c2:
return true;
case 0x113c5:
return true;
case 0x113c7 ... 0x113ca:
return true;
case 0x113cc ... 0x113d0:
return true;
case 0x113d2:
return true;
case 0x113e1 ... 0x113e2:
return true;
case 0x11435 ... 0x11446:
return true;
case 0x1145e:
return true;
case 0x114b0 ... 0x114c3:
return true;
case 0x115af ... 0x115b5:
return true;
case 0x115b8 ... 0x115c0:
return true;
case 0x115dc ... 0x115dd:
return true;
case 0x11630 ... 0x11640:
return true;
case 0x116ab ... 0x116b7:
return true;
case 0x1171d ... 0x1172b:
return true;
case 0x1182c ... 0x1183a:
return true;
case 0x11930 ... 0x11935:
return true;
case 0x11937 ... 0x11938:
return true;
case 0x1193b ... 0x1193e:
return true;
case 0x11940:
return true;
case 0x11942 ... 0x11943:
return true;
case 0x119d1 ... 0x119d7:
return true;
case 0x119da ... 0x119e0:
return true;
case 0x119e4:
return true;
case 0x11a01 ... 0x11a0a:
return true;
case 0x11a33 ... 0x11a39:
return true;
case 0x11a3b ... 0x11a3e:
return true;
case 0x11a47:
return true;
case 0x11a51 ... 0x11a5b:
return true;
case 0x11a8a ... 0x11a99:
return true;
case 0x11c2f ... 0x11c36:
return true;
case 0x11c38 ... 0x11c3f:
return true;
case 0x11c92 ... 0x11ca7:
return true;
case 0x11ca9 ... 0x11cb6:
return true;
case 0x11d31 ... 0x11d36:
return true;
case 0x11d3a:
return true;
case 0x11d3c ... 0x11d3d:
return true;
case 0x11d3f ... 0x11d45:
return true;
case 0x11d47:
return true;
case 0x11d8a ... 0x11d8e:
return true;
case 0x11d90 ... 0x11d91:
return true;
case 0x11d93 ... 0x11d97:
return true;
case 0x11ef3 ... 0x11ef6:
return true;
case 0x11f00 ... 0x11f01:
return true;
case 0x11f03:
return true;
case 0x11f34 ... 0x11f3a:
return true;
case 0x11f3e ... 0x11f42:
return true;
case 0x11f5a:
return true;
case 0x13430 ... 0x13440:
return true;
case 0x13447 ... 0x13455:
return true;
case 0x1611e ... 0x1612f:
return true;
case 0x16af0 ... 0x16af4:
return true;
case 0x16b30 ... 0x16b36:
return true;
case 0x16f4f:
return true;
case 0x16f51 ... 0x16f87:
return true;
case 0x16f8f ... 0x16f92:
return true;
case 0x16fe4:
return true;
case 0x16ff0 ... 0x16ff1:
return true;
case 0x1bc9d ... 0x1bc9e:
return true;
case 0x1bca0 ... 0x1bca3:
return true;
case 0x1cf00 ... 0x1cf2d:
return true;
case 0x1cf30 ... 0x1cf46:
return true;
case 0x1d165 ... 0x1d169:
return true;
case 0x1d16d ... 0x1d182:
return true;
case 0x1d185 ... 0x1d18b:
return true;
case 0x1d1aa ... 0x1d1ad:
return true;
case 0x1d242 ... 0x1d244:
return true;
case 0x1da00 ... 0x1da36:
return true;
case 0x1da3b ... 0x1da6c:
return true;
case 0x1da75:
return true;
case 0x1da84:
return true;
case 0x1da9b ... 0x1da9f:
return true;
case 0x1daa1 ... 0x1daaf:
return true;
case 0x1e000 ... 0x1e006:
return true;
case 0x1e008 ... 0x1e018:
return true;
case 0x1e01b ... 0x1e021:
return true;
case 0x1e023 ... 0x1e024:
return true;
case 0x1e026 ... 0x1e02a:
return true;
case 0x1e08f:
return true;
case 0x1e130 ... 0x1e136:
return true;
case 0x1e2ae:
return true;
case 0x1e2ec ... 0x1e2ef:
return true;
case 0x1e4ec ... 0x1e4ef:
return true;
case 0x1e5ee ... 0x1e5ef:
return true;
case 0x1e8d0 ... 0x1e8d6:
return true;
case 0x1e944 ... 0x1e94a:
return true;
case 0x1f1e6 ... 0x1f1ff:
return true;
case 0x1f3fb ... 0x1f3ff:
return true;
case 0xe0000 ... 0xe0fff:
return true;
} // }}}
return false;
}
bool
is_ignored_char(char_type code) {
// Control characters and non-characters (2179 codepoints) {{{
if (LIKELY(0x20 <= code && code <= 0x7e)) return false;
switch(code) {
case 0x0 ... 0x1f:
return true;
case 0x7f ... 0x9f:
return true;
case 0xd800 ... 0xdfff:
return true;
case 0xfdd0 ... 0xfdef:
return true;
case 0xfffe ... 0xffff:
return true;
case 0x1fffe ... 0x1ffff:
return true;
case 0x2fffe ... 0x2ffff:
return true;
case 0x3fffe ... 0x3ffff:
return true;
case 0x4fffe ... 0x4ffff:
return true;
case 0x5fffe ... 0x5ffff:
return true;
case 0x6fffe ... 0x6ffff:
return true;
case 0x7fffe ... 0x7ffff:
return true;
case 0x8fffe ... 0x8ffff:
return true;
case 0x9fffe ... 0x9ffff:
return true;
case 0xafffe ... 0xaffff:
return true;
case 0xbfffe ... 0xbffff:
return true;
case 0xcfffe ... 0xcffff:
return true;
case 0xdfffe ... 0xdffff:
return true;
case 0xefffe ... 0xeffff:
return true;
case 0xffffe ... 0xfffff:
return true;
case 0x10fffe ... 0x10ffff:
return true;
} // }}}
return false;
}
bool
is_non_rendered_char(char_type code) {
// Other_Default_Ignorable_Code_Point and soft hyphen (6075 codepoints) {{{
if (LIKELY(0x20 <= code && code <= 0x7e)) return false;
switch(code) {
case 0x0 ... 0x1f:
return true;
case 0x7f ... 0x9f:
return true;
case 0xad:
return true;
case 0x34f:
return true;
case 0x600 ... 0x605:
return true;
case 0x61c:
return true;
case 0x6dd:
return true;
case 0x70f:
return true;
case 0x890 ... 0x891:
return true;
case 0x8e2:
return true;
case 0x115f ... 0x1160:
return true;
case 0x17b4 ... 0x17b5:
return true;
case 0x180e:
return true;
case 0x200b ... 0x200f:
return true;
case 0x202a ... 0x202e:
return true;
case 0x2060 ... 0x206f:
return true;
case 0x3164:
return true;
case 0xd800 ... 0xdfff:
return true;
case 0xfe00 ... 0xfe0f:
return true;
case 0xfeff:
return true;
case 0xffa0:
return true;
case 0xfff0 ... 0xfffb:
return true;
case 0x110bd:
return true;
case 0x110cd:
return true;
case 0x13430 ... 0x1343f:
return true;
case 0x1bca0 ... 0x1bca3:
return true;
case 0x1d173 ... 0x1d17a:
return true;
case 0xe0000 ... 0xe00ff:
return true;
case 0xe01f0 ... 0xe0fff:
return true;
} // }}}
return false;
}
bool
is_word_char(char_type code) {
// L and N categories (142939 codepoints) {{{
switch(code) {
case 0x30 ... 0x39:
return true;
case 0x41 ... 0x5a:
return true;
case 0x61 ... 0x7a:
return true;
case 0xaa:
return true;
case 0xb2 ... 0xb3:
return true;
case 0xb5:
return true;
case 0xb9 ... 0xba:
return true;
case 0xbc ... 0xbe:
return true;
case 0xc0 ... 0xd6:
return true;
case 0xd8 ... 0xf6:
return true;
case 0xf8 ... 0x2c1:
return true;
case 0x2c6 ... 0x2d1:
return true;
case 0x2e0 ... 0x2e4:
return true;
case 0x2ec:
return true;
case 0x2ee:
return true;
case 0x370 ... 0x374:
return true;
case 0x376 ... 0x377:
return true;
case 0x37a ... 0x37d:
return true;
case 0x37f:
return true;
case 0x386:
return true;
case 0x388 ... 0x38a:
return true;
case 0x38c:
return true;
case 0x38e ... 0x3a1:
return true;
case 0x3a3 ... 0x3f5:
return true;
case 0x3f7 ... 0x481:
return true;
case 0x48a ... 0x52f:
return true;
case 0x531 ... 0x556:
return true;
case 0x559:
return true;
case 0x560 ... 0x588:
return true;
case 0x5d0 ... 0x5ea:
return true;
case 0x5ef ... 0x5f2:
return true;
case 0x620 ... 0x64a:
return true;
case 0x660 ... 0x669:
return true;
case 0x66e ... 0x66f:
return true;
case 0x671 ... 0x6d3:
return true;
case 0x6d5:
return true;
case 0x6e5 ... 0x6e6:
return true;
case 0x6ee ... 0x6fc:
return true;
case 0x6ff:
return true;
case 0x710:
return true;
case 0x712 ... 0x72f:
return true;
case 0x74d ... 0x7a5:
return true;
case 0x7b1:
return true;
case 0x7c0 ... 0x7ea:
return true;
case 0x7f4 ... 0x7f5:
return true;
case 0x7fa:
return true;
case 0x800 ... 0x815:
return true;
case 0x81a:
return true;
case 0x824:
return true;
case 0x828:
return true;
case 0x840 ... 0x858:
return true;
case 0x860 ... 0x86a:
return true;
case 0x870 ... 0x887:
return true;
case 0x889 ... 0x88e:
return true;
case 0x8a0 ... 0x8c9:
return true;
case 0x904 ... 0x939:
return true;
case 0x93d:
return true;
case 0x950:
return true;
case 0x958 ... 0x961:
return true;
case 0x966 ... 0x96f:
return true;
case 0x971 ... 0x980:
return true;
case 0x985 ... 0x98c:
return true;
case 0x98f ... 0x990:
return true;
case 0x993 ... 0x9a8:
return true;
case 0x9aa ... 0x9b0:
return true;
case 0x9b2:
return true;
case 0x9b6 ... 0x9b9:
return true;
case 0x9bd:
return true;
case 0x9ce:
return true;
case 0x9dc ... 0x9dd:
return true;
case 0x9df ... 0x9e1:
return true;
case 0x9e6 ... 0x9f1:
return true;
case 0x9f4 ... 0x9f9:
return true;
case 0x9fc:
return true;
case 0xa05 ... 0xa0a:
return true;
case 0xa0f ... 0xa10:
return true;
case 0xa13 ... 0xa28:
return true;
case 0xa2a ... 0xa30:
return true;
case 0xa32 ... 0xa33:
return true;
case 0xa35 ... 0xa36:
return true;
case 0xa38 ... 0xa39:
return true;
case 0xa59 ... 0xa5c:
return true;
case 0xa5e:
return true;
case 0xa66 ... 0xa6f:
return true;
case 0xa72 ... 0xa74:
return true;
case 0xa85 ... 0xa8d:
return true;
case 0xa8f ... 0xa91:
return true;
case 0xa93 ... 0xaa8:
return true;
case 0xaaa ... 0xab0:
return true;
case 0xab2 ... 0xab3:
return true;
case 0xab5 ... 0xab9:
return true;
case 0xabd:
return true;
case 0xad0:
return true;
case 0xae0 ... 0xae1:
return true;
case 0xae6 ... 0xaef:
return true;
case 0xaf9:
return true;
case 0xb05 ... 0xb0c:
return true;
case 0xb0f ... 0xb10:
return true;
case 0xb13 ... 0xb28:
return true;
case 0xb2a ... 0xb30:
return true;
case 0xb32 ... 0xb33:
return true;
case 0xb35 ... 0xb39:
return true;
case 0xb3d:
return true;
case 0xb5c ... 0xb5d:
return true;
case 0xb5f ... 0xb61:
return true;
case 0xb66 ... 0xb6f:
return true;
case 0xb71 ... 0xb77:
return true;
case 0xb83:
return true;
case 0xb85 ... 0xb8a:
return true;
case 0xb8e ... 0xb90:
return true;
case 0xb92 ... 0xb95:
return true;
case 0xb99 ... 0xb9a:
return true;
case 0xb9c:
return true;
case 0xb9e ... 0xb9f:
return true;
case 0xba3 ... 0xba4:
return true;
case 0xba8 ... 0xbaa:
return true;
case 0xbae ... 0xbb9:
return true;
case 0xbd0:
return true;
case 0xbe6 ... 0xbf2:
return true;
case 0xc05 ... 0xc0c:
return true;
case 0xc0e ... 0xc10:
return true;
case 0xc12 ... 0xc28:
return true;
case 0xc2a ... 0xc39:
return true;
case 0xc3d:
return true;
case 0xc58 ... 0xc5a:
return true;
case 0xc5d:
return true;
case 0xc60 ... 0xc61:
return true;
case 0xc66 ... 0xc6f:
return true;
case 0xc78 ... 0xc7e:
return true;
case 0xc80:
return true;
case 0xc85 ... 0xc8c:
return true;
case 0xc8e ... 0xc90:
return true;
case 0xc92 ... 0xca8:
return true;
case 0xcaa ... 0xcb3:
return true;
case 0xcb5 ... 0xcb9:
return true;
case 0xcbd:
return true;
case 0xcdd ... 0xcde:
return true;
case 0xce0 ... 0xce1:
return true;
case 0xce6 ... 0xcef:
return true;
case 0xcf1 ... 0xcf2:
return true;
case 0xd04 ... 0xd0c:
return true;
case 0xd0e ... 0xd10:
return true;
case 0xd12 ... 0xd3a:
return true;
case 0xd3d:
return true;
case 0xd4e:
return true;
case 0xd54 ... 0xd56:
return true;
case 0xd58 ... 0xd61:
return true;
case 0xd66 ... 0xd78:
return true;
case 0xd7a ... 0xd7f:
return true;
case 0xd85 ... 0xd96:
return true;
case 0xd9a ... 0xdb1:
return true;
case 0xdb3 ... 0xdbb:
return true;
case 0xdbd:
return true;
case 0xdc0 ... 0xdc6:
return true;
case 0xde6 ... 0xdef:
return true;
case 0xe01 ... 0xe30:
return true;
case 0xe32 ... 0xe33:
return true;
case 0xe40 ... 0xe46:
return true;
case 0xe50 ... 0xe59:
return true;
case 0xe81 ... 0xe82:
return true;
case 0xe84:
return true;
case 0xe86 ... 0xe8a:
return true;
case 0xe8c ... 0xea3:
return true;
case 0xea5:
return true;
case 0xea7 ... 0xeb0:
return true;
case 0xeb2 ... 0xeb3:
return true;
case 0xebd:
return true;
case 0xec0 ... 0xec4:
return true;
case 0xec6:
return true;
case 0xed0 ... 0xed9:
return true;
case 0xedc ... 0xedf:
return true;
case 0xf00:
return true;
case 0xf20 ... 0xf33:
return true;
case 0xf40 ... 0xf47:
return true;
case 0xf49 ... 0xf6c:
return true;
case 0xf88 ... 0xf8c:
return true;
case 0x1000 ... 0x102a:
return true;
case 0x103f ... 0x1049:
return true;
case 0x1050 ... 0x1055:
return true;
case 0x105a ... 0x105d:
return true;
case 0x1061:
return true;
case 0x1065 ... 0x1066:
return true;
case 0x106e ... 0x1070:
return true;
case 0x1075 ... 0x1081:
return true;
case 0x108e:
return true;
case 0x1090 ... 0x1099:
return true;
case 0x10a0 ... 0x10c5:
return true;
case 0x10c7:
return true;
case 0x10cd:
return true;
case 0x10d0 ... 0x10fa:
return true;
case 0x10fc ... 0x1248:
return true;
case 0x124a ... 0x124d:
return true;
case 0x1250 ... 0x1256:
return true;
case 0x1258:
return true;
case 0x125a ... 0x125d:
return true;
case 0x1260 ... 0x1288:
return true;
case 0x128a ... 0x128d:
return true;
case 0x1290 ... 0x12b0:
return true;
case 0x12b2 ... 0x12b5:
return true;
case 0x12b8 ... 0x12be:
return true;
case 0x12c0:
return true;
case 0x12c2 ... 0x12c5:
return true;
case 0x12c8 ... 0x12d6:
return true;
case 0x12d8 ... 0x1310:
return true;
case 0x1312 ... 0x1315:
return true;
case 0x1318 ... 0x135a:
return true;
case 0x1369 ... 0x137c:
return true;
case 0x1380 ... 0x138f:
return true;
case 0x13a0 ... 0x13f5:
return true;
case 0x13f8 ... 0x13fd:
return true;
case 0x1401 ... 0x166c:
return true;
case 0x166f ... 0x167f:
return true;
case 0x1681 ... 0x169a:
return true;
case 0x16a0 ... 0x16ea:
return true;
case 0x16ee ... 0x16f8:
return true;
case 0x1700 ... 0x1711:
return true;
case 0x171f ... 0x1731:
return true;
case 0x1740 ... 0x1751:
return true;
case 0x1760 ... 0x176c:
return true;
case 0x176e ... 0x1770:
return true;
case 0x1780 ... 0x17b3:
return true;
case 0x17d7:
return true;
case 0x17dc:
return true;
case 0x17e0 ... 0x17e9:
return true;
case 0x17f0 ... 0x17f9:
return true;
case 0x1810 ... 0x1819:
return true;
case 0x1820 ... 0x1878:
return true;
case 0x1880 ... 0x1884:
return true;
case 0x1887 ... 0x18a8:
return true;
case 0x18aa:
return true;
case 0x18b0 ... 0x18f5:
return true;
case 0x1900 ... 0x191e:
return true;
case 0x1946 ... 0x196d:
return true;
case 0x1970 ... 0x1974:
return true;
case 0x1980 ... 0x19ab:
return true;
case 0x19b0 ... 0x19c9:
return true;
case 0x19d0 ... 0x19da:
return true;
case 0x1a00 ... 0x1a16:
return true;
case 0x1a20 ... 0x1a54:
return true;
case 0x1a80 ... 0x1a89:
return true;
case 0x1a90 ... 0x1a99:
return true;
case 0x1aa7:
return true;
case 0x1b05 ... 0x1b33:
return true;
case 0x1b45 ... 0x1b4c:
return true;
case 0x1b50 ... 0x1b59:
return true;
case 0x1b83 ... 0x1ba0:
return true;
case 0x1bae ... 0x1be5:
return true;
case 0x1c00 ... 0x1c23:
return true;
case 0x1c40 ... 0x1c49:
return true;
case 0x1c4d ... 0x1c7d:
return true;
case 0x1c80 ... 0x1c8a:
return true;
case 0x1c90 ... 0x1cba:
return true;
case 0x1cbd ... 0x1cbf:
return true;
case 0x1ce9 ... 0x1cec:
return true;
case 0x1cee ... 0x1cf3:
return true;
case 0x1cf5 ... 0x1cf6:
return true;
case 0x1cfa:
return true;
case 0x1d00 ... 0x1dbf:
return true;
case 0x1e00 ... 0x1f15:
return true;
case 0x1f18 ... 0x1f1d:
return true;
case 0x1f20 ... 0x1f45:
return true;
case 0x1f48 ... 0x1f4d:
return true;
case 0x1f50 ... 0x1f57:
return true;
case 0x1f59:
return true;
case 0x1f5b:
return true;
case 0x1f5d:
return true;
case 0x1f5f ... 0x1f7d:
return true;
case 0x1f80 ... 0x1fb4:
return true;
case 0x1fb6 ... 0x1fbc:
return true;
case 0x1fbe:
return true;
case 0x1fc2 ... 0x1fc4:
return true;
case 0x1fc6 ... 0x1fcc:
return true;
case 0x1fd0 ... 0x1fd3:
return true;
case 0x1fd6 ... 0x1fdb:
return true;
case 0x1fe0 ... 0x1fec:
return true;
case 0x1ff2 ... 0x1ff4:
return true;
case 0x1ff6 ... 0x1ffc:
return true;
case 0x2070 ... 0x2071:
return true;
case 0x2074 ... 0x2079:
return true;
case 0x207f ... 0x2089:
return true;
case 0x2090 ... 0x209c:
return true;
case 0x2102:
return true;
case 0x2107:
return true;
case 0x210a ... 0x2113:
return true;
case 0x2115:
return true;
case 0x2119 ... 0x211d:
return true;
case 0x2124:
return true;
case 0x2126:
return true;
case 0x2128:
return true;
case 0x212a ... 0x212d:
return true;
case 0x212f ... 0x2139:
return true;
case 0x213c ... 0x213f:
return true;
case 0x2145 ... 0x2149:
return true;
case 0x214e:
return true;
case 0x2150 ... 0x2189:
return true;
case 0x2460 ... 0x249b:
return true;
case 0x24ea ... 0x24ff:
return true;
case 0x2776 ... 0x2793:
return true;
case 0x2c00 ... 0x2ce4:
return true;
case 0x2ceb ... 0x2cee:
return true;
case 0x2cf2 ... 0x2cf3:
return true;
case 0x2cfd:
return true;
case 0x2d00 ... 0x2d25:
return true;
case 0x2d27:
return true;
case 0x2d2d:
return true;
case 0x2d30 ... 0x2d67:
return true;
case 0x2d6f:
return true;
case 0x2d80 ... 0x2d96:
return true;
case 0x2da0 ... 0x2da6:
return true;
case 0x2da8 ... 0x2dae:
return true;
case 0x2db0 ... 0x2db6:
return true;
case 0x2db8 ... 0x2dbe:
return true;
case 0x2dc0 ... 0x2dc6:
return true;
case 0x2dc8 ... 0x2dce:
return true;
case 0x2dd0 ... 0x2dd6:
return true;
case 0x2dd8 ... 0x2dde:
return true;
case 0x2e2f:
return true;
case 0x3005 ... 0x3007:
return true;
case 0x3021 ... 0x3029:
return true;
case 0x3031 ... 0x3035:
return true;
case 0x3038 ... 0x303c:
return true;
case 0x3041 ... 0x3096:
return true;
case 0x309d ... 0x309f:
return true;
case 0x30a1 ... 0x30fa:
return true;
case 0x30fc ... 0x30ff:
return true;
case 0x3105 ... 0x312f:
return true;
case 0x3131 ... 0x318e:
return true;
case 0x3192 ... 0x3195:
return true;
case 0x31a0 ... 0x31bf:
return true;
case 0x31f0 ... 0x31ff:
return true;
case 0x3220 ... 0x3229:
return true;
case 0x3248 ... 0x324f:
return true;
case 0x3251 ... 0x325f:
return true;
case 0x3280 ... 0x3289:
return true;
case 0x32b1 ... 0x32bf:
return true;
case 0x3400 ... 0x4dbf:
return true;
case 0x4e00 ... 0xa48c:
return true;
case 0xa4d0 ... 0xa4fd:
return true;
case 0xa500 ... 0xa60c:
return true;
case 0xa610 ... 0xa62b:
return true;
case 0xa640 ... 0xa66e:
return true;
case 0xa67f ... 0xa69d:
return true;
case 0xa6a0 ... 0xa6ef:
return true;
case 0xa717 ... 0xa71f:
return true;
case 0xa722 ... 0xa788:
return true;
case 0xa78b ... 0xa7cd:
return true;
case 0xa7d0 ... 0xa7d1:
return true;
case 0xa7d3:
return true;
case 0xa7d5 ... 0xa7dc:
return true;
case 0xa7f2 ... 0xa801:
return true;
case 0xa803 ... 0xa805:
return true;
case 0xa807 ... 0xa80a:
return true;
case 0xa80c ... 0xa822:
return true;
case 0xa830 ... 0xa835:
return true;
case 0xa840 ... 0xa873:
return true;
case 0xa882 ... 0xa8b3:
return true;
case 0xa8d0 ... 0xa8d9:
return true;
case 0xa8f2 ... 0xa8f7:
return true;
case 0xa8fb:
return true;
case 0xa8fd ... 0xa8fe:
return true;
case 0xa900 ... 0xa925:
return true;
case 0xa930 ... 0xa946:
return true;
case 0xa960 ... 0xa97c:
return true;
case 0xa984 ... 0xa9b2:
return true;
case 0xa9cf ... 0xa9d9:
return true;
case 0xa9e0 ... 0xa9e4:
return true;
case 0xa9e6 ... 0xa9fe:
return true;
case 0xaa00 ... 0xaa28:
return true;
case 0xaa40 ... 0xaa42:
return true;
case 0xaa44 ... 0xaa4b:
return true;
case 0xaa50 ... 0xaa59:
return true;
case 0xaa60 ... 0xaa76:
return true;
case 0xaa7a:
return true;
case 0xaa7e ... 0xaaaf:
return true;
case 0xaab1:
return true;
case 0xaab5 ... 0xaab6:
return true;
case 0xaab9 ... 0xaabd:
return true;
case 0xaac0:
return true;
case 0xaac2:
return true;
case 0xaadb ... 0xaadd:
return true;
case 0xaae0 ... 0xaaea:
return true;
case 0xaaf2 ... 0xaaf4:
return true;
case 0xab01 ... 0xab06:
return true;
case 0xab09 ... 0xab0e:
return true;
case 0xab11 ... 0xab16:
return true;
case 0xab20 ... 0xab26:
return true;
case 0xab28 ... 0xab2e:
return true;
case 0xab30 ... 0xab5a:
return true;
case 0xab5c ... 0xab69:
return true;
case 0xab70 ... 0xabe2:
return true;
case 0xabf0 ... 0xabf9:
return true;
case 0xac00 ... 0xd7a3:
return true;
case 0xd7b0 ... 0xd7c6:
return true;
case 0xd7cb ... 0xd7fb:
return true;
case 0xf900 ... 0xfa6d:
return true;
case 0xfa70 ... 0xfad9:
return true;
case 0xfb00 ... 0xfb06:
return true;
case 0xfb13 ... 0xfb17:
return true;
case 0xfb1d:
return true;
case 0xfb1f ... 0xfb28:
return true;
case 0xfb2a ... 0xfb36:
return true;
case 0xfb38 ... 0xfb3c:
return true;
case 0xfb3e:
return true;
case 0xfb40 ... 0xfb41:
return true;
case 0xfb43 ... 0xfb44:
return true;
case 0xfb46 ... 0xfbb1:
return true;
case 0xfbd3 ... 0xfd3d:
return true;
case 0xfd50 ... 0xfd8f:
return true;
case 0xfd92 ... 0xfdc7:
return true;
case 0xfdf0 ... 0xfdfb:
return true;
case 0xfe70 ... 0xfe74:
return true;
case 0xfe76 ... 0xfefc:
return true;
case 0xff10 ... 0xff19:
return true;
case 0xff21 ... 0xff3a:
return true;
case 0xff41 ... 0xff5a:
return true;
case 0xff66 ... 0xffbe:
return true;
case 0xffc2 ... 0xffc7:
return true;
case 0xffca ... 0xffcf:
return true;
case 0xffd2 ... 0xffd7:
return true;
case 0xffda ... 0xffdc:
return true;
case 0x10000 ... 0x1000b:
return true;
case 0x1000d ... 0x10026:
return true;
case 0x10028 ... 0x1003a:
return true;
case 0x1003c ... 0x1003d:
return true;
case 0x1003f ... 0x1004d:
return true;
case 0x10050 ... 0x1005d:
return true;
case 0x10080 ... 0x100fa:
return true;
case 0x10107 ... 0x10133:
return true;
case 0x10140 ... 0x10178:
return true;
case 0x1018a ... 0x1018b:
return true;
case 0x10280 ... 0x1029c:
return true;
case 0x102a0 ... 0x102d0:
return true;
case 0x102e1 ... 0x102fb:
return true;
case 0x10300 ... 0x10323:
return true;
case 0x1032d ... 0x1034a:
return true;
case 0x10350 ... 0x10375:
return true;
case 0x10380 ... 0x1039d:
return true;
case 0x103a0 ... 0x103c3:
return true;
case 0x103c8 ... 0x103cf:
return true;
case 0x103d1 ... 0x103d5:
return true;
case 0x10400 ... 0x1049d:
return true;
case 0x104a0 ... 0x104a9:
return true;
case 0x104b0 ... 0x104d3:
return true;
case 0x104d8 ... 0x104fb:
return true;
case 0x10500 ... 0x10527:
return true;
case 0x10530 ... 0x10563:
return true;
case 0x10570 ... 0x1057a:
return true;
case 0x1057c ... 0x1058a:
return true;
case 0x1058c ... 0x10592:
return true;
case 0x10594 ... 0x10595:
return true;
case 0x10597 ... 0x105a1:
return true;
case 0x105a3 ... 0x105b1:
return true;
case 0x105b3 ... 0x105b9:
return true;
case 0x105bb ... 0x105bc:
return true;
case 0x105c0 ... 0x105f3:
return true;
case 0x10600 ... 0x10736:
return true;
case 0x10740 ... 0x10755:
return true;
case 0x10760 ... 0x10767:
return true;
case 0x10780 ... 0x10785:
return true;
case 0x10787 ... 0x107b0:
return true;
case 0x107b2 ... 0x107ba:
return true;
case 0x10800 ... 0x10805:
return true;
case 0x10808:
return true;
case 0x1080a ... 0x10835:
return true;
case 0x10837 ... 0x10838:
return true;
case 0x1083c:
return true;
case 0x1083f ... 0x10855:
return true;
case 0x10858 ... 0x10876:
return true;
case 0x10879 ... 0x1089e:
return true;
case 0x108a7 ... 0x108af:
return true;
case 0x108e0 ... 0x108f2:
return true;
case 0x108f4 ... 0x108f5:
return true;
case 0x108fb ... 0x1091b:
return true;
case 0x10920 ... 0x10939:
return true;
case 0x10980 ... 0x109b7:
return true;
case 0x109bc ... 0x109cf:
return true;
case 0x109d2 ... 0x10a00:
return true;
case 0x10a10 ... 0x10a13:
return true;
case 0x10a15 ... 0x10a17:
return true;
case 0x10a19 ... 0x10a35:
return true;
case 0x10a40 ... 0x10a48:
return true;
case 0x10a60 ... 0x10a7e:
return true;
case 0x10a80 ... 0x10a9f:
return true;
case 0x10ac0 ... 0x10ac7:
return true;
case 0x10ac9 ... 0x10ae4:
return true;
case 0x10aeb ... 0x10aef:
return true;
case 0x10b00 ... 0x10b35:
return true;
case 0x10b40 ... 0x10b55:
return true;
case 0x10b58 ... 0x10b72:
return true;
case 0x10b78 ... 0x10b91:
return true;
case 0x10ba9 ... 0x10baf:
return true;
case 0x10c00 ... 0x10c48:
return true;
case 0x10c80 ... 0x10cb2:
return true;
case 0x10cc0 ... 0x10cf2:
return true;
case 0x10cfa ... 0x10d23:
return true;
case 0x10d30 ... 0x10d39:
return true;
case 0x10d40 ... 0x10d65:
return true;
case 0x10d6f ... 0x10d85:
return true;
case 0x10e60 ... 0x10e7e:
return true;
case 0x10e80 ... 0x10ea9:
return true;
case 0x10eb0 ... 0x10eb1:
return true;
case 0x10ec2 ... 0x10ec4:
return true;
case 0x10f00 ... 0x10f27:
return true;
case 0x10f30 ... 0x10f45:
return true;
case 0x10f51 ... 0x10f54:
return true;
case 0x10f70 ... 0x10f81:
return true;
case 0x10fb0 ... 0x10fcb:
return true;
case 0x10fe0 ... 0x10ff6:
return true;
case 0x11003 ... 0x11037:
return true;
case 0x11052 ... 0x1106f:
return true;
case 0x11071 ... 0x11072:
return true;
case 0x11075:
return true;
case 0x11083 ... 0x110af:
return true;
case 0x110d0 ... 0x110e8:
return true;
case 0x110f0 ... 0x110f9:
return true;
case 0x11103 ... 0x11126:
return true;
case 0x11136 ... 0x1113f:
return true;
case 0x11144:
return true;
case 0x11147:
return true;
case 0x11150 ... 0x11172:
return true;
case 0x11176:
return true;
case 0x11183 ... 0x111b2:
return true;
case 0x111c1 ... 0x111c4:
return true;
case 0x111d0 ... 0x111da:
return true;
case 0x111dc:
return true;
case 0x111e1 ... 0x111f4:
return true;
case 0x11200 ... 0x11211:
return true;
case 0x11213 ... 0x1122b:
return true;
case 0x1123f ... 0x11240:
return true;
case 0x11280 ... 0x11286:
return true;
case 0x11288:
return true;
case 0x1128a ... 0x1128d:
return true;
case 0x1128f ... 0x1129d:
return true;
case 0x1129f ... 0x112a8:
return true;
case 0x112b0 ... 0x112de:
return true;
case 0x112f0 ... 0x112f9:
return true;
case 0x11305 ... 0x1130c:
return true;
case 0x1130f ... 0x11310:
return true;
case 0x11313 ... 0x11328:
return true;
case 0x1132a ... 0x11330:
return true;
case 0x11332 ... 0x11333:
return true;
case 0x11335 ... 0x11339:
return true;
case 0x1133d:
return true;
case 0x11350:
return true;
case 0x1135d ... 0x11361:
return true;
case 0x11380 ... 0x11389:
return true;
case 0x1138b:
return true;
case 0x1138e:
return true;
case 0x11390 ... 0x113b5:
return true;
case 0x113b7:
return true;
case 0x113d1:
return true;
case 0x113d3:
return true;
case 0x11400 ... 0x11434:
return true;
case 0x11447 ... 0x1144a:
return true;
case 0x11450 ... 0x11459:
return true;
case 0x1145f ... 0x11461:
return true;
case 0x11480 ... 0x114af:
return true;
case 0x114c4 ... 0x114c5:
return true;
case 0x114c7:
return true;
case 0x114d0 ... 0x114d9:
return true;
case 0x11580 ... 0x115ae:
return true;
case 0x115d8 ... 0x115db:
return true;
case 0x11600 ... 0x1162f:
return true;
case 0x11644:
return true;
case 0x11650 ... 0x11659:
return true;
case 0x11680 ... 0x116aa:
return true;
case 0x116b8:
return true;
case 0x116c0 ... 0x116c9:
return true;
case 0x116d0 ... 0x116e3:
return true;
case 0x11700 ... 0x1171a:
return true;
case 0x11730 ... 0x1173b:
return true;
case 0x11740 ... 0x11746:
return true;
case 0x11800 ... 0x1182b:
return true;
case 0x118a0 ... 0x118f2:
return true;
case 0x118ff ... 0x11906:
return true;
case 0x11909:
return true;
case 0x1190c ... 0x11913:
return true;
case 0x11915 ... 0x11916:
return true;
case 0x11918 ... 0x1192f:
return true;
case 0x1193f:
return true;
case 0x11941:
return true;
case 0x11950 ... 0x11959:
return true;
case 0x119a0 ... 0x119a7:
return true;
case 0x119aa ... 0x119d0:
return true;
case 0x119e1:
return true;
case 0x119e3:
return true;
case 0x11a00:
return true;
case 0x11a0b ... 0x11a32:
return true;
case 0x11a3a:
return true;
case 0x11a50:
return true;
case 0x11a5c ... 0x11a89:
return true;
case 0x11a9d:
return true;
case 0x11ab0 ... 0x11af8:
return true;
case 0x11bc0 ... 0x11be0:
return true;
case 0x11bf0 ... 0x11bf9:
return true;
case 0x11c00 ... 0x11c08:
return true;
case 0x11c0a ... 0x11c2e:
return true;
case 0x11c40:
return true;
case 0x11c50 ... 0x11c6c:
return true;
case 0x11c72 ... 0x11c8f:
return true;
case 0x11d00 ... 0x11d06:
return true;
case 0x11d08 ... 0x11d09:
return true;
case 0x11d0b ... 0x11d30:
return true;
case 0x11d46:
return true;
case 0x11d50 ... 0x11d59:
return true;
case 0x11d60 ... 0x11d65:
return true;
case 0x11d67 ... 0x11d68:
return true;
case 0x11d6a ... 0x11d89:
return true;
case 0x11d98:
return true;
case 0x11da0 ... 0x11da9:
return true;
case 0x11ee0 ... 0x11ef2:
return true;
case 0x11f02:
return true;
case 0x11f04 ... 0x11f10:
return true;
case 0x11f12 ... 0x11f33:
return true;
case 0x11f50 ... 0x11f59:
return true;
case 0x11fb0:
return true;
case 0x11fc0 ... 0x11fd4:
return true;
case 0x12000 ... 0x12399:
return true;
case 0x12400 ... 0x1246e:
return true;
case 0x12480 ... 0x12543:
return true;
case 0x12f90 ... 0x12ff0:
return true;
case 0x13000 ... 0x1342f:
return true;
case 0x13441 ... 0x13446:
return true;
case 0x13460 ... 0x143fa:
return true;
case 0x14400 ... 0x14646:
return true;
case 0x16100 ... 0x1611d:
return true;
case 0x16130 ... 0x16139:
return true;
case 0x16800 ... 0x16a38:
return true;
case 0x16a40 ... 0x16a5e:
return true;
case 0x16a60 ... 0x16a69:
return true;
case 0x16a70 ... 0x16abe:
return true;
case 0x16ac0 ... 0x16ac9:
return true;
case 0x16ad0 ... 0x16aed:
return true;
case 0x16b00 ... 0x16b2f:
return true;
case 0x16b40 ... 0x16b43:
return true;
case 0x16b50 ... 0x16b59:
return true;
case 0x16b5b ... 0x16b61:
return true;
case 0x16b63 ... 0x16b77:
return true;
case 0x16b7d ... 0x16b8f:
return true;
case 0x16d40 ... 0x16d6c:
return true;
case 0x16d70 ... 0x16d79:
return true;
case 0x16e40 ... 0x16e96:
return true;
case 0x16f00 ... 0x16f4a:
return true;
case 0x16f50:
return true;
case 0x16f93 ... 0x16f9f:
return true;
case 0x16fe0 ... 0x16fe1:
return true;
case 0x16fe3:
return true;
case 0x17000 ... 0x187f7:
return true;
case 0x18800 ... 0x18cd5:
return true;
case 0x18cff ... 0x18d08:
return true;
case 0x1aff0 ... 0x1aff3:
return true;
case 0x1aff5 ... 0x1affb:
return true;
case 0x1affd ... 0x1affe:
return true;
case 0x1b000 ... 0x1b122:
return true;
case 0x1b132:
return true;
case 0x1b150 ... 0x1b152:
return true;
case 0x1b155:
return true;
case 0x1b164 ... 0x1b167:
return true;
case 0x1b170 ... 0x1b2fb:
return true;
case 0x1bc00 ... 0x1bc6a:
return true;
case 0x1bc70 ... 0x1bc7c:
return true;
case 0x1bc80 ... 0x1bc88:
return true;
case 0x1bc90 ... 0x1bc99:
return true;
case 0x1ccf0 ... 0x1ccf9:
return true;
case 0x1d2c0 ... 0x1d2d3:
return true;
case 0x1d2e0 ... 0x1d2f3:
return true;
case 0x1d360 ... 0x1d378:
return true;
case 0x1d400 ... 0x1d454:
return true;
case 0x1d456 ... 0x1d49c:
return true;
case 0x1d49e ... 0x1d49f:
return true;
case 0x1d4a2:
return true;
case 0x1d4a5 ... 0x1d4a6:
return true;
case 0x1d4a9 ... 0x1d4ac:
return true;
case 0x1d4ae ... 0x1d4b9:
return true;
case 0x1d4bb:
return true;
case 0x1d4bd ... 0x1d4c3:
return true;
case 0x1d4c5 ... 0x1d505:
return true;
case 0x1d507 ... 0x1d50a:
return true;
case 0x1d50d ... 0x1d514:
return true;
case 0x1d516 ... 0x1d51c:
return true;
case 0x1d51e ... 0x1d539:
return true;
case 0x1d53b ... 0x1d53e:
return true;
case 0x1d540 ... 0x1d544:
return true;
case 0x1d546:
return true;
case 0x1d54a ... 0x1d550:
return true;
case 0x1d552 ... 0x1d6a5:
return true;
case 0x1d6a8 ... 0x1d6c0:
return true;
case 0x1d6c2 ... 0x1d6da:
return true;
case 0x1d6dc ... 0x1d6fa:
return true;
case 0x1d6fc ... 0x1d714:
return true;
case 0x1d716 ... 0x1d734:
return true;
case 0x1d736 ... 0x1d74e:
return true;
case 0x1d750 ... 0x1d76e:
return true;
case 0x1d770 ... 0x1d788:
return true;
case 0x1d78a ... 0x1d7a8:
return true;
case 0x1d7aa ... 0x1d7c2:
return true;
case 0x1d7c4 ... 0x1d7cb:
return true;
case 0x1d7ce ... 0x1d7ff:
return true;
case 0x1df00 ... 0x1df1e:
return true;
case 0x1df25 ... 0x1df2a:
return true;
case 0x1e030 ... 0x1e06d:
return true;
case 0x1e100 ... 0x1e12c:
return true;
case 0x1e137 ... 0x1e13d:
return true;
case 0x1e140 ... 0x1e149:
return true;
case 0x1e14e:
return true;
case 0x1e290 ... 0x1e2ad:
return true;
case 0x1e2c0 ... 0x1e2eb:
return true;
case 0x1e2f0 ... 0x1e2f9:
return true;
case 0x1e4d0 ... 0x1e4eb:
return true;
case 0x1e4f0 ... 0x1e4f9:
return true;
case 0x1e5d0 ... 0x1e5ed:
return true;
case 0x1e5f0 ... 0x1e5fa:
return true;
case 0x1e7e0 ... 0x1e7e6:
return true;
case 0x1e7e8 ... 0x1e7eb:
return true;
case 0x1e7ed ... 0x1e7ee:
return true;
case 0x1e7f0 ... 0x1e7fe:
return true;
case 0x1e800 ... 0x1e8c4:
return true;
case 0x1e8c7 ... 0x1e8cf:
return true;
case 0x1e900 ... 0x1e943:
return true;
case 0x1e94b:
return true;
case 0x1e950 ... 0x1e959:
return true;
case 0x1ec71 ... 0x1ecab:
return true;
case 0x1ecad ... 0x1ecaf:
return true;
case 0x1ecb1 ... 0x1ecb4:
return true;
case 0x1ed01 ... 0x1ed2d:
return true;
case 0x1ed2f ... 0x1ed3d:
return true;
case 0x1ee00 ... 0x1ee03:
return true;
case 0x1ee05 ... 0x1ee1f:
return true;
case 0x1ee21 ... 0x1ee22:
return true;
case 0x1ee24:
return true;
case 0x1ee27:
return true;
case 0x1ee29 ... 0x1ee32:
return true;
case 0x1ee34 ... 0x1ee37:
return true;
case 0x1ee39:
return true;
case 0x1ee3b:
return true;
case 0x1ee42:
return true;
case 0x1ee47:
return true;
case 0x1ee49:
return true;
case 0x1ee4b:
return true;
case 0x1ee4d ... 0x1ee4f:
return true;
case 0x1ee51 ... 0x1ee52:
return true;
case 0x1ee54:
return true;
case 0x1ee57:
return true;
case 0x1ee59:
return true;
case 0x1ee5b:
return true;
case 0x1ee5d:
return true;
case 0x1ee5f:
return true;
case 0x1ee61 ... 0x1ee62:
return true;
case 0x1ee64:
return true;
case 0x1ee67 ... 0x1ee6a:
return true;
case 0x1ee6c ... 0x1ee72:
return true;
case 0x1ee74 ... 0x1ee77:
return true;
case 0x1ee79 ... 0x1ee7c:
return true;
case 0x1ee7e:
return true;
case 0x1ee80 ... 0x1ee89:
return true;
case 0x1ee8b ... 0x1ee9b:
return true;
case 0x1eea1 ... 0x1eea3:
return true;
case 0x1eea5 ... 0x1eea9:
return true;
case 0x1eeab ... 0x1eebb:
return true;
case 0x1f100 ... 0x1f10c:
return true;
case 0x1fbf0 ... 0x1fbf9:
return true;
case 0x20000 ... 0x2a6df:
return true;
case 0x2a700 ... 0x2b739:
return true;
case 0x2b740 ... 0x2b81d:
return true;
case 0x2b820 ... 0x2cea1:
return true;
case 0x2ceb0 ... 0x2ebe0:
return true;
case 0x2ebf0 ... 0x2ee5d:
return true;
case 0x2f800 ... 0x2fa1d:
return true;
case 0x30000 ... 0x3134a:
return true;
case 0x31350 ... 0x323af:
return true;
} // }}}
return false;
}
bool
is_CZ_category(char_type code) {
// C and Z categories (139770 codepoints) {{{
switch(code) {
case 0x0 ... 0x20:
return true;
case 0x7f ... 0xa0:
return true;
case 0xad:
return true;
case 0x600 ... 0x605:
return true;
case 0x61c:
return true;
case 0x6dd:
return true;
case 0x70f:
return true;
case 0x890 ... 0x891:
return true;
case 0x8e2:
return true;
case 0x1680:
return true;
case 0x180e:
return true;
case 0x2000 ... 0x200f:
return true;
case 0x2028 ... 0x202f:
return true;
case 0x205f ... 0x2064:
return true;
case 0x2066 ... 0x206f:
return true;
case 0x3000:
return true;
case 0xd800 ... 0xf8ff:
return true;
case 0xfeff:
return true;
case 0xfff9 ... 0xfffb:
return true;
case 0x110bd:
return true;
case 0x110cd:
return true;
case 0x13430 ... 0x1343f:
return true;
case 0x1bca0 ... 0x1bca3:
return true;
case 0x1d173 ... 0x1d17a:
return true;
case 0xe0001:
return true;
case 0xe0020 ... 0xe007f:
return true;
case 0xf0000 ... 0xffffd:
return true;
case 0x100000 ... 0x10fffd:
return true;
} // }}}
return false;
}
bool
is_P_category(char_type code) {
// P category (punctuation) (855 codepoints) {{{
switch(code) {
case 0x21 ... 0x23:
return true;
case 0x25 ... 0x2a:
return true;
case 0x2c ... 0x2f:
return true;
case 0x3a ... 0x3b:
return true;
case 0x3f ... 0x40:
return true;
case 0x5b ... 0x5d:
return true;
case 0x5f:
return true;
case 0x7b:
return true;
case 0x7d:
return true;
case 0xa1:
return true;
case 0xa7:
return true;
case 0xab:
return true;
case 0xb6 ... 0xb7:
return true;
case 0xbb:
return true;
case 0xbf:
return true;
case 0x37e:
return true;
case 0x387:
return true;
case 0x55a ... 0x55f:
return true;
case 0x589 ... 0x58a:
return true;
case 0x5be:
return true;
case 0x5c0:
return true;
case 0x5c3:
return true;
case 0x5c6:
return true;
case 0x5f3 ... 0x5f4:
return true;
case 0x609 ... 0x60a:
return true;
case 0x60c ... 0x60d:
return true;
case 0x61b:
return true;
case 0x61d ... 0x61f:
return true;
case 0x66a ... 0x66d:
return true;
case 0x6d4:
return true;
case 0x700 ... 0x70d:
return true;
case 0x7f7 ... 0x7f9:
return true;
case 0x830 ... 0x83e:
return true;
case 0x85e:
return true;
case 0x964 ... 0x965:
return true;
case 0x970:
return true;
case 0x9fd:
return true;
case 0xa76:
return true;
case 0xaf0:
return true;
case 0xc77:
return true;
case 0xc84:
return true;
case 0xdf4:
return true;
case 0xe4f:
return true;
case 0xe5a ... 0xe5b:
return true;
case 0xf04 ... 0xf12:
return true;
case 0xf14:
return true;
case 0xf3a ... 0xf3d:
return true;
case 0xf85:
return true;
case 0xfd0 ... 0xfd4:
return true;
case 0xfd9 ... 0xfda:
return true;
case 0x104a ... 0x104f:
return true;
case 0x10fb:
return true;
case 0x1360 ... 0x1368:
return true;
case 0x1400:
return true;
case 0x166e:
return true;
case 0x169b ... 0x169c:
return true;
case 0x16eb ... 0x16ed:
return true;
case 0x1735 ... 0x1736:
return true;
case 0x17d4 ... 0x17d6:
return true;
case 0x17d8 ... 0x17da:
return true;
case 0x1800 ... 0x180a:
return true;
case 0x1944 ... 0x1945:
return true;
case 0x1a1e ... 0x1a1f:
return true;
case 0x1aa0 ... 0x1aa6:
return true;
case 0x1aa8 ... 0x1aad:
return true;
case 0x1b4e ... 0x1b4f:
return true;
case 0x1b5a ... 0x1b60:
return true;
case 0x1b7d ... 0x1b7f:
return true;
case 0x1bfc ... 0x1bff:
return true;
case 0x1c3b ... 0x1c3f:
return true;
case 0x1c7e ... 0x1c7f:
return true;
case 0x1cc0 ... 0x1cc7:
return true;
case 0x1cd3:
return true;
case 0x2010 ... 0x2027:
return true;
case 0x2030 ... 0x2043:
return true;
case 0x2045 ... 0x2051:
return true;
case 0x2053 ... 0x205e:
return true;
case 0x207d ... 0x207e:
return true;
case 0x208d ... 0x208e:
return true;
case 0x2308 ... 0x230b:
return true;
case 0x2329 ... 0x232a:
return true;
case 0x2768 ... 0x2775:
return true;
case 0x27c5 ... 0x27c6:
return true;
case 0x27e6 ... 0x27ef:
return true;
case 0x2983 ... 0x2998:
return true;
case 0x29d8 ... 0x29db:
return true;
case 0x29fc ... 0x29fd:
return true;
case 0x2cf9 ... 0x2cfc:
return true;
case 0x2cfe ... 0x2cff:
return true;
case 0x2d70:
return true;
case 0x2e00 ... 0x2e2e:
return true;
case 0x2e30 ... 0x2e4f:
return true;
case 0x2e52 ... 0x2e5d:
return true;
case 0x3001 ... 0x3003:
return true;
case 0x3008 ... 0x3011:
return true;
case 0x3014 ... 0x301f:
return true;
case 0x3030:
return true;
case 0x303d:
return true;
case 0x30a0:
return true;
case 0x30fb:
return true;
case 0xa4fe ... 0xa4ff:
return true;
case 0xa60d ... 0xa60f:
return true;
case 0xa673:
return true;
case 0xa67e:
return true;
case 0xa6f2 ... 0xa6f7:
return true;
case 0xa874 ... 0xa877:
return true;
case 0xa8ce ... 0xa8cf:
return true;
case 0xa8f8 ... 0xa8fa:
return true;
case 0xa8fc:
return true;
case 0xa92e ... 0xa92f:
return true;
case 0xa95f:
return true;
case 0xa9c1 ... 0xa9cd:
return true;
case 0xa9de ... 0xa9df:
return true;
case 0xaa5c ... 0xaa5f:
return true;
case 0xaade ... 0xaadf:
return true;
case 0xaaf0 ... 0xaaf1:
return true;
case 0xabeb:
return true;
case 0xfd3e ... 0xfd3f:
return true;
case 0xfe10 ... 0xfe19:
return true;
case 0xfe30 ... 0xfe52:
return true;
case 0xfe54 ... 0xfe61:
return true;
case 0xfe63:
return true;
case 0xfe68:
return true;
case 0xfe6a ... 0xfe6b:
return true;
case 0xff01 ... 0xff03:
return true;
case 0xff05 ... 0xff0a:
return true;
case 0xff0c ... 0xff0f:
return true;
case 0xff1a ... 0xff1b:
return true;
case 0xff1f ... 0xff20:
return true;
case 0xff3b ... 0xff3d:
return true;
case 0xff3f:
return true;
case 0xff5b:
return true;
case 0xff5d:
return true;
case 0xff5f ... 0xff65:
return true;
case 0x10100 ... 0x10102:
return true;
case 0x1039f:
return true;
case 0x103d0:
return true;
case 0x1056f:
return true;
case 0x10857:
return true;
case 0x1091f:
return true;
case 0x1093f:
return true;
case 0x10a50 ... 0x10a58:
return true;
case 0x10a7f:
return true;
case 0x10af0 ... 0x10af6:
return true;
case 0x10b39 ... 0x10b3f:
return true;
case 0x10b99 ... 0x10b9c:
return true;
case 0x10d6e:
return true;
case 0x10ead:
return true;
case 0x10f55 ... 0x10f59:
return true;
case 0x10f86 ... 0x10f89:
return true;
case 0x11047 ... 0x1104d:
return true;
case 0x110bb ... 0x110bc:
return true;
case 0x110be ... 0x110c1:
return true;
case 0x11140 ... 0x11143:
return true;
case 0x11174 ... 0x11175:
return true;
case 0x111c5 ... 0x111c8:
return true;
case 0x111cd:
return true;
case 0x111db:
return true;
case 0x111dd ... 0x111df:
return true;
case 0x11238 ... 0x1123d:
return true;
case 0x112a9:
return true;
case 0x113d4 ... 0x113d5:
return true;
case 0x113d7 ... 0x113d8:
return true;
case 0x1144b ... 0x1144f:
return true;
case 0x1145a ... 0x1145b:
return true;
case 0x1145d:
return true;
case 0x114c6:
return true;
case 0x115c1 ... 0x115d7:
return true;
case 0x11641 ... 0x11643:
return true;
case 0x11660 ... 0x1166c:
return true;
case 0x116b9:
return true;
case 0x1173c ... 0x1173e:
return true;
case 0x1183b:
return true;
case 0x11944 ... 0x11946:
return true;
case 0x119e2:
return true;
case 0x11a3f ... 0x11a46:
return true;
case 0x11a9a ... 0x11a9c:
return true;
case 0x11a9e ... 0x11aa2:
return true;
case 0x11b00 ... 0x11b09:
return true;
case 0x11be1:
return true;
case 0x11c41 ... 0x11c45:
return true;
case 0x11c70 ... 0x11c71:
return true;
case 0x11ef7 ... 0x11ef8:
return true;
case 0x11f43 ... 0x11f4f:
return true;
case 0x11fff:
return true;
case 0x12470 ... 0x12474:
return true;
case 0x12ff1 ... 0x12ff2:
return true;
case 0x16a6e ... 0x16a6f:
return true;
case 0x16af5:
return true;
case 0x16b37 ... 0x16b3b:
return true;
case 0x16b44:
return true;
case 0x16d6d ... 0x16d6f:
return true;
case 0x16e97 ... 0x16e9a:
return true;
case 0x16fe2:
return true;
case 0x1bc9f:
return true;
case 0x1da87 ... 0x1da8b:
return true;
case 0x1e5ff:
return true;
case 0x1e95e ... 0x1e95f:
return true;
} // }}}
return false;
}
END_ALLOW_CASE_RANGE