From 0424e152c684a85f4b0691f1e84aec203115333d Mon Sep 17 00:00:00 2001 From: naruse Date: Fri, 17 Feb 2012 07:42:23 +0000 Subject: * Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820] https://github.com/k-takata/Onigmo cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h cp oniguruma.h cp tool/enc-unicode.rb cp -r enc/ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 14 + NEWS | 3 + enc/ascii.c | 7 +- enc/big5.c | 12 +- enc/cp949.c | 4 +- enc/emacs_mule.c | 3 +- enc/euc_jp.c | 285 +- enc/euc_kr.c | 4 +- enc/euc_tw.c | 4 +- enc/gb18030.c | 4 +- enc/gbk.c | 4 +- enc/iso_8859_1.c | 4 +- enc/iso_8859_10.c | 4 +- enc/iso_8859_11.c | 4 +- enc/iso_8859_13.c | 4 +- enc/iso_8859_14.c | 4 +- enc/iso_8859_15.c | 4 +- enc/iso_8859_16.c | 4 +- enc/iso_8859_2.c | 4 +- enc/iso_8859_3.c | 4 +- enc/iso_8859_4.c | 4 +- enc/iso_8859_5.c | 4 +- enc/iso_8859_6.c | 4 +- enc/iso_8859_7.c | 4 +- enc/iso_8859_8.c | 4 +- enc/iso_8859_9.c | 4 +- enc/koi8_r.c | 4 +- enc/koi8_u.c | 4 +- enc/mktable.c | 1162 ++ enc/shift_jis.c | 280 +- enc/unicode.c | 1941 +- enc/unicode/casefold.h | 2230 +++ enc/unicode/name2ctype.h | 40230 +++++++++++++++++++++----------------- enc/us_ascii.c | 4 +- enc/utf_16be.c | 11 +- enc/utf_16le.c | 11 +- enc/utf_32be.c | 12 +- enc/utf_32le.c | 12 +- enc/utf_8.c | 12 +- enc/windows_1251.c | 4 +- enc/windows_31j.c | 80 + include/ruby/oniguruma.h | 90 +- regcomp.c | 544 +- regenc.c | 32 +- regenc.h | 14 +- regerror.c | 23 +- regexec.c | 827 +- regint.h | 101 +- regparse.c | 1053 +- regparse.h | 9 +- regsyntax.c | 84 +- test/ruby/enc/test_euc_jp.rb | 2 +- test/ruby/enc/test_shift_jis.rb | 2 +- tool/enc-unicode.rb | 75 +- 54 files changed, 28950 insertions(+), 20307 deletions(-) create mode 100644 enc/mktable.c create mode 100644 enc/unicode/casefold.h create mode 100644 enc/windows_31j.c diff --git a/ChangeLog b/ChangeLog index 08faa2496e..48881b8bfb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +Fri Feb 17 15:38:53 2012 NARUSE, Yui + + * Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820] + https://github.com/k-takata/Onigmo + cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h + cp oniguruma.h + cp tool/enc-unicode.rb + cp -r enc/ + +Fri Feb 17 12:35:55 2012 NARUSE, Yui + + * tool/merger.rb: remove borders from the commit message which is used + when the commit doesn't change ChangeLog. + Fri Feb 17 15:20:30 2012 Nobuyoshi Nakada * enum.c (enum_each_slice): arrays to be yielded can be newly diff --git a/NEWS b/NEWS index 36b8b5ee1d..24b464dab0 100644 --- a/NEWS +++ b/NEWS @@ -72,6 +72,9 @@ with all sufficient information, see the ChangeLog file. See above. + * Merge Onigmo. + https://github.com/k-takata/Onigmo + * incompatible changes: The :close_others option is true by default for system() and exec(). Also, the close-on-exec flag is set by default for all new file descriptors. diff --git a/enc/ascii.c b/enc/ascii.c index 3d62ec9bf7..72150c037c 100644 --- a/enc/ascii.c +++ b/enc/ascii.c @@ -1,8 +1,9 @@ /********************************************************************** - ascii.c - Oniguruma (regular expression library) + ascii.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2006 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,7 +46,9 @@ OnigEncodingDefine(ascii, ASCII) = { onigenc_ascii_is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("BINARY", "ASCII-8BIT") ENC_REPLICATE("IBM437", "ASCII-8BIT") diff --git a/enc/big5.c b/enc/big5.c index c39329170e..9d7738d8f9 100644 --- a/enc/big5.c +++ b/enc/big5.c @@ -299,7 +299,9 @@ OnigEncodingDefine(big5, BIG5) = { big5_is_code_ctype, onigenc_not_support_get_ctype_code_range, big5_left_adjust_char_head, - big5_is_allowed_reverse_match + big5_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; /* @@ -331,7 +333,9 @@ OnigEncodingDefine(big5_hkscs, BIG5_HKSCS) = { big5_is_code_ctype, onigenc_not_support_get_ctype_code_range, big5_left_adjust_char_head, - big5_is_allowed_reverse_match + big5_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("Big5-HKSCS:2008", "Big5-HKSCS") @@ -363,5 +367,7 @@ OnigEncodingDefine(big5_uao, BIG5_UAO) = { big5_is_code_ctype, onigenc_not_support_get_ctype_code_range, big5_left_adjust_char_head, - big5_is_allowed_reverse_match + big5_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; diff --git a/enc/cp949.c b/enc/cp949.c index 3eb46c976a..bf1c2637a3 100644 --- a/enc/cp949.c +++ b/enc/cp949.c @@ -210,7 +210,9 @@ OnigEncodingDefine(cp949, CP949) = { cp949_is_code_ctype, onigenc_not_support_get_ctype_code_range, cp949_left_adjust_char_head, - cp949_is_allowed_reverse_match + cp949_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; /* * Name: CP949 diff --git a/enc/emacs_mule.c b/enc/emacs_mule.c index e75e40b168..275c8f47dc 100644 --- a/enc/emacs_mule.c +++ b/enc/emacs_mule.c @@ -334,7 +334,8 @@ OnigEncodingDefine(emacs_mule, Emacs_Mule) = { onigenc_not_support_get_ctype_code_range, left_adjust_char_head, onigenc_always_true_is_allowed_reverse_match, - 0 + 0, + ONIGENC_FLAG_NONE, }; ENC_REPLICATE("stateless-ISO-2022-JP", "Emacs-Mule") diff --git a/enc/euc_jp.c b/enc/euc_jp.c index 7667c5800e..af21e53dd5 100644 --- a/enc/euc_jp.c +++ b/enc/euc_jp.c @@ -1,8 +1,9 @@ /********************************************************************** - euc_jp.c - Oniguruma (regular expression library) + euc_jp.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2007 K.Kosako + * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,7 +30,6 @@ #include "regint.h" - #define eucjp_islead(c) ((UChar )((c) - 0xa1) > 0xfe - 0xa1) static const int EncLen_EUCJP[] = { @@ -114,6 +114,97 @@ static const signed char trans[][0x100] = { #undef A #undef F +static const OnigPairCaseFoldCodes CaseFoldMap[] = { + /* Fullwidth Alphabet */ + { 0xa3c1, 0xa3e1 }, + { 0xa3c2, 0xa3e2 }, + { 0xa3c3, 0xa3e3 }, + { 0xa3c4, 0xa3e4 }, + { 0xa3c5, 0xa3e5 }, + { 0xa3c6, 0xa3e6 }, + { 0xa3c7, 0xa3e7 }, + { 0xa3c8, 0xa3e8 }, + { 0xa3c9, 0xa3e9 }, + { 0xa3ca, 0xa3ea }, + { 0xa3cb, 0xa3eb }, + { 0xa3cc, 0xa3ec }, + { 0xa3cd, 0xa3ed }, + { 0xa3ce, 0xa3ee }, + { 0xa3cf, 0xa3ef }, + { 0xa3d0, 0xa3f0 }, + { 0xa3d1, 0xa3f1 }, + { 0xa3d2, 0xa3f2 }, + { 0xa3d3, 0xa3f3 }, + { 0xa3d4, 0xa3f4 }, + { 0xa3d5, 0xa3f5 }, + { 0xa3d6, 0xa3f6 }, + { 0xa3d7, 0xa3f7 }, + { 0xa3d8, 0xa3f8 }, + { 0xa3d9, 0xa3f9 }, + { 0xa3da, 0xa3fa }, + + /* Greek */ + { 0xa6a1, 0xa6c1 }, + { 0xa6a2, 0xa6c2 }, + { 0xa6a3, 0xa6c3 }, + { 0xa6a4, 0xa6c4 }, + { 0xa6a5, 0xa6c5 }, + { 0xa6a6, 0xa6c6 }, + { 0xa6a7, 0xa6c7 }, + { 0xa6a8, 0xa6c8 }, + { 0xa6a9, 0xa6c9 }, + { 0xa6aa, 0xa6ca }, + { 0xa6ab, 0xa6cb }, + { 0xa6ac, 0xa6cc }, + { 0xa6ad, 0xa6cd }, + { 0xa6ae, 0xa6ce }, + { 0xa6af, 0xa6cf }, + { 0xa6b0, 0xa6d0 }, + { 0xa6b1, 0xa6d1 }, + { 0xa6b2, 0xa6d2 }, + { 0xa6b3, 0xa6d3 }, + { 0xa6b4, 0xa6d4 }, + { 0xa6b5, 0xa6d5 }, + { 0xa6b6, 0xa6d6 }, + { 0xa6b7, 0xa6d7 }, + { 0xa6b8, 0xa6d8 }, + + /* Cyrillic */ + { 0xa7a1, 0xa7d1 }, + { 0xa7a2, 0xa7d2 }, + { 0xa7a3, 0xa7d3 }, + { 0xa7a4, 0xa7d4 }, + { 0xa7a5, 0xa7d5 }, + { 0xa7a6, 0xa7d6 }, + { 0xa7a7, 0xa7d7 }, + { 0xa7a8, 0xa7d8 }, + { 0xa7a9, 0xa7d9 }, + { 0xa7aa, 0xa7da }, + { 0xa7ab, 0xa7db }, + { 0xa7ac, 0xa7dc }, + { 0xa7ad, 0xa7dd }, + { 0xa7ae, 0xa7de }, + { 0xa7af, 0xa7df }, + { 0xa7b0, 0xa7e0 }, + { 0xa7b1, 0xa7e1 }, + { 0xa7b2, 0xa7e2 }, + { 0xa7b3, 0xa7e3 }, + { 0xa7b4, 0xa7e4 }, + { 0xa7b5, 0xa7e5 }, + { 0xa7b6, 0xa7e6 }, + { 0xa7b7, 0xa7e7 }, + { 0xa7b8, 0xa7e8 }, + { 0xa7b9, 0xa7e9 }, + { 0xa7ba, 0xa7ea }, + { 0xa7bb, 0xa7eb }, + { 0xa7bc, 0xa7ec }, + { 0xa7bd, 0xa7ed }, + { 0xa7be, 0xa7ee }, + { 0xa7bf, 0xa7ef }, + { 0xa7c0, 0xa7f0 }, + { 0xa7c1, 0xa7f1 }, +}; + static int mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc ARG_UNUSED) { @@ -138,7 +229,7 @@ mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc) int c, i, len; OnigCodePoint n; - len = enclen(enc, p, end); + len = mbc_enc_len(p, end, enc); n = (OnigCodePoint )*p++; if (len == 1) return n; @@ -154,10 +245,10 @@ static int code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED) { if (ONIGENC_IS_CODE_ASCII(code)) return 1; - else if (code > 0xffffff) - return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; - else if (code & 0x800000) return 3; - else if (code & 0x8000) return 2; + else if (code > 0x00ffffff) + return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; + else if ((code & 0xff808080) == 0x00808080) return 3; + else if ((code & 0xffff8080) == 0x00008080) return 2; else return ONIGERR_INVALID_CODE_POINT_VALUE; } @@ -191,10 +282,87 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc) *p++ = (UChar )(code & 0xff); #if 1 - if (enclen(enc, buf, p) != (p - buf)) + if (mbc_enc_len(buf, p, enc) != (p - buf)) return ONIGERR_INVALID_CODE_POINT_VALUE; #endif - return (int)(p - buf); + return (int )(p - buf); +} + +static int +apply_all_case_fold(OnigCaseFoldType flag, + OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc) +{ + return onigenc_apply_all_case_fold_with_map( + sizeof(CaseFoldMap)/sizeof(OnigPairCaseFoldCodes), CaseFoldMap, 0, + flag, f, arg); +} + +static OnigCodePoint +get_lower_case(OnigCodePoint code) +{ + if (ONIGENC_IS_IN_RANGE(code, 0xa3c1, 0xa3da)) { + /* Fullwidth Alphabet */ + return (OnigCodePoint )(code + 0x0020); + } + else if (ONIGENC_IS_IN_RANGE(code, 0xa6a1, 0xa6b8)) { + /* Greek */ + return (OnigCodePoint )(code + 0x0020); + } + else if (ONIGENC_IS_IN_RANGE(code, 0xa7a1, 0xa7c1)) { + /* Cyrillic */ + return (OnigCodePoint )(code + 0x0030); + } + return code; +} + +static OnigCodePoint +get_upper_case(OnigCodePoint code) +{ + if (ONIGENC_IS_IN_RANGE(code, 0xa3e1, 0xa3fa)) { + /* Fullwidth Alphabet */ + return (OnigCodePoint )(code - 0x0020); + } + else if (ONIGENC_IS_IN_RANGE(code, 0xa6c1, 0xa6d8)) { + /* Greek */ + return (OnigCodePoint )(code - 0x0020); + } + else if (ONIGENC_IS_IN_RANGE(code, 0xa7d1, 0xa7f1)) { + /* Cyrillic */ + return (OnigCodePoint )(code - 0x0030); + } + return code; +} + +static int +get_case_fold_codes_by_str(OnigCaseFoldType flag, + const OnigUChar* p, const OnigUChar* end, + OnigCaseFoldCodeItem items[], OnigEncoding enc) +{ + int len; + OnigCodePoint code, code_lo, code_up; + + code = mbc_to_code(p, end, enc); + if (ONIGENC_IS_ASCII_CODE(code)) + return onigenc_ascii_get_case_fold_codes_by_str(flag, p, end, items, enc); + + len = mbc_enc_len(p, end, enc); + code_lo = get_lower_case(code); + code_up = get_upper_case(code); + + if (code != code_lo) { + items[0].byte_len = len; + items[0].code_len = 1; + items[0].code[0] = code_lo; + return 1; + } + else if (code != code_up) { + items[0].byte_len = len; + items[0].code_len = 1; + items[0].code[0] = code_up; + return 1; + } + + return 0; } static int @@ -202,7 +370,6 @@ mbc_case_fold(OnigCaseFoldType flag, const UChar** pp, const UChar* end, UChar* lower, OnigEncoding enc) { - int len; const UChar* p = *pp; if (ONIGENC_IS_MBC_ASCII(p)) { @@ -211,12 +378,11 @@ mbc_case_fold(OnigCaseFoldType flag, return 1; } else { - int i; + OnigCodePoint code; + int len; - len = enclen(enc, p, end); - for (i = 0; i < len; i++) { - *lower++ = *p++; - } + code = get_lower_case(mbc_to_code(p, end, enc)); + len = code_to_mbc(code, lower, enc); (*pp) += len; return len; /* return byte length of converted char to lower */ } @@ -235,7 +401,7 @@ left_adjust_char_head(const UChar* start, const UChar* s, const UChar* end, Onig p = s; while (!eucjp_islead(*p) && p > start) p--; - len = enclen(enc, p, end); + len = mbc_enc_len(p, end, enc); if (p + len > s) return (UChar* )p; p += len; return (UChar* )(p + ((s - p) & ~1)); @@ -260,15 +426,83 @@ static hash_table_type* PropertyNameTable; static const OnigCodePoint CR_Hiragana[] = { 1, +#ifdef ENC_EUC_JIS_2004 + 0xa4a1, 0xa4fb +#else 0xa4a1, 0xa4f3 +#endif }; /* CR_Hiragana */ +#ifdef ENC_EUC_JIS_2004 +static const OnigCodePoint CR_Katakana[] = { + 5, + 0x8ea6, 0x8eaf, /* JIS X 0201 Katakana */ + 0x8eb1, 0x8edd, /* JIS X 0201 Katakana */ + 0xa5a1, 0xa5fe, + 0xa6ee, 0xa6fe, + 0xa7f2, 0xa7f5, +}; /* CR_Katakana */ +#else static const OnigCodePoint CR_Katakana[] = { 3, + 0x8ea6, 0x8eaf, /* JIS X 0201 Katakana */ + 0x8eb1, 0x8edd, /* JIS X 0201 Katakana */ 0xa5a1, 0xa5f6, - 0xaaa6, 0xaaaf, - 0xaab1, 0xaadd }; /* CR_Katakana */ +#endif + +#ifdef ENC_EUC_JIS_2004 +static const OnigCodePoint CR_Han[] = { + /* EUC-JIS-2004 (JIS X 0213:2004) */ + 7, + /* plane 1 */ + 0xa1b8, 0xa1b8, + 0xaea1, 0xfefe, /* Kanji level 1, 2 and 3 */ + /* plane 2 */ + 0x8fa1a1, 0x8fa1fe, /* row 1 */ + 0x8fa3a1, 0x8fa5fe, /* row 3 .. 5 */ + 0x8fa8a1, 0x8fa8fe, /* row 8 */ + 0x8faca1, 0x8faffe, /* row 12 .. 15 */ + 0x8feea1, 0x8ffef6, /* row 78 .. 94 */ +}; /* CR_Han */ +#else +static const OnigCodePoint CR_Han[] = { + /* EUC-JP (JIS X 0208 based) */ + 4, + 0xa1b8, 0xa1b8, + 0xb0a1, 0xcfd3, /* Kanji level 1 */ + 0xd0a1, 0xf4a6, /* Kanji level 2 */ + 0x8fb0a1, 0x8fedf3 /* JIS X 0212 Supplemental Kanji (row 16 .. 77) */ +}; /* CR_Han */ +#endif + +static const OnigCodePoint CR_Latin[] = { + 4, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0xa3c1, 0xa3da, + 0xa3e1, 0xa3fa, + /* TODO: add raw 8 .. 11 to support EUC-JIS-2004 */ + /* TODO: add JIS X 0212 row 9 .. 11 */ +}; /* CR_Latin */ + +static const OnigCodePoint CR_Greek[] = { + 2, + 0xa6a1, 0xa6b8, +#ifdef ENC_EUC_JIS_2004 + 0xa6c1, 0xa6d9, +#else + 0xa6c1, 0xa6d8, + /* TODO: add JIS X 0212 row 6 */ +#endif +}; /* CR_Greek */ + +static const OnigCodePoint CR_Cyrillic[] = { + 2, + 0xa7a1, 0xa7c1, + 0xa7d1, 0xa7f1, + /* TODO: add JIS X 0212 row 7 */ +}; /* CR_Cyrillic */ static int init_property_list(void) @@ -277,6 +511,10 @@ init_property_list(void) PROPERTY_LIST_ADD_PROP("hiragana", CR_Hiragana); PROPERTY_LIST_ADD_PROP("katakana", CR_Katakana); + PROPERTY_LIST_ADD_PROP("han", CR_Han); + PROPERTY_LIST_ADD_PROP("latin", CR_Latin); + PROPERTY_LIST_ADD_PROP("greek", CR_Greek); + PROPERTY_LIST_ADD_PROP("cyrillic", CR_Cyrillic); PropertyInited = 1; end: @@ -300,7 +538,7 @@ property_name_to_ctype(OnigEncoding enc, UChar* p, UChar* end) return onigenc_minimum_property_name_to_ctype(enc, s, e); } - return (int)ctype; + return (int )ctype; } static int @@ -360,14 +598,15 @@ OnigEncodingDefine(euc_jp, EUC_JP) = { code_to_mbclen, code_to_mbc, mbc_case_fold, - onigenc_ascii_apply_all_case_fold, - onigenc_ascii_get_case_fold_codes_by_str, + apply_all_case_fold, + get_case_fold_codes_by_str, property_name_to_ctype, is_code_ctype, get_ctype_code_range, left_adjust_char_head, is_allowed_reverse_match, - 0 + 0, + ONIGENC_FLAG_NONE, }; /* * Name: EUC-JP diff --git a/enc/euc_kr.c b/enc/euc_kr.c index af5f7828f0..55acf00168 100644 --- a/enc/euc_kr.c +++ b/enc/euc_kr.c @@ -187,6 +187,8 @@ OnigEncodingDefine(euc_kr, EUC_KR) = { euckr_is_code_ctype, onigenc_not_support_get_ctype_code_range, euckr_left_adjust_char_head, - euckr_is_allowed_reverse_match + euckr_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("eucKR", "EUC-KR") diff --git a/enc/euc_tw.c b/enc/euc_tw.c index 5fed8a893d..6d193b745e 100644 --- a/enc/euc_tw.c +++ b/enc/euc_tw.c @@ -220,6 +220,8 @@ OnigEncodingDefine(euc_tw, EUC_TW) = { euctw_is_code_ctype, onigenc_not_support_get_ctype_code_range, euctw_left_adjust_char_head, - euctw_is_allowed_reverse_match + euctw_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("eucTW", "EUC-TW") diff --git a/enc/gb18030.c b/enc/gb18030.c index 36e60af6b5..d4184333f5 100644 --- a/enc/gb18030.c +++ b/enc/gb18030.c @@ -596,6 +596,8 @@ OnigEncodingDefine(gb18030, GB18030) = { gb18030_is_code_ctype, onigenc_not_support_get_ctype_code_range, gb18030_left_adjust_char_head, - gb18030_is_allowed_reverse_match + gb18030_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; diff --git a/enc/gbk.c b/enc/gbk.c index ace7f378af..7be60a0de9 100644 --- a/enc/gbk.c +++ b/enc/gbk.c @@ -210,7 +210,9 @@ OnigEncodingDefine(gbk, GBK) = { gbk_is_code_ctype, onigenc_not_support_get_ctype_code_range, gbk_left_adjust_char_head, - gbk_is_allowed_reverse_match + gbk_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; /* * Name: GBK diff --git a/enc/iso_8859_1.c b/enc/iso_8859_1.c index a10a7679b8..92dc14f978 100644 --- a/enc/iso_8859_1.c +++ b/enc/iso_8859_1.c @@ -272,7 +272,9 @@ OnigEncodingDefine(iso_8859_1, ISO_8859_1) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-1", "ISO-8859-1") diff --git a/enc/iso_8859_10.c b/enc/iso_8859_10.c index 1643278dfd..ec20a15baa 100644 --- a/enc/iso_8859_10.c +++ b/enc/iso_8859_10.c @@ -239,6 +239,8 @@ OnigEncodingDefine(iso_8859_10, ISO_8859_10) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-10", "ISO-8859-10") diff --git a/enc/iso_8859_11.c b/enc/iso_8859_11.c index 257d9d8919..ec9840e127 100644 --- a/enc/iso_8859_11.c +++ b/enc/iso_8859_11.c @@ -92,7 +92,9 @@ OnigEncodingDefine(iso_8859_11, ISO_8859_11) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-11", "ISO-8859-11") diff --git a/enc/iso_8859_13.c b/enc/iso_8859_13.c index f29cb2e281..4d7b328818 100644 --- a/enc/iso_8859_13.c +++ b/enc/iso_8859_13.c @@ -228,7 +228,9 @@ OnigEncodingDefine(iso_8859_13, ISO_8859_13) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-13", "ISO-8859-13") diff --git a/enc/iso_8859_14.c b/enc/iso_8859_14.c index be83f93f80..1271c8a7a6 100644 --- a/enc/iso_8859_14.c +++ b/enc/iso_8859_14.c @@ -241,6 +241,8 @@ OnigEncodingDefine(iso_8859_14, ISO_8859_14) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-14", "ISO-8859-14") diff --git a/enc/iso_8859_15.c b/enc/iso_8859_15.c index 2ec41b66c0..451033e158 100644 --- a/enc/iso_8859_15.c +++ b/enc/iso_8859_15.c @@ -235,6 +235,8 @@ OnigEncodingDefine(iso_8859_15, ISO_8859_15) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-15", "ISO-8859-15") diff --git a/enc/iso_8859_16.c b/enc/iso_8859_16.c index 3ddc1d91c6..5234cf0e7f 100644 --- a/enc/iso_8859_16.c +++ b/enc/iso_8859_16.c @@ -237,6 +237,8 @@ OnigEncodingDefine(iso_8859_16, ISO_8859_16) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-16", "ISO-8859-16") diff --git a/enc/iso_8859_2.c b/enc/iso_8859_2.c index 6c0d2d7dc1..f4cb9100df 100644 --- a/enc/iso_8859_2.c +++ b/enc/iso_8859_2.c @@ -237,7 +237,9 @@ OnigEncodingDefine(iso_8859_2, ISO_8859_2) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-2", "ISO-8859-2") diff --git a/enc/iso_8859_3.c b/enc/iso_8859_3.c index 81c0c742b6..85572574b8 100644 --- a/enc/iso_8859_3.c +++ b/enc/iso_8859_3.c @@ -235,6 +235,8 @@ OnigEncodingDefine(iso_8859_3, ISO_8859_3) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-3", "ISO-8859-3") diff --git a/enc/iso_8859_4.c b/enc/iso_8859_4.c index ec71c4bcbf..771a2cf6e7 100644 --- a/enc/iso_8859_4.c +++ b/enc/iso_8859_4.c @@ -237,6 +237,8 @@ OnigEncodingDefine(iso_8859_4, ISO_8859_4) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-4", "ISO-8859-4") diff --git a/enc/iso_8859_5.c b/enc/iso_8859_5.c index 81cc8e5b32..4ee27b10d8 100644 --- a/enc/iso_8859_5.c +++ b/enc/iso_8859_5.c @@ -225,6 +225,8 @@ OnigEncodingDefine(iso_8859_5, ISO_8859_5) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-5", "ISO-8859-5") diff --git a/enc/iso_8859_6.c b/enc/iso_8859_6.c index 7384061a1f..638a181dc2 100644 --- a/enc/iso_8859_6.c +++ b/enc/iso_8859_6.c @@ -92,7 +92,9 @@ OnigEncodingDefine(iso_8859_6, ISO_8859_6) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-6", "ISO-8859-6") diff --git a/enc/iso_8859_7.c b/enc/iso_8859_7.c index 2f916171db..aa82f880f9 100644 --- a/enc/iso_8859_7.c +++ b/enc/iso_8859_7.c @@ -222,7 +222,9 @@ OnigEncodingDefine(iso_8859_7, ISO_8859_7) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-7", "ISO-8859-7") diff --git a/enc/iso_8859_8.c b/enc/iso_8859_8.c index bd0754c2b1..87a6e7bc9b 100644 --- a/enc/iso_8859_8.c +++ b/enc/iso_8859_8.c @@ -92,7 +92,9 @@ OnigEncodingDefine(iso_8859_8, ISO_8859_8) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-8", "ISO-8859-8") diff --git a/enc/iso_8859_9.c b/enc/iso_8859_9.c index 4d46e742e2..0adafa3ed4 100644 --- a/enc/iso_8859_9.c +++ b/enc/iso_8859_9.c @@ -228,7 +228,9 @@ OnigEncodingDefine(iso_8859_9, ISO_8859_9) = { is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ISO8859-9", "ISO-8859-9") diff --git a/enc/koi8_r.c b/enc/koi8_r.c index f5b7d22349..8ec48747f8 100644 --- a/enc/koi8_r.c +++ b/enc/koi8_r.c @@ -213,7 +213,9 @@ OnigEncodingDefine(koi8_r, KOI8_R) = { koi8_r_is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("CP878", "KOI8-R") diff --git a/enc/koi8_u.c b/enc/koi8_u.c index dfbaa9ac36..0e51b6eb80 100644 --- a/enc/koi8_u.c +++ b/enc/koi8_u.c @@ -217,5 +217,7 @@ OnigEncodingDefine(koi8_u, KOI8_U) = { koi8_u_is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; diff --git a/enc/mktable.c b/enc/mktable.c new file mode 100644 index 0000000000..7fc3c6d193 --- /dev/null +++ b/enc/mktable.c @@ -0,0 +1,1162 @@ +/********************************************************************** + mktable.c +**********************************************************************/ +/*- + * Copyright (c) 2002-2007 K.Kosako + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#define __USE_ISOC99 +#include + +#include "regenc.h" + +#define ASCII 0 +#define UNICODE_ISO_8859_1 1 +#define ISO_8859_1 2 +#define ISO_8859_2 3 +#define ISO_8859_3 4 +#define ISO_8859_4 5 +#define ISO_8859_5 6 +#define ISO_8859_6 7 +#define ISO_8859_7 8 +#define ISO_8859_8 9 +#define ISO_8859_9 10 +#define ISO_8859_10 11 +#define ISO_8859_11 12 +#define ISO_8859_13 13 +#define ISO_8859_14 14 +#define ISO_8859_15 15 +#define ISO_8859_16 16 +#define KOI8 17 +#define KOI8_R 18 + +typedef struct { + int num; + char* name; +} ENC_INFO; + +static ENC_INFO Info[] = { + { ASCII, "ASCII" }, + { UNICODE_ISO_8859_1, "UNICODE_ISO_8859_1" }, + { ISO_8859_1, "ISO_8859_1" }, + { ISO_8859_2, "ISO_8859_2" }, + { ISO_8859_3, "ISO_8859_3" }, + { ISO_8859_4, "ISO_8859_4" }, + { ISO_8859_5, "ISO_8859_5" }, + { ISO_8859_6, "ISO_8859_6" }, + { ISO_8859_7, "ISO_8859_7" }, + { ISO_8859_8, "ISO_8859_8" }, + { ISO_8859_9, "ISO_8859_9" }, + { ISO_8859_10, "ISO_8859_10" }, + { ISO_8859_11, "ISO_8859_11" }, + { ISO_8859_13, "ISO_8859_13" }, + { ISO_8859_14, "ISO_8859_14" }, + { ISO_8859_15, "ISO_8859_15" }, + { ISO_8859_16, "ISO_8859_16" }, + { KOI8, "KOI8" }, + { KOI8_R, "KOI8_R" } +}; + + +static int IsAlpha(int enc, int c) +{ + if (enc == ASCII) + return isalpha(c); + + if (c >= 0x41 && c <= 0x5a) return 1; + if (c >= 0x61 && c <= 0x7a) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + case ISO_8859_1: + case ISO_8859_9: + if (c == 0xaa) return 1; + if (c == 0xb5) return 1; + if (c == 0xba) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xff) return 1; + break; + + case ISO_8859_2: + if (c == 0xa1 || c == 0xa3) return 1; + if (c == 0xa5 || c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c >= 0xae && c <= 0xaf) return 1; + if (c == 0xb1 || c == 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbc) return 1; + if (c >= 0xbe && c <= 0xbf) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_3: + if (c == 0xa1) return 1; + if (c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c == 0xaf) return 1; + if (c == 0xb1) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbc) return 1; + if (c == 0xbf) return 1; + if (c >= 0xc0 && c <= 0xc2) return 1; + if (c >= 0xc4 && c <= 0xcf) return 1; + if (c >= 0xd1 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xe2) return 1; + if (c >= 0xe4 && c <= 0xef) return 1; + if (c >= 0xf1 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_4: + if (c >= 0xa1 && c <= 0xa3) return 1; + if (c == 0xa5 || c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c == 0xae) return 1; + if (c == 0xb1 || c == 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbf) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_5: + if (c >= 0xa1 && c <= 0xcf && c != 0xad) return 1; + if (c >= 0xd0 && c <= 0xff && c != 0xf0 && c != 0xfd) return 1; + break; + + case ISO_8859_6: + if (c >= 0xc1 && c <= 0xda) return 1; + if (c >= 0xe0 && c <= 0xf2) return 1; + break; + + case ISO_8859_7: + if (c == 0xb6) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c == 0xbc) return 1; + if (c >= 0xbe && c <= 0xbf) return 1; + if (c == 0xc0) return 1; + if (c >= 0xc1 && c <= 0xdb && c != 0xd2) return 1; + if (c >= 0xdc && c <= 0xfe) return 1; + break; + + case ISO_8859_8: + if (c == 0xb5) return 1; + if (c >= 0xe0 && c <= 0xfa) return 1; + break; + + case ISO_8859_10: + if (c >= 0xa1 && c <= 0xa6) return 1; + if (c >= 0xa8 && c <= 0xac) return 1; + if (c == 0xae || c == 0xaf) return 1; + if (c >= 0xb1 && c <= 0xb6) return 1; + if (c >= 0xb8 && c <= 0xbc) return 1; + if (c >= 0xbe && c <= 0xff) return 1; + break; + + case ISO_8859_11: + if (c >= 0xa1 && c <= 0xda) return 1; + if (c >= 0xdf && c <= 0xfb) return 1; + break; + + case ISO_8859_13: + if (c == 0xa8) return 1; + if (c == 0xaa) return 1; + if (c == 0xaf) return 1; + if (c == 0xb5) return 1; + if (c == 0xb8) return 1; + if (c == 0xba) return 1; + if (c >= 0xbf && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_14: + if (c == 0xa1 || c == 0xa2) return 1; + if (c == 0xa4 || c == 0xa5) return 1; + if (c == 0xa6 || c == 0xa8) return 1; + if (c >= 0xaa && c <= 0xac) return 1; + if (c >= 0xaf && c <= 0xb5) return 1; + if (c >= 0xb7 && c <= 0xff) return 1; + break; + + case ISO_8859_15: + if (c == 0xaa) return 1; + if (c == 0xb5) return 1; + if (c == 0xba) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xff) return 1; + if (c == 0xa6) return 1; + if (c == 0xa8) return 1; + if (c == 0xb4) return 1; + if (c == 0xb8) return 1; + if (c == 0xbc) return 1; + if (c == 0xbd) return 1; + if (c == 0xbe) return 1; + break; + + case ISO_8859_16: + if (c == 0xa1) return 1; + if (c == 0xa2) return 1; + if (c == 0xa3) return 1; + if (c == 0xa6) return 1; + if (c == 0xa8) return 1; + if (c == 0xaa) return 1; + if (c == 0xac) return 1; + if (c == 0xae) return 1; + if (c == 0xaf) return 1; + if (c == 0xb2) return 1; + if (c == 0xb3) return 1; + if (c == 0xb4) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c == 0xbc) return 1; + if (c == 0xbd) return 1; + if (c == 0xbe) return 1; + if (c == 0xbf) return 1; + if (c >= 0xc0 && c <= 0xde) return 1; + if (c >= 0xdf && c <= 0xff) return 1; + break; + + case KOI8_R: + if (c == 0xa3 || c == 0xb3) return 1; + /* fall */ + case KOI8: + if (c >= 0xc0 && c <= 0xff) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsBlank(int enc, int c) +{ + if (enc == ASCII) + return isblank(c); + + if (c == 0x09 || c == 0x20) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + case ISO_8859_1: + case ISO_8859_2: + case ISO_8859_3: + case ISO_8859_4: + case ISO_8859_5: + case ISO_8859_6: + case ISO_8859_7: + case ISO_8859_8: + case ISO_8859_9: + case ISO_8859_10: + case ISO_8859_11: + case ISO_8859_13: + case ISO_8859_14: + case ISO_8859_15: + case ISO_8859_16: + case KOI8: + if (c == 0xa0) return 1; + break; + + case KOI8_R: + if (c == 0x9a) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsCntrl(int enc, int c) +{ + if (enc == ASCII) + return iscntrl(c); + + if (c >= 0x00 && c <= 0x1F) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + if (c == 0xad) return 1; + /* fall */ + case ISO_8859_1: + case ISO_8859_2: + case ISO_8859_3: + case ISO_8859_4: + case ISO_8859_5: + case ISO_8859_6: + case ISO_8859_7: + case ISO_8859_8: + case ISO_8859_9: + case ISO_8859_10: + case ISO_8859_11: + case ISO_8859_13: + case ISO_8859_14: + case ISO_8859_15: + case ISO_8859_16: + case KOI8: + if (c >= 0x7f && c <= 0x9F) return 1; + break; + + + case KOI8_R: + if (c == 0x7f) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsDigit(int enc ARG_UNUSED, int c) +{ + if (c >= 0x30 && c <= 0x39) return 1; + return 0; +} + +static int IsGraph(int enc, int c) +{ + if (enc == ASCII) + return isgraph(c); + + if (c >= 0x21 && c <= 0x7e) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + case ISO_8859_1: + case ISO_8859_2: + case ISO_8859_4: + case ISO_8859_5: + case ISO_8859_9: + case ISO_8859_10: + case ISO_8859_13: + case ISO_8859_14: + case ISO_8859_15: + case ISO_8859_16: + if (c >= 0xa1 && c <= 0xff) return 1; + break; + + case ISO_8859_3: + if (c >= 0xa1) { + if (c == 0xa5 || c == 0xae || c == 0xbe || c == 0xc3 || c == 0xd0 || + c == 0xe3 || c == 0xf0) + return 0; + else + return 1; + } + break; + + case ISO_8859_6: + if (c == 0xa4 || c == 0xac || c == 0xad || c == 0xbb || c == 0xbf) + return 1; + if (c >= 0xc1 && c <= 0xda) return 1; + if (c >= 0xe0 && c <= 0xf2) return 1; + break; + + case ISO_8859_7: + if (c >= 0xa1 && c <= 0xfe && + c != 0xa4 && c != 0xa5 && c != 0xaa && + c != 0xae && c != 0xd2) return 1; + break; + + case ISO_8859_8: + if (c >= 0xa2 && c <= 0xfa) { + if (c >= 0xbf && c <= 0xde) return 0; + return 1; + } + break; + + case ISO_8859_11: + if (c >= 0xa1 && c <= 0xda) return 1; + if (c >= 0xdf && c <= 0xfb) return 1; + break; + + case KOI8: + if (c >= 0xc0 && c <= 0xff) return 1; + break; + + case KOI8_R: + if (c >= 0x80 && c <= 0xff && c != 0x9a) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsLower(int enc, int c) +{ + if (enc == ASCII) + return islower(c); + + if (c >= 0x61 && c <= 0x7a) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + case ISO_8859_1: + case ISO_8859_9: + if (c == 0xaa) return 1; + if (c == 0xb5) return 1; + if (c == 0xba) return 1; + if (c >= 0xdf && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xff) return 1; + break; + + case ISO_8859_2: + if (c == 0xb1 || c == 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbc) return 1; + if (c >= 0xbe && c <= 0xbf) return 1; + if (c >= 0xdf && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_3: + if (c == 0xb1) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbc) return 1; + if (c == 0xbf) return 1; + if (c == 0xdf) return 1; + if (c >= 0xe0 && c <= 0xe2) return 1; + if (c >= 0xe4 && c <= 0xef) return 1; + if (c >= 0xf1 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_4: + if (c == 0xa2) return 1; + if (c == 0xb1 || c == 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbc) return 1; + if (c >= 0xbe && c <= 0xbf) return 1; + if (c == 0xdf) return 1; + if (c >= 0xe0 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_5: + if (c >= 0xd0 && c <= 0xff && c != 0xf0 && c != 0xfd) return 1; + break; + + case ISO_8859_6: + break; + + case ISO_8859_7: + if (c == 0xc0) return 1; + if (c >= 0xdc && c <= 0xfe) return 1; + break; + + case ISO_8859_8: + if (c == 0xb5) return 1; + break; + + case ISO_8859_10: + if (c >= 0xb1 && c <= 0xb6) return 1; + if (c >= 0xb8 && c <= 0xbc) return 1; + if (c == 0xbe || c == 0xbf) return 1; + if (c >= 0xdf && c <= 0xff) return 1; + break; + + case ISO_8859_11: + break; + + case ISO_8859_13: + if (c == 0xb5) return 1; + if (c == 0xb8) return 1; + if (c == 0xba) return 1; + if (c == 0xbf) return 1; + if (c >= 0xdf && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_14: + if (c == 0xa2) return 1; + if (c == 0xa5) return 1; + if (c == 0xab) return 1; + if (c == 0xb1 || c == 0xb3 || c == 0xb5) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c == 0xbc) return 1; + if (c == 0xbe || c == 0xbf) return 1; + if (c >= 0xdf && c <= 0xff) return 1; + break; + + case ISO_8859_15: + if (c == 0xaa) return 1; + if (c == 0xb5) return 1; + if (c == 0xba) return 1; + if (c >= 0xdf && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xff) return 1; + if (c == 0xa8) return 1; + if (c == 0xb8) return 1; + if (c == 0xbd) return 1; + break; + + case ISO_8859_16: + if (c == 0xa2) return 1; + if (c == 0xa8) return 1; + if (c == 0xae) return 1; + if (c == 0xb3) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c == 0xbd) return 1; + if (c == 0xbf) return 1; + if (c >= 0xdf && c <= 0xff) return 1; + break; + + case KOI8_R: + if (c == 0xa3) return 1; + /* fall */ + case KOI8: + if (c >= 0xc0 && c <= 0xdf) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsPrint(int enc, int c) +{ + if (enc == ASCII) + return isprint(c); + + if (c >= 0x20 && c <= 0x7e) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + /* if (c >= 0x09 && c <= 0x0d) return 1; */ + if (c == 0x85) return 1; + /* fall */ + case ISO_8859_1: + case ISO_8859_2: + case ISO_8859_4: + case ISO_8859_5: + case ISO_8859_9: + case ISO_8859_10: + case ISO_8859_13: + case ISO_8859_14: + case ISO_8859_15: + case ISO_8859_16: + if (c >= 0xa0 && c <= 0xff) return 1; + break; + + case ISO_8859_3: + if (c >= 0xa0) { + if (c == 0xa5 || c == 0xae || c == 0xbe || c == 0xc3 || c == 0xd0 || + c == 0xe3 || c == 0xf0) + return 0; + else + return 1; + } + break; + + case ISO_8859_6: + if (c == 0xa0) return 1; + if (c == 0xa4 || c == 0xac || c == 0xad || c == 0xbb || c == 0xbf) + return 1; + if (c >= 0xc1 && c <= 0xda) return 1; + if (c >= 0xe0 && c <= 0xf2) return 1; + break; + + case ISO_8859_7: + if (c >= 0xa0 && c <= 0xfe && + c != 0xa4 && c != 0xa5 && c != 0xaa && + c != 0xae && c != 0xd2) return 1; + break; + + case ISO_8859_8: + if (c >= 0xa0 && c <= 0xfa) { + if (c >= 0xbf && c <= 0xde) return 0; + if (c == 0xa1) return 0; + return 1; + } + break; + + case ISO_8859_11: + if (c >= 0xa0 && c <= 0xda) return 1; + if (c >= 0xdf && c <= 0xfb) return 1; + break; + + case KOI8: + if (c == 0xa0) return 1; + if (c >= 0xc0 && c <= 0xff) return 1; + break; + + case KOI8_R: + if (c >= 0x80 && c <= 0xff) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsPunct(int enc, int c) +{ + if (enc == ASCII) + return ispunct(c); + + if (enc == UNICODE_ISO_8859_1) { + if (c == 0x24 || c == 0x2b || c == 0x5e || c == 0x60 || + c == 0x7c || c == 0x7e) return 1; + if (c >= 0x3c && c <= 0x3e) return 1; + } + + if (c >= 0x21 && c <= 0x2f) return 1; + if (c >= 0x3a && c <= 0x40) return 1; + if (c >= 0x5b && c <= 0x60) return 1; + if (c >= 0x7b && c <= 0x7e) return 1; + + switch (enc) { + case ISO_8859_1: + case ISO_8859_9: + case ISO_8859_15: + if (c == 0xad) return 1; + /* fall */ + case UNICODE_ISO_8859_1: + if (c == 0xa1) return 1; + if (c == 0xab) return 1; + if (c == 0xb7) return 1; + if (c == 0xbb) return 1; + if (c == 0xbf) return 1; + break; + + case ISO_8859_2: + case ISO_8859_4: + case ISO_8859_5: + case ISO_8859_14: + if (c == 0xad) return 1; + break; + + case ISO_8859_3: + case ISO_8859_10: + if (c == 0xad) return 1; + if (c == 0xb7) return 1; + if (c == 0xbd) return 1; + break; + + case ISO_8859_6: + if (c == 0xac) return 1; + if (c == 0xad) return 1; + if (c == 0xbb) return 1; + if (c == 0xbf) return 1; + break; + + case ISO_8859_7: + if (c == 0xa1 || c == 0xa2) return 1; + if (c == 0xab) return 1; + if (c == 0xaf) return 1; + if (c == 0xad) return 1; + if (c == 0xb7 || c == 0xbb) return 1; + break; + + case ISO_8859_8: + if (c == 0xab) return 1; + if (c == 0xad) return 1; + if (c == 0xb7) return 1; + if (c == 0xbb) return 1; + if (c == 0xdf) return 1; + break; + + case ISO_8859_13: + if (c == 0xa1 || c == 0xa5) return 1; + if (c == 0xab || c == 0xad) return 1; + if (c == 0xb4 || c == 0xb7) return 1; + if (c == 0xbb) return 1; + if (c == 0xff) return 1; + break; + + case ISO_8859_16: + if (c == 0xa5) return 1; + if (c == 0xab) return 1; + if (c == 0xad) return 1; + if (c == 0xb5) return 1; + if (c == 0xb7) return 1; + if (c == 0xbb) return 1; + break; + + case KOI8_R: + if (c == 0x9e) return 1; + break; + + case ISO_8859_11: + case KOI8: + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsSpace(int enc, int c) +{ + if (enc == ASCII) + return isspace(c); + + if (c >= 0x09 && c <= 0x0d) return 1; + if (c == 0x20) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + if (c == 0x85) return 1; + /* fall */ + case ISO_8859_1: + case ISO_8859_2: + case ISO_8859_3: + case ISO_8859_4: + case ISO_8859_5: + case ISO_8859_6: + case ISO_8859_7: + case ISO_8859_8: + case ISO_8859_9: + case ISO_8859_10: + case ISO_8859_11: + case ISO_8859_13: + case ISO_8859_14: + case ISO_8859_15: + case ISO_8859_16: + case KOI8: + if (c == 0xa0) return 1; + break; + + case KOI8_R: + if (c == 0x9a) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsUpper(int enc, int c) +{ + if (enc == ASCII) + return isupper(c); + + if (c >= 0x41 && c <= 0x5a) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + case ISO_8859_1: + case ISO_8859_9: + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xde) return 1; + break; + + case ISO_8859_2: + if (c == 0xa1 || c == 0xa3) return 1; + if (c == 0xa5 || c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c >= 0xae && c <= 0xaf) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xde) return 1; + break; + + case ISO_8859_3: + if (c == 0xa1) return 1; + if (c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c == 0xaf) return 1; + if (c >= 0xc0 && c <= 0xc2) return 1; + if (c >= 0xc4 && c <= 0xcf) return 1; + if (c >= 0xd1 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xde) return 1; + break; + + case ISO_8859_4: + if (c == 0xa1 || c == 0xa3) return 1; + if (c == 0xa5 || c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c == 0xae) return 1; + if (c == 0xbd) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xde) return 1; + break; + + case ISO_8859_5: + if (c >= 0xa1 && c <= 0xcf && c != 0xad) return 1; + break; + + case ISO_8859_6: + break; + + case ISO_8859_7: + if (c == 0xb6) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c == 0xbc) return 1; + if (c >= 0xbe && c <= 0xbf) return 1; + if (c >= 0xc1 && c <= 0xdb && c != 0xd2) return 1; + break; + + case ISO_8859_8: + case ISO_8859_11: + break; + + case ISO_8859_10: + if (c >= 0xa1 && c <= 0xa6) return 1; + if (c >= 0xa8 && c <= 0xac) return 1; + if (c == 0xae || c == 0xaf) return 1; + if (c >= 0xc0 && c <= 0xde) return 1; + break; + + case ISO_8859_13: + if (c == 0xa8) return 1; + if (c == 0xaa) return 1; + if (c == 0xaf) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xde) return 1; + break; + + case ISO_8859_14: + if (c == 0xa1) return 1; + if (c == 0xa4 || c == 0xa6) return 1; + if (c == 0xa8) return 1; + if (c == 0xaa || c == 0xac) return 1; + if (c == 0xaf || c == 0xb0) return 1; + if (c == 0xb2 || c == 0xb4 || c == 0xb7) return 1; + if (c == 0xbb || c == 0xbd) return 1; + if (c >= 0xc0 && c <= 0xde) return 1; + break; + + case ISO_8859_15: + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xde) return 1; + if (c == 0xa6) return 1; + if (c == 0xb4) return 1; + if (c == 0xbc) return 1; + if (c == 0xbe) return 1; + break; + + case ISO_8859_16: + if (c == 0xa1) return 1; + if (c == 0xa3) return 1; + if (c == 0xa6) return 1; + if (c == 0xaa) return 1; + if (c == 0xac) return 1; + if (c == 0xaf) return 1; + if (c == 0xb2) return 1; + if (c == 0xb4) return 1; + if (c == 0xbc) return 1; + if (c == 0xbe) return 1; + if (c >= 0xc0 && c <= 0xde) return 1; + break; + + case KOI8_R: + if (c == 0xb3) return 1; + /* fall */ + case KOI8: + if (c >= 0xe0 && c <= 0xff) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsXDigit(int enc, int c) +{ + if (enc == ASCII) + return isxdigit(c); + + if (c >= 0x30 && c <= 0x39) return 1; + if (c >= 0x41 && c <= 0x46) return 1; + if (c >= 0x61 && c <= 0x66) return 1; + return 0; +} + +static int IsWord(int enc, int c) +{ + if (enc == ASCII) { + return (isalpha(c) || isdigit(c) || c == 0x5f); + } + + if (c >= 0x30 && c <= 0x39) return 1; + if (c >= 0x41 && c <= 0x5a) return 1; + if (c == 0x5f) return 1; + if (c >= 0x61 && c <= 0x7a) return 1; + + switch (enc) { + case UNICODE_ISO_8859_1: + case ISO_8859_1: + case ISO_8859_9: + if (c == 0xaa) return 1; + if (c >= 0xb2 && c <= 0xb3) return 1; + if (c == 0xb5) return 1; + if (c >= 0xb9 && c <= 0xba) return 1; + if (c >= 0xbc && c <= 0xbe) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xff) return 1; + break; + + case ISO_8859_2: + if (c == 0xa1 || c == 0xa3) return 1; + if (c == 0xa5 || c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c >= 0xae && c <= 0xaf) return 1; + if (c == 0xb1 || c == 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbc) return 1; + if (c >= 0xbe && c <= 0xbf) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_3: + if (c == 0xa1) return 1; + if (c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c == 0xaf) return 1; + if (c >= 0xb1 && c <= 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbd) return 1; + if (c == 0xbf) return 1; + if (c >= 0xc0 && c <= 0xc2) return 1; + if (c >= 0xc4 && c <= 0xcf) return 1; + if (c >= 0xd1 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xe2) return 1; + if (c >= 0xe4 && c <= 0xef) return 1; + if (c >= 0xf1 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_4: + if (c >= 0xa1 && c <= 0xa3) return 1; + if (c == 0xa5 || c == 0xa6) return 1; + if (c >= 0xa9 && c <= 0xac) return 1; + if (c == 0xae) return 1; + if (c == 0xb1 || c == 0xb3) return 1; + if (c == 0xb5 || c == 0xb6) return 1; + if (c >= 0xb9 && c <= 0xbf) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_5: + if (c >= 0xa1 && c <= 0xcf && c != 0xad) return 1; + if (c >= 0xd0 && c <= 0xff && c != 0xf0 && c != 0xfd) return 1; + break; + + case ISO_8859_6: + if (c >= 0xc1 && c <= 0xda) return 1; + if (c >= 0xe0 && c <= 0xea) return 1; + if (c >= 0xeb && c <= 0xf2) return 1; + break; + + case ISO_8859_7: + if (c == 0xb2 || c == 0xb3) return 1; + if (c == 0xb6) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c >= 0xbc && c <= 0xbf) return 1; + if (c == 0xc0) return 1; + if (c >= 0xc1 && c <= 0xdb && c != 0xd2) return 1; + if (c >= 0xdc && c <= 0xfe) return 1; + break; + + case ISO_8859_8: + if (c == 0xb2 || c == 0xb3 || c == 0xb5 || c == 0xb9) return 1; + if (c >= 0xbc && c <= 0xbe) return 1; + if (c >= 0xe0 && c <= 0xfa) return 1; + break; + + case ISO_8859_10: + if (c >= 0xa1 && c <= 0xff) { + if (c != 0xa7 && c != 0xad && c != 0xb0 && c != 0xb7 && c != 0xbd) + return 1; + } + break; + + case ISO_8859_11: + if (c >= 0xa1 && c <= 0xda) return 1; + if (c >= 0xdf && c <= 0xfb) return 1; + break; + + case ISO_8859_13: + if (c == 0xa8) return 1; + if (c == 0xaa) return 1; + if (c == 0xaf) return 1; + if (c == 0xb2 || c == 0xb3 || c == 0xb5 || c == 0xb9) return 1; + if (c >= 0xbc && c <= 0xbe) return 1; + if (c == 0xb8) return 1; + if (c == 0xba) return 1; + if (c >= 0xbf && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xfe) return 1; + break; + + case ISO_8859_14: + if (c >= 0xa1 && c <= 0xff) { + if (c == 0xa3 || c == 0xa7 || c == 0xa9 || c == 0xad || c == 0xae || + c == 0xb6) return 0; + return 1; + } + break; + + case ISO_8859_15: + if (c == 0xaa) return 1; + if (c >= 0xb2 && c <= 0xb3) return 1; + if (c == 0xb5) return 1; + if (c >= 0xb9 && c <= 0xba) return 1; + if (c >= 0xbc && c <= 0xbe) return 1; + if (c >= 0xc0 && c <= 0xd6) return 1; + if (c >= 0xd8 && c <= 0xf6) return 1; + if (c >= 0xf8 && c <= 0xff) return 1; + if (c == 0xa6) return 1; + if (c == 0xa8) return 1; + if (c == 0xb4) return 1; + if (c == 0xb8) return 1; + break; + + case ISO_8859_16: + if (c == 0xa1) return 1; + if (c == 0xa2) return 1; + if (c == 0xa3) return 1; + if (c == 0xa6) return 1; + if (c == 0xa8) return 1; + if (c == 0xaa) return 1; + if (c == 0xac) return 1; + if (c == 0xae) return 1; + if (c == 0xaf) return 1; + if (c == 0xb2) return 1; + if (c == 0xb3) return 1; + if (c == 0xb4) return 1; + if (c >= 0xb8 && c <= 0xba) return 1; + if (c == 0xbc) return 1; + if (c == 0xbd) return 1; + if (c == 0xbe) return 1; + if (c == 0xbf) return 1; + if (c >= 0xc0 && c <= 0xde) return 1; + if (c >= 0xdf && c <= 0xff) return 1; + break; + + case KOI8_R: + if (c == 0x9d) return 1; + if (c == 0xa3 || c == 0xb3) return 1; + /* fall */ + case KOI8: + if (c >= 0xc0 && c <= 0xff) return 1; + break; + + default: + exit(-1); + } + + return 0; +} + +static int IsAscii(int enc ARG_UNUSED, int c) +{ + if (c >= 0x00 && c <= 0x7f) return 1; + return 0; +} + +static int IsNewline(int enc ARG_UNUSED, int c) +{ + if (c == 0x0a) return 1; + return 0; +} + +static int exec(FILE* fp, ENC_INFO* einfo) +{ +#define NCOL 8 + + int c, val, enc; + + enc = einfo->num; + + fprintf(fp, "static const unsigned short Enc%s_CtypeTable[256] = {\n", + einfo->name); + + for (c = 0; c < 256; c++) { + val = 0; + if (IsNewline(enc, c)) val |= BIT_CTYPE_NEWLINE; + if (IsAlpha (enc, c)) val |= (BIT_CTYPE_ALPHA | BIT_CTYPE_ALNUM); + if (IsBlank (enc, c)) val |= BIT_CTYPE_BLANK; + if (IsCntrl (enc, c)) val |= BIT_CTYPE_CNTRL; + if (IsDigit (enc, c)) val |= (BIT_CTYPE_DIGIT | BIT_CTYPE_ALNUM); + if (IsGraph (enc, c)) val |= BIT_CTYPE_GRAPH; + if (IsLower (enc, c)) val |= BIT_CTYPE_LOWER; + if (IsPrint (enc, c)) val |= BIT_CTYPE_PRINT; + if (IsPunct (enc, c)) val |= BIT_CTYPE_PUNCT; + if (IsSpace (enc, c)) val |= BIT_CTYPE_SPACE; + if (IsUpper (enc, c)) val |= BIT_CTYPE_UPPER; + if (IsXDigit(enc, c)) val |= BIT_CTYPE_XDIGIT; + if (IsWord (enc, c)) val |= BIT_CTYPE_WORD; + if (IsAscii (enc, c)) val |= BIT_CTYPE_ASCII; + + if (c % NCOL == 0) fputs(" ", fp); + fprintf(fp, "0x%04x", val); + if (c != 255) fputs(",", fp); + if (c != 0 && c % NCOL == (NCOL-1)) + fputs("\n", fp); + else + fputs(" ", fp); + } + fprintf(fp, "};\n"); + return 0; +} + +extern int main(int argc ARG_UNUSED, char* argv[] ARG_UNUSED) +{ + int i; + FILE* fp = stdout; + + setlocale(LC_ALL, "C"); + /* setlocale(LC_ALL, "POSIX"); */ + /* setlocale(LC_ALL, "en_GB.iso88591"); */ + /* setlocale(LC_ALL, "de_BE.iso88591"); */ + /* setlocale(LC_ALL, "fr_FR.iso88591"); */ + + for (i = 0; i < (int )(sizeof(Info)/sizeof(ENC_INFO)); i++) { + exec(fp, &Info[i]); + } + + return 0; +} diff --git a/enc/shift_jis.c b/enc/shift_jis.c index 942e0fb3af..f309dcfd42 100644 --- a/enc/shift_jis.c +++ b/enc/shift_jis.c @@ -1,8 +1,9 @@ /********************************************************************** - sjis.c - Oniguruma (regular expression library) + sjis.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -67,6 +68,97 @@ static const char SJIS_CAN_BE_TRAIL_TABLE[256] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 }; +static const OnigPairCaseFoldCodes CaseFoldMap[] = { + /* Fullwidth Alphabet */ + { 0x8260, 0x8281 }, + { 0x8261, 0x8282 }, + { 0x8262, 0x8283 }, + { 0x8263, 0x8284 }, + { 0x8264, 0x8285 }, + { 0x8265, 0x8286 }, + { 0x8266, 0x8287 }, + { 0x8267, 0x8288 }, + { 0x8268, 0x8289 }, + { 0x8269, 0x828a }, + { 0x826a, 0x828b }, + { 0x826b, 0x828c }, + { 0x826c, 0x828d }, + { 0x826d, 0x828e }, + { 0x826e, 0x828f }, + { 0x826f, 0x8290 }, + { 0x8270, 0x8291 }, + { 0x8271, 0x8292 }, + { 0x8272, 0x8293 }, + { 0x8273, 0x8294 }, + { 0x8274, 0x8295 }, + { 0x8275, 0x8296 }, + { 0x8276, 0x8297 }, + { 0x8277, 0x8298 }, + { 0x8278, 0x8299 }, + { 0x8279, 0x829a }, + + /* Greek */ + { 0x839f, 0x83bf }, + { 0x83a0, 0x83c0 }, + { 0x83a1, 0x83c1 }, + { 0x83a2, 0x83c2 }, + { 0x83a3, 0x83c3 }, + { 0x83a4, 0x83c4 }, + { 0x83a5, 0x83c5 }, + { 0x83a6, 0x83c6 }, + { 0x83a7, 0x83c7 }, + { 0x83a8, 0x83c8 }, + { 0x83a9, 0x83c9 }, + { 0x83aa, 0x83ca }, + { 0x83ab, 0x83cb }, + { 0x83ac, 0x83cc }, + { 0x83ad, 0x83cd }, + { 0x83ae, 0x83ce }, + { 0x83af, 0x83cf }, + { 0x83b0, 0x83d0 }, + { 0x83b1, 0x83d1 }, + { 0x83b2, 0x83d2 }, + { 0x83b3, 0x83d3 }, + { 0x83b4, 0x83d4 }, + { 0x83b5, 0x83d5 }, + { 0x83b6, 0x83d6 }, + + /* Cyrillic */ + { 0x8440, 0x8470 }, + { 0x8441, 0x8471 }, + { 0x8442, 0x8472 }, + { 0x8443, 0x8473 }, + { 0x8444, 0x8474 }, + { 0x8445, 0x8475 }, + { 0x8446, 0x8476 }, + { 0x8447, 0x8477 }, + { 0x8448, 0x8478 }, + { 0x8449, 0x8479 }, + { 0x844a, 0x847a }, + { 0x844b, 0x847b }, + { 0x844c, 0x847c }, + { 0x844d, 0x847d }, + { 0x844e, 0x847e }, + { 0x844f, 0x8480 }, + { 0x8450, 0x8481 }, + { 0x8451, 0x8482 }, + { 0x8452, 0x8483 }, + { 0x8453, 0x8484 }, + { 0x8454, 0x8485 }, + { 0x8455, 0x8486 }, + { 0x8456, 0x8487 }, + { 0x8457, 0x8488 }, + { 0x8458, 0x8489 }, + { 0x8459, 0x848a }, + { 0x845a, 0x848b }, + { 0x845b, 0x848c }, + { 0x845c, 0x848d }, + { 0x845d, 0x848e }, + { 0x845e, 0x848f }, + { 0x845f, 0x8490 }, + { 0x8460, 0x8491 }, +}; + #define SJIS_ISMB_FIRST(byte) (EncLen_SJIS[byte] > 1) #define SJIS_ISMB_TRAIL(byte) SJIS_CAN_BE_TRAIL_TABLE[(byte)] @@ -150,7 +242,7 @@ mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc) int c, i, len; OnigCodePoint n; - len = enclen(enc, p, end); + len = mbc_enc_len(p, end, enc); c = *p++; n = c; if (len == 1) return n; @@ -172,10 +264,90 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc) *p++ = (UChar )(code & 0xff); #if 0 - if (enclen(enc, buf) != (p - buf)) + if (mbc_enc_len(buf, p, enc) != (p - buf)) return REGERR_INVALID_CODE_POINT_VALUE; #endif - return (int)(p - buf); + return (int )(p - buf); +} + +static int +apply_all_case_fold(OnigCaseFoldType flag, + OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc) +{ + return onigenc_apply_all_case_fold_with_map( + sizeof(CaseFoldMap)/sizeof(OnigPairCaseFoldCodes), CaseFoldMap, 0, + flag, f, arg); +} + +static OnigCodePoint +get_lower_case(OnigCodePoint code) +{ + if (ONIGENC_IS_IN_RANGE(code, 0x8260, 0x8279)) { + /* Fullwidth Alphabet */ + return (OnigCodePoint )(code + 0x0021); + } + else if (ONIGENC_IS_IN_RANGE(code, 0x839f, 0x83b6)) { + /* Greek */ + return (OnigCodePoint )(code + 0x0020); + } + else if (ONIGENC_IS_IN_RANGE(code, 0x8440, 0x8460)) { + /* Cyrillic */ + int d = (code >= 0x844f) ? 1 : 0; + return (OnigCodePoint )(code + (0x0030 + d)); + } + return code; +} + +static OnigCodePoint +get_upper_case(OnigCodePoint code) +{ + if (ONIGENC_IS_IN_RANGE(code, 0x8281, 0x829a)) { + /* Fullwidth Alphabet */ + return (OnigCodePoint )(code - 0x0021); + } + else if (ONIGENC_IS_IN_RANGE(code, 0x83bf, 0x83d6)) { + /* Greek */ + return (OnigCodePoint )(code - 0x0020); + } + else if (ONIGENC_IS_IN_RANGE(code, 0x8470, 0x847e) || + ONIGENC_IS_IN_RANGE(code, 0x8480, 0x8491)) { + /* Cyrillic */ + int d = (code >= 0x8480) ? 1 : 0; + return (OnigCodePoint )(code - (0x0030 - d)); + } + return code; +} + +static int +get_case_fold_codes_by_str(OnigCaseFoldType flag, + const OnigUChar* p, const OnigUChar* end, + OnigCaseFoldCodeItem items[], OnigEncoding enc) +{ + int len; + OnigCodePoint code, code_lo, code_up; + + code = mbc_to_code(p, end, enc); + if (ONIGENC_IS_ASCII_CODE(code)) + return onigenc_ascii_get_case_fold_codes_by_str(flag, p, end, items, enc); + + len = mbc_enc_len(p, end, enc); + code_lo = get_lower_case(code); + code_up = get_upper_case(code); + + if (code != code_lo) { + items[0].byte_len = len; + items[0].code_len = 1; + items[0].code[0] = code_lo; + return 1; + } + else if (code != code_up) { + items[0].byte_len = len; + items[0].code_len = 1; + items[0].code[0] = code_up; + return 1; + } + + return 0; } static int @@ -191,12 +363,11 @@ mbc_case_fold(OnigCaseFoldType flag, return 1; } else { - int i; - int len = enclen(enc, p, end); + OnigCodePoint code; + int len; - for (i = 0; i < len; i++) { - *lower++ = *p++; - } + code = get_lower_case(mbc_to_code(p, end, enc)); + len = code_to_mbc(code, lower, enc); (*pp) += len; return len; /* return byte length of converted char to lower */ } @@ -245,7 +416,7 @@ left_adjust_char_head(const UChar* start, const UChar* s, const UChar* end, Onig } } } - len = enclen(enc, p, end); + len = mbc_enc_len(p, end, enc); if (p + len > s) return (UChar* )p; p += len; return (UChar* )(p + ((s - p) & ~1)); @@ -278,6 +449,47 @@ static const OnigCodePoint CR_Katakana[] = { 0x8380, 0x8396, }; /* CR_Katakana */ +#ifdef ENC_CP932 +static const OnigCodePoint CR_Han[] = { + 6, + 0x8157, 0x8157, + 0x889f, 0x9872, /* Kanji level 1 */ + 0x989f, 0x9ffc, /* Kanji level 2 */ + 0xe040, 0xeaa4, /* Kanji level 2 */ + 0xed40, 0xeeec, /* NEC-selected IBM extended characters (without symbols) */ + 0xfa5c, 0xfc4b, /* IBM extended characters (without symbols) */ +}; /* CR_Han */ +#else +static const OnigCodePoint CR_Han[] = { + 4, + 0x8157, 0x8157, + 0x889f, 0x9872, /* Kanji level 1 */ + 0x989f, 0x9ffc, /* Kanji level 2 */ + 0xe040, 0xeaa4, /* Kanji level 2 */ +}; /* CR_Han */ +#endif + +static const OnigCodePoint CR_Latin[] = { + 4, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x8260, 0x8279, + 0x8281, 0x829a, +}; /* CR_Latin */ + +static const OnigCodePoint CR_Greek[] = { + 2, + 0x839f, 0x83b6, + 0x83bf, 0x83d6, +}; /* CR_Greek */ + +static const OnigCodePoint CR_Cyrillic[] = { + 3, + 0x8440, 0x8460, + 0x8470, 0x847f, + 0x8480, 0x8491, +}; /* CR_Cyrillic */ + static int init_property_list(void) { @@ -285,6 +497,10 @@ init_property_list(void) PROPERTY_LIST_ADD_PROP("hiragana", CR_Hiragana); PROPERTY_LIST_ADD_PROP("katakana", CR_Katakana); + PROPERTY_LIST_ADD_PROP("han", CR_Han); + PROPERTY_LIST_ADD_PROP("latin", CR_Latin); + PROPERTY_LIST_ADD_PROP("greek", CR_Greek); + PROPERTY_LIST_ADD_PROP("cyrillic", CR_Cyrillic); PropertyInited = 1; end: @@ -308,7 +524,7 @@ property_name_to_ctype(OnigEncoding enc, UChar* p, UChar* end) return onigenc_minimum_property_name_to_ctype(enc, s, e); } - return (int)ctype; + return (int )ctype; } static int @@ -357,6 +573,7 @@ get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out, } } +#ifndef ENC_CP932 OnigEncodingDefine(shift_jis, Shift_JIS) = { mbc_enc_len, "Shift_JIS", /* name */ @@ -367,54 +584,22 @@ OnigEncodingDefine(shift_jis, Shift_JIS) = { code_to_mbclen, code_to_mbc, mbc_case_fold, - onigenc_ascii_apply_all_case_fold, - onigenc_ascii_get_case_fold_codes_by_str, + apply_all_case_fold, + get_case_fold_codes_by_str, property_name_to_ctype, is_code_ctype, get_ctype_code_range, left_adjust_char_head, is_allowed_reverse_match, - 0 + 0, + ONIGENC_FLAG_NONE, }; /* * Name: Shift_JIS * MIBenum: 17 * Link: http://www.iana.org/assignments/character-sets * Link: http://ja.wikipedia.org/wiki/Shift_JIS - * - * Note that this Shift_JIS's 7bit part is US-ASCII not JIX X 0201 - * because Shift_JIS must be ASCII compatible encoding. - * See also the conversion table (enc/trans/japanese_sjis.trans). - */ - -/* - * Name: Windows-31J - * MIBenum: 2024 - * Link: http://www.iana.org/assignments/character-sets - * Link: http://www.microsoft.com/globaldev/reference/dbcs/932.mspx - * Link: http://ja.wikipedia.org/wiki/Windows-31J - * Link: http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-932-2000.ucm - * - * Windows Standard Character Set and its mapping to Unicode by Microsoft. - * Since 1.9.3, SJIS is the alias of Windows-31J because its character - * set is usually this one even if its mapping may differ. - */ -ENC_REPLICATE("Windows-31J", "Shift_JIS") -ENC_ALIAS("CP932", "Windows-31J") -ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */ -ENC_ALIAS("SJIS", "Windows-31J") - -/* - * Name: PCK - * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/x-2chn0/index.html - * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/appb-pckwarn-1/index.html - * - * Solaris's SJIS variant. Its set is Windows Standard Character Set; it - * consists JIS X 0201 Latin (US-ASCII), JIS X 0201 Katakana, JIS X 0208, NEC - * special characters, NEC-selected IBM extended characters, and IBM extended - * characters. Solaris's iconv seems to use SJIS-open. */ -ENC_ALIAS("PCK", "Windows-31J") /* * Name: MacJapanese @@ -423,3 +608,4 @@ ENC_ALIAS("PCK", "Windows-31J") */ ENC_REPLICATE("MacJapanese", "Shift_JIS") ENC_ALIAS("MacJapan", "MacJapanese") +#endif diff --git a/enc/unicode.c b/enc/unicode.c index e7eb7b3902..1dda3f32f8 100644 --- a/enc/unicode.c +++ b/enc/unicode.c @@ -38,7 +38,7 @@ static const unsigned short EncUNICODE_ISO_8859_1_CtypeTable[256] = { 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, - 0x4008, 0x428c, 0x4289, 0x4288, 0x4288, 0x4288, 0x4008, 0x4008, + 0x4008, 0x420c, 0x4209, 0x4208, 0x4208, 0x4208, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4284, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, @@ -103,1937 +103,8 @@ typedef struct { CodePointList2 to; } CaseUnfold_13_Type; -static const CaseFold_11_Type CaseFold[] = { - { 0x0041, {1, {0x0061}}}, - { 0x0042, {1, {0x0062}}}, - { 0x0043, {1, {0x0063}}}, - { 0x0044, {1, {0x0064}}}, - { 0x0045, {1, {0x0065}}}, - { 0x0046, {1, {0x0066}}}, - { 0x0047, {1, {0x0067}}}, - { 0x0048, {1, {0x0068}}}, - { 0x004a, {1, {0x006a}}}, - { 0x004b, {1, {0x006b}}}, - { 0x004c, {1, {0x006c}}}, - { 0x004d, {1, {0x006d}}}, - { 0x004e, {1, {0x006e}}}, - { 0x004f, {1, {0x006f}}}, - { 0x0050, {1, {0x0070}}}, - { 0x0051, {1, {0x0071}}}, - { 0x0052, {1, {0x0072}}}, - { 0x0053, {1, {0x0073}}}, - { 0x0054, {1, {0x0074}}}, - { 0x0055, {1, {0x0075}}}, - { 0x0056, {1, {0x0076}}}, - { 0x0057, {1, {0x0077}}}, - { 0x0058, {1, {0x0078}}}, - { 0x0059, {1, {0x0079}}}, - { 0x005a, {1, {0x007a}}}, - { 0x00b5, {1, {0x03bc}}}, - { 0x00c0, {1, {0x00e0}}}, - { 0x00c1, {1, {0x00e1}}}, - { 0x00c2, {1, {0x00e2}}}, - { 0x00c3, {1, {0x00e3}}}, - { 0x00c4, {1, {0x00e4}}}, - { 0x00c5, {1, {0x00e5}}}, - { 0x00c6, {1, {0x00e6}}}, - { 0x00c7, {1, {0x00e7}}}, - { 0x00c8, {1, {0x00e8}}}, - { 0x00c9, {1, {0x00e9}}}, - { 0x00ca, {1, {0x00ea}}}, - { 0x00cb, {1, {0x00eb}}}, - { 0x00cc, {1, {0x00ec}}}, - { 0x00cd, {1, {0x00ed}}}, - { 0x00ce, {1, {0x00ee}}}, - { 0x00cf, {1, {0x00ef}}}, - { 0x00d0, {1, {0x00f0}}}, - { 0x00d1, {1, {0x00f1}}}, - { 0x00d2, {1, {0x00f2}}}, - { 0x00d3, {1, {0x00f3}}}, - { 0x00d4, {1, {0x00f4}}}, - { 0x00d5, {1, {0x00f5}}}, - { 0x00d6, {1, {0x00f6}}}, - { 0x00d8, {1, {0x00f8}}}, - { 0x00d9, {1, {0x00f9}}}, - { 0x00da, {1, {0x00fa}}}, - { 0x00db, {1, {0x00fb}}}, - { 0x00dc, {1, {0x00fc}}}, - { 0x00dd, {1, {0x00fd}}}, - { 0x00de, {1, {0x00fe}}}, - { 0x00df, {2, {0x0073, 0x0073}}}, - { 0x0100, {1, {0x0101}}}, - { 0x0102, {1, {0x0103}}}, - { 0x0104, {1, {0x0105}}}, - { 0x0106, {1, {0x0107}}}, - { 0x0108, {1, {0x0109}}}, - { 0x010a, {1, {0x010b}}}, - { 0x010c, {1, {0x010d}}}, - { 0x010e, {1, {0x010f}}}, - { 0x0110, {1, {0x0111}}}, - { 0x0112, {1, {0x0113}}}, - { 0x0114, {1, {0x0115}}}, - { 0x0116, {1, {0x0117}}}, - { 0x0118, {1, {0x0119}}}, - { 0x011a, {1, {0x011b}}}, - { 0x011c, {1, {0x011d}}}, - { 0x011e, {1, {0x011f}}}, - { 0x0120, {1, {0x0121}}}, - { 0x0122, {1, {0x0123}}}, - { 0x0124, {1, {0x0125}}}, - { 0x0126, {1, {0x0127}}}, - { 0x0128, {1, {0x0129}}}, - { 0x012a, {1, {0x012b}}}, - { 0x012c, {1, {0x012d}}}, - { 0x012e, {1, {0x012f}}}, - { 0x0132, {1, {0x0133}}}, - { 0x0134, {1, {0x0135}}}, - { 0x0136, {1, {0x0137}}}, - { 0x0139, {1, {0x013a}}}, - { 0x013b, {1, {0x013c}}}, - { 0x013d, {1, {0x013e}}}, - { 0x013f, {1, {0x0140}}}, - { 0x0141, {1, {0x0142}}}, - { 0x0143, {1, {0x0144}}}, - { 0x0145, {1, {0x0146}}}, - { 0x0147, {1, {0x0148}}}, - { 0x0149, {2, {0x02bc, 0x006e}}}, - { 0x014a, {1, {0x014b}}}, - { 0x014c, {1, {0x014d}}}, - { 0x014e, {1, {0x014f}}}, - { 0x0150, {1, {0x0151}}}, - { 0x0152, {1, {0x0153}}}, - { 0x0154, {1, {0x0155}}}, - { 0x0156, {1, {0x0157}}}, - { 0x0158, {1, {0x0159}}}, - { 0x015a, {1, {0x015b}}}, - { 0x015c, {1, {0x015d}}}, - { 0x015e, {1, {0x015f}}}, - { 0x0160, {1, {0x0161}}}, - { 0x0162, {1, {0x0163}}}, - { 0x0164, {1, {0x0165}}}, - { 0x0166, {1, {0x0167}}}, - { 0x0168, {1, {0x0169}}}, - { 0x016a, {1, {0x016b}}}, - { 0x016c, {1, {0x016d}}}, - { 0x016e, {1, {0x016f}}}, - { 0x0170, {1, {0x0171}}}, - { 0x0172, {1, {0x0173}}}, - { 0x0174, {1, {0x0175}}}, - { 0x0176, {1, {0x0177}}}, - { 0x0178, {1, {0x00ff}}}, - { 0x0179, {1, {0x017a}}}, - { 0x017b, {1, {0x017c}}}, - { 0x017d, {1, {0x017e}}}, - { 0x017f, {1, {0x0073}}}, - { 0x0181, {1, {0x0253}}}, - { 0x0182, {1, {0x0183}}}, - { 0x0184, {1, {0x0185}}}, - { 0x0186, {1, {0x0254}}}, - { 0x0187, {1, {0x0188}}}, - { 0x0189, {1, {0x0256}}}, - { 0x018a, {1, {0x0257}}}, - { 0x018b, {1, {0x018c}}}, - { 0x018e, {1, {0x01dd}}}, - { 0x018f, {1, {0x0259}}}, - { 0x0190, {1, {0x025b}}}, - { 0x0191, {1, {0x0192}}}, - { 0x0193, {1, {0x0260}}}, - { 0x0194, {1, {0x0263}}}, - { 0x0196, {1, {0x0269}}}, - { 0x0197, {1, {0x0268}}}, - { 0x0198, {1, {0x0199}}}, - { 0x019c, {1, {0x026f}}}, - { 0x019d, {1, {0x0272}}}, - { 0x019f, {1, {0x0275}}}, - { 0x01a0, {1, {0x01a1}}}, - { 0x01a2, {1, {0x01a3}}}, - { 0x01a4, {1, {0x01a5}}}, - { 0x01a6, {1, {0x0280}}}, - { 0x01a7, {1, {0x01a8}}}, - { 0x01a9, {1, {0x0283}}}, - { 0x01ac, {1, {0x01ad}}}, - { 0x01ae, {1, {0x0288}}}, - { 0x01af, {1, {0x01b0}}}, - { 0x01b1, {1, {0x028a}}}, - { 0x01b2, {1, {0x028b}}}, - { 0x01b3, {1, {0x01b4}}}, - { 0x01b5, {1, {0x01b6}}}, - { 0x01b7, {1, {0x0292}}}, - { 0x01b8, {1, {0x01b9}}}, - { 0x01bc, {1, {0x01bd}}}, - { 0x01c4, {1, {0x01c6}}}, - { 0x01c5, {1, {0x01c6}}}, - { 0x01c7, {1, {0x01c9}}}, - { 0x01c8, {1, {0x01c9}}}, - { 0x01ca, {1, {0x01cc}}}, - { 0x01cb, {1, {0x01cc}}}, - { 0x01cd, {1, {0x01ce}}}, - { 0x01cf, {1, {0x01d0}}}, - { 0x01d1, {1, {0x01d2}}}, - { 0x01d3, {1, {0x01d4}}}, - { 0x01d5, {1, {0x01d6}}}, - { 0x01d7, {1, {0x01d8}}}, - { 0x01d9, {1, {0x01da}}}, - { 0x01db, {1, {0x01dc}}}, - { 0x01de, {1, {0x01df}}}, - { 0x01e0, {1, {0x01e1}}}, - { 0x01e2, {1, {0x01e3}}}, - { 0x01e4, {1, {0x01e5}}}, - { 0x01e6, {1, {0x01e7}}}, - { 0x01e8, {1, {0x01e9}}}, - { 0x01ea, {1, {0x01eb}}}, - { 0x01ec, {1, {0x01ed}}}, - { 0x01ee, {1, {0x01ef}}}, - { 0x01f0, {2, {0x006a, 0x030c}}}, - { 0x01f1, {1, {0x01f3}}}, - { 0x01f2, {1, {0x01f3}}}, - { 0x01f4, {1, {0x01f5}}}, - { 0x01f6, {1, {0x0195}}}, - { 0x01f7, {1, {0x01bf}}}, - { 0x01f8, {1, {0x01f9}}}, - { 0x01fa, {1, {0x01fb}}}, - { 0x01fc, {1, {0x01fd}}}, - { 0x01fe, {1, {0x01ff}}}, - { 0x0200, {1, {0x0201}}}, - { 0x0202, {1, {0x0203}}}, - { 0x0204, {1, {0x0205}}}, - { 0x0206, {1, {0x0207}}}, - { 0x0208, {1, {0x0209}}}, - { 0x020a, {1, {0x020b}}}, - { 0x020c, {1, {0x020d}}}, - { 0x020e, {1, {0x020f}}}, - { 0x0210, {1, {0x0211}}}, - { 0x0212, {1, {0x0213}}}, - { 0x0214, {1, {0x0215}}}, - { 0x0216, {1, {0x0217}}}, - { 0x0218, {1, {0x0219}}}, - { 0x021a, {1, {0x021b}}}, - { 0x021c, {1, {0x021d}}}, - { 0x021e, {1, {0x021f}}}, - { 0x0220, {1, {0x019e}}}, - { 0x0222, {1, {0x0223}}}, - { 0x0224, {1, {0x0225}}}, - { 0x0226, {1, {0x0227}}}, - { 0x0228, {1, {0x0229}}}, - { 0x022a, {1, {0x022b}}}, - { 0x022c, {1, {0x022d}}}, - { 0x022e, {1, {0x022f}}}, - { 0x0230, {1, {0x0231}}}, - { 0x0232, {1, {0x0233}}}, - { 0x023b, {1, {0x023c}}}, - { 0x023d, {1, {0x019a}}}, - { 0x0241, {1, {0x0294}}}, - { 0x0345, {1, {0x03b9}}}, - { 0x0386, {1, {0x03ac}}}, - { 0x0388, {1, {0x03ad}}}, - { 0x0389, {1, {0x03ae}}}, - { 0x038a, {1, {0x03af}}}, - { 0x038c, {1, {0x03cc}}}, - { 0x038e, {1, {0x03cd}}}, - { 0x038f, {1, {0x03ce}}}, - { 0x0390, {3, {0x03b9, 0x0308, 0x0301}}}, - { 0x0391, {1, {0x03b1}}}, - { 0x0392, {1, {0x03b2}}}, - { 0x0393, {1, {0x03b3}}}, - { 0x0394, {1, {0x03b4}}}, - { 0x0395, {1, {0x03b5}}}, - { 0x0396, {1, {0x03b6}}}, - { 0x0397, {1, {0x03b7}}}, - { 0x0398, {1, {0x03b8}}}, - { 0x0399, {1, {0x03b9}}}, - { 0x039a, {1, {0x03ba}}}, - { 0x039b, {1, {0x03bb}}}, - { 0x039c, {1, {0x03bc}}}, - { 0x039d, {1, {0x03bd}}}, - { 0x039e, {1, {0x03be}}}, - { 0x039f, {1, {0x03bf}}}, - { 0x03a0, {1, {0x03c0}}}, - { 0x03a1, {1, {0x03c1}}}, - { 0x03a3, {1, {0x03c3}}}, - { 0x03a4, {1, {0x03c4}}}, - { 0x03a5, {1, {0x03c5}}}, - { 0x03a6, {1, {0x03c6}}}, - { 0x03a7, {1, {0x03c7}}}, - { 0x03a8, {1, {0x03c8}}}, - { 0x03a9, {1, {0x03c9}}}, - { 0x03aa, {1, {0x03ca}}}, - { 0x03ab, {1, {0x03cb}}}, - { 0x03b0, {3, {0x03c5, 0x0308, 0x0301}}}, - { 0x03c2, {1, {0x03c3}}}, - { 0x03d0, {1, {0x03b2}}}, - { 0x03d1, {1, {0x03b8}}}, - { 0x03d5, {1, {0x03c6}}}, - { 0x03d6, {1, {0x03c0}}}, - { 0x03d8, {1, {0x03d9}}}, - { 0x03da, {1, {0x03db}}}, - { 0x03dc, {1, {0x03dd}}}, - { 0x03de, {1, {0x03df}}}, - { 0x03e0, {1, {0x03e1}}}, - { 0x03e2, {1, {0x03e3}}}, - { 0x03e4, {1, {0x03e5}}}, - { 0x03e6, {1, {0x03e7}}}, - { 0x03e8, {1, {0x03e9}}}, - { 0x03ea, {1, {0x03eb}}}, - { 0x03ec, {1, {0x03ed}}}, - { 0x03ee, {1, {0x03ef}}}, - { 0x03f0, {1, {0x03ba}}}, - { 0x03f1, {1, {0x03c1}}}, - { 0x03f4, {1, {0x03b8}}}, - { 0x03f5, {1, {0x03b5}}}, - { 0x03f7, {1, {0x03f8}}}, - { 0x03f9, {1, {0x03f2}}}, - { 0x03fa, {1, {0x03fb}}}, - { 0x0400, {1, {0x0450}}}, - { 0x0401, {1, {0x0451}}}, - { 0x0402, {1, {0x0452}}}, - { 0x0403, {1, {0x0453}}}, - { 0x0404, {1, {0x0454}}}, - { 0x0405, {1, {0x0455}}}, - { 0x0406, {1, {0x0456}}}, - { 0x0407, {1, {0x0457}}}, - { 0x0408, {1, {0x0458}}}, - { 0x0409, {1, {0x0459}}}, - { 0x040a, {1, {0x045a}}}, - { 0x040b, {1, {0x045b}}}, - { 0x040c, {1, {0x045c}}}, - { 0x040d, {1, {0x045d}}}, - { 0x040e, {1, {0x045e}}}, - { 0x040f, {1, {0x045f}}}, - { 0x0410, {1, {0x0430}}}, - { 0x0411, {1, {0x0431}}}, - { 0x0412, {1, {0x0432}}}, - { 0x0413, {1, {0x0433}}}, - { 0x0414, {1, {0x0434}}}, - { 0x0415, {1, {0x0435}}}, - { 0x0416, {1, {0x0436}}}, - { 0x0417, {1, {0x0437}}}, - { 0x0418, {1, {0x0438}}}, - { 0x0419, {1, {0x0439}}}, - { 0x041a, {1, {0x043a}}}, - { 0x041b, {1, {0x043b}}}, - { 0x041c, {1, {0x043c}}}, - { 0x041d, {1, {0x043d}}}, - { 0x041e, {1, {0x043e}}}, - { 0x041f, {1, {0x043f}}}, - { 0x0420, {1, {0x0440}}}, - { 0x0421, {1, {0x0441}}}, - { 0x0422, {1, {0x0442}}}, - { 0x0423, {1, {0x0443}}}, - { 0x0424, {1, {0x0444}}}, - { 0x0425, {1, {0x0445}}}, - { 0x0426, {1, {0x0446}}}, - { 0x0427, {1, {0x0447}}}, - { 0x0428, {1, {0x0448}}}, - { 0x0429, {1, {0x0449}}}, - { 0x042a, {1, {0x044a}}}, - { 0x042b, {1, {0x044b}}}, - { 0x042c, {1, {0x044c}}}, - { 0x042d, {1, {0x044d}}}, - { 0x042e, {1, {0x044e}}}, - { 0x042f, {1, {0x044f}}}, - { 0x0460, {1, {0x0461}}}, - { 0x0462, {1, {0x0463}}}, - { 0x0464, {1, {0x0465}}}, - { 0x0466, {1, {0x0467}}}, - { 0x0468, {1, {0x0469}}}, - { 0x046a, {1, {0x046b}}}, - { 0x046c, {1, {0x046d}}}, - { 0x046e, {1, {0x046f}}}, - { 0x0470, {1, {0x0471}}}, - { 0x0472, {1, {0x0473}}}, - { 0x0474, {1, {0x0475}}}, - { 0x0476, {1, {0x0477}}}, - { 0x0478, {1, {0x0479}}}, - { 0x047a, {1, {0x047b}}}, - { 0x047c, {1, {0x047d}}}, - { 0x047e, {1, {0x047f}}}, - { 0x0480, {1, {0x0481}}}, - { 0x048a, {1, {0x048b}}}, - { 0x048c, {1, {0x048d}}}, - { 0x048e, {1, {0x048f}}}, - { 0x0490, {1, {0x0491}}}, - { 0x0492, {1, {0x0493}}}, - { 0x0494, {1, {0x0495}}}, - { 0x0496, {1, {0x0497}}}, - { 0x0498, {1, {0x0499}}}, - { 0x049a, {1, {0x049b}}}, - { 0x049c, {1, {0x049d}}}, - { 0x049e, {1, {0x049f}}}, - { 0x04a0, {1, {0x04a1}}}, - { 0x04a2, {1, {0x04a3}}}, - { 0x04a4, {1, {0x04a5}}}, - { 0x04a6, {1, {0x04a7}}}, - { 0x04a8, {1, {0x04a9}}}, - { 0x04aa, {1, {0x04ab}}}, - { 0x04ac, {1, {0x04ad}}}, - { 0x04ae, {1, {0x04af}}}, - { 0x04b0, {1, {0x04b1}}}, - { 0x04b2, {1, {0x04b3}}}, - { 0x04b4, {1, {0x04b5}}}, - { 0x04b6, {1, {0x04b7}}}, - { 0x04b8, {1, {0x04b9}}}, - { 0x04ba, {1, {0x04bb}}}, - { 0x04bc, {1, {0x04bd}}}, - { 0x04be, {1, {0x04bf}}}, - { 0x04c1, {1, {0x04c2}}}, - { 0x04c3, {1, {0x04c4}}}, - { 0x04c5, {1, {0x04c6}}}, - { 0x04c7, {1, {0x04c8}}}, - { 0x04c9, {1, {0x04ca}}}, - { 0x04cb, {1, {0x04cc}}}, - { 0x04cd, {1, {0x04ce}}}, - { 0x04d0, {1, {0x04d1}}}, - { 0x04d2, {1, {0x04d3}}}, - { 0x04d4, {1, {0x04d5}}}, - { 0x04d6, {1, {0x04d7}}}, - { 0x04d8, {1, {0x04d9}}}, - { 0x04da, {1, {0x04db}}}, - { 0x04dc, {1, {0x04dd}}}, - { 0x04de, {1, {0x04df}}}, - { 0x04e0, {1, {0x04e1}}}, - { 0x04e2, {1, {0x04e3}}}, - { 0x04e4, {1, {0x04e5}}}, - { 0x04e6, {1, {0x04e7}}}, - { 0x04e8, {1, {0x04e9}}}, - { 0x04ea, {1, {0x04eb}}}, - { 0x04ec, {1, {0x04ed}}}, - { 0x04ee, {1, {0x04ef}}}, - { 0x04f0, {1, {0x04f1}}}, - { 0x04f2, {1, {0x04f3}}}, - { 0x04f4, {1, {0x04f5}}}, - { 0x04f6, {1, {0x04f7}}}, - { 0x04f8, {1, {0x04f9}}}, - { 0x0500, {1, {0x0501}}}, - { 0x0502, {1, {0x0503}}}, - { 0x0504, {1, {0x0505}}}, - { 0x0506, {1, {0x0507}}}, - { 0x0508, {1, {0x0509}}}, - { 0x050a, {1, {0x050b}}}, - { 0x050c, {1, {0x050d}}}, - { 0x050e, {1, {0x050f}}}, - { 0x0531, {1, {0x0561}}}, - { 0x0532, {1, {0x0562}}}, - { 0x0533, {1, {0x0563}}}, - { 0x0534, {1, {0x0564}}}, - { 0x0535, {1, {0x0565}}}, - { 0x0536, {1, {0x0566}}}, - { 0x0537, {1, {0x0567}}}, - { 0x0538, {1, {0x0568}}}, - { 0x0539, {1, {0x0569}}}, - { 0x053a, {1, {0x056a}}}, - { 0x053b, {1, {0x056b}}}, - { 0x053c, {1, {0x056c}}}, - { 0x053d, {1, {0x056d}}}, - { 0x053e, {1, {0x056e}}}, - { 0x053f, {1, {0x056f}}}, - { 0x0540, {1, {0x0570}}}, - { 0x0541, {1, {0x0571}}}, - { 0x0542, {1, {0x0572}}}, - { 0x0543, {1, {0x0573}}}, - { 0x0544, {1, {0x0574}}}, - { 0x0545, {1, {0x0575}}}, - { 0x0546, {1, {0x0576}}}, - { 0x0547, {1, {0x0577}}}, - { 0x0548, {1, {0x0578}}}, - { 0x0549, {1, {0x0579}}}, - { 0x054a, {1, {0x057a}}}, - { 0x054b, {1, {0x057b}}}, - { 0x054c, {1, {0x057c}}}, - { 0x054d, {1, {0x057d}}}, - { 0x054e, {1, {0x057e}}}, - { 0x054f, {1, {0x057f}}}, - { 0x0550, {1, {0x0580}}}, - { 0x0551, {1, {0x0581}}}, - { 0x0552, {1, {0x0582}}}, - { 0x0553, {1, {0x0583}}}, - { 0x0554, {1, {0x0584}}}, - { 0x0555, {1, {0x0585}}}, - { 0x0556, {1, {0x0586}}}, - { 0x0587, {2, {0x0565, 0x0582}}}, - { 0x10a0, {1, {0x2d00}}}, - { 0x10a1, {1, {0x2d01}}}, - { 0x10a2, {1, {0x2d02}}}, - { 0x10a3, {1, {0x2d03}}}, - { 0x10a4, {1, {0x2d04}}}, - { 0x10a5, {1, {0x2d05}}}, - { 0x10a6, {1, {0x2d06}}}, - { 0x10a7, {1, {0x2d07}}}, - { 0x10a8, {1, {0x2d08}}}, - { 0x10a9, {1, {0x2d09}}}, - { 0x10aa, {1, {0x2d0a}}}, - { 0x10ab, {1, {0x2d0b}}}, - { 0x10ac, {1, {0x2d0c}}}, - { 0x10ad, {1, {0x2d0d}}}, - { 0x10ae, {1, {0x2d0e}}}, - { 0x10af, {1, {0x2d0f}}}, - { 0x10b0, {1, {0x2d10}}}, - { 0x10b1, {1, {0x2d11}}}, - { 0x10b2, {1, {0x2d12}}}, - { 0x10b3, {1, {0x2d13}}}, - { 0x10b4, {1, {0x2d14}}}, - { 0x10b5, {1, {0x2d15}}}, - { 0x10b6, {1, {0x2d16}}}, - { 0x10b7, {1, {0x2d17}}}, - { 0x10b8, {1, {0x2d18}}}, - { 0x10b9, {1, {0x2d19}}}, - { 0x10ba, {1, {0x2d1a}}}, - { 0x10bb, {1, {0x2d1b}}}, - { 0x10bc, {1, {0x2d1c}}}, - { 0x10bd, {1, {0x2d1d}}}, - { 0x10be, {1, {0x2d1e}}}, - { 0x10bf, {1, {0x2d1f}}}, - { 0x10c0, {1, {0x2d20}}}, - { 0x10c1, {1, {0x2d21}}}, - { 0x10c2, {1, {0x2d22}}}, - { 0x10c3, {1, {0x2d23}}}, - { 0x10c4, {1, {0x2d24}}}, - { 0x10c5, {1, {0x2d25}}}, - { 0x1e00, {1, {0x1e01}}}, - { 0x1e02, {1, {0x1e03}}}, - { 0x1e04, {1, {0x1e05}}}, - { 0x1e06, {1, {0x1e07}}}, - { 0x1e08, {1, {0x1e09}}}, - { 0x1e0a, {1, {0x1e0b}}}, - { 0x1e0c, {1, {0x1e0d}}}, - { 0x1e0e, {1, {0x1e0f}}}, - { 0x1e10, {1, {0x1e11}}}, - { 0x1e12, {1, {0x1e13}}}, - { 0x1e14, {1, {0x1e15}}}, - { 0x1e16, {1, {0x1e17}}}, - { 0x1e18, {1, {0x1e19}}}, - { 0x1e1a, {1, {0x1e1b}}}, - { 0x1e1c, {1, {0x1e1d}}}, - { 0x1e1e, {1, {0x1e1f}}}, - { 0x1e20, {1, {0x1e21}}}, - { 0x1e22, {1, {0x1e23}}}, - { 0x1e24, {1, {0x1e25}}}, - { 0x1e26, {1, {0x1e27}}}, - { 0x1e28, {1, {0x1e29}}}, - { 0x1e2a, {1, {0x1e2b}}}, - { 0x1e2c, {1, {0x1e2d}}}, - { 0x1e2e, {1, {0x1e2f}}}, - { 0x1e30, {1, {0x1e31}}}, - { 0x1e32, {1, {0x1e33}}}, - { 0x1e34, {1, {0x1e35}}}, - { 0x1e36, {1, {0x1e37}}}, - { 0x1e38, {1, {0x1e39}}}, - { 0x1e3a, {1, {0x1e3b}}}, - { 0x1e3c, {1, {0x1e3d}}}, - { 0x1e3e, {1, {0x1e3f}}}, - { 0x1e40, {1, {0x1e41}}}, - { 0x1e42, {1, {0x1e43}}}, - { 0x1e44, {1, {0x1e45}}}, - { 0x1e46, {1, {0x1e47}}}, - { 0x1e48, {1, {0x1e49}}}, - { 0x1e4a, {1, {0x1e4b}}}, - { 0x1e4c, {1, {0x1e4d}}}, - { 0x1e4e, {1, {0x1e4f}}}, - { 0x1e50, {1, {0x1e51}}}, - { 0x1e52, {1, {0x1e53}}}, - { 0x1e54, {1, {0x1e55}}}, - { 0x1e56, {1, {0x1e57}}}, - { 0x1e58, {1, {0x1e59}}}, - { 0x1e5a, {1, {0x1e5b}}}, - { 0x1e5c, {1, {0x1e5d}}}, - { 0x1e5e, {1, {0x1e5f}}}, - { 0x1e60, {1, {0x1e61}}}, - { 0x1e62, {1, {0x1e63}}}, - { 0x1e64, {1, {0x1e65}}}, - { 0x1e66, {1, {0x1e67}}}, - { 0x1e68, {1, {0x1e69}}}, - { 0x1e6a, {1, {0x1e6b}}}, - { 0x1e6c, {1, {0x1e6d}}}, - { 0x1e6e, {1, {0x1e6f}}}, - { 0x1e70, {1, {0x1e71}}}, - { 0x1e72, {1, {0x1e73}}}, - { 0x1e74, {1, {0x1e75}}}, - { 0x1e76, {1, {0x1e77}}}, - { 0x1e78, {1, {0x1e79}}}, - { 0x1e7a, {1, {0x1e7b}}}, - { 0x1e7c, {1, {0x1e7d}}}, - { 0x1e7e, {1, {0x1e7f}}}, - { 0x1e80, {1, {0x1e81}}}, - { 0x1e82, {1, {0x1e83}}}, - { 0x1e84, {1, {0x1e85}}}, - { 0x1e86, {1, {0x1e87}}}, - { 0x1e88, {1, {0x1e89}}}, - { 0x1e8a, {1, {0x1e8b}}}, - { 0x1e8c, {1, {0x1e8d}}}, - { 0x1e8e, {1, {0x1e8f}}}, - { 0x1e90, {1, {0x1e91}}}, - { 0x1e92, {1, {0x1e93}}}, - { 0x1e94, {1, {0x1e95}}}, - { 0x1e96, {2, {0x0068, 0x0331}}}, - { 0x1e97, {2, {0x0074, 0x0308}}}, - { 0x1e98, {2, {0x0077, 0x030a}}}, - { 0x1e99, {2, {0x0079, 0x030a}}}, - { 0x1e9a, {2, {0x0061, 0x02be}}}, - { 0x1e9b, {1, {0x1e61}}}, - { 0x1ea0, {1, {0x1ea1}}}, - { 0x1ea2, {1, {0x1ea3}}}, - { 0x1ea4, {1, {0x1ea5}}}, - { 0x1ea6, {1, {0x1ea7}}}, - { 0x1ea8, {1, {0x1ea9}}}, - { 0x1eaa, {1, {0x1eab}}}, - { 0x1eac, {1, {0x1ead}}}, - { 0x1eae, {1, {0x1eaf}}}, - { 0x1eb0, {1, {0x1eb1}}}, - { 0x1eb2, {1, {0x1eb3}}}, - { 0x1eb4, {1, {0x1eb5}}}, - { 0x1eb6, {1, {0x1eb7}}}, - { 0x1eb8, {1, {0x1eb9}}}, - { 0x1eba, {1, {0x1ebb}}}, - { 0x1ebc, {1, {0x1ebd}}}, - { 0x1ebe, {1, {0x1ebf}}}, - { 0x1ec0, {1, {0x1ec1}}}, - { 0x1ec2, {1, {0x1ec3}}}, - { 0x1ec4, {1, {0x1ec5}}}, - { 0x1ec6, {1, {0x1ec7}}}, - { 0x1ec8, {1, {0x1ec9}}}, - { 0x1eca, {1, {0x1ecb}}}, - { 0x1ecc, {1, {0x1ecd}}}, - { 0x1ece, {1, {0x1ecf}}}, - { 0x1ed0, {1, {0x1ed1}}}, - { 0x1ed2, {1, {0x1ed3}}}, - { 0x1ed4, {1, {0x1ed5}}}, - { 0x1ed6, {1, {0x1ed7}}}, - { 0x1ed8, {1, {0x1ed9}}}, - { 0x1eda, {1, {0x1edb}}}, - { 0x1edc, {1, {0x1edd}}}, - { 0x1ede, {1, {0x1edf}}}, - { 0x1ee0, {1, {0x1ee1}}}, - { 0x1ee2, {1, {0x1ee3}}}, - { 0x1ee4, {1, {0x1ee5}}}, - { 0x1ee6, {1, {0x1ee7}}}, - { 0x1ee8, {1, {0x1ee9}}}, - { 0x1eea, {1, {0x1eeb}}}, - { 0x1eec, {1, {0x1eed}}}, - { 0x1eee, {1, {0x1eef}}}, - { 0x1ef0, {1, {0x1ef1}}}, - { 0x1ef2, {1, {0x1ef3}}}, - { 0x1ef4, {1, {0x1ef5}}}, - { 0x1ef6, {1, {0x1ef7}}}, - { 0x1ef8, {1, {0x1ef9}}}, - { 0x1f08, {1, {0x1f00}}}, - { 0x1f09, {1, {0x1f01}}}, - { 0x1f0a, {1, {0x1f02}}}, - { 0x1f0b, {1, {0x1f03}}}, - { 0x1f0c, {1, {0x1f04}}}, - { 0x1f0d, {1, {0x1f05}}}, - { 0x1f0e, {1, {0x1f06}}}, - { 0x1f0f, {1, {0x1f07}}}, - { 0x1f18, {1, {0x1f10}}}, - { 0x1f19, {1, {0x1f11}}}, - { 0x1f1a, {1, {0x1f12}}}, - { 0x1f1b, {1, {0x1f13}}}, - { 0x1f1c, {1, {0x1f14}}}, - { 0x1f1d, {1, {0x1f15}}}, - { 0x1f28, {1, {0x1f20}}}, - { 0x1f29, {1, {0x1f21}}}, - { 0x1f2a, {1, {0x1f22}}}, - { 0x1f2b, {1, {0x1f23}}}, - { 0x1f2c, {1, {0x1f24}}}, - { 0x1f2d, {1, {0x1f25}}}, - { 0x1f2e, {1, {0x1f26}}}, - { 0x1f2f, {1, {0x1f27}}}, - { 0x1f38, {1, {0x1f30}}}, - { 0x1f39, {1, {0x1f31}}}, - { 0x1f3a, {1, {0x1f32}}}, - { 0x1f3b, {1, {0x1f33}}}, - { 0x1f3c, {1, {0x1f34}}}, - { 0x1f3d, {1, {0x1f35}}}, - { 0x1f3e, {1, {0x1f36}}}, - { 0x1f3f, {1, {0x1f37}}}, - { 0x1f48, {1, {0x1f40}}}, - { 0x1f49, {1, {0x1f41}}}, - { 0x1f4a, {1, {0x1f42}}}, - { 0x1f4b, {1, {0x1f43}}}, - { 0x1f4c, {1, {0x1f44}}}, - { 0x1f4d, {1, {0x1f45}}}, - { 0x1f50, {2, {0x03c5, 0x0313}}}, - { 0x1f52, {3, {0x03c5, 0x0313, 0x0300}}}, - { 0x1f54, {3, {0x03c5, 0x0313, 0x0301}}}, - { 0x1f56, {3, {0x03c5, 0x0313, 0x0342}}}, - { 0x1f59, {1, {0x1f51}}}, - { 0x1f5b, {1, {0x1f53}}}, - { 0x1f5d, {1, {0x1f55}}}, - { 0x1f5f, {1, {0x1f57}}}, - { 0x1f68, {1, {0x1f60}}}, - { 0x1f69, {1, {0x1f61}}}, - { 0x1f6a, {1, {0x1f62}}}, - { 0x1f6b, {1, {0x1f63}}}, - { 0x1f6c, {1, {0x1f64}}}, - { 0x1f6d, {1, {0x1f65}}}, - { 0x1f6e, {1, {0x1f66}}}, - { 0x1f6f, {1, {0x1f67}}}, - { 0x1f80, {2, {0x1f00, 0x03b9}}}, - { 0x1f81, {2, {0x1f01, 0x03b9}}}, - { 0x1f82, {2, {0x1f02, 0x03b9}}}, - { 0x1f83, {2, {0x1f03, 0x03b9}}}, - { 0x1f84, {2, {0x1f04, 0x03b9}}}, - { 0x1f85, {2, {0x1f05, 0x03b9}}}, - { 0x1f86, {2, {0x1f06, 0x03b9}}}, - { 0x1f87, {2, {0x1f07, 0x03b9}}}, - { 0x1f88, {2, {0x1f00, 0x03b9}}}, - { 0x1f89, {2, {0x1f01, 0x03b9}}}, - { 0x1f8a, {2, {0x1f02, 0x03b9}}}, - { 0x1f8b, {2, {0x1f03, 0x03b9}}}, - { 0x1f8c, {2, {0x1f04, 0x03b9}}}, - { 0x1f8d, {2, {0x1f05, 0x03b9}}}, - { 0x1f8e, {2, {0x1f06, 0x03b9}}}, - { 0x1f8f, {2, {0x1f07, 0x03b9}}}, - { 0x1f90, {2, {0x1f20, 0x03b9}}}, - { 0x1f91, {2, {0x1f21, 0x03b9}}}, - { 0x1f92, {2, {0x1f22, 0x03b9}}}, - { 0x1f93, {2, {0x1f23, 0x03b9}}}, - { 0x1f94, {2, {0x1f24, 0x03b9}}}, - { 0x1f95, {2, {0x1f25, 0x03b9}}}, - { 0x1f96, {2, {0x1f26, 0x03b9}}}, - { 0x1f97, {2, {0x1f27, 0x03b9}}}, - { 0x1f98, {2, {0x1f20, 0x03b9}}}, - { 0x1f99, {2, {0x1f21, 0x03b9}}}, - { 0x1f9a, {2, {0x1f22, 0x03b9}}}, - { 0x1f9b, {2, {0x1f23, 0x03b9}}}, - { 0x1f9c, {2, {0x1f24, 0x03b9}}}, - { 0x1f9d, {2, {0x1f25, 0x03b9}}}, - { 0x1f9e, {2, {0x1f26, 0x03b9}}}, - { 0x1f9f, {2, {0x1f27, 0x03b9}}}, - { 0x1fa0, {2, {0x1f60, 0x03b9}}}, - { 0x1fa1, {2, {0x1f61, 0x03b9}}}, - { 0x1fa2, {2, {0x1f62, 0x03b9}}}, - { 0x1fa3, {2, {0x1f63, 0x03b9}}}, - { 0x1fa4, {2, {0x1f64, 0x03b9}}}, - { 0x1fa5, {2, {0x1f65, 0x03b9}}}, - { 0x1fa6, {2, {0x1f66, 0x03b9}}}, - { 0x1fa7, {2, {0x1f67, 0x03b9}}}, - { 0x1fa8, {2, {0x1f60, 0x03b9}}}, - { 0x1fa9, {2, {0x1f61, 0x03b9}}}, - { 0x1faa, {2, {0x1f62, 0x03b9}}}, - { 0x1fab, {2, {0x1f63, 0x03b9}}}, - { 0x1fac, {2, {0x1f64, 0x03b9}}}, - { 0x1fad, {2, {0x1f65, 0x03b9}}}, - { 0x1fae, {2, {0x1f66, 0x03b9}}}, - { 0x1faf, {2, {0x1f67, 0x03b9}}}, - { 0x1fb2, {2, {0x1f70, 0x03b9}}}, - { 0x1fb3, {2, {0x03b1, 0x03b9}}}, - { 0x1fb4, {2, {0x03ac, 0x03b9}}}, - { 0x1fb6, {2, {0x03b1, 0x0342}}}, - { 0x1fb7, {3, {0x03b1, 0x0342, 0x03b9}}}, - { 0x1fb8, {1, {0x1fb0}}}, - { 0x1fb9, {1, {0x1fb1}}}, - { 0x1fba, {1, {0x1f70}}}, - { 0x1fbb, {1, {0x1f71}}}, - { 0x1fbc, {2, {0x03b1, 0x03b9}}}, - { 0x1fbe, {1, {0x03b9}}}, - { 0x1fc2, {2, {0x1f74, 0x03b9}}}, - { 0x1fc3, {2, {0x03b7, 0x03b9}}}, - { 0x1fc4, {2, {0x03ae, 0x03b9}}}, - { 0x1fc6, {2, {0x03b7, 0x0342}}}, - { 0x1fc7, {3, {0x03b7, 0x0342, 0x03b9}}}, - { 0x1fc8, {1, {0x1f72}}}, - { 0x1fc9, {1, {0x1f73}}}, - { 0x1fca, {1, {0x1f74}}}, - { 0x1fcb, {1, {0x1f75}}}, - { 0x1fcc, {2, {0x03b7, 0x03b9}}}, - { 0x1fd2, {3, {0x03b9, 0x0308, 0x0300}}}, - { 0x1fd3, {3, {0x03b9, 0x0308, 0x0301}}}, - { 0x1fd6, {2, {0x03b9, 0x0342}}}, - { 0x1fd7, {3, {0x03b9, 0x0308, 0x0342}}}, - { 0x1fd8, {1, {0x1fd0}}}, - { 0x1fd9, {1, {0x1fd1}}}, - { 0x1fda, {1, {0x1f76}}}, - { 0x1fdb, {1, {0x1f77}}}, - { 0x1fe2, {3, {0x03c5, 0x0308, 0x0300}}}, - { 0x1fe3, {3, {0x03c5, 0x0308, 0x0301}}}, - { 0x1fe4, {2, {0x03c1, 0x0313}}}, - { 0x1fe6, {2, {0x03c5, 0x0342}}}, - { 0x1fe7, {3, {0x03c5, 0x0308, 0x0342}}}, - { 0x1fe8, {1, {0x1fe0}}}, - { 0x1fe9, {1, {0x1fe1}}}, - { 0x1fea, {1, {0x1f7a}}}, - { 0x1feb, {1, {0x1f7b}}}, - { 0x1fec, {1, {0x1fe5}}}, - { 0x1ff2, {2, {0x1f7c, 0x03b9}}}, - { 0x1ff3, {2, {0x03c9, 0x03b9}}}, - { 0x1ff4, {2, {0x03ce, 0x03b9}}}, - { 0x1ff6, {2, {0x03c9, 0x0342}}}, - { 0x1ff7, {3, {0x03c9, 0x0342, 0x03b9}}}, - { 0x1ff8, {1, {0x1f78}}}, - { 0x1ff9, {1, {0x1f79}}}, - { 0x1ffa, {1, {0x1f7c}}}, - { 0x1ffb, {1, {0x1f7d}}}, - { 0x1ffc, {2, {0x03c9, 0x03b9}}}, - { 0x2126, {1, {0x03c9}}}, - { 0x212a, {1, {0x006b}}}, - { 0x212b, {1, {0x00e5}}}, - { 0x2160, {1, {0x2170}}}, - { 0x2161, {1, {0x2171}}}, - { 0x2162, {1, {0x2172}}}, - { 0x2163, {1, {0x2173}}}, - { 0x2164, {1, {0x2174}}}, - { 0x2165, {1, {0x2175}}}, - { 0x2166, {1, {0x2176}}}, - { 0x2167, {1, {0x2177}}}, - { 0x2168, {1, {0x2178}}}, - { 0x2169, {1, {0x2179}}}, - { 0x216a, {1, {0x217a}}}, - { 0x216b, {1, {0x217b}}}, - { 0x216c, {1, {0x217c}}}, - { 0x216d, {1, {0x217d}}}, - { 0x216e, {1, {0x217e}}}, - { 0x216f, {1, {0x217f}}}, - { 0x24b6, {1, {0x24d0}}}, - { 0x24b7, {1, {0x24d1}}}, - { 0x24b8, {1, {0x24d2}}}, - { 0x24b9, {1, {0x24d3}}}, - { 0x24ba, {1, {0x24d4}}}, - { 0x24bb, {1, {0x24d5}}}, - { 0x24bc, {1, {0x24d6}}}, - { 0x24bd, {1, {0x24d7}}}, - { 0x24be, {1, {0x24d8}}}, - { 0x24bf, {1, {0x24d9}}}, - { 0x24c0, {1, {0x24da}}}, - { 0x24c1, {1, {0x24db}}}, - { 0x24c2, {1, {0x24dc}}}, - { 0x24c3, {1, {0x24dd}}}, - { 0x24c4, {1, {0x24de}}}, - { 0x24c5, {1, {0x24df}}}, - { 0x24c6, {1, {0x24e0}}}, - { 0x24c7, {1, {0x24e1}}}, - { 0x24c8, {1, {0x24e2}}}, - { 0x24c9, {1, {0x24e3}}}, - { 0x24ca, {1, {0x24e4}}}, - { 0x24cb, {1, {0x24e5}}}, - { 0x24cc, {1, {0x24e6}}}, - { 0x24cd, {1, {0x24e7}}}, - { 0x24ce, {1, {0x24e8}}}, - { 0x24cf, {1, {0x24e9}}}, - { 0x2c00, {1, {0x2c30}}}, - { 0x2c01, {1, {0x2c31}}}, - { 0x2c02, {1, {0x2c32}}}, - { 0x2c03, {1, {0x2c33}}}, - { 0x2c04, {1, {0x2c34}}}, - { 0x2c05, {1, {0x2c35}}}, - { 0x2c06, {1, {0x2c36}}}, - { 0x2c07, {1, {0x2c37}}}, - { 0x2c08, {1, {0x2c38}}}, - { 0x2c09, {1, {0x2c39}}}, - { 0x2c0a, {1, {0x2c3a}}}, - { 0x2c0b, {1, {0x2c3b}}}, - { 0x2c0c, {1, {0x2c3c}}}, - { 0x2c0d, {1, {0x2c3d}}}, - { 0x2c0e, {1, {0x2c3e}}}, - { 0x2c0f, {1, {0x2c3f}}}, - { 0x2c10, {1, {0x2c40}}}, - { 0x2c11, {1, {0x2c41}}}, - { 0x2c12, {1, {0x2c42}}}, - { 0x2c13, {1, {0x2c43}}}, - { 0x2c14, {1, {0x2c44}}}, - { 0x2c15, {1, {0x2c45}}}, - { 0x2c16, {1, {0x2c46}}}, - { 0x2c17, {1, {0x2c47}}}, - { 0x2c18, {1, {0x2c48}}}, - { 0x2c19, {1, {0x2c49}}}, - { 0x2c1a, {1, {0x2c4a}}}, - { 0x2c1b, {1, {0x2c4b}}}, - { 0x2c1c, {1, {0x2c4c}}}, - { 0x2c1d, {1, {0x2c4d}}}, - { 0x2c1e, {1, {0x2c4e}}}, - { 0x2c1f, {1, {0x2c4f}}}, - { 0x2c20, {1, {0x2c50}}}, - { 0x2c21, {1, {0x2c51}}}, - { 0x2c22, {1, {0x2c52}}}, - { 0x2c23, {1, {0x2c53}}}, - { 0x2c24, {1, {0x2c54}}}, - { 0x2c25, {1, {0x2c55}}}, - { 0x2c26, {1, {0x2c56}}}, - { 0x2c27, {1, {0x2c57}}}, - { 0x2c28, {1, {0x2c58}}}, - { 0x2c29, {1, {0x2c59}}}, - { 0x2c2a, {1, {0x2c5a}}}, - { 0x2c2b, {1, {0x2c5b}}}, - { 0x2c2c, {1, {0x2c5c}}}, - { 0x2c2d, {1, {0x2c5d}}}, - { 0x2c2e, {1, {0x2c5e}}}, - { 0x2c80, {1, {0x2c81}}}, - { 0x2c82, {1, {0x2c83}}}, - { 0x2c84, {1, {0x2c85}}}, - { 0x2c86, {1, {0x2c87}}}, - { 0x2c88, {1, {0x2c89}}}, - { 0x2c8a, {1, {0x2c8b}}}, - { 0x2c8c, {1, {0x2c8d}}}, - { 0x2c8e, {1, {0x2c8f}}}, - { 0x2c90, {1, {0x2c91}}}, - { 0x2c92, {1, {0x2c93}}}, - { 0x2c94, {1, {0x2c95}}}, - { 0x2c96, {1, {0x2c97}}}, - { 0x2c98, {1, {0x2c99}}}, - { 0x2c9a, {1, {0x2c9b}}}, - { 0x2c9c, {1, {0x2c9d}}}, - { 0x2c9e, {1, {0x2c9f}}}, - { 0x2ca0, {1, {0x2ca1}}}, - { 0x2ca2, {1, {0x2ca3}}}, - { 0x2ca4, {1, {0x2ca5}}}, - { 0x2ca6, {1, {0x2ca7}}}, - { 0x2ca8, {1, {0x2ca9}}}, - { 0x2caa, {1, {0x2cab}}}, - { 0x2cac, {1, {0x2cad}}}, - { 0x2cae, {1, {0x2caf}}}, - { 0x2cb0, {1, {0x2cb1}}}, - { 0x2cb2, {1, {0x2cb3}}}, - { 0x2cb4, {1, {0x2cb5}}}, - { 0x2cb6, {1, {0x2cb7}}}, - { 0x2cb8, {1, {0x2cb9}}}, - { 0x2cba, {1, {0x2cbb}}}, - { 0x2cbc, {1, {0x2cbd}}}, - { 0x2cbe, {1, {0x2cbf}}}, - { 0x2cc0, {1, {0x2cc1}}}, - { 0x2cc2, {1, {0x2cc3}}}, - { 0x2cc4, {1, {0x2cc5}}}, - { 0x2cc6, {1, {0x2cc7}}}, - { 0x2cc8, {1, {0x2cc9}}}, - { 0x2cca, {1, {0x2ccb}}}, - { 0x2ccc, {1, {0x2ccd}}}, - { 0x2cce, {1, {0x2ccf}}}, - { 0x2cd0, {1, {0x2cd1}}}, - { 0x2cd2, {1, {0x2cd3}}}, - { 0x2cd4, {1, {0x2cd5}}}, - { 0x2cd6, {1, {0x2cd7}}}, - { 0x2cd8, {1, {0x2cd9}}}, - { 0x2cda, {1, {0x2cdb}}}, - { 0x2cdc, {1, {0x2cdd}}}, - { 0x2cde, {1, {0x2cdf}}}, - { 0x2ce0, {1, {0x2ce1}}}, - { 0x2ce2, {1, {0x2ce3}}}, - { 0xfb00, {2, {0x0066, 0x0066}}}, - { 0xfb01, {2, {0x0066, 0x0069}}}, - { 0xfb02, {2, {0x0066, 0x006c}}}, - { 0xfb03, {3, {0x0066, 0x0066, 0x0069}}}, - { 0xfb04, {3, {0x0066, 0x0066, 0x006c}}}, - { 0xfb05, {2, {0x0073, 0x0074}}}, - { 0xfb06, {2, {0x0073, 0x0074}}}, - { 0xfb13, {2, {0x0574, 0x0576}}}, - { 0xfb14, {2, {0x0574, 0x0565}}}, - { 0xfb15, {2, {0x0574, 0x056b}}}, - { 0xfb16, {2, {0x057e, 0x0576}}}, - { 0xfb17, {2, {0x0574, 0x056d}}}, - { 0xff21, {1, {0xff41}}}, - { 0xff22, {1, {0xff42}}}, - { 0xff23, {1, {0xff43}}}, - { 0xff24, {1, {0xff44}}}, - { 0xff25, {1, {0xff45}}}, - { 0xff26, {1, {0xff46}}}, - { 0xff27, {1, {0xff47}}}, - { 0xff28, {1, {0xff48}}}, - { 0xff29, {1, {0xff49}}}, - { 0xff2a, {1, {0xff4a}}}, - { 0xff2b, {1, {0xff4b}}}, - { 0xff2c, {1, {0xff4c}}}, - { 0xff2d, {1, {0xff4d}}}, - { 0xff2e, {1, {0xff4e}}}, - { 0xff2f, {1, {0xff4f}}}, - { 0xff30, {1, {0xff50}}}, - { 0xff31, {1, {0xff51}}}, - { 0xff32, {1, {0xff52}}}, - { 0xff33, {1, {0xff53}}}, - { 0xff34, {1, {0xff54}}}, - { 0xff35, {1, {0xff55}}}, - { 0xff36, {1, {0xff56}}}, - { 0xff37, {1, {0xff57}}}, - { 0xff38, {1, {0xff58}}}, - { 0xff39, {1, {0xff59}}}, - { 0xff3a, {1, {0xff5a}}}, - { 0x10400, {1, {0x10428}}}, - { 0x10401, {1, {0x10429}}}, - { 0x10402, {1, {0x1042a}}}, - { 0x10403, {1, {0x1042b}}}, - { 0x10404, {1, {0x1042c}}}, - { 0x10405, {1, {0x1042d}}}, - { 0x10406, {1, {0x1042e}}}, - { 0x10407, {1, {0x1042f}}}, - { 0x10408, {1, {0x10430}}}, - { 0x10409, {1, {0x10431}}}, - { 0x1040a, {1, {0x10432}}}, - { 0x1040b, {1, {0x10433}}}, - { 0x1040c, {1, {0x10434}}}, - { 0x1040d, {1, {0x10435}}}, - { 0x1040e, {1, {0x10436}}}, - { 0x1040f, {1, {0x10437}}}, - { 0x10410, {1, {0x10438}}}, - { 0x10411, {1, {0x10439}}}, - { 0x10412, {1, {0x1043a}}}, - { 0x10413, {1, {0x1043b}}}, - { 0x10414, {1, {0x1043c}}}, - { 0x10415, {1, {0x1043d}}}, - { 0x10416, {1, {0x1043e}}}, - { 0x10417, {1, {0x1043f}}}, - { 0x10418, {1, {0x10440}}}, - { 0x10419, {1, {0x10441}}}, - { 0x1041a, {1, {0x10442}}}, - { 0x1041b, {1, {0x10443}}}, - { 0x1041c, {1, {0x10444}}}, - { 0x1041d, {1, {0x10445}}}, - { 0x1041e, {1, {0x10446}}}, - { 0x1041f, {1, {0x10447}}}, - { 0x10420, {1, {0x10448}}}, - { 0x10421, {1, {0x10449}}}, - { 0x10422, {1, {0x1044a}}}, - { 0x10423, {1, {0x1044b}}}, - { 0x10424, {1, {0x1044c}}}, - { 0x10425, {1, {0x1044d}}}, - { 0x10426, {1, {0x1044e}}}, - { 0x10427, {1, {0x1044f}}} -}; - -static const CaseFold_11_Type CaseFold_Locale[] = { - { 0x0049, {1, {0x0069}}}, - { 0x0130, {2, {0x0069, 0x0307}}} -}; - -static const CaseUnfold_11_Type CaseUnfold_11[] = { - { 0x0061, {1, {0x0041 }}}, - { 0x0062, {1, {0x0042 }}}, - { 0x0063, {1, {0x0043 }}}, - { 0x0064, {1, {0x0044 }}}, - { 0x0065, {1, {0x0045 }}}, - { 0x0066, {1, {0x0046 }}}, - { 0x0067, {1, {0x0047 }}}, - { 0x0068, {1, {0x0048 }}}, - { 0x006a, {1, {0x004a }}}, - { 0x006b, {2, {0x212a, 0x004b }}}, - { 0x006c, {1, {0x004c }}}, - { 0x006d, {1, {0x004d }}}, - { 0x006e, {1, {0x004e }}}, - { 0x006f, {1, {0x004f }}}, - { 0x0070, {1, {0x0050 }}}, - { 0x0071, {1, {0x0051 }}}, - { 0x0072, {1, {0x0052 }}}, - { 0x0073, {2, {0x0053, 0x017f }}}, - { 0x0074, {1, {0x0054 }}}, - { 0x0075, {1, {0x0055 }}}, - { 0x0076, {1, {0x0056 }}}, - { 0x0077, {1, {0x0057 }}}, - { 0x0078, {1, {0x0058 }}}, - { 0x0079, {1, {0x0059 }}}, - { 0x007a, {1, {0x005a }}}, - { 0x00e0, {1, {0x00c0 }}}, - { 0x00e1, {1, {0x00c1 }}}, - { 0x00e2, {1, {0x00c2 }}}, - { 0x00e3, {1, {0x00c3 }}}, - { 0x00e4, {1, {0x00c4 }}}, - { 0x00e5, {2, {0x212b, 0x00c5 }}}, - { 0x00e6, {1, {0x00c6 }}}, - { 0x00e7, {1, {0x00c7 }}}, - { 0x00e8, {1, {0x00c8 }}}, - { 0x00e9, {1, {0x00c9 }}}, - { 0x00ea, {1, {0x00ca }}}, - { 0x00eb, {1, {0x00cb }}}, - { 0x00ec, {1, {0x00cc }}}, - { 0x00ed, {1, {0x00cd }}}, - { 0x00ee, {1, {0x00ce }}}, - { 0x00ef, {1, {0x00cf }}}, - { 0x00f0, {1, {0x00d0 }}}, - { 0x00f1, {1, {0x00d1 }}}, - { 0x00f2, {1, {0x00d2 }}}, - { 0x00f3, {1, {0x00d3 }}}, - { 0x00f4, {1, {0x00d4 }}}, - { 0x00f5, {1, {0x00d5 }}}, - { 0x00f6, {1, {0x00d6 }}}, - { 0x00f8, {1, {0x00d8 }}}, - { 0x00f9, {1, {0x00d9 }}}, - { 0x00fa, {1, {0x00da }}}, - { 0x00fb, {1, {0x00db }}}, - { 0x00fc, {1, {0x00dc }}}, - { 0x00fd, {1, {0x00dd }}}, - { 0x00fe, {1, {0x00de }}}, - { 0x00ff, {1, {0x0178 }}}, - { 0x0101, {1, {0x0100 }}}, - { 0x0103, {1, {0x0102 }}}, - { 0x0105, {1, {0x0104 }}}, - { 0x0107, {1, {0x0106 }}}, - { 0x0109, {1, {0x0108 }}}, - { 0x010b, {1, {0x010a }}}, - { 0x010d, {1, {0x010c }}}, - { 0x010f, {1, {0x010e }}}, - { 0x0111, {1, {0x0110 }}}, - { 0x0113, {1, {0x0112 }}}, - { 0x0115, {1, {0x0114 }}}, - { 0x0117, {1, {0x0116 }}}, - { 0x0119, {1, {0x0118 }}}, - { 0x011b, {1, {0x011a }}}, - { 0x011d, {1, {0x011c }}}, - { 0x011f, {1, {0x011e }}}, - { 0x0121, {1, {0x0120 }}}, - { 0x0123, {1, {0x0122 }}}, - { 0x0125, {1, {0x0124 }}}, - { 0x0127, {1, {0x0126 }}}, - { 0x0129, {1, {0x0128 }}}, - { 0x012b, {1, {0x012a }}}, - { 0x012d, {1, {0x012c }}}, - { 0x012f, {1, {0x012e }}}, - { 0x0133, {1, {0x0132 }}}, - { 0x0135, {1, {0x0134 }}}, - { 0x0137, {1, {0x0136 }}}, - { 0x013a, {1, {0x0139 }}}, - { 0x013c, {1, {0x013b }}}, - { 0x013e, {1, {0x013d }}}, - { 0x0140, {1, {0x013f }}}, - { 0x0142, {1, {0x0141 }}}, - { 0x0144, {1, {0x0143 }}}, - { 0x0146, {1, {0x0145 }}}, - { 0x0148, {1, {0x0147 }}}, - { 0x014b, {1, {0x014a }}}, - { 0x014d, {1, {0x014c }}}, - { 0x014f, {1, {0x014e }}}, - { 0x0151, {1, {0x0150 }}}, - { 0x0153, {1, {0x0152 }}}, - { 0x0155, {1, {0x0154 }}}, - { 0x0157, {1, {0x0156 }}}, - { 0x0159, {1, {0x0158 }}}, - { 0x015b, {1, {0x015a }}}, - { 0x015d, {1, {0x015c }}}, - { 0x015f, {1, {0x015e }}}, - { 0x0161, {1, {0x0160 }}}, - { 0x0163, {1, {0x0162 }}}, - { 0x0165, {1, {0x0164 }}}, - { 0x0167, {1, {0x0166 }}}, - { 0x0169, {1, {0x0168 }}}, - { 0x016b, {1, {0x016a }}}, - { 0x016d, {1, {0x016c }}}, - { 0x016f, {1, {0x016e }}}, - { 0x0171, {1, {0x0170 }}}, - { 0x0173, {1, {0x0172 }}}, - { 0x0175, {1, {0x0174 }}}, - { 0x0177, {1, {0x0176 }}}, - { 0x017a, {1, {0x0179 }}}, - { 0x017c, {1, {0x017b }}}, - { 0x017e, {1, {0x017d }}}, - { 0x0183, {1, {0x0182 }}}, - { 0x0185, {1, {0x0184 }}}, - { 0x0188, {1, {0x0187 }}}, - { 0x018c, {1, {0x018b }}}, - { 0x0192, {1, {0x0191 }}}, - { 0x0195, {1, {0x01f6 }}}, - { 0x0199, {1, {0x0198 }}}, - { 0x019a, {1, {0x023d }}}, - { 0x019e, {1, {0x0220 }}}, - { 0x01a1, {1, {0x01a0 }}}, - { 0x01a3, {1, {0x01a2 }}}, - { 0x01a5, {1, {0x01a4 }}}, - { 0x01a8, {1, {0x01a7 }}}, - { 0x01ad, {1, {0x01ac }}}, - { 0x01b0, {1, {0x01af }}}, - { 0x01b4, {1, {0x01b3 }}}, - { 0x01b6, {1, {0x01b5 }}}, - { 0x01b9, {1, {0x01b8 }}}, - { 0x01bd, {1, {0x01bc }}}, - { 0x01bf, {1, {0x01f7 }}}, - { 0x01c6, {2, {0x01c4, 0x01c5 }}}, - { 0x01c9, {2, {0x01c7, 0x01c8 }}}, - { 0x01cc, {2, {0x01ca, 0x01cb }}}, - { 0x01ce, {1, {0x01cd }}}, - { 0x01d0, {1, {0x01cf }}}, - { 0x01d2, {1, {0x01d1 }}}, - { 0x01d4, {1, {0x01d3 }}}, - { 0x01d6, {1, {0x01d5 }}}, - { 0x01d8, {1, {0x01d7 }}}, - { 0x01da, {1, {0x01d9 }}}, - { 0x01dc, {1, {0x01db }}}, - { 0x01dd, {1, {0x018e }}}, - { 0x01df, {1, {0x01de }}}, - { 0x01e1, {1, {0x01e0 }}}, - { 0x01e3, {1, {0x01e2 }}}, - { 0x01e5, {1, {0x01e4 }}}, - { 0x01e7, {1, {0x01e6 }}}, - { 0x01e9, {1, {0x01e8 }}}, - { 0x01eb, {1, {0x01ea }}}, - { 0x01ed, {1, {0x01ec }}}, - { 0x01ef, {1, {0x01ee }}}, - { 0x01f3, {2, {0x01f1, 0x01f2 }}}, - { 0x01f5, {1, {0x01f4 }}}, - { 0x01f9, {1, {0x01f8 }}}, - { 0x01fb, {1, {0x01fa }}}, - { 0x01fd, {1, {0x01fc }}}, - { 0x01ff, {1, {0x01fe }}}, - { 0x0201, {1, {0x0200 }}}, - { 0x0203, {1, {0x0202 }}}, - { 0x0205, {1, {0x0204 }}}, - { 0x0207, {1, {0x0206 }}}, - { 0x0209, {1, {0x0208 }}}, - { 0x020b, {1, {0x020a }}}, - { 0x020d, {1, {0x020c }}}, - { 0x020f, {1, {0x020e }}}, - { 0x0211, {1, {0x0210 }}}, - { 0x0213, {1, {0x0212 }}}, - { 0x0215, {1, {0x0214 }}}, - { 0x0217, {1, {0x0216 }}}, - { 0x0219, {1, {0x0218 }}}, - { 0x021b, {1, {0x021a }}}, - { 0x021d, {1, {0x021c }}}, - { 0x021f, {1, {0x021e }}}, - { 0x0223, {1, {0x0222 }}}, - { 0x0225, {1, {0x0224 }}}, - { 0x0227, {1, {0x0226 }}}, - { 0x0229, {1, {0x0228 }}}, - { 0x022b, {1, {0x022a }}}, - { 0x022d, {1, {0x022c }}}, - { 0x022f, {1, {0x022e }}}, - { 0x0231, {1, {0x0230 }}}, - { 0x0233, {1, {0x0232 }}}, - { 0x023c, {1, {0x023b }}}, - { 0x0253, {1, {0x0181 }}}, - { 0x0254, {1, {0x0186 }}}, - { 0x0256, {1, {0x0189 }}}, - { 0x0257, {1, {0x018a }}}, - { 0x0259, {1, {0x018f }}}, - { 0x025b, {1, {0x0190 }}}, - { 0x0260, {1, {0x0193 }}}, - { 0x0263, {1, {0x0194 }}}, - { 0x0268, {1, {0x0197 }}}, - { 0x0269, {1, {0x0196 }}}, - { 0x026f, {1, {0x019c }}}, - { 0x0272, {1, {0x019d }}}, - { 0x0275, {1, {0x019f }}}, - { 0x0280, {1, {0x01a6 }}}, - { 0x0283, {1, {0x01a9 }}}, - { 0x0288, {1, {0x01ae }}}, - { 0x028a, {1, {0x01b1 }}}, - { 0x028b, {1, {0x01b2 }}}, - { 0x0292, {1, {0x01b7 }}}, - { 0x0294, {1, {0x0241 }}}, - { 0x03ac, {1, {0x0386 }}}, - { 0x03ad, {1, {0x0388 }}}, - { 0x03ae, {1, {0x0389 }}}, - { 0x03af, {1, {0x038a }}}, - { 0x03b1, {1, {0x0391 }}}, - { 0x03b2, {2, {0x0392, 0x03d0 }}}, - { 0x03b3, {1, {0x0393 }}}, - { 0x03b4, {1, {0x0394 }}}, - { 0x03b5, {2, {0x03f5, 0x0395 }}}, - { 0x03b6, {1, {0x0396 }}}, - { 0x03b7, {1, {0x0397 }}}, - { 0x03b8, {3, {0x03f4, 0x0398, 0x03d1 }}}, - { 0x03b9, {3, {0x1fbe, 0x0399, 0x0345 }}}, - { 0x03ba, {2, {0x03f0, 0x039a }}}, - { 0x03bb, {1, {0x039b }}}, - { 0x03bc, {2, {0x00b5, 0x039c }}}, - { 0x03bd, {1, {0x039d }}}, - { 0x03be, {1, {0x039e }}}, - { 0x03bf, {1, {0x039f }}}, - { 0x03c0, {2, {0x03a0, 0x03d6 }}}, - { 0x03c1, {2, {0x03f1, 0x03a1 }}}, - { 0x03c3, {2, {0x03a3, 0x03c2 }}}, - { 0x03c4, {1, {0x03a4 }}}, - { 0x03c5, {1, {0x03a5 }}}, - { 0x03c6, {2, {0x03a6, 0x03d5 }}}, - { 0x03c7, {1, {0x03a7 }}}, - { 0x03c8, {1, {0x03a8 }}}, - { 0x03c9, {2, {0x03a9, 0x2126 }}}, - { 0x03ca, {1, {0x03aa }}}, - { 0x03cb, {1, {0x03ab }}}, - { 0x03cc, {1, {0x038c }}}, - { 0x03cd, {1, {0x038e }}}, - { 0x03ce, {1, {0x038f }}}, - { 0x03d9, {1, {0x03d8 }}}, - { 0x03db, {1, {0x03da }}}, - { 0x03dd, {1, {0x03dc }}}, - { 0x03df, {1, {0x03de }}}, - { 0x03e1, {1, {0x03e0 }}}, - { 0x03e3, {1, {0x03e2 }}}, - { 0x03e5, {1, {0x03e4 }}}, - { 0x03e7, {1, {0x03e6 }}}, - { 0x03e9, {1, {0x03e8 }}}, - { 0x03eb, {1, {0x03ea }}}, - { 0x03ed, {1, {0x03ec }}}, - { 0x03ef, {1, {0x03ee }}}, - { 0x03f2, {1, {0x03f9 }}}, - { 0x03f8, {1, {0x03f7 }}}, - { 0x03fb, {1, {0x03fa }}}, - { 0x0430, {1, {0x0410 }}}, - { 0x0431, {1, {0x0411 }}}, - { 0x0432, {1, {0x0412 }}}, - { 0x0433, {1, {0x0413 }}}, - { 0x0434, {1, {0x0414 }}}, - { 0x0435, {1, {0x0415 }}}, - { 0x0436, {1, {0x0416 }}}, - { 0x0437, {1, {0x0417 }}}, - { 0x0438, {1, {0x0418 }}}, - { 0x0439, {1, {0x0419 }}}, - { 0x043a, {1, {0x041a }}}, - { 0x043b, {1, {0x041b }}}, - { 0x043c, {1, {0x041c }}}, - { 0x043d, {1, {0x041d }}}, - { 0x043e, {1, {0x041e }}}, - { 0x043f, {1, {0x041f }}}, - { 0x0440, {1, {0x0420 }}}, - { 0x0441, {1, {0x0421 }}}, - { 0x0442, {1, {0x0422 }}}, - { 0x0443, {1, {0x0423 }}}, - { 0x0444, {1, {0x0424 }}}, - { 0x0445, {1, {0x0425 }}}, - { 0x0446, {1, {0x0426 }}}, - { 0x0447, {1, {0x0427 }}}, - { 0x0448, {1, {0x0428 }}}, - { 0x0449, {1, {0x0429 }}}, - { 0x044a, {1, {0x042a }}}, - { 0x044b, {1, {0x042b }}}, - { 0x044c, {1, {0x042c }}}, - { 0x044d, {1, {0x042d }}}, - { 0x044e, {1, {0x042e }}}, - { 0x044f, {1, {0x042f }}}, - { 0x0450, {1, {0x0400 }}}, - { 0x0451, {1, {0x0401 }}}, - { 0x0452, {1, {0x0402 }}}, - { 0x0453, {1, {0x0403 }}}, - { 0x0454, {1, {0x0404 }}}, - { 0x0455, {1, {0x0405 }}}, - { 0x0456, {1, {0x0406 }}}, - { 0x0457, {1, {0x0407 }}}, - { 0x0458, {1, {0x0408 }}}, - { 0x0459, {1, {0x0409 }}}, - { 0x045a, {1, {0x040a }}}, - { 0x045b, {1, {0x040b }}}, - { 0x045c, {1, {0x040c }}}, - { 0x045d, {1, {0x040d }}}, - { 0x045e, {1, {0x040e }}}, - { 0x045f, {1, {0x040f }}}, - { 0x0461, {1, {0x0460 }}}, - { 0x0463, {1, {0x0462 }}}, - { 0x0465, {1, {0x0464 }}}, - { 0x0467, {1, {0x0466 }}}, - { 0x0469, {1, {0x0468 }}}, - { 0x046b, {1, {0x046a }}}, - { 0x046d, {1, {0x046c }}}, - { 0x046f, {1, {0x046e }}}, - { 0x0471, {1, {0x0470 }}}, - { 0x0473, {1, {0x0472 }}}, - { 0x0475, {1, {0x0474 }}}, - { 0x0477, {1, {0x0476 }}}, - { 0x0479, {1, {0x0478 }}}, - { 0x047b, {1, {0x047a }}}, - { 0x047d, {1, {0x047c }}}, - { 0x047f, {1, {0x047e }}}, - { 0x0481, {1, {0x0480 }}}, - { 0x048b, {1, {0x048a }}}, - { 0x048d, {1, {0x048c }}}, - { 0x048f, {1, {0x048e }}}, - { 0x0491, {1, {0x0490 }}}, - { 0x0493, {1, {0x0492 }}}, - { 0x0495, {1, {0x0494 }}}, - { 0x0497, {1, {0x0496 }}}, - { 0x0499, {1, {0x0498 }}}, - { 0x049b, {1, {0x049a }}}, - { 0x049d, {1, {0x049c }}}, - { 0x049f, {1, {0x049e }}}, - { 0x04a1, {1, {0x04a0 }}}, - { 0x04a3, {1, {0x04a2 }}}, - { 0x04a5, {1, {0x04a4 }}}, - { 0x04a7, {1, {0x04a6 }}}, - { 0x04a9, {1, {0x04a8 }}}, - { 0x04ab, {1, {0x04aa }}}, - { 0x04ad, {1, {0x04ac }}}, - { 0x04af, {1, {0x04ae }}}, - { 0x04b1, {1, {0x04b0 }}}, - { 0x04b3, {1, {0x04b2 }}}, - { 0x04b5, {1, {0x04b4 }}}, - { 0x04b7, {1, {0x04b6 }}}, - { 0x04b9, {1, {0x04b8 }}}, - { 0x04bb, {1, {0x04ba }}}, - { 0x04bd, {1, {0x04bc }}}, - { 0x04bf, {1, {0x04be }}}, - { 0x04c2, {1, {0x04c1 }}}, - { 0x04c4, {1, {0x04c3 }}}, - { 0x04c6, {1, {0x04c5 }}}, - { 0x04c8, {1, {0x04c7 }}}, - { 0x04ca, {1, {0x04c9 }}}, - { 0x04cc, {1, {0x04cb }}}, - { 0x04ce, {1, {0x04cd }}}, - { 0x04d1, {1, {0x04d0 }}}, - { 0x04d3, {1, {0x04d2 }}}, - { 0x04d5, {1, {0x04d4 }}}, - { 0x04d7, {1, {0x04d6 }}}, - { 0x04d9, {1, {0x04d8 }}}, - { 0x04db, {1, {0x04da }}}, - { 0x04dd, {1, {0x04dc }}}, - { 0x04df, {1, {0x04de }}}, - { 0x04e1, {1, {0x04e0 }}}, - { 0x04e3, {1, {0x04e2 }}}, - { 0x04e5, {1, {0x04e4 }}}, - { 0x04e7, {1, {0x04e6 }}}, - { 0x04e9, {1, {0x04e8 }}}, - { 0x04eb, {1, {0x04ea }}}, - { 0x04ed, {1, {0x04ec }}}, - { 0x04ef, {1, {0x04ee }}}, - { 0x04f1, {1, {0x04f0 }}}, - { 0x04f3, {1, {0x04f2 }}}, - { 0x04f5, {1, {0x04f4 }}}, - { 0x04f7, {1, {0x04f6 }}}, - { 0x04f9, {1, {0x04f8 }}}, - { 0x0501, {1, {0x0500 }}}, - { 0x0503, {1, {0x0502 }}}, - { 0x0505, {1, {0x0504 }}}, - { 0x0507, {1, {0x0506 }}}, - { 0x0509, {1, {0x0508 }}}, - { 0x050b, {1, {0x050a }}}, - { 0x050d, {1, {0x050c }}}, - { 0x050f, {1, {0x050e }}}, - { 0x0561, {1, {0x0531 }}}, - { 0x0562, {1, {0x0532 }}}, - { 0x0563, {1, {0x0533 }}}, - { 0x0564, {1, {0x0534 }}}, - { 0x0565, {1, {0x0535 }}}, - { 0x0566, {1, {0x0536 }}}, - { 0x0567, {1, {0x0537 }}}, - { 0x0568, {1, {0x0538 }}}, - { 0x0569, {1, {0x0539 }}}, - { 0x056a, {1, {0x053a }}}, - { 0x056b, {1, {0x053b }}}, - { 0x056c, {1, {0x053c }}}, - { 0x056d, {1, {0x053d }}}, - { 0x056e, {1, {0x053e }}}, - { 0x056f, {1, {0x053f }}}, - { 0x0570, {1, {0x0540 }}}, - { 0x0571, {1, {0x0541 }}}, - { 0x0572, {1, {0x0542 }}}, - { 0x0573, {1, {0x0543 }}}, - { 0x0574, {1, {0x0544 }}}, - { 0x0575, {1, {0x0545 }}}, - { 0x0576, {1, {0x0546 }}}, - { 0x0577, {1, {0x0547 }}}, - { 0x0578, {1, {0x0548 }}}, - { 0x0579, {1, {0x0549 }}}, - { 0x057a, {1, {0x054a }}}, - { 0x057b, {1, {0x054b }}}, - { 0x057c, {1, {0x054c }}}, - { 0x057d, {1, {0x054d }}}, - { 0x057e, {1, {0x054e }}}, - { 0x057f, {1, {0x054f }}}, - { 0x0580, {1, {0x0550 }}}, - { 0x0581, {1, {0x0551 }}}, - { 0x0582, {1, {0x0552 }}}, - { 0x0583, {1, {0x0553 }}}, - { 0x0584, {1, {0x0554 }}}, - { 0x0585, {1, {0x0555 }}}, - { 0x0586, {1, {0x0556 }}}, - { 0x1e01, {1, {0x1e00 }}}, - { 0x1e03, {1, {0x1e02 }}}, - { 0x1e05, {1, {0x1e04 }}}, - { 0x1e07, {1, {0x1e06 }}}, - { 0x1e09, {1, {0x1e08 }}}, - { 0x1e0b, {1, {0x1e0a }}}, - { 0x1e0d, {1, {0x1e0c }}}, - { 0x1e0f, {1, {0x1e0e }}}, - { 0x1e11, {1, {0x1e10 }}}, - { 0x1e13, {1, {0x1e12 }}}, - { 0x1e15, {1, {0x1e14 }}}, - { 0x1e17, {1, {0x1e16 }}}, - { 0x1e19, {1, {0x1e18 }}}, - { 0x1e1b, {1, {0x1e1a }}}, - { 0x1e1d, {1, {0x1e1c }}}, - { 0x1e1f, {1, {0x1e1e }}}, - { 0x1e21, {1, {0x1e20 }}}, - { 0x1e23, {1, {0x1e22 }}}, - { 0x1e25, {1, {0x1e24 }}}, - { 0x1e27, {1, {0x1e26 }}}, - { 0x1e29, {1, {0x1e28 }}}, - { 0x1e2b, {1, {0x1e2a }}}, - { 0x1e2d, {1, {0x1e2c }}}, - { 0x1e2f, {1, {0x1e2e }}}, - { 0x1e31, {1, {0x1e30 }}}, - { 0x1e33, {1, {0x1e32 }}}, - { 0x1e35, {1, {0x1e34 }}}, - { 0x1e37, {1, {0x1e36 }}}, - { 0x1e39, {1, {0x1e38 }}}, - { 0x1e3b, {1, {0x1e3a }}}, - { 0x1e3d, {1, {0x1e3c }}}, - { 0x1e3f, {1, {0x1e3e }}}, - { 0x1e41, {1, {0x1e40 }}}, - { 0x1e43, {1, {0x1e42 }}}, - { 0x1e45, {1, {0x1e44 }}}, - { 0x1e47, {1, {0x1e46 }}}, - { 0x1e49, {1, {0x1e48 }}}, - { 0x1e4b, {1, {0x1e4a }}}, - { 0x1e4d, {1, {0x1e4c }}}, - { 0x1e4f, {1, {0x1e4e }}}, - { 0x1e51, {1, {0x1e50 }}}, - { 0x1e53, {1, {0x1e52 }}}, - { 0x1e55, {1, {0x1e54 }}}, - { 0x1e57, {1, {0x1e56 }}}, - { 0x1e59, {1, {0x1e58 }}}, - { 0x1e5b, {1, {0x1e5a }}}, - { 0x1e5d, {1, {0x1e5c }}}, - { 0x1e5f, {1, {0x1e5e }}}, - { 0x1e61, {2, {0x1e9b, 0x1e60 }}}, - { 0x1e63, {1, {0x1e62 }}}, - { 0x1e65, {1, {0x1e64 }}}, - { 0x1e67, {1, {0x1e66 }}}, - { 0x1e69, {1, {0x1e68 }}}, - { 0x1e6b, {1, {0x1e6a }}}, - { 0x1e6d, {1, {0x1e6c }}}, - { 0x1e6f, {1, {0x1e6e }}}, - { 0x1e71, {1, {0x1e70 }}}, - { 0x1e73, {1, {0x1e72 }}}, - { 0x1e75, {1, {0x1e74 }}}, - { 0x1e77, {1, {0x1e76 }}}, - { 0x1e79, {1, {0x1e78 }}}, - { 0x1e7b, {1, {0x1e7a }}}, - { 0x1e7d, {1, {0x1e7c }}}, - { 0x1e7f, {1, {0x1e7e }}}, - { 0x1e81, {1, {0x1e80 }}}, - { 0x1e83, {1, {0x1e82 }}}, - { 0x1e85, {1, {0x1e84 }}}, - { 0x1e87, {1, {0x1e86 }}}, - { 0x1e89, {1, {0x1e88 }}}, - { 0x1e8b, {1, {0x1e8a }}}, - { 0x1e8d, {1, {0x1e8c }}}, - { 0x1e8f, {1, {0x1e8e }}}, - { 0x1e91, {1, {0x1e90 }}}, - { 0x1e93, {1, {0x1e92 }}}, - { 0x1e95, {1, {0x1e94 }}}, - { 0x1ea1, {1, {0x1ea0 }}}, - { 0x1ea3, {1, {0x1ea2 }}}, - { 0x1ea5, {1, {0x1ea4 }}}, - { 0x1ea7, {1, {0x1ea6 }}}, - { 0x1ea9, {1, {0x1ea8 }}}, - { 0x1eab, {1, {0x1eaa }}}, - { 0x1ead, {1, {0x1eac }}}, - { 0x1eaf, {1, {0x1eae }}}, - { 0x1eb1, {1, {0x1eb0 }}}, - { 0x1eb3, {1, {0x1eb2 }}}, - { 0x1eb5, {1, {0x1eb4 }}}, - { 0x1eb7, {1, {0x1eb6 }}}, - { 0x1eb9, {1, {0x1eb8 }}}, - { 0x1ebb, {1, {0x1eba }}}, - { 0x1ebd, {1, {0x1ebc }}}, - { 0x1ebf, {1, {0x1ebe }}}, - { 0x1ec1, {1, {0x1ec0 }}}, - { 0x1ec3, {1, {0x1ec2 }}}, - { 0x1ec5, {1, {0x1ec4 }}}, - { 0x1ec7, {1, {0x1ec6 }}}, - { 0x1ec9, {1, {0x1ec8 }}}, - { 0x1ecb, {1, {0x1eca }}}, - { 0x1ecd, {1, {0x1ecc }}}, - { 0x1ecf, {1, {0x1ece }}}, - { 0x1ed1, {1, {0x1ed0 }}}, - { 0x1ed3, {1, {0x1ed2 }}}, - { 0x1ed5, {1, {0x1ed4 }}}, - { 0x1ed7, {1, {0x1ed6 }}}, - { 0x1ed9, {1, {0x1ed8 }}}, - { 0x1edb, {1, {0x1eda }}}, - { 0x1edd, {1, {0x1edc }}}, - { 0x1edf, {1, {0x1ede }}}, - { 0x1ee1, {1, {0x1ee0 }}}, - { 0x1ee3, {1, {0x1ee2 }}}, - { 0x1ee5, {1, {0x1ee4 }}}, - { 0x1ee7, {1, {0x1ee6 }}}, - { 0x1ee9, {1, {0x1ee8 }}}, - { 0x1eeb, {1, {0x1eea }}}, - { 0x1eed, {1, {0x1eec }}}, - { 0x1eef, {1, {0x1eee }}}, - { 0x1ef1, {1, {0x1ef0 }}}, - { 0x1ef3, {1, {0x1ef2 }}}, - { 0x1ef5, {1, {0x1ef4 }}}, - { 0x1ef7, {1, {0x1ef6 }}}, - { 0x1ef9, {1, {0x1ef8 }}}, - { 0x1f00, {1, {0x1f08 }}}, - { 0x1f01, {1, {0x1f09 }}}, - { 0x1f02, {1, {0x1f0a }}}, - { 0x1f03, {1, {0x1f0b }}}, - { 0x1f04, {1, {0x1f0c }}}, - { 0x1f05, {1, {0x1f0d }}}, - { 0x1f06, {1, {0x1f0e }}}, - { 0x1f07, {1, {0x1f0f }}}, - { 0x1f10, {1, {0x1f18 }}}, - { 0x1f11, {1, {0x1f19 }}}, - { 0x1f12, {1, {0x1f1a }}}, - { 0x1f13, {1, {0x1f1b }}}, - { 0x1f14, {1, {0x1f1c }}}, - { 0x1f15, {1, {0x1f1d }}}, - { 0x1f20, {1, {0x1f28 }}}, - { 0x1f21, {1, {0x1f29 }}}, - { 0x1f22, {1, {0x1f2a }}}, - { 0x1f23, {1, {0x1f2b }}}, - { 0x1f24, {1, {0x1f2c }}}, - { 0x1f25, {1, {0x1f2d }}}, - { 0x1f26, {1, {0x1f2e }}}, - { 0x1f27, {1, {0x1f2f }}}, - { 0x1f30, {1, {0x1f38 }}}, - { 0x1f31, {1, {0x1f39 }}}, - { 0x1f32, {1, {0x1f3a }}}, - { 0x1f33, {1, {0x1f3b }}}, - { 0x1f34, {1, {0x1f3c }}}, - { 0x1f35, {1, {0x1f3d }}}, - { 0x1f36, {1, {0x1f3e }}}, - { 0x1f37, {1, {0x1f3f }}}, - { 0x1f40, {1, {0x1f48 }}}, - { 0x1f41, {1, {0x1f49 }}}, - { 0x1f42, {1, {0x1f4a }}}, - { 0x1f43, {1, {0x1f4b }}}, - { 0x1f44, {1, {0x1f4c }}}, - { 0x1f45, {1, {0x1f4d }}}, - { 0x1f51, {1, {0x1f59 }}}, - { 0x1f53, {1, {0x1f5b }}}, - { 0x1f55, {1, {0x1f5d }}}, - { 0x1f57, {1, {0x1f5f }}}, - { 0x1f60, {1, {0x1f68 }}}, - { 0x1f61, {1, {0x1f69 }}}, - { 0x1f62, {1, {0x1f6a }}}, - { 0x1f63, {1, {0x1f6b }}}, - { 0x1f64, {1, {0x1f6c }}}, - { 0x1f65, {1, {0x1f6d }}}, - { 0x1f66, {1, {0x1f6e }}}, - { 0x1f67, {1, {0x1f6f }}}, - { 0x1f70, {1, {0x1fba }}}, - { 0x1f71, {1, {0x1fbb }}}, - { 0x1f72, {1, {0x1fc8 }}}, - { 0x1f73, {1, {0x1fc9 }}}, - { 0x1f74, {1, {0x1fca }}}, - { 0x1f75, {1, {0x1fcb }}}, - { 0x1f76, {1, {0x1fda }}}, - { 0x1f77, {1, {0x1fdb }}}, - { 0x1f78, {1, {0x1ff8 }}}, - { 0x1f79, {1, {0x1ff9 }}}, - { 0x1f7a, {1, {0x1fea }}}, - { 0x1f7b, {1, {0x1feb }}}, - { 0x1f7c, {1, {0x1ffa }}}, - { 0x1f7d, {1, {0x1ffb }}}, - { 0x1fb0, {1, {0x1fb8 }}}, - { 0x1fb1, {1, {0x1fb9 }}}, - { 0x1fd0, {1, {0x1fd8 }}}, - { 0x1fd1, {1, {0x1fd9 }}}, - { 0x1fe0, {1, {0x1fe8 }}}, - { 0x1fe1, {1, {0x1fe9 }}}, - { 0x1fe5, {1, {0x1fec }}}, - { 0x2170, {1, {0x2160 }}}, - { 0x2171, {1, {0x2161 }}}, - { 0x2172, {1, {0x2162 }}}, - { 0x2173, {1, {0x2163 }}}, - { 0x2174, {1, {0x2164 }}}, - { 0x2175, {1, {0x2165 }}}, - { 0x2176, {1, {0x2166 }}}, - { 0x2177, {1, {0x2167 }}}, - { 0x2178, {1, {0x2168 }}}, - { 0x2179, {1, {0x2169 }}}, - { 0x217a, {1, {0x216a }}}, - { 0x217b, {1, {0x216b }}}, - { 0x217c, {1, {0x216c }}}, - { 0x217d, {1, {0x216d }}}, - { 0x217e, {1, {0x216e }}}, - { 0x217f, {1, {0x216f }}}, - { 0x24d0, {1, {0x24b6 }}}, - { 0x24d1, {1, {0x24b7 }}}, - { 0x24d2, {1, {0x24b8 }}}, - { 0x24d3, {1, {0x24b9 }}}, - { 0x24d4, {1, {0x24ba }}}, - { 0x24d5, {1, {0x24bb }}}, - { 0x24d6, {1, {0x24bc }}}, - { 0x24d7, {1, {0x24bd }}}, - { 0x24d8, {1, {0x24be }}}, - { 0x24d9, {1, {0x24bf }}}, - { 0x24da, {1, {0x24c0 }}}, - { 0x24db, {1, {0x24c1 }}}, - { 0x24dc, {1, {0x24c2 }}}, - { 0x24dd, {1, {0x24c3 }}}, - { 0x24de, {1, {0x24c4 }}}, - { 0x24df, {1, {0x24c5 }}}, - { 0x24e0, {1, {0x24c6 }}}, - { 0x24e1, {1, {0x24c7 }}}, - { 0x24e2, {1, {0x24c8 }}}, - { 0x24e3, {1, {0x24c9 }}}, - { 0x24e4, {1, {0x24ca }}}, - { 0x24e5, {1, {0x24cb }}}, - { 0x24e6, {1, {0x24cc }}}, - { 0x24e7, {1, {0x24cd }}}, - { 0x24e8, {1, {0x24ce }}}, - { 0x24e9, {1, {0x24cf }}}, - { 0x2c30, {1, {0x2c00 }}}, - { 0x2c31, {1, {0x2c01 }}}, - { 0x2c32, {1, {0x2c02 }}}, - { 0x2c33, {1, {0x2c03 }}}, - { 0x2c34, {1, {0x2c04 }}}, - { 0x2c35, {1, {0x2c05 }}}, - { 0x2c36, {1, {0x2c06 }}}, - { 0x2c37, {1, {0x2c07 }}}, - { 0x2c38, {1, {0x2c08 }}}, - { 0x2c39, {1, {0x2c09 }}}, - { 0x2c3a, {1, {0x2c0a }}}, - { 0x2c3b, {1, {0x2c0b }}}, - { 0x2c3c, {1, {0x2c0c }}}, - { 0x2c3d, {1, {0x2c0d }}}, - { 0x2c3e, {1, {0x2c0e }}}, - { 0x2c3f, {1, {0x2c0f }}}, - { 0x2c40, {1, {0x2c10 }}}, - { 0x2c41, {1, {0x2c11 }}}, - { 0x2c42, {1, {0x2c12 }}}, - { 0x2c43, {1, {0x2c13 }}}, - { 0x2c44, {1, {0x2c14 }}}, - { 0x2c45, {1, {0x2c15 }}}, - { 0x2c46, {1, {0x2c16 }}}, - { 0x2c47, {1, {0x2c17 }}}, - { 0x2c48, {1, {0x2c18 }}}, - { 0x2c49, {1, {0x2c19 }}}, - { 0x2c4a, {1, {0x2c1a }}}, - { 0x2c4b, {1, {0x2c1b }}}, - { 0x2c4c, {1, {0x2c1c }}}, - { 0x2c4d, {1, {0x2c1d }}}, - { 0x2c4e, {1, {0x2c1e }}}, - { 0x2c4f, {1, {0x2c1f }}}, - { 0x2c50, {1, {0x2c20 }}}, - { 0x2c51, {1, {0x2c21 }}}, - { 0x2c52, {1, {0x2c22 }}}, - { 0x2c53, {1, {0x2c23 }}}, - { 0x2c54, {1, {0x2c24 }}}, - { 0x2c55, {1, {0x2c25 }}}, - { 0x2c56, {1, {0x2c26 }}}, - { 0x2c57, {1, {0x2c27 }}}, - { 0x2c58, {1, {0x2c28 }}}, - { 0x2c59, {1, {0x2c29 }}}, - { 0x2c5a, {1, {0x2c2a }}}, - { 0x2c5b, {1, {0x2c2b }}}, - { 0x2c5c, {1, {0x2c2c }}}, - { 0x2c5d, {1, {0x2c2d }}}, - { 0x2c5e, {1, {0x2c2e }}}, - { 0x2c81, {1, {0x2c80 }}}, - { 0x2c83, {1, {0x2c82 }}}, - { 0x2c85, {1, {0x2c84 }}}, - { 0x2c87, {1, {0x2c86 }}}, - { 0x2c89, {1, {0x2c88 }}}, - { 0x2c8b, {1, {0x2c8a }}}, - { 0x2c8d, {1, {0x2c8c }}}, - { 0x2c8f, {1, {0x2c8e }}}, - { 0x2c91, {1, {0x2c90 }}}, - { 0x2c93, {1, {0x2c92 }}}, - { 0x2c95, {1, {0x2c94 }}}, - { 0x2c97, {1, {0x2c96 }}}, - { 0x2c99, {1, {0x2c98 }}}, - { 0x2c9b, {1, {0x2c9a }}}, - { 0x2c9d, {1, {0x2c9c }}}, - { 0x2c9f, {1, {0x2c9e }}}, - { 0x2ca1, {1, {0x2ca0 }}}, - { 0x2ca3, {1, {0x2ca2 }}}, - { 0x2ca5, {1, {0x2ca4 }}}, - { 0x2ca7, {1, {0x2ca6 }}}, - { 0x2ca9, {1, {0x2ca8 }}}, - { 0x2cab, {1, {0x2caa }}}, - { 0x2cad, {1, {0x2cac }}}, - { 0x2caf, {1, {0x2cae }}}, - { 0x2cb1, {1, {0x2cb0 }}}, - { 0x2cb3, {1, {0x2cb2 }}}, - { 0x2cb5, {1, {0x2cb4 }}}, - { 0x2cb7, {1, {0x2cb6 }}}, - { 0x2cb9, {1, {0x2cb8 }}}, - { 0x2cbb, {1, {0x2cba }}}, - { 0x2cbd, {1, {0x2cbc }}}, - { 0x2cbf, {1, {0x2cbe }}}, - { 0x2cc1, {1, {0x2cc0 }}}, - { 0x2cc3, {1, {0x2cc2 }}}, - { 0x2cc5, {1, {0x2cc4 }}}, - { 0x2cc7, {1, {0x2cc6 }}}, - { 0x2cc9, {1, {0x2cc8 }}}, - { 0x2ccb, {1, {0x2cca }}}, - { 0x2ccd, {1, {0x2ccc }}}, - { 0x2ccf, {1, {0x2cce }}}, - { 0x2cd1, {1, {0x2cd0 }}}, - { 0x2cd3, {1, {0x2cd2 }}}, - { 0x2cd5, {1, {0x2cd4 }}}, - { 0x2cd7, {1, {0x2cd6 }}}, - { 0x2cd9, {1, {0x2cd8 }}}, - { 0x2cdb, {1, {0x2cda }}}, - { 0x2cdd, {1, {0x2cdc }}}, - { 0x2cdf, {1, {0x2cde }}}, - { 0x2ce1, {1, {0x2ce0 }}}, - { 0x2ce3, {1, {0x2ce2 }}}, - { 0x2d00, {1, {0x10a0 }}}, - { 0x2d01, {1, {0x10a1 }}}, - { 0x2d02, {1, {0x10a2 }}}, - { 0x2d03, {1, {0x10a3 }}}, - { 0x2d04, {1, {0x10a4 }}}, - { 0x2d05, {1, {0x10a5 }}}, - { 0x2d06, {1, {0x10a6 }}}, - { 0x2d07, {1, {0x10a7 }}}, - { 0x2d08, {1, {0x10a8 }}}, - { 0x2d09, {1, {0x10a9 }}}, - { 0x2d0a, {1, {0x10aa }}}, - { 0x2d0b, {1, {0x10ab }}}, - { 0x2d0c, {1, {0x10ac }}}, - { 0x2d0d, {1, {0x10ad }}}, - { 0x2d0e, {1, {0x10ae }}}, - { 0x2d0f, {1, {0x10af }}}, - { 0x2d10, {1, {0x10b0 }}}, - { 0x2d11, {1, {0x10b1 }}}, - { 0x2d12, {1, {0x10b2 }}}, - { 0x2d13, {1, {0x10b3 }}}, - { 0x2d14, {1, {0x10b4 }}}, - { 0x2d15, {1, {0x10b5 }}}, - { 0x2d16, {1, {0x10b6 }}}, - { 0x2d17, {1, {0x10b7 }}}, - { 0x2d18, {1, {0x10b8 }}}, - { 0x2d19, {1, {0x10b9 }}}, - { 0x2d1a, {1, {0x10ba }}}, - { 0x2d1b, {1, {0x10bb }}}, - { 0x2d1c, {1, {0x10bc }}}, - { 0x2d1d, {1, {0x10bd }}}, - { 0x2d1e, {1, {0x10be }}}, - { 0x2d1f, {1, {0x10bf }}}, - { 0x2d20, {1, {0x10c0 }}}, - { 0x2d21, {1, {0x10c1 }}}, - { 0x2d22, {1, {0x10c2 }}}, - { 0x2d23, {1, {0x10c3 }}}, - { 0x2d24, {1, {0x10c4 }}}, - { 0x2d25, {1, {0x10c5 }}}, - { 0xff41, {1, {0xff21 }}}, - { 0xff42, {1, {0xff22 }}}, - { 0xff43, {1, {0xff23 }}}, - { 0xff44, {1, {0xff24 }}}, - { 0xff45, {1, {0xff25 }}}, - { 0xff46, {1, {0xff26 }}}, - { 0xff47, {1, {0xff27 }}}, - { 0xff48, {1, {0xff28 }}}, - { 0xff49, {1, {0xff29 }}}, - { 0xff4a, {1, {0xff2a }}}, - { 0xff4b, {1, {0xff2b }}}, - { 0xff4c, {1, {0xff2c }}}, - { 0xff4d, {1, {0xff2d }}}, - { 0xff4e, {1, {0xff2e }}}, - { 0xff4f, {1, {0xff2f }}}, - { 0xff50, {1, {0xff30 }}}, - { 0xff51, {1, {0xff31 }}}, - { 0xff52, {1, {0xff32 }}}, - { 0xff53, {1, {0xff33 }}}, - { 0xff54, {1, {0xff34 }}}, - { 0xff55, {1, {0xff35 }}}, - { 0xff56, {1, {0xff36 }}}, - { 0xff57, {1, {0xff37 }}}, - { 0xff58, {1, {0xff38 }}}, - { 0xff59, {1, {0xff39 }}}, - { 0xff5a, {1, {0xff3a }}}, - { 0x10428, {1, {0x10400 }}}, - { 0x10429, {1, {0x10401 }}}, - { 0x1042a, {1, {0x10402 }}}, - { 0x1042b, {1, {0x10403 }}}, - { 0x1042c, {1, {0x10404 }}}, - { 0x1042d, {1, {0x10405 }}}, - { 0x1042e, {1, {0x10406 }}}, - { 0x1042f, {1, {0x10407 }}}, - { 0x10430, {1, {0x10408 }}}, - { 0x10431, {1, {0x10409 }}}, - { 0x10432, {1, {0x1040a }}}, - { 0x10433, {1, {0x1040b }}}, - { 0x10434, {1, {0x1040c }}}, - { 0x10435, {1, {0x1040d }}}, - { 0x10436, {1, {0x1040e }}}, - { 0x10437, {1, {0x1040f }}}, - { 0x10438, {1, {0x10410 }}}, - { 0x10439, {1, {0x10411 }}}, - { 0x1043a, {1, {0x10412 }}}, - { 0x1043b, {1, {0x10413 }}}, - { 0x1043c, {1, {0x10414 }}}, - { 0x1043d, {1, {0x10415 }}}, - { 0x1043e, {1, {0x10416 }}}, - { 0x1043f, {1, {0x10417 }}}, - { 0x10440, {1, {0x10418 }}}, - { 0x10441, {1, {0x10419 }}}, - { 0x10442, {1, {0x1041a }}}, - { 0x10443, {1, {0x1041b }}}, - { 0x10444, {1, {0x1041c }}}, - { 0x10445, {1, {0x1041d }}}, - { 0x10446, {1, {0x1041e }}}, - { 0x10447, {1, {0x1041f }}}, - { 0x10448, {1, {0x10420 }}}, - { 0x10449, {1, {0x10421 }}}, - { 0x1044a, {1, {0x10422 }}}, - { 0x1044b, {1, {0x10423 }}}, - { 0x1044c, {1, {0x10424 }}}, - { 0x1044d, {1, {0x10425 }}}, - { 0x1044e, {1, {0x10426 }}}, - { 0x1044f, {1, {0x10427 }}} -}; - -static const CaseUnfold_11_Type CaseUnfold_11_Locale[] = { - { 0x0069, {1, {0x0049 }}} -}; - -static const CaseUnfold_12_Type CaseUnfold_12[] = { - { {0x0061, 0x02be}, {1, {0x1e9a }}}, - { {0x0066, 0x0066}, {1, {0xfb00 }}}, - { {0x0066, 0x0069}, {1, {0xfb01 }}}, - { {0x0066, 0x006c}, {1, {0xfb02 }}}, - { {0x0068, 0x0331}, {1, {0x1e96 }}}, - { {0x006a, 0x030c}, {1, {0x01f0 }}}, - { {0x0073, 0x0073}, {1, {0x00df }}}, - { {0x0073, 0x0074}, {2, {0xfb05, 0xfb06 }}}, - { {0x0074, 0x0308}, {1, {0x1e97 }}}, - { {0x0077, 0x030a}, {1, {0x1e98 }}}, - { {0x0079, 0x030a}, {1, {0x1e99 }}}, - { {0x02bc, 0x006e}, {1, {0x0149 }}}, - { {0x03ac, 0x03b9}, {1, {0x1fb4 }}}, - { {0x03ae, 0x03b9}, {1, {0x1fc4 }}}, - { {0x03b1, 0x0342}, {1, {0x1fb6 }}}, - { {0x03b1, 0x03b9}, {2, {0x1fb3, 0x1fbc }}}, - { {0x03b7, 0x0342}, {1, {0x1fc6 }}}, - { {0x03b7, 0x03b9}, {2, {0x1fc3, 0x1fcc }}}, - { {0x03b9, 0x0342}, {1, {0x1fd6 }}}, - { {0x03c1, 0x0313}, {1, {0x1fe4 }}}, - { {0x03c5, 0x0313}, {1, {0x1f50 }}}, - { {0x03c5, 0x0342}, {1, {0x1fe6 }}}, - { {0x03c9, 0x0342}, {1, {0x1ff6 }}}, - { {0x03c9, 0x03b9}, {2, {0x1ff3, 0x1ffc }}}, - { {0x03ce, 0x03b9}, {1, {0x1ff4 }}}, - { {0x0565, 0x0582}, {1, {0x0587 }}}, - { {0x0574, 0x0565}, {1, {0xfb14 }}}, - { {0x0574, 0x056b}, {1, {0xfb15 }}}, - { {0x0574, 0x056d}, {1, {0xfb17 }}}, - { {0x0574, 0x0576}, {1, {0xfb13 }}}, - { {0x057e, 0x0576}, {1, {0xfb16 }}}, - { {0x1f00, 0x03b9}, {2, {0x1f88, 0x1f80 }}}, - { {0x1f01, 0x03b9}, {2, {0x1f81, 0x1f89 }}}, - { {0x1f02, 0x03b9}, {2, {0x1f82, 0x1f8a }}}, - { {0x1f03, 0x03b9}, {2, {0x1f83, 0x1f8b }}}, - { {0x1f04, 0x03b9}, {2, {0x1f84, 0x1f8c }}}, - { {0x1f05, 0x03b9}, {2, {0x1f85, 0x1f8d }}}, - { {0x1f06, 0x03b9}, {2, {0x1f86, 0x1f8e }}}, - { {0x1f07, 0x03b9}, {2, {0x1f87, 0x1f8f }}}, - { {0x1f20, 0x03b9}, {2, {0x1f90, 0x1f98 }}}, - { {0x1f21, 0x03b9}, {2, {0x1f91, 0x1f99 }}}, - { {0x1f22, 0x03b9}, {2, {0x1f92, 0x1f9a }}}, - { {0x1f23, 0x03b9}, {2, {0x1f93, 0x1f9b }}}, - { {0x1f24, 0x03b9}, {2, {0x1f94, 0x1f9c }}}, - { {0x1f25, 0x03b9}, {2, {0x1f95, 0x1f9d }}}, - { {0x1f26, 0x03b9}, {2, {0x1f96, 0x1f9e }}}, - { {0x1f27, 0x03b9}, {2, {0x1f97, 0x1f9f }}}, - { {0x1f60, 0x03b9}, {2, {0x1fa0, 0x1fa8 }}}, - { {0x1f61, 0x03b9}, {2, {0x1fa1, 0x1fa9 }}}, - { {0x1f62, 0x03b9}, {2, {0x1fa2, 0x1faa }}}, - { {0x1f63, 0x03b9}, {2, {0x1fa3, 0x1fab }}}, - { {0x1f64, 0x03b9}, {2, {0x1fa4, 0x1fac }}}, - { {0x1f65, 0x03b9}, {2, {0x1fa5, 0x1fad }}}, - { {0x1f66, 0x03b9}, {2, {0x1fa6, 0x1fae }}}, - { {0x1f67, 0x03b9}, {2, {0x1fa7, 0x1faf }}}, - { {0x1f70, 0x03b9}, {1, {0x1fb2 }}}, - { {0x1f74, 0x03b9}, {1, {0x1fc2 }}}, - { {0x1f7c, 0x03b9}, {1, {0x1ff2 }}} -}; +#include "enc/unicode/casefold.h" -static const CaseUnfold_12_Type CaseUnfold_12_Locale[] = { - { {0x0069, 0x0307}, {1, {0x0130 }}} -}; - -static const CaseUnfold_13_Type CaseUnfold_13[] = { - { {0x0066, 0x0066, 0x0069}, {1, {0xfb03 }}}, - { {0x0066, 0x0066, 0x006c}, {1, {0xfb04 }}}, - { {0x03b1, 0x0342, 0x03b9}, {1, {0x1fb7 }}}, - { {0x03b7, 0x0342, 0x03b9}, {1, {0x1fc7 }}}, - { {0x03b9, 0x0308, 0x0300}, {1, {0x1fd2 }}}, - { {0x03b9, 0x0308, 0x0301}, {2, {0x0390, 0x1fd3 }}}, - { {0x03b9, 0x0308, 0x0342}, {1, {0x1fd7 }}}, - { {0x03c5, 0x0308, 0x0300}, {1, {0x1fe2 }}}, - { {0x03c5, 0x0308, 0x0301}, {2, {0x03b0, 0x1fe3 }}}, - { {0x03c5, 0x0308, 0x0342}, {1, {0x1fe7 }}}, - { {0x03c5, 0x0313, 0x0300}, {1, {0x1f52 }}}, - { {0x03c5, 0x0313, 0x0301}, {1, {0x1f54 }}}, - { {0x03c5, 0x0313, 0x0342}, {1, {0x1f56 }}}, - { {0x03c9, 0x0342, 0x03b9}, {1, {0x1ff7 }}} -}; #define numberof(array) (int)(sizeof(array) / sizeof((array)[0])) #define CODE_RANGES_NUM numberof(CodeRanges) @@ -2080,7 +151,7 @@ onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out, #include "ruby/st.h" -#define PROPERTY_NAME_MAX_SIZE MAX_WORD_LENGTH+1 +#define PROPERTY_NAME_MAX_SIZE (MAX_WORD_LENGTH + 1) extern int onigenc_unicode_property_name_to_ctype(OnigEncoding enc, UChar* name, UChar* end) @@ -2099,7 +170,7 @@ onigenc_unicode_property_name_to_ctype(OnigEncoding enc, UChar* name, UChar* end if (code >= 0x80) return ONIGERR_INVALID_CHAR_PROPERTY_NAME; - buf[len++] = (UChar )TOLOWER((unsigned char)code); + buf[len++] = ONIGENC_ASCII_CODE_TO_LOWER_CASE(code); if (len >= PROPERTY_NAME_MAX_SIZE) return ONIGERR_INVALID_CHAR_PROPERTY_NAME; } @@ -2167,7 +238,7 @@ static int init_case_fold_table(void) THREAD_ATOMIC_START; - FoldTable = st_init_numtable_with_size(1200); + FoldTable = st_init_numtable_with_size(1400); if (ONIG_IS_NULL(FoldTable)) return ONIGERR_MEMORY; for (i = 0; i < numberof(CaseFold); i++) { p = &CaseFold[i]; @@ -2178,7 +249,7 @@ static int init_case_fold_table(void) st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to)); } - Unfold1Table = st_init_numtable_with_size(1000); + Unfold1Table = st_init_numtable_with_size(1200); if (ONIG_IS_NULL(Unfold1Table)) return ONIGERR_MEMORY; for (i = 0; i < numberof(CaseUnfold_11); i++) { diff --git a/enc/unicode/casefold.h b/enc/unicode/casefold.h new file mode 100644 index 0000000000..b4f2ee3c9e --- /dev/null +++ b/enc/unicode/casefold.h @@ -0,0 +1,2230 @@ +static const CaseFold_11_Type CaseFold[] = { + { 0x0041, {1, {0x0061}}}, + { 0x0042, {1, {0x0062}}}, + { 0x0043, {1, {0x0063}}}, + { 0x0044, {1, {0x0064}}}, + { 0x0045, {1, {0x0065}}}, + { 0x0046, {1, {0x0066}}}, + { 0x0047, {1, {0x0067}}}, + { 0x0048, {1, {0x0068}}}, + { 0x004a, {1, {0x006a}}}, + { 0x004b, {1, {0x006b}}}, + { 0x004c, {1, {0x006c}}}, + { 0x004d, {1, {0x006d}}}, + { 0x004e, {1, {0x006e}}}, + { 0x004f, {1, {0x006f}}}, + { 0x0050, {1, {0x0070}}}, + { 0x0051, {1, {0x0071}}}, + { 0x0052, {1, {0x0072}}}, + { 0x0053, {1, {0x0073}}}, + { 0x0054, {1, {0x0074}}}, + { 0x0055, {1, {0x0075}}}, + { 0x0056, {1, {0x0076}}}, + { 0x0057, {1, {0x0077}}}, + { 0x0058, {1, {0x0078}}}, + { 0x0059, {1, {0x0079}}}, + { 0x005a, {1, {0x007a}}}, + { 0x00b5, {1, {0x03bc}}}, + { 0x00c0, {1, {0x00e0}}}, + { 0x00c1, {1, {0x00e1}}}, + { 0x00c2, {1, {0x00e2}}}, + { 0x00c3, {1, {0x00e3}}}, + { 0x00c4, {1, {0x00e4}}}, + { 0x00c5, {1, {0x00e5}}}, + { 0x00c6, {1, {0x00e6}}}, + { 0x00c7, {1, {0x00e7}}}, + { 0x00c8, {1, {0x00e8}}}, + { 0x00c9, {1, {0x00e9}}}, + { 0x00ca, {1, {0x00ea}}}, + { 0x00cb, {1, {0x00eb}}}, + { 0x00cc, {1, {0x00ec}}}, + { 0x00cd, {1, {0x00ed}}}, + { 0x00ce, {1, {0x00ee}}}, + { 0x00cf, {1, {0x00ef}}}, + { 0x00d0, {1, {0x00f0}}}, + { 0x00d1, {1, {0x00f1}}}, + { 0x00d2, {1, {0x00f2}}}, + { 0x00d3, {1, {0x00f3}}}, + { 0x00d4, {1, {0x00f4}}}, + { 0x00d5, {1, {0x00f5}}}, + { 0x00d6, {1, {0x00f6}}}, + { 0x00d8, {1, {0x00f8}}}, + { 0x00d9, {1, {0x00f9}}}, + { 0x00da, {1, {0x00fa}}}, + { 0x00db, {1, {0x00fb}}}, + { 0x00dc, {1, {0x00fc}}}, + { 0x00dd, {1, {0x00fd}}}, + { 0x00de, {1, {0x00fe}}}, + { 0x00df, {2, {0x0073, 0x0073}}}, + { 0x0100, {1, {0x0101}}}, + { 0x0102, {1, {0x0103}}}, + { 0x0104, {1, {0x0105}}}, + { 0x0106, {1, {0x0107}}}, + { 0x0108, {1, {0x0109}}}, + { 0x010a, {1, {0x010b}}}, + { 0x010c, {1, {0x010d}}}, + { 0x010e, {1, {0x010f}}}, + { 0x0110, {1, {0x0111}}}, + { 0x0112, {1, {0x0113}}}, + { 0x0114, {1, {0x0115}}}, + { 0x0116, {1, {0x0117}}}, + { 0x0118, {1, {0x0119}}}, + { 0x011a, {1, {0x011b}}}, + { 0x011c, {1, {0x011d}}}, + { 0x011e, {1, {0x011f}}}, + { 0x0120, {1, {0x0121}}}, + { 0x0122, {1, {0x0123}}}, + { 0x0124, {1, {0x0125}}}, + { 0x0126, {1, {0x0127}}}, + { 0x0128, {1, {0x0129}}}, + { 0x012a, {1, {0x012b}}}, + { 0x012c, {1, {0x012d}}}, + { 0x012e, {1, {0x012f}}}, + { 0x0132, {1, {0x0133}}}, + { 0x0134, {1, {0x0135}}}, + { 0x0136, {1, {0x0137}}}, + { 0x0139, {1, {0x013a}}}, + { 0x013b, {1, {0x013c}}}, + { 0x013d, {1, {0x013e}}}, + { 0x013f, {1, {0x0140}}}, + { 0x0141, {1, {0x0142}}}, + { 0x0143, {1, {0x0144}}}, + { 0x0145, {1, {0x0146}}}, + { 0x0147, {1, {0x0148}}}, + { 0x0149, {2, {0x02bc, 0x006e}}}, + { 0x014a, {1, {0x014b}}}, + { 0x014c, {1, {0x014d}}}, + { 0x014e, {1, {0x014f}}}, + { 0x0150, {1, {0x0151}}}, + { 0x0152, {1, {0x0153}}}, + { 0x0154, {1, {0x0155}}}, + { 0x0156, {1, {0x0157}}}, + { 0x0158, {1, {0x0159}}}, + { 0x015a, {1, {0x015b}}}, + { 0x015c, {1, {0x015d}}}, + { 0x015e, {1, {0x015f}}}, + { 0x0160, {1, {0x0161}}}, + { 0x0162, {1, {0x0163}}}, + { 0x0164, {1, {0x0165}}}, + { 0x0166, {1, {0x0167}}}, + { 0x0168, {1, {0x0169}}}, + { 0x016a, {1, {0x016b}}}, + { 0x016c, {1, {0x016d}}}, + { 0x016e, {1, {0x016f}}}, + { 0x0170, {1, {0x0171}}}, + { 0x0172, {1, {0x0173}}}, + { 0x0174, {1, {0x0175}}}, + { 0x0176, {1, {0x0177}}}, + { 0x0178, {1, {0x00ff}}}, + { 0x0179, {1, {0x017a}}}, + { 0x017b, {1, {0x017c}}}, + { 0x017d, {1, {0x017e}}}, + { 0x017f, {1, {0x0073}}}, + { 0x0181, {1, {0x0253}}}, + { 0x0182, {1, {0x0183}}}, + { 0x0184, {1, {0x0185}}}, + { 0x0186, {1, {0x0254}}}, + { 0x0187, {1, {0x0188}}}, + { 0x0189, {1, {0x0256}}}, + { 0x018a, {1, {0x0257}}}, + { 0x018b, {1, {0x018c}}}, + { 0x018e, {1, {0x01dd}}}, + { 0x018f, {1, {0x0259}}}, + { 0x0190, {1, {0x025b}}}, + { 0x0191, {1, {0x0192}}}, + { 0x0193, {1, {0x0260}}}, + { 0x0194, {1, {0x0263}}}, + { 0x0196, {1, {0x0269}}}, + { 0x0197, {1, {0x0268}}}, + { 0x0198, {1, {0x0199}}}, + { 0x019c, {1, {0x026f}}}, + { 0x019d, {1, {0x0272}}}, + { 0x019f, {1, {0x0275}}}, + { 0x01a0, {1, {0x01a1}}}, + { 0x01a2, {1, {0x01a3}}}, + { 0x01a4, {1, {0x01a5}}}, + { 0x01a6, {1, {0x0280}}}, + { 0x01a7, {1, {0x01a8}}}, + { 0x01a9, {1, {0x0283}}}, + { 0x01ac, {1, {0x01ad}}}, + { 0x01ae, {1, {0x0288}}}, + { 0x01af, {1, {0x01b0}}}, + { 0x01b1, {1, {0x028a}}}, + { 0x01b2, {1, {0x028b}}}, + { 0x01b3, {1, {0x01b4}}}, + { 0x01b5, {1, {0x01b6}}}, + { 0x01b7, {1, {0x0292}}}, + { 0x01b8, {1, {0x01b9}}}, + { 0x01bc, {1, {0x01bd}}}, + { 0x01c4, {1, {0x01c6}}}, + { 0x01c5, {1, {0x01c6}}}, + { 0x01c7, {1, {0x01c9}}}, + { 0x01c8, {1, {0x01c9}}}, + { 0x01ca, {1, {0x01cc}}}, + { 0x01cb, {1, {0x01cc}}}, + { 0x01cd, {1, {0x01ce}}}, + { 0x01cf, {1, {0x01d0}}}, + { 0x01d1, {1, {0x01d2}}}, + { 0x01d3, {1, {0x01d4}}}, + { 0x01d5, {1, {0x01d6}}}, + { 0x01d7, {1, {0x01d8}}}, + { 0x01d9, {1, {0x01da}}}, + { 0x01db, {1, {0x01dc}}}, + { 0x01de, {1, {0x01df}}}, + { 0x01e0, {1, {0x01e1}}}, + { 0x01e2, {1, {0x01e3}}}, + { 0x01e4, {1, {0x01e5}}}, + { 0x01e6, {1, {0x01e7}}}, + { 0x01e8, {1, {0x01e9}}}, + { 0x01ea, {1, {0x01eb}}}, + { 0x01ec, {1, {0x01ed}}}, + { 0x01ee, {1, {0x01ef}}}, + { 0x01f0, {2, {0x006a, 0x030c}}}, + { 0x01f1, {1, {0x01f3}}}, + { 0x01f2, {1, {0x01f3}}}, + { 0x01f4, {1, {0x01f5}}}, + { 0x01f6, {1, {0x0195}}}, + { 0x01f7, {1, {0x01bf}}}, + { 0x01f8, {1, {0x01f9}}}, + { 0x01fa, {1, {0x01fb}}}, + { 0x01fc, {1, {0x01fd}}}, + { 0x01fe, {1, {0x01ff}}}, + { 0x0200, {1, {0x0201}}}, + { 0x0202, {1, {0x0203}}}, + { 0x0204, {1, {0x0205}}}, + { 0x0206, {1, {0x0207}}}, + { 0x0208, {1, {0x0209}}}, + { 0x020a, {1, {0x020b}}}, + { 0x020c, {1, {0x020d}}}, + { 0x020e, {1, {0x020f}}}, + { 0x0210, {1, {0x0211}}}, + { 0x0212, {1, {0x0213}}}, + { 0x0214, {1, {0x0215}}}, + { 0x0216, {1, {0x0217}}}, + { 0x0218, {1, {0x0219}}}, + { 0x021a, {1, {0x021b}}}, + { 0x021c, {1, {0x021d}}}, + { 0x021e, {1, {0x021f}}}, + { 0x0220, {1, {0x019e}}}, + { 0x0222, {1, {0x0223}}}, + { 0x0224, {1, {0x0225}}}, + { 0x0226, {1, {0x0227}}}, + { 0x0228, {1, {0x0229}}}, + { 0x022a, {1, {0x022b}}}, + { 0x022c, {1, {0x022d}}}, + { 0x022e, {1, {0x022f}}}, + { 0x0230, {1, {0x0231}}}, + { 0x0232, {1, {0x0233}}}, + { 0x023a, {1, {0x2c65}}}, + { 0x023b, {1, {0x023c}}}, + { 0x023d, {1, {0x019a}}}, + { 0x023e, {1, {0x2c66}}}, + { 0x0241, {1, {0x0242}}}, + { 0x0243, {1, {0x0180}}}, + { 0x0244, {1, {0x0289}}}, + { 0x0245, {1, {0x028c}}}, + { 0x0246, {1, {0x0247}}}, + { 0x0248, {1, {0x0249}}}, + { 0x024a, {1, {0x024b}}}, + { 0x024c, {1, {0x024d}}}, + { 0x024e, {1, {0x024f}}}, + { 0x0345, {1, {0x03b9}}}, + { 0x0370, {1, {0x0371}}}, + { 0x0372, {1, {0x0373}}}, + { 0x0376, {1, {0x0377}}}, + { 0x0386, {1, {0x03ac}}}, + { 0x0388, {1, {0x03ad}}}, + { 0x0389, {1, {0x03ae}}}, + { 0x038a, {1, {0x03af}}}, + { 0x038c, {1, {0x03cc}}}, + { 0x038e, {1, {0x03cd}}}, + { 0x038f, {1, {0x03ce}}}, + { 0x0390, {3, {0x03b9, 0x0308, 0x0301}}}, + { 0x0391, {1, {0x03b1}}}, + { 0x0392, {1, {0x03b2}}}, + { 0x0393, {1, {0x03b3}}}, + { 0x0394, {1, {0x03b4}}}, + { 0x0395, {1, {0x03b5}}}, + { 0x0396, {1, {0x03b6}}}, + { 0x0397, {1, {0x03b7}}}, + { 0x0398, {1, {0x03b8}}}, + { 0x0399, {1, {0x03b9}}}, + { 0x039a, {1, {0x03ba}}}, + { 0x039b, {1, {0x03bb}}}, + { 0x039c, {1, {0x03bc}}}, + { 0x039d, {1, {0x03bd}}}, + { 0x039e, {1, {0x03be}}}, + { 0x039f, {1, {0x03bf}}}, + { 0x03a0, {1, {0x03c0}}}, + { 0x03a1, {1, {0x03c1}}}, + { 0x03a3, {1, {0x03c3}}}, + { 0x03a4, {1, {0x03c4}}}, + { 0x03a5, {1, {0x03c5}}}, + { 0x03a6, {1, {0x03c6}}}, + { 0x03a7, {1, {0x03c7}}}, + { 0x03a8, {1, {0x03c8}}}, + { 0x03a9, {1, {0x03c9}}}, + { 0x03aa, {1, {0x03ca}}}, + { 0x03ab, {1, {0x03cb}}}, + { 0x03b0, {3, {0x03c5, 0x0308, 0x0301}}}, + { 0x03c2, {1, {0x03c3}}}, + { 0x03cf, {1, {0x03d7}}}, + { 0x03d0, {1, {0x03b2}}}, + { 0x03d1, {1, {0x03b8}}}, + { 0x03d5, {1, {0x03c6}}}, + { 0x03d6, {1, {0x03c0}}}, + { 0x03d8, {1, {0x03d9}}}, + { 0x03da, {1, {0x03db}}}, + { 0x03dc, {1, {0x03dd}}}, + { 0x03de, {1, {0x03df}}}, + { 0x03e0, {1, {0x03e1}}}, + { 0x03e2, {1, {0x03e3}}}, + { 0x03e4, {1, {0x03e5}}}, + { 0x03e6, {1, {0x03e7}}}, + { 0x03e8, {1, {0x03e9}}}, + { 0x03ea, {1, {0x03eb}}}, + { 0x03ec, {1, {0x03ed}}}, + { 0x03ee, {1, {0x03ef}}}, + { 0x03f0, {1, {0x03ba}}}, + { 0x03f1, {1, {0x03c1}}}, + { 0x03f4, {1, {0x03b8}}}, + { 0x03f5, {1, {0x03b5}}}, + { 0x03f7, {1, {0x03f8}}}, + { 0x03f9, {1, {0x03f2}}}, + { 0x03fa, {1, {0x03fb}}}, + { 0x03fd, {1, {0x037b}}}, + { 0x03fe, {1, {0x037c}}}, + { 0x03ff, {1, {0x037d}}}, + { 0x0400, {1, {0x0450}}}, + { 0x0401, {1, {0x0451}}}, + { 0x0402, {1, {0x0452}}}, + { 0x0403, {1, {0x0453}}}, + { 0x0404, {1, {0x0454}}}, + { 0x0405, {1, {0x0455}}}, + { 0x0406, {1, {0x0456}}}, + { 0x0407, {1, {0x0457}}}, + { 0x0408, {1, {0x0458}}}, + { 0x0409, {1, {0x0459}}}, + { 0x040a, {1, {0x045a}}}, + { 0x040b, {1, {0x045b}}}, + { 0x040c, {1, {0x045c}}}, + { 0x040d, {1, {0x045d}}}, + { 0x040e, {1, {0x045e}}}, + { 0x040f, {1, {0x045f}}}, + { 0x0410, {1, {0x0430}}}, + { 0x0411, {1, {0x0431}}}, + { 0x0412, {1, {0x0432}}}, + { 0x0413, {1, {0x0433}}}, + { 0x0414, {1, {0x0434}}}, + { 0x0415, {1, {0x0435}}}, + { 0x0416, {1, {0x0436}}}, + { 0x0417, {1, {0x0437}}}, + { 0x0418, {1, {0x0438}}}, + { 0x0419, {1, {0x0439}}}, + { 0x041a, {1, {0x043a}}}, + { 0x041b, {1, {0x043b}}}, + { 0x041c, {1, {0x043c}}}, + { 0x041d, {1, {0x043d}}}, + { 0x041e, {1, {0x043e}}}, + { 0x041f, {1, {0x043f}}}, + { 0x0420, {1, {0x0440}}}, + { 0x0421, {1, {0x0441}}}, + { 0x0422, {1, {0x0442}}}, + { 0x0423, {1, {0x0443}}}, + { 0x0424, {1, {0x0444}}}, + { 0x0425, {1, {0x0445}}}, + { 0x0426, {1, {0x0446}}}, + { 0x0427, {1, {0x0447}}}, + { 0x0428, {1, {0x0448}}}, + { 0x0429, {1, {0x0449}}}, + { 0x042a, {1, {0x044a}}}, + { 0x042b, {1, {0x044b}}}, + { 0x042c, {1, {0x044c}}}, + { 0x042d, {1, {0x044d}}}, + { 0x042e, {1, {0x044e}}}, + { 0x042f, {1, {0x044f}}}, + { 0x0460, {1, {0x0461}}}, + { 0x0462, {1, {0x0463}}}, + { 0x0464, {1, {0x0465}}}, + { 0x0466, {1, {0x0467}}}, + { 0x0468, {1, {0x0469}}}, + { 0x046a, {1, {0x046b}}}, + { 0x046c, {1, {0x046d}}}, + { 0x046e, {1, {0x046f}}}, + { 0x0470, {1, {0x0471}}}, + { 0x0472, {1, {0x0473}}}, + { 0x0474, {1, {0x0475}}}, + { 0x0476, {1, {0x0477}}}, + { 0x0478, {1, {0x0479}}}, + { 0x047a, {1, {0x047b}}}, + { 0x047c, {1, {0x047d}}}, + { 0x047e, {1, {0x047f}}}, + { 0x0480, {1, {0x0481}}}, + { 0x048a, {1, {0x048b}}}, + { 0x048c, {1, {0x048d}}}, + { 0x048e, {1, {0x048f}}}, + { 0x0490, {1, {0x0491}}}, + { 0x0492, {1, {0x0493}}}, + { 0x0494, {1, {0x0495}}}, + { 0x0496, {1, {0x0497}}}, + { 0x0498, {1, {0x0499}}}, + { 0x049a, {1, {0x049b}}}, + { 0x049c, {1, {0x049d}}}, + { 0x049e, {1, {0x049f}}}, + { 0x04a0, {1, {0x04a1}}}, + { 0x04a2, {1, {0x04a3}}}, + { 0x04a4, {1, {0x04a5}}}, + { 0x04a6, {1, {0x04a7}}}, + { 0x04a8, {1, {0x04a9}}}, + { 0x04aa, {1, {0x04ab}}}, + { 0x04ac, {1, {0x04ad}}}, + { 0x04ae, {1, {0x04af}}}, + { 0x04b0, {1, {0x04b1}}}, + { 0x04b2, {1, {0x04b3}}}, + { 0x04b4, {1, {0x04b5}}}, + { 0x04b6, {1, {0x04b7}}}, + { 0x04b8, {1, {0x04b9}}}, + { 0x04ba, {1, {0x04bb}}}, + { 0x04bc, {1, {0x04bd}}}, + { 0x04be, {1, {0x04bf}}}, + { 0x04c0, {1, {0x04cf}}}, + { 0x04c1, {1, {0x04c2}}}, + { 0x04c3, {1, {0x04c4}}}, + { 0x04c5, {1, {0x04c6}}}, + { 0x04c7, {1, {0x04c8}}}, + { 0x04c9, {1, {0x04ca}}}, + { 0x04cb, {1, {0x04cc}}}, + { 0x04cd, {1, {0x04ce}}}, + { 0x04d0, {1, {0x04d1}}}, + { 0x04d2, {1, {0x04d3}}}, + { 0x04d4, {1, {0x04d5}}}, + { 0x04d6, {1, {0x04d7}}}, + { 0x04d8, {1, {0x04d9}}}, + { 0x04da, {1, {0x04db}}}, + { 0x04dc, {1, {0x04dd}}}, + { 0x04de, {1, {0x04df}}}, + { 0x04e0, {1, {0x04e1}}}, + { 0x04e2, {1, {0x04e3}}}, + { 0x04e4, {1, {0x04e5}}}, + { 0x04e6, {1, {0x04e7}}}, + { 0x04e8, {1, {0x04e9}}}, + { 0x04ea, {1, {0x04eb}}}, + { 0x04ec, {1, {0x04ed}}}, + { 0x04ee, {1, {0x04ef}}}, + { 0x04f0, {1, {0x04f1}}}, + { 0x04f2, {1, {0x04f3}}}, + { 0x04f4, {1, {0x04f5}}}, + { 0x04f6, {1, {0x04f7}}}, + { 0x04f8, {1, {0x04f9}}}, + { 0x04fa, {1, {0x04fb}}}, + { 0x04fc, {1, {0x04fd}}}, + { 0x04fe, {1, {0x04ff}}}, + { 0x0500, {1, {0x0501}}}, + { 0x0502, {1, {0x0503}}}, + { 0x0504, {1, {0x0505}}}, + { 0x0506, {1, {0x0507}}}, + { 0x0508, {1, {0x0509}}}, + { 0x050a, {1, {0x050b}}}, + { 0x050c, {1, {0x050d}}}, + { 0x050e, {1, {0x050f}}}, + { 0x0510, {1, {0x0511}}}, + { 0x0512, {1, {0x0513}}}, + { 0x0514, {1, {0x0515}}}, + { 0x0516, {1, {0x0517}}}, + { 0x0518, {1, {0x0519}}}, + { 0x051a, {1, {0x051b}}}, + { 0x051c, {1, {0x051d}}}, + { 0x051e, {1, {0x051f}}}, + { 0x0520, {1, {0x0521}}}, + { 0x0522, {1, {0x0523}}}, + { 0x0524, {1, {0x0525}}}, + { 0x0526, {1, {0x0527}}}, + { 0x0531, {1, {0x0561}}}, + { 0x0532, {1, {0x0562}}}, + { 0x0533, {1, {0x0563}}}, + { 0x0534, {1, {0x0564}}}, + { 0x0535, {1, {0x0565}}}, + { 0x0536, {1, {0x0566}}}, + { 0x0537, {1, {0x0567}}}, + { 0x0538, {1, {0x0568}}}, + { 0x0539, {1, {0x0569}}}, + { 0x053a, {1, {0x056a}}}, + { 0x053b, {1, {0x056b}}}, + { 0x053c, {1, {0x056c}}}, + { 0x053d, {1, {0x056d}}}, + { 0x053e, {1, {0x056e}}}, + { 0x053f, {1, {0x056f}}}, + { 0x0540, {1, {0x0570}}}, + { 0x0541, {1, {0x0571}}}, + { 0x0542, {1, {0x0572}}}, + { 0x0543, {1, {0x0573}}}, + { 0x0544, {1, {0x0574}}}, + { 0x0545, {1, {0x0575}}}, + { 0x0546, {1, {0x0576}}}, + { 0x0547, {1, {0x0577}}}, + { 0x0548, {1, {0x0578}}}, + { 0x0549, {1, {0x0579}}}, + { 0x054a, {1, {0x057a}}}, + { 0x054b, {1, {0x057b}}}, + { 0x054c, {1, {0x057c}}}, + { 0x054d, {1, {0x057d}}}, + { 0x054e, {1, {0x057e}}}, + { 0x054f, {1, {0x057f}}}, + { 0x0550, {1, {0x0580}}}, + { 0x0551, {1, {0x0581}}}, + { 0x0552, {1, {0x0582}}}, + { 0x0553, {1, {0x0583}}}, + { 0x0554, {1, {0x0584}}}, + { 0x0555, {1, {0x0585}}}, + { 0x0556, {1, {0x0586}}}, + { 0x0587, {2, {0x0565, 0x0582}}}, + { 0x10a0, {1, {0x2d00}}}, + { 0x10a1, {1, {0x2d01}}}, + { 0x10a2, {1, {0x2d02}}}, + { 0x10a3, {1, {0x2d03}}}, + { 0x10a4, {1, {0x2d04}}}, + { 0x10a5, {1, {0x2d05}}}, + { 0x10a6, {1, {0x2d06}}}, + { 0x10a7, {1, {0x2d07}}}, + { 0x10a8, {1, {0x2d08}}}, + { 0x10a9, {1, {0x2d09}}}, + { 0x10aa, {1, {0x2d0a}}}, + { 0x10ab, {1, {0x2d0b}}}, + { 0x10ac, {1, {0x2d0c}}}, + { 0x10ad, {1, {0x2d0d}}}, + { 0x10ae, {1, {0x2d0e}}}, + { 0x10af, {1, {0x2d0f}}}, + { 0x10b0, {1, {0x2d10}}}, + { 0x10b1, {1, {0x2d11}}}, + { 0x10b2, {1, {0x2d12}}}, + { 0x10b3, {1, {0x2d13}}}, + { 0x10b4, {1, {0x2d14}}}, + { 0x10b5, {1, {0x2d15}}}, + { 0x10b6, {1, {0x2d16}}}, + { 0x10b7, {1, {0x2d17}}}, + { 0x10b8, {1, {0x2d18}}}, + { 0x10b9, {1, {0x2d19}}}, + { 0x10ba, {1, {0x2d1a}}}, + { 0x10bb, {1, {0x2d1b}}}, + { 0x10bc, {1, {0x2d1c}}}, + { 0x10bd, {1, {0x2d1d}}}, + { 0x10be, {1, {0x2d1e}}}, + { 0x10bf, {1, {0x2d1f}}}, + { 0x10c0, {1, {0x2d20}}}, + { 0x10c1, {1, {0x2d21}}}, + { 0x10c2, {1, {0x2d22}}}, + { 0x10c3, {1, {0x2d23}}}, + { 0x10c4, {1, {0x2d24}}}, + { 0x10c5, {1, {0x2d25}}}, + { 0x10c7, {1, {0x2d27}}}, + { 0x10cd, {1, {0x2d2d}}}, + { 0x1e00, {1, {0x1e01}}}, + { 0x1e02, {1, {0x1e03}}}, + { 0x1e04, {1, {0x1e05}}}, + { 0x1e06, {1, {0x1e07}}}, + { 0x1e08, {1, {0x1e09}}}, + { 0x1e0a, {1, {0x1e0b}}}, + { 0x1e0c, {1, {0x1e0d}}}, + { 0x1e0e, {1, {0x1e0f}}}, + { 0x1e10, {1, {0x1e11}}}, + { 0x1e12, {1, {0x1e13}}}, + { 0x1e14, {1, {0x1e15}}}, + { 0x1e16, {1, {0x1e17}}}, + { 0x1e18, {1, {0x1e19}}}, + { 0x1e1a, {1, {0x1e1b}}}, + { 0x1e1c, {1, {0x1e1d}}}, + { 0x1e1e, {1, {0x1e1f}}}, + { 0x1e20, {1, {0x1e21}}}, + { 0x1e22, {1, {0x1e23}}}, + { 0x1e24, {1, {0x1e25}}}, + { 0x1e26, {1, {0x1e27}}}, + { 0x1e28, {1, {0x1e29}}}, + { 0x1e2a, {1, {0x1e2b}}}, + { 0x1e2c, {1, {0x1e2d}}}, + { 0x1e2e, {1, {0x1e2f}}}, + { 0x1e30, {1, {0x1e31}}}, + { 0x1e32, {1, {0x1e33}}}, + { 0x1e34, {1, {0x1e35}}}, + { 0x1e36, {1, {0x1e37}}}, + { 0x1e38, {1, {0x1e39}}}, + { 0x1e3a, {1, {0x1e3b}}}, + { 0x1e3c, {1, {0x1e3d}}}, + { 0x1e3e, {1, {0x1e3f}}}, + { 0x1e40, {1, {0x1e41}}}, + { 0x1e42, {1, {0x1e43}}}, + { 0x1e44, {1, {0x1e45}}}, + { 0x1e46, {1, {0x1e47}}}, + { 0x1e48, {1, {0x1e49}}}, + { 0x1e4a, {1, {0x1e4b}}}, + { 0x1e4c, {1, {0x1e4d}}}, + { 0x1e4e, {1, {0x1e4f}}}, + { 0x1e50, {1, {0x1e51}}}, + { 0x1e52, {1, {0x1e53}}}, + { 0x1e54, {1, {0x1e55}}}, + { 0x1e56, {1, {0x1e57}}}, + { 0x1e58, {1, {0x1e59}}}, + { 0x1e5a, {1, {0x1e5b}}}, + { 0x1e5c, {1, {0x1e5d}}}, + { 0x1e5e, {1, {0x1e5f}}}, + { 0x1e60, {1, {0x1e61}}}, + { 0x1e62, {1, {0x1e63}}}, + { 0x1e64, {1, {0x1e65}}}, + { 0x1e66, {1, {0x1e67}}}, + { 0x1e68, {1, {0x1e69}}}, + { 0x1e6a, {1, {0x1e6b}}}, + { 0x1e6c, {1, {0x1e6d}}}, + { 0x1e6e, {1, {0x1e6f}}}, + { 0x1e70, {1, {0x1e71}}}, + { 0x1e72, {1, {0x1e73}}}, + { 0x1e74, {1, {0x1e75}}}, + { 0x1e76, {1, {0x1e77}}}, + { 0x1e78, {1, {0x1e79}}}, + { 0x1e7a, {1, {0x1e7b}}}, + { 0x1e7c, {1, {0x1e7d}}}, + { 0x1e7e, {1, {0x1e7f}}}, + { 0x1e80, {1, {0x1e81}}}, + { 0x1e82, {1, {0x1e83}}}, + { 0x1e84, {1, {0x1e85}}}, + { 0x1e86, {1, {0x1e87}}}, + { 0x1e88, {1, {0x1e89}}}, + { 0x1e8a, {1, {0x1e8b}}}, + { 0x1e8c, {1, {0x1e8d}}}, + { 0x1e8e, {1, {0x1e8f}}}, + { 0x1e90, {1, {0x1e91}}}, + { 0x1e92, {1, {0x1e93}}}, + { 0x1e94, {1, {0x1e95}}}, + { 0x1e96, {2, {0x0068, 0x0331}}}, + { 0x1e97, {2, {0x0074, 0x0308}}}, + { 0x1e98, {2, {0x0077, 0x030a}}}, + { 0x1e99, {2, {0x0079, 0x030a}}}, + { 0x1e9a, {2, {0x0061, 0x02be}}}, + { 0x1e9b, {1, {0x1e61}}}, + { 0x1e9e, {2, {0x0073, 0x0073}}}, + { 0x1ea0, {1, {0x1ea1}}}, + { 0x1ea2, {1, {0x1ea3}}}, + { 0x1ea4, {1, {0x1ea5}}}, + { 0x1ea6, {1, {0x1ea7}}}, + { 0x1ea8, {1, {0x1ea9}}}, + { 0x1eaa, {1, {0x1eab}}}, + { 0x1eac, {1, {0x1ead}}}, + { 0x1eae, {1, {0x1eaf}}}, + { 0x1eb0, {1, {0x1eb1}}}, + { 0x1eb2, {1, {0x1eb3}}}, + { 0x1eb4, {1, {0x1eb5}}}, + { 0x1eb6, {1, {0x1eb7}}}, + { 0x1eb8, {1, {0x1eb9}}}, + { 0x1eba, {1, {0x1ebb}}}, + { 0x1ebc, {1, {0x1ebd}}}, + { 0x1ebe, {1, {0x1ebf}}}, + { 0x1ec0, {1, {0x1ec1}}}, + { 0x1ec2, {1, {0x1ec3}}}, + { 0x1ec4, {1, {0x1ec5}}}, + { 0x1ec6, {1, {0x1ec7}}}, + { 0x1ec8, {1, {0x1ec9}}}, + { 0x1eca, {1, {0x1ecb}}}, + { 0x1ecc, {1, {0x1ecd}}}, + { 0x1ece, {1, {0x1ecf}}}, + { 0x1ed0, {1, {0x1ed1}}}, + { 0x1ed2, {1, {0x1ed3}}}, + { 0x1ed4, {1, {0x1ed5}}}, + { 0x1ed6, {1, {0x1ed7}}}, + { 0x1ed8, {1, {0x1ed9}}}, + { 0x1eda, {1, {0x1edb}}}, + { 0x1edc, {1, {0x1edd}}}, + { 0x1ede, {1, {0x1edf}}}, + { 0x1ee0, {1, {0x1ee1}}}, + { 0x1ee2, {1, {0x1ee3}}}, + { 0x1ee4, {1, {0x1ee5}}}, + { 0x1ee6, {1, {0x1ee7}}}, + { 0x1ee8, {1, {0x1ee9}}}, + { 0x1eea, {1, {0x1eeb}}}, + { 0x1eec, {1, {0x1eed}}}, + { 0x1eee, {1, {0x1eef}}}, + { 0x1ef0, {1, {0x1ef1}}}, + { 0x1ef2, {1, {0x1ef3}}}, + { 0x1ef4, {1, {0x1ef5}}}, + { 0x1ef6, {1, {0x1ef7}}}, + { 0x1ef8, {1, {0x1ef9}}}, + { 0x1efa, {1, {0x1efb}}}, + { 0x1efc, {1, {0x1efd}}}, + { 0x1efe, {1, {0x1eff}}}, + { 0x1f08, {1, {0x1f00}}}, + { 0x1f09, {1, {0x1f01}}}, + { 0x1f0a, {1, {0x1f02}}}, + { 0x1f0b, {1, {0x1f03}}}, + { 0x1f0c, {1, {0x1f04}}}, + { 0x1f0d, {1, {0x1f05}}}, + { 0x1f0e, {1, {0x1f06}}}, + { 0x1f0f, {1, {0x1f07}}}, + { 0x1f18, {1, {0x1f10}}}, + { 0x1f19, {1, {0x1f11}}}, + { 0x1f1a, {1, {0x1f12}}}, + { 0x1f1b, {1, {0x1f13}}}, + { 0x1f1c, {1, {0x1f14}}}, + { 0x1f1d, {1, {0x1f15}}}, + { 0x1f28, {1, {0x1f20}}}, + { 0x1f29, {1, {0x1f21}}}, + { 0x1f2a, {1, {0x1f22}}}, + { 0x1f2b, {1, {0x1f23}}}, + { 0x1f2c, {1, {0x1f24}}}, + { 0x1f2d, {1, {0x1f25}}}, + { 0x1f2e, {1, {0x1f26}}}, + { 0x1f2f, {1, {0x1f27}}}, + { 0x1f38, {1, {0x1f30}}}, + { 0x1f39, {1, {0x1f31}}}, + { 0x1f3a, {1, {0x1f32}}}, + { 0x1f3b, {1, {0x1f33}}}, + { 0x1f3c, {1, {0x1f34}}}, + { 0x1f3d, {1, {0x1f35}}}, + { 0x1f3e, {1, {0x1f36}}}, + { 0x1f3f, {1, {0x1f37}}}, + { 0x1f48, {1, {0x1f40}}}, + { 0x1f49, {1, {0x1f41}}}, + { 0x1f4a, {1, {0x1f42}}}, + { 0x1f4b, {1, {0x1f43}}}, + { 0x1f4c, {1, {0x1f44}}}, + { 0x1f4d, {1, {0x1f45}}}, + { 0x1f50, {2, {0x03c5, 0x0313}}}, + { 0x1f52, {3, {0x03c5, 0x0313, 0x0300}}}, + { 0x1f54, {3, {0x03c5, 0x0313, 0x0301}}}, + { 0x1f56, {3, {0x03c5, 0x0313, 0x0342}}}, + { 0x1f59, {1, {0x1f51}}}, + { 0x1f5b, {1, {0x1f53}}}, + { 0x1f5d, {1, {0x1f55}}}, + { 0x1f5f, {1, {0x1f57}}}, + { 0x1f68, {1, {0x1f60}}}, + { 0x1f69, {1, {0x1f61}}}, + { 0x1f6a, {1, {0x1f62}}}, + { 0x1f6b, {1, {0x1f63}}}, + { 0x1f6c, {1, {0x1f64}}}, + { 0x1f6d, {1, {0x1f65}}}, + { 0x1f6e, {1, {0x1f66}}}, + { 0x1f6f, {1, {0x1f67}}}, + { 0x1f80, {2, {0x1f00, 0x03b9}}}, + { 0x1f81, {2, {0x1f01, 0x03b9}}}, + { 0x1f82, {2, {0x1f02, 0x03b9}}}, + { 0x1f83, {2, {0x1f03, 0x03b9}}}, + { 0x1f84, {2, {0x1f04, 0x03b9}}}, + { 0x1f85, {2, {0x1f05, 0x03b9}}}, + { 0x1f86, {2, {0x1f06, 0x03b9}}}, + { 0x1f87, {2, {0x1f07, 0x03b9}}}, + { 0x1f88, {2, {0x1f00, 0x03b9}}}, + { 0x1f89, {2, {0x1f01, 0x03b9}}}, + { 0x1f8a, {2, {0x1f02, 0x03b9}}}, + { 0x1f8b, {2, {0x1f03, 0x03b9}}}, + { 0x1f8c, {2, {0x1f04, 0x03b9}}}, + { 0x1f8d, {2, {0x1f05, 0x03b9}}}, + { 0x1f8e, {2, {0x1f06, 0x03b9}}}, + { 0x1f8f, {2, {0x1f07, 0x03b9}}}, + { 0x1f90, {2, {0x1f20, 0x03b9}}}, + { 0x1f91, {2, {0x1f21, 0x03b9}}}, + { 0x1f92, {2, {0x1f22, 0x03b9}}}, + { 0x1f93, {2, {0x1f23, 0x03b9}}}, + { 0x1f94, {2, {0x1f24, 0x03b9}}}, + { 0x1f95, {2, {0x1f25, 0x03b9}}}, + { 0x1f96, {2, {0x1f26, 0x03b9}}}, + { 0x1f97, {2, {0x1f27, 0x03b9}}}, + { 0x1f98, {2, {0x1f20, 0x03b9}}}, + { 0x1f99, {2, {0x1f21, 0x03b9}}}, + { 0x1f9a, {2, {0x1f22, 0x03b9}}}, + { 0x1f9b, {2, {0x1f23, 0x03b9}}}, + { 0x1f9c, {2, {0x1f24, 0x03b9}}}, + { 0x1f9d, {2, {0x1f25, 0x03b9}}}, + { 0x1f9e, {2, {0x1f26, 0x03b9}}}, + { 0x1f9f, {2, {0x1f27, 0x03b9}}}, + { 0x1fa0, {2, {0x1f60, 0x03b9}}}, + { 0x1fa1, {2, {0x1f61, 0x03b9}}}, + { 0x1fa2, {2, {0x1f62, 0x03b9}}}, + { 0x1fa3, {2, {0x1f63, 0x03b9}}}, + { 0x1fa4, {2, {0x1f64, 0x03b9}}}, + { 0x1fa5, {2, {0x1f65, 0x03b9}}}, + { 0x1fa6, {2, {0x1f66, 0x03b9}}}, + { 0x1fa7, {2, {0x1f67, 0x03b9}}}, + { 0x1fa8, {2, {0x1f60, 0x03b9}}}, + { 0x1fa9, {2, {0x1f61, 0x03b9}}}, + { 0x1faa, {2, {0x1f62, 0x03b9}}}, + { 0x1fab, {2, {0x1f63, 0x03b9}}}, + { 0x1fac, {2, {0x1f64, 0x03b9}}}, + { 0x1fad, {2, {0x1f65, 0x03b9}}}, + { 0x1fae, {2, {0x1f66, 0x03b9}}}, + { 0x1faf, {2, {0x1f67, 0x03b9}}}, + { 0x1fb2, {2, {0x1f70, 0x03b9}}}, + { 0x1fb3, {2, {0x03b1, 0x03b9}}}, + { 0x1fb4, {2, {0x03ac, 0x03b9}}}, + { 0x1fb6, {2, {0x03b1, 0x0342}}}, + { 0x1fb7, {3, {0x03b1, 0x0342, 0x03b9}}}, + { 0x1fb8, {1, {0x1fb0}}}, + { 0x1fb9, {1, {0x1fb1}}}, + { 0x1fba, {1, {0x1f70}}}, + { 0x1fbb, {1, {0x1f71}}}, + { 0x1fbc, {2, {0x03b1, 0x03b9}}}, + { 0x1fbe, {1, {0x03b9}}}, + { 0x1fc2, {2, {0x1f74, 0x03b9}}}, + { 0x1fc3, {2, {0x03b7, 0x03b9}}}, + { 0x1fc4, {2, {0x03ae, 0x03b9}}}, + { 0x1fc6, {2, {0x03b7, 0x0342}}}, + { 0x1fc7, {3, {0x03b7, 0x0342, 0x03b9}}}, + { 0x1fc8, {1, {0x1f72}}}, + { 0x1fc9, {1, {0x1f73}}}, + { 0x1fca, {1, {0x1f74}}}, + { 0x1fcb, {1, {0x1f75}}}, + { 0x1fcc, {2, {0x03b7, 0x03b9}}}, + { 0x1fd2, {3, {0x03b9, 0x0308, 0x0300}}}, + { 0x1fd3, {3, {0x03b9, 0x0308, 0x0301}}}, + { 0x1fd6, {2, {0x03b9, 0x0342}}}, + { 0x1fd7, {3, {0x03b9, 0x0308, 0x0342}}}, + { 0x1fd8, {1, {0x1fd0}}}, + { 0x1fd9, {1, {0x1fd1}}}, + { 0x1fda, {1, {0x1f76}}}, + { 0x1fdb, {1, {0x1f77}}}, + { 0x1fe2, {3, {0x03c5, 0x0308, 0x0300}}}, + { 0x1fe3, {3, {0x03c5, 0x0308, 0x0301}}}, + { 0x1fe4, {2, {0x03c1, 0x0313}}}, + { 0x1fe6, {2, {0x03c5, 0x0342}}}, + { 0x1fe7, {3, {0x03c5, 0x0308, 0x0342}}}, + { 0x1fe8, {1, {0x1fe0}}}, + { 0x1fe9, {1, {0x1fe1}}}, + { 0x1fea, {1, {0x1f7a}}}, + { 0x1feb, {1, {0x1f7b}}}, + { 0x1fec, {1, {0x1fe5}}}, + { 0x1ff2, {2, {0x1f7c, 0x03b9}}}, + { 0x1ff3, {2, {0x03c9, 0x03b9}}}, + { 0x1ff4, {2, {0x03ce, 0x03b9}}}, + { 0x1ff6, {2, {0x03c9, 0x0342}}}, + { 0x1ff7, {3, {0x03c9, 0x0342, 0x03b9}}}, + { 0x1ff8, {1, {0x1f78}}}, + { 0x1ff9, {1, {0x1f79}}}, + { 0x1ffa, {1, {0x1f7c}}}, + { 0x1ffb, {1, {0x1f7d}}}, + { 0x1ffc, {2, {0x03c9, 0x03b9}}}, + { 0x2126, {1, {0x03c9}}}, + { 0x212a, {1, {0x006b}}}, + { 0x212b, {1, {0x00e5}}}, + { 0x2132, {1, {0x214e}}}, + { 0x2160, {1, {0x2170}}}, + { 0x2161, {1, {0x2171}}}, + { 0x2162, {1, {0x2172}}}, + { 0x2163, {1, {0x2173}}}, + { 0x2164, {1, {0x2174}}}, + { 0x2165, {1, {0x2175}}}, + { 0x2166, {1, {0x2176}}}, + { 0x2167, {1, {0x2177}}}, + { 0x2168, {1, {0x2178}}}, + { 0x2169, {1, {0x2179}}}, + { 0x216a, {1, {0x217a}}}, + { 0x216b, {1, {0x217b}}}, + { 0x216c, {1, {0x217c}}}, + { 0x216d, {1, {0x217d}}}, + { 0x216e, {1, {0x217e}}}, + { 0x216f, {1, {0x217f}}}, + { 0x2183, {1, {0x2184}}}, + { 0x24b6, {1, {0x24d0}}}, + { 0x24b7, {1, {0x24d1}}}, + { 0x24b8, {1, {0x24d2}}}, + { 0x24b9, {1, {0x24d3}}}, + { 0x24ba, {1, {0x24d4}}}, + { 0x24bb, {1, {0x24d5}}}, + { 0x24bc, {1, {0x24d6}}}, + { 0x24bd, {1, {0x24d7}}}, + { 0x24be, {1, {0x24d8}}}, + { 0x24bf, {1, {0x24d9}}}, + { 0x24c0, {1, {0x24da}}}, + { 0x24c1, {1, {0x24db}}}, + { 0x24c2, {1, {0x24dc}}}, + { 0x24c3, {1, {0x24dd}}}, + { 0x24c4, {1, {0x24de}}}, + { 0x24c5, {1, {0x24df}}}, + { 0x24c6, {1, {0x24e0}}}, + { 0x24c7, {1, {0x24e1}}}, + { 0x24c8, {1, {0x24e2}}}, + { 0x24c9, {1, {0x24e3}}}, + { 0x24ca, {1, {0x24e4}}}, + { 0x24cb, {1, {0x24e5}}}, + { 0x24cc, {1, {0x24e6}}}, + { 0x24cd, {1, {0x24e7}}}, + { 0x24ce, {1, {0x24e8}}}, + { 0x24cf, {1, {0x24e9}}}, + { 0x2c00, {1, {0x2c30}}}, + { 0x2c01, {1, {0x2c31}}}, + { 0x2c02, {1, {0x2c32}}}, + { 0x2c03, {1, {0x2c33}}}, + { 0x2c04, {1, {0x2c34}}}, + { 0x2c05, {1, {0x2c35}}}, + { 0x2c06, {1, {0x2c36}}}, + { 0x2c07, {1, {0x2c37}}}, + { 0x2c08, {1, {0x2c38}}}, + { 0x2c09, {1, {0x2c39}}}, + { 0x2c0a, {1, {0x2c3a}}}, + { 0x2c0b, {1, {0x2c3b}}}, + { 0x2c0c, {1, {0x2c3c}}}, + { 0x2c0d, {1, {0x2c3d}}}, + { 0x2c0e, {1, {0x2c3e}}}, + { 0x2c0f, {1, {0x2c3f}}}, + { 0x2c10, {1, {0x2c40}}}, + { 0x2c11, {1, {0x2c41}}}, + { 0x2c12, {1, {0x2c42}}}, + { 0x2c13, {1, {0x2c43}}}, + { 0x2c14, {1, {0x2c44}}}, + { 0x2c15, {1, {0x2c45}}}, + { 0x2c16, {1, {0x2c46}}}, + { 0x2c17, {1, {0x2c47}}}, + { 0x2c18, {1, {0x2c48}}}, + { 0x2c19, {1, {0x2c49}}}, + { 0x2c1a, {1, {0x2c4a}}}, + { 0x2c1b, {1, {0x2c4b}}}, + { 0x2c1c, {1, {0x2c4c}}}, + { 0x2c1d, {1, {0x2c4d}}}, + { 0x2c1e, {1, {0x2c4e}}}, + { 0x2c1f, {1, {0x2c4f}}}, + { 0x2c20, {1, {0x2c50}}}, + { 0x2c21, {1, {0x2c51}}}, + { 0x2c22, {1, {0x2c52}}}, + { 0x2c23, {1, {0x2c53}}}, + { 0x2c24, {1, {0x2c54}}}, + { 0x2c25, {1, {0x2c55}}}, + { 0x2c26, {1, {0x2c56}}}, + { 0x2c27, {1, {0x2c57}}}, + { 0x2c28, {1, {0x2c58}}}, + { 0x2c29, {1, {0x2c59}}}, + { 0x2c2a, {1, {0x2c5a}}}, + { 0x2c2b, {1, {0x2c5b}}}, + { 0x2c2c, {1, {0x2c5c}}}, + { 0x2c2d, {1, {0x2c5d}}}, + { 0x2c2e, {1, {0x2c5e}}}, + { 0x2c60, {1, {0x2c61}}}, + { 0x2c62, {1, {0x026b}}}, + { 0x2c63, {1, {0x1d7d}}}, + { 0x2c64, {1, {0x027d}}}, + { 0x2c67, {1, {0x2c68}}}, + { 0x2c69, {1, {0x2c6a}}}, + { 0x2c6b, {1, {0x2c6c}}}, + { 0x2c6d, {1, {0x0251}}}, + { 0x2c6e, {1, {0x0271}}}, + { 0x2c6f, {1, {0x0250}}}, + { 0x2c70, {1, {0x0252}}}, + { 0x2c72, {1, {0x2c73}}}, + { 0x2c75, {1, {0x2c76}}}, + { 0x2c7e, {1, {0x023f}}}, + { 0x2c7f, {1, {0x0240}}}, + { 0x2c80, {1, {0x2c81}}}, + { 0x2c82, {1, {0x2c83}}}, + { 0x2c84, {1, {0x2c85}}}, + { 0x2c86, {1, {0x2c87}}}, + { 0x2c88, {1, {0x2c89}}}, + { 0x2c8a, {1, {0x2c8b}}}, + { 0x2c8c, {1, {0x2c8d}}}, + { 0x2c8e, {1, {0x2c8f}}}, + { 0x2c90, {1, {0x2c91}}}, + { 0x2c92, {1, {0x2c93}}}, + { 0x2c94, {1, {0x2c95}}}, + { 0x2c96, {1, {0x2c97}}}, + { 0x2c98, {1, {0x2c99}}}, + { 0x2c9a, {1, {0x2c9b}}}, + { 0x2c9c, {1, {0x2c9d}}}, + { 0x2c9e, {1, {0x2c9f}}}, + { 0x2ca0, {1, {0x2ca1}}}, + { 0x2ca2, {1, {0x2ca3}}}, + { 0x2ca4, {1, {0x2ca5}}}, + { 0x2ca6, {1, {0x2ca7}}}, + { 0x2ca8, {1, {0x2ca9}}}, + { 0x2caa, {1, {0x2cab}}}, + { 0x2cac, {1, {0x2cad}}}, + { 0x2cae, {1, {0x2caf}}}, + { 0x2cb0, {1, {0x2cb1}}}, + { 0x2cb2, {1, {0x2cb3}}}, + { 0x2cb4, {1, {0x2cb5}}}, + { 0x2cb6, {1, {0x2cb7}}}, + { 0x2cb8, {1, {0x2cb9}}}, + { 0x2cba, {1, {0x2cbb}}}, + { 0x2cbc, {1, {0x2cbd}}}, + { 0x2cbe, {1, {0x2cbf}}}, + { 0x2cc0, {1, {0x2cc1}}}, + { 0x2cc2, {1, {0x2cc3}}}, + { 0x2cc4, {1, {0x2cc5}}}, + { 0x2cc6, {1, {0x2cc7}}}, + { 0x2cc8, {1, {0x2cc9}}}, + { 0x2cca, {1, {0x2ccb}}}, + { 0x2ccc, {1, {0x2ccd}}}, + { 0x2cce, {1, {0x2ccf}}}, + { 0x2cd0, {1, {0x2cd1}}}, + { 0x2cd2, {1, {0x2cd3}}}, + { 0x2cd4, {1, {0x2cd5}}}, + { 0x2cd6, {1, {0x2cd7}}}, + { 0x2cd8, {1, {0x2cd9}}}, + { 0x2cda, {1, {0x2cdb}}}, + { 0x2cdc, {1, {0x2cdd}}}, + { 0x2cde, {1, {0x2cdf}}}, + { 0x2ce0, {1, {0x2ce1}}}, + { 0x2ce2, {1, {0x2ce3}}}, + { 0x2ceb, {1, {0x2cec}}}, + { 0x2ced, {1, {0x2cee}}}, + { 0x2cf2, {1, {0x2cf3}}}, + { 0xa640, {1, {0xa641}}}, + { 0xa642, {1, {0xa643}}}, + { 0xa644, {1, {0xa645}}}, + { 0xa646, {1, {0xa647}}}, + { 0xa648, {1, {0xa649}}}, + { 0xa64a, {1, {0xa64b}}}, + { 0xa64c, {1, {0xa64d}}}, + { 0xa64e, {1, {0xa64f}}}, + { 0xa650, {1, {0xa651}}}, + { 0xa652, {1, {0xa653}}}, + { 0xa654, {1, {0xa655}}}, + { 0xa656, {1, {0xa657}}}, + { 0xa658, {1, {0xa659}}}, + { 0xa65a, {1, {0xa65b}}}, + { 0xa65c, {1, {0xa65d}}}, + { 0xa65e, {1, {0xa65f}}}, + { 0xa660, {1, {0xa661}}}, + { 0xa662, {1, {0xa663}}}, + { 0xa664, {1, {0xa665}}}, + { 0xa666, {1, {0xa667}}}, + { 0xa668, {1, {0xa669}}}, + { 0xa66a, {1, {0xa66b}}}, + { 0xa66c, {1, {0xa66d}}}, + { 0xa680, {1, {0xa681}}}, + { 0xa682, {1, {0xa683}}}, + { 0xa684, {1, {0xa685}}}, + { 0xa686, {1, {0xa687}}}, + { 0xa688, {1, {0xa689}}}, + { 0xa68a, {1, {0xa68b}}}, + { 0xa68c, {1, {0xa68d}}}, + { 0xa68e, {1, {0xa68f}}}, + { 0xa690, {1, {0xa691}}}, + { 0xa692, {1, {0xa693}}}, + { 0xa694, {1, {0xa695}}}, + { 0xa696, {1, {0xa697}}}, + { 0xa722, {1, {0xa723}}}, + { 0xa724, {1, {0xa725}}}, + { 0xa726, {1, {0xa727}}}, + { 0xa728, {1, {0xa729}}}, + { 0xa72a, {1, {0xa72b}}}, + { 0xa72c, {1, {0xa72d}}}, + { 0xa72e, {1, {0xa72f}}}, + { 0xa732, {1, {0xa733}}}, + { 0xa734, {1, {0xa735}}}, + { 0xa736, {1, {0xa737}}}, + { 0xa738, {1, {0xa739}}}, + { 0xa73a, {1, {0xa73b}}}, + { 0xa73c, {1, {0xa73d}}}, + { 0xa73e, {1, {0xa73f}}}, + { 0xa740, {1, {0xa741}}}, + { 0xa742, {1, {0xa743}}}, + { 0xa744, {1, {0xa745}}}, + { 0xa746, {1, {0xa747}}}, + { 0xa748, {1, {0xa749}}}, + { 0xa74a, {1, {0xa74b}}}, + { 0xa74c, {1, {0xa74d}}}, + { 0xa74e, {1, {0xa74f}}}, + { 0xa750, {1, {0xa751}}}, + { 0xa752, {1, {0xa753}}}, + { 0xa754, {1, {0xa755}}}, + { 0xa756, {1, {0xa757}}}, + { 0xa758, {1, {0xa759}}}, + { 0xa75a, {1, {0xa75b}}}, + { 0xa75c, {1, {0xa75d}}}, + { 0xa75e, {1, {0xa75f}}}, + { 0xa760, {1, {0xa761}}}, + { 0xa762, {1, {0xa763}}}, + { 0xa764, {1, {0xa765}}}, + { 0xa766, {1, {0xa767}}}, + { 0xa768, {1, {0xa769}}}, + { 0xa76a, {1, {0xa76b}}}, + { 0xa76c, {1, {0xa76d}}}, + { 0xa76e, {1, {0xa76f}}}, + { 0xa779, {1, {0xa77a}}}, + { 0xa77b, {1, {0xa77c}}}, + { 0xa77d, {1, {0x1d79}}}, + { 0xa77e, {1, {0xa77f}}}, + { 0xa780, {1, {0xa781}}}, + { 0xa782, {1, {0xa783}}}, + { 0xa784, {1, {0xa785}}}, + { 0xa786, {1, {0xa787}}}, + { 0xa78b, {1, {0xa78c}}}, + { 0xa78d, {1, {0x0265}}}, + { 0xa790, {1, {0xa791}}}, + { 0xa792, {1, {0xa793}}}, + { 0xa7a0, {1, {0xa7a1}}}, + { 0xa7a2, {1, {0xa7a3}}}, + { 0xa7a4, {1, {0xa7a5}}}, + { 0xa7a6, {1, {0xa7a7}}}, + { 0xa7a8, {1, {0xa7a9}}}, + { 0xa7aa, {1, {0x0266}}}, + { 0xfb00, {2, {0x0066, 0x0066}}}, + { 0xfb01, {2, {0x0066, 0x0069}}}, + { 0xfb02, {2, {0x0066, 0x006c}}}, + { 0xfb03, {3, {0x0066, 0x0066, 0x0069}}}, + { 0xfb04, {3, {0x0066, 0x0066, 0x006c}}}, + { 0xfb05, {2, {0x0073, 0x0074}}}, + { 0xfb06, {2, {0x0073, 0x0074}}}, + { 0xfb13, {2, {0x0574, 0x0576}}}, + { 0xfb14, {2, {0x0574, 0x0565}}}, + { 0xfb15, {2, {0x0574, 0x056b}}}, + { 0xfb16, {2, {0x057e, 0x0576}}}, + { 0xfb17, {2, {0x0574, 0x056d}}}, + { 0xff21, {1, {0xff41}}}, + { 0xff22, {1, {0xff42}}}, + { 0xff23, {1, {0xff43}}}, + { 0xff24, {1, {0xff44}}}, + { 0xff25, {1, {0xff45}}}, + { 0xff26, {1, {0xff46}}}, + { 0xff27, {1, {0xff47}}}, + { 0xff28, {1, {0xff48}}}, + { 0xff29, {1, {0xff49}}}, + { 0xff2a, {1, {0xff4a}}}, + { 0xff2b, {1, {0xff4b}}}, + { 0xff2c, {1, {0xff4c}}}, + { 0xff2d, {1, {0xff4d}}}, + { 0xff2e, {1, {0xff4e}}}, + { 0xff2f, {1, {0xff4f}}}, + { 0xff30, {1, {0xff50}}}, + { 0xff31, {1, {0xff51}}}, + { 0xff32, {1, {0xff52}}}, + { 0xff33, {1, {0xff53}}}, + { 0xff34, {1, {0xff54}}}, + { 0xff35, {1, {0xff55}}}, + { 0xff36, {1, {0xff56}}}, + { 0xff37, {1, {0xff57}}}, + { 0xff38, {1, {0xff58}}}, + { 0xff39, {1, {0xff59}}}, + { 0xff3a, {1, {0xff5a}}}, + { 0x10400, {1, {0x10428}}}, + { 0x10401, {1, {0x10429}}}, + { 0x10402, {1, {0x1042a}}}, + { 0x10403, {1, {0x1042b}}}, + { 0x10404, {1, {0x1042c}}}, + { 0x10405, {1, {0x1042d}}}, + { 0x10406, {1, {0x1042e}}}, + { 0x10407, {1, {0x1042f}}}, + { 0x10408, {1, {0x10430}}}, + { 0x10409, {1, {0x10431}}}, + { 0x1040a, {1, {0x10432}}}, + { 0x1040b, {1, {0x10433}}}, + { 0x1040c, {1, {0x10434}}}, + { 0x1040d, {1, {0x10435}}}, + { 0x1040e, {1, {0x10436}}}, + { 0x1040f, {1, {0x10437}}}, + { 0x10410, {1, {0x10438}}}, + { 0x10411, {1, {0x10439}}}, + { 0x10412, {1, {0x1043a}}}, + { 0x10413, {1, {0x1043b}}}, + { 0x10414, {1, {0x1043c}}}, + { 0x10415, {1, {0x1043d}}}, + { 0x10416, {1, {0x1043e}}}, + { 0x10417, {1, {0x1043f}}}, + { 0x10418, {1, {0x10440}}}, + { 0x10419, {1, {0x10441}}}, + { 0x1041a, {1, {0x10442}}}, + { 0x1041b, {1, {0x10443}}}, + { 0x1041c, {1, {0x10444}}}, + { 0x1041d, {1, {0x10445}}}, + { 0x1041e, {1, {0x10446}}}, + { 0x1041f, {1, {0x10447}}}, + { 0x10420, {1, {0x10448}}}, + { 0x10421, {1, {0x10449}}}, + { 0x10422, {1, {0x1044a}}}, + { 0x10423, {1, {0x1044b}}}, + { 0x10424, {1, {0x1044c}}}, + { 0x10425, {1, {0x1044d}}}, + { 0x10426, {1, {0x1044e}}}, + { 0x10427, {1, {0x1044f}}}, +}; + +static const CaseFold_11_Type CaseFold_Locale[] = { + { 0x0049, {1, {0x0069}}}, + { 0x0130, {2, {0x0069, 0x0307}}}, +}; + +static const CaseUnfold_11_Type CaseUnfold_11[] = { + { 0x0061, {1, {0x0041 }}}, + { 0x0062, {1, {0x0042 }}}, + { 0x0063, {1, {0x0043 }}}, + { 0x0064, {1, {0x0044 }}}, + { 0x0065, {1, {0x0045 }}}, + { 0x0066, {1, {0x0046 }}}, + { 0x0067, {1, {0x0047 }}}, + { 0x0068, {1, {0x0048 }}}, + { 0x006a, {1, {0x004a }}}, + { 0x006b, {2, {0x004b, 0x212a }}}, + { 0x006c, {1, {0x004c }}}, + { 0x006d, {1, {0x004d }}}, + { 0x006e, {1, {0x004e }}}, + { 0x006f, {1, {0x004f }}}, + { 0x0070, {1, {0x0050 }}}, + { 0x0071, {1, {0x0051 }}}, + { 0x0072, {1, {0x0052 }}}, + { 0x0073, {2, {0x0053, 0x017f }}}, + { 0x0074, {1, {0x0054 }}}, + { 0x0075, {1, {0x0055 }}}, + { 0x0076, {1, {0x0056 }}}, + { 0x0077, {1, {0x0057 }}}, + { 0x0078, {1, {0x0058 }}}, + { 0x0079, {1, {0x0059 }}}, + { 0x007a, {1, {0x005a }}}, + { 0x00e0, {1, {0x00c0 }}}, + { 0x00e1, {1, {0x00c1 }}}, + { 0x00e2, {1, {0x00c2 }}}, + { 0x00e3, {1, {0x00c3 }}}, + { 0x00e4, {1, {0x00c4 }}}, + { 0x00e5, {2, {0x00c5, 0x212b }}}, + { 0x00e6, {1, {0x00c6 }}}, + { 0x00e7, {1, {0x00c7 }}}, + { 0x00e8, {1, {0x00c8 }}}, + { 0x00e9, {1, {0x00c9 }}}, + { 0x00ea, {1, {0x00ca }}}, + { 0x00eb, {1, {0x00cb }}}, + { 0x00ec, {1, {0x00cc }}}, + { 0x00ed, {1, {0x00cd }}}, + { 0x00ee, {1, {0x00ce }}}, + { 0x00ef, {1, {0x00cf }}}, + { 0x00f0, {1, {0x00d0 }}}, + { 0x00f1, {1, {0x00d1 }}}, + { 0x00f2, {1, {0x00d2 }}}, + { 0x00f3, {1, {0x00d3 }}}, + { 0x00f4, {1, {0x00d4 }}}, + { 0x00f5, {1, {0x00d5 }}}, + { 0x00f6, {1, {0x00d6 }}}, + { 0x00f8, {1, {0x00d8 }}}, + { 0x00f9, {1, {0x00d9 }}}, + { 0x00fa, {1, {0x00da }}}, + { 0x00fb, {1, {0x00db }}}, + { 0x00fc, {1, {0x00dc }}}, + { 0x00fd, {1, {0x00dd }}}, + { 0x00fe, {1, {0x00de }}}, + { 0x00ff, {1, {0x0178 }}}, + { 0x0101, {1, {0x0100 }}}, + { 0x0103, {1, {0x0102 }}}, + { 0x0105, {1, {0x0104 }}}, + { 0x0107, {1, {0x0106 }}}, + { 0x0109, {1, {0x0108 }}}, + { 0x010b, {1, {0x010a }}}, + { 0x010d, {1, {0x010c }}}, + { 0x010f, {1, {0x010e }}}, + { 0x0111, {1, {0x0110 }}}, + { 0x0113, {1, {0x0112 }}}, + { 0x0115, {1, {0x0114 }}}, + { 0x0117, {1, {0x0116 }}}, + { 0x0119, {1, {0x0118 }}}, + { 0x011b, {1, {0x011a }}}, + { 0x011d, {1, {0x011c }}}, + { 0x011f, {1, {0x011e }}}, + { 0x0121, {1, {0x0120 }}}, + { 0x0123, {1, {0x0122 }}}, + { 0x0125, {1, {0x0124 }}}, + { 0x0127, {1, {0x0126 }}}, + { 0x0129, {1, {0x0128 }}}, + { 0x012b, {1, {0x012a }}}, + { 0x012d, {1, {0x012c }}}, + { 0x012f, {1, {0x012e }}}, + { 0x0133, {1, {0x0132 }}}, + { 0x0135, {1, {0x0134 }}}, + { 0x0137, {1, {0x0136 }}}, + { 0x013a, {1, {0x0139 }}}, + { 0x013c, {1, {0x013b }}}, + { 0x013e, {1, {0x013d }}}, + { 0x0140, {1, {0x013f }}}, + { 0x0142, {1, {0x0141 }}}, + { 0x0144, {1, {0x0143 }}}, + { 0x0146, {1, {0x0145 }}}, + { 0x0148, {1, {0x0147 }}}, + { 0x014b, {1, {0x014a }}}, + { 0x014d, {1, {0x014c }}}, + { 0x014f, {1, {0x014e }}}, + { 0x0151, {1, {0x0150 }}}, + { 0x0153, {1, {0x0152 }}}, + { 0x0155, {1, {0x0154 }}}, + { 0x0157, {1, {0x0156 }}}, + { 0x0159, {1, {0x0158 }}}, + { 0x015b, {1, {0x015a }}}, + { 0x015d, {1, {0x015c }}}, + { 0x015f, {1, {0x015e }}}, + { 0x0161, {1, {0x0160 }}}, + { 0x0163, {1, {0x0162 }}}, + { 0x0165, {1, {0x0164 }}}, + { 0x0167, {1, {0x0166 }}}, + { 0x0169, {1, {0x0168 }}}, + { 0x016b, {1, {0x016a }}}, + { 0x016d, {1, {0x016c }}}, + { 0x016f, {1, {0x016e }}}, + { 0x0171, {1, {0x0170 }}}, + { 0x0173, {1, {0x0172 }}}, + { 0x0175, {1, {0x0174 }}}, + { 0x0177, {1, {0x0176 }}}, + { 0x017a, {1, {0x0179 }}}, + { 0x017c, {1, {0x017b }}}, + { 0x017e, {1, {0x017d }}}, + { 0x0180, {1, {0x0243 }}}, + { 0x0183, {1, {0x0182 }}}, + { 0x0185, {1, {0x0184 }}}, + { 0x0188, {1, {0x0187 }}}, + { 0x018c, {1, {0x018b }}}, + { 0x0192, {1, {0x0191 }}}, + { 0x0195, {1, {0x01f6 }}}, + { 0x0199, {1, {0x0198 }}}, + { 0x019a, {1, {0x023d }}}, + { 0x019e, {1, {0x0220 }}}, + { 0x01a1, {1, {0x01a0 }}}, + { 0x01a3, {1, {0x01a2 }}}, + { 0x01a5, {1, {0x01a4 }}}, + { 0x01a8, {1, {0x01a7 }}}, + { 0x01ad, {1, {0x01ac }}}, + { 0x01b0, {1, {0x01af }}}, + { 0x01b4, {1, {0x01b3 }}}, + { 0x01b6, {1, {0x01b5 }}}, + { 0x01b9, {1, {0x01b8 }}}, + { 0x01bd, {1, {0x01bc }}}, + { 0x01bf, {1, {0x01f7 }}}, + { 0x01c6, {2, {0x01c4, 0x01c5 }}}, + { 0x01c9, {2, {0x01c7, 0x01c8 }}}, + { 0x01cc, {2, {0x01ca, 0x01cb }}}, + { 0x01ce, {1, {0x01cd }}}, + { 0x01d0, {1, {0x01cf }}}, + { 0x01d2, {1, {0x01d1 }}}, + { 0x01d4, {1, {0x01d3 }}}, + { 0x01d6, {1, {0x01d5 }}}, + { 0x01d8, {1, {0x01d7 }}}, + { 0x01da, {1, {0x01d9 }}}, + { 0x01dc, {1, {0x01db }}}, + { 0x01dd, {1, {0x018e }}}, + { 0x01df, {1, {0x01de }}}, + { 0x01e1, {1, {0x01e0 }}}, + { 0x01e3, {1, {0x01e2 }}}, + { 0x01e5, {1, {0x01e4 }}}, + { 0x01e7, {1, {0x01e6 }}}, + { 0x01e9, {1, {0x01e8 }}}, + { 0x01eb, {1, {0x01ea }}}, + { 0x01ed, {1, {0x01ec }}}, + { 0x01ef, {1, {0x01ee }}}, + { 0x01f3, {2, {0x01f1, 0x01f2 }}}, + { 0x01f5, {1, {0x01f4 }}}, + { 0x01f9, {1, {0x01f8 }}}, + { 0x01fb, {1, {0x01fa }}}, + { 0x01fd, {1, {0x01fc }}}, + { 0x01ff, {1, {0x01fe }}}, + { 0x0201, {1, {0x0200 }}}, + { 0x0203, {1, {0x0202 }}}, + { 0x0205, {1, {0x0204 }}}, + { 0x0207, {1, {0x0206 }}}, + { 0x0209, {1, {0x0208 }}}, + { 0x020b, {1, {0x020a }}}, + { 0x020d, {1, {0x020c }}}, + { 0x020f, {1, {0x020e }}}, + { 0x0211, {1, {0x0210 }}}, + { 0x0213, {1, {0x0212 }}}, + { 0x0215, {1, {0x0214 }}}, + { 0x0217, {1, {0x0216 }}}, + { 0x0219, {1, {0x0218 }}}, + { 0x021b, {1, {0x021a }}}, + { 0x021d, {1, {0x021c }}}, + { 0x021f, {1, {0x021e }}}, + { 0x0223, {1, {0x0222 }}}, + { 0x0225, {1, {0x0224 }}}, + { 0x0227, {1, {0x0226 }}}, + { 0x0229, {1, {0x0228 }}}, + { 0x022b, {1, {0x022a }}}, + { 0x022d, {1, {0x022c }}}, + { 0x022f, {1, {0x022e }}}, + { 0x0231, {1, {0x0230 }}}, + { 0x0233, {1, {0x0232 }}}, + { 0x023c, {1, {0x023b }}}, + { 0x023f, {1, {0x2c7e }}}, + { 0x0240, {1, {0x2c7f }}}, + { 0x0242, {1, {0x0241 }}}, + { 0x0247, {1, {0x0246 }}}, + { 0x0249, {1, {0x0248 }}}, + { 0x024b, {1, {0x024a }}}, + { 0x024d, {1, {0x024c }}}, + { 0x024f, {1, {0x024e }}}, + { 0x0250, {1, {0x2c6f }}}, + { 0x0251, {1, {0x2c6d }}}, + { 0x0252, {1, {0x2c70 }}}, + { 0x0253, {1, {0x0181 }}}, + { 0x0254, {1, {0x0186 }}}, + { 0x0256, {1, {0x0189 }}}, + { 0x0257, {1, {0x018a }}}, + { 0x0259, {1, {0x018f }}}, + { 0x025b, {1, {0x0190 }}}, + { 0x0260, {1, {0x0193 }}}, + { 0x0263, {1, {0x0194 }}}, + { 0x0265, {1, {0xa78d }}}, + { 0x0266, {1, {0xa7aa }}}, + { 0x0268, {1, {0x0197 }}}, + { 0x0269, {1, {0x0196 }}}, + { 0x026b, {1, {0x2c62 }}}, + { 0x026f, {1, {0x019c }}}, + { 0x0271, {1, {0x2c6e }}}, + { 0x0272, {1, {0x019d }}}, + { 0x0275, {1, {0x019f }}}, + { 0x027d, {1, {0x2c64 }}}, + { 0x0280, {1, {0x01a6 }}}, + { 0x0283, {1, {0x01a9 }}}, + { 0x0288, {1, {0x01ae }}}, + { 0x0289, {1, {0x0244 }}}, + { 0x028a, {1, {0x01b1 }}}, + { 0x028b, {1, {0x01b2 }}}, + { 0x028c, {1, {0x0245 }}}, + { 0x0292, {1, {0x01b7 }}}, + { 0x0371, {1, {0x0370 }}}, + { 0x0373, {1, {0x0372 }}}, + { 0x0377, {1, {0x0376 }}}, + { 0x037b, {1, {0x03fd }}}, + { 0x037c, {1, {0x03fe }}}, + { 0x037d, {1, {0x03ff }}}, + { 0x03ac, {1, {0x0386 }}}, + { 0x03ad, {1, {0x0388 }}}, + { 0x03ae, {1, {0x0389 }}}, + { 0x03af, {1, {0x038a }}}, + { 0x03b1, {1, {0x0391 }}}, + { 0x03b2, {2, {0x0392, 0x03d0 }}}, + { 0x03b3, {1, {0x0393 }}}, + { 0x03b4, {1, {0x0394 }}}, + { 0x03b5, {2, {0x0395, 0x03f5 }}}, + { 0x03b6, {1, {0x0396 }}}, + { 0x03b7, {1, {0x0397 }}}, + { 0x03b8, {3, {0x0398, 0x03d1, 0x03f4 }}}, + { 0x03b9, {3, {0x0345, 0x0399, 0x1fbe }}}, + { 0x03ba, {2, {0x039a, 0x03f0 }}}, + { 0x03bb, {1, {0x039b }}}, + { 0x03bc, {2, {0x00b5, 0x039c }}}, + { 0x03bd, {1, {0x039d }}}, + { 0x03be, {1, {0x039e }}}, + { 0x03bf, {1, {0x039f }}}, + { 0x03c0, {2, {0x03a0, 0x03d6 }}}, + { 0x03c1, {2, {0x03a1, 0x03f1 }}}, + { 0x03c3, {2, {0x03a3, 0x03c2 }}}, + { 0x03c4, {1, {0x03a4 }}}, + { 0x03c5, {1, {0x03a5 }}}, + { 0x03c6, {2, {0x03a6, 0x03d5 }}}, + { 0x03c7, {1, {0x03a7 }}}, + { 0x03c8, {1, {0x03a8 }}}, + { 0x03c9, {2, {0x03a9, 0x2126 }}}, + { 0x03ca, {1, {0x03aa }}}, + { 0x03cb, {1, {0x03ab }}}, + { 0x03cc, {1, {0x038c }}}, + { 0x03cd, {1, {0x038e }}}, + { 0x03ce, {1, {0x038f }}}, + { 0x03d7, {1, {0x03cf }}}, + { 0x03d9, {1, {0x03d8 }}}, + { 0x03db, {1, {0x03da }}}, + { 0x03dd, {1, {0x03dc }}}, + { 0x03df, {1, {0x03de }}}, + { 0x03e1, {1, {0x03e0 }}}, + { 0x03e3, {1, {0x03e2 }}}, + { 0x03e5, {1, {0x03e4 }}}, + { 0x03e7, {1, {0x03e6 }}}, + { 0x03e9, {1, {0x03e8 }}}, + { 0x03eb, {1, {0x03ea }}}, + { 0x03ed, {1, {0x03ec }}}, + { 0x03ef, {1, {0x03ee }}}, + { 0x03f2, {1, {0x03f9 }}}, + { 0x03f8, {1, {0x03f7 }}}, + { 0x03fb, {1, {0x03fa }}}, + { 0x0430, {1, {0x0410 }}}, + { 0x0431, {1, {0x0411 }}}, + { 0x0432, {1, {0x0412 }}}, + { 0x0433, {1, {0x0413 }}}, + { 0x0434, {1, {0x0414 }}}, + { 0x0435, {1, {0x0415 }}}, + { 0x0436, {1, {0x0416 }}}, + { 0x0437, {1, {0x0417 }}}, + { 0x0438, {1, {0x0418 }}}, + { 0x0439, {1, {0x0419 }}}, + { 0x043a, {1, {0x041a }}}, + { 0x043b, {1, {0x041b }}}, + { 0x043c, {1, {0x041c }}}, + { 0x043d, {1, {0x041d }}}, + { 0x043e, {1, {0x041e }}}, + { 0x043f, {1, {0x041f }}}, + { 0x0440, {1, {0x0420 }}}, + { 0x0441, {1, {0x0421 }}}, + { 0x0442, {1, {0x0422 }}}, + { 0x0443, {1, {0x0423 }}}, + { 0x0444, {1, {0x0424 }}}, + { 0x0445, {1, {0x0425 }}}, + { 0x0446, {1, {0x0426 }}}, + { 0x0447, {1, {0x0427 }}}, + { 0x0448, {1, {0x0428 }}}, + { 0x0449, {1, {0x0429 }}}, + { 0x044a, {1, {0x042a }}}, + { 0x044b, {1, {0x042b }}}, + { 0x044c, {1, {0x042c }}}, + { 0x044d, {1, {0x042d }}}, + { 0x044e, {1, {0x042e }}}, + { 0x044f, {1, {0x042f }}}, + { 0x0450, {1, {0x0400 }}}, + { 0x0451, {1, {0x0401 }}}, + { 0x0452, {1, {0x0402 }}}, + { 0x0453, {1, {0x0403 }}}, + { 0x0454, {1, {0x0404 }}}, + { 0x0455, {1, {0x0405 }}}, + { 0x0456, {1, {0x0406 }}}, + { 0x0457, {1, {0x0407 }}}, + { 0x0458, {1, {0x0408 }}}, + { 0x0459, {1, {0x0409 }}}, + { 0x045a, {1, {0x040a }}}, + { 0x045b, {1, {0x040b }}}, + { 0x045c, {1, {0x040c }}}, + { 0x045d, {1, {0x040d }}}, + { 0x045e, {1, {0x040e }}}, + { 0x045f, {1, {0x040f }}}, + { 0x0461, {1, {0x0460 }}}, + { 0x0463, {1, {0x0462 }}}, + { 0x0465, {1, {0x0464 }}}, + { 0x0467, {1, {0x0466 }}}, + { 0x0469, {1, {0x0468 }}}, + { 0x046b, {1, {0x046a }}}, + { 0x046d, {1, {0x046c }}}, + { 0x046f, {1, {0x046e }}}, + { 0x0471, {1, {0x0470 }}}, + { 0x0473, {1, {0x0472 }}}, + { 0x0475, {1, {0x0474 }}}, + { 0x0477, {1, {0x0476 }}}, + { 0x0479, {1, {0x0478 }}}, + { 0x047b, {1, {0x047a }}}, + { 0x047d, {1, {0x047c }}}, + { 0x047f, {1, {0x047e }}}, + { 0x0481, {1, {0x0480 }}}, + { 0x048b, {1, {0x048a }}}, + { 0x048d, {1, {0x048c }}}, + { 0x048f, {1, {0x048e }}}, + { 0x0491, {1, {0x0490 }}}, + { 0x0493, {1, {0x0492 }}}, + { 0x0495, {1, {0x0494 }}}, + { 0x0497, {1, {0x0496 }}}, + { 0x0499, {1, {0x0498 }}}, + { 0x049b, {1, {0x049a }}}, + { 0x049d, {1, {0x049c }}}, + { 0x049f, {1, {0x049e }}}, + { 0x04a1, {1, {0x04a0 }}}, + { 0x04a3, {1, {0x04a2 }}}, + { 0x04a5, {1, {0x04a4 }}}, + { 0x04a7, {1, {0x04a6 }}}, + { 0x04a9, {1, {0x04a8 }}}, + { 0x04ab, {1, {0x04aa }}}, + { 0x04ad, {1, {0x04ac }}}, + { 0x04af, {1, {0x04ae }}}, + { 0x04b1, {1, {0x04b0 }}}, + { 0x04b3, {1, {0x04b2 }}}, + { 0x04b5, {1, {0x04b4 }}}, + { 0x04b7, {1, {0x04b6 }}}, + { 0x04b9, {1, {0x04b8 }}}, + { 0x04bb, {1, {0x04ba }}}, + { 0x04bd, {1, {0x04bc }}}, + { 0x04bf, {1, {0x04be }}}, + { 0x04c2, {1, {0x04c1 }}}, + { 0x04c4, {1, {0x04c3 }}}, + { 0x04c6, {1, {0x04c5 }}}, + { 0x04c8, {1, {0x04c7 }}}, + { 0x04ca, {1, {0x04c9 }}}, + { 0x04cc, {1, {0x04cb }}}, + { 0x04ce, {1, {0x04cd }}}, + { 0x04cf, {1, {0x04c0 }}}, + { 0x04d1, {1, {0x04d0 }}}, + { 0x04d3, {1, {0x04d2 }}}, + { 0x04d5, {1, {0x04d4 }}}, + { 0x04d7, {1, {0x04d6 }}}, + { 0x04d9, {1, {0x04d8 }}}, + { 0x04db, {1, {0x04da }}}, + { 0x04dd, {1, {0x04dc }}}, + { 0x04df, {1, {0x04de }}}, + { 0x04e1, {1, {0x04e0 }}}, + { 0x04e3, {1, {0x04e2 }}}, + { 0x04e5, {1, {0x04e4 }}}, + { 0x04e7, {1, {0x04e6 }}}, + { 0x04e9, {1, {0x04e8 }}}, + { 0x04eb, {1, {0x04ea }}}, + { 0x04ed, {1, {0x04ec }}}, + { 0x04ef, {1, {0x04ee }}}, + { 0x04f1, {1, {0x04f0 }}}, + { 0x04f3, {1, {0x04f2 }}}, + { 0x04f5, {1, {0x04f4 }}}, + { 0x04f7, {1, {0x04f6 }}}, + { 0x04f9, {1, {0x04f8 }}}, + { 0x04fb, {1, {0x04fa }}}, + { 0x04fd, {1, {0x04fc }}}, + { 0x04ff, {1, {0x04fe }}}, + { 0x0501, {1, {0x0500 }}}, + { 0x0503, {1, {0x0502 }}}, + { 0x0505, {1, {0x0504 }}}, + { 0x0507, {1, {0x0506 }}}, + { 0x0509, {1, {0x0508 }}}, + { 0x050b, {1, {0x050a }}}, + { 0x050d, {1, {0x050c }}}, + { 0x050f, {1, {0x050e }}}, + { 0x0511, {1, {0x0510 }}}, + { 0x0513, {1, {0x0512 }}}, + { 0x0515, {1, {0x0514 }}}, + { 0x0517, {1, {0x0516 }}}, + { 0x0519, {1, {0x0518 }}}, + { 0x051b, {1, {0x051a }}}, + { 0x051d, {1, {0x051c }}}, + { 0x051f, {1, {0x051e }}}, + { 0x0521, {1, {0x0520 }}}, + { 0x0523, {1, {0x0522 }}}, + { 0x0525, {1, {0x0524 }}}, + { 0x0527, {1, {0x0526 }}}, + { 0x0561, {1, {0x0531 }}}, + { 0x0562, {1, {0x0532 }}}, + { 0x0563, {1, {0x0533 }}}, + { 0x0564, {1, {0x0534 }}}, + { 0x0565, {1, {0x0535 }}}, + { 0x0566, {1, {0x0536 }}}, + { 0x0567, {1, {0x0537 }}}, + { 0x0568, {1, {0x0538 }}}, + { 0x0569, {1, {0x0539 }}}, + { 0x056a, {1, {0x053a }}}, + { 0x056b, {1, {0x053b }}}, + { 0x056c, {1, {0x053c }}}, + { 0x056d, {1, {0x053d }}}, + { 0x056e, {1, {0x053e }}}, + { 0x056f, {1, {0x053f }}}, + { 0x0570, {1, {0x0540 }}}, + { 0x0571, {1, {0x0541 }}}, + { 0x0572, {1, {0x0542 }}}, + { 0x0573, {1, {0x0543 }}}, + { 0x0574, {1, {0x0544 }}}, + { 0x0575, {1, {0x0545 }}}, + { 0x0576, {1, {0x0546 }}}, + { 0x0577, {1, {0x0547 }}}, + { 0x0578, {1, {0x0548 }}}, + { 0x0579, {1, {0x0549 }}}, + { 0x057a, {1, {0x054a }}}, + { 0x057b, {1, {0x054b }}}, + { 0x057c, {1, {0x054c }}}, + { 0x057d, {1, {0x054d }}}, + { 0x057e, {1, {0x054e }}}, + { 0x057f, {1, {0x054f }}}, + { 0x0580, {1, {0x0550 }}}, + { 0x0581, {1, {0x0551 }}}, + { 0x0582, {1, {0x0552 }}}, + { 0x0583, {1, {0x0553 }}}, + { 0x0584, {1, {0x0554 }}}, + { 0x0585, {1, {0x0555 }}}, + { 0x0586, {1, {0x0556 }}}, + { 0x1d79, {1, {0xa77d }}}, + { 0x1d7d, {1, {0x2c63 }}}, + { 0x1e01, {1, {0x1e00 }}}, + { 0x1e03, {1, {0x1e02 }}}, + { 0x1e05, {1, {0x1e04 }}}, + { 0x1e07, {1, {0x1e06 }}}, + { 0x1e09, {1, {0x1e08 }}}, + { 0x1e0b, {1, {0x1e0a }}}, + { 0x1e0d, {1, {0x1e0c }}}, + { 0x1e0f, {1, {0x1e0e }}}, + { 0x1e11, {1, {0x1e10 }}}, + { 0x1e13, {1, {0x1e12 }}}, + { 0x1e15, {1, {0x1e14 }}}, + { 0x1e17, {1, {0x1e16 }}}, + { 0x1e19, {1, {0x1e18 }}}, + { 0x1e1b, {1, {0x1e1a }}}, + { 0x1e1d, {1, {0x1e1c }}}, + { 0x1e1f, {1, {0x1e1e }}}, + { 0x1e21, {1, {0x1e20 }}}, + { 0x1e23, {1, {0x1e22 }}}, + { 0x1e25, {1, {0x1e24 }}}, + { 0x1e27, {1, {0x1e26 }}}, + { 0x1e29, {1, {0x1e28 }}}, + { 0x1e2b, {1, {0x1e2a }}}, + { 0x1e2d, {1, {0x1e2c }}}, + { 0x1e2f, {1, {0x1e2e }}}, + { 0x1e31, {1, {0x1e30 }}}, + { 0x1e33, {1, {0x1e32 }}}, + { 0x1e35, {1, {0x1e34 }}}, + { 0x1e37, {1, {0x1e36 }}}, + { 0x1e39, {1, {0x1e38 }}}, + { 0x1e3b, {1, {0x1e3a }}}, + { 0x1e3d, {1, {0x1e3c }}}, + { 0x1e3f, {1, {0x1e3e }}}, + { 0x1e41, {1, {0x1e40 }}}, + { 0x1e43, {1, {0x1e42 }}}, + { 0x1e45, {1, {0x1e44 }}}, + { 0x1e47, {1, {0x1e46 }}}, + { 0x1e49, {1, {0x1e48 }}}, + { 0x1e4b, {1, {0x1e4a }}}, + { 0x1e4d, {1, {0x1e4c }}}, + { 0x1e4f, {1, {0x1e4e }}}, + { 0x1e51, {1, {0x1e50 }}}, + { 0x1e53, {1, {0x1e52 }}}, + { 0x1e55, {1, {0x1e54 }}}, + { 0x1e57, {1, {0x1e56 }}}, + { 0x1e59, {1, {0x1e58 }}}, + { 0x1e5b, {1, {0x1e5a }}}, + { 0x1e5d, {1, {0x1e5c }}}, + { 0x1e5f, {1, {0x1e5e }}}, + { 0x1e61, {2, {0x1e60, 0x1e9b }}}, + { 0x1e63, {1, {0x1e62 }}}, + { 0x1e65, {1, {0x1e64 }}}, + { 0x1e67, {1, {0x1e66 }}}, + { 0x1e69, {1, {0x1e68 }}}, + { 0x1e6b, {1, {0x1e6a }}}, + { 0x1e6d, {1, {0x1e6c }}}, + { 0x1e6f, {1, {0x1e6e }}}, + { 0x1e71, {1, {0x1e70 }}}, + { 0x1e73, {1, {0x1e72 }}}, + { 0x1e75, {1, {0x1e74 }}}, + { 0x1e77, {1, {0x1e76 }}}, + { 0x1e79, {1, {0x1e78 }}}, + { 0x1e7b, {1, {0x1e7a }}}, + { 0x1e7d, {1, {0x1e7c }}}, + { 0x1e7f, {1, {0x1e7e }}}, + { 0x1e81, {1, {0x1e80 }}}, + { 0x1e83, {1, {0x1e82 }}}, + { 0x1e85, {1, {0x1e84 }}}, + { 0x1e87, {1, {0x1e86 }}}, + { 0x1e89, {1, {0x1e88 }}}, + { 0x1e8b, {1, {0x1e8a }}}, + { 0x1e8d, {1, {0x1e8c }}}, + { 0x1e8f, {1, {0x1e8e }}}, + { 0x1e91, {1, {0x1e90 }}}, + { 0x1e93, {1, {0x1e92 }}}, + { 0x1e95, {1, {0x1e94 }}}, + { 0x1ea1, {1, {0x1ea0 }}}, + { 0x1ea3, {1, {0x1ea2 }}}, + { 0x1ea5, {1, {0x1ea4 }}}, + { 0x1ea7, {1, {0x1ea6 }}}, + { 0x1ea9, {1, {0x1ea8 }}}, + { 0x1eab, {1, {0x1eaa }}}, + { 0x1ead, {1, {0x1eac }}}, + { 0x1eaf, {1, {0x1eae }}}, + { 0x1eb1, {1, {0x1eb0 }}}, + { 0x1eb3, {1, {0x1eb2 }}}, + { 0x1eb5, {1, {0x1eb4 }}}, + { 0x1eb7, {1, {0x1eb6 }}}, + { 0x1eb9, {1, {0x1eb8 }}}, + { 0x1ebb, {1, {0x1eba }}}, + { 0x1ebd, {1, {0x1ebc }}}, + { 0x1ebf, {1, {0x1ebe }}}, + { 0x1ec1, {1, {0x1ec0 }}}, + { 0x1ec3, {1, {0x1ec2 }}}, + { 0x1ec5, {1, {0x1ec4 }}}, + { 0x1ec7, {1, {0x1ec6 }}}, + { 0x1ec9, {1, {0x1ec8 }}}, + { 0x1ecb, {1, {0x1eca }}}, + { 0x1ecd, {1, {0x1ecc }}}, + { 0x1ecf, {1, {0x1ece }}}, + { 0x1ed1, {1, {0x1ed0 }}}, + { 0x1ed3, {1, {0x1ed2 }}}, + { 0x1ed5, {1, {0x1ed4 }}}, + { 0x1ed7, {1, {0x1ed6 }}}, + { 0x1ed9, {1, {0x1ed8 }}}, + { 0x1edb, {1, {0x1eda }}}, + { 0x1edd, {1, {0x1edc }}}, + { 0x1edf, {1, {0x1ede }}}, + { 0x1ee1, {1, {0x1ee0 }}}, + { 0x1ee3, {1, {0x1ee2 }}}, + { 0x1ee5, {1, {0x1ee4 }}}, + { 0x1ee7, {1, {0x1ee6 }}}, + { 0x1ee9, {1, {0x1ee8 }}}, + { 0x1eeb, {1, {0x1eea }}}, + { 0x1eed, {1, {0x1eec }}}, + { 0x1eef, {1, {0x1eee }}}, + { 0x1ef1, {1, {0x1ef0 }}}, + { 0x1ef3, {1, {0x1ef2 }}}, + { 0x1ef5, {1, {0x1ef4 }}}, + { 0x1ef7, {1, {0x1ef6 }}}, + { 0x1ef9, {1, {0x1ef8 }}}, + { 0x1efb, {1, {0x1efa }}}, + { 0x1efd, {1, {0x1efc }}}, + { 0x1eff, {1, {0x1efe }}}, + { 0x1f00, {1, {0x1f08 }}}, + { 0x1f01, {1, {0x1f09 }}}, + { 0x1f02, {1, {0x1f0a }}}, + { 0x1f03, {1, {0x1f0b }}}, + { 0x1f04, {1, {0x1f0c }}}, + { 0x1f05, {1, {0x1f0d }}}, + { 0x1f06, {1, {0x1f0e }}}, + { 0x1f07, {1, {0x1f0f }}}, + { 0x1f10, {1, {0x1f18 }}}, + { 0x1f11, {1, {0x1f19 }}}, + { 0x1f12, {1, {0x1f1a }}}, + { 0x1f13, {1, {0x1f1b }}}, + { 0x1f14, {1, {0x1f1c }}}, + { 0x1f15, {1, {0x1f1d }}}, + { 0x1f20, {1, {0x1f28 }}}, + { 0x1f21, {1, {0x1f29 }}}, + { 0x1f22, {1, {0x1f2a }}}, + { 0x1f23, {1, {0x1f2b }}}, + { 0x1f24, {1, {0x1f2c }}}, + { 0x1f25, {1, {0x1f2d }}}, + { 0x1f26, {1, {0x1f2e }}}, + { 0x1f27, {1, {0x1f2f }}}, + { 0x1f30, {1, {0x1f38 }}}, + { 0x1f31, {1, {0x1f39 }}}, + { 0x1f32, {1, {0x1f3a }}}, + { 0x1f33, {1, {0x1f3b }}}, + { 0x1f34, {1, {0x1f3c }}}, + { 0x1f35, {1, {0x1f3d }}}, + { 0x1f36, {1, {0x1f3e }}}, + { 0x1f37, {1, {0x1f3f }}}, + { 0x1f40, {1, {0x1f48 }}}, + { 0x1f41, {1, {0x1f49 }}}, + { 0x1f42, {1, {0x1f4a }}}, + { 0x1f43, {1, {0x1f4b }}}, + { 0x1f44, {1, {0x1f4c }}}, + { 0x1f45, {1, {0x1f4d }}}, + { 0x1f51, {1, {0x1f59 }}}, + { 0x1f53, {1, {0x1f5b }}}, + { 0x1f55, {1, {0x1f5d }}}, + { 0x1f57, {1, {0x1f5f }}}, + { 0x1f60, {1, {0x1f68 }}}, + { 0x1f61, {1, {0x1f69 }}}, + { 0x1f62, {1, {0x1f6a }}}, + { 0x1f63, {1, {0x1f6b }}}, + { 0x1f64, {1, {0x1f6c }}}, + { 0x1f65, {1, {0x1f6d }}}, + { 0x1f66, {1, {0x1f6e }}}, + { 0x1f67, {1, {0x1f6f }}}, + { 0x1f70, {1, {0x1fba }}}, + { 0x1f71, {1, {0x1fbb }}}, + { 0x1f72, {1, {0x1fc8 }}}, + { 0x1f73, {1, {0x1fc9 }}}, + { 0x1f74, {1, {0x1fca }}}, + { 0x1f75, {1, {0x1fcb }}}, + { 0x1f76, {1, {0x1fda }}}, + { 0x1f77, {1, {0x1fdb }}}, + { 0x1f78, {1, {0x1ff8 }}}, + { 0x1f79, {1, {0x1ff9 }}}, + { 0x1f7a, {1, {0x1fea }}}, + { 0x1f7b, {1, {0x1feb }}}, + { 0x1f7c, {1, {0x1ffa }}}, + { 0x1f7d, {1, {0x1ffb }}}, + { 0x1fb0, {1, {0x1fb8 }}}, + { 0x1fb1, {1, {0x1fb9 }}}, + { 0x1fd0, {1, {0x1fd8 }}}, + { 0x1fd1, {1, {0x1fd9 }}}, + { 0x1fe0, {1, {0x1fe8 }}}, + { 0x1fe1, {1, {0x1fe9 }}}, + { 0x1fe5, {1, {0x1fec }}}, + { 0x214e, {1, {0x2132 }}}, + { 0x2170, {1, {0x2160 }}}, + { 0x2171, {1, {0x2161 }}}, + { 0x2172, {1, {0x2162 }}}, + { 0x2173, {1, {0x2163 }}}, + { 0x2174, {1, {0x2164 }}}, + { 0x2175, {1, {0x2165 }}}, + { 0x2176, {1, {0x2166 }}}, + { 0x2177, {1, {0x2167 }}}, + { 0x2178, {1, {0x2168 }}}, + { 0x2179, {1, {0x2169 }}}, + { 0x217a, {1, {0x216a }}}, + { 0x217b, {1, {0x216b }}}, + { 0x217c, {1, {0x216c }}}, + { 0x217d, {1, {0x216d }}}, + { 0x217e, {1, {0x216e }}}, + { 0x217f, {1, {0x216f }}}, + { 0x2184, {1, {0x2183 }}}, + { 0x24d0, {1, {0x24b6 }}}, + { 0x24d1, {1, {0x24b7 }}}, + { 0x24d2, {1, {0x24b8 }}}, + { 0x24d3, {1, {0x24b9 }}}, + { 0x24d4, {1, {0x24ba }}}, + { 0x24d5, {1, {0x24bb }}}, + { 0x24d6, {1, {0x24bc }}}, + { 0x24d7, {1, {0x24bd }}}, + { 0x24d8, {1, {0x24be }}}, + { 0x24d9, {1, {0x24bf }}}, + { 0x24da, {1, {0x24c0 }}}, + { 0x24db, {1, {0x24c1 }}}, + { 0x24dc, {1, {0x24c2 }}}, + { 0x24dd, {1, {0x24c3 }}}, + { 0x24de, {1, {0x24c4 }}}, + { 0x24df, {1, {0x24c5 }}}, + { 0x24e0, {1, {0x24c6 }}}, + { 0x24e1, {1, {0x24c7 }}}, + { 0x24e2, {1, {0x24c8 }}}, + { 0x24e3, {1, {0x24c9 }}}, + { 0x24e4, {1, {0x24ca }}}, + { 0x24e5, {1, {0x24cb }}}, + { 0x24e6, {1, {0x24cc }}}, + { 0x24e7, {1, {0x24cd }}}, + { 0x24e8, {1, {0x24ce }}}, + { 0x24e9, {1, {0x24cf }}}, + { 0x2c30, {1, {0x2c00 }}}, + { 0x2c31, {1, {0x2c01 }}}, + { 0x2c32, {1, {0x2c02 }}}, + { 0x2c33, {1, {0x2c03 }}}, + { 0x2c34, {1, {0x2c04 }}}, + { 0x2c35, {1, {0x2c05 }}}, + { 0x2c36, {1, {0x2c06 }}}, + { 0x2c37, {1, {0x2c07 }}}, + { 0x2c38, {1, {0x2c08 }}}, + { 0x2c39, {1, {0x2c09 }}}, + { 0x2c3a, {1, {0x2c0a }}}, + { 0x2c3b, {1, {0x2c0b }}}, + { 0x2c3c, {1, {0x2c0c }}}, + { 0x2c3d, {1, {0x2c0d }}}, + { 0x2c3e, {1, {0x2c0e }}}, + { 0x2c3f, {1, {0x2c0f }}}, + { 0x2c40, {1, {0x2c10 }}}, + { 0x2c41, {1, {0x2c11 }}}, + { 0x2c42, {1, {0x2c12 }}}, + { 0x2c43, {1, {0x2c13 }}}, + { 0x2c44, {1, {0x2c14 }}}, + { 0x2c45, {1, {0x2c15 }}}, + { 0x2c46, {1, {0x2c16 }}}, + { 0x2c47, {1, {0x2c17 }}}, + { 0x2c48, {1, {0x2c18 }}}, + { 0x2c49, {1, {0x2c19 }}}, + { 0x2c4a, {1, {0x2c1a }}}, + { 0x2c4b, {1, {0x2c1b }}}, + { 0x2c4c, {1, {0x2c1c }}}, + { 0x2c4d, {1, {0x2c1d }}}, + { 0x2c4e, {1, {0x2c1e }}}, + { 0x2c4f, {1, {0x2c1f }}}, + { 0x2c50, {1, {0x2c20 }}}, + { 0x2c51, {1, {0x2c21 }}}, + { 0x2c52, {1, {0x2c22 }}}, + { 0x2c53, {1, {0x2c23 }}}, + { 0x2c54, {1, {0x2c24 }}}, + { 0x2c55, {1, {0x2c25 }}}, + { 0x2c56, {1, {0x2c26 }}}, + { 0x2c57, {1, {0x2c27 }}}, + { 0x2c58, {1, {0x2c28 }}}, + { 0x2c59, {1, {0x2c29 }}}, + { 0x2c5a, {1, {0x2c2a }}}, + { 0x2c5b, {1, {0x2c2b }}}, + { 0x2c5c, {1, {0x2c2c }}}, + { 0x2c5d, {1, {0x2c2d }}}, + { 0x2c5e, {1, {0x2c2e }}}, + { 0x2c61, {1, {0x2c60 }}}, + { 0x2c65, {1, {0x023a }}}, + { 0x2c66, {1, {0x023e }}}, + { 0x2c68, {1, {0x2c67 }}}, + { 0x2c6a, {1, {0x2c69 }}}, + { 0x2c6c, {1, {0x2c6b }}}, + { 0x2c73, {1, {0x2c72 }}}, + { 0x2c76, {1, {0x2c75 }}}, + { 0x2c81, {1, {0x2c80 }}}, + { 0x2c83, {1, {0x2c82 }}}, + { 0x2c85, {1, {0x2c84 }}}, + { 0x2c87, {1, {0x2c86 }}}, + { 0x2c89, {1, {0x2c88 }}}, + { 0x2c8b, {1, {0x2c8a }}}, + { 0x2c8d, {1, {0x2c8c }}}, + { 0x2c8f, {1, {0x2c8e }}}, + { 0x2c91, {1, {0x2c90 }}}, + { 0x2c93, {1, {0x2c92 }}}, + { 0x2c95, {1, {0x2c94 }}}, + { 0x2c97, {1, {0x2c96 }}}, + { 0x2c99, {1, {0x2c98 }}}, + { 0x2c9b, {1, {0x2c9a }}}, + { 0x2c9d, {1, {0x2c9c }}}, + { 0x2c9f, {1, {0x2c9e }}}, + { 0x2ca1, {1, {0x2ca0 }}}, + { 0x2ca3, {1, {0x2ca2 }}}, + { 0x2ca5, {1, {0x2ca4 }}}, + { 0x2ca7, {1, {0x2ca6 }}}, + { 0x2ca9, {1, {0x2ca8 }}}, + { 0x2cab, {1, {0x2caa }}}, + { 0x2cad, {1, {0x2cac }}}, + { 0x2caf, {1, {0x2cae }}}, + { 0x2cb1, {1, {0x2cb0 }}}, + { 0x2cb3, {1, {0x2cb2 }}}, + { 0x2cb5, {1, {0x2cb4 }}}, + { 0x2cb7, {1, {0x2cb6 }}}, + { 0x2cb9, {1, {0x2cb8 }}}, + { 0x2cbb, {1, {0x2cba }}}, + { 0x2cbd, {1, {0x2cbc }}}, + { 0x2cbf, {1, {0x2cbe }}}, + { 0x2cc1, {1, {0x2cc0 }}}, + { 0x2cc3, {1, {0x2cc2 }}}, + { 0x2cc5, {1, {0x2cc4 }}}, + { 0x2cc7, {1, {0x2cc6 }}}, + { 0x2cc9, {1, {0x2cc8 }}}, + { 0x2ccb, {1, {0x2cca }}}, + { 0x2ccd, {1, {0x2ccc }}}, + { 0x2ccf, {1, {0x2cce }}}, + { 0x2cd1, {1, {0x2cd0 }}}, + { 0x2cd3, {1, {0x2cd2 }}}, + { 0x2cd5, {1, {0x2cd4 }}}, + { 0x2cd7, {1, {0x2cd6 }}}, + { 0x2cd9, {1, {0x2cd8 }}}, + { 0x2cdb, {1, {0x2cda }}}, + { 0x2cdd, {1, {0x2cdc }}}, + { 0x2cdf, {1, {0x2cde }}}, + { 0x2ce1, {1, {0x2ce0 }}}, + { 0x2ce3, {1, {0x2ce2 }}}, + { 0x2cec, {1, {0x2ceb }}}, + { 0x2cee, {1, {0x2ced }}}, + { 0x2cf3, {1, {0x2cf2 }}}, + { 0x2d00, {1, {0x10a0 }}}, + { 0x2d01, {1, {0x10a1 }}}, + { 0x2d02, {1, {0x10a2 }}}, + { 0x2d03, {1, {0x10a3 }}}, + { 0x2d04, {1, {0x10a4 }}}, + { 0x2d05, {1, {0x10a5 }}}, + { 0x2d06, {1, {0x10a6 }}}, + { 0x2d07, {1, {0x10a7 }}}, + { 0x2d08, {1, {0x10a8 }}}, + { 0x2d09, {1, {0x10a9 }}}, + { 0x2d0a, {1, {0x10aa }}}, + { 0x2d0b, {1, {0x10ab }}}, + { 0x2d0c, {1, {0x10ac }}}, + { 0x2d0d, {1, {0x10ad }}}, + { 0x2d0e, {1, {0x10ae }}}, + { 0x2d0f, {1, {0x10af }}}, + { 0x2d10, {1, {0x10b0 }}}, + { 0x2d11, {1, {0x10b1 }}}, + { 0x2d12, {1, {0x10b2 }}}, + { 0x2d13, {1, {0x10b3 }}}, + { 0x2d14, {1, {0x10b4 }}}, + { 0x2d15, {1, {0x10b5 }}}, + { 0x2d16, {1, {0x10b6 }}}, + { 0x2d17, {1, {0x10b7 }}}, + { 0x2d18, {1, {0x10b8 }}}, + { 0x2d19, {1, {0x10b9 }}}, + { 0x2d1a, {1, {0x10ba }}}, + { 0x2d1b, {1, {0x10bb }}}, + { 0x2d1c, {1, {0x10bc }}}, + { 0x2d1d, {1, {0x10bd }}}, + { 0x2d1e, {1, {0x10be }}}, + { 0x2d1f, {1, {0x10bf }}}, + { 0x2d20, {1, {0x10c0 }}}, + { 0x2d21, {1, {0x10c1 }}}, + { 0x2d22, {1, {0x10c2 }}}, + { 0x2d23, {1, {0x10c3 }}}, + { 0x2d24, {1, {0x10c4 }}}, + { 0x2d25, {1, {0x10c5 }}}, + { 0x2d27, {1, {0x10c7 }}}, + { 0x2d2d, {1, {0x10cd }}}, + { 0xa641, {1, {0xa640 }}}, + { 0xa643, {1, {0xa642 }}}, + { 0xa645, {1, {0xa644 }}}, + { 0xa647, {1, {0xa646 }}}, + { 0xa649, {1, {0xa648 }}}, + { 0xa64b, {1, {0xa64a }}}, + { 0xa64d, {1, {0xa64c }}}, + { 0xa64f, {1, {0xa64e }}}, + { 0xa651, {1, {0xa650 }}}, + { 0xa653, {1, {0xa652 }}}, + { 0xa655, {1, {0xa654 }}}, + { 0xa657, {1, {0xa656 }}}, + { 0xa659, {1, {0xa658 }}}, + { 0xa65b, {1, {0xa65a }}}, + { 0xa65d, {1, {0xa65c }}}, + { 0xa65f, {1, {0xa65e }}}, + { 0xa661, {1, {0xa660 }}}, + { 0xa663, {1, {0xa662 }}}, + { 0xa665, {1, {0xa664 }}}, + { 0xa667, {1, {0xa666 }}}, + { 0xa669, {1, {0xa668 }}}, + { 0xa66b, {1, {0xa66a }}}, + { 0xa66d, {1, {0xa66c }}}, + { 0xa681, {1, {0xa680 }}}, + { 0xa683, {1, {0xa682 }}}, + { 0xa685, {1, {0xa684 }}}, + { 0xa687, {1, {0xa686 }}}, + { 0xa689, {1, {0xa688 }}}, + { 0xa68b, {1, {0xa68a }}}, + { 0xa68d, {1, {0xa68c }}}, + { 0xa68f, {1, {0xa68e }}}, + { 0xa691, {1, {0xa690 }}}, + { 0xa693, {1, {0xa692 }}}, + { 0xa695, {1, {0xa694 }}}, + { 0xa697, {1, {0xa696 }}}, + { 0xa723, {1, {0xa722 }}}, + { 0xa725, {1, {0xa724 }}}, + { 0xa727, {1, {0xa726 }}}, + { 0xa729, {1, {0xa728 }}}, + { 0xa72b, {1, {0xa72a }}}, + { 0xa72d, {1, {0xa72c }}}, + { 0xa72f, {1, {0xa72e }}}, + { 0xa733, {1, {0xa732 }}}, + { 0xa735, {1, {0xa734 }}}, + { 0xa737, {1, {0xa736 }}}, + { 0xa739, {1, {0xa738 }}}, + { 0xa73b, {1, {0xa73a }}}, + { 0xa73d, {1, {0xa73c }}}, + { 0xa73f, {1, {0xa73e }}}, + { 0xa741, {1, {0xa740 }}}, + { 0xa743, {1, {0xa742 }}}, + { 0xa745, {1, {0xa744 }}}, + { 0xa747, {1, {0xa746 }}}, + { 0xa749, {1, {0xa748 }}}, + { 0xa74b, {1, {0xa74a }}}, + { 0xa74d, {1, {0xa74c }}}, + { 0xa74f, {1, {0xa74e }}}, + { 0xa751, {1, {0xa750 }}}, + { 0xa753, {1, {0xa752 }}}, + { 0xa755, {1, {0xa754 }}}, + { 0xa757, {1, {0xa756 }}}, + { 0xa759, {1, {0xa758 }}}, + { 0xa75b, {1, {0xa75a }}}, + { 0xa75d, {1, {0xa75c }}}, + { 0xa75f, {1, {0xa75e }}}, + { 0xa761, {1, {0xa760 }}}, + { 0xa763, {1, {0xa762 }}}, + { 0xa765, {1, {0xa764 }}}, + { 0xa767, {1, {0xa766 }}}, + { 0xa769, {1, {0xa768 }}}, + { 0xa76b, {1, {0xa76a }}}, + { 0xa76d, {1, {0xa76c }}}, + { 0xa76f, {1, {0xa76e }}}, + { 0xa77a, {1, {0xa779 }}}, + { 0xa77c, {1, {0xa77b }}}, + { 0xa77f, {1, {0xa77e }}}, + { 0xa781, {1, {0xa780 }}}, + { 0xa783, {1, {0xa782 }}}, + { 0xa785, {1, {0xa784 }}}, + { 0xa787, {1, {0xa786 }}}, + { 0xa78c, {1, {0xa78b }}}, + { 0xa791, {1, {0xa790 }}}, + { 0xa793, {1, {0xa792 }}}, + { 0xa7a1, {1, {0xa7a0 }}}, + { 0xa7a3, {1, {0xa7a2 }}}, + { 0xa7a5, {1, {0xa7a4 }}}, + { 0xa7a7, {1, {0xa7a6 }}}, + { 0xa7a9, {1, {0xa7a8 }}}, + { 0xff41, {1, {0xff21 }}}, + { 0xff42, {1, {0xff22 }}}, + { 0xff43, {1, {0xff23 }}}, + { 0xff44, {1, {0xff24 }}}, + { 0xff45, {1, {0xff25 }}}, + { 0xff46, {1, {0xff26 }}}, + { 0xff47, {1, {0xff27 }}}, + { 0xff48, {1, {0xff28 }}}, + { 0xff49, {1, {0xff29 }}}, + { 0xff4a, {1, {0xff2a }}}, + { 0xff4b, {1, {0xff2b }}}, + { 0xff4c, {1, {0xff2c }}}, + { 0xff4d, {1, {0xff2d }}}, + { 0xff4e, {1, {0xff2e }}}, + { 0xff4f, {1, {0xff2f }}}, + { 0xff50, {1, {0xff30 }}}, + { 0xff51, {1, {0xff31 }}}, + { 0xff52, {1, {0xff32 }}}, + { 0xff53, {1, {0xff33 }}}, + { 0xff54, {1, {0xff34 }}}, + { 0xff55, {1, {0xff35 }}}, + { 0xff56, {1, {0xff36 }}}, + { 0xff57, {1, {0xff37 }}}, + { 0xff58, {1, {0xff38 }}}, + { 0xff59, {1, {0xff39 }}}, + { 0xff5a, {1, {0xff3a }}}, + { 0x10428, {1, {0x10400 }}}, + { 0x10429, {1, {0x10401 }}}, + { 0x1042a, {1, {0x10402 }}}, + { 0x1042b, {1, {0x10403 }}}, + { 0x1042c, {1, {0x10404 }}}, + { 0x1042d, {1, {0x10405 }}}, + { 0x1042e, {1, {0x10406 }}}, + { 0x1042f, {1, {0x10407 }}}, + { 0x10430, {1, {0x10408 }}}, + { 0x10431, {1, {0x10409 }}}, + { 0x10432, {1, {0x1040a }}}, + { 0x10433, {1, {0x1040b }}}, + { 0x10434, {1, {0x1040c }}}, + { 0x10435, {1, {0x1040d }}}, + { 0x10436, {1, {0x1040e }}}, + { 0x10437, {1, {0x1040f }}}, + { 0x10438, {1, {0x10410 }}}, + { 0x10439, {1, {0x10411 }}}, + { 0x1043a, {1, {0x10412 }}}, + { 0x1043b, {1, {0x10413 }}}, + { 0x1043c, {1, {0x10414 }}}, + { 0x1043d, {1, {0x10415 }}}, + { 0x1043e, {1, {0x10416 }}}, + { 0x1043f, {1, {0x10417 }}}, + { 0x10440, {1, {0x10418 }}}, + { 0x10441, {1, {0x10419 }}}, + { 0x10442, {1, {0x1041a }}}, + { 0x10443, {1, {0x1041b }}}, + { 0x10444, {1, {0x1041c }}}, + { 0x10445, {1, {0x1041d }}}, + { 0x10446, {1, {0x1041e }}}, + { 0x10447, {1, {0x1041f }}}, + { 0x10448, {1, {0x10420 }}}, + { 0x10449, {1, {0x10421 }}}, + { 0x1044a, {1, {0x10422 }}}, + { 0x1044b, {1, {0x10423 }}}, + { 0x1044c, {1, {0x10424 }}}, + { 0x1044d, {1, {0x10425 }}}, + { 0x1044e, {1, {0x10426 }}}, + { 0x1044f, {1, {0x10427 }}}, +}; + +static const CaseUnfold_11_Type CaseUnfold_11_Locale[] = { + { 0x0069, {1, {0x0049 }}}, +}; + +static const CaseUnfold_12_Type CaseUnfold_12[] = { + { {0x0061, 0x02be}, {1, {0x1e9a }}}, + { {0x0066, 0x0066}, {1, {0xfb00 }}}, + { {0x0066, 0x0069}, {1, {0xfb01 }}}, + { {0x0066, 0x006c}, {1, {0xfb02 }}}, + { {0x0068, 0x0331}, {1, {0x1e96 }}}, + { {0x006a, 0x030c}, {1, {0x01f0 }}}, + { {0x0073, 0x0073}, {2, {0x00df, 0x1e9e }}}, + { {0x0073, 0x0074}, {2, {0xfb05, 0xfb06 }}}, + { {0x0074, 0x0308}, {1, {0x1e97 }}}, + { {0x0077, 0x030a}, {1, {0x1e98 }}}, + { {0x0079, 0x030a}, {1, {0x1e99 }}}, + { {0x02bc, 0x006e}, {1, {0x0149 }}}, + { {0x03ac, 0x03b9}, {1, {0x1fb4 }}}, + { {0x03ae, 0x03b9}, {1, {0x1fc4 }}}, + { {0x03b1, 0x0342}, {1, {0x1fb6 }}}, + { {0x03b1, 0x03b9}, {2, {0x1fb3, 0x1fbc }}}, + { {0x03b7, 0x0342}, {1, {0x1fc6 }}}, + { {0x03b7, 0x03b9}, {2, {0x1fc3, 0x1fcc }}}, + { {0x03b9, 0x0342}, {1, {0x1fd6 }}}, + { {0x03c1, 0x0313}, {1, {0x1fe4 }}}, + { {0x03c5, 0x0313}, {1, {0x1f50 }}}, + { {0x03c5, 0x0342}, {1, {0x1fe6 }}}, + { {0x03c9, 0x0342}, {1, {0x1ff6 }}}, + { {0x03c9, 0x03b9}, {2, {0x1ff3, 0x1ffc }}}, + { {0x03ce, 0x03b9}, {1, {0x1ff4 }}}, + { {0x0565, 0x0582}, {1, {0x0587 }}}, + { {0x0574, 0x0565}, {1, {0xfb14 }}}, + { {0x0574, 0x056b}, {1, {0xfb15 }}}, + { {0x0574, 0x056d}, {1, {0xfb17 }}}, + { {0x0574, 0x0576}, {1, {0xfb13 }}}, + { {0x057e, 0x0576}, {1, {0xfb16 }}}, + { {0x1f00, 0x03b9}, {2, {0x1f80, 0x1f88 }}}, + { {0x1f01, 0x03b9}, {2, {0x1f81, 0x1f89 }}}, + { {0x1f02, 0x03b9}, {2, {0x1f82, 0x1f8a }}}, + { {0x1f03, 0x03b9}, {2, {0x1f83, 0x1f8b }}}, + { {0x1f04, 0x03b9}, {2, {0x1f84, 0x1f8c }}}, + { {0x1f05, 0x03b9}, {2, {0x1f85, 0x1f8d }}}, + { {0x1f06, 0x03b9}, {2, {0x1f86, 0x1f8e }}}, + { {0x1f07, 0x03b9}, {2, {0x1f87, 0x1f8f }}}, + { {0x1f20, 0x03b9}, {2, {0x1f90, 0x1f98 }}}, + { {0x1f21, 0x03b9}, {2, {0x1f91, 0x1f99 }}}, + { {0x1f22, 0x03b9}, {2, {0x1f92, 0x1f9a }}}, + { {0x1f23, 0x03b9}, {2, {0x1f93, 0x1f9b }}}, + { {0x1f24, 0x03b9}, {2, {0x1f94, 0x1f9c }}}, + { {0x1f25, 0x03b9}, {2, {0x1f95, 0x1f9d }}}, + { {0x1f26, 0x03b9}, {2, {0x1f96, 0x1f9e }}}, + { {0x1f27, 0x03b9}, {2, {0x1f97, 0x1f9f }}}, + { {0x1f60, 0x03b9}, {2, {0x1fa0, 0x1fa8 }}}, + { {0x1f61, 0x03b9}, {2, {0x1fa1, 0x1fa9 }}}, + { {0x1f62, 0x03b9}, {2, {0x1fa2, 0x1faa }}}, + { {0x1f63, 0x03b9}, {2, {0x1fa3, 0x1fab }}}, + { {0x1f64, 0x03b9}, {2, {0x1fa4, 0x1fac }}}, + { {0x1f65, 0x03b9}, {2, {0x1fa5, 0x1fad }}}, + { {0x1f66, 0x03b9}, {2, {0x1fa6, 0x1fae }}}, + { {0x1f67, 0x03b9}, {2, {0x1fa7, 0x1faf }}}, + { {0x1f70, 0x03b9}, {1, {0x1fb2 }}}, + { {0x1f74, 0x03b9}, {1, {0x1fc2 }}}, + { {0x1f7c, 0x03b9}, {1, {0x1ff2 }}}, +}; + +static const CaseUnfold_12_Type CaseUnfold_12_Locale[] = { + { {0x0069, 0x0307}, {1, {0x0130 }}}, +}; + +static const CaseUnfold_13_Type CaseUnfold_13[] = { + { {0x0066, 0x0066, 0x0069}, {1, {0xfb03 }}}, + { {0x0066, 0x0066, 0x006c}, {1, {0xfb04 }}}, + { {0x03b1, 0x0342, 0x03b9}, {1, {0x1fb7 }}}, + { {0x03b7, 0x0342, 0x03b9}, {1, {0x1fc7 }}}, + { {0x03b9, 0x0308, 0x0300}, {1, {0x1fd2 }}}, + { {0x03b9, 0x0308, 0x0301}, {2, {0x0390, 0x1fd3 }}}, + { {0x03b9, 0x0308, 0x0342}, {1, {0x1fd7 }}}, + { {0x03c5, 0x0308, 0x0300}, {1, {0x1fe2 }}}, + { {0x03c5, 0x0308, 0x0301}, {2, {0x03b0, 0x1fe3 }}}, + { {0x03c5, 0x0308, 0x0342}, {1, {0x1fe7 }}}, + { {0x03c5, 0x0313, 0x0300}, {1, {0x1f52 }}}, + { {0x03c5, 0x0313, 0x0301}, {1, {0x1f54 }}}, + { {0x03c5, 0x0313, 0x0342}, {1, {0x1f56 }}}, + { {0x03c9, 0x0342, 0x03b9}, {1, {0x1ff7 }}}, +}; diff --git a/enc/unicode/name2ctype.h b/enc/unicode/name2ctype.h index 7c6e687215..2e80edf525 100644 --- a/enc/unicode/name2ctype.h +++ b/enc/unicode/name2ctype.h @@ -36,40 +36,74 @@ error "gperf generated tables don't work with this execution character set. Plea #define long size_t -#ifdef USE_UNICODE_PROPERTIES -/* 'Any': - */ -static const OnigCodePoint CR_Any[] = { +/* 'NEWLINE': [[:NEWLINE:]] */ +static const OnigCodePoint CR_NEWLINE[] = { 1, - 0x0000, 0x10ffff, -}; /* CR_Any */ + 0x000a, 0x000a, +}; /* CR_NEWLINE */ -/* 'Assigned': - */ -static const OnigCodePoint CR_Assigned[] = { - 501, - 0x0000, 0x0377, - 0x037a, 0x037e, - 0x0384, 0x038a, +/* 'Alpha': [[:Alpha:]] */ +static const OnigCodePoint CR_Alpha[] = { + 540, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0345, 0x0345, + 0x0370, 0x0374, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0527, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, 0x0531, 0x0556, - 0x0559, 0x055f, + 0x0559, 0x0559, 0x0561, 0x0587, - 0x0589, 0x058a, - 0x0591, 0x05c7, + 0x05b0, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x0606, 0x061b, - 0x061e, 0x070d, - 0x070f, 0x074a, + 0x05f0, 0x05f2, + 0x0610, 0x061a, + 0x0620, 0x0657, + 0x0659, 0x065f, + 0x066e, 0x06d3, + 0x06d5, 0x06dc, + 0x06e1, 0x06e8, + 0x06ed, 0x06ef, + 0x06fa, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x073f, 0x074d, 0x07b1, - 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0840, 0x085b, - 0x085e, 0x085e, - 0x0900, 0x0977, + 0x07ca, 0x07ea, + 0x07f4, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x0817, + 0x081a, 0x082c, + 0x0840, 0x0858, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08e9, + 0x08f0, 0x08fe, + 0x0900, 0x093b, + 0x093d, 0x094c, + 0x094e, 0x0950, + 0x0955, 0x0963, + 0x0971, 0x0977, 0x0979, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, @@ -78,13 +112,14 @@ static const OnigCodePoint CR_Assigned[] = { 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bc, 0x09c4, + 0x09bd, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09ce, + 0x09cb, 0x09cc, + 0x09ce, 0x09ce, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09fb, + 0x09f0, 0x09f1, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -93,14 +128,13 @@ static const OnigCodePoint CR_Assigned[] = { 0x0a32, 0x0a33, 0x0a35, 0x0a36, 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, 0x0a3e, 0x0a42, 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, + 0x0a4b, 0x0a4c, 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, + 0x0a70, 0x0a75, 0x0a81, 0x0a83, 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, @@ -108,13 +142,11 @@ static const OnigCodePoint CR_Assigned[] = { 0x0aaa, 0x0ab0, 0x0ab2, 0x0ab3, 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, + 0x0abd, 0x0ac5, 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, + 0x0acb, 0x0acc, 0x0ad0, 0x0ad0, 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, @@ -122,13 +154,13 @@ static const OnigCodePoint CR_Assigned[] = { 0x0b2a, 0x0b30, 0x0b32, 0x0b33, 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, + 0x0b3d, 0x0b44, 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, + 0x0b4b, 0x0b4c, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b63, - 0x0b66, 0x0b77, + 0x0b71, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -141,10 +173,9 @@ static const OnigCodePoint CR_Assigned[] = { 0x0bae, 0x0bb9, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, + 0x0bca, 0x0bcc, 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -153,25 +184,22 @@ static const OnigCodePoint CR_Assigned[] = { 0x0c35, 0x0c39, 0x0c3d, 0x0c44, 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, + 0x0c4a, 0x0c4c, 0x0c55, 0x0c56, 0x0c58, 0x0c59, 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, + 0x0cbd, 0x0cc4, 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, + 0x0cca, 0x0ccc, 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, 0x0cf1, 0x0cf2, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, @@ -179,24 +207,24 @@ static const OnigCodePoint CR_Assigned[] = { 0x0d12, 0x0d3a, 0x0d3d, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4e, + 0x0d4a, 0x0d4c, + 0x0d4e, 0x0d4e, 0x0d57, 0x0d57, 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, + 0x0d7a, 0x0d7f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, 0x0db3, 0x0dbb, 0x0dbd, 0x0dbd, 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, 0x0dcf, 0x0dd4, 0x0dd6, 0x0dd6, 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, + 0x0df2, 0x0df3, 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, + 0x0e40, 0x0e46, + 0x0e4d, 0x0e4d, 0x0e81, 0x0e82, 0x0e84, 0x0e84, 0x0e87, 0x0e88, @@ -212,18 +240,27 @@ static const OnigCodePoint CR_Assigned[] = { 0x0ebb, 0x0ebd, 0x0ec0, 0x0ec4, 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f47, + 0x0ecd, 0x0ecd, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f40, 0x0f47, 0x0f49, 0x0f6c, - 0x0f71, 0x0f97, + 0x0f71, 0x0f81, + 0x0f88, 0x0f97, 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fce, 0x0fda, - 0x1000, 0x10c5, - 0x10d0, 0x10fc, - 0x1100, 0x1248, + 0x1000, 0x1036, + 0x1038, 0x1038, + 0x103b, 0x103f, + 0x1050, 0x1062, + 0x1065, 0x1068, + 0x106e, 0x1086, + 0x108e, 0x108e, + 0x109c, 0x109d, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, @@ -239,52 +276,54 @@ static const OnigCodePoint CR_Assigned[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x135d, 0x137c, - 0x1380, 0x1399, + 0x135f, 0x135f, + 0x1380, 0x138f, 0x13a0, 0x13f4, - 0x1400, 0x169c, - 0x16a0, 0x16f0, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, + 0x170e, 0x1713, + 0x1720, 0x1733, 0x1740, 0x1753, 0x1760, 0x176c, 0x176e, 0x1770, 0x1772, 0x1773, - 0x1780, 0x17dd, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1800, 0x180e, - 0x1810, 0x1819, + 0x1780, 0x17b3, + 0x17b6, 0x17c8, + 0x17d7, 0x17d7, + 0x17dc, 0x17dc, 0x1820, 0x1877, 0x1880, 0x18aa, 0x18b0, 0x18f5, 0x1900, 0x191c, 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, + 0x1930, 0x1938, + 0x1950, 0x196d, 0x1970, 0x1974, 0x1980, 0x19ab, 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1bc0, 0x1bf3, - 0x1bfc, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfc, 0x1f15, + 0x1a00, 0x1a1b, + 0x1a20, 0x1a5e, + 0x1a61, 0x1a74, + 0x1aa7, 0x1aa7, + 0x1b00, 0x1b33, + 0x1b35, 0x1b43, + 0x1b45, 0x1b4b, + 0x1b80, 0x1ba9, + 0x1bac, 0x1baf, + 0x1bba, 0x1be5, + 0x1be7, 0x1bf1, + 0x1c00, 0x1c35, + 0x1c4d, 0x1c4f, + 0x1c5a, 0x1c7d, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf3, + 0x1cf5, 0x1cf6, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -294,34 +333,44 @@ static const OnigCodePoint CR_Assigned[] = { 0x1f5d, 0x1f5d, 0x1f5f, 0x1f7d, 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, + 0x1fe0, 0x1fec, 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2000, 0x2064, - 0x206a, 0x2071, - 0x2074, 0x208e, + 0x1ff6, 0x1ffc, + 0x2071, 0x2071, + 0x207f, 0x207f, 0x2090, 0x209c, - 0x20a0, 0x20b9, - 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23f3, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26ff, - 0x2701, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x2b4c, - 0x2b50, 0x2b59, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x212f, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x24b6, 0x24e9, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d70, - 0x2d7f, 0x2d96, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -330,89 +379,93 @@ static const OnigCodePoint CR_Assigned[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x303f, + 0x2de0, 0x2dff, + 0x2e2f, 0x2e2f, + 0x3005, 0x3007, + 0x3021, 0x3029, + 0x3031, 0x3035, + 0x3038, 0x303c, 0x3041, 0x3096, - 0x3099, 0x30ff, + 0x309d, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, 0x3105, 0x312d, 0x3131, 0x318e, - 0x3190, 0x31ba, - 0x31c0, 0x31e3, - 0x31f0, 0x321e, - 0x3220, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, 0xa000, 0xa48c, - 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa673, - 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa61f, + 0xa62a, 0xa62b, + 0xa640, 0xa66e, + 0xa674, 0xa67b, + 0xa67f, 0xa697, + 0xa69f, 0xa6ef, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa827, + 0xa840, 0xa873, + 0xa880, 0xa8c3, + 0xa8f2, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa90a, 0xa92a, + 0xa930, 0xa952, + 0xa960, 0xa97c, + 0xa980, 0xa9b2, + 0xa9b4, 0xa9bf, + 0xa9cf, 0xa9cf, 0xaa00, 0xaa36, 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7a, + 0xaa80, 0xaabe, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaef, + 0xaaf2, 0xaaf5, 0xab01, 0xab06, 0xab09, 0xab0e, 0xab11, 0xab16, 0xab20, 0xab26, 0xab28, 0xab2e, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, + 0xabc0, 0xabea, 0xac00, 0xd7a3, 0xd7b0, 0xd7c6, 0xd7cb, 0xd7fb, - 0xd800, 0xfa2d, - 0xfa30, 0xfa6d, + 0xf900, 0xfa6d, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, + 0xfb1d, 0xfb28, + 0xfb2a, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbc1, - 0xfbd3, 0xfd3f, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, - 0xfe00, 0xfe19, - 0xfe20, 0xfe26, - 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, + 0xfdf0, 0xfdfb, 0xfe70, 0xfe74, 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xffbe, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0xff66, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfff9, 0xfffd, 0x10000, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, @@ -420,61 +473,51 @@ static const OnigCodePoint CR_Assigned[] = { 0x1003f, 0x1004d, 0x10050, 0x1005d, 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, + 0x10140, 0x10174, 0x10280, 0x1029c, 0x102a0, 0x102d0, 0x10300, 0x1031e, - 0x10320, 0x10323, 0x10330, 0x1034a, 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, 0x10400, 0x1049d, - 0x104a0, 0x104a9, 0x10800, 0x10805, 0x10808, 0x10808, 0x1080a, 0x10835, 0x10837, 0x10838, 0x1083c, 0x1083c, 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, 0x10a00, 0x10a03, 0x10a05, 0x10a06, 0x10a0c, 0x10a13, 0x10a15, 0x10a17, 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, + 0x10a60, 0x10a7c, 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11000, 0x1104d, - 0x11052, 0x1106f, - 0x11080, 0x110c1, + 0x11000, 0x11045, + 0x11082, 0x110b8, + 0x110d0, 0x110e8, + 0x11100, 0x11132, + 0x11180, 0x111bf, + 0x111c1, 0x111c4, + 0x11680, 0x116b5, 0x12000, 0x1236e, 0x12400, 0x12462, - 0x12470, 0x12473, 0x13000, 0x1342e, 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f93, 0x16f9f, 0x1b000, 0x1b001, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, - 0x1d200, 0x1d245, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -494,11354 +537,1344 @@ static const OnigCodePoint CR_Assigned[] = { 0x1d546, 0x1d546, 0x1d54a, 0x1d550, 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, 0x20000, 0x2a6d6, 0x2a700, 0x2b734, 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Assigned */ +}; /* CR_Alpha */ -/* 'C': Major Category */ -static const OnigCodePoint CR_C[] = { - 20, - 0x0000, 0x001f, - 0x007f, 0x009f, - 0x00ad, 0x00ad, - 0x0600, 0x0603, - 0x06dd, 0x06dd, - 0x070f, 0x070f, - 0x17b4, 0x17b5, - 0x200b, 0x200f, - 0x202a, 0x202e, - 0x2060, 0x2064, - 0x206a, 0x206f, - 0xd800, 0xf8ff, - 0xfeff, 0xfeff, - 0xfff9, 0xfffb, - 0x110bd, 0x110bd, - 0x1d173, 0x1d17a, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xf0000, 0xffffd, - 0x100000, 0x10ffff, -}; /* CR_C */ +/* 'Blank': [[:Blank:]] */ +static const OnigCodePoint CR_Blank[] = { + 9, + 0x0009, 0x0009, + 0x0020, 0x0020, + 0x00a0, 0x00a0, + 0x1680, 0x1680, + 0x180e, 0x180e, + 0x2000, 0x200a, + 0x202f, 0x202f, + 0x205f, 0x205f, + 0x3000, 0x3000, +}; /* CR_Blank */ -/* 'Cc': General Category */ -static const OnigCodePoint CR_Cc[] = { +/* 'Cntrl': [[:Cntrl:]] */ +static const OnigCodePoint CR_Cntrl[] = { 2, 0x0000, 0x001f, 0x007f, 0x009f, -}; /* CR_Cc */ +}; /* CR_Cntrl */ -/* 'Cf': General Category */ -static const OnigCodePoint CR_Cf[] = { - 15, - 0x00ad, 0x00ad, - 0x0600, 0x0603, - 0x06dd, 0x06dd, - 0x070f, 0x070f, - 0x17b4, 0x17b5, - 0x200b, 0x200f, - 0x202a, 0x202e, - 0x2060, 0x2064, - 0x206a, 0x206f, - 0xfeff, 0xfeff, - 0xfff9, 0xfffb, - 0x110bd, 0x110bd, - 0x1d173, 0x1d17a, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, -}; /* CR_Cf */ +/* 'Digit': [[:Digit:]] */ +static const OnigCodePoint CR_Digit[] = { + 42, + 0x0030, 0x0039, + 0x0660, 0x0669, + 0x06f0, 0x06f9, + 0x07c0, 0x07c9, + 0x0966, 0x096f, + 0x09e6, 0x09ef, + 0x0a66, 0x0a6f, + 0x0ae6, 0x0aef, + 0x0b66, 0x0b6f, + 0x0be6, 0x0bef, + 0x0c66, 0x0c6f, + 0x0ce6, 0x0cef, + 0x0d66, 0x0d6f, + 0x0e50, 0x0e59, + 0x0ed0, 0x0ed9, + 0x0f20, 0x0f29, + 0x1040, 0x1049, + 0x1090, 0x1099, + 0x17e0, 0x17e9, + 0x1810, 0x1819, + 0x1946, 0x194f, + 0x19d0, 0x19d9, + 0x1a80, 0x1a89, + 0x1a90, 0x1a99, + 0x1b50, 0x1b59, + 0x1bb0, 0x1bb9, + 0x1c40, 0x1c49, + 0x1c50, 0x1c59, + 0xa620, 0xa629, + 0xa8d0, 0xa8d9, + 0xa900, 0xa909, + 0xa9d0, 0xa9d9, + 0xaa50, 0xaa59, + 0xabf0, 0xabf9, + 0xff10, 0xff19, + 0x104a0, 0x104a9, + 0x11066, 0x1106f, + 0x110f0, 0x110f9, + 0x11136, 0x1113f, + 0x111d0, 0x111d9, + 0x116c0, 0x116c9, + 0x1d7ce, 0x1d7ff, +}; /* CR_Digit */ -/* 'Cn': General Category */ -static const OnigCodePoint CR_Cn[] = { - 501, - 0x0378, 0x0379, - 0x037f, 0x0383, - 0x038b, 0x038b, - 0x038d, 0x038d, - 0x03a2, 0x03a2, - 0x0528, 0x0530, - 0x0557, 0x0558, - 0x0560, 0x0560, - 0x0588, 0x0588, - 0x058b, 0x0590, - 0x05c8, 0x05cf, - 0x05eb, 0x05ef, - 0x05f5, 0x05ff, - 0x0604, 0x0605, - 0x061c, 0x061d, - 0x070e, 0x070e, - 0x074b, 0x074c, - 0x07b2, 0x07bf, - 0x07fb, 0x07ff, - 0x082e, 0x082f, - 0x083f, 0x083f, - 0x085c, 0x085d, - 0x085f, 0x08ff, - 0x0978, 0x0978, - 0x0980, 0x0980, - 0x0984, 0x0984, - 0x098d, 0x098e, - 0x0991, 0x0992, - 0x09a9, 0x09a9, - 0x09b1, 0x09b1, - 0x09b3, 0x09b5, - 0x09ba, 0x09bb, - 0x09c5, 0x09c6, - 0x09c9, 0x09ca, - 0x09cf, 0x09d6, - 0x09d8, 0x09db, - 0x09de, 0x09de, - 0x09e4, 0x09e5, - 0x09fc, 0x0a00, - 0x0a04, 0x0a04, - 0x0a0b, 0x0a0e, - 0x0a11, 0x0a12, - 0x0a29, 0x0a29, - 0x0a31, 0x0a31, - 0x0a34, 0x0a34, - 0x0a37, 0x0a37, - 0x0a3a, 0x0a3b, - 0x0a3d, 0x0a3d, - 0x0a43, 0x0a46, - 0x0a49, 0x0a4a, - 0x0a4e, 0x0a50, - 0x0a52, 0x0a58, - 0x0a5d, 0x0a5d, - 0x0a5f, 0x0a65, - 0x0a76, 0x0a80, - 0x0a84, 0x0a84, - 0x0a8e, 0x0a8e, - 0x0a92, 0x0a92, - 0x0aa9, 0x0aa9, - 0x0ab1, 0x0ab1, - 0x0ab4, 0x0ab4, - 0x0aba, 0x0abb, - 0x0ac6, 0x0ac6, - 0x0aca, 0x0aca, - 0x0ace, 0x0acf, - 0x0ad1, 0x0adf, - 0x0ae4, 0x0ae5, - 0x0af0, 0x0af0, - 0x0af2, 0x0b00, - 0x0b04, 0x0b04, - 0x0b0d, 0x0b0e, - 0x0b11, 0x0b12, - 0x0b29, 0x0b29, - 0x0b31, 0x0b31, - 0x0b34, 0x0b34, - 0x0b3a, 0x0b3b, - 0x0b45, 0x0b46, - 0x0b49, 0x0b4a, - 0x0b4e, 0x0b55, - 0x0b58, 0x0b5b, - 0x0b5e, 0x0b5e, - 0x0b64, 0x0b65, - 0x0b78, 0x0b81, - 0x0b84, 0x0b84, - 0x0b8b, 0x0b8d, - 0x0b91, 0x0b91, - 0x0b96, 0x0b98, - 0x0b9b, 0x0b9b, - 0x0b9d, 0x0b9d, - 0x0ba0, 0x0ba2, - 0x0ba5, 0x0ba7, - 0x0bab, 0x0bad, - 0x0bba, 0x0bbd, - 0x0bc3, 0x0bc5, - 0x0bc9, 0x0bc9, - 0x0bce, 0x0bcf, - 0x0bd1, 0x0bd6, - 0x0bd8, 0x0be5, - 0x0bfb, 0x0c00, - 0x0c04, 0x0c04, - 0x0c0d, 0x0c0d, - 0x0c11, 0x0c11, - 0x0c29, 0x0c29, - 0x0c34, 0x0c34, - 0x0c3a, 0x0c3c, - 0x0c45, 0x0c45, - 0x0c49, 0x0c49, - 0x0c4e, 0x0c54, - 0x0c57, 0x0c57, - 0x0c5a, 0x0c5f, - 0x0c64, 0x0c65, - 0x0c70, 0x0c77, - 0x0c80, 0x0c81, - 0x0c84, 0x0c84, - 0x0c8d, 0x0c8d, - 0x0c91, 0x0c91, - 0x0ca9, 0x0ca9, - 0x0cb4, 0x0cb4, - 0x0cba, 0x0cbb, - 0x0cc5, 0x0cc5, - 0x0cc9, 0x0cc9, - 0x0cce, 0x0cd4, - 0x0cd7, 0x0cdd, - 0x0cdf, 0x0cdf, - 0x0ce4, 0x0ce5, - 0x0cf0, 0x0cf0, - 0x0cf3, 0x0d01, - 0x0d04, 0x0d04, - 0x0d0d, 0x0d0d, - 0x0d11, 0x0d11, - 0x0d3b, 0x0d3c, - 0x0d45, 0x0d45, - 0x0d49, 0x0d49, - 0x0d4f, 0x0d56, - 0x0d58, 0x0d5f, - 0x0d64, 0x0d65, - 0x0d76, 0x0d78, - 0x0d80, 0x0d81, - 0x0d84, 0x0d84, - 0x0d97, 0x0d99, - 0x0db2, 0x0db2, - 0x0dbc, 0x0dbc, - 0x0dbe, 0x0dbf, - 0x0dc7, 0x0dc9, - 0x0dcb, 0x0dce, - 0x0dd5, 0x0dd5, - 0x0dd7, 0x0dd7, - 0x0de0, 0x0df1, - 0x0df5, 0x0e00, - 0x0e3b, 0x0e3e, - 0x0e5c, 0x0e80, - 0x0e83, 0x0e83, - 0x0e85, 0x0e86, - 0x0e89, 0x0e89, - 0x0e8b, 0x0e8c, - 0x0e8e, 0x0e93, - 0x0e98, 0x0e98, - 0x0ea0, 0x0ea0, - 0x0ea4, 0x0ea4, - 0x0ea6, 0x0ea6, - 0x0ea8, 0x0ea9, - 0x0eac, 0x0eac, - 0x0eba, 0x0eba, - 0x0ebe, 0x0ebf, - 0x0ec5, 0x0ec5, - 0x0ec7, 0x0ec7, - 0x0ece, 0x0ecf, - 0x0eda, 0x0edb, - 0x0ede, 0x0eff, - 0x0f48, 0x0f48, - 0x0f6d, 0x0f70, - 0x0f98, 0x0f98, - 0x0fbd, 0x0fbd, - 0x0fcd, 0x0fcd, - 0x0fdb, 0x0fff, - 0x10c6, 0x10cf, - 0x10fd, 0x10ff, - 0x1249, 0x1249, - 0x124e, 0x124f, - 0x1257, 0x1257, - 0x1259, 0x1259, - 0x125e, 0x125f, - 0x1289, 0x1289, - 0x128e, 0x128f, - 0x12b1, 0x12b1, - 0x12b6, 0x12b7, - 0x12bf, 0x12bf, - 0x12c1, 0x12c1, - 0x12c6, 0x12c7, - 0x12d7, 0x12d7, - 0x1311, 0x1311, - 0x1316, 0x1317, - 0x135b, 0x135c, - 0x137d, 0x137f, - 0x139a, 0x139f, - 0x13f5, 0x13ff, - 0x169d, 0x169f, - 0x16f1, 0x16ff, - 0x170d, 0x170d, - 0x1715, 0x171f, - 0x1737, 0x173f, - 0x1754, 0x175f, - 0x176d, 0x176d, - 0x1771, 0x1771, - 0x1774, 0x177f, - 0x17de, 0x17df, - 0x17ea, 0x17ef, - 0x17fa, 0x17ff, - 0x180f, 0x180f, - 0x181a, 0x181f, - 0x1878, 0x187f, - 0x18ab, 0x18af, - 0x18f6, 0x18ff, - 0x191d, 0x191f, - 0x192c, 0x192f, - 0x193c, 0x193f, - 0x1941, 0x1943, - 0x196e, 0x196f, - 0x1975, 0x197f, - 0x19ac, 0x19af, - 0x19ca, 0x19cf, - 0x19db, 0x19dd, - 0x1a1c, 0x1a1d, - 0x1a5f, 0x1a5f, - 0x1a7d, 0x1a7e, - 0x1a8a, 0x1a8f, - 0x1a9a, 0x1a9f, - 0x1aae, 0x1aff, - 0x1b4c, 0x1b4f, - 0x1b7d, 0x1b7f, - 0x1bab, 0x1bad, - 0x1bba, 0x1bbf, - 0x1bf4, 0x1bfb, - 0x1c38, 0x1c3a, - 0x1c4a, 0x1c4c, - 0x1c80, 0x1ccf, - 0x1cf3, 0x1cff, - 0x1de7, 0x1dfb, - 0x1f16, 0x1f17, - 0x1f1e, 0x1f1f, - 0x1f46, 0x1f47, - 0x1f4e, 0x1f4f, - 0x1f58, 0x1f58, - 0x1f5a, 0x1f5a, - 0x1f5c, 0x1f5c, - 0x1f5e, 0x1f5e, - 0x1f7e, 0x1f7f, - 0x1fb5, 0x1fb5, - 0x1fc5, 0x1fc5, - 0x1fd4, 0x1fd5, - 0x1fdc, 0x1fdc, - 0x1ff0, 0x1ff1, - 0x1ff5, 0x1ff5, - 0x1fff, 0x1fff, - 0x2065, 0x2069, - 0x2072, 0x2073, - 0x208f, 0x208f, - 0x209d, 0x209f, - 0x20ba, 0x20cf, - 0x20f1, 0x20ff, - 0x218a, 0x218f, - 0x23f4, 0x23ff, - 0x2427, 0x243f, - 0x244b, 0x245f, - 0x2700, 0x2700, - 0x27cb, 0x27cb, - 0x27cd, 0x27cd, - 0x2b4d, 0x2b4f, - 0x2b5a, 0x2bff, - 0x2c2f, 0x2c2f, - 0x2c5f, 0x2c5f, - 0x2cf2, 0x2cf8, - 0x2d26, 0x2d2f, - 0x2d66, 0x2d6e, - 0x2d71, 0x2d7e, - 0x2d97, 0x2d9f, - 0x2da7, 0x2da7, - 0x2daf, 0x2daf, - 0x2db7, 0x2db7, - 0x2dbf, 0x2dbf, - 0x2dc7, 0x2dc7, - 0x2dcf, 0x2dcf, - 0x2dd7, 0x2dd7, - 0x2ddf, 0x2ddf, - 0x2e32, 0x2e7f, - 0x2e9a, 0x2e9a, - 0x2ef4, 0x2eff, - 0x2fd6, 0x2fef, - 0x2ffc, 0x2fff, - 0x3040, 0x3040, - 0x3097, 0x3098, - 0x3100, 0x3104, - 0x312e, 0x3130, - 0x318f, 0x318f, - 0x31bb, 0x31bf, - 0x31e4, 0x31ef, - 0x321f, 0x321f, - 0x32ff, 0x32ff, - 0x4db6, 0x4dbf, - 0x9fcc, 0x9fff, - 0xa48d, 0xa48f, - 0xa4c7, 0xa4cf, - 0xa62c, 0xa63f, - 0xa674, 0xa67b, - 0xa698, 0xa69f, - 0xa6f8, 0xa6ff, - 0xa78f, 0xa78f, - 0xa792, 0xa79f, - 0xa7aa, 0xa7f9, - 0xa82c, 0xa82f, - 0xa83a, 0xa83f, - 0xa878, 0xa87f, - 0xa8c5, 0xa8cd, - 0xa8da, 0xa8df, - 0xa8fc, 0xa8ff, - 0xa954, 0xa95e, - 0xa97d, 0xa97f, - 0xa9ce, 0xa9ce, - 0xa9da, 0xa9dd, - 0xa9e0, 0xa9ff, - 0xaa37, 0xaa3f, - 0xaa4e, 0xaa4f, - 0xaa5a, 0xaa5b, - 0xaa7c, 0xaa7f, - 0xaac3, 0xaada, - 0xaae0, 0xab00, - 0xab07, 0xab08, - 0xab0f, 0xab10, - 0xab17, 0xab1f, - 0xab27, 0xab27, - 0xab2f, 0xabbf, - 0xabee, 0xabef, - 0xabfa, 0xabff, - 0xd7a4, 0xd7af, - 0xd7c7, 0xd7ca, - 0xd7fc, 0xd7ff, - 0xfa2e, 0xfa2f, - 0xfa6e, 0xfa6f, - 0xfada, 0xfaff, - 0xfb07, 0xfb12, - 0xfb18, 0xfb1c, - 0xfb37, 0xfb37, - 0xfb3d, 0xfb3d, - 0xfb3f, 0xfb3f, - 0xfb42, 0xfb42, - 0xfb45, 0xfb45, - 0xfbc2, 0xfbd2, - 0xfd40, 0xfd4f, - 0xfd90, 0xfd91, - 0xfdc8, 0xfdef, - 0xfdfe, 0xfdff, - 0xfe1a, 0xfe1f, - 0xfe27, 0xfe2f, - 0xfe53, 0xfe53, - 0xfe67, 0xfe67, - 0xfe6c, 0xfe6f, - 0xfe75, 0xfe75, - 0xfefd, 0xfefe, - 0xff00, 0xff00, - 0xffbf, 0xffc1, - 0xffc8, 0xffc9, - 0xffd0, 0xffd1, - 0xffd8, 0xffd9, - 0xffdd, 0xffdf, - 0xffe7, 0xffe7, - 0xffef, 0xfff8, - 0xfffe, 0xffff, - 0x1000c, 0x1000c, - 0x10027, 0x10027, - 0x1003b, 0x1003b, - 0x1003e, 0x1003e, - 0x1004e, 0x1004f, - 0x1005e, 0x1007f, - 0x100fb, 0x100ff, - 0x10103, 0x10106, - 0x10134, 0x10136, - 0x1018b, 0x1018f, - 0x1019c, 0x101cf, - 0x101fe, 0x1027f, - 0x1029d, 0x1029f, - 0x102d1, 0x102ff, - 0x1031f, 0x1031f, - 0x10324, 0x1032f, - 0x1034b, 0x1037f, - 0x1039e, 0x1039e, - 0x103c4, 0x103c7, - 0x103d6, 0x103ff, - 0x1049e, 0x1049f, - 0x104aa, 0x107ff, - 0x10806, 0x10807, - 0x10809, 0x10809, - 0x10836, 0x10836, - 0x10839, 0x1083b, - 0x1083d, 0x1083e, - 0x10856, 0x10856, - 0x10860, 0x108ff, - 0x1091c, 0x1091e, - 0x1093a, 0x1093e, - 0x10940, 0x109ff, - 0x10a04, 0x10a04, - 0x10a07, 0x10a0b, - 0x10a14, 0x10a14, - 0x10a18, 0x10a18, - 0x10a34, 0x10a37, - 0x10a3b, 0x10a3e, - 0x10a48, 0x10a4f, - 0x10a59, 0x10a5f, - 0x10a80, 0x10aff, - 0x10b36, 0x10b38, - 0x10b56, 0x10b57, - 0x10b73, 0x10b77, - 0x10b80, 0x10bff, - 0x10c49, 0x10e5f, - 0x10e7f, 0x10fff, - 0x1104e, 0x11051, - 0x11070, 0x1107f, - 0x110c2, 0x11fff, - 0x1236f, 0x123ff, - 0x12463, 0x1246f, - 0x12474, 0x12fff, - 0x1342f, 0x167ff, - 0x16a39, 0x1afff, - 0x1b002, 0x1cfff, - 0x1d0f6, 0x1d0ff, - 0x1d127, 0x1d128, - 0x1d1de, 0x1d1ff, - 0x1d246, 0x1d2ff, - 0x1d357, 0x1d35f, - 0x1d372, 0x1d3ff, - 0x1d455, 0x1d455, - 0x1d49d, 0x1d49d, - 0x1d4a0, 0x1d4a1, - 0x1d4a3, 0x1d4a4, - 0x1d4a7, 0x1d4a8, - 0x1d4ad, 0x1d4ad, - 0x1d4ba, 0x1d4ba, - 0x1d4bc, 0x1d4bc, - 0x1d4c4, 0x1d4c4, - 0x1d506, 0x1d506, - 0x1d50b, 0x1d50c, - 0x1d515, 0x1d515, - 0x1d51d, 0x1d51d, - 0x1d53a, 0x1d53a, - 0x1d53f, 0x1d53f, - 0x1d545, 0x1d545, - 0x1d547, 0x1d549, - 0x1d551, 0x1d551, - 0x1d6a6, 0x1d6a7, - 0x1d7cc, 0x1d7cd, - 0x1d800, 0x1efff, - 0x1f02c, 0x1f02f, - 0x1f094, 0x1f09f, - 0x1f0af, 0x1f0b0, - 0x1f0bf, 0x1f0c0, - 0x1f0d0, 0x1f0d0, - 0x1f0e0, 0x1f0ff, - 0x1f10b, 0x1f10f, - 0x1f12f, 0x1f12f, - 0x1f16a, 0x1f16f, - 0x1f19b, 0x1f1e5, - 0x1f203, 0x1f20f, - 0x1f23b, 0x1f23f, - 0x1f249, 0x1f24f, - 0x1f252, 0x1f2ff, - 0x1f321, 0x1f32f, - 0x1f336, 0x1f336, - 0x1f37d, 0x1f37f, - 0x1f394, 0x1f39f, - 0x1f3c5, 0x1f3c5, - 0x1f3cb, 0x1f3df, - 0x1f3f1, 0x1f3ff, - 0x1f43f, 0x1f43f, - 0x1f441, 0x1f441, - 0x1f4f8, 0x1f4f8, - 0x1f4fd, 0x1f4ff, - 0x1f53e, 0x1f54f, - 0x1f568, 0x1f5fa, - 0x1f600, 0x1f600, - 0x1f611, 0x1f611, - 0x1f615, 0x1f615, - 0x1f617, 0x1f617, - 0x1f619, 0x1f619, - 0x1f61b, 0x1f61b, - 0x1f61f, 0x1f61f, - 0x1f626, 0x1f627, - 0x1f62c, 0x1f62c, - 0x1f62e, 0x1f62f, - 0x1f634, 0x1f634, - 0x1f641, 0x1f644, - 0x1f650, 0x1f67f, - 0x1f6c6, 0x1f6ff, - 0x1f774, 0x1ffff, - 0x2a6d7, 0x2a6ff, - 0x2b735, 0x2b73f, - 0x2b81e, 0x2f7ff, - 0x2fa1e, 0xe0000, - 0xe0002, 0xe001f, - 0xe0080, 0xe00ff, - 0xe01f0, 0xeffff, - 0xffffe, 0xfffff, - 0x10fffe, 0x10ffff, -}; /* CR_Cn */ - -/* 'Co': General Category */ -static const OnigCodePoint CR_Co[] = { - 3, - 0xe000, 0xf8ff, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Co */ - -/* 'Cs': General Category */ -static const OnigCodePoint CR_Cs[] = { - 1, - 0xd800, 0xdfff, -}; /* CR_Cs */ - -/* 'L': Major Category */ -static const OnigCodePoint CR_L[] = { - 435, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0620, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06e5, 0x06e6, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0840, 0x0858, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0971, 0x0977, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0cf1, 0x0cf2, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d3d, - 0x0d4e, 0x0d4e, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e40, 0x0e46, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8c, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1aa7, 0x1aa7, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1bc0, 0x1be5, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2183, 0x2184, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2e2f, 0x2e2f, - 0x3005, 0x3006, - 0x3031, 0x3035, - 0x303b, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6e5, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x10340, - 0x10342, 0x10349, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11003, 0x11037, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, -}; /* CR_L */ - -/* 'Ll': General Category */ -static const OnigCodePoint CR_Ll[] = { - 609, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0138, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018d, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019b, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01aa, 0x01ab, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01ba, - 0x01bd, 0x01bf, - 0x01c6, 0x01c6, - 0x01c9, 0x01c9, - 0x01cc, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f0, - 0x01f3, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0221, 0x0221, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0239, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0293, - 0x0295, 0x02af, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037b, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f3, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fc, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0527, 0x0527, - 0x0561, 0x0587, - 0x1d00, 0x1d2b, - 0x1d62, 0x1d77, - 0x1d79, 0x1d9a, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9d, - 0x1e9f, 0x1e9f, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1f87, - 0x1f90, 0x1f97, - 0x1fa0, 0x1fa7, - 0x1fb0, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x210a, 0x210a, - 0x210e, 0x210f, - 0x2113, 0x2113, - 0x212f, 0x212f, - 0x2134, 0x2134, - 0x2139, 0x2139, - 0x213c, 0x213d, - 0x2146, 0x2149, - 0x214e, 0x214e, - 0x2184, 0x2184, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c71, 0x2c71, - 0x2c73, 0x2c74, - 0x2c76, 0x2c7c, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce4, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa661, 0xa661, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa731, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa76f, - 0xa771, 0xa778, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xa78e, 0xa78e, - 0xa791, 0xa791, - 0xa7a1, 0xa7a1, - 0xa7a3, 0xa7a3, - 0xa7a5, 0xa7a5, - 0xa7a7, 0xa7a7, - 0xa7a9, 0xa7a9, - 0xa7fa, 0xa7fa, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, - 0x1d41a, 0x1d433, - 0x1d44e, 0x1d454, - 0x1d456, 0x1d467, - 0x1d482, 0x1d49b, - 0x1d4b6, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d4cf, - 0x1d4ea, 0x1d503, - 0x1d51e, 0x1d537, - 0x1d552, 0x1d56b, - 0x1d586, 0x1d59f, - 0x1d5ba, 0x1d5d3, - 0x1d5ee, 0x1d607, - 0x1d622, 0x1d63b, - 0x1d656, 0x1d66f, - 0x1d68a, 0x1d6a5, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6e1, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d71b, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d755, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d78f, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7c9, - 0x1d7cb, 0x1d7cb, -}; /* CR_Ll */ - -/* 'Lm': General Category */ -static const OnigCodePoint CR_Lm[] = { - 49, - 0x02b0, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0374, 0x0374, - 0x037a, 0x037a, - 0x0559, 0x0559, - 0x0640, 0x0640, - 0x06e5, 0x06e6, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0971, 0x0971, - 0x0e46, 0x0e46, - 0x0ec6, 0x0ec6, - 0x10fc, 0x10fc, - 0x17d7, 0x17d7, - 0x1843, 0x1843, - 0x1aa7, 0x1aa7, - 0x1c78, 0x1c7d, - 0x1d2c, 0x1d61, - 0x1d78, 0x1d78, - 0x1d9b, 0x1dbf, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x2c7d, 0x2c7d, - 0x2d6f, 0x2d6f, - 0x2e2f, 0x2e2f, - 0x3005, 0x3005, - 0x3031, 0x3035, - 0x303b, 0x303b, - 0x309d, 0x309e, - 0x30fc, 0x30fe, - 0xa015, 0xa015, - 0xa4f8, 0xa4fd, - 0xa60c, 0xa60c, - 0xa67f, 0xa67f, - 0xa717, 0xa71f, - 0xa770, 0xa770, - 0xa788, 0xa788, - 0xa9cf, 0xa9cf, - 0xaa70, 0xaa70, - 0xaadd, 0xaadd, - 0xff70, 0xff70, - 0xff9e, 0xff9f, -}; /* CR_Lm */ - -/* 'Lo': General Category */ -static const OnigCodePoint CR_Lo[] = { - 323, - 0x01bb, 0x01bb, - 0x01c0, 0x01c3, - 0x0294, 0x0294, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0620, 0x063f, - 0x0641, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x0800, 0x0815, - 0x0840, 0x0858, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0972, 0x0977, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0cf1, 0x0cf2, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d3d, - 0x0d4e, 0x0d4e, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e40, 0x0e45, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8c, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10d0, 0x10fa, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17dc, 0x17dc, - 0x1820, 0x1842, - 0x1844, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1bc0, 0x1be5, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c77, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x2135, 0x2138, - 0x2d30, 0x2d65, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x3006, 0x3006, - 0x303c, 0x303c, - 0x3041, 0x3096, - 0x309f, 0x309f, - 0x30a1, 0x30fa, - 0x30ff, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa014, - 0xa016, 0xa48c, - 0xa4d0, 0xa4f7, - 0xa500, 0xa60b, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa66e, 0xa66e, - 0xa6a0, 0xa6e5, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa6f, - 0xaa71, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadc, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff66, 0xff6f, - 0xff71, 0xff9d, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x10340, - 0x10342, 0x10349, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x10450, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11003, 0x11037, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, -}; /* CR_Lo */ - -/* 'Lt': General Category */ -static const OnigCodePoint CR_Lt[] = { - 10, - 0x01c5, 0x01c5, - 0x01c8, 0x01c8, - 0x01cb, 0x01cb, - 0x01f2, 0x01f2, - 0x1f88, 0x1f8f, - 0x1f98, 0x1f9f, - 0x1fa8, 0x1faf, - 0x1fbc, 0x1fbc, - 0x1fcc, 0x1fcc, - 0x1ffc, 0x1ffc, -}; /* CR_Lt */ - -/* 'Lu': General Category */ -static const OnigCodePoint CR_Lu[] = { - 603, - 0x0041, 0x005a, - 0x00c0, 0x00d6, - 0x00d8, 0x00de, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x014a, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c4, - 0x01c7, 0x01c7, - 0x01ca, 0x01ca, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f1, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03cf, 0x03cf, - 0x03d2, 0x03d4, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f4, 0x03f4, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0526, 0x0526, - 0x0531, 0x0556, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1fb8, 0x1fbb, - 0x1fc8, 0x1fcb, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff8, 0x1ffb, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210b, 0x210d, - 0x2110, 0x2112, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x2130, 0x2133, - 0x213e, 0x213f, - 0x2145, 0x2145, - 0x2183, 0x2183, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa660, 0xa660, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xa78d, 0xa78d, - 0xa790, 0xa790, - 0xa7a0, 0xa7a0, - 0xa7a2, 0xa7a2, - 0xa7a4, 0xa7a4, - 0xa7a6, 0xa7a6, - 0xa7a8, 0xa7a8, - 0xff21, 0xff3a, - 0x10400, 0x10427, - 0x1d400, 0x1d419, - 0x1d434, 0x1d44d, - 0x1d468, 0x1d481, - 0x1d49c, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b5, - 0x1d4d0, 0x1d4e9, - 0x1d504, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d538, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d56c, 0x1d585, - 0x1d5a0, 0x1d5b9, - 0x1d5d4, 0x1d5ed, - 0x1d608, 0x1d621, - 0x1d63c, 0x1d655, - 0x1d670, 0x1d689, - 0x1d6a8, 0x1d6c0, - 0x1d6e2, 0x1d6fa, - 0x1d71c, 0x1d734, - 0x1d756, 0x1d76e, - 0x1d790, 0x1d7a8, - 0x1d7ca, 0x1d7ca, -}; /* CR_Lu */ - -/* 'M': Major Category */ -static const OnigCodePoint CR_M[] = { - 193, - 0x0300, 0x036f, - 0x0483, 0x0489, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x065f, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06df, 0x06e4, - 0x06e7, 0x06e8, - 0x06ea, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f3, - 0x0816, 0x0819, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082d, - 0x0859, 0x085b, - 0x0900, 0x0903, - 0x093a, 0x093c, - 0x093e, 0x094f, - 0x0951, 0x0957, - 0x0962, 0x0963, - 0x0981, 0x0983, - 0x09bc, 0x09bc, - 0x09be, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cd, - 0x09d7, 0x09d7, - 0x09e2, 0x09e3, - 0x0a01, 0x0a03, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a83, - 0x0abc, 0x0abc, - 0x0abe, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b03, - 0x0b3c, 0x0b3c, - 0x0b3e, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c3e, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0c82, 0x0c83, - 0x0cbc, 0x0cbc, - 0x0cbe, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0ce2, 0x0ce3, - 0x0d02, 0x0d03, - 0x0d3e, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d62, 0x0d63, - 0x0d82, 0x0d83, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e47, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f3f, - 0x0f71, 0x0f84, - 0x0f86, 0x0f87, - 0x0f8d, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102b, 0x103e, - 0x1056, 0x1059, - 0x105e, 0x1060, - 0x1062, 0x1064, - 0x1067, 0x106d, - 0x1071, 0x1074, - 0x1082, 0x108d, - 0x108f, 0x108f, - 0x109a, 0x109d, - 0x135d, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b6, 0x17d3, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x18a9, 0x18a9, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x19b0, 0x19c0, - 0x19c8, 0x19c9, - 0x1a17, 0x1a1b, - 0x1a55, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b00, 0x1b04, - 0x1b34, 0x1b44, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b82, - 0x1ba1, 0x1baa, - 0x1be6, 0x1bf3, - 0x1c24, 0x1c37, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce8, - 0x1ced, 0x1ced, - 0x1cf2, 0x1cf2, - 0x1dc0, 0x1de6, - 0x1dfc, 0x1dff, - 0x20d0, 0x20f0, - 0x2cef, 0x2cf1, - 0x2d7f, 0x2d7f, - 0x2de0, 0x2dff, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xa66f, 0xa672, - 0xa67c, 0xa67d, - 0xa6f0, 0xa6f1, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa823, 0xa827, - 0xa880, 0xa881, - 0xa8b4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa953, - 0xa980, 0xa983, - 0xa9b3, 0xa9c0, - 0xaa29, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4d, - 0xaa7b, 0xaa7b, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xabe3, 0xabea, - 0xabec, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11000, 0x11002, - 0x11038, 0x11046, - 0x11080, 0x11082, - 0x110b0, 0x110ba, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0100, 0xe01ef, -}; /* CR_M */ - -/* 'Mc': General Category */ -static const OnigCodePoint CR_Mc[] = { - 113, - 0x0903, 0x0903, - 0x093b, 0x093b, - 0x093e, 0x0940, - 0x0949, 0x094c, - 0x094e, 0x094f, - 0x0982, 0x0983, - 0x09be, 0x09c0, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09d7, 0x09d7, - 0x0a03, 0x0a03, - 0x0a3e, 0x0a40, - 0x0a83, 0x0a83, - 0x0abe, 0x0ac0, - 0x0ac9, 0x0ac9, - 0x0acb, 0x0acc, - 0x0b02, 0x0b03, - 0x0b3e, 0x0b3e, - 0x0b40, 0x0b40, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b57, 0x0b57, - 0x0bbe, 0x0bbf, - 0x0bc1, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c41, 0x0c44, - 0x0c82, 0x0c83, - 0x0cbe, 0x0cbe, - 0x0cc0, 0x0cc4, - 0x0cc7, 0x0cc8, - 0x0cca, 0x0ccb, - 0x0cd5, 0x0cd6, - 0x0d02, 0x0d03, - 0x0d3e, 0x0d40, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d57, 0x0d57, - 0x0d82, 0x0d83, - 0x0dcf, 0x0dd1, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0f3e, 0x0f3f, - 0x0f7f, 0x0f7f, - 0x102b, 0x102c, - 0x1031, 0x1031, - 0x1038, 0x1038, - 0x103b, 0x103c, - 0x1056, 0x1057, - 0x1062, 0x1064, - 0x1067, 0x106d, - 0x1083, 0x1084, - 0x1087, 0x108c, - 0x108f, 0x108f, - 0x109a, 0x109c, - 0x17b6, 0x17b6, - 0x17be, 0x17c5, - 0x17c7, 0x17c8, - 0x1923, 0x1926, - 0x1929, 0x192b, - 0x1930, 0x1931, - 0x1933, 0x1938, - 0x19b0, 0x19c0, - 0x19c8, 0x19c9, - 0x1a19, 0x1a1b, - 0x1a55, 0x1a55, - 0x1a57, 0x1a57, - 0x1a61, 0x1a61, - 0x1a63, 0x1a64, - 0x1a6d, 0x1a72, - 0x1b04, 0x1b04, - 0x1b35, 0x1b35, - 0x1b3b, 0x1b3b, - 0x1b3d, 0x1b41, - 0x1b43, 0x1b44, - 0x1b82, 0x1b82, - 0x1ba1, 0x1ba1, - 0x1ba6, 0x1ba7, - 0x1baa, 0x1baa, - 0x1be7, 0x1be7, - 0x1bea, 0x1bec, - 0x1bee, 0x1bee, - 0x1bf2, 0x1bf3, - 0x1c24, 0x1c2b, - 0x1c34, 0x1c35, - 0x1ce1, 0x1ce1, - 0x1cf2, 0x1cf2, - 0xa823, 0xa824, - 0xa827, 0xa827, - 0xa880, 0xa881, - 0xa8b4, 0xa8c3, - 0xa952, 0xa953, - 0xa983, 0xa983, - 0xa9b4, 0xa9b5, - 0xa9ba, 0xa9bb, - 0xa9bd, 0xa9c0, - 0xaa2f, 0xaa30, - 0xaa33, 0xaa34, - 0xaa4d, 0xaa4d, - 0xaa7b, 0xaa7b, - 0xabe3, 0xabe4, - 0xabe6, 0xabe7, - 0xabe9, 0xabea, - 0xabec, 0xabec, - 0x11000, 0x11000, - 0x11002, 0x11002, - 0x11082, 0x11082, - 0x110b0, 0x110b2, - 0x110b7, 0x110b8, - 0x1d165, 0x1d166, - 0x1d16d, 0x1d172, -}; /* CR_Mc */ - -/* 'Me': General Category */ -static const OnigCodePoint CR_Me[] = { - 4, - 0x0488, 0x0489, - 0x20dd, 0x20e0, - 0x20e2, 0x20e4, - 0xa670, 0xa672, -}; /* CR_Me */ - -/* 'Mn': General Category */ -static const OnigCodePoint CR_Mn[] = { - 203, - 0x0300, 0x036f, - 0x0483, 0x0487, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x065f, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06df, 0x06e4, - 0x06e7, 0x06e8, - 0x06ea, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f3, - 0x0816, 0x0819, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082d, - 0x0859, 0x085b, - 0x0900, 0x0902, - 0x093a, 0x093a, - 0x093c, 0x093c, - 0x0941, 0x0948, - 0x094d, 0x094d, - 0x0951, 0x0957, - 0x0962, 0x0963, - 0x0981, 0x0981, - 0x09bc, 0x09bc, - 0x09c1, 0x09c4, - 0x09cd, 0x09cd, - 0x09e2, 0x09e3, - 0x0a01, 0x0a02, - 0x0a3c, 0x0a3c, - 0x0a41, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a82, - 0x0abc, 0x0abc, - 0x0ac1, 0x0ac5, - 0x0ac7, 0x0ac8, - 0x0acd, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b01, - 0x0b3c, 0x0b3c, - 0x0b3f, 0x0b3f, - 0x0b41, 0x0b44, - 0x0b4d, 0x0b4d, - 0x0b56, 0x0b56, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bc0, 0x0bc0, - 0x0bcd, 0x0bcd, - 0x0c3e, 0x0c40, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0cbc, 0x0cbc, - 0x0cbf, 0x0cbf, - 0x0cc6, 0x0cc6, - 0x0ccc, 0x0ccd, - 0x0ce2, 0x0ce3, - 0x0d41, 0x0d44, - 0x0d4d, 0x0d4d, - 0x0d62, 0x0d63, - 0x0dca, 0x0dca, - 0x0dd2, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e47, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f71, 0x0f7e, - 0x0f80, 0x0f84, - 0x0f86, 0x0f87, - 0x0f8d, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102d, 0x1030, - 0x1032, 0x1037, - 0x1039, 0x103a, - 0x103d, 0x103e, - 0x1058, 0x1059, - 0x105e, 0x1060, - 0x1071, 0x1074, - 0x1082, 0x1082, - 0x1085, 0x1086, - 0x108d, 0x108d, - 0x109d, 0x109d, - 0x135d, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b7, 0x17bd, - 0x17c6, 0x17c6, - 0x17c9, 0x17d3, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x18a9, 0x18a9, - 0x1920, 0x1922, - 0x1927, 0x1928, - 0x1932, 0x1932, - 0x1939, 0x193b, - 0x1a17, 0x1a18, - 0x1a56, 0x1a56, - 0x1a58, 0x1a5e, - 0x1a60, 0x1a60, - 0x1a62, 0x1a62, - 0x1a65, 0x1a6c, - 0x1a73, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b00, 0x1b03, - 0x1b34, 0x1b34, - 0x1b36, 0x1b3a, - 0x1b3c, 0x1b3c, - 0x1b42, 0x1b42, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b81, - 0x1ba2, 0x1ba5, - 0x1ba8, 0x1ba9, - 0x1be6, 0x1be6, - 0x1be8, 0x1be9, - 0x1bed, 0x1bed, - 0x1bef, 0x1bf1, - 0x1c2c, 0x1c33, - 0x1c36, 0x1c37, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1dc0, 0x1de6, - 0x1dfc, 0x1dff, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20f0, - 0x2cef, 0x2cf1, - 0x2d7f, 0x2d7f, - 0x2de0, 0x2dff, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xa66f, 0xa66f, - 0xa67c, 0xa67d, - 0xa6f0, 0xa6f1, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa825, 0xa826, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa951, - 0xa980, 0xa982, - 0xa9b3, 0xa9b3, - 0xa9b6, 0xa9b9, - 0xa9bc, 0xa9bc, - 0xaa29, 0xaa2e, - 0xaa31, 0xaa32, - 0xaa35, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4c, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xabe5, 0xabe5, - 0xabe8, 0xabe8, - 0xabed, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11001, 0x11001, - 0x11038, 0x11046, - 0x11080, 0x11081, - 0x110b3, 0x110b6, - 0x110b9, 0x110ba, - 0x1d167, 0x1d169, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0100, 0xe01ef, -}; /* CR_Mn */ - -/* 'N': Major Category */ -static const OnigCodePoint CR_N[] = { - 83, - 0x0030, 0x0039, - 0x00b2, 0x00b3, - 0x00b9, 0x00b9, - 0x00bc, 0x00be, - 0x0660, 0x0669, - 0x06f0, 0x06f9, - 0x07c0, 0x07c9, - 0x0966, 0x096f, - 0x09e6, 0x09ef, - 0x09f4, 0x09f9, - 0x0a66, 0x0a6f, - 0x0ae6, 0x0aef, - 0x0b66, 0x0b6f, - 0x0b72, 0x0b77, - 0x0be6, 0x0bf2, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7e, - 0x0ce6, 0x0cef, - 0x0d66, 0x0d75, - 0x0e50, 0x0e59, - 0x0ed0, 0x0ed9, - 0x0f20, 0x0f33, - 0x1040, 0x1049, - 0x1090, 0x1099, - 0x1369, 0x137c, - 0x16ee, 0x16f0, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1810, 0x1819, - 0x1946, 0x194f, - 0x19d0, 0x19da, - 0x1a80, 0x1a89, - 0x1a90, 0x1a99, - 0x1b50, 0x1b59, - 0x1bb0, 0x1bb9, - 0x1c40, 0x1c49, - 0x1c50, 0x1c59, - 0x2070, 0x2070, - 0x2074, 0x2079, - 0x2080, 0x2089, - 0x2150, 0x2182, - 0x2185, 0x2189, - 0x2460, 0x249b, - 0x24ea, 0x24ff, - 0x2776, 0x2793, - 0x2cfd, 0x2cfd, - 0x3007, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303a, - 0x3192, 0x3195, - 0x3220, 0x3229, - 0x3251, 0x325f, - 0x3280, 0x3289, - 0x32b1, 0x32bf, - 0xa620, 0xa629, - 0xa6e6, 0xa6ef, - 0xa830, 0xa835, - 0xa8d0, 0xa8d9, - 0xa900, 0xa909, - 0xa9d0, 0xa9d9, - 0xaa50, 0xaa59, - 0xabf0, 0xabf9, - 0xff10, 0xff19, - 0x10107, 0x10133, - 0x10140, 0x10178, - 0x1018a, 0x1018a, - 0x10320, 0x10323, - 0x10341, 0x10341, - 0x1034a, 0x1034a, - 0x103d1, 0x103d5, - 0x104a0, 0x104a9, - 0x10858, 0x1085f, - 0x10916, 0x1091b, - 0x10a40, 0x10a47, - 0x10a7d, 0x10a7e, - 0x10b58, 0x10b5f, - 0x10b78, 0x10b7f, - 0x10e60, 0x10e7e, - 0x11052, 0x1106f, - 0x12400, 0x12462, - 0x1d360, 0x1d371, - 0x1d7ce, 0x1d7ff, - 0x1f100, 0x1f10a, -}; /* CR_N */ - -/* 'Nd': General Category */ -static const OnigCodePoint CR_Nd[] = { - 38, - 0x0030, 0x0039, - 0x0660, 0x0669, - 0x06f0, 0x06f9, - 0x07c0, 0x07c9, - 0x0966, 0x096f, - 0x09e6, 0x09ef, - 0x0a66, 0x0a6f, - 0x0ae6, 0x0aef, - 0x0b66, 0x0b6f, - 0x0be6, 0x0bef, - 0x0c66, 0x0c6f, - 0x0ce6, 0x0cef, - 0x0d66, 0x0d6f, - 0x0e50, 0x0e59, - 0x0ed0, 0x0ed9, - 0x0f20, 0x0f29, - 0x1040, 0x1049, - 0x1090, 0x1099, - 0x17e0, 0x17e9, - 0x1810, 0x1819, - 0x1946, 0x194f, - 0x19d0, 0x19d9, - 0x1a80, 0x1a89, - 0x1a90, 0x1a99, - 0x1b50, 0x1b59, - 0x1bb0, 0x1bb9, - 0x1c40, 0x1c49, - 0x1c50, 0x1c59, - 0xa620, 0xa629, - 0xa8d0, 0xa8d9, - 0xa900, 0xa909, - 0xa9d0, 0xa9d9, - 0xaa50, 0xaa59, - 0xabf0, 0xabf9, - 0xff10, 0xff19, - 0x104a0, 0x104a9, - 0x11066, 0x1106f, - 0x1d7ce, 0x1d7ff, -}; /* CR_Nd */ - -/* 'Nl': General Category */ -static const OnigCodePoint CR_Nl[] = { - 12, - 0x16ee, 0x16f0, - 0x2160, 0x2182, - 0x2185, 0x2188, - 0x3007, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303a, - 0xa6e6, 0xa6ef, - 0x10140, 0x10174, - 0x10341, 0x10341, - 0x1034a, 0x1034a, - 0x103d1, 0x103d5, - 0x12400, 0x12462, -}; /* CR_Nl */ - -/* 'No': General Category */ -static const OnigCodePoint CR_No[] = { - 41, - 0x00b2, 0x00b3, - 0x00b9, 0x00b9, - 0x00bc, 0x00be, - 0x09f4, 0x09f9, - 0x0b72, 0x0b77, - 0x0bf0, 0x0bf2, - 0x0c78, 0x0c7e, - 0x0d70, 0x0d75, - 0x0f2a, 0x0f33, - 0x1369, 0x137c, - 0x17f0, 0x17f9, - 0x19da, 0x19da, - 0x2070, 0x2070, - 0x2074, 0x2079, - 0x2080, 0x2089, - 0x2150, 0x215f, - 0x2189, 0x2189, - 0x2460, 0x249b, - 0x24ea, 0x24ff, - 0x2776, 0x2793, - 0x2cfd, 0x2cfd, - 0x3192, 0x3195, - 0x3220, 0x3229, - 0x3251, 0x325f, - 0x3280, 0x3289, - 0x32b1, 0x32bf, - 0xa830, 0xa835, - 0x10107, 0x10133, - 0x10175, 0x10178, - 0x1018a, 0x1018a, - 0x10320, 0x10323, - 0x10858, 0x1085f, - 0x10916, 0x1091b, - 0x10a40, 0x10a47, - 0x10a7d, 0x10a7e, - 0x10b58, 0x10b5f, - 0x10b78, 0x10b7f, - 0x10e60, 0x10e7e, - 0x11052, 0x11065, - 0x1d360, 0x1d371, - 0x1f100, 0x1f10a, -}; /* CR_No */ - -/* 'P': Major Category */ -static const OnigCodePoint CR_P[] = { - 133, - 0x0021, 0x0023, - 0x0025, 0x002a, - 0x002c, 0x002f, - 0x003a, 0x003b, - 0x003f, 0x0040, - 0x005b, 0x005d, - 0x005f, 0x005f, - 0x007b, 0x007b, - 0x007d, 0x007d, - 0x00a1, 0x00a1, - 0x00ab, 0x00ab, - 0x00b7, 0x00b7, - 0x00bb, 0x00bb, - 0x00bf, 0x00bf, - 0x037e, 0x037e, - 0x0387, 0x0387, - 0x055a, 0x055f, - 0x0589, 0x058a, - 0x05be, 0x05be, - 0x05c0, 0x05c0, - 0x05c3, 0x05c3, - 0x05c6, 0x05c6, - 0x05f3, 0x05f4, - 0x0609, 0x060a, - 0x060c, 0x060d, - 0x061b, 0x061b, - 0x061e, 0x061f, - 0x066a, 0x066d, - 0x06d4, 0x06d4, - 0x0700, 0x070d, - 0x07f7, 0x07f9, - 0x0830, 0x083e, - 0x085e, 0x085e, - 0x0964, 0x0965, - 0x0970, 0x0970, - 0x0df4, 0x0df4, - 0x0e4f, 0x0e4f, - 0x0e5a, 0x0e5b, - 0x0f04, 0x0f12, - 0x0f3a, 0x0f3d, - 0x0f85, 0x0f85, - 0x0fd0, 0x0fd4, - 0x0fd9, 0x0fda, - 0x104a, 0x104f, - 0x10fb, 0x10fb, - 0x1361, 0x1368, - 0x1400, 0x1400, - 0x166d, 0x166e, - 0x169b, 0x169c, - 0x16eb, 0x16ed, - 0x1735, 0x1736, - 0x17d4, 0x17d6, - 0x17d8, 0x17da, - 0x1800, 0x180a, - 0x1944, 0x1945, - 0x1a1e, 0x1a1f, - 0x1aa0, 0x1aa6, - 0x1aa8, 0x1aad, - 0x1b5a, 0x1b60, - 0x1bfc, 0x1bff, - 0x1c3b, 0x1c3f, - 0x1c7e, 0x1c7f, - 0x1cd3, 0x1cd3, - 0x2010, 0x2027, - 0x2030, 0x2043, - 0x2045, 0x2051, - 0x2053, 0x205e, - 0x207d, 0x207e, - 0x208d, 0x208e, - 0x2329, 0x232a, - 0x2768, 0x2775, - 0x27c5, 0x27c6, - 0x27e6, 0x27ef, - 0x2983, 0x2998, - 0x29d8, 0x29db, - 0x29fc, 0x29fd, - 0x2cf9, 0x2cfc, - 0x2cfe, 0x2cff, - 0x2d70, 0x2d70, - 0x2e00, 0x2e2e, - 0x2e30, 0x2e31, - 0x3001, 0x3003, - 0x3008, 0x3011, - 0x3014, 0x301f, - 0x3030, 0x3030, - 0x303d, 0x303d, - 0x30a0, 0x30a0, - 0x30fb, 0x30fb, - 0xa4fe, 0xa4ff, - 0xa60d, 0xa60f, - 0xa673, 0xa673, - 0xa67e, 0xa67e, - 0xa6f2, 0xa6f7, - 0xa874, 0xa877, - 0xa8ce, 0xa8cf, - 0xa8f8, 0xa8fa, - 0xa92e, 0xa92f, - 0xa95f, 0xa95f, - 0xa9c1, 0xa9cd, - 0xa9de, 0xa9df, - 0xaa5c, 0xaa5f, - 0xaade, 0xaadf, - 0xabeb, 0xabeb, - 0xfd3e, 0xfd3f, - 0xfe10, 0xfe19, - 0xfe30, 0xfe52, - 0xfe54, 0xfe61, - 0xfe63, 0xfe63, - 0xfe68, 0xfe68, - 0xfe6a, 0xfe6b, - 0xff01, 0xff03, - 0xff05, 0xff0a, - 0xff0c, 0xff0f, - 0xff1a, 0xff1b, - 0xff1f, 0xff20, - 0xff3b, 0xff3d, - 0xff3f, 0xff3f, - 0xff5b, 0xff5b, - 0xff5d, 0xff5d, - 0xff5f, 0xff65, - 0x10100, 0x10101, - 0x1039f, 0x1039f, - 0x103d0, 0x103d0, - 0x10857, 0x10857, - 0x1091f, 0x1091f, - 0x1093f, 0x1093f, - 0x10a50, 0x10a58, - 0x10a7f, 0x10a7f, - 0x10b39, 0x10b3f, - 0x11047, 0x1104d, - 0x110bb, 0x110bc, - 0x110be, 0x110c1, - 0x12470, 0x12473, -}; /* CR_P */ - -/* 'Pc': General Category */ -static const OnigCodePoint CR_Pc[] = { - 6, - 0x005f, 0x005f, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xff3f, 0xff3f, -}; /* CR_Pc */ - -/* 'Pd': General Category */ -static const OnigCodePoint CR_Pd[] = { - 15, - 0x002d, 0x002d, - 0x058a, 0x058a, - 0x05be, 0x05be, - 0x1400, 0x1400, - 0x1806, 0x1806, - 0x2010, 0x2015, - 0x2e17, 0x2e17, - 0x2e1a, 0x2e1a, - 0x301c, 0x301c, - 0x3030, 0x3030, - 0x30a0, 0x30a0, - 0xfe31, 0xfe32, - 0xfe58, 0xfe58, - 0xfe63, 0xfe63, - 0xff0d, 0xff0d, -}; /* CR_Pd */ - -/* 'Pe': General Category */ -static const OnigCodePoint CR_Pe[] = { - 70, - 0x0029, 0x0029, - 0x005d, 0x005d, - 0x007d, 0x007d, - 0x0f3b, 0x0f3b, - 0x0f3d, 0x0f3d, - 0x169c, 0x169c, - 0x2046, 0x2046, - 0x207e, 0x207e, - 0x208e, 0x208e, - 0x232a, 0x232a, - 0x2769, 0x2769, - 0x276b, 0x276b, - 0x276d, 0x276d, - 0x276f, 0x276f, - 0x2771, 0x2771, - 0x2773, 0x2773, - 0x2775, 0x2775, - 0x27c6, 0x27c6, - 0x27e7, 0x27e7, - 0x27e9, 0x27e9, - 0x27eb, 0x27eb, - 0x27ed, 0x27ed, - 0x27ef, 0x27ef, - 0x2984, 0x2984, - 0x2986, 0x2986, - 0x2988, 0x2988, - 0x298a, 0x298a, - 0x298c, 0x298c, - 0x298e, 0x298e, - 0x2990, 0x2990, - 0x2992, 0x2992, - 0x2994, 0x2994, - 0x2996, 0x2996, - 0x2998, 0x2998, - 0x29d9, 0x29d9, - 0x29db, 0x29db, - 0x29fd, 0x29fd, - 0x2e23, 0x2e23, - 0x2e25, 0x2e25, - 0x2e27, 0x2e27, - 0x2e29, 0x2e29, - 0x3009, 0x3009, - 0x300b, 0x300b, - 0x300d, 0x300d, - 0x300f, 0x300f, - 0x3011, 0x3011, - 0x3015, 0x3015, - 0x3017, 0x3017, - 0x3019, 0x3019, - 0x301b, 0x301b, - 0x301e, 0x301f, - 0xfd3f, 0xfd3f, - 0xfe18, 0xfe18, - 0xfe36, 0xfe36, - 0xfe38, 0xfe38, - 0xfe3a, 0xfe3a, - 0xfe3c, 0xfe3c, - 0xfe3e, 0xfe3e, - 0xfe40, 0xfe40, - 0xfe42, 0xfe42, - 0xfe44, 0xfe44, - 0xfe48, 0xfe48, - 0xfe5a, 0xfe5a, - 0xfe5c, 0xfe5c, - 0xfe5e, 0xfe5e, - 0xff09, 0xff09, - 0xff3d, 0xff3d, - 0xff5d, 0xff5d, - 0xff60, 0xff60, - 0xff63, 0xff63, -}; /* CR_Pe */ - -/* 'Pf': General Category */ -static const OnigCodePoint CR_Pf[] = { - 10, - 0x00bb, 0x00bb, - 0x2019, 0x2019, - 0x201d, 0x201d, - 0x203a, 0x203a, - 0x2e03, 0x2e03, - 0x2e05, 0x2e05, - 0x2e0a, 0x2e0a, - 0x2e0d, 0x2e0d, - 0x2e1d, 0x2e1d, - 0x2e21, 0x2e21, -}; /* CR_Pf */ - -/* 'Pi': General Category */ -static const OnigCodePoint CR_Pi[] = { - 11, - 0x00ab, 0x00ab, - 0x2018, 0x2018, - 0x201b, 0x201c, - 0x201f, 0x201f, - 0x2039, 0x2039, - 0x2e02, 0x2e02, - 0x2e04, 0x2e04, - 0x2e09, 0x2e09, - 0x2e0c, 0x2e0c, - 0x2e1c, 0x2e1c, - 0x2e20, 0x2e20, -}; /* CR_Pi */ - -/* 'Po': General Category */ -static const OnigCodePoint CR_Po[] = { - 128, - 0x0021, 0x0023, - 0x0025, 0x0027, - 0x002a, 0x002a, - 0x002c, 0x002c, - 0x002e, 0x002f, - 0x003a, 0x003b, - 0x003f, 0x0040, - 0x005c, 0x005c, - 0x00a1, 0x00a1, - 0x00b7, 0x00b7, - 0x00bf, 0x00bf, - 0x037e, 0x037e, - 0x0387, 0x0387, - 0x055a, 0x055f, - 0x0589, 0x0589, - 0x05c0, 0x05c0, - 0x05c3, 0x05c3, - 0x05c6, 0x05c6, - 0x05f3, 0x05f4, - 0x0609, 0x060a, - 0x060c, 0x060d, - 0x061b, 0x061b, - 0x061e, 0x061f, - 0x066a, 0x066d, - 0x06d4, 0x06d4, - 0x0700, 0x070d, - 0x07f7, 0x07f9, - 0x0830, 0x083e, - 0x085e, 0x085e, - 0x0964, 0x0965, - 0x0970, 0x0970, - 0x0df4, 0x0df4, - 0x0e4f, 0x0e4f, - 0x0e5a, 0x0e5b, - 0x0f04, 0x0f12, - 0x0f85, 0x0f85, - 0x0fd0, 0x0fd4, - 0x0fd9, 0x0fda, - 0x104a, 0x104f, - 0x10fb, 0x10fb, - 0x1361, 0x1368, - 0x166d, 0x166e, - 0x16eb, 0x16ed, - 0x1735, 0x1736, - 0x17d4, 0x17d6, - 0x17d8, 0x17da, - 0x1800, 0x1805, - 0x1807, 0x180a, - 0x1944, 0x1945, - 0x1a1e, 0x1a1f, - 0x1aa0, 0x1aa6, - 0x1aa8, 0x1aad, - 0x1b5a, 0x1b60, - 0x1bfc, 0x1bff, - 0x1c3b, 0x1c3f, - 0x1c7e, 0x1c7f, - 0x1cd3, 0x1cd3, - 0x2016, 0x2017, - 0x2020, 0x2027, - 0x2030, 0x2038, - 0x203b, 0x203e, - 0x2041, 0x2043, - 0x2047, 0x2051, - 0x2053, 0x2053, - 0x2055, 0x205e, - 0x2cf9, 0x2cfc, - 0x2cfe, 0x2cff, - 0x2d70, 0x2d70, - 0x2e00, 0x2e01, - 0x2e06, 0x2e08, - 0x2e0b, 0x2e0b, - 0x2e0e, 0x2e16, - 0x2e18, 0x2e19, - 0x2e1b, 0x2e1b, - 0x2e1e, 0x2e1f, - 0x2e2a, 0x2e2e, - 0x2e30, 0x2e31, - 0x3001, 0x3003, - 0x303d, 0x303d, - 0x30fb, 0x30fb, - 0xa4fe, 0xa4ff, - 0xa60d, 0xa60f, - 0xa673, 0xa673, - 0xa67e, 0xa67e, - 0xa6f2, 0xa6f7, - 0xa874, 0xa877, - 0xa8ce, 0xa8cf, - 0xa8f8, 0xa8fa, - 0xa92e, 0xa92f, - 0xa95f, 0xa95f, - 0xa9c1, 0xa9cd, - 0xa9de, 0xa9df, - 0xaa5c, 0xaa5f, - 0xaade, 0xaadf, - 0xabeb, 0xabeb, - 0xfe10, 0xfe16, - 0xfe19, 0xfe19, - 0xfe30, 0xfe30, - 0xfe45, 0xfe46, - 0xfe49, 0xfe4c, - 0xfe50, 0xfe52, - 0xfe54, 0xfe57, - 0xfe5f, 0xfe61, - 0xfe68, 0xfe68, - 0xfe6a, 0xfe6b, - 0xff01, 0xff03, - 0xff05, 0xff07, - 0xff0a, 0xff0a, - 0xff0c, 0xff0c, - 0xff0e, 0xff0f, - 0xff1a, 0xff1b, - 0xff1f, 0xff20, - 0xff3c, 0xff3c, - 0xff61, 0xff61, - 0xff64, 0xff65, - 0x10100, 0x10101, - 0x1039f, 0x1039f, - 0x103d0, 0x103d0, - 0x10857, 0x10857, - 0x1091f, 0x1091f, - 0x1093f, 0x1093f, - 0x10a50, 0x10a58, - 0x10a7f, 0x10a7f, - 0x10b39, 0x10b3f, - 0x11047, 0x1104d, - 0x110bb, 0x110bc, - 0x110be, 0x110c1, - 0x12470, 0x12473, -}; /* CR_Po */ - -/* 'Ps': General Category */ -static const OnigCodePoint CR_Ps[] = { - 72, - 0x0028, 0x0028, - 0x005b, 0x005b, - 0x007b, 0x007b, - 0x0f3a, 0x0f3a, - 0x0f3c, 0x0f3c, - 0x169b, 0x169b, - 0x201a, 0x201a, - 0x201e, 0x201e, - 0x2045, 0x2045, - 0x207d, 0x207d, - 0x208d, 0x208d, - 0x2329, 0x2329, - 0x2768, 0x2768, - 0x276a, 0x276a, - 0x276c, 0x276c, - 0x276e, 0x276e, - 0x2770, 0x2770, - 0x2772, 0x2772, - 0x2774, 0x2774, - 0x27c5, 0x27c5, - 0x27e6, 0x27e6, - 0x27e8, 0x27e8, - 0x27ea, 0x27ea, - 0x27ec, 0x27ec, - 0x27ee, 0x27ee, - 0x2983, 0x2983, - 0x2985, 0x2985, - 0x2987, 0x2987, - 0x2989, 0x2989, - 0x298b, 0x298b, - 0x298d, 0x298d, - 0x298f, 0x298f, - 0x2991, 0x2991, - 0x2993, 0x2993, - 0x2995, 0x2995, - 0x2997, 0x2997, - 0x29d8, 0x29d8, - 0x29da, 0x29da, - 0x29fc, 0x29fc, - 0x2e22, 0x2e22, - 0x2e24, 0x2e24, - 0x2e26, 0x2e26, - 0x2e28, 0x2e28, - 0x3008, 0x3008, - 0x300a, 0x300a, - 0x300c, 0x300c, - 0x300e, 0x300e, - 0x3010, 0x3010, - 0x3014, 0x3014, - 0x3016, 0x3016, - 0x3018, 0x3018, - 0x301a, 0x301a, - 0x301d, 0x301d, - 0xfd3e, 0xfd3e, - 0xfe17, 0xfe17, - 0xfe35, 0xfe35, - 0xfe37, 0xfe37, - 0xfe39, 0xfe39, - 0xfe3b, 0xfe3b, - 0xfe3d, 0xfe3d, - 0xfe3f, 0xfe3f, - 0xfe41, 0xfe41, - 0xfe43, 0xfe43, - 0xfe47, 0xfe47, - 0xfe59, 0xfe59, - 0xfe5b, 0xfe5b, - 0xfe5d, 0xfe5d, - 0xff08, 0xff08, - 0xff3b, 0xff3b, - 0xff5b, 0xff5b, - 0xff5f, 0xff5f, - 0xff62, 0xff62, -}; /* CR_Ps */ - -/* 'S': Major Category */ -static const OnigCodePoint CR_S[] = { - 208, - 0x0024, 0x0024, - 0x002b, 0x002b, - 0x003c, 0x003e, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x007c, 0x007c, - 0x007e, 0x007e, - 0x00a2, 0x00a9, - 0x00ac, 0x00ac, - 0x00ae, 0x00b1, - 0x00b4, 0x00b4, - 0x00b6, 0x00b6, - 0x00b8, 0x00b8, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x02c2, 0x02c5, - 0x02d2, 0x02df, - 0x02e5, 0x02eb, - 0x02ed, 0x02ed, - 0x02ef, 0x02ff, - 0x0375, 0x0375, - 0x0384, 0x0385, - 0x03f6, 0x03f6, - 0x0482, 0x0482, - 0x0606, 0x0608, - 0x060b, 0x060b, - 0x060e, 0x060f, - 0x06de, 0x06de, - 0x06e9, 0x06e9, - 0x06fd, 0x06fe, - 0x07f6, 0x07f6, - 0x09f2, 0x09f3, - 0x09fa, 0x09fb, - 0x0af1, 0x0af1, - 0x0b70, 0x0b70, - 0x0bf3, 0x0bfa, - 0x0c7f, 0x0c7f, - 0x0d79, 0x0d79, - 0x0e3f, 0x0e3f, - 0x0f01, 0x0f03, - 0x0f13, 0x0f17, - 0x0f1a, 0x0f1f, - 0x0f34, 0x0f34, - 0x0f36, 0x0f36, - 0x0f38, 0x0f38, - 0x0fbe, 0x0fc5, - 0x0fc7, 0x0fcc, - 0x0fce, 0x0fcf, - 0x0fd5, 0x0fd8, - 0x109e, 0x109f, - 0x1360, 0x1360, - 0x1390, 0x1399, - 0x17db, 0x17db, - 0x1940, 0x1940, - 0x19de, 0x19ff, - 0x1b61, 0x1b6a, - 0x1b74, 0x1b7c, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x2044, 0x2044, - 0x2052, 0x2052, - 0x207a, 0x207c, - 0x208a, 0x208c, - 0x20a0, 0x20b9, - 0x2100, 0x2101, - 0x2103, 0x2106, - 0x2108, 0x2109, - 0x2114, 0x2114, - 0x2116, 0x2118, - 0x211e, 0x2123, - 0x2125, 0x2125, - 0x2127, 0x2127, - 0x2129, 0x2129, - 0x212e, 0x212e, - 0x213a, 0x213b, - 0x2140, 0x2144, - 0x214a, 0x214d, - 0x214f, 0x214f, - 0x2190, 0x2328, - 0x232b, 0x23f3, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x249c, 0x24e9, - 0x2500, 0x26ff, - 0x2701, 0x2767, - 0x2794, 0x27c4, - 0x27c7, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x27e5, - 0x27f0, 0x2982, - 0x2999, 0x29d7, - 0x29dc, 0x29fb, - 0x29fe, 0x2b4c, - 0x2b50, 0x2b59, - 0x2ce5, 0x2cea, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3004, 0x3004, - 0x3012, 0x3013, - 0x3020, 0x3020, - 0x3036, 0x3037, - 0x303e, 0x303f, - 0x309b, 0x309c, - 0x3190, 0x3191, - 0x3196, 0x319f, - 0x31c0, 0x31e3, - 0x3200, 0x321e, - 0x322a, 0x3250, - 0x3260, 0x327f, - 0x328a, 0x32b0, - 0x32c0, 0x32fe, - 0x3300, 0x33ff, - 0x4dc0, 0x4dff, - 0xa490, 0xa4c6, - 0xa700, 0xa716, - 0xa720, 0xa721, - 0xa789, 0xa78a, - 0xa828, 0xa82b, - 0xa836, 0xa839, - 0xaa77, 0xaa79, - 0xfb29, 0xfb29, - 0xfbb2, 0xfbc1, - 0xfdfc, 0xfdfd, - 0xfe62, 0xfe62, - 0xfe64, 0xfe66, - 0xfe69, 0xfe69, - 0xff04, 0xff04, - 0xff0b, 0xff0b, - 0xff1c, 0xff1e, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xff5c, 0xff5c, - 0xff5e, 0xff5e, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfffc, 0xfffd, - 0x10102, 0x10102, - 0x10137, 0x1013f, - 0x10179, 0x10189, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d164, - 0x1d16a, 0x1d16c, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d200, 0x1d241, - 0x1d245, 0x1d245, - 0x1d300, 0x1d356, - 0x1d6c1, 0x1d6c1, - 0x1d6db, 0x1d6db, - 0x1d6fb, 0x1d6fb, - 0x1d715, 0x1d715, - 0x1d735, 0x1d735, - 0x1d74f, 0x1d74f, - 0x1d76f, 0x1d76f, - 0x1d789, 0x1d789, - 0x1d7a9, 0x1d7a9, - 0x1d7c3, 0x1d7c3, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, -}; /* CR_S */ - -/* 'Sc': General Category */ -static const OnigCodePoint CR_Sc[] = { - 16, - 0x0024, 0x0024, - 0x00a2, 0x00a5, - 0x060b, 0x060b, - 0x09f2, 0x09f3, - 0x09fb, 0x09fb, - 0x0af1, 0x0af1, - 0x0bf9, 0x0bf9, - 0x0e3f, 0x0e3f, - 0x17db, 0x17db, - 0x20a0, 0x20b9, - 0xa838, 0xa838, - 0xfdfc, 0xfdfc, - 0xfe69, 0xfe69, - 0xff04, 0xff04, - 0xffe0, 0xffe1, - 0xffe5, 0xffe6, -}; /* CR_Sc */ - -/* 'Sk': General Category */ -static const OnigCodePoint CR_Sk[] = { - 27, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x00a8, 0x00a8, - 0x00af, 0x00af, - 0x00b4, 0x00b4, - 0x00b8, 0x00b8, - 0x02c2, 0x02c5, - 0x02d2, 0x02df, - 0x02e5, 0x02eb, - 0x02ed, 0x02ed, - 0x02ef, 0x02ff, - 0x0375, 0x0375, - 0x0384, 0x0385, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x309b, 0x309c, - 0xa700, 0xa716, - 0xa720, 0xa721, - 0xa789, 0xa78a, - 0xfbb2, 0xfbc1, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xffe3, 0xffe3, -}; /* CR_Sk */ - -/* 'Sm': General Category */ -static const OnigCodePoint CR_Sm[] = { - 66, - 0x002b, 0x002b, - 0x003c, 0x003e, - 0x007c, 0x007c, - 0x007e, 0x007e, - 0x00ac, 0x00ac, - 0x00b1, 0x00b1, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x03f6, 0x03f6, - 0x0606, 0x0608, - 0x2044, 0x2044, - 0x2052, 0x2052, - 0x207a, 0x207c, - 0x208a, 0x208c, - 0x2118, 0x2118, - 0x2140, 0x2144, - 0x214b, 0x214b, - 0x2190, 0x2194, - 0x219a, 0x219b, - 0x21a0, 0x21a0, - 0x21a3, 0x21a3, - 0x21a6, 0x21a6, - 0x21ae, 0x21ae, - 0x21ce, 0x21cf, - 0x21d2, 0x21d2, - 0x21d4, 0x21d4, - 0x21f4, 0x22ff, - 0x2308, 0x230b, - 0x2320, 0x2321, - 0x237c, 0x237c, - 0x239b, 0x23b3, - 0x23dc, 0x23e1, - 0x25b7, 0x25b7, - 0x25c1, 0x25c1, - 0x25f8, 0x25ff, - 0x266f, 0x266f, - 0x27c0, 0x27c4, - 0x27c7, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x27e5, - 0x27f0, 0x27ff, - 0x2900, 0x2982, - 0x2999, 0x29d7, - 0x29dc, 0x29fb, - 0x29fe, 0x2aff, - 0x2b30, 0x2b44, - 0x2b47, 0x2b4c, - 0xfb29, 0xfb29, - 0xfe62, 0xfe62, - 0xfe64, 0xfe66, - 0xff0b, 0xff0b, - 0xff1c, 0xff1e, - 0xff5c, 0xff5c, - 0xff5e, 0xff5e, - 0xffe2, 0xffe2, - 0xffe9, 0xffec, - 0x1d6c1, 0x1d6c1, - 0x1d6db, 0x1d6db, - 0x1d6fb, 0x1d6fb, - 0x1d715, 0x1d715, - 0x1d735, 0x1d735, - 0x1d74f, 0x1d74f, - 0x1d76f, 0x1d76f, - 0x1d789, 0x1d789, - 0x1d7a9, 0x1d7a9, - 0x1d7c3, 0x1d7c3, -}; /* CR_Sm */ - -/* 'So': General Category */ -static const OnigCodePoint CR_So[] = { - 164, - 0x00a6, 0x00a7, - 0x00a9, 0x00a9, - 0x00ae, 0x00ae, - 0x00b0, 0x00b0, - 0x00b6, 0x00b6, - 0x0482, 0x0482, - 0x060e, 0x060f, - 0x06de, 0x06de, - 0x06e9, 0x06e9, - 0x06fd, 0x06fe, - 0x07f6, 0x07f6, - 0x09fa, 0x09fa, - 0x0b70, 0x0b70, - 0x0bf3, 0x0bf8, - 0x0bfa, 0x0bfa, - 0x0c7f, 0x0c7f, - 0x0d79, 0x0d79, - 0x0f01, 0x0f03, - 0x0f13, 0x0f17, - 0x0f1a, 0x0f1f, - 0x0f34, 0x0f34, - 0x0f36, 0x0f36, - 0x0f38, 0x0f38, - 0x0fbe, 0x0fc5, - 0x0fc7, 0x0fcc, - 0x0fce, 0x0fcf, - 0x0fd5, 0x0fd8, - 0x109e, 0x109f, - 0x1360, 0x1360, - 0x1390, 0x1399, - 0x1940, 0x1940, - 0x19de, 0x19ff, - 0x1b61, 0x1b6a, - 0x1b74, 0x1b7c, - 0x2100, 0x2101, - 0x2103, 0x2106, - 0x2108, 0x2109, - 0x2114, 0x2114, - 0x2116, 0x2117, - 0x211e, 0x2123, - 0x2125, 0x2125, - 0x2127, 0x2127, - 0x2129, 0x2129, - 0x212e, 0x212e, - 0x213a, 0x213b, - 0x214a, 0x214a, - 0x214c, 0x214d, - 0x214f, 0x214f, - 0x2195, 0x2199, - 0x219c, 0x219f, - 0x21a1, 0x21a2, - 0x21a4, 0x21a5, - 0x21a7, 0x21ad, - 0x21af, 0x21cd, - 0x21d0, 0x21d1, - 0x21d3, 0x21d3, - 0x21d5, 0x21f3, - 0x2300, 0x2307, - 0x230c, 0x231f, - 0x2322, 0x2328, - 0x232b, 0x237b, - 0x237d, 0x239a, - 0x23b4, 0x23db, - 0x23e2, 0x23f3, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x249c, 0x24e9, - 0x2500, 0x25b6, - 0x25b8, 0x25c0, - 0x25c2, 0x25f7, - 0x2600, 0x266e, - 0x2670, 0x26ff, - 0x2701, 0x2767, - 0x2794, 0x27bf, - 0x2800, 0x28ff, - 0x2b00, 0x2b2f, - 0x2b45, 0x2b46, - 0x2b50, 0x2b59, - 0x2ce5, 0x2cea, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3004, 0x3004, - 0x3012, 0x3013, - 0x3020, 0x3020, - 0x3036, 0x3037, - 0x303e, 0x303f, - 0x3190, 0x3191, - 0x3196, 0x319f, - 0x31c0, 0x31e3, - 0x3200, 0x321e, - 0x322a, 0x3250, - 0x3260, 0x327f, - 0x328a, 0x32b0, - 0x32c0, 0x32fe, - 0x3300, 0x33ff, - 0x4dc0, 0x4dff, - 0xa490, 0xa4c6, - 0xa828, 0xa82b, - 0xa836, 0xa837, - 0xa839, 0xa839, - 0xaa77, 0xaa79, - 0xfdfd, 0xfdfd, - 0xffe4, 0xffe4, - 0xffe8, 0xffe8, - 0xffed, 0xffee, - 0xfffc, 0xfffd, - 0x10102, 0x10102, - 0x10137, 0x1013f, - 0x10179, 0x10189, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d164, - 0x1d16a, 0x1d16c, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d200, 0x1d241, - 0x1d245, 0x1d245, - 0x1d300, 0x1d356, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, -}; /* CR_So */ - -/* 'Z': Major Category */ -static const OnigCodePoint CR_Z[] = { - 9, - 0x0020, 0x0020, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x2028, 0x2029, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_Z */ - -/* 'Zl': General Category */ -static const OnigCodePoint CR_Zl[] = { - 1, - 0x2028, 0x2028, -}; /* CR_Zl */ - -/* 'Zp': General Category */ -static const OnigCodePoint CR_Zp[] = { - 1, - 0x2029, 0x2029, -}; /* CR_Zp */ - -/* 'Zs': General Category */ -static const OnigCodePoint CR_Zs[] = { - 8, - 0x0020, 0x0020, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_Zs */ - -/* 'Math': Derived Property */ -static const OnigCodePoint CR_Math[] = { - 106, - 0x002b, 0x002b, - 0x003c, 0x003e, - 0x005e, 0x005e, - 0x007c, 0x007c, - 0x007e, 0x007e, - 0x00ac, 0x00ac, - 0x00b1, 0x00b1, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x03d0, 0x03d2, - 0x03d5, 0x03d5, - 0x03f0, 0x03f1, - 0x03f4, 0x03f6, - 0x0606, 0x0608, - 0x2016, 0x2016, - 0x2032, 0x2034, - 0x2040, 0x2040, - 0x2044, 0x2044, - 0x2052, 0x2052, - 0x2061, 0x2064, - 0x207a, 0x207e, - 0x208a, 0x208e, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20e6, - 0x20eb, 0x20ef, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2128, 0x2129, - 0x212c, 0x212d, - 0x212f, 0x2131, - 0x2133, 0x2138, - 0x213c, 0x2149, - 0x214b, 0x214b, - 0x2190, 0x21a7, - 0x21a9, 0x21ae, - 0x21b0, 0x21b1, - 0x21b6, 0x21b7, - 0x21bc, 0x21db, - 0x21dd, 0x21dd, - 0x21e4, 0x21e5, - 0x21f4, 0x22ff, - 0x2308, 0x230b, - 0x2320, 0x2321, - 0x237c, 0x237c, - 0x239b, 0x23b5, - 0x23b7, 0x23b7, - 0x23d0, 0x23d0, - 0x23dc, 0x23e2, - 0x25a0, 0x25a1, - 0x25ae, 0x25b7, - 0x25bc, 0x25c1, - 0x25c6, 0x25c7, - 0x25ca, 0x25cb, - 0x25cf, 0x25d3, - 0x25e2, 0x25e2, - 0x25e4, 0x25e4, - 0x25e7, 0x25ec, - 0x25f8, 0x25ff, - 0x2605, 0x2606, - 0x2640, 0x2640, - 0x2642, 0x2642, - 0x2660, 0x2663, - 0x266d, 0x266f, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x27ff, - 0x2900, 0x2aff, - 0x2b30, 0x2b44, - 0x2b47, 0x2b4c, - 0xfb29, 0xfb29, - 0xfe61, 0xfe66, - 0xfe68, 0xfe68, - 0xff0b, 0xff0b, - 0xff1c, 0xff1e, - 0xff3c, 0xff3c, - 0xff3e, 0xff3e, - 0xff5c, 0xff5c, - 0xff5e, 0xff5e, - 0xffe2, 0xffe2, - 0xffe9, 0xffec, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, -}; /* CR_Math */ - -/* 'Alphabetic': Derived Property */ -static const OnigCodePoint CR_Alphabetic[] = { - 486, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0345, 0x0345, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05b0, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0620, 0x0657, - 0x0659, 0x065f, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06e1, 0x06e8, - 0x06ed, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x073f, - 0x074d, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0817, - 0x081a, 0x082c, - 0x0840, 0x0858, - 0x0900, 0x093b, - 0x093d, 0x094c, - 0x094e, 0x0950, - 0x0955, 0x0963, - 0x0971, 0x0977, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09ce, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09f0, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4c, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a70, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acc, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4c, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccc, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d4e, 0x0d4e, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e46, - 0x0e4d, 0x0e4d, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ecd, 0x0ecd, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f81, - 0x0f88, 0x0f97, - 0x0f99, 0x0fbc, - 0x1000, 0x1036, - 0x1038, 0x1038, - 0x103b, 0x103f, - 0x1050, 0x1062, - 0x1065, 0x1068, - 0x106e, 0x1086, - 0x108e, 0x108e, - 0x109c, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1713, - 0x1720, 0x1733, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17c8, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x1938, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a61, 0x1a74, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b33, - 0x1b35, 0x1b43, - 0x1b45, 0x1b4b, - 0x1b80, 0x1ba9, - 0x1bae, 0x1baf, - 0x1bc0, 0x1be5, - 0x1be7, 0x1bf1, - 0x1c00, 0x1c35, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa92a, - 0xa930, 0xa952, - 0xa960, 0xa97c, - 0xa980, 0xa9b2, - 0xa9b4, 0xa9bf, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaabe, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabea, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11000, 0x11045, - 0x11082, 0x110b8, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, -}; /* CR_Alphabetic */ - -/* 'Lowercase': Derived Property */ -static const OnigCodePoint CR_Lowercase[] = { - 612, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0138, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018d, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019b, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01aa, 0x01ab, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01ba, - 0x01bd, 0x01bf, - 0x01c6, 0x01c6, - 0x01c9, 0x01c9, - 0x01cc, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f0, - 0x01f3, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0221, 0x0221, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0239, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0293, - 0x0295, 0x02b8, - 0x02c0, 0x02c1, - 0x02e0, 0x02e4, - 0x0345, 0x0345, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037a, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f3, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fc, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0527, 0x0527, - 0x0561, 0x0587, - 0x1d00, 0x1dbf, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9d, - 0x1e9f, 0x1e9f, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1f87, - 0x1f90, 0x1f97, - 0x1fa0, 0x1fa7, - 0x1fb0, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x2090, 0x2094, - 0x210a, 0x210a, - 0x210e, 0x210f, - 0x2113, 0x2113, - 0x212f, 0x212f, - 0x2134, 0x2134, - 0x2139, 0x2139, - 0x213c, 0x213d, - 0x2146, 0x2149, - 0x214e, 0x214e, - 0x2170, 0x217f, - 0x2184, 0x2184, - 0x24d0, 0x24e9, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c71, 0x2c71, - 0x2c73, 0x2c74, - 0x2c76, 0x2c7d, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce4, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa661, 0xa661, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa731, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa778, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xa78e, 0xa78e, - 0xa791, 0xa791, - 0xa7a1, 0xa7a1, - 0xa7a3, 0xa7a3, - 0xa7a5, 0xa7a5, - 0xa7a7, 0xa7a7, - 0xa7a9, 0xa7a9, - 0xa7fa, 0xa7fa, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, - 0x1d41a, 0x1d433, - 0x1d44e, 0x1d454, - 0x1d456, 0x1d467, - 0x1d482, 0x1d49b, - 0x1d4b6, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d4cf, - 0x1d4ea, 0x1d503, - 0x1d51e, 0x1d537, - 0x1d552, 0x1d56b, - 0x1d586, 0x1d59f, - 0x1d5ba, 0x1d5d3, - 0x1d5ee, 0x1d607, - 0x1d622, 0x1d63b, - 0x1d656, 0x1d66f, - 0x1d68a, 0x1d6a5, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6e1, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d71b, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d755, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d78f, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7c9, - 0x1d7cb, 0x1d7cb, -}; /* CR_Lowercase */ - -/* 'Uppercase': Derived Property */ -static const OnigCodePoint CR_Uppercase[] = { - 605, - 0x0041, 0x005a, - 0x00c0, 0x00d6, - 0x00d8, 0x00de, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x014a, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c4, - 0x01c7, 0x01c7, - 0x01ca, 0x01ca, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f1, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03cf, 0x03cf, - 0x03d2, 0x03d4, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f4, 0x03f4, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0526, 0x0526, - 0x0531, 0x0556, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1fb8, 0x1fbb, - 0x1fc8, 0x1fcb, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff8, 0x1ffb, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210b, 0x210d, - 0x2110, 0x2112, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x2130, 0x2133, - 0x213e, 0x213f, - 0x2145, 0x2145, - 0x2160, 0x216f, - 0x2183, 0x2183, - 0x24b6, 0x24cf, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa660, 0xa660, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xa78d, 0xa78d, - 0xa790, 0xa790, - 0xa7a0, 0xa7a0, - 0xa7a2, 0xa7a2, - 0xa7a4, 0xa7a4, - 0xa7a6, 0xa7a6, - 0xa7a8, 0xa7a8, - 0xff21, 0xff3a, - 0x10400, 0x10427, - 0x1d400, 0x1d419, - 0x1d434, 0x1d44d, - 0x1d468, 0x1d481, - 0x1d49c, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b5, - 0x1d4d0, 0x1d4e9, - 0x1d504, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d538, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d56c, 0x1d585, - 0x1d5a0, 0x1d5b9, - 0x1d5d4, 0x1d5ed, - 0x1d608, 0x1d621, - 0x1d63c, 0x1d655, - 0x1d670, 0x1d689, - 0x1d6a8, 0x1d6c0, - 0x1d6e2, 0x1d6fa, - 0x1d71c, 0x1d734, - 0x1d756, 0x1d76e, - 0x1d790, 0x1d7a8, - 0x1d7ca, 0x1d7ca, -}; /* CR_Uppercase */ - -/* 'Cased': Derived Property */ -static const OnigCodePoint CR_Cased[] = { - 112, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x01ba, - 0x01bc, 0x01bf, - 0x01c4, 0x0293, - 0x0295, 0x02b8, - 0x02c0, 0x02c1, - 0x02e0, 0x02e4, - 0x0345, 0x0345, - 0x0370, 0x0373, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0561, 0x0587, - 0x10a0, 0x10c5, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2134, - 0x2139, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x217f, - 0x2183, 0x2184, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0xa640, 0xa66d, - 0xa680, 0xa697, - 0xa722, 0xa787, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa7fa, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0x10400, 0x1044f, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, -}; /* CR_Cased */ - -/* 'Case_Ignorable': Derived Property */ -static const OnigCodePoint CR_Case_Ignorable[] = { - 277, - 0x0027, 0x0027, - 0x002e, 0x002e, - 0x003a, 0x003a, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x00a8, 0x00a8, - 0x00ad, 0x00ad, - 0x00af, 0x00af, - 0x00b4, 0x00b4, - 0x00b7, 0x00b8, - 0x02b0, 0x036f, - 0x0374, 0x0375, - 0x037a, 0x037a, - 0x0384, 0x0385, - 0x0387, 0x0387, - 0x0483, 0x0489, - 0x0559, 0x0559, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05f4, 0x05f4, - 0x0600, 0x0603, - 0x0610, 0x061a, - 0x0640, 0x0640, - 0x064b, 0x065f, - 0x0670, 0x0670, - 0x06d6, 0x06dd, - 0x06df, 0x06e8, - 0x06ea, 0x06ed, - 0x070f, 0x070f, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f5, - 0x07fa, 0x07fa, - 0x0816, 0x082d, - 0x0859, 0x085b, - 0x0900, 0x0902, - 0x093a, 0x093a, - 0x093c, 0x093c, - 0x0941, 0x0948, - 0x094d, 0x094d, - 0x0951, 0x0957, - 0x0962, 0x0963, - 0x0971, 0x0971, - 0x0981, 0x0981, - 0x09bc, 0x09bc, - 0x09c1, 0x09c4, - 0x09cd, 0x09cd, - 0x09e2, 0x09e3, - 0x0a01, 0x0a02, - 0x0a3c, 0x0a3c, - 0x0a41, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a82, - 0x0abc, 0x0abc, - 0x0ac1, 0x0ac5, - 0x0ac7, 0x0ac8, - 0x0acd, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b01, - 0x0b3c, 0x0b3c, - 0x0b3f, 0x0b3f, - 0x0b41, 0x0b44, - 0x0b4d, 0x0b4d, - 0x0b56, 0x0b56, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bc0, 0x0bc0, - 0x0bcd, 0x0bcd, - 0x0c3e, 0x0c40, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0cbc, 0x0cbc, - 0x0cbf, 0x0cbf, - 0x0cc6, 0x0cc6, - 0x0ccc, 0x0ccd, - 0x0ce2, 0x0ce3, - 0x0d41, 0x0d44, - 0x0d4d, 0x0d4d, - 0x0d62, 0x0d63, - 0x0dca, 0x0dca, - 0x0dd2, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e46, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f71, 0x0f7e, - 0x0f80, 0x0f84, - 0x0f86, 0x0f87, - 0x0f8d, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102d, 0x1030, - 0x1032, 0x1037, - 0x1039, 0x103a, - 0x103d, 0x103e, - 0x1058, 0x1059, - 0x105e, 0x1060, - 0x1071, 0x1074, - 0x1082, 0x1082, - 0x1085, 0x1086, - 0x108d, 0x108d, - 0x109d, 0x109d, - 0x10fc, 0x10fc, - 0x135d, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b4, 0x17b5, - 0x17b7, 0x17bd, - 0x17c6, 0x17c6, - 0x17c9, 0x17d3, - 0x17d7, 0x17d7, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x1843, 0x1843, - 0x18a9, 0x18a9, - 0x1920, 0x1922, - 0x1927, 0x1928, - 0x1932, 0x1932, - 0x1939, 0x193b, - 0x1a17, 0x1a18, - 0x1a56, 0x1a56, - 0x1a58, 0x1a5e, - 0x1a60, 0x1a60, - 0x1a62, 0x1a62, - 0x1a65, 0x1a6c, - 0x1a73, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b03, - 0x1b34, 0x1b34, - 0x1b36, 0x1b3a, - 0x1b3c, 0x1b3c, - 0x1b42, 0x1b42, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b81, - 0x1ba2, 0x1ba5, - 0x1ba8, 0x1ba9, - 0x1be6, 0x1be6, - 0x1be8, 0x1be9, - 0x1bed, 0x1bed, - 0x1bef, 0x1bf1, - 0x1c2c, 0x1c33, - 0x1c36, 0x1c37, - 0x1c78, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1d2c, 0x1d61, - 0x1d78, 0x1d78, - 0x1d9b, 0x1de6, - 0x1dfc, 0x1dff, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x200b, 0x200f, - 0x2018, 0x2019, - 0x2024, 0x2024, - 0x2027, 0x2027, - 0x202a, 0x202e, - 0x2060, 0x2064, - 0x206a, 0x206f, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x20d0, 0x20f0, - 0x2c7d, 0x2c7d, - 0x2cef, 0x2cf1, - 0x2d6f, 0x2d6f, - 0x2d7f, 0x2d7f, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3005, - 0x302a, 0x302f, - 0x3031, 0x3035, - 0x303b, 0x303b, - 0x3099, 0x309e, - 0x30fc, 0x30fe, - 0xa015, 0xa015, - 0xa4f8, 0xa4fd, - 0xa60c, 0xa60c, - 0xa66f, 0xa672, - 0xa67c, 0xa67d, - 0xa67f, 0xa67f, - 0xa6f0, 0xa6f1, - 0xa700, 0xa721, - 0xa770, 0xa770, - 0xa788, 0xa78a, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa825, 0xa826, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa951, - 0xa980, 0xa982, - 0xa9b3, 0xa9b3, - 0xa9b6, 0xa9b9, - 0xa9bc, 0xa9bc, - 0xa9cf, 0xa9cf, - 0xaa29, 0xaa2e, - 0xaa31, 0xaa32, - 0xaa35, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4c, - 0xaa70, 0xaa70, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xaadd, 0xaadd, - 0xabe5, 0xabe5, - 0xabe8, 0xabe8, - 0xabed, 0xabed, - 0xfb1e, 0xfb1e, - 0xfbb2, 0xfbc1, - 0xfe00, 0xfe0f, - 0xfe13, 0xfe13, - 0xfe20, 0xfe26, - 0xfe52, 0xfe52, - 0xfe55, 0xfe55, - 0xfeff, 0xfeff, - 0xff07, 0xff07, - 0xff0e, 0xff0e, - 0xff1a, 0xff1a, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xff70, 0xff70, - 0xff9e, 0xff9f, - 0xffe3, 0xffe3, - 0xfff9, 0xfffb, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11001, 0x11001, - 0x11038, 0x11046, - 0x11080, 0x11081, - 0x110b3, 0x110b6, - 0x110b9, 0x110ba, - 0x110bd, 0x110bd, - 0x1d167, 0x1d169, - 0x1d173, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, -}; /* CR_Case_Ignorable */ - -/* 'Changes_When_Lowercased': Derived Property */ -static const OnigCodePoint CR_Changes_When_Lowercased[] = { - 566, - 0x0041, 0x005a, - 0x00c0, 0x00d6, - 0x00d8, 0x00de, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x014a, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c5, - 0x01c7, 0x01c8, - 0x01ca, 0x01cb, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f2, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03cf, 0x03cf, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f4, 0x03f4, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0526, 0x0526, - 0x0531, 0x0556, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1f88, 0x1f8f, - 0x1f98, 0x1f9f, - 0x1fa8, 0x1faf, - 0x1fb8, 0x1fbc, - 0x1fc8, 0x1fcc, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff8, 0x1ffc, - 0x2126, 0x2126, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x2160, 0x216f, - 0x2183, 0x2183, - 0x24b6, 0x24cf, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa660, 0xa660, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xa78d, 0xa78d, - 0xa790, 0xa790, - 0xa7a0, 0xa7a0, - 0xa7a2, 0xa7a2, - 0xa7a4, 0xa7a4, - 0xa7a6, 0xa7a6, - 0xa7a8, 0xa7a8, - 0xff21, 0xff3a, - 0x10400, 0x10427, -}; /* CR_Changes_When_Lowercased */ - -/* 'Changes_When_Uppercased': Derived Property */ -static const OnigCodePoint CR_Changes_When_Uppercased[] = { - 582, - 0x0061, 0x007a, - 0x00b5, 0x00b5, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0137, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018c, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019a, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01b9, - 0x01bd, 0x01bd, - 0x01bf, 0x01bf, - 0x01c5, 0x01c6, - 0x01c8, 0x01c9, - 0x01cb, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f0, - 0x01f2, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0233, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0254, - 0x0256, 0x0257, - 0x0259, 0x0259, - 0x025b, 0x025b, - 0x0260, 0x0260, - 0x0263, 0x0263, - 0x0265, 0x0265, - 0x0268, 0x0269, - 0x026b, 0x026b, - 0x026f, 0x026f, - 0x0271, 0x0272, - 0x0275, 0x0275, - 0x027d, 0x027d, - 0x0280, 0x0280, - 0x0283, 0x0283, - 0x0288, 0x028c, - 0x0292, 0x0292, - 0x0345, 0x0345, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037b, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f2, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fb, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0527, 0x0527, - 0x0561, 0x0587, - 0x1d79, 0x1d79, - 0x1d7d, 0x1d7d, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9b, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbc, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fcc, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x1ffc, 0x1ffc, - 0x214e, 0x214e, - 0x2170, 0x217f, - 0x2184, 0x2184, - 0x24d0, 0x24e9, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c73, 0x2c73, - 0x2c76, 0x2c76, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce3, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa661, 0xa661, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa72f, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa76f, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xa791, 0xa791, - 0xa7a1, 0xa7a1, - 0xa7a3, 0xa7a3, - 0xa7a5, 0xa7a5, - 0xa7a7, 0xa7a7, - 0xa7a9, 0xa7a9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, -}; /* CR_Changes_When_Uppercased */ - -/* 'Changes_When_Titlecased': Derived Property */ -static const OnigCodePoint CR_Changes_When_Titlecased[] = { - 583, - 0x0061, 0x007a, - 0x00b5, 0x00b5, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0137, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018c, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019a, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01b9, - 0x01bd, 0x01bd, - 0x01bf, 0x01bf, - 0x01c4, 0x01c4, - 0x01c6, 0x01c7, - 0x01c9, 0x01ca, - 0x01cc, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f1, - 0x01f3, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0233, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0254, - 0x0256, 0x0257, - 0x0259, 0x0259, - 0x025b, 0x025b, - 0x0260, 0x0260, - 0x0263, 0x0263, - 0x0265, 0x0265, - 0x0268, 0x0269, - 0x026b, 0x026b, - 0x026f, 0x026f, - 0x0271, 0x0272, - 0x0275, 0x0275, - 0x027d, 0x027d, - 0x0280, 0x0280, - 0x0283, 0x0283, - 0x0288, 0x028c, - 0x0292, 0x0292, - 0x0345, 0x0345, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037b, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f2, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fb, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0527, 0x0527, - 0x0561, 0x0587, - 0x1d79, 0x1d79, - 0x1d7d, 0x1d7d, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9b, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1f87, - 0x1f90, 0x1f97, - 0x1fa0, 0x1fa7, - 0x1fb0, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x214e, 0x214e, - 0x2170, 0x217f, - 0x2184, 0x2184, - 0x24d0, 0x24e9, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c73, 0x2c73, - 0x2c76, 0x2c76, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce3, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa661, 0xa661, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa72f, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa76f, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xa791, 0xa791, - 0xa7a1, 0xa7a1, - 0xa7a3, 0xa7a3, - 0xa7a5, 0xa7a5, - 0xa7a7, 0xa7a7, - 0xa7a9, 0xa7a9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, -}; /* CR_Changes_When_Titlecased */ - -/* 'Changes_When_Casefolded': Derived Property */ -static const OnigCodePoint CR_Changes_When_Casefolded[] = { - 577, - 0x0041, 0x005a, - 0x00b5, 0x00b5, - 0x00c0, 0x00d6, - 0x00d8, 0x00df, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x0149, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x017f, 0x017f, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c5, - 0x01c7, 0x01c8, - 0x01ca, 0x01cb, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f2, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0345, 0x0345, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03c2, 0x03c2, - 0x03cf, 0x03d1, - 0x03d5, 0x03d6, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f0, 0x03f1, - 0x03f4, 0x03f5, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0526, 0x0526, - 0x0531, 0x0556, - 0x0587, 0x0587, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9a, 0x1e9b, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1f80, 0x1faf, - 0x1fb2, 0x1fb4, - 0x1fb7, 0x1fbc, - 0x1fc2, 0x1fc4, - 0x1fc7, 0x1fcc, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff7, 0x1ffc, - 0x2126, 0x2126, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x2160, 0x216f, - 0x2183, 0x2183, - 0x24b6, 0x24cf, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa660, 0xa660, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xa78d, 0xa78d, - 0xa790, 0xa790, - 0xa7a0, 0xa7a0, - 0xa7a2, 0xa7a2, - 0xa7a4, 0xa7a4, - 0xa7a6, 0xa7a6, - 0xa7a8, 0xa7a8, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff21, 0xff3a, - 0x10400, 0x10427, -}; /* CR_Changes_When_Casefolded */ - -/* 'Changes_When_Casemapped': Derived Property */ -static const OnigCodePoint CR_Changes_When_Casemapped[] = { - 99, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00b5, 0x00b5, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x0137, - 0x0139, 0x018c, - 0x018e, 0x019a, - 0x019c, 0x01a9, - 0x01ac, 0x01b9, - 0x01bc, 0x01bd, - 0x01bf, 0x01bf, - 0x01c4, 0x0220, - 0x0222, 0x0233, - 0x023a, 0x0254, - 0x0256, 0x0257, - 0x0259, 0x0259, - 0x025b, 0x025b, - 0x0260, 0x0260, - 0x0263, 0x0263, - 0x0265, 0x0265, - 0x0268, 0x0269, - 0x026b, 0x026b, - 0x026f, 0x026f, - 0x0271, 0x0272, - 0x0275, 0x0275, - 0x027d, 0x027d, - 0x0280, 0x0280, - 0x0283, 0x0283, - 0x0288, 0x028c, - 0x0292, 0x0292, - 0x0345, 0x0345, - 0x0370, 0x0373, - 0x0376, 0x0377, - 0x037b, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03d1, - 0x03d5, 0x03f2, - 0x03f4, 0x03f5, - 0x03f7, 0x03fb, - 0x03fd, 0x0481, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0561, 0x0587, - 0x10a0, 0x10c5, - 0x1d79, 0x1d79, - 0x1d7d, 0x1d7d, - 0x1e00, 0x1e9b, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2126, 0x2126, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x214e, 0x214e, - 0x2160, 0x217f, - 0x2183, 0x2184, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2c70, - 0x2c72, 0x2c73, - 0x2c75, 0x2c76, - 0x2c7e, 0x2ce3, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0xa640, 0xa66d, - 0xa680, 0xa697, - 0xa722, 0xa72f, - 0xa732, 0xa76f, - 0xa779, 0xa787, - 0xa78b, 0xa78d, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0x10400, 0x1044f, -}; /* CR_Changes_When_Casemapped */ - -/* 'ID_Start': Derived Property */ -static const OnigCodePoint CR_ID_Start[] = { - 437, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0620, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06e5, 0x06e6, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0840, 0x0858, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0971, 0x0977, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0cf1, 0x0cf2, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d3d, - 0x0d4e, 0x0d4e, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e40, 0x0e46, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8c, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1aa7, 0x1aa7, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1bc0, 0x1be5, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309b, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11003, 0x11037, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, -}; /* CR_ID_Start */ - -/* 'ID_Continue': Derived Property */ -static const OnigCodePoint CR_ID_Continue[] = { - 514, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x005f, 0x005f, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00b7, 0x00b7, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0300, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x0483, 0x0487, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0620, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06df, 0x06e8, - 0x06ea, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x082d, - 0x0840, 0x085b, - 0x0900, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0977, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4e, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e4e, - 0x0e50, 0x0e59, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f18, 0x0f19, - 0x0f20, 0x0f29, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f84, - 0x0f86, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x1000, 0x1049, - 0x1050, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135d, 0x135f, - 0x1369, 0x1371, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1734, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17d3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dd, - 0x17e0, 0x17e9, - 0x180b, 0x180d, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1946, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b6b, 0x1b73, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1bc0, 0x1bf3, - 0x1c00, 0x1c37, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfc, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20f0, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cf1, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d7f, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x3005, 0x3007, - 0x3021, 0x302f, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x3099, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa66f, - 0xa67c, 0xa67d, - 0xa67f, 0xa697, - 0xa6a0, 0xa6f1, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c4, - 0xa8d0, 0xa8d9, - 0xa8e0, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92d, - 0xa930, 0xa953, - 0xa960, 0xa97c, - 0xa980, 0xa9c0, - 0xa9cf, 0xa9d9, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadd, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabea, - 0xabec, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff3f, 0xff3f, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x101fd, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11000, 0x11046, - 0x11066, 0x1106f, - 0x11080, 0x110ba, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, - 0xe0100, 0xe01ef, -}; /* CR_ID_Continue */ - -/* 'XID_Start': Derived Property */ -static const OnigCodePoint CR_XID_Start[] = { - 444, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037b, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0620, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06e5, 0x06e6, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0840, 0x0858, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0971, 0x0977, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0cf1, 0x0cf2, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d3d, - 0x0d4e, 0x0d4e, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e32, - 0x0e40, 0x0e46, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb2, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8c, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1aa7, 0x1aa7, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1bc0, 0x1be5, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfc5d, - 0xfc64, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdf9, - 0xfe71, 0xfe71, - 0xfe73, 0xfe73, - 0xfe77, 0xfe77, - 0xfe79, 0xfe79, - 0xfe7b, 0xfe7b, - 0xfe7d, 0xfe7d, - 0xfe7f, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xff9d, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11003, 0x11037, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, -}; /* CR_XID_Start */ - -/* 'XID_Continue': Derived Property */ -static const OnigCodePoint CR_XID_Continue[] = { - 521, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x005f, 0x005f, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00b7, 0x00b7, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0300, 0x0374, - 0x0376, 0x0377, - 0x037b, 0x037d, - 0x0386, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x0483, 0x0487, - 0x048a, 0x0527, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0620, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06df, 0x06e8, - 0x06ea, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x082d, - 0x0840, 0x085b, - 0x0900, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0977, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4e, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e4e, - 0x0e50, 0x0e59, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f18, 0x0f19, - 0x0f20, 0x0f29, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f84, - 0x0f86, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x1000, 0x1049, - 0x1050, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135d, 0x135f, - 0x1369, 0x1371, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1734, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17d3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dd, - 0x17e0, 0x17e9, - 0x180b, 0x180d, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1946, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b6b, 0x1b73, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1bc0, 0x1bf3, - 0x1c00, 0x1c37, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfc, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20f0, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cf1, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d7f, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x3005, 0x3007, - 0x3021, 0x302f, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x3099, 0x309a, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa66f, - 0xa67c, 0xa67d, - 0xa67f, 0xa697, - 0xa6a0, 0xa6f1, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c4, - 0xa8d0, 0xa8d9, - 0xa8e0, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92d, - 0xa930, 0xa953, - 0xa960, 0xa97c, - 0xa980, 0xa9c0, - 0xa9cf, 0xa9d9, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadd, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabea, - 0xabec, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfc5d, - 0xfc64, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdf9, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xfe71, 0xfe71, - 0xfe73, 0xfe73, - 0xfe77, 0xfe77, - 0xfe79, 0xfe79, - 0xfe7b, 0xfe7b, - 0xfe7d, 0xfe7d, - 0xfe7f, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff3f, 0xff3f, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x101fd, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11000, 0x11046, - 0x11066, 0x1106f, - 0x11080, 0x110ba, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, - 0xe0100, 0xe01ef, -}; /* CR_XID_Continue */ - -/* 'Default_Ignorable_Code_Point': Derived Property */ -static const OnigCodePoint CR_Default_Ignorable_Code_Point[] = { - 15, - 0x00ad, 0x00ad, - 0x034f, 0x034f, - 0x115f, 0x1160, - 0x17b4, 0x17b5, - 0x180b, 0x180d, - 0x200b, 0x200f, - 0x202a, 0x202e, - 0x2060, 0x206f, - 0x3164, 0x3164, - 0xfe00, 0xfe0f, - 0xfeff, 0xfeff, - 0xffa0, 0xffa0, - 0xfff0, 0xfff8, - 0x1d173, 0x1d17a, - 0xe0000, 0xe0fff, -}; /* CR_Default_Ignorable_Code_Point */ - -/* 'Grapheme_Extend': Derived Property */ -static const OnigCodePoint CR_Grapheme_Extend[] = { - 215, - 0x0300, 0x036f, - 0x0483, 0x0489, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x065f, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06df, 0x06e4, - 0x06e7, 0x06e8, - 0x06ea, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f3, - 0x0816, 0x0819, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082d, - 0x0859, 0x085b, - 0x0900, 0x0902, - 0x093a, 0x093a, - 0x093c, 0x093c, - 0x0941, 0x0948, - 0x094d, 0x094d, - 0x0951, 0x0957, - 0x0962, 0x0963, - 0x0981, 0x0981, - 0x09bc, 0x09bc, - 0x09be, 0x09be, - 0x09c1, 0x09c4, - 0x09cd, 0x09cd, +/* 'Graph': [[:Graph:]] */ +static const OnigCodePoint CR_Graph[] = { + 544, + 0x0021, 0x007e, + 0x00a1, 0x0377, + 0x037a, 0x037e, + 0x0384, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x055f, + 0x0561, 0x0587, + 0x0589, 0x058a, + 0x058f, 0x058f, + 0x0591, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f4, + 0x0600, 0x0604, + 0x0606, 0x061b, + 0x061e, 0x070d, + 0x070f, 0x074a, + 0x074d, 0x07b1, + 0x07c0, 0x07fa, + 0x0800, 0x082d, + 0x0830, 0x083e, + 0x0840, 0x085b, + 0x085e, 0x085e, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0977, + 0x0979, 0x097f, + 0x0981, 0x0983, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bc, 0x09c4, + 0x09c7, 0x09c8, + 0x09cb, 0x09ce, 0x09d7, 0x09d7, - 0x09e2, 0x09e3, - 0x0a01, 0x0a02, + 0x09dc, 0x09dd, + 0x09df, 0x09e3, + 0x09e6, 0x09fb, + 0x0a01, 0x0a03, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, 0x0a3c, 0x0a3c, - 0x0a41, 0x0a42, + 0x0a3e, 0x0a42, 0x0a47, 0x0a48, 0x0a4b, 0x0a4d, 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a82, - 0x0abc, 0x0abc, - 0x0ac1, 0x0ac5, - 0x0ac7, 0x0ac8, - 0x0acd, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b01, - 0x0b3c, 0x0b3c, - 0x0b3e, 0x0b3f, - 0x0b41, 0x0b44, - 0x0b4d, 0x0b4d, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a66, 0x0a75, + 0x0a81, 0x0a83, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abc, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0af1, + 0x0b01, 0x0b03, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3c, 0x0b44, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bbe, 0x0bbe, - 0x0bc0, 0x0bc0, - 0x0bcd, 0x0bcd, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b63, + 0x0b66, 0x0b77, + 0x0b82, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bbe, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcd, + 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0c3e, 0x0c40, + 0x0be6, 0x0bfa, + 0x0c01, 0x0c03, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4d, 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0cbc, 0x0cbc, - 0x0cbf, 0x0cbf, - 0x0cc2, 0x0cc2, - 0x0cc6, 0x0cc6, - 0x0ccc, 0x0ccd, + 0x0c58, 0x0c59, + 0x0c60, 0x0c63, + 0x0c66, 0x0c6f, + 0x0c78, 0x0c7f, + 0x0c82, 0x0c83, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbc, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, - 0x0ce2, 0x0ce3, - 0x0d3e, 0x0d3e, - 0x0d41, 0x0d44, - 0x0d4d, 0x0d4d, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce3, + 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, + 0x0d02, 0x0d03, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d44, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4e, 0x0d57, 0x0d57, - 0x0d62, 0x0d63, + 0x0d60, 0x0d63, + 0x0d66, 0x0d75, + 0x0d79, 0x0d7f, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, 0x0dca, 0x0dca, - 0x0dcf, 0x0dcf, - 0x0dd2, 0x0dd4, + 0x0dcf, 0x0dd4, 0x0dd6, 0x0dd6, - 0x0ddf, 0x0ddf, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e47, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df4, + 0x0e01, 0x0e3a, + 0x0e3f, 0x0e5b, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb9, + 0x0ebb, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f71, 0x0f7e, - 0x0f80, 0x0f84, - 0x0f86, 0x0f87, - 0x0f8d, 0x0f97, + 0x0ed0, 0x0ed9, + 0x0edc, 0x0edf, + 0x0f00, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f71, 0x0f97, 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102d, 0x1030, - 0x1032, 0x1037, - 0x1039, 0x103a, - 0x103d, 0x103e, - 0x1058, 0x1059, - 0x105e, 0x1060, - 0x1071, 0x1074, - 0x1082, 0x1082, - 0x1085, 0x1086, - 0x108d, 0x108d, - 0x109d, 0x109d, - 0x135d, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, + 0x0fbe, 0x0fcc, + 0x0fce, 0x0fda, + 0x1000, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135d, 0x137c, + 0x1380, 0x1399, + 0x13a0, 0x13f4, + 0x1400, 0x167f, + 0x1681, 0x169c, + 0x16a0, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1714, + 0x1720, 0x1736, + 0x1740, 0x1753, + 0x1760, 0x176c, + 0x176e, 0x1770, 0x1772, 0x1773, - 0x17b7, 0x17bd, - 0x17c6, 0x17c6, - 0x17c9, 0x17d3, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x18a9, 0x18a9, - 0x1920, 0x1922, - 0x1927, 0x1928, - 0x1932, 0x1932, - 0x1939, 0x193b, - 0x1a17, 0x1a18, - 0x1a56, 0x1a56, - 0x1a58, 0x1a5e, - 0x1a60, 0x1a60, - 0x1a62, 0x1a62, - 0x1a65, 0x1a6c, - 0x1a73, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b00, 0x1b03, - 0x1b34, 0x1b34, - 0x1b36, 0x1b3a, - 0x1b3c, 0x1b3c, - 0x1b42, 0x1b42, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b81, - 0x1ba2, 0x1ba5, - 0x1ba8, 0x1ba9, - 0x1be6, 0x1be6, - 0x1be8, 0x1be9, - 0x1bed, 0x1bed, - 0x1bef, 0x1bf1, - 0x1c2c, 0x1c33, - 0x1c36, 0x1c37, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1dc0, 0x1de6, - 0x1dfc, 0x1dff, - 0x200c, 0x200d, + 0x1780, 0x17dd, + 0x17e0, 0x17e9, + 0x17f0, 0x17f9, + 0x1800, 0x180d, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x1940, 0x1940, + 0x1944, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19da, + 0x19de, 0x1a1b, + 0x1a1e, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa0, 0x1aad, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b7c, + 0x1b80, 0x1bf3, + 0x1bfc, 0x1c37, + 0x1c3b, 0x1c49, + 0x1c4d, 0x1c7f, + 0x1cc0, 0x1cc7, + 0x1cd0, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fc4, + 0x1fc6, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fdd, 0x1fef, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffe, + 0x200b, 0x2027, + 0x202a, 0x202e, + 0x2030, 0x205e, + 0x2060, 0x2064, + 0x206a, 0x2071, + 0x2074, 0x208e, + 0x2090, 0x209c, + 0x20a0, 0x20b9, 0x20d0, 0x20f0, - 0x2cef, 0x2cf1, - 0x2d7f, 0x2d7f, - 0x2de0, 0x2dff, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xa66f, 0xa672, - 0xa67c, 0xa67d, - 0xa6f0, 0xa6f1, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa825, 0xa826, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa951, - 0xa980, 0xa982, - 0xa9b3, 0xa9b3, - 0xa9b6, 0xa9b9, - 0xa9bc, 0xa9bc, - 0xaa29, 0xaa2e, - 0xaa31, 0xaa32, - 0xaa35, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4c, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xabe5, 0xabe5, - 0xabe8, 0xabe8, - 0xabed, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, + 0x2100, 0x2189, + 0x2190, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x2460, 0x26ff, + 0x2701, 0x2b4c, + 0x2b50, 0x2b59, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2cf3, + 0x2cf9, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d70, + 0x2d7f, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2de0, 0x2e3b, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3001, 0x303f, + 0x3041, 0x3096, + 0x3099, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x3190, 0x31ba, + 0x31c0, 0x31e3, + 0x31f0, 0x321e, + 0x3220, 0x32fe, + 0x3300, 0x4db5, + 0x4dc0, 0x9fcc, + 0xa000, 0xa48c, + 0xa490, 0xa4c6, + 0xa4d0, 0xa62b, + 0xa640, 0xa697, + 0xa69f, 0xa6f7, + 0xa700, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa82b, + 0xa830, 0xa839, + 0xa840, 0xa877, + 0xa880, 0xa8c4, + 0xa8ce, 0xa8d9, + 0xa8e0, 0xa8fb, + 0xa900, 0xa953, + 0xa95f, 0xa97c, + 0xa980, 0xa9cd, + 0xa9cf, 0xa9d9, + 0xa9de, 0xa9df, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa5c, 0xaa7b, + 0xaa80, 0xaac2, + 0xaadb, 0xaaf6, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabed, + 0xabf0, 0xabf9, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xe000, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbc1, + 0xfbd3, 0xfd3f, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfd, + 0xfe00, 0xfe19, 0xfe20, 0xfe26, - 0xff9e, 0xff9f, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, + 0xfe30, 0xfe52, + 0xfe54, 0xfe66, + 0xfe68, 0xfe6b, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xfeff, 0xfeff, + 0xff01, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfff9, 0xfffd, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10100, 0x10102, + 0x10107, 0x10133, + 0x10137, 0x1018a, + 0x10190, 0x1019b, + 0x101d0, 0x101fd, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10320, 0x10323, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x1039f, 0x103c3, + 0x103c8, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10857, 0x1085f, + 0x10900, 0x1091b, + 0x1091f, 0x10939, + 0x1093f, 0x1093f, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11001, 0x11001, - 0x11038, 0x11046, - 0x11080, 0x11081, - 0x110b3, 0x110b6, - 0x110b9, 0x110ba, - 0x1d165, 0x1d165, - 0x1d167, 0x1d169, - 0x1d16e, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, + 0x10a3f, 0x10a47, + 0x10a50, 0x10a58, + 0x10a60, 0x10a7f, + 0x10b00, 0x10b35, + 0x10b39, 0x10b55, + 0x10b58, 0x10b72, + 0x10b78, 0x10b7f, + 0x10c00, 0x10c48, + 0x10e60, 0x10e7e, + 0x11000, 0x1104d, + 0x11052, 0x1106f, + 0x11080, 0x110c1, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x11143, + 0x11180, 0x111c8, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x12470, 0x12473, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d1dd, + 0x1d200, 0x1d245, + 0x1d300, 0x1d356, + 0x1d360, 0x1d371, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, 0xe0100, 0xe01ef, -}; /* CR_Grapheme_Extend */ + 0xf0000, 0xffffd, + 0x100000, 0x10fffd, +}; /* CR_Graph */ + +/* 'Lower': [[:Lower:]] */ +static const OnigCodePoint CR_Lower[] = { + 618, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00df, 0x00f6, + 0x00f8, 0x00ff, + 0x0101, 0x0101, + 0x0103, 0x0103, + 0x0105, 0x0105, + 0x0107, 0x0107, + 0x0109, 0x0109, + 0x010b, 0x010b, + 0x010d, 0x010d, + 0x010f, 0x010f, + 0x0111, 0x0111, + 0x0113, 0x0113, + 0x0115, 0x0115, + 0x0117, 0x0117, + 0x0119, 0x0119, + 0x011b, 0x011b, + 0x011d, 0x011d, + 0x011f, 0x011f, + 0x0121, 0x0121, + 0x0123, 0x0123, + 0x0125, 0x0125, + 0x0127, 0x0127, + 0x0129, 0x0129, + 0x012b, 0x012b, + 0x012d, 0x012d, + 0x012f, 0x012f, + 0x0131, 0x0131, + 0x0133, 0x0133, + 0x0135, 0x0135, + 0x0137, 0x0138, + 0x013a, 0x013a, + 0x013c, 0x013c, + 0x013e, 0x013e, + 0x0140, 0x0140, + 0x0142, 0x0142, + 0x0144, 0x0144, + 0x0146, 0x0146, + 0x0148, 0x0149, + 0x014b, 0x014b, + 0x014d, 0x014d, + 0x014f, 0x014f, + 0x0151, 0x0151, + 0x0153, 0x0153, + 0x0155, 0x0155, + 0x0157, 0x0157, + 0x0159, 0x0159, + 0x015b, 0x015b, + 0x015d, 0x015d, + 0x015f, 0x015f, + 0x0161, 0x0161, + 0x0163, 0x0163, + 0x0165, 0x0165, + 0x0167, 0x0167, + 0x0169, 0x0169, + 0x016b, 0x016b, + 0x016d, 0x016d, + 0x016f, 0x016f, + 0x0171, 0x0171, + 0x0173, 0x0173, + 0x0175, 0x0175, + 0x0177, 0x0177, + 0x017a, 0x017a, + 0x017c, 0x017c, + 0x017e, 0x0180, + 0x0183, 0x0183, + 0x0185, 0x0185, + 0x0188, 0x0188, + 0x018c, 0x018d, + 0x0192, 0x0192, + 0x0195, 0x0195, + 0x0199, 0x019b, + 0x019e, 0x019e, + 0x01a1, 0x01a1, + 0x01a3, 0x01a3, + 0x01a5, 0x01a5, + 0x01a8, 0x01a8, + 0x01aa, 0x01ab, + 0x01ad, 0x01ad, + 0x01b0, 0x01b0, + 0x01b4, 0x01b4, + 0x01b6, 0x01b6, + 0x01b9, 0x01ba, + 0x01bd, 0x01bf, + 0x01c6, 0x01c6, + 0x01c9, 0x01c9, + 0x01cc, 0x01cc, + 0x01ce, 0x01ce, + 0x01d0, 0x01d0, + 0x01d2, 0x01d2, + 0x01d4, 0x01d4, + 0x01d6, 0x01d6, + 0x01d8, 0x01d8, + 0x01da, 0x01da, + 0x01dc, 0x01dd, + 0x01df, 0x01df, + 0x01e1, 0x01e1, + 0x01e3, 0x01e3, + 0x01e5, 0x01e5, + 0x01e7, 0x01e7, + 0x01e9, 0x01e9, + 0x01eb, 0x01eb, + 0x01ed, 0x01ed, + 0x01ef, 0x01f0, + 0x01f3, 0x01f3, + 0x01f5, 0x01f5, + 0x01f9, 0x01f9, + 0x01fb, 0x01fb, + 0x01fd, 0x01fd, + 0x01ff, 0x01ff, + 0x0201, 0x0201, + 0x0203, 0x0203, + 0x0205, 0x0205, + 0x0207, 0x0207, + 0x0209, 0x0209, + 0x020b, 0x020b, + 0x020d, 0x020d, + 0x020f, 0x020f, + 0x0211, 0x0211, + 0x0213, 0x0213, + 0x0215, 0x0215, + 0x0217, 0x0217, + 0x0219, 0x0219, + 0x021b, 0x021b, + 0x021d, 0x021d, + 0x021f, 0x021f, + 0x0221, 0x0221, + 0x0223, 0x0223, + 0x0225, 0x0225, + 0x0227, 0x0227, + 0x0229, 0x0229, + 0x022b, 0x022b, + 0x022d, 0x022d, + 0x022f, 0x022f, + 0x0231, 0x0231, + 0x0233, 0x0239, + 0x023c, 0x023c, + 0x023f, 0x0240, + 0x0242, 0x0242, + 0x0247, 0x0247, + 0x0249, 0x0249, + 0x024b, 0x024b, + 0x024d, 0x024d, + 0x024f, 0x0293, + 0x0295, 0x02b8, + 0x02c0, 0x02c1, + 0x02e0, 0x02e4, + 0x0345, 0x0345, + 0x0371, 0x0371, + 0x0373, 0x0373, + 0x0377, 0x0377, + 0x037a, 0x037d, + 0x0390, 0x0390, + 0x03ac, 0x03ce, + 0x03d0, 0x03d1, + 0x03d5, 0x03d7, + 0x03d9, 0x03d9, + 0x03db, 0x03db, + 0x03dd, 0x03dd, + 0x03df, 0x03df, + 0x03e1, 0x03e1, + 0x03e3, 0x03e3, + 0x03e5, 0x03e5, + 0x03e7, 0x03e7, + 0x03e9, 0x03e9, + 0x03eb, 0x03eb, + 0x03ed, 0x03ed, + 0x03ef, 0x03f3, + 0x03f5, 0x03f5, + 0x03f8, 0x03f8, + 0x03fb, 0x03fc, + 0x0430, 0x045f, + 0x0461, 0x0461, + 0x0463, 0x0463, + 0x0465, 0x0465, + 0x0467, 0x0467, + 0x0469, 0x0469, + 0x046b, 0x046b, + 0x046d, 0x046d, + 0x046f, 0x046f, + 0x0471, 0x0471, + 0x0473, 0x0473, + 0x0475, 0x0475, + 0x0477, 0x0477, + 0x0479, 0x0479, + 0x047b, 0x047b, + 0x047d, 0x047d, + 0x047f, 0x047f, + 0x0481, 0x0481, + 0x048b, 0x048b, + 0x048d, 0x048d, + 0x048f, 0x048f, + 0x0491, 0x0491, + 0x0493, 0x0493, + 0x0495, 0x0495, + 0x0497, 0x0497, + 0x0499, 0x0499, + 0x049b, 0x049b, + 0x049d, 0x049d, + 0x049f, 0x049f, + 0x04a1, 0x04a1, + 0x04a3, 0x04a3, + 0x04a5, 0x04a5, + 0x04a7, 0x04a7, + 0x04a9, 0x04a9, + 0x04ab, 0x04ab, + 0x04ad, 0x04ad, + 0x04af, 0x04af, + 0x04b1, 0x04b1, + 0x04b3, 0x04b3, + 0x04b5, 0x04b5, + 0x04b7, 0x04b7, + 0x04b9, 0x04b9, + 0x04bb, 0x04bb, + 0x04bd, 0x04bd, + 0x04bf, 0x04bf, + 0x04c2, 0x04c2, + 0x04c4, 0x04c4, + 0x04c6, 0x04c6, + 0x04c8, 0x04c8, + 0x04ca, 0x04ca, + 0x04cc, 0x04cc, + 0x04ce, 0x04cf, + 0x04d1, 0x04d1, + 0x04d3, 0x04d3, + 0x04d5, 0x04d5, + 0x04d7, 0x04d7, + 0x04d9, 0x04d9, + 0x04db, 0x04db, + 0x04dd, 0x04dd, + 0x04df, 0x04df, + 0x04e1, 0x04e1, + 0x04e3, 0x04e3, + 0x04e5, 0x04e5, + 0x04e7, 0x04e7, + 0x04e9, 0x04e9, + 0x04eb, 0x04eb, + 0x04ed, 0x04ed, + 0x04ef, 0x04ef, + 0x04f1, 0x04f1, + 0x04f3, 0x04f3, + 0x04f5, 0x04f5, + 0x04f7, 0x04f7, + 0x04f9, 0x04f9, + 0x04fb, 0x04fb, + 0x04fd, 0x04fd, + 0x04ff, 0x04ff, + 0x0501, 0x0501, + 0x0503, 0x0503, + 0x0505, 0x0505, + 0x0507, 0x0507, + 0x0509, 0x0509, + 0x050b, 0x050b, + 0x050d, 0x050d, + 0x050f, 0x050f, + 0x0511, 0x0511, + 0x0513, 0x0513, + 0x0515, 0x0515, + 0x0517, 0x0517, + 0x0519, 0x0519, + 0x051b, 0x051b, + 0x051d, 0x051d, + 0x051f, 0x051f, + 0x0521, 0x0521, + 0x0523, 0x0523, + 0x0525, 0x0525, + 0x0527, 0x0527, + 0x0561, 0x0587, + 0x1d00, 0x1dbf, + 0x1e01, 0x1e01, + 0x1e03, 0x1e03, + 0x1e05, 0x1e05, + 0x1e07, 0x1e07, + 0x1e09, 0x1e09, + 0x1e0b, 0x1e0b, + 0x1e0d, 0x1e0d, + 0x1e0f, 0x1e0f, + 0x1e11, 0x1e11, + 0x1e13, 0x1e13, + 0x1e15, 0x1e15, + 0x1e17, 0x1e17, + 0x1e19, 0x1e19, + 0x1e1b, 0x1e1b, + 0x1e1d, 0x1e1d, + 0x1e1f, 0x1e1f, + 0x1e21, 0x1e21, + 0x1e23, 0x1e23, + 0x1e25, 0x1e25, + 0x1e27, 0x1e27, + 0x1e29, 0x1e29, + 0x1e2b, 0x1e2b, + 0x1e2d, 0x1e2d, + 0x1e2f, 0x1e2f, + 0x1e31, 0x1e31, + 0x1e33, 0x1e33, + 0x1e35, 0x1e35, + 0x1e37, 0x1e37, + 0x1e39, 0x1e39, + 0x1e3b, 0x1e3b, + 0x1e3d, 0x1e3d, + 0x1e3f, 0x1e3f, + 0x1e41, 0x1e41, + 0x1e43, 0x1e43, + 0x1e45, 0x1e45, + 0x1e47, 0x1e47, + 0x1e49, 0x1e49, + 0x1e4b, 0x1e4b, + 0x1e4d, 0x1e4d, + 0x1e4f, 0x1e4f, + 0x1e51, 0x1e51, + 0x1e53, 0x1e53, + 0x1e55, 0x1e55, + 0x1e57, 0x1e57, + 0x1e59, 0x1e59, + 0x1e5b, 0x1e5b, + 0x1e5d, 0x1e5d, + 0x1e5f, 0x1e5f, + 0x1e61, 0x1e61, + 0x1e63, 0x1e63, + 0x1e65, 0x1e65, + 0x1e67, 0x1e67, + 0x1e69, 0x1e69, + 0x1e6b, 0x1e6b, + 0x1e6d, 0x1e6d, + 0x1e6f, 0x1e6f, + 0x1e71, 0x1e71, + 0x1e73, 0x1e73, + 0x1e75, 0x1e75, + 0x1e77, 0x1e77, + 0x1e79, 0x1e79, + 0x1e7b, 0x1e7b, + 0x1e7d, 0x1e7d, + 0x1e7f, 0x1e7f, + 0x1e81, 0x1e81, + 0x1e83, 0x1e83, + 0x1e85, 0x1e85, + 0x1e87, 0x1e87, + 0x1e89, 0x1e89, + 0x1e8b, 0x1e8b, + 0x1e8d, 0x1e8d, + 0x1e8f, 0x1e8f, + 0x1e91, 0x1e91, + 0x1e93, 0x1e93, + 0x1e95, 0x1e9d, + 0x1e9f, 0x1e9f, + 0x1ea1, 0x1ea1, + 0x1ea3, 0x1ea3, + 0x1ea5, 0x1ea5, + 0x1ea7, 0x1ea7, + 0x1ea9, 0x1ea9, + 0x1eab, 0x1eab, + 0x1ead, 0x1ead, + 0x1eaf, 0x1eaf, + 0x1eb1, 0x1eb1, + 0x1eb3, 0x1eb3, + 0x1eb5, 0x1eb5, + 0x1eb7, 0x1eb7, + 0x1eb9, 0x1eb9, + 0x1ebb, 0x1ebb, + 0x1ebd, 0x1ebd, + 0x1ebf, 0x1ebf, + 0x1ec1, 0x1ec1, + 0x1ec3, 0x1ec3, + 0x1ec5, 0x1ec5, + 0x1ec7, 0x1ec7, + 0x1ec9, 0x1ec9, + 0x1ecb, 0x1ecb, + 0x1ecd, 0x1ecd, + 0x1ecf, 0x1ecf, + 0x1ed1, 0x1ed1, + 0x1ed3, 0x1ed3, + 0x1ed5, 0x1ed5, + 0x1ed7, 0x1ed7, + 0x1ed9, 0x1ed9, + 0x1edb, 0x1edb, + 0x1edd, 0x1edd, + 0x1edf, 0x1edf, + 0x1ee1, 0x1ee1, + 0x1ee3, 0x1ee3, + 0x1ee5, 0x1ee5, + 0x1ee7, 0x1ee7, + 0x1ee9, 0x1ee9, + 0x1eeb, 0x1eeb, + 0x1eed, 0x1eed, + 0x1eef, 0x1eef, + 0x1ef1, 0x1ef1, + 0x1ef3, 0x1ef3, + 0x1ef5, 0x1ef5, + 0x1ef7, 0x1ef7, + 0x1ef9, 0x1ef9, + 0x1efb, 0x1efb, + 0x1efd, 0x1efd, + 0x1eff, 0x1f07, + 0x1f10, 0x1f15, + 0x1f20, 0x1f27, + 0x1f30, 0x1f37, + 0x1f40, 0x1f45, + 0x1f50, 0x1f57, + 0x1f60, 0x1f67, + 0x1f70, 0x1f7d, + 0x1f80, 0x1f87, + 0x1f90, 0x1f97, + 0x1fa0, 0x1fa7, + 0x1fb0, 0x1fb4, + 0x1fb6, 0x1fb7, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fc7, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fd7, + 0x1fe0, 0x1fe7, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ff7, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x210a, 0x210a, + 0x210e, 0x210f, + 0x2113, 0x2113, + 0x212f, 0x212f, + 0x2134, 0x2134, + 0x2139, 0x2139, + 0x213c, 0x213d, + 0x2146, 0x2149, + 0x214e, 0x214e, + 0x2170, 0x217f, + 0x2184, 0x2184, + 0x24d0, 0x24e9, + 0x2c30, 0x2c5e, + 0x2c61, 0x2c61, + 0x2c65, 0x2c66, + 0x2c68, 0x2c68, + 0x2c6a, 0x2c6a, + 0x2c6c, 0x2c6c, + 0x2c71, 0x2c71, + 0x2c73, 0x2c74, + 0x2c76, 0x2c7d, + 0x2c81, 0x2c81, + 0x2c83, 0x2c83, + 0x2c85, 0x2c85, + 0x2c87, 0x2c87, + 0x2c89, 0x2c89, + 0x2c8b, 0x2c8b, + 0x2c8d, 0x2c8d, + 0x2c8f, 0x2c8f, + 0x2c91, 0x2c91, + 0x2c93, 0x2c93, + 0x2c95, 0x2c95, + 0x2c97, 0x2c97, + 0x2c99, 0x2c99, + 0x2c9b, 0x2c9b, + 0x2c9d, 0x2c9d, + 0x2c9f, 0x2c9f, + 0x2ca1, 0x2ca1, + 0x2ca3, 0x2ca3, + 0x2ca5, 0x2ca5, + 0x2ca7, 0x2ca7, + 0x2ca9, 0x2ca9, + 0x2cab, 0x2cab, + 0x2cad, 0x2cad, + 0x2caf, 0x2caf, + 0x2cb1, 0x2cb1, + 0x2cb3, 0x2cb3, + 0x2cb5, 0x2cb5, + 0x2cb7, 0x2cb7, + 0x2cb9, 0x2cb9, + 0x2cbb, 0x2cbb, + 0x2cbd, 0x2cbd, + 0x2cbf, 0x2cbf, + 0x2cc1, 0x2cc1, + 0x2cc3, 0x2cc3, + 0x2cc5, 0x2cc5, + 0x2cc7, 0x2cc7, + 0x2cc9, 0x2cc9, + 0x2ccb, 0x2ccb, + 0x2ccd, 0x2ccd, + 0x2ccf, 0x2ccf, + 0x2cd1, 0x2cd1, + 0x2cd3, 0x2cd3, + 0x2cd5, 0x2cd5, + 0x2cd7, 0x2cd7, + 0x2cd9, 0x2cd9, + 0x2cdb, 0x2cdb, + 0x2cdd, 0x2cdd, + 0x2cdf, 0x2cdf, + 0x2ce1, 0x2ce1, + 0x2ce3, 0x2ce4, + 0x2cec, 0x2cec, + 0x2cee, 0x2cee, + 0x2cf3, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa641, 0xa641, + 0xa643, 0xa643, + 0xa645, 0xa645, + 0xa647, 0xa647, + 0xa649, 0xa649, + 0xa64b, 0xa64b, + 0xa64d, 0xa64d, + 0xa64f, 0xa64f, + 0xa651, 0xa651, + 0xa653, 0xa653, + 0xa655, 0xa655, + 0xa657, 0xa657, + 0xa659, 0xa659, + 0xa65b, 0xa65b, + 0xa65d, 0xa65d, + 0xa65f, 0xa65f, + 0xa661, 0xa661, + 0xa663, 0xa663, + 0xa665, 0xa665, + 0xa667, 0xa667, + 0xa669, 0xa669, + 0xa66b, 0xa66b, + 0xa66d, 0xa66d, + 0xa681, 0xa681, + 0xa683, 0xa683, + 0xa685, 0xa685, + 0xa687, 0xa687, + 0xa689, 0xa689, + 0xa68b, 0xa68b, + 0xa68d, 0xa68d, + 0xa68f, 0xa68f, + 0xa691, 0xa691, + 0xa693, 0xa693, + 0xa695, 0xa695, + 0xa697, 0xa697, + 0xa723, 0xa723, + 0xa725, 0xa725, + 0xa727, 0xa727, + 0xa729, 0xa729, + 0xa72b, 0xa72b, + 0xa72d, 0xa72d, + 0xa72f, 0xa731, + 0xa733, 0xa733, + 0xa735, 0xa735, + 0xa737, 0xa737, + 0xa739, 0xa739, + 0xa73b, 0xa73b, + 0xa73d, 0xa73d, + 0xa73f, 0xa73f, + 0xa741, 0xa741, + 0xa743, 0xa743, + 0xa745, 0xa745, + 0xa747, 0xa747, + 0xa749, 0xa749, + 0xa74b, 0xa74b, + 0xa74d, 0xa74d, + 0xa74f, 0xa74f, + 0xa751, 0xa751, + 0xa753, 0xa753, + 0xa755, 0xa755, + 0xa757, 0xa757, + 0xa759, 0xa759, + 0xa75b, 0xa75b, + 0xa75d, 0xa75d, + 0xa75f, 0xa75f, + 0xa761, 0xa761, + 0xa763, 0xa763, + 0xa765, 0xa765, + 0xa767, 0xa767, + 0xa769, 0xa769, + 0xa76b, 0xa76b, + 0xa76d, 0xa76d, + 0xa76f, 0xa778, + 0xa77a, 0xa77a, + 0xa77c, 0xa77c, + 0xa77f, 0xa77f, + 0xa781, 0xa781, + 0xa783, 0xa783, + 0xa785, 0xa785, + 0xa787, 0xa787, + 0xa78c, 0xa78c, + 0xa78e, 0xa78e, + 0xa791, 0xa791, + 0xa793, 0xa793, + 0xa7a1, 0xa7a1, + 0xa7a3, 0xa7a3, + 0xa7a5, 0xa7a5, + 0xa7a7, 0xa7a7, + 0xa7a9, 0xa7a9, + 0xa7f8, 0xa7fa, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff41, 0xff5a, + 0x10428, 0x1044f, + 0x1d41a, 0x1d433, + 0x1d44e, 0x1d454, + 0x1d456, 0x1d467, + 0x1d482, 0x1d49b, + 0x1d4b6, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d4cf, + 0x1d4ea, 0x1d503, + 0x1d51e, 0x1d537, + 0x1d552, 0x1d56b, + 0x1d586, 0x1d59f, + 0x1d5ba, 0x1d5d3, + 0x1d5ee, 0x1d607, + 0x1d622, 0x1d63b, + 0x1d656, 0x1d66f, + 0x1d68a, 0x1d6a5, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6e1, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d71b, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d755, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d78f, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7c9, + 0x1d7cb, 0x1d7cb, +}; /* CR_Lower */ -/* 'Grapheme_Base': Derived Property */ -static const OnigCodePoint CR_Grapheme_Base[] = { - 596, +/* 'Print': [[:Print:]] */ +static const OnigCodePoint CR_Print[] = { + 541, 0x0020, 0x007e, - 0x00a0, 0x00ac, - 0x00ae, 0x02ff, - 0x0370, 0x0377, + 0x00a0, 0x0377, 0x037a, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0482, - 0x048a, 0x0527, + 0x03a3, 0x0527, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, 0x0589, 0x058a, - 0x05be, 0x05be, - 0x05c0, 0x05c0, - 0x05c3, 0x05c3, - 0x05c6, 0x05c6, + 0x058f, 0x058f, + 0x0591, 0x05c7, 0x05d0, 0x05ea, 0x05f0, 0x05f4, - 0x0606, 0x060f, - 0x061b, 0x061b, - 0x061e, 0x064a, - 0x0660, 0x066f, - 0x0671, 0x06d5, - 0x06de, 0x06de, - 0x06e5, 0x06e6, - 0x06e9, 0x06e9, - 0x06ee, 0x070d, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07c0, 0x07ea, - 0x07f4, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, + 0x0600, 0x0604, + 0x0606, 0x061b, + 0x061e, 0x070d, + 0x070f, 0x074a, + 0x074d, 0x07b1, + 0x07c0, 0x07fa, + 0x0800, 0x082d, 0x0830, 0x083e, - 0x0840, 0x0858, + 0x0840, 0x085b, 0x085e, 0x085e, - 0x0903, 0x0939, - 0x093b, 0x093b, - 0x093d, 0x0940, - 0x0949, 0x094c, - 0x094e, 0x0950, - 0x0958, 0x0961, - 0x0964, 0x0977, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0977, 0x0979, 0x097f, - 0x0982, 0x0983, + 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, 0x0993, 0x09a8, 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09bf, 0x09c0, + 0x09bc, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09ce, 0x09ce, + 0x09cb, 0x09ce, + 0x09d7, 0x09d7, 0x09dc, 0x09dd, - 0x09df, 0x09e1, + 0x09df, 0x09e3, 0x09e6, 0x09fb, - 0x0a03, 0x0a03, + 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, 0x0a13, 0x0a28, @@ -11849,40 +1882,42 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x0a32, 0x0a33, 0x0a35, 0x0a36, 0x0a38, 0x0a39, - 0x0a3e, 0x0a40, + 0x0a3c, 0x0a3c, + 0x0a3e, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, - 0x0a66, 0x0a6f, - 0x0a72, 0x0a74, - 0x0a83, 0x0a83, + 0x0a66, 0x0a75, + 0x0a81, 0x0a83, 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, 0x0a93, 0x0aa8, 0x0aaa, 0x0ab0, 0x0ab2, 0x0ab3, 0x0ab5, 0x0ab9, - 0x0abd, 0x0ac0, - 0x0ac9, 0x0ac9, - 0x0acb, 0x0acc, + 0x0abc, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acd, 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, - 0x0b02, 0x0b03, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0af1, + 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, 0x0b13, 0x0b28, 0x0b2a, 0x0b30, 0x0b32, 0x0b33, 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b40, 0x0b40, + 0x0b3c, 0x0b44, 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, + 0x0b4b, 0x0b4d, + 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, + 0x0b5f, 0x0b63, 0x0b66, 0x0b77, - 0x0b83, 0x0b83, + 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, 0x0b92, 0x0b95, @@ -11892,11 +1927,11 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x0ba3, 0x0ba4, 0x0ba8, 0x0baa, 0x0bae, 0x0bb9, - 0x0bbf, 0x0bbf, - 0x0bc1, 0x0bc2, + 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, + 0x0bca, 0x0bcd, 0x0bd0, 0x0bd0, + 0x0bd7, 0x0bd7, 0x0be6, 0x0bfa, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, @@ -11904,10 +1939,12 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x0c12, 0x0c28, 0x0c2a, 0x0c33, 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c41, 0x0c44, + 0x0c3d, 0x0c44, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, 0x0c58, 0x0c59, - 0x0c60, 0x0c61, + 0x0c60, 0x0c63, 0x0c66, 0x0c6f, 0x0c78, 0x0c7f, 0x0c82, 0x0c83, @@ -11916,25 +1953,23 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbe, - 0x0cc0, 0x0cc1, - 0x0cc3, 0x0cc4, - 0x0cc7, 0x0cc8, - 0x0cca, 0x0ccb, + 0x0cbc, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccd, + 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, + 0x0ce0, 0x0ce3, 0x0ce6, 0x0cef, 0x0cf1, 0x0cf2, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, 0x0d12, 0x0d3a, - 0x0d3d, 0x0d3d, - 0x0d3f, 0x0d40, + 0x0d3d, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d4e, 0x0d4e, - 0x0d60, 0x0d61, + 0x0d4a, 0x0d4e, + 0x0d57, 0x0d57, + 0x0d60, 0x0d63, 0x0d66, 0x0d75, 0x0d79, 0x0d7f, 0x0d82, 0x0d83, @@ -11943,13 +1978,13 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x0db3, 0x0dbb, 0x0dbd, 0x0dbd, 0x0dc0, 0x0dc6, - 0x0dd0, 0x0dd1, - 0x0dd8, 0x0dde, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, 0x0df2, 0x0df4, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e3f, 0x0e46, - 0x0e4f, 0x0e5b, + 0x0e01, 0x0e3a, + 0x0e3f, 0x0e5b, 0x0e81, 0x0e82, 0x0e84, 0x0e84, 0x0e87, 0x0e88, @@ -11960,40 +1995,24 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x0ea1, 0x0ea3, 0x0ea5, 0x0ea5, 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb9, + 0x0ebb, 0x0ebd, 0x0ec0, 0x0ec4, 0x0ec6, 0x0ec6, + 0x0ec8, 0x0ecd, 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f17, - 0x0f1a, 0x0f34, - 0x0f36, 0x0f36, - 0x0f38, 0x0f38, - 0x0f3a, 0x0f47, + 0x0edc, 0x0edf, + 0x0f00, 0x0f47, 0x0f49, 0x0f6c, - 0x0f7f, 0x0f7f, - 0x0f85, 0x0f85, - 0x0f88, 0x0f8c, - 0x0fbe, 0x0fc5, - 0x0fc7, 0x0fcc, + 0x0f71, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fbe, 0x0fcc, 0x0fce, 0x0fda, - 0x1000, 0x102c, - 0x1031, 0x1031, - 0x1038, 0x1038, - 0x103b, 0x103c, - 0x103f, 0x1057, - 0x105a, 0x105d, - 0x1061, 0x1070, - 0x1075, 0x1081, - 0x1083, 0x1084, - 0x1087, 0x108c, - 0x108e, 0x109c, - 0x109e, 0x10c5, - 0x10d0, 0x10fc, - 0x1100, 0x1248, + 0x1000, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, @@ -12009,79 +2028,51 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x1360, 0x137c, + 0x135d, 0x137c, 0x1380, 0x1399, 0x13a0, 0x13f4, 0x1400, 0x169c, 0x16a0, 0x16f0, 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1735, 0x1736, - 0x1740, 0x1751, + 0x170e, 0x1714, + 0x1720, 0x1736, + 0x1740, 0x1753, 0x1760, 0x176c, 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17b6, 0x17b6, - 0x17be, 0x17c5, - 0x17c7, 0x17c8, - 0x17d4, 0x17dc, + 0x1772, 0x1773, + 0x1780, 0x17dd, 0x17e0, 0x17e9, 0x17f0, 0x17f9, - 0x1800, 0x180a, - 0x180e, 0x180e, + 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, + 0x1880, 0x18aa, 0x18b0, 0x18f5, 0x1900, 0x191c, - 0x1923, 0x1926, - 0x1929, 0x192b, - 0x1930, 0x1931, - 0x1933, 0x1938, + 0x1920, 0x192b, + 0x1930, 0x193b, 0x1940, 0x1940, 0x1944, 0x196d, 0x1970, 0x1974, 0x1980, 0x19ab, 0x19b0, 0x19c9, 0x19d0, 0x19da, - 0x19de, 0x1a16, - 0x1a19, 0x1a1b, - 0x1a1e, 0x1a55, - 0x1a57, 0x1a57, - 0x1a61, 0x1a61, - 0x1a63, 0x1a64, - 0x1a6d, 0x1a72, - 0x1a80, 0x1a89, + 0x19de, 0x1a1b, + 0x1a1e, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, 0x1a90, 0x1a99, 0x1aa0, 0x1aad, - 0x1b04, 0x1b33, - 0x1b35, 0x1b35, - 0x1b3b, 0x1b3b, - 0x1b3d, 0x1b41, - 0x1b43, 0x1b4b, - 0x1b50, 0x1b6a, - 0x1b74, 0x1b7c, - 0x1b82, 0x1ba1, - 0x1ba6, 0x1ba7, - 0x1baa, 0x1baa, - 0x1bae, 0x1bb9, - 0x1bc0, 0x1be5, - 0x1be7, 0x1be7, - 0x1bea, 0x1bec, - 0x1bee, 0x1bee, - 0x1bf2, 0x1bf3, - 0x1bfc, 0x1c2b, - 0x1c34, 0x1c35, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b7c, + 0x1b80, 0x1bf3, + 0x1bfc, 0x1c37, 0x1c3b, 0x1c49, 0x1c4d, 0x1c7f, - 0x1cd3, 0x1cd3, - 0x1ce1, 0x1ce1, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, + 0x1cc0, 0x1cc7, + 0x1cd0, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -12097,29 +2088,29 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x200a, - 0x2010, 0x2027, - 0x202f, 0x205f, - 0x2070, 0x2071, + 0x2000, 0x2027, + 0x202a, 0x2064, + 0x206a, 0x2071, 0x2074, 0x208e, 0x2090, 0x209c, 0x20a0, 0x20b9, + 0x20d0, 0x20f0, 0x2100, 0x2189, 0x2190, 0x23f3, 0x2400, 0x2426, 0x2440, 0x244a, 0x2460, 0x26ff, - 0x2701, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x2b4c, + 0x2701, 0x2b4c, 0x2b50, 0x2b59, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2cee, + 0x2c60, 0x2cf3, 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, 0x2d6f, 0x2d70, - 0x2d80, 0x2d96, + 0x2d7f, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -12128,15 +2119,14 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2e00, 0x2e31, + 0x2de0, 0x2e3b, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, 0x2ff0, 0x2ffb, - 0x3000, 0x3029, - 0x3030, 0x303f, + 0x3000, 0x303f, 0x3041, 0x3096, - 0x309b, 0x30ff, + 0x3099, 0x30ff, 0x3105, 0x312d, 0x3131, 0x318e, 0x3190, 0x31ba, @@ -12144,72 +2134,47 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x31f0, 0x321e, 0x3220, 0x32fe, 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, + 0x4dc0, 0x9fcc, 0xa000, 0xa48c, 0xa490, 0xa4c6, 0xa4d0, 0xa62b, - 0xa640, 0xa66e, - 0xa673, 0xa673, - 0xa67e, 0xa697, - 0xa6a0, 0xa6ef, - 0xa6f2, 0xa6f7, + 0xa640, 0xa697, + 0xa69f, 0xa6f7, 0xa700, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa824, - 0xa827, 0xa82b, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa82b, 0xa830, 0xa839, 0xa840, 0xa877, - 0xa880, 0xa8c3, + 0xa880, 0xa8c4, 0xa8ce, 0xa8d9, - 0xa8f2, 0xa8fb, - 0xa900, 0xa925, - 0xa92e, 0xa946, - 0xa952, 0xa953, + 0xa8e0, 0xa8fb, + 0xa900, 0xa953, 0xa95f, 0xa97c, - 0xa983, 0xa9b2, - 0xa9b4, 0xa9b5, - 0xa9ba, 0xa9bb, - 0xa9bd, 0xa9cd, + 0xa980, 0xa9cd, 0xa9cf, 0xa9d9, 0xa9de, 0xa9df, - 0xaa00, 0xaa28, - 0xaa2f, 0xaa30, - 0xaa33, 0xaa34, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa4d, 0xaa4d, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, 0xaa50, 0xaa59, 0xaa5c, 0xaa7b, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadf, + 0xaa80, 0xaac2, + 0xaadb, 0xaaf6, 0xab01, 0xab06, 0xab09, 0xab0e, 0xab11, 0xab16, 0xab20, 0xab26, 0xab28, 0xab2e, - 0xabc0, 0xabe4, - 0xabe6, 0xabe7, - 0xabe9, 0xabec, + 0xabc0, 0xabed, 0xabf0, 0xabf9, 0xac00, 0xd7a3, 0xd7b0, 0xd7c6, 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, + 0xe000, 0xfa6d, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb36, + 0xfb1d, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, @@ -12219,21 +2184,22 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, 0xfdf0, 0xfdfd, - 0xfe10, 0xfe19, + 0xfe00, 0xfe19, + 0xfe20, 0xfe26, 0xfe30, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, 0xfe70, 0xfe74, 0xfe76, 0xfefc, - 0xff01, 0xff9d, - 0xffa0, 0xffbe, + 0xfeff, 0xfeff, + 0xff01, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfffc, 0xfffd, + 0xfff9, 0xfffd, 0x10000, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, @@ -12245,7 +2211,7 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x10107, 0x10133, 0x10137, 0x1018a, 0x10190, 0x1019b, - 0x101d0, 0x101fc, + 0x101d0, 0x101fd, 0x10280, 0x1029c, 0x102a0, 0x102d0, 0x10300, 0x1031e, @@ -12266,11 +2232,15 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x10900, 0x1091b, 0x1091f, 0x10939, 0x1093f, 0x1093f, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, 0x10a15, 0x10a17, 0x10a19, 0x10a33, - 0x10a40, 0x10a47, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a47, 0x10a50, 0x10a58, 0x10a60, 0x10a7f, 0x10b00, 0x10b35, @@ -12279,30 +2249,30 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x10b78, 0x10b7f, 0x10c00, 0x10c48, 0x10e60, 0x10e7e, - 0x11000, 0x11000, - 0x11002, 0x11037, - 0x11047, 0x1104d, + 0x11000, 0x1104d, 0x11052, 0x1106f, - 0x11082, 0x110b2, - 0x110b7, 0x110b8, - 0x110bb, 0x110bc, - 0x110be, 0x110c1, + 0x11080, 0x110c1, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x11143, + 0x11180, 0x111c8, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, 0x12000, 0x1236e, 0x12400, 0x12462, 0x12470, 0x12473, 0x13000, 0x1342e, 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, 0x1b000, 0x1b001, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, - 0x1d129, 0x1d164, - 0x1d166, 0x1d166, - 0x1d16a, 0x1d16d, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d200, 0x1d241, - 0x1d245, 0x1d245, + 0x1d129, 0x1d1dd, + 0x1d200, 0x1d245, 0x1d300, 0x1d356, 0x1d360, 0x1d371, 0x1d400, 0x1d454, @@ -12326,6 +2296,40 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x1d552, 0x1d6a5, 0x1d6a8, 0x1d7cb, 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, 0x1f000, 0x1f02b, 0x1f030, 0x1f093, 0x1f0a0, 0x1f0ae, @@ -12334,7 +2338,7 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x1f0d1, 0x1f0df, 0x1f100, 0x1f10a, 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, + 0x1f130, 0x1f16b, 0x1f170, 0x1f19a, 0x1f1e6, 0x1f202, 0x1f210, 0x1f23a, @@ -12352,19 +2356,9 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x1f442, 0x1f4f7, 0x1f4f9, 0x1f4fc, 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, + 0x1f5fb, 0x1f640, 0x1f645, 0x1f64f, 0x1f680, 0x1f6c5, 0x1f700, 0x1f773, @@ -12372,377 +2366,854 @@ static const OnigCodePoint CR_Grapheme_Base[] = { 0x2a700, 0x2b734, 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, -}; /* CR_Grapheme_Base */ - -/* 'Grapheme_Link': Derived Property */ -static const OnigCodePoint CR_Grapheme_Link[] = { - 29, - 0x094d, 0x094d, - 0x09cd, 0x09cd, - 0x0a4d, 0x0a4d, - 0x0acd, 0x0acd, - 0x0b4d, 0x0b4d, - 0x0bcd, 0x0bcd, - 0x0c4d, 0x0c4d, - 0x0ccd, 0x0ccd, - 0x0d4d, 0x0d4d, - 0x0dca, 0x0dca, - 0x0e3a, 0x0e3a, - 0x0f84, 0x0f84, - 0x1039, 0x103a, - 0x1714, 0x1714, - 0x1734, 0x1734, - 0x17d2, 0x17d2, - 0x1a60, 0x1a60, - 0x1b44, 0x1b44, - 0x1baa, 0x1baa, - 0x1bf2, 0x1bf3, - 0x2d7f, 0x2d7f, - 0xa806, 0xa806, - 0xa8c4, 0xa8c4, - 0xa953, 0xa953, - 0xa9c0, 0xa9c0, - 0xabed, 0xabed, - 0x10a3f, 0x10a3f, - 0x11046, 0x11046, - 0x110b9, 0x110b9, -}; /* CR_Grapheme_Link */ + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, + 0xe0100, 0xe01ef, + 0xf0000, 0xffffd, + 0x100000, 0x10fffd, +}; /* CR_Print */ -/* 'Common': Script */ -static const OnigCodePoint CR_Common[] = { - 169, - 0x0000, 0x0040, - 0x005b, 0x0060, - 0x007b, 0x00a9, - 0x00ab, 0x00b9, - 0x00bb, 0x00bf, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x02b9, 0x02df, - 0x02e5, 0x02e9, - 0x02ec, 0x02ff, - 0x0374, 0x0374, +/* 'Punct': [[:Punct:]] */ +static const OnigCodePoint CR_Punct[] = { + 140, + 0x0021, 0x0023, + 0x0025, 0x002a, + 0x002c, 0x002f, + 0x003a, 0x003b, + 0x003f, 0x0040, + 0x005b, 0x005d, + 0x005f, 0x005f, + 0x007b, 0x007b, + 0x007d, 0x007d, + 0x00a1, 0x00a1, + 0x00a7, 0x00a7, + 0x00ab, 0x00ab, + 0x00b6, 0x00b7, + 0x00bb, 0x00bb, + 0x00bf, 0x00bf, 0x037e, 0x037e, - 0x0385, 0x0385, 0x0387, 0x0387, - 0x0589, 0x0589, - 0x060c, 0x060c, + 0x055a, 0x055f, + 0x0589, 0x058a, + 0x05be, 0x05be, + 0x05c0, 0x05c0, + 0x05c3, 0x05c3, + 0x05c6, 0x05c6, + 0x05f3, 0x05f4, + 0x0609, 0x060a, + 0x060c, 0x060d, 0x061b, 0x061b, - 0x061f, 0x061f, - 0x0640, 0x0640, - 0x0660, 0x0669, - 0x06dd, 0x06dd, + 0x061e, 0x061f, + 0x066a, 0x066d, + 0x06d4, 0x06d4, + 0x0700, 0x070d, + 0x07f7, 0x07f9, + 0x0830, 0x083e, + 0x085e, 0x085e, 0x0964, 0x0965, 0x0970, 0x0970, - 0x0e3f, 0x0e3f, - 0x0fd5, 0x0fd8, + 0x0af0, 0x0af0, + 0x0df4, 0x0df4, + 0x0e4f, 0x0e4f, + 0x0e5a, 0x0e5b, + 0x0f04, 0x0f12, + 0x0f14, 0x0f14, + 0x0f3a, 0x0f3d, + 0x0f85, 0x0f85, + 0x0fd0, 0x0fd4, + 0x0fd9, 0x0fda, + 0x104a, 0x104f, 0x10fb, 0x10fb, + 0x1360, 0x1368, + 0x1400, 0x1400, + 0x166d, 0x166e, + 0x169b, 0x169c, 0x16eb, 0x16ed, 0x1735, 0x1736, - 0x1802, 0x1803, - 0x1805, 0x1805, + 0x17d4, 0x17d6, + 0x17d8, 0x17da, + 0x1800, 0x180a, + 0x1944, 0x1945, + 0x1a1e, 0x1a1f, + 0x1aa0, 0x1aa6, + 0x1aa8, 0x1aad, + 0x1b5a, 0x1b60, + 0x1bfc, 0x1bff, + 0x1c3b, 0x1c3f, + 0x1c7e, 0x1c7f, + 0x1cc0, 0x1cc7, 0x1cd3, 0x1cd3, - 0x1ce1, 0x1ce1, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x2000, 0x200b, - 0x200e, 0x2064, - 0x206a, 0x2070, - 0x2074, 0x207e, - 0x2080, 0x208e, - 0x20a0, 0x20b9, - 0x2100, 0x2125, - 0x2127, 0x2129, - 0x212c, 0x2131, - 0x2133, 0x214d, - 0x214f, 0x215f, - 0x2189, 0x2189, - 0x2190, 0x23f3, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26ff, - 0x2701, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x27ff, - 0x2900, 0x2b4c, - 0x2b50, 0x2b59, - 0x2e00, 0x2e31, - 0x2ff0, 0x2ffb, - 0x3000, 0x3004, - 0x3006, 0x3006, - 0x3008, 0x3020, - 0x3030, 0x3037, - 0x303c, 0x303f, - 0x309b, 0x309c, + 0x2010, 0x2027, + 0x2030, 0x2043, + 0x2045, 0x2051, + 0x2053, 0x205e, + 0x207d, 0x207e, + 0x208d, 0x208e, + 0x2329, 0x232a, + 0x2768, 0x2775, + 0x27c5, 0x27c6, + 0x27e6, 0x27ef, + 0x2983, 0x2998, + 0x29d8, 0x29db, + 0x29fc, 0x29fd, + 0x2cf9, 0x2cfc, + 0x2cfe, 0x2cff, + 0x2d70, 0x2d70, + 0x2e00, 0x2e2e, + 0x2e30, 0x2e3b, + 0x3001, 0x3003, + 0x3008, 0x3011, + 0x3014, 0x301f, + 0x3030, 0x3030, + 0x303d, 0x303d, 0x30a0, 0x30a0, - 0x30fb, 0x30fc, - 0x3190, 0x319f, - 0x31c0, 0x31e3, - 0x3220, 0x325f, - 0x327f, 0x32cf, - 0x3358, 0x33ff, - 0x4dc0, 0x4dff, - 0xa700, 0xa721, - 0xa788, 0xa78a, - 0xa830, 0xa839, + 0x30fb, 0x30fb, + 0xa4fe, 0xa4ff, + 0xa60d, 0xa60f, + 0xa673, 0xa673, + 0xa67e, 0xa67e, + 0xa6f2, 0xa6f7, + 0xa874, 0xa877, + 0xa8ce, 0xa8cf, + 0xa8f8, 0xa8fa, + 0xa92e, 0xa92f, + 0xa95f, 0xa95f, + 0xa9c1, 0xa9cd, + 0xa9de, 0xa9df, + 0xaa5c, 0xaa5f, + 0xaade, 0xaadf, + 0xaaf0, 0xaaf1, + 0xabeb, 0xabeb, 0xfd3e, 0xfd3f, - 0xfdfd, 0xfdfd, 0xfe10, 0xfe19, 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfeff, 0xfeff, - 0xff01, 0xff20, - 0xff3b, 0xff40, - 0xff5b, 0xff65, - 0xff70, 0xff70, - 0xff9e, 0xff9f, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfff9, 0xfffd, + 0xfe54, 0xfe61, + 0xfe63, 0xfe63, + 0xfe68, 0xfe68, + 0xfe6a, 0xfe6b, + 0xff01, 0xff03, + 0xff05, 0xff0a, + 0xff0c, 0xff0f, + 0xff1a, 0xff1b, + 0xff1f, 0xff20, + 0xff3b, 0xff3d, + 0xff3f, 0xff3f, + 0xff5b, 0xff5b, + 0xff5d, 0xff5d, + 0xff5f, 0xff65, 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1013f, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d166, - 0x1d16a, 0x1d17a, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, + 0x1039f, 0x1039f, + 0x103d0, 0x103d0, + 0x10857, 0x10857, + 0x1091f, 0x1091f, + 0x1093f, 0x1093f, + 0x10a50, 0x10a58, + 0x10a7f, 0x10a7f, + 0x10b39, 0x10b3f, + 0x11047, 0x1104d, + 0x110bb, 0x110bc, + 0x110be, 0x110c1, + 0x11140, 0x11143, + 0x111c5, 0x111c8, + 0x12470, 0x12473, +}; /* CR_Punct */ + +/* 'Space': [[:Space:]] */ +static const OnigCodePoint CR_Space[] = { + 11, + 0x0009, 0x000d, + 0x0020, 0x0020, + 0x0085, 0x0085, + 0x00a0, 0x00a0, + 0x1680, 0x1680, + 0x180e, 0x180e, + 0x2000, 0x200a, + 0x2028, 0x2029, + 0x202f, 0x202f, + 0x205f, 0x205f, + 0x3000, 0x3000, +}; /* CR_Space */ + +/* 'Upper': [[:Upper:]] */ +static const OnigCodePoint CR_Upper[] = { + 610, + 0x0041, 0x005a, + 0x00c0, 0x00d6, + 0x00d8, 0x00de, + 0x0100, 0x0100, + 0x0102, 0x0102, + 0x0104, 0x0104, + 0x0106, 0x0106, + 0x0108, 0x0108, + 0x010a, 0x010a, + 0x010c, 0x010c, + 0x010e, 0x010e, + 0x0110, 0x0110, + 0x0112, 0x0112, + 0x0114, 0x0114, + 0x0116, 0x0116, + 0x0118, 0x0118, + 0x011a, 0x011a, + 0x011c, 0x011c, + 0x011e, 0x011e, + 0x0120, 0x0120, + 0x0122, 0x0122, + 0x0124, 0x0124, + 0x0126, 0x0126, + 0x0128, 0x0128, + 0x012a, 0x012a, + 0x012c, 0x012c, + 0x012e, 0x012e, + 0x0130, 0x0130, + 0x0132, 0x0132, + 0x0134, 0x0134, + 0x0136, 0x0136, + 0x0139, 0x0139, + 0x013b, 0x013b, + 0x013d, 0x013d, + 0x013f, 0x013f, + 0x0141, 0x0141, + 0x0143, 0x0143, + 0x0145, 0x0145, + 0x0147, 0x0147, + 0x014a, 0x014a, + 0x014c, 0x014c, + 0x014e, 0x014e, + 0x0150, 0x0150, + 0x0152, 0x0152, + 0x0154, 0x0154, + 0x0156, 0x0156, + 0x0158, 0x0158, + 0x015a, 0x015a, + 0x015c, 0x015c, + 0x015e, 0x015e, + 0x0160, 0x0160, + 0x0162, 0x0162, + 0x0164, 0x0164, + 0x0166, 0x0166, + 0x0168, 0x0168, + 0x016a, 0x016a, + 0x016c, 0x016c, + 0x016e, 0x016e, + 0x0170, 0x0170, + 0x0172, 0x0172, + 0x0174, 0x0174, + 0x0176, 0x0176, + 0x0178, 0x0179, + 0x017b, 0x017b, + 0x017d, 0x017d, + 0x0181, 0x0182, + 0x0184, 0x0184, + 0x0186, 0x0187, + 0x0189, 0x018b, + 0x018e, 0x0191, + 0x0193, 0x0194, + 0x0196, 0x0198, + 0x019c, 0x019d, + 0x019f, 0x01a0, + 0x01a2, 0x01a2, + 0x01a4, 0x01a4, + 0x01a6, 0x01a7, + 0x01a9, 0x01a9, + 0x01ac, 0x01ac, + 0x01ae, 0x01af, + 0x01b1, 0x01b3, + 0x01b5, 0x01b5, + 0x01b7, 0x01b8, + 0x01bc, 0x01bc, + 0x01c4, 0x01c4, + 0x01c7, 0x01c7, + 0x01ca, 0x01ca, + 0x01cd, 0x01cd, + 0x01cf, 0x01cf, + 0x01d1, 0x01d1, + 0x01d3, 0x01d3, + 0x01d5, 0x01d5, + 0x01d7, 0x01d7, + 0x01d9, 0x01d9, + 0x01db, 0x01db, + 0x01de, 0x01de, + 0x01e0, 0x01e0, + 0x01e2, 0x01e2, + 0x01e4, 0x01e4, + 0x01e6, 0x01e6, + 0x01e8, 0x01e8, + 0x01ea, 0x01ea, + 0x01ec, 0x01ec, + 0x01ee, 0x01ee, + 0x01f1, 0x01f1, + 0x01f4, 0x01f4, + 0x01f6, 0x01f8, + 0x01fa, 0x01fa, + 0x01fc, 0x01fc, + 0x01fe, 0x01fe, + 0x0200, 0x0200, + 0x0202, 0x0202, + 0x0204, 0x0204, + 0x0206, 0x0206, + 0x0208, 0x0208, + 0x020a, 0x020a, + 0x020c, 0x020c, + 0x020e, 0x020e, + 0x0210, 0x0210, + 0x0212, 0x0212, + 0x0214, 0x0214, + 0x0216, 0x0216, + 0x0218, 0x0218, + 0x021a, 0x021a, + 0x021c, 0x021c, + 0x021e, 0x021e, + 0x0220, 0x0220, + 0x0222, 0x0222, + 0x0224, 0x0224, + 0x0226, 0x0226, + 0x0228, 0x0228, + 0x022a, 0x022a, + 0x022c, 0x022c, + 0x022e, 0x022e, + 0x0230, 0x0230, + 0x0232, 0x0232, + 0x023a, 0x023b, + 0x023d, 0x023e, + 0x0241, 0x0241, + 0x0243, 0x0246, + 0x0248, 0x0248, + 0x024a, 0x024a, + 0x024c, 0x024c, + 0x024e, 0x024e, + 0x0370, 0x0370, + 0x0372, 0x0372, + 0x0376, 0x0376, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x038f, + 0x0391, 0x03a1, + 0x03a3, 0x03ab, + 0x03cf, 0x03cf, + 0x03d2, 0x03d4, + 0x03d8, 0x03d8, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03e2, + 0x03e4, 0x03e4, + 0x03e6, 0x03e6, + 0x03e8, 0x03e8, + 0x03ea, 0x03ea, + 0x03ec, 0x03ec, + 0x03ee, 0x03ee, + 0x03f4, 0x03f4, + 0x03f7, 0x03f7, + 0x03f9, 0x03fa, + 0x03fd, 0x042f, + 0x0460, 0x0460, + 0x0462, 0x0462, + 0x0464, 0x0464, + 0x0466, 0x0466, + 0x0468, 0x0468, + 0x046a, 0x046a, + 0x046c, 0x046c, + 0x046e, 0x046e, + 0x0470, 0x0470, + 0x0472, 0x0472, + 0x0474, 0x0474, + 0x0476, 0x0476, + 0x0478, 0x0478, + 0x047a, 0x047a, + 0x047c, 0x047c, + 0x047e, 0x047e, + 0x0480, 0x0480, + 0x048a, 0x048a, + 0x048c, 0x048c, + 0x048e, 0x048e, + 0x0490, 0x0490, + 0x0492, 0x0492, + 0x0494, 0x0494, + 0x0496, 0x0496, + 0x0498, 0x0498, + 0x049a, 0x049a, + 0x049c, 0x049c, + 0x049e, 0x049e, + 0x04a0, 0x04a0, + 0x04a2, 0x04a2, + 0x04a4, 0x04a4, + 0x04a6, 0x04a6, + 0x04a8, 0x04a8, + 0x04aa, 0x04aa, + 0x04ac, 0x04ac, + 0x04ae, 0x04ae, + 0x04b0, 0x04b0, + 0x04b2, 0x04b2, + 0x04b4, 0x04b4, + 0x04b6, 0x04b6, + 0x04b8, 0x04b8, + 0x04ba, 0x04ba, + 0x04bc, 0x04bc, + 0x04be, 0x04be, + 0x04c0, 0x04c1, + 0x04c3, 0x04c3, + 0x04c5, 0x04c5, + 0x04c7, 0x04c7, + 0x04c9, 0x04c9, + 0x04cb, 0x04cb, + 0x04cd, 0x04cd, + 0x04d0, 0x04d0, + 0x04d2, 0x04d2, + 0x04d4, 0x04d4, + 0x04d6, 0x04d6, + 0x04d8, 0x04d8, + 0x04da, 0x04da, + 0x04dc, 0x04dc, + 0x04de, 0x04de, + 0x04e0, 0x04e0, + 0x04e2, 0x04e2, + 0x04e4, 0x04e4, + 0x04e6, 0x04e6, + 0x04e8, 0x04e8, + 0x04ea, 0x04ea, + 0x04ec, 0x04ec, + 0x04ee, 0x04ee, + 0x04f0, 0x04f0, + 0x04f2, 0x04f2, + 0x04f4, 0x04f4, + 0x04f6, 0x04f6, + 0x04f8, 0x04f8, + 0x04fa, 0x04fa, + 0x04fc, 0x04fc, + 0x04fe, 0x04fe, + 0x0500, 0x0500, + 0x0502, 0x0502, + 0x0504, 0x0504, + 0x0506, 0x0506, + 0x0508, 0x0508, + 0x050a, 0x050a, + 0x050c, 0x050c, + 0x050e, 0x050e, + 0x0510, 0x0510, + 0x0512, 0x0512, + 0x0514, 0x0514, + 0x0516, 0x0516, + 0x0518, 0x0518, + 0x051a, 0x051a, + 0x051c, 0x051c, + 0x051e, 0x051e, + 0x0520, 0x0520, + 0x0522, 0x0522, + 0x0524, 0x0524, + 0x0526, 0x0526, + 0x0531, 0x0556, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1e00, 0x1e00, + 0x1e02, 0x1e02, + 0x1e04, 0x1e04, + 0x1e06, 0x1e06, + 0x1e08, 0x1e08, + 0x1e0a, 0x1e0a, + 0x1e0c, 0x1e0c, + 0x1e0e, 0x1e0e, + 0x1e10, 0x1e10, + 0x1e12, 0x1e12, + 0x1e14, 0x1e14, + 0x1e16, 0x1e16, + 0x1e18, 0x1e18, + 0x1e1a, 0x1e1a, + 0x1e1c, 0x1e1c, + 0x1e1e, 0x1e1e, + 0x1e20, 0x1e20, + 0x1e22, 0x1e22, + 0x1e24, 0x1e24, + 0x1e26, 0x1e26, + 0x1e28, 0x1e28, + 0x1e2a, 0x1e2a, + 0x1e2c, 0x1e2c, + 0x1e2e, 0x1e2e, + 0x1e30, 0x1e30, + 0x1e32, 0x1e32, + 0x1e34, 0x1e34, + 0x1e36, 0x1e36, + 0x1e38, 0x1e38, + 0x1e3a, 0x1e3a, + 0x1e3c, 0x1e3c, + 0x1e3e, 0x1e3e, + 0x1e40, 0x1e40, + 0x1e42, 0x1e42, + 0x1e44, 0x1e44, + 0x1e46, 0x1e46, + 0x1e48, 0x1e48, + 0x1e4a, 0x1e4a, + 0x1e4c, 0x1e4c, + 0x1e4e, 0x1e4e, + 0x1e50, 0x1e50, + 0x1e52, 0x1e52, + 0x1e54, 0x1e54, + 0x1e56, 0x1e56, + 0x1e58, 0x1e58, + 0x1e5a, 0x1e5a, + 0x1e5c, 0x1e5c, + 0x1e5e, 0x1e5e, + 0x1e60, 0x1e60, + 0x1e62, 0x1e62, + 0x1e64, 0x1e64, + 0x1e66, 0x1e66, + 0x1e68, 0x1e68, + 0x1e6a, 0x1e6a, + 0x1e6c, 0x1e6c, + 0x1e6e, 0x1e6e, + 0x1e70, 0x1e70, + 0x1e72, 0x1e72, + 0x1e74, 0x1e74, + 0x1e76, 0x1e76, + 0x1e78, 0x1e78, + 0x1e7a, 0x1e7a, + 0x1e7c, 0x1e7c, + 0x1e7e, 0x1e7e, + 0x1e80, 0x1e80, + 0x1e82, 0x1e82, + 0x1e84, 0x1e84, + 0x1e86, 0x1e86, + 0x1e88, 0x1e88, + 0x1e8a, 0x1e8a, + 0x1e8c, 0x1e8c, + 0x1e8e, 0x1e8e, + 0x1e90, 0x1e90, + 0x1e92, 0x1e92, + 0x1e94, 0x1e94, + 0x1e9e, 0x1e9e, + 0x1ea0, 0x1ea0, + 0x1ea2, 0x1ea2, + 0x1ea4, 0x1ea4, + 0x1ea6, 0x1ea6, + 0x1ea8, 0x1ea8, + 0x1eaa, 0x1eaa, + 0x1eac, 0x1eac, + 0x1eae, 0x1eae, + 0x1eb0, 0x1eb0, + 0x1eb2, 0x1eb2, + 0x1eb4, 0x1eb4, + 0x1eb6, 0x1eb6, + 0x1eb8, 0x1eb8, + 0x1eba, 0x1eba, + 0x1ebc, 0x1ebc, + 0x1ebe, 0x1ebe, + 0x1ec0, 0x1ec0, + 0x1ec2, 0x1ec2, + 0x1ec4, 0x1ec4, + 0x1ec6, 0x1ec6, + 0x1ec8, 0x1ec8, + 0x1eca, 0x1eca, + 0x1ecc, 0x1ecc, + 0x1ece, 0x1ece, + 0x1ed0, 0x1ed0, + 0x1ed2, 0x1ed2, + 0x1ed4, 0x1ed4, + 0x1ed6, 0x1ed6, + 0x1ed8, 0x1ed8, + 0x1eda, 0x1eda, + 0x1edc, 0x1edc, + 0x1ede, 0x1ede, + 0x1ee0, 0x1ee0, + 0x1ee2, 0x1ee2, + 0x1ee4, 0x1ee4, + 0x1ee6, 0x1ee6, + 0x1ee8, 0x1ee8, + 0x1eea, 0x1eea, + 0x1eec, 0x1eec, + 0x1eee, 0x1eee, + 0x1ef0, 0x1ef0, + 0x1ef2, 0x1ef2, + 0x1ef4, 0x1ef4, + 0x1ef6, 0x1ef6, + 0x1ef8, 0x1ef8, + 0x1efa, 0x1efa, + 0x1efc, 0x1efc, + 0x1efe, 0x1efe, + 0x1f08, 0x1f0f, + 0x1f18, 0x1f1d, + 0x1f28, 0x1f2f, + 0x1f38, 0x1f3f, + 0x1f48, 0x1f4d, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f5f, + 0x1f68, 0x1f6f, + 0x1fb8, 0x1fbb, + 0x1fc8, 0x1fcb, + 0x1fd8, 0x1fdb, + 0x1fe8, 0x1fec, + 0x1ff8, 0x1ffb, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210b, 0x210d, + 0x2110, 0x2112, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x2130, 0x2133, + 0x213e, 0x213f, + 0x2145, 0x2145, + 0x2160, 0x216f, + 0x2183, 0x2183, + 0x24b6, 0x24cf, + 0x2c00, 0x2c2e, + 0x2c60, 0x2c60, + 0x2c62, 0x2c64, + 0x2c67, 0x2c67, + 0x2c69, 0x2c69, + 0x2c6b, 0x2c6b, + 0x2c6d, 0x2c70, + 0x2c72, 0x2c72, + 0x2c75, 0x2c75, + 0x2c7e, 0x2c80, + 0x2c82, 0x2c82, + 0x2c84, 0x2c84, + 0x2c86, 0x2c86, + 0x2c88, 0x2c88, + 0x2c8a, 0x2c8a, + 0x2c8c, 0x2c8c, + 0x2c8e, 0x2c8e, + 0x2c90, 0x2c90, + 0x2c92, 0x2c92, + 0x2c94, 0x2c94, + 0x2c96, 0x2c96, + 0x2c98, 0x2c98, + 0x2c9a, 0x2c9a, + 0x2c9c, 0x2c9c, + 0x2c9e, 0x2c9e, + 0x2ca0, 0x2ca0, + 0x2ca2, 0x2ca2, + 0x2ca4, 0x2ca4, + 0x2ca6, 0x2ca6, + 0x2ca8, 0x2ca8, + 0x2caa, 0x2caa, + 0x2cac, 0x2cac, + 0x2cae, 0x2cae, + 0x2cb0, 0x2cb0, + 0x2cb2, 0x2cb2, + 0x2cb4, 0x2cb4, + 0x2cb6, 0x2cb6, + 0x2cb8, 0x2cb8, + 0x2cba, 0x2cba, + 0x2cbc, 0x2cbc, + 0x2cbe, 0x2cbe, + 0x2cc0, 0x2cc0, + 0x2cc2, 0x2cc2, + 0x2cc4, 0x2cc4, + 0x2cc6, 0x2cc6, + 0x2cc8, 0x2cc8, + 0x2cca, 0x2cca, + 0x2ccc, 0x2ccc, + 0x2cce, 0x2cce, + 0x2cd0, 0x2cd0, + 0x2cd2, 0x2cd2, + 0x2cd4, 0x2cd4, + 0x2cd6, 0x2cd6, + 0x2cd8, 0x2cd8, + 0x2cda, 0x2cda, + 0x2cdc, 0x2cdc, + 0x2cde, 0x2cde, + 0x2ce0, 0x2ce0, + 0x2ce2, 0x2ce2, + 0x2ceb, 0x2ceb, + 0x2ced, 0x2ced, + 0x2cf2, 0x2cf2, + 0xa640, 0xa640, + 0xa642, 0xa642, + 0xa644, 0xa644, + 0xa646, 0xa646, + 0xa648, 0xa648, + 0xa64a, 0xa64a, + 0xa64c, 0xa64c, + 0xa64e, 0xa64e, + 0xa650, 0xa650, + 0xa652, 0xa652, + 0xa654, 0xa654, + 0xa656, 0xa656, + 0xa658, 0xa658, + 0xa65a, 0xa65a, + 0xa65c, 0xa65c, + 0xa65e, 0xa65e, + 0xa660, 0xa660, + 0xa662, 0xa662, + 0xa664, 0xa664, + 0xa666, 0xa666, + 0xa668, 0xa668, + 0xa66a, 0xa66a, + 0xa66c, 0xa66c, + 0xa680, 0xa680, + 0xa682, 0xa682, + 0xa684, 0xa684, + 0xa686, 0xa686, + 0xa688, 0xa688, + 0xa68a, 0xa68a, + 0xa68c, 0xa68c, + 0xa68e, 0xa68e, + 0xa690, 0xa690, + 0xa692, 0xa692, + 0xa694, 0xa694, + 0xa696, 0xa696, + 0xa722, 0xa722, + 0xa724, 0xa724, + 0xa726, 0xa726, + 0xa728, 0xa728, + 0xa72a, 0xa72a, + 0xa72c, 0xa72c, + 0xa72e, 0xa72e, + 0xa732, 0xa732, + 0xa734, 0xa734, + 0xa736, 0xa736, + 0xa738, 0xa738, + 0xa73a, 0xa73a, + 0xa73c, 0xa73c, + 0xa73e, 0xa73e, + 0xa740, 0xa740, + 0xa742, 0xa742, + 0xa744, 0xa744, + 0xa746, 0xa746, + 0xa748, 0xa748, + 0xa74a, 0xa74a, + 0xa74c, 0xa74c, + 0xa74e, 0xa74e, + 0xa750, 0xa750, + 0xa752, 0xa752, + 0xa754, 0xa754, + 0xa756, 0xa756, + 0xa758, 0xa758, + 0xa75a, 0xa75a, + 0xa75c, 0xa75c, + 0xa75e, 0xa75e, + 0xa760, 0xa760, + 0xa762, 0xa762, + 0xa764, 0xa764, + 0xa766, 0xa766, + 0xa768, 0xa768, + 0xa76a, 0xa76a, + 0xa76c, 0xa76c, + 0xa76e, 0xa76e, + 0xa779, 0xa779, + 0xa77b, 0xa77b, + 0xa77d, 0xa77e, + 0xa780, 0xa780, + 0xa782, 0xa782, + 0xa784, 0xa784, + 0xa786, 0xa786, + 0xa78b, 0xa78b, + 0xa78d, 0xa78d, + 0xa790, 0xa790, + 0xa792, 0xa792, + 0xa7a0, 0xa7a0, + 0xa7a2, 0xa7a2, + 0xa7a4, 0xa7a4, + 0xa7a6, 0xa7a6, + 0xa7a8, 0xa7a8, + 0xa7aa, 0xa7aa, + 0xff21, 0xff3a, + 0x10400, 0x10427, + 0x1d400, 0x1d419, + 0x1d434, 0x1d44d, + 0x1d468, 0x1d481, + 0x1d49c, 0x1d49c, 0x1d49e, 0x1d49f, 0x1d4a2, 0x1d4a2, 0x1d4a5, 0x1d4a6, 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, + 0x1d4ae, 0x1d4b5, + 0x1d4d0, 0x1d4e9, + 0x1d504, 0x1d505, 0x1d507, 0x1d50a, 0x1d50d, 0x1d514, 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, + 0x1d538, 0x1d539, 0x1d53b, 0x1d53e, 0x1d540, 0x1d544, 0x1d546, 0x1d546, 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f1ff, - 0x1f201, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, -}; /* CR_Common */ - -/* 'Latin': Script */ -static const OnigCodePoint CR_Latin[] = { - 30, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02b8, - 0x02e0, 0x02e4, - 0x1d00, 0x1d25, - 0x1d2c, 0x1d5c, - 0x1d62, 0x1d65, - 0x1d6b, 0x1d77, - 0x1d79, 0x1dbe, - 0x1e00, 0x1eff, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x209c, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c60, 0x2c7f, - 0xa722, 0xa787, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa7ff, - 0xfb00, 0xfb06, - 0xff21, 0xff3a, - 0xff41, 0xff5a, -}; /* CR_Latin */ - -/* 'Greek': Script */ -static const OnigCodePoint CR_Greek[] = { - 33, - 0x0370, 0x0373, - 0x0375, 0x0377, - 0x037a, 0x037d, - 0x0384, 0x0384, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03e1, - 0x03f0, 0x03ff, - 0x1d26, 0x1d2a, - 0x1d5d, 0x1d61, - 0x1d66, 0x1d6a, - 0x1dbf, 0x1dbf, - 0x1f00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2126, 0x2126, - 0x10140, 0x1018a, - 0x1d200, 0x1d245, -}; /* CR_Greek */ - -/* 'Cyrillic': Script */ -static const OnigCodePoint CR_Cyrillic[] = { - 7, - 0x0400, 0x0484, - 0x0487, 0x0527, - 0x1d2b, 0x1d2b, - 0x1d78, 0x1d78, - 0x2de0, 0x2dff, - 0xa640, 0xa673, - 0xa67c, 0xa697, -}; /* CR_Cyrillic */ - -/* 'Armenian': Script */ -static const OnigCodePoint CR_Armenian[] = { - 5, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x058a, 0x058a, - 0xfb13, 0xfb17, -}; /* CR_Armenian */ - -/* 'Hebrew': Script */ -static const OnigCodePoint CR_Hebrew[] = { - 9, - 0x0591, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0xfb1d, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfb4f, -}; /* CR_Hebrew */ - -/* 'Arabic': Script */ -static const OnigCodePoint CR_Arabic[] = { - 19, - 0x0600, 0x0603, - 0x0606, 0x060b, - 0x060d, 0x061a, - 0x061e, 0x061e, - 0x0620, 0x063f, - 0x0641, 0x064a, - 0x0656, 0x065e, - 0x066a, 0x066f, - 0x0671, 0x06dc, - 0x06de, 0x06ff, - 0x0750, 0x077f, - 0xfb50, 0xfbc1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfc, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0x10e60, 0x10e7e, -}; /* CR_Arabic */ + 0x1d56c, 0x1d585, + 0x1d5a0, 0x1d5b9, + 0x1d5d4, 0x1d5ed, + 0x1d608, 0x1d621, + 0x1d63c, 0x1d655, + 0x1d670, 0x1d689, + 0x1d6a8, 0x1d6c0, + 0x1d6e2, 0x1d6fa, + 0x1d71c, 0x1d734, + 0x1d756, 0x1d76e, + 0x1d790, 0x1d7a8, + 0x1d7ca, 0x1d7ca, +}; /* CR_Upper */ -/* 'Syriac': Script */ -static const OnigCodePoint CR_Syriac[] = { +/* 'XDigit': [[:XDigit:]] */ +static const OnigCodePoint CR_XDigit[] = { 3, - 0x0700, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x074f, -}; /* CR_Syriac */ - -/* 'Thaana': Script */ -static const OnigCodePoint CR_Thaana[] = { - 1, - 0x0780, 0x07b1, -}; /* CR_Thaana */ + 0x0030, 0x0039, + 0x0041, 0x0046, + 0x0061, 0x0066, +}; /* CR_XDigit */ -/* 'Devanagari': Script */ -static const OnigCodePoint CR_Devanagari[] = { - 6, - 0x0900, 0x0950, - 0x0953, 0x0963, +/* 'Word': [[:Word:]] */ +static const OnigCodePoint CR_Word[] = { + 564, + 0x0030, 0x0039, + 0x0041, 0x005a, + 0x005f, 0x005f, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0300, 0x0374, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x0483, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0610, 0x061a, + 0x0620, 0x0669, + 0x066e, 0x06d3, + 0x06d5, 0x06dc, + 0x06df, 0x06e8, + 0x06ea, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x074a, + 0x074d, 0x07b1, + 0x07c0, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x082d, + 0x0840, 0x085b, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0963, 0x0966, 0x096f, 0x0971, 0x0977, 0x0979, 0x097f, - 0xa8e0, 0xa8fb, -}; /* CR_Devanagari */ - -/* 'Bengali': Script */ -static const OnigCodePoint CR_Bengali[] = { - 14, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -12756,12 +3227,7 @@ static const OnigCodePoint CR_Bengali[] = { 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09fb, -}; /* CR_Bengali */ - -/* 'Gurmukhi': Script */ -static const OnigCodePoint CR_Gurmukhi[] = { - 16, + 0x09e6, 0x09f1, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -12778,11 +3244,6 @@ static const OnigCodePoint CR_Gurmukhi[] = { 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, 0x0a66, 0x0a75, -}; /* CR_Gurmukhi */ - -/* 'Gujarati': Script */ -static const OnigCodePoint CR_Gujarati[] = { - 14, 0x0a81, 0x0a83, 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, @@ -12796,12 +3257,6 @@ static const OnigCodePoint CR_Gujarati[] = { 0x0ad0, 0x0ad0, 0x0ae0, 0x0ae3, 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, -}; /* CR_Gujarati */ - -/* 'Oriya': Script */ -static const OnigCodePoint CR_Oriya[] = { - 14, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, @@ -12815,12 +3270,8 @@ static const OnigCodePoint CR_Oriya[] = { 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b63, - 0x0b66, 0x0b77, -}; /* CR_Oriya */ - -/* 'Tamil': Script */ -static const OnigCodePoint CR_Tamil[] = { - 16, + 0x0b66, 0x0b6f, + 0x0b71, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -12836,12 +3287,7 @@ static const OnigCodePoint CR_Tamil[] = { 0x0bca, 0x0bcd, 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, -}; /* CR_Tamil */ - -/* 'Telugu': Script */ -static const OnigCodePoint CR_Telugu[] = { - 14, + 0x0be6, 0x0bef, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -12855,12 +3301,6 @@ static const OnigCodePoint CR_Telugu[] = { 0x0c58, 0x0c59, 0x0c60, 0x0c63, 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, -}; /* CR_Telugu */ - -/* 'Kannada': Script */ -static const OnigCodePoint CR_Kannada[] = { - 14, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, @@ -12875,11 +3315,6 @@ static const OnigCodePoint CR_Kannada[] = { 0x0ce0, 0x0ce3, 0x0ce6, 0x0cef, 0x0cf1, 0x0cf2, -}; /* CR_Kannada */ - -/* 'Malayalam': Script */ -static const OnigCodePoint CR_Malayalam[] = { - 11, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, @@ -12889,13 +3324,8 @@ static const OnigCodePoint CR_Malayalam[] = { 0x0d4a, 0x0d4e, 0x0d57, 0x0d57, 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, -}; /* CR_Malayalam */ - -/* 'Sinhala': Script */ -static const OnigCodePoint CR_Sinhala[] = { - 11, + 0x0d66, 0x0d6f, + 0x0d7a, 0x0d7f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, @@ -12906,19 +3336,10 @@ static const OnigCodePoint CR_Sinhala[] = { 0x0dcf, 0x0dd4, 0x0dd6, 0x0dd6, 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, -}; /* CR_Sinhala */ - -/* 'Thai': Script */ -static const OnigCodePoint CR_Thai[] = { - 2, + 0x0df2, 0x0df3, 0x0e01, 0x0e3a, - 0x0e40, 0x0e5b, -}; /* CR_Thai */ - -/* 'Lao': Script */ -static const OnigCodePoint CR_Lao[] = { - 18, + 0x0e40, 0x0e4e, + 0x0e50, 0x0e59, 0x0e81, 0x0e82, 0x0e84, 0x0e84, 0x0e87, 0x0e88, @@ -12936,78 +3357,139 @@ static const OnigCodePoint CR_Lao[] = { 0x0ec6, 0x0ec6, 0x0ec8, 0x0ecd, 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, -}; /* CR_Lao */ - -/* 'Tibetan': Script */ -static const OnigCodePoint CR_Tibetan[] = { - 7, - 0x0f00, 0x0f47, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f18, 0x0f19, + 0x0f20, 0x0f29, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f3e, 0x0f47, 0x0f49, 0x0f6c, - 0x0f71, 0x0f97, + 0x0f71, 0x0f84, + 0x0f86, 0x0f97, 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd4, - 0x0fd9, 0x0fda, -}; /* CR_Tibetan */ - -/* 'Myanmar': Script */ -static const OnigCodePoint CR_Myanmar[] = { - 2, - 0x1000, 0x109f, - 0xaa60, 0xaa7b, -}; /* CR_Myanmar */ - -/* 'Georgian': Script */ -static const OnigCodePoint CR_Georgian[] = { - 4, + 0x0fc6, 0x0fc6, + 0x1000, 0x1049, + 0x1050, 0x109d, 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, 0x10d0, 0x10fa, - 0x10fc, 0x10fc, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135d, 0x135f, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1714, + 0x1720, 0x1734, + 0x1740, 0x1753, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1772, 0x1773, + 0x1780, 0x17d3, + 0x17d7, 0x17d7, + 0x17dc, 0x17dd, + 0x17e0, 0x17e9, + 0x180b, 0x180d, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x1946, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19d9, + 0x1a00, 0x1a1b, + 0x1a20, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa7, 0x1aa7, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b59, + 0x1b6b, 0x1b73, + 0x1b80, 0x1bf3, + 0x1c00, 0x1c37, + 0x1c40, 0x1c49, + 0x1c4d, 0x1c7d, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x203f, 0x2040, + 0x2054, 0x2054, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x20d0, 0x20f0, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x212f, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x24b6, 0x24e9, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cf3, 0x2d00, 0x2d25, -}; /* CR_Georgian */ - -/* 'Hangul': Script */ -static const OnigCodePoint CR_Hangul[] = { - 14, - 0x1100, 0x11ff, - 0x302e, 0x302f, - 0x3131, 0x318e, - 0x3200, 0x321e, - 0x3260, 0x327e, - 0xa960, 0xa97c, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, -}; /* CR_Hangul */ - -/* 'Ethiopic': Script */ -static const OnigCodePoint CR_Ethiopic[] = { - 32, - 0x1200, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135d, 0x137c, - 0x1380, 0x1399, - 0x2d80, 0x2d96, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d7f, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -13016,786 +3498,1264 @@ static const OnigCodePoint CR_Ethiopic[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, -}; /* CR_Ethiopic */ - -/* 'Cherokee': Script */ -static const OnigCodePoint CR_Cherokee[] = { - 1, - 0x13a0, 0x13f4, -}; /* CR_Cherokee */ - -/* 'Canadian_Aboriginal': Script */ -static const OnigCodePoint CR_Canadian_Aboriginal[] = { - 2, - 0x1400, 0x167f, - 0x18b0, 0x18f5, -}; /* CR_Canadian_Aboriginal */ - -/* 'Ogham': Script */ -static const OnigCodePoint CR_Ogham[] = { - 1, - 0x1680, 0x169c, -}; /* CR_Ogham */ - -/* 'Runic': Script */ -static const OnigCodePoint CR_Runic[] = { - 2, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, -}; /* CR_Runic */ - -/* 'Khmer': Script */ -static const OnigCodePoint CR_Khmer[] = { - 4, - 0x1780, 0x17dd, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x19e0, 0x19ff, -}; /* CR_Khmer */ - -/* 'Mongolian': Script */ -static const OnigCodePoint CR_Mongolian[] = { - 6, - 0x1800, 0x1801, - 0x1804, 0x1804, - 0x1806, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, -}; /* CR_Mongolian */ - -/* 'Hiragana': Script */ -static const OnigCodePoint CR_Hiragana[] = { - 4, + 0x2de0, 0x2dff, + 0x2e2f, 0x2e2f, + 0x3005, 0x3007, + 0x3021, 0x302f, + 0x3031, 0x3035, + 0x3038, 0x303c, 0x3041, 0x3096, + 0x3099, 0x309a, 0x309d, 0x309f, - 0x1b001, 0x1b001, - 0x1f200, 0x1f200, -}; /* CR_Hiragana */ - -/* 'Katakana': Script */ -static const OnigCodePoint CR_Katakana[] = { - 8, 0x30a1, 0x30fa, - 0x30fd, 0x30ff, - 0x31f0, 0x31ff, - 0x32d0, 0x32fe, - 0x3300, 0x3357, - 0xff66, 0xff6f, - 0xff71, 0xff9d, - 0x1b000, 0x1b000, -}; /* CR_Katakana */ - -/* 'Bopomofo': Script */ -static const OnigCodePoint CR_Bopomofo[] = { - 3, - 0x02ea, 0x02eb, + 0x30fc, 0x30ff, 0x3105, 0x312d, + 0x3131, 0x318e, 0x31a0, 0x31ba, -}; /* CR_Bopomofo */ - -/* 'Han': Script */ -static const OnigCodePoint CR_Han[] = { - 16, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x3005, 0x3005, - 0x3007, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303b, + 0x31f0, 0x31ff, 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, - 0x2f800, 0x2fa1d, -}; /* CR_Han */ - -/* 'Yi': Script */ -static const OnigCodePoint CR_Yi[] = { - 2, + 0x4e00, 0x9fcc, 0xa000, 0xa48c, - 0xa490, 0xa4c6, -}; /* CR_Yi */ - -/* 'Old_Italic': Script */ -static const OnigCodePoint CR_Old_Italic[] = { - 2, - 0x10300, 0x1031e, - 0x10320, 0x10323, -}; /* CR_Old_Italic */ - -/* 'Gothic': Script */ -static const OnigCodePoint CR_Gothic[] = { - 1, - 0x10330, 0x1034a, -}; /* CR_Gothic */ - -/* 'Deseret': Script */ -static const OnigCodePoint CR_Deseret[] = { - 1, - 0x10400, 0x1044f, -}; /* CR_Deseret */ - -/* 'Inherited': Script */ -static const OnigCodePoint CR_Inherited[] = { - 24, - 0x0300, 0x036f, - 0x0485, 0x0486, - 0x064b, 0x0655, - 0x065f, 0x065f, - 0x0670, 0x0670, - 0x0951, 0x0952, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1dc0, 0x1de6, - 0x1dfc, 0x1dff, - 0x200c, 0x200d, - 0x20d0, 0x20f0, - 0x302a, 0x302d, - 0x3099, 0x309a, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa62b, + 0xa640, 0xa672, + 0xa674, 0xa67d, + 0xa67f, 0xa697, + 0xa69f, 0xa6f1, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa827, + 0xa840, 0xa873, + 0xa880, 0xa8c4, + 0xa8d0, 0xa8d9, + 0xa8e0, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa900, 0xa92d, + 0xa930, 0xa953, + 0xa960, 0xa97c, + 0xa980, 0xa9c0, + 0xa9cf, 0xa9d9, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7b, + 0xaa80, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaef, + 0xaaf2, 0xaaf6, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabea, + 0xabec, 0xabed, + 0xabf0, 0xabf9, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfb, 0xfe00, 0xfe0f, 0xfe20, 0xfe26, - 0x101fd, 0x101fd, - 0x1d167, 0x1d169, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0xe0100, 0xe01ef, -}; /* CR_Inherited */ - -/* 'Tagalog': Script */ -static const OnigCodePoint CR_Tagalog[] = { - 2, - 0x1700, 0x170c, - 0x170e, 0x1714, -}; /* CR_Tagalog */ - -/* 'Hanunoo': Script */ -static const OnigCodePoint CR_Hanunoo[] = { - 1, - 0x1720, 0x1734, -}; /* CR_Hanunoo */ - -/* 'Buhid': Script */ -static const OnigCodePoint CR_Buhid[] = { - 1, - 0x1740, 0x1753, -}; /* CR_Buhid */ - -/* 'Tagbanwa': Script */ -static const OnigCodePoint CR_Tagbanwa[] = { - 3, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, -}; /* CR_Tagbanwa */ - -/* 'Limbu': Script */ -static const OnigCodePoint CR_Limbu[] = { - 5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x194f, -}; /* CR_Limbu */ - -/* 'Tai_Le': Script */ -static const OnigCodePoint CR_Tai_Le[] = { - 2, - 0x1950, 0x196d, - 0x1970, 0x1974, -}; /* CR_Tai_Le */ - -/* 'Linear_B': Script */ -static const OnigCodePoint CR_Linear_B[] = { - 7, + 0xfe33, 0xfe34, + 0xfe4d, 0xfe4f, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff10, 0xff19, + 0xff21, 0xff3a, + 0xff3f, 0xff3f, + 0xff41, 0xff5a, + 0xff66, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, 0x10000, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, 0x1003c, 0x1003d, 0x1003f, 0x1004d, 0x10050, 0x1005d, - 0x10080, 0x100fa, -}; /* CR_Linear_B */ - -/* 'Ugaritic': Script */ -static const OnigCodePoint CR_Ugaritic[] = { - 2, - 0x10380, 0x1039d, - 0x1039f, 0x1039f, -}; /* CR_Ugaritic */ - -/* 'Shavian': Script */ -static const OnigCodePoint CR_Shavian[] = { - 1, - 0x10450, 0x1047f, -}; /* CR_Shavian */ - -/* 'Osmanya': Script */ -static const OnigCodePoint CR_Osmanya[] = { - 2, - 0x10480, 0x1049d, - 0x104a0, 0x104a9, -}; /* CR_Osmanya */ - -/* 'Cypriot': Script */ -static const OnigCodePoint CR_Cypriot[] = { - 6, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x1083f, -}; /* CR_Cypriot */ - -/* 'Braille': Script */ -static const OnigCodePoint CR_Braille[] = { - 1, - 0x2800, 0x28ff, -}; /* CR_Braille */ - -/* 'Buginese': Script */ -static const OnigCodePoint CR_Buginese[] = { - 2, - 0x1a00, 0x1a1b, - 0x1a1e, 0x1a1f, -}; /* CR_Buginese */ - -/* 'Coptic': Script */ -static const OnigCodePoint CR_Coptic[] = { - 3, - 0x03e2, 0x03ef, - 0x2c80, 0x2cf1, - 0x2cf9, 0x2cff, -}; /* CR_Coptic */ - -/* 'New_Tai_Lue': Script */ -static const OnigCodePoint CR_New_Tai_Lue[] = { - 4, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x19df, -}; /* CR_New_Tai_Lue */ - -/* 'Glagolitic': Script */ -static const OnigCodePoint CR_Glagolitic[] = { - 2, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, -}; /* CR_Glagolitic */ - -/* 'Tifinagh': Script */ -static const OnigCodePoint CR_Tifinagh[] = { - 3, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d70, - 0x2d7f, 0x2d7f, -}; /* CR_Tifinagh */ - -/* 'Syloti_Nagri': Script */ -static const OnigCodePoint CR_Syloti_Nagri[] = { - 1, - 0xa800, 0xa82b, -}; /* CR_Syloti_Nagri */ - -/* 'Old_Persian': Script */ -static const OnigCodePoint CR_Old_Persian[] = { - 2, - 0x103a0, 0x103c3, - 0x103c8, 0x103d5, -}; /* CR_Old_Persian */ - -/* 'Kharoshthi': Script */ -static const OnigCodePoint CR_Kharoshthi[] = { - 8, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, -}; /* CR_Kharoshthi */ - -/* 'Balinese': Script */ -static const OnigCodePoint CR_Balinese[] = { - 2, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, -}; /* CR_Balinese */ - -/* 'Cuneiform': Script */ -static const OnigCodePoint CR_Cuneiform[] = { - 3, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, -}; /* CR_Cuneiform */ - -/* 'Phoenician': Script */ -static const OnigCodePoint CR_Phoenician[] = { - 2, - 0x10900, 0x1091b, - 0x1091f, 0x1091f, -}; /* CR_Phoenician */ - -/* 'Phags_Pa': Script */ -static const OnigCodePoint CR_Phags_Pa[] = { - 1, - 0xa840, 0xa877, -}; /* CR_Phags_Pa */ - -/* 'Nko': Script */ -static const OnigCodePoint CR_Nko[] = { - 1, - 0x07c0, 0x07fa, -}; /* CR_Nko */ - -/* 'Sundanese': Script */ -static const OnigCodePoint CR_Sundanese[] = { - 2, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, -}; /* CR_Sundanese */ - -/* 'Lepcha': Script */ -static const OnigCodePoint CR_Lepcha[] = { - 3, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c4f, -}; /* CR_Lepcha */ - -/* 'Ol_Chiki': Script */ -static const OnigCodePoint CR_Ol_Chiki[] = { - 1, - 0x1c50, 0x1c7f, -}; /* CR_Ol_Chiki */ - -/* 'Vai': Script */ -static const OnigCodePoint CR_Vai[] = { - 1, - 0xa500, 0xa62b, -}; /* CR_Vai */ - -/* 'Saurashtra': Script */ -static const OnigCodePoint CR_Saurashtra[] = { - 2, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, -}; /* CR_Saurashtra */ - -/* 'Kayah_Li': Script */ -static const OnigCodePoint CR_Kayah_Li[] = { - 1, - 0xa900, 0xa92f, -}; /* CR_Kayah_Li */ - -/* 'Rejang': Script */ -static const OnigCodePoint CR_Rejang[] = { - 2, - 0xa930, 0xa953, - 0xa95f, 0xa95f, -}; /* CR_Rejang */ - -/* 'Lycian': Script */ -static const OnigCodePoint CR_Lycian[] = { - 1, + 0x10080, 0x100fa, + 0x10140, 0x10174, + 0x101fd, 0x101fd, 0x10280, 0x1029c, -}; /* CR_Lycian */ - -/* 'Carian': Script */ -static const OnigCodePoint CR_Carian[] = { - 1, 0x102a0, 0x102d0, -}; /* CR_Carian */ - -/* 'Lydian': Script */ -static const OnigCodePoint CR_Lydian[] = { - 2, + 0x10300, 0x1031e, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, 0x10920, 0x10939, - 0x1093f, 0x1093f, -}; /* CR_Lydian */ - -/* 'Cham': Script */ -static const OnigCodePoint CR_Cham[] = { - 4, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa5f, -}; /* CR_Cham */ + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11000, 0x11046, + 0x11066, 0x1106f, + 0x11080, 0x110ba, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x1113f, + 0x11180, 0x111c4, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d165, 0x1d169, + 0x1d16d, 0x1d172, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, + 0xe0100, 0xe01ef, +}; /* CR_Word */ -/* 'Tai_Tham': Script */ -static const OnigCodePoint CR_Tai_Tham[] = { - 5, +/* 'Alnum': [[:Alnum:]] */ +static const OnigCodePoint CR_Alnum[] = { + 566, + 0x0030, 0x0039, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0345, 0x0345, + 0x0370, 0x0374, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x05b0, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0610, 0x061a, + 0x0620, 0x0657, + 0x0659, 0x0669, + 0x066e, 0x06d3, + 0x06d5, 0x06dc, + 0x06e1, 0x06e8, + 0x06ed, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x073f, + 0x074d, 0x07b1, + 0x07c0, 0x07ea, + 0x07f4, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x0817, + 0x081a, 0x082c, + 0x0840, 0x0858, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08e9, + 0x08f0, 0x08fe, + 0x0900, 0x093b, + 0x093d, 0x094c, + 0x094e, 0x0950, + 0x0955, 0x0963, + 0x0966, 0x096f, + 0x0971, 0x0977, + 0x0979, 0x097f, + 0x0981, 0x0983, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bd, 0x09c4, + 0x09c7, 0x09c8, + 0x09cb, 0x09cc, + 0x09ce, 0x09ce, + 0x09d7, 0x09d7, + 0x09dc, 0x09dd, + 0x09df, 0x09e3, + 0x09e6, 0x09f1, + 0x0a01, 0x0a03, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a3e, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4c, + 0x0a51, 0x0a51, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a66, 0x0a75, + 0x0a81, 0x0a83, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abd, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acc, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0aef, + 0x0b01, 0x0b03, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3d, 0x0b44, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4c, + 0x0b56, 0x0b57, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b63, + 0x0b66, 0x0b6f, + 0x0b71, 0x0b71, + 0x0b82, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bbe, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcc, + 0x0bd0, 0x0bd0, + 0x0bd7, 0x0bd7, + 0x0be6, 0x0bef, + 0x0c01, 0x0c03, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c44, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4c, + 0x0c55, 0x0c56, + 0x0c58, 0x0c59, + 0x0c60, 0x0c63, + 0x0c66, 0x0c6f, + 0x0c82, 0x0c83, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbd, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccc, + 0x0cd5, 0x0cd6, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce3, + 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, + 0x0d02, 0x0d03, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d44, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4c, + 0x0d4e, 0x0d4e, + 0x0d57, 0x0d57, + 0x0d60, 0x0d63, + 0x0d66, 0x0d6f, + 0x0d7a, 0x0d7f, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df3, + 0x0e01, 0x0e3a, + 0x0e40, 0x0e46, + 0x0e4d, 0x0e4d, + 0x0e50, 0x0e59, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb9, + 0x0ebb, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0ecd, 0x0ecd, + 0x0ed0, 0x0ed9, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f20, 0x0f29, + 0x0f40, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f71, 0x0f81, + 0x0f88, 0x0f97, + 0x0f99, 0x0fbc, + 0x1000, 0x1036, + 0x1038, 0x1038, + 0x103b, 0x1049, + 0x1050, 0x1062, + 0x1065, 0x1068, + 0x106e, 0x1086, + 0x108e, 0x108e, + 0x1090, 0x1099, + 0x109c, 0x109d, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135f, 0x135f, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1713, + 0x1720, 0x1733, + 0x1740, 0x1753, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1772, 0x1773, + 0x1780, 0x17b3, + 0x17b6, 0x17c8, + 0x17d7, 0x17d7, + 0x17dc, 0x17dc, + 0x17e0, 0x17e9, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x1938, + 0x1946, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19d9, + 0x1a00, 0x1a1b, 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, + 0x1a61, 0x1a74, + 0x1a80, 0x1a89, 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, -}; /* CR_Tai_Tham */ - -/* 'Tai_Viet': Script */ -static const OnigCodePoint CR_Tai_Viet[] = { - 2, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, -}; /* CR_Tai_Viet */ - -/* 'Avestan': Script */ -static const OnigCodePoint CR_Avestan[] = { - 2, - 0x10b00, 0x10b35, - 0x10b39, 0x10b3f, -}; /* CR_Avestan */ - -/* 'Egyptian_Hieroglyphs': Script */ -static const OnigCodePoint CR_Egyptian_Hieroglyphs[] = { - 1, - 0x13000, 0x1342e, -}; /* CR_Egyptian_Hieroglyphs */ - -/* 'Samaritan': Script */ -static const OnigCodePoint CR_Samaritan[] = { - 2, - 0x0800, 0x082d, - 0x0830, 0x083e, -}; /* CR_Samaritan */ - -/* 'Lisu': Script */ -static const OnigCodePoint CR_Lisu[] = { - 1, - 0xa4d0, 0xa4ff, -}; /* CR_Lisu */ - -/* 'Bamum': Script */ -static const OnigCodePoint CR_Bamum[] = { - 2, - 0xa6a0, 0xa6f7, - 0x16800, 0x16a38, -}; /* CR_Bamum */ - -/* 'Javanese': Script */ -static const OnigCodePoint CR_Javanese[] = { - 3, - 0xa980, 0xa9cd, + 0x1aa7, 0x1aa7, + 0x1b00, 0x1b33, + 0x1b35, 0x1b43, + 0x1b45, 0x1b4b, + 0x1b50, 0x1b59, + 0x1b80, 0x1ba9, + 0x1bac, 0x1be5, + 0x1be7, 0x1bf1, + 0x1c00, 0x1c35, + 0x1c40, 0x1c49, + 0x1c4d, 0x1c7d, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf3, + 0x1cf5, 0x1cf6, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x212f, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x24b6, 0x24e9, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2de0, 0x2dff, + 0x2e2f, 0x2e2f, + 0x3005, 0x3007, + 0x3021, 0x3029, + 0x3031, 0x3035, + 0x3038, 0x303c, + 0x3041, 0x3096, + 0x309d, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa48c, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa62b, + 0xa640, 0xa66e, + 0xa674, 0xa67b, + 0xa67f, 0xa697, + 0xa69f, 0xa6ef, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa827, + 0xa840, 0xa873, + 0xa880, 0xa8c3, + 0xa8d0, 0xa8d9, + 0xa8f2, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa900, 0xa92a, + 0xa930, 0xa952, + 0xa960, 0xa97c, + 0xa980, 0xa9b2, + 0xa9b4, 0xa9bf, 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, -}; /* CR_Javanese */ - -/* 'Meetei_Mayek': Script */ -static const OnigCodePoint CR_Meetei_Mayek[] = { - 2, - 0xabc0, 0xabed, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7a, + 0xaa80, 0xaabe, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaef, + 0xaaf2, 0xaaf5, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabea, 0xabf0, 0xabf9, -}; /* CR_Meetei_Mayek */ - -/* 'Imperial_Aramaic': Script */ -static const OnigCodePoint CR_Imperial_Aramaic[] = { - 2, - 0x10840, 0x10855, - 0x10857, 0x1085f, -}; /* CR_Imperial_Aramaic */ - -/* 'Old_South_Arabian': Script */ -static const OnigCodePoint CR_Old_South_Arabian[] = { - 1, - 0x10a60, 0x10a7f, -}; /* CR_Old_South_Arabian */ - -/* 'Inscriptional_Parthian': Script */ -static const OnigCodePoint CR_Inscriptional_Parthian[] = { - 2, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfb, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff10, 0xff19, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0xff66, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10140, 0x10174, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, 0x10b40, 0x10b55, - 0x10b58, 0x10b5f, -}; /* CR_Inscriptional_Parthian */ - -/* 'Inscriptional_Pahlavi': Script */ -static const OnigCodePoint CR_Inscriptional_Pahlavi[] = { - 2, 0x10b60, 0x10b72, - 0x10b78, 0x10b7f, -}; /* CR_Inscriptional_Pahlavi */ - -/* 'Old_Turkic': Script */ -static const OnigCodePoint CR_Old_Turkic[] = { - 1, 0x10c00, 0x10c48, -}; /* CR_Old_Turkic */ - -/* 'Kaithi': Script */ -static const OnigCodePoint CR_Kaithi[] = { - 1, - 0x11080, 0x110c1, -}; /* CR_Kaithi */ - -/* 'Batak': Script */ -static const OnigCodePoint CR_Batak[] = { - 2, - 0x1bc0, 0x1bf3, - 0x1bfc, 0x1bff, -}; /* CR_Batak */ - -/* 'Brahmi': Script */ -static const OnigCodePoint CR_Brahmi[] = { - 2, - 0x11000, 0x1104d, - 0x11052, 0x1106f, -}; /* CR_Brahmi */ - -/* 'Mandaic': Script */ -static const OnigCodePoint CR_Mandaic[] = { - 2, - 0x0840, 0x085b, - 0x085e, 0x085e, -}; /* CR_Mandaic */ - -/* 'White_Space': Binary Property */ -static const OnigCodePoint CR_White_Space[] = { - 11, - 0x0009, 0x000d, - 0x0020, 0x0020, - 0x0085, 0x0085, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x2028, 0x2029, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_White_Space */ - -/* 'Bidi_Control': Binary Property */ -static const OnigCodePoint CR_Bidi_Control[] = { - 2, - 0x200e, 0x200f, - 0x202a, 0x202e, -}; /* CR_Bidi_Control */ - -/* 'Join_Control': Binary Property */ -static const OnigCodePoint CR_Join_Control[] = { - 1, - 0x200c, 0x200d, -}; /* CR_Join_Control */ - -/* 'Dash': Binary Property */ -static const OnigCodePoint CR_Dash[] = { - 19, - 0x002d, 0x002d, - 0x058a, 0x058a, - 0x05be, 0x05be, - 0x1400, 0x1400, - 0x1806, 0x1806, - 0x2010, 0x2015, - 0x2053, 0x2053, - 0x207b, 0x207b, - 0x208b, 0x208b, - 0x2212, 0x2212, - 0x2e17, 0x2e17, - 0x2e1a, 0x2e1a, - 0x301c, 0x301c, - 0x3030, 0x3030, - 0x30a0, 0x30a0, - 0xfe31, 0xfe32, - 0xfe58, 0xfe58, - 0xfe63, 0xfe63, - 0xff0d, 0xff0d, -}; /* CR_Dash */ - -/* 'Hyphen': Binary Property */ -static const OnigCodePoint CR_Hyphen[] = { - 10, - 0x002d, 0x002d, - 0x00ad, 0x00ad, - 0x058a, 0x058a, - 0x1806, 0x1806, - 0x2010, 0x2011, - 0x2e17, 0x2e17, - 0x30fb, 0x30fb, - 0xfe63, 0xfe63, - 0xff0d, 0xff0d, - 0xff65, 0xff65, -}; /* CR_Hyphen */ + 0x11000, 0x11045, + 0x11066, 0x1106f, + 0x11082, 0x110b8, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11132, + 0x11136, 0x1113f, + 0x11180, 0x111bf, + 0x111c1, 0x111c4, + 0x111d0, 0x111d9, + 0x11680, 0x116b5, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f93, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_Alnum */ -/* 'Quotation_Mark': Binary Property */ -static const OnigCodePoint CR_Quotation_Mark[] = { - 12, - 0x0022, 0x0022, - 0x0027, 0x0027, - 0x00ab, 0x00ab, - 0x00bb, 0x00bb, - 0x2018, 0x201f, - 0x2039, 0x203a, - 0x300c, 0x300f, - 0x301d, 0x301f, - 0xfe41, 0xfe44, - 0xff02, 0xff02, - 0xff07, 0xff07, - 0xff62, 0xff63, -}; /* CR_Quotation_Mark */ +/* 'ASCII': [[:ASCII:]] */ +static const OnigCodePoint CR_ASCII[] = { + 1, + 0x0000, 0x007f, +}; /* CR_ASCII */ -/* 'Terminal_Punctuation': Binary Property */ -static const OnigCodePoint CR_Terminal_Punctuation[] = { - 67, - 0x0021, 0x0021, - 0x002c, 0x002c, - 0x002e, 0x002e, - 0x003a, 0x003b, - 0x003f, 0x003f, - 0x037e, 0x037e, - 0x0387, 0x0387, - 0x0589, 0x0589, - 0x05c3, 0x05c3, - 0x060c, 0x060c, - 0x061b, 0x061b, - 0x061f, 0x061f, - 0x06d4, 0x06d4, - 0x0700, 0x070a, - 0x070c, 0x070c, - 0x07f8, 0x07f9, +#ifdef USE_UNICODE_PROPERTIES +/* 'Any': - */ +static const OnigCodePoint CR_Any[] = { + 1, + 0x0000, 0x10ffff, +}; /* CR_Any */ + +/* 'Assigned': - */ +static const OnigCodePoint CR_Assigned[] = { + 539, + 0x0000, 0x0377, + 0x037a, 0x037e, + 0x0384, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x055f, + 0x0561, 0x0587, + 0x0589, 0x058a, + 0x058f, 0x058f, + 0x0591, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f4, + 0x0600, 0x0604, + 0x0606, 0x061b, + 0x061e, 0x070d, + 0x070f, 0x074a, + 0x074d, 0x07b1, + 0x07c0, 0x07fa, + 0x0800, 0x082d, 0x0830, 0x083e, + 0x0840, 0x085b, 0x085e, 0x085e, - 0x0964, 0x0965, - 0x0e5a, 0x0e5b, - 0x0f08, 0x0f08, - 0x0f0d, 0x0f12, - 0x104a, 0x104b, - 0x1361, 0x1368, - 0x166d, 0x166e, - 0x16eb, 0x16ed, - 0x17d4, 0x17d6, - 0x17da, 0x17da, - 0x1802, 0x1805, - 0x1808, 0x1809, - 0x1944, 0x1945, - 0x1aa8, 0x1aab, - 0x1b5a, 0x1b5b, - 0x1b5d, 0x1b5f, - 0x1c3b, 0x1c3f, - 0x1c7e, 0x1c7f, - 0x203c, 0x203d, - 0x2047, 0x2049, - 0x2e2e, 0x2e2e, - 0x3001, 0x3002, - 0xa4fe, 0xa4ff, - 0xa60d, 0xa60f, - 0xa6f3, 0xa6f7, - 0xa876, 0xa877, - 0xa8ce, 0xa8cf, - 0xa92f, 0xa92f, - 0xa9c7, 0xa9c9, - 0xaa5d, 0xaa5f, - 0xaadf, 0xaadf, - 0xabeb, 0xabeb, - 0xfe50, 0xfe52, - 0xfe54, 0xfe57, - 0xff01, 0xff01, - 0xff0c, 0xff0c, - 0xff0e, 0xff0e, - 0xff1a, 0xff1b, - 0xff1f, 0xff1f, - 0xff61, 0xff61, - 0xff64, 0xff64, - 0x1039f, 0x1039f, - 0x103d0, 0x103d0, - 0x10857, 0x10857, - 0x1091f, 0x1091f, - 0x10b3a, 0x10b3f, - 0x11047, 0x1104d, - 0x110be, 0x110c1, - 0x12470, 0x12473, -}; /* CR_Terminal_Punctuation */ - -/* 'Other_Math': Binary Property */ -static const OnigCodePoint CR_Other_Math[] = { - 100, - 0x005e, 0x005e, - 0x03d0, 0x03d2, - 0x03d5, 0x03d5, - 0x03f0, 0x03f1, - 0x03f4, 0x03f5, - 0x2016, 0x2016, - 0x2032, 0x2034, - 0x2040, 0x2040, - 0x2061, 0x2064, - 0x207d, 0x207e, - 0x208d, 0x208e, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20e6, - 0x20eb, 0x20ef, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2128, 0x2129, - 0x212c, 0x212d, - 0x212f, 0x2131, - 0x2133, 0x2138, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x2195, 0x2199, - 0x219c, 0x219f, - 0x21a1, 0x21a2, - 0x21a4, 0x21a5, - 0x21a7, 0x21a7, - 0x21a9, 0x21ad, - 0x21b0, 0x21b1, - 0x21b6, 0x21b7, - 0x21bc, 0x21cd, - 0x21d0, 0x21d1, - 0x21d3, 0x21d3, - 0x21d5, 0x21db, - 0x21dd, 0x21dd, - 0x21e4, 0x21e5, - 0x23b4, 0x23b5, - 0x23b7, 0x23b7, - 0x23d0, 0x23d0, - 0x23e2, 0x23e2, - 0x25a0, 0x25a1, - 0x25ae, 0x25b6, - 0x25bc, 0x25c0, - 0x25c6, 0x25c7, - 0x25ca, 0x25cb, - 0x25cf, 0x25d3, - 0x25e2, 0x25e2, - 0x25e4, 0x25e4, - 0x25e7, 0x25ec, - 0x2605, 0x2606, - 0x2640, 0x2640, - 0x2642, 0x2642, - 0x2660, 0x2663, - 0x266d, 0x266e, - 0x27c5, 0x27c6, - 0x27e6, 0x27ef, - 0x2983, 0x2998, - 0x29d8, 0x29db, - 0x29fc, 0x29fd, - 0xfe61, 0xfe61, - 0xfe63, 0xfe63, - 0xfe68, 0xfe68, - 0xff3c, 0xff3c, - 0xff3e, 0xff3e, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0977, + 0x0979, 0x097f, + 0x0981, 0x0983, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bc, 0x09c4, + 0x09c7, 0x09c8, + 0x09cb, 0x09ce, + 0x09d7, 0x09d7, + 0x09dc, 0x09dd, + 0x09df, 0x09e3, + 0x09e6, 0x09fb, + 0x0a01, 0x0a03, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a3c, 0x0a3c, + 0x0a3e, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a66, 0x0a75, + 0x0a81, 0x0a83, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abc, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0af1, + 0x0b01, 0x0b03, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3c, 0x0b44, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4d, + 0x0b56, 0x0b57, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b63, + 0x0b66, 0x0b77, + 0x0b82, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bbe, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcd, + 0x0bd0, 0x0bd0, + 0x0bd7, 0x0bd7, + 0x0be6, 0x0bfa, + 0x0c01, 0x0c03, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c44, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c58, 0x0c59, + 0x0c60, 0x0c63, + 0x0c66, 0x0c6f, + 0x0c78, 0x0c7f, + 0x0c82, 0x0c83, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbc, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccd, + 0x0cd5, 0x0cd6, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce3, + 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, + 0x0d02, 0x0d03, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d44, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4e, + 0x0d57, 0x0d57, + 0x0d60, 0x0d63, + 0x0d66, 0x0d75, + 0x0d79, 0x0d7f, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df4, + 0x0e01, 0x0e3a, + 0x0e3f, 0x0e5b, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb9, + 0x0ebb, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0ec8, 0x0ecd, + 0x0ed0, 0x0ed9, + 0x0edc, 0x0edf, + 0x0f00, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f71, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fbe, 0x0fcc, + 0x0fce, 0x0fda, + 0x1000, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135d, 0x137c, + 0x1380, 0x1399, + 0x13a0, 0x13f4, + 0x1400, 0x169c, + 0x16a0, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1714, + 0x1720, 0x1736, + 0x1740, 0x1753, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1772, 0x1773, + 0x1780, 0x17dd, + 0x17e0, 0x17e9, + 0x17f0, 0x17f9, + 0x1800, 0x180e, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x1940, 0x1940, + 0x1944, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19da, + 0x19de, 0x1a1b, + 0x1a1e, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa0, 0x1aad, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b7c, + 0x1b80, 0x1bf3, + 0x1bfc, 0x1c37, + 0x1c3b, 0x1c49, + 0x1c4d, 0x1c7f, + 0x1cc0, 0x1cc7, + 0x1cd0, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fc4, + 0x1fc6, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fdd, 0x1fef, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffe, + 0x2000, 0x2064, + 0x206a, 0x2071, + 0x2074, 0x208e, + 0x2090, 0x209c, + 0x20a0, 0x20b9, + 0x20d0, 0x20f0, + 0x2100, 0x2189, + 0x2190, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x2460, 0x26ff, + 0x2701, 0x2b4c, + 0x2b50, 0x2b59, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2cf3, + 0x2cf9, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d70, + 0x2d7f, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2de0, 0x2e3b, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3000, 0x303f, + 0x3041, 0x3096, + 0x3099, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x3190, 0x31ba, + 0x31c0, 0x31e3, + 0x31f0, 0x321e, + 0x3220, 0x32fe, + 0x3300, 0x4db5, + 0x4dc0, 0x9fcc, + 0xa000, 0xa48c, + 0xa490, 0xa4c6, + 0xa4d0, 0xa62b, + 0xa640, 0xa697, + 0xa69f, 0xa6f7, + 0xa700, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa82b, + 0xa830, 0xa839, + 0xa840, 0xa877, + 0xa880, 0xa8c4, + 0xa8ce, 0xa8d9, + 0xa8e0, 0xa8fb, + 0xa900, 0xa953, + 0xa95f, 0xa97c, + 0xa980, 0xa9cd, + 0xa9cf, 0xa9d9, + 0xa9de, 0xa9df, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa5c, 0xaa7b, + 0xaa80, 0xaac2, + 0xaadb, 0xaaf6, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabed, + 0xabf0, 0xabf9, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xd800, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbc1, + 0xfbd3, 0xfd3f, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfd, + 0xfe00, 0xfe19, + 0xfe20, 0xfe26, + 0xfe30, 0xfe52, + 0xfe54, 0xfe66, + 0xfe68, 0xfe6b, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xfeff, 0xfeff, + 0xff01, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfff9, 0xfffd, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10100, 0x10102, + 0x10107, 0x10133, + 0x10137, 0x1018a, + 0x10190, 0x1019b, + 0x101d0, 0x101fd, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10320, 0x10323, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x1039f, 0x103c3, + 0x103c8, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10857, 0x1085f, + 0x10900, 0x1091b, + 0x1091f, 0x10939, + 0x1093f, 0x1093f, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a47, + 0x10a50, 0x10a58, + 0x10a60, 0x10a7f, + 0x10b00, 0x10b35, + 0x10b39, 0x10b55, + 0x10b58, 0x10b72, + 0x10b78, 0x10b7f, + 0x10c00, 0x10c48, + 0x10e60, 0x10e7e, + 0x11000, 0x1104d, + 0x11052, 0x1106f, + 0x11080, 0x110c1, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x11143, + 0x11180, 0x111c8, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x12470, 0x12473, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d1dd, + 0x1d200, 0x1d245, + 0x1d300, 0x1d356, + 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -13815,658 +4775,656 @@ static const OnigCodePoint CR_Other_Math[] = { 0x1d546, 0x1d546, 0x1d54a, 0x1d550, 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, -}; /* CR_Other_Math */ - -/* 'Hex_Digit': Binary Property */ -static const OnigCodePoint CR_Hex_Digit[] = { - 6, - 0x0030, 0x0039, - 0x0041, 0x0046, - 0x0061, 0x0066, - 0xff10, 0xff19, - 0xff21, 0xff26, - 0xff41, 0xff46, -}; /* CR_Hex_Digit */ - -/* 'ASCII_Hex_Digit': Binary Property */ -static const OnigCodePoint CR_ASCII_Hex_Digit[] = { - 3, - 0x0030, 0x0039, - 0x0041, 0x0046, - 0x0061, 0x0066, -}; /* CR_ASCII_Hex_Digit */ - -/* 'Other_Alphabetic': Binary Property */ -static const OnigCodePoint CR_Other_Alphabetic[] = { - 145, - 0x0345, 0x0345, - 0x05b0, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x0657, - 0x0659, 0x065f, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06e1, 0x06e4, - 0x06e7, 0x06e8, - 0x06ed, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x073f, - 0x07a6, 0x07b0, - 0x0816, 0x0817, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082c, - 0x0900, 0x0903, - 0x093a, 0x093b, - 0x093e, 0x094c, - 0x094e, 0x094f, - 0x0955, 0x0957, - 0x0962, 0x0963, - 0x0981, 0x0983, - 0x09be, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09d7, 0x09d7, - 0x09e2, 0x09e3, - 0x0a01, 0x0a03, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4c, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a83, - 0x0abe, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acc, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b03, - 0x0b3e, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b56, 0x0b57, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c3e, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4c, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0c82, 0x0c83, - 0x0cbe, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccc, - 0x0cd5, 0x0cd6, - 0x0ce2, 0x0ce3, - 0x0d02, 0x0d03, - 0x0d3e, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d57, 0x0d57, - 0x0d62, 0x0d63, - 0x0d82, 0x0d83, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e4d, 0x0e4d, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ecd, 0x0ecd, - 0x0f71, 0x0f81, - 0x0f8d, 0x0f97, - 0x0f99, 0x0fbc, - 0x102b, 0x1036, - 0x1038, 0x1038, - 0x103b, 0x103e, - 0x1056, 0x1059, - 0x105e, 0x1060, - 0x1062, 0x1062, - 0x1067, 0x1068, - 0x1071, 0x1074, - 0x1082, 0x1086, - 0x109c, 0x109d, - 0x135f, 0x135f, - 0x1712, 0x1713, - 0x1732, 0x1733, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b6, 0x17c8, - 0x18a9, 0x18a9, - 0x1920, 0x192b, - 0x1930, 0x1938, - 0x19b0, 0x19c0, - 0x19c8, 0x19c9, - 0x1a17, 0x1a1b, - 0x1a55, 0x1a5e, - 0x1a61, 0x1a74, - 0x1b00, 0x1b04, - 0x1b35, 0x1b43, - 0x1b80, 0x1b82, - 0x1ba1, 0x1ba9, - 0x1be7, 0x1bf1, - 0x1c24, 0x1c35, - 0x1cf2, 0x1cf2, - 0x24b6, 0x24e9, - 0x2de0, 0x2dff, - 0xa823, 0xa827, - 0xa880, 0xa881, - 0xa8b4, 0xa8c3, - 0xa926, 0xa92a, - 0xa947, 0xa952, - 0xa980, 0xa983, - 0xa9b4, 0xa9bf, - 0xaa29, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4d, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabe, - 0xabe3, 0xabea, - 0xfb1e, 0xfb1e, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x11000, 0x11002, - 0x11038, 0x11045, - 0x11082, 0x11082, - 0x110b0, 0x110b8, -}; /* CR_Other_Alphabetic */ - -/* 'Ideographic': Binary Property */ -static const OnigCodePoint CR_Ideographic[] = { - 12, - 0x3006, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303a, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, + 0x1d6a8, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, 0x20000, 0x2a6d6, 0x2a700, 0x2b734, 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, -}; /* CR_Ideographic */ - -/* 'Diacritic': Binary Property */ -static const OnigCodePoint CR_Diacritic[] = { - 117, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x00a8, 0x00a8, - 0x00af, 0x00af, - 0x00b4, 0x00b4, - 0x00b7, 0x00b8, - 0x02b0, 0x034e, - 0x0350, 0x0357, - 0x035d, 0x0362, - 0x0374, 0x0375, - 0x037a, 0x037a, - 0x0384, 0x0385, - 0x0483, 0x0487, - 0x0559, 0x0559, - 0x0591, 0x05a1, - 0x05a3, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c4, - 0x064b, 0x0652, - 0x0657, 0x0658, - 0x06df, 0x06e0, - 0x06e5, 0x06e6, - 0x06ea, 0x06ec, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f5, - 0x0818, 0x0819, - 0x093c, 0x093c, - 0x094d, 0x094d, - 0x0951, 0x0954, - 0x0971, 0x0971, - 0x09bc, 0x09bc, - 0x09cd, 0x09cd, - 0x0a3c, 0x0a3c, - 0x0a4d, 0x0a4d, - 0x0abc, 0x0abc, - 0x0acd, 0x0acd, - 0x0b3c, 0x0b3c, - 0x0b4d, 0x0b4d, - 0x0bcd, 0x0bcd, - 0x0c4d, 0x0c4d, - 0x0cbc, 0x0cbc, - 0x0ccd, 0x0ccd, - 0x0d4d, 0x0d4d, - 0x0dca, 0x0dca, - 0x0e47, 0x0e4c, - 0x0e4e, 0x0e4e, - 0x0ec8, 0x0ecc, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f3f, - 0x0f82, 0x0f84, - 0x0f86, 0x0f87, - 0x0fc6, 0x0fc6, - 0x1037, 0x1037, - 0x1039, 0x103a, - 0x1087, 0x108d, - 0x108f, 0x108f, - 0x109a, 0x109b, - 0x17c9, 0x17d3, - 0x17dd, 0x17dd, - 0x1939, 0x193b, - 0x1a75, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b34, 0x1b34, - 0x1b44, 0x1b44, - 0x1b6b, 0x1b73, - 0x1baa, 0x1baa, - 0x1c36, 0x1c37, - 0x1c78, 0x1c7d, - 0x1cd0, 0x1ce8, - 0x1ced, 0x1ced, - 0x1d2c, 0x1d6a, - 0x1dc4, 0x1dcf, - 0x1dfd, 0x1dff, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x2cef, 0x2cf1, - 0x2e2f, 0x2e2f, - 0x302a, 0x302f, - 0x3099, 0x309c, - 0x30fc, 0x30fc, - 0xa66f, 0xa66f, - 0xa67c, 0xa67d, - 0xa67f, 0xa67f, - 0xa6f0, 0xa6f1, - 0xa717, 0xa721, - 0xa788, 0xa788, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa92b, 0xa92e, - 0xa953, 0xa953, - 0xa9b3, 0xa9b3, - 0xa9c0, 0xa9c0, - 0xaa7b, 0xaa7b, - 0xaabf, 0xaac2, - 0xabec, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe20, 0xfe26, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xff70, 0xff70, - 0xff9e, 0xff9f, - 0xffe3, 0xffe3, - 0x110b9, 0x110ba, - 0x1d167, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, -}; /* CR_Diacritic */ - -/* 'Extender': Binary Property */ -static const OnigCodePoint CR_Extender[] = { - 20, - 0x00b7, 0x00b7, - 0x02d0, 0x02d1, - 0x0640, 0x0640, - 0x07fa, 0x07fa, - 0x0e46, 0x0e46, - 0x0ec6, 0x0ec6, - 0x1843, 0x1843, - 0x1aa7, 0x1aa7, - 0x1c36, 0x1c36, - 0x1c7b, 0x1c7b, - 0x3005, 0x3005, - 0x3031, 0x3035, - 0x309d, 0x309e, - 0x30fc, 0x30fe, - 0xa015, 0xa015, - 0xa60c, 0xa60c, - 0xa9cf, 0xa9cf, - 0xaa70, 0xaa70, - 0xaadd, 0xaadd, - 0xff70, 0xff70, -}; /* CR_Extender */ - -/* 'Other_Lowercase': Binary Property */ -static const OnigCodePoint CR_Other_Lowercase[] = { - 13, - 0x02b0, 0x02b8, - 0x02c0, 0x02c1, - 0x02e0, 0x02e4, - 0x0345, 0x0345, - 0x037a, 0x037a, - 0x1d2c, 0x1d61, - 0x1d78, 0x1d78, - 0x1d9b, 0x1dbf, - 0x2090, 0x2094, - 0x2170, 0x217f, - 0x24d0, 0x24e9, - 0x2c7d, 0x2c7d, - 0xa770, 0xa770, -}; /* CR_Other_Lowercase */ - -/* 'Other_Uppercase': Binary Property */ -static const OnigCodePoint CR_Other_Uppercase[] = { - 2, - 0x2160, 0x216f, - 0x24b6, 0x24cf, -}; /* CR_Other_Uppercase */ + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, + 0xe0100, 0xe01ef, + 0xf0000, 0xffffd, + 0x100000, 0x10fffd, +}; /* CR_Assigned */ -/* 'Noncharacter_Code_Point': Binary Property */ -static const OnigCodePoint CR_Noncharacter_Code_Point[] = { - 18, - 0xfdd0, 0xfdef, +/* 'C': Major Category */ +static const OnigCodePoint CR_C[] = { + 541, + 0x0000, 0x001f, + 0x007f, 0x009f, + 0x00ad, 0x00ad, + 0x0378, 0x0379, + 0x037f, 0x0383, + 0x038b, 0x038b, + 0x038d, 0x038d, + 0x03a2, 0x03a2, + 0x0528, 0x0530, + 0x0557, 0x0558, + 0x0560, 0x0560, + 0x0588, 0x0588, + 0x058b, 0x058e, + 0x0590, 0x0590, + 0x05c8, 0x05cf, + 0x05eb, 0x05ef, + 0x05f5, 0x0605, + 0x061c, 0x061d, + 0x06dd, 0x06dd, + 0x070e, 0x070f, + 0x074b, 0x074c, + 0x07b2, 0x07bf, + 0x07fb, 0x07ff, + 0x082e, 0x082f, + 0x083f, 0x083f, + 0x085c, 0x085d, + 0x085f, 0x089f, + 0x08a1, 0x08a1, + 0x08ad, 0x08e3, + 0x08ff, 0x08ff, + 0x0978, 0x0978, + 0x0980, 0x0980, + 0x0984, 0x0984, + 0x098d, 0x098e, + 0x0991, 0x0992, + 0x09a9, 0x09a9, + 0x09b1, 0x09b1, + 0x09b3, 0x09b5, + 0x09ba, 0x09bb, + 0x09c5, 0x09c6, + 0x09c9, 0x09ca, + 0x09cf, 0x09d6, + 0x09d8, 0x09db, + 0x09de, 0x09de, + 0x09e4, 0x09e5, + 0x09fc, 0x0a00, + 0x0a04, 0x0a04, + 0x0a0b, 0x0a0e, + 0x0a11, 0x0a12, + 0x0a29, 0x0a29, + 0x0a31, 0x0a31, + 0x0a34, 0x0a34, + 0x0a37, 0x0a37, + 0x0a3a, 0x0a3b, + 0x0a3d, 0x0a3d, + 0x0a43, 0x0a46, + 0x0a49, 0x0a4a, + 0x0a4e, 0x0a50, + 0x0a52, 0x0a58, + 0x0a5d, 0x0a5d, + 0x0a5f, 0x0a65, + 0x0a76, 0x0a80, + 0x0a84, 0x0a84, + 0x0a8e, 0x0a8e, + 0x0a92, 0x0a92, + 0x0aa9, 0x0aa9, + 0x0ab1, 0x0ab1, + 0x0ab4, 0x0ab4, + 0x0aba, 0x0abb, + 0x0ac6, 0x0ac6, + 0x0aca, 0x0aca, + 0x0ace, 0x0acf, + 0x0ad1, 0x0adf, + 0x0ae4, 0x0ae5, + 0x0af2, 0x0b00, + 0x0b04, 0x0b04, + 0x0b0d, 0x0b0e, + 0x0b11, 0x0b12, + 0x0b29, 0x0b29, + 0x0b31, 0x0b31, + 0x0b34, 0x0b34, + 0x0b3a, 0x0b3b, + 0x0b45, 0x0b46, + 0x0b49, 0x0b4a, + 0x0b4e, 0x0b55, + 0x0b58, 0x0b5b, + 0x0b5e, 0x0b5e, + 0x0b64, 0x0b65, + 0x0b78, 0x0b81, + 0x0b84, 0x0b84, + 0x0b8b, 0x0b8d, + 0x0b91, 0x0b91, + 0x0b96, 0x0b98, + 0x0b9b, 0x0b9b, + 0x0b9d, 0x0b9d, + 0x0ba0, 0x0ba2, + 0x0ba5, 0x0ba7, + 0x0bab, 0x0bad, + 0x0bba, 0x0bbd, + 0x0bc3, 0x0bc5, + 0x0bc9, 0x0bc9, + 0x0bce, 0x0bcf, + 0x0bd1, 0x0bd6, + 0x0bd8, 0x0be5, + 0x0bfb, 0x0c00, + 0x0c04, 0x0c04, + 0x0c0d, 0x0c0d, + 0x0c11, 0x0c11, + 0x0c29, 0x0c29, + 0x0c34, 0x0c34, + 0x0c3a, 0x0c3c, + 0x0c45, 0x0c45, + 0x0c49, 0x0c49, + 0x0c4e, 0x0c54, + 0x0c57, 0x0c57, + 0x0c5a, 0x0c5f, + 0x0c64, 0x0c65, + 0x0c70, 0x0c77, + 0x0c80, 0x0c81, + 0x0c84, 0x0c84, + 0x0c8d, 0x0c8d, + 0x0c91, 0x0c91, + 0x0ca9, 0x0ca9, + 0x0cb4, 0x0cb4, + 0x0cba, 0x0cbb, + 0x0cc5, 0x0cc5, + 0x0cc9, 0x0cc9, + 0x0cce, 0x0cd4, + 0x0cd7, 0x0cdd, + 0x0cdf, 0x0cdf, + 0x0ce4, 0x0ce5, + 0x0cf0, 0x0cf0, + 0x0cf3, 0x0d01, + 0x0d04, 0x0d04, + 0x0d0d, 0x0d0d, + 0x0d11, 0x0d11, + 0x0d3b, 0x0d3c, + 0x0d45, 0x0d45, + 0x0d49, 0x0d49, + 0x0d4f, 0x0d56, + 0x0d58, 0x0d5f, + 0x0d64, 0x0d65, + 0x0d76, 0x0d78, + 0x0d80, 0x0d81, + 0x0d84, 0x0d84, + 0x0d97, 0x0d99, + 0x0db2, 0x0db2, + 0x0dbc, 0x0dbc, + 0x0dbe, 0x0dbf, + 0x0dc7, 0x0dc9, + 0x0dcb, 0x0dce, + 0x0dd5, 0x0dd5, + 0x0dd7, 0x0dd7, + 0x0de0, 0x0df1, + 0x0df5, 0x0e00, + 0x0e3b, 0x0e3e, + 0x0e5c, 0x0e80, + 0x0e83, 0x0e83, + 0x0e85, 0x0e86, + 0x0e89, 0x0e89, + 0x0e8b, 0x0e8c, + 0x0e8e, 0x0e93, + 0x0e98, 0x0e98, + 0x0ea0, 0x0ea0, + 0x0ea4, 0x0ea4, + 0x0ea6, 0x0ea6, + 0x0ea8, 0x0ea9, + 0x0eac, 0x0eac, + 0x0eba, 0x0eba, + 0x0ebe, 0x0ebf, + 0x0ec5, 0x0ec5, + 0x0ec7, 0x0ec7, + 0x0ece, 0x0ecf, + 0x0eda, 0x0edb, + 0x0ee0, 0x0eff, + 0x0f48, 0x0f48, + 0x0f6d, 0x0f70, + 0x0f98, 0x0f98, + 0x0fbd, 0x0fbd, + 0x0fcd, 0x0fcd, + 0x0fdb, 0x0fff, + 0x10c6, 0x10c6, + 0x10c8, 0x10cc, + 0x10ce, 0x10cf, + 0x1249, 0x1249, + 0x124e, 0x124f, + 0x1257, 0x1257, + 0x1259, 0x1259, + 0x125e, 0x125f, + 0x1289, 0x1289, + 0x128e, 0x128f, + 0x12b1, 0x12b1, + 0x12b6, 0x12b7, + 0x12bf, 0x12bf, + 0x12c1, 0x12c1, + 0x12c6, 0x12c7, + 0x12d7, 0x12d7, + 0x1311, 0x1311, + 0x1316, 0x1317, + 0x135b, 0x135c, + 0x137d, 0x137f, + 0x139a, 0x139f, + 0x13f5, 0x13ff, + 0x169d, 0x169f, + 0x16f1, 0x16ff, + 0x170d, 0x170d, + 0x1715, 0x171f, + 0x1737, 0x173f, + 0x1754, 0x175f, + 0x176d, 0x176d, + 0x1771, 0x1771, + 0x1774, 0x177f, + 0x17de, 0x17df, + 0x17ea, 0x17ef, + 0x17fa, 0x17ff, + 0x180f, 0x180f, + 0x181a, 0x181f, + 0x1878, 0x187f, + 0x18ab, 0x18af, + 0x18f6, 0x18ff, + 0x191d, 0x191f, + 0x192c, 0x192f, + 0x193c, 0x193f, + 0x1941, 0x1943, + 0x196e, 0x196f, + 0x1975, 0x197f, + 0x19ac, 0x19af, + 0x19ca, 0x19cf, + 0x19db, 0x19dd, + 0x1a1c, 0x1a1d, + 0x1a5f, 0x1a5f, + 0x1a7d, 0x1a7e, + 0x1a8a, 0x1a8f, + 0x1a9a, 0x1a9f, + 0x1aae, 0x1aff, + 0x1b4c, 0x1b4f, + 0x1b7d, 0x1b7f, + 0x1bf4, 0x1bfb, + 0x1c38, 0x1c3a, + 0x1c4a, 0x1c4c, + 0x1c80, 0x1cbf, + 0x1cc8, 0x1ccf, + 0x1cf7, 0x1cff, + 0x1de7, 0x1dfb, + 0x1f16, 0x1f17, + 0x1f1e, 0x1f1f, + 0x1f46, 0x1f47, + 0x1f4e, 0x1f4f, + 0x1f58, 0x1f58, + 0x1f5a, 0x1f5a, + 0x1f5c, 0x1f5c, + 0x1f5e, 0x1f5e, + 0x1f7e, 0x1f7f, + 0x1fb5, 0x1fb5, + 0x1fc5, 0x1fc5, + 0x1fd4, 0x1fd5, + 0x1fdc, 0x1fdc, + 0x1ff0, 0x1ff1, + 0x1ff5, 0x1ff5, + 0x1fff, 0x1fff, + 0x200b, 0x200f, + 0x202a, 0x202e, + 0x2060, 0x206f, + 0x2072, 0x2073, + 0x208f, 0x208f, + 0x209d, 0x209f, + 0x20ba, 0x20cf, + 0x20f1, 0x20ff, + 0x218a, 0x218f, + 0x23f4, 0x23ff, + 0x2427, 0x243f, + 0x244b, 0x245f, + 0x2700, 0x2700, + 0x2b4d, 0x2b4f, + 0x2b5a, 0x2bff, + 0x2c2f, 0x2c2f, + 0x2c5f, 0x2c5f, + 0x2cf4, 0x2cf8, + 0x2d26, 0x2d26, + 0x2d28, 0x2d2c, + 0x2d2e, 0x2d2f, + 0x2d68, 0x2d6e, + 0x2d71, 0x2d7e, + 0x2d97, 0x2d9f, + 0x2da7, 0x2da7, + 0x2daf, 0x2daf, + 0x2db7, 0x2db7, + 0x2dbf, 0x2dbf, + 0x2dc7, 0x2dc7, + 0x2dcf, 0x2dcf, + 0x2dd7, 0x2dd7, + 0x2ddf, 0x2ddf, + 0x2e3c, 0x2e7f, + 0x2e9a, 0x2e9a, + 0x2ef4, 0x2eff, + 0x2fd6, 0x2fef, + 0x2ffc, 0x2fff, + 0x3040, 0x3040, + 0x3097, 0x3098, + 0x3100, 0x3104, + 0x312e, 0x3130, + 0x318f, 0x318f, + 0x31bb, 0x31bf, + 0x31e4, 0x31ef, + 0x321f, 0x321f, + 0x32ff, 0x32ff, + 0x4db6, 0x4dbf, + 0x9fcd, 0x9fff, + 0xa48d, 0xa48f, + 0xa4c7, 0xa4cf, + 0xa62c, 0xa63f, + 0xa698, 0xa69e, + 0xa6f8, 0xa6ff, + 0xa78f, 0xa78f, + 0xa794, 0xa79f, + 0xa7ab, 0xa7f7, + 0xa82c, 0xa82f, + 0xa83a, 0xa83f, + 0xa878, 0xa87f, + 0xa8c5, 0xa8cd, + 0xa8da, 0xa8df, + 0xa8fc, 0xa8ff, + 0xa954, 0xa95e, + 0xa97d, 0xa97f, + 0xa9ce, 0xa9ce, + 0xa9da, 0xa9dd, + 0xa9e0, 0xa9ff, + 0xaa37, 0xaa3f, + 0xaa4e, 0xaa4f, + 0xaa5a, 0xaa5b, + 0xaa7c, 0xaa7f, + 0xaac3, 0xaada, + 0xaaf7, 0xab00, + 0xab07, 0xab08, + 0xab0f, 0xab10, + 0xab17, 0xab1f, + 0xab27, 0xab27, + 0xab2f, 0xabbf, + 0xabee, 0xabef, + 0xabfa, 0xabff, + 0xd7a4, 0xd7af, + 0xd7c7, 0xd7ca, + 0xd7fc, 0xf8ff, + 0xfa6e, 0xfa6f, + 0xfada, 0xfaff, + 0xfb07, 0xfb12, + 0xfb18, 0xfb1c, + 0xfb37, 0xfb37, + 0xfb3d, 0xfb3d, + 0xfb3f, 0xfb3f, + 0xfb42, 0xfb42, + 0xfb45, 0xfb45, + 0xfbc2, 0xfbd2, + 0xfd40, 0xfd4f, + 0xfd90, 0xfd91, + 0xfdc8, 0xfdef, + 0xfdfe, 0xfdff, + 0xfe1a, 0xfe1f, + 0xfe27, 0xfe2f, + 0xfe53, 0xfe53, + 0xfe67, 0xfe67, + 0xfe6c, 0xfe6f, + 0xfe75, 0xfe75, + 0xfefd, 0xff00, + 0xffbf, 0xffc1, + 0xffc8, 0xffc9, + 0xffd0, 0xffd1, + 0xffd8, 0xffd9, + 0xffdd, 0xffdf, + 0xffe7, 0xffe7, + 0xffef, 0xfffb, 0xfffe, 0xffff, - 0x1fffe, 0x1ffff, - 0x2fffe, 0x2ffff, - 0x3fffe, 0x3ffff, - 0x4fffe, 0x4ffff, - 0x5fffe, 0x5ffff, - 0x6fffe, 0x6ffff, - 0x7fffe, 0x7ffff, - 0x8fffe, 0x8ffff, - 0x9fffe, 0x9ffff, - 0xafffe, 0xaffff, - 0xbfffe, 0xbffff, - 0xcfffe, 0xcffff, - 0xdfffe, 0xdffff, - 0xefffe, 0xeffff, - 0xffffe, 0xfffff, - 0x10fffe, 0x10ffff, -}; /* CR_Noncharacter_Code_Point */ - -/* 'Other_Grapheme_Extend': Binary Property */ -static const OnigCodePoint CR_Other_Grapheme_Extend[] = { - 16, - 0x09be, 0x09be, - 0x09d7, 0x09d7, - 0x0b3e, 0x0b3e, - 0x0b57, 0x0b57, - 0x0bbe, 0x0bbe, - 0x0bd7, 0x0bd7, - 0x0cc2, 0x0cc2, - 0x0cd5, 0x0cd6, - 0x0d3e, 0x0d3e, - 0x0d57, 0x0d57, - 0x0dcf, 0x0dcf, - 0x0ddf, 0x0ddf, - 0x200c, 0x200d, - 0xff9e, 0xff9f, - 0x1d165, 0x1d165, - 0x1d16e, 0x1d172, -}; /* CR_Other_Grapheme_Extend */ - -/* 'IDS_Binary_Operator': Binary Property */ -static const OnigCodePoint CR_IDS_Binary_Operator[] = { - 2, - 0x2ff0, 0x2ff1, - 0x2ff4, 0x2ffb, -}; /* CR_IDS_Binary_Operator */ - -/* 'IDS_Trinary_Operator': Binary Property */ -static const OnigCodePoint CR_IDS_Trinary_Operator[] = { - 1, - 0x2ff2, 0x2ff3, -}; /* CR_IDS_Trinary_Operator */ - -/* 'Radical': Binary Property */ -static const OnigCodePoint CR_Radical[] = { - 3, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, -}; /* CR_Radical */ - -/* 'Unified_Ideograph': Binary Property */ -static const OnigCodePoint CR_Unified_Ideograph[] = { - 12, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xfa0e, 0xfa0f, - 0xfa11, 0xfa11, - 0xfa13, 0xfa14, - 0xfa1f, 0xfa1f, - 0xfa21, 0xfa21, - 0xfa23, 0xfa24, - 0xfa27, 0xfa29, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, -}; /* CR_Unified_Ideograph */ - -/* 'Other_Default_Ignorable_Code_Point': Binary Property */ -static const OnigCodePoint CR_Other_Default_Ignorable_Code_Point[] = { - 10, - 0x034f, 0x034f, - 0x115f, 0x1160, - 0x2065, 0x2069, - 0x3164, 0x3164, - 0xffa0, 0xffa0, - 0xfff0, 0xfff8, - 0xe0000, 0xe0000, - 0xe0002, 0xe001f, - 0xe0080, 0xe00ff, - 0xe01f0, 0xe0fff, -}; /* CR_Other_Default_Ignorable_Code_Point */ - -/* 'Deprecated': Binary Property */ -static const OnigCodePoint CR_Deprecated[] = { - 9, - 0x0149, 0x0149, - 0x0673, 0x0673, - 0x0f77, 0x0f77, - 0x0f79, 0x0f79, - 0x17a3, 0x17a4, + 0x1000c, 0x1000c, + 0x10027, 0x10027, + 0x1003b, 0x1003b, + 0x1003e, 0x1003e, + 0x1004e, 0x1004f, + 0x1005e, 0x1007f, + 0x100fb, 0x100ff, + 0x10103, 0x10106, + 0x10134, 0x10136, + 0x1018b, 0x1018f, + 0x1019c, 0x101cf, + 0x101fe, 0x1027f, + 0x1029d, 0x1029f, + 0x102d1, 0x102ff, + 0x1031f, 0x1031f, + 0x10324, 0x1032f, + 0x1034b, 0x1037f, + 0x1039e, 0x1039e, + 0x103c4, 0x103c7, + 0x103d6, 0x103ff, + 0x1049e, 0x1049f, + 0x104aa, 0x107ff, + 0x10806, 0x10807, + 0x10809, 0x10809, + 0x10836, 0x10836, + 0x10839, 0x1083b, + 0x1083d, 0x1083e, + 0x10856, 0x10856, + 0x10860, 0x108ff, + 0x1091c, 0x1091e, + 0x1093a, 0x1093e, + 0x10940, 0x1097f, + 0x109b8, 0x109bd, + 0x109c0, 0x109ff, + 0x10a04, 0x10a04, + 0x10a07, 0x10a0b, + 0x10a14, 0x10a14, + 0x10a18, 0x10a18, + 0x10a34, 0x10a37, + 0x10a3b, 0x10a3e, + 0x10a48, 0x10a4f, + 0x10a59, 0x10a5f, + 0x10a80, 0x10aff, + 0x10b36, 0x10b38, + 0x10b56, 0x10b57, + 0x10b73, 0x10b77, + 0x10b80, 0x10bff, + 0x10c49, 0x10e5f, + 0x10e7f, 0x10fff, + 0x1104e, 0x11051, + 0x11070, 0x1107f, + 0x110bd, 0x110bd, + 0x110c2, 0x110cf, + 0x110e9, 0x110ef, + 0x110fa, 0x110ff, + 0x11135, 0x11135, + 0x11144, 0x1117f, + 0x111c9, 0x111cf, + 0x111da, 0x1167f, + 0x116b8, 0x116bf, + 0x116ca, 0x11fff, + 0x1236f, 0x123ff, + 0x12463, 0x1246f, + 0x12474, 0x12fff, + 0x1342f, 0x167ff, + 0x16a39, 0x16eff, + 0x16f45, 0x16f4f, + 0x16f7f, 0x16f8e, + 0x16fa0, 0x1afff, + 0x1b002, 0x1cfff, + 0x1d0f6, 0x1d0ff, + 0x1d127, 0x1d128, + 0x1d173, 0x1d17a, + 0x1d1de, 0x1d1ff, + 0x1d246, 0x1d2ff, + 0x1d357, 0x1d35f, + 0x1d372, 0x1d3ff, + 0x1d455, 0x1d455, + 0x1d49d, 0x1d49d, + 0x1d4a0, 0x1d4a1, + 0x1d4a3, 0x1d4a4, + 0x1d4a7, 0x1d4a8, + 0x1d4ad, 0x1d4ad, + 0x1d4ba, 0x1d4ba, + 0x1d4bc, 0x1d4bc, + 0x1d4c4, 0x1d4c4, + 0x1d506, 0x1d506, + 0x1d50b, 0x1d50c, + 0x1d515, 0x1d515, + 0x1d51d, 0x1d51d, + 0x1d53a, 0x1d53a, + 0x1d53f, 0x1d53f, + 0x1d545, 0x1d545, + 0x1d547, 0x1d549, + 0x1d551, 0x1d551, + 0x1d6a6, 0x1d6a7, + 0x1d7cc, 0x1d7cd, + 0x1d800, 0x1edff, + 0x1ee04, 0x1ee04, + 0x1ee20, 0x1ee20, + 0x1ee23, 0x1ee23, + 0x1ee25, 0x1ee26, + 0x1ee28, 0x1ee28, + 0x1ee33, 0x1ee33, + 0x1ee38, 0x1ee38, + 0x1ee3a, 0x1ee3a, + 0x1ee3c, 0x1ee41, + 0x1ee43, 0x1ee46, + 0x1ee48, 0x1ee48, + 0x1ee4a, 0x1ee4a, + 0x1ee4c, 0x1ee4c, + 0x1ee50, 0x1ee50, + 0x1ee53, 0x1ee53, + 0x1ee55, 0x1ee56, + 0x1ee58, 0x1ee58, + 0x1ee5a, 0x1ee5a, + 0x1ee5c, 0x1ee5c, + 0x1ee5e, 0x1ee5e, + 0x1ee60, 0x1ee60, + 0x1ee63, 0x1ee63, + 0x1ee65, 0x1ee66, + 0x1ee6b, 0x1ee6b, + 0x1ee73, 0x1ee73, + 0x1ee78, 0x1ee78, + 0x1ee7d, 0x1ee7d, + 0x1ee7f, 0x1ee7f, + 0x1ee8a, 0x1ee8a, + 0x1ee9c, 0x1eea0, + 0x1eea4, 0x1eea4, + 0x1eeaa, 0x1eeaa, + 0x1eebc, 0x1eeef, + 0x1eef2, 0x1efff, + 0x1f02c, 0x1f02f, + 0x1f094, 0x1f09f, + 0x1f0af, 0x1f0b0, + 0x1f0bf, 0x1f0c0, + 0x1f0d0, 0x1f0d0, + 0x1f0e0, 0x1f0ff, + 0x1f10b, 0x1f10f, + 0x1f12f, 0x1f12f, + 0x1f16c, 0x1f16f, + 0x1f19b, 0x1f1e5, + 0x1f203, 0x1f20f, + 0x1f23b, 0x1f23f, + 0x1f249, 0x1f24f, + 0x1f252, 0x1f2ff, + 0x1f321, 0x1f32f, + 0x1f336, 0x1f336, + 0x1f37d, 0x1f37f, + 0x1f394, 0x1f39f, + 0x1f3c5, 0x1f3c5, + 0x1f3cb, 0x1f3df, + 0x1f3f1, 0x1f3ff, + 0x1f43f, 0x1f43f, + 0x1f441, 0x1f441, + 0x1f4f8, 0x1f4f8, + 0x1f4fd, 0x1f4ff, + 0x1f53e, 0x1f53f, + 0x1f544, 0x1f54f, + 0x1f568, 0x1f5fa, + 0x1f641, 0x1f644, + 0x1f650, 0x1f67f, + 0x1f6c6, 0x1f6ff, + 0x1f774, 0x1ffff, + 0x2a6d7, 0x2a6ff, + 0x2b735, 0x2b73f, + 0x2b81e, 0x2f7ff, + 0x2fa1e, 0xe00ff, + 0xe01f0, 0x10ffff, +}; /* CR_C */ + +/* 'Cc': General Category */ +#define CR_Cc CR_Cntrl + +/* 'Cf': General Category */ +static const OnigCodePoint CR_Cf[] = { + 14, + 0x00ad, 0x00ad, + 0x0600, 0x0604, + 0x06dd, 0x06dd, + 0x070f, 0x070f, + 0x200b, 0x200f, + 0x202a, 0x202e, + 0x2060, 0x2064, 0x206a, 0x206f, - 0x2329, 0x232a, + 0xfeff, 0xfeff, + 0xfff9, 0xfffb, + 0x110bd, 0x110bd, + 0x1d173, 0x1d17a, 0xe0001, 0xe0001, 0xe0020, 0xe007f, -}; /* CR_Deprecated */ - -/* 'Soft_Dotted': Binary Property */ -static const OnigCodePoint CR_Soft_Dotted[] = { - 31, - 0x0069, 0x006a, - 0x012f, 0x012f, - 0x0249, 0x0249, - 0x0268, 0x0268, - 0x029d, 0x029d, - 0x02b2, 0x02b2, - 0x03f3, 0x03f3, - 0x0456, 0x0456, - 0x0458, 0x0458, - 0x1d62, 0x1d62, - 0x1d96, 0x1d96, - 0x1da4, 0x1da4, - 0x1da8, 0x1da8, - 0x1e2d, 0x1e2d, - 0x1ecb, 0x1ecb, - 0x2071, 0x2071, - 0x2148, 0x2149, - 0x2c7c, 0x2c7c, - 0x1d422, 0x1d423, - 0x1d456, 0x1d457, - 0x1d48a, 0x1d48b, - 0x1d4be, 0x1d4bf, - 0x1d4f2, 0x1d4f3, - 0x1d526, 0x1d527, - 0x1d55a, 0x1d55b, - 0x1d58e, 0x1d58f, - 0x1d5c2, 0x1d5c3, - 0x1d5f6, 0x1d5f7, - 0x1d62a, 0x1d62b, - 0x1d65e, 0x1d65f, - 0x1d692, 0x1d693, -}; /* CR_Soft_Dotted */ - -/* 'Logical_Order_Exception': Binary Property */ -static const OnigCodePoint CR_Logical_Order_Exception[] = { - 5, - 0x0e40, 0x0e44, - 0x0ec0, 0x0ec4, - 0xaab5, 0xaab6, - 0xaab9, 0xaab9, - 0xaabb, 0xaabc, -}; /* CR_Logical_Order_Exception */ - -/* 'Other_ID_Start': Binary Property */ -static const OnigCodePoint CR_Other_ID_Start[] = { - 3, - 0x2118, 0x2118, - 0x212e, 0x212e, - 0x309b, 0x309c, -}; /* CR_Other_ID_Start */ - -/* 'Other_ID_Continue': Binary Property */ -static const OnigCodePoint CR_Other_ID_Continue[] = { - 4, - 0x00b7, 0x00b7, - 0x0387, 0x0387, - 0x1369, 0x1371, - 0x19da, 0x19da, -}; /* CR_Other_ID_Continue */ - -/* 'STerm': Binary Property */ -static const OnigCodePoint CR_STerm[] = { - 47, - 0x0021, 0x0021, - 0x002e, 0x002e, - 0x003f, 0x003f, - 0x055c, 0x055c, - 0x055e, 0x055e, - 0x0589, 0x0589, - 0x061f, 0x061f, - 0x06d4, 0x06d4, - 0x0700, 0x0702, - 0x07f9, 0x07f9, - 0x0964, 0x0965, - 0x104a, 0x104b, - 0x1362, 0x1362, - 0x1367, 0x1368, - 0x166e, 0x166e, - 0x1735, 0x1736, - 0x1803, 0x1803, - 0x1809, 0x1809, - 0x1944, 0x1945, - 0x1aa8, 0x1aab, - 0x1b5a, 0x1b5b, - 0x1b5e, 0x1b5f, - 0x1c3b, 0x1c3c, - 0x1c7e, 0x1c7f, - 0x203c, 0x203d, - 0x2047, 0x2049, - 0x2e2e, 0x2e2e, - 0x3002, 0x3002, - 0xa4ff, 0xa4ff, - 0xa60e, 0xa60f, - 0xa6f3, 0xa6f3, - 0xa6f7, 0xa6f7, - 0xa876, 0xa877, - 0xa8ce, 0xa8cf, - 0xa92f, 0xa92f, - 0xa9c8, 0xa9c9, - 0xaa5d, 0xaa5f, - 0xabeb, 0xabeb, - 0xfe52, 0xfe52, - 0xfe56, 0xfe57, - 0xff01, 0xff01, - 0xff0e, 0xff0e, - 0xff1f, 0xff1f, - 0xff61, 0xff61, - 0x10a56, 0x10a57, - 0x11047, 0x11048, - 0x110be, 0x110c1, -}; /* CR_STerm */ - -/* 'Variation_Selector': Binary Property */ -static const OnigCodePoint CR_Variation_Selector[] = { - 3, - 0x180b, 0x180d, - 0xfe00, 0xfe0f, - 0xe0100, 0xe01ef, -}; /* CR_Variation_Selector */ - -/* 'Pattern_White_Space': Binary Property */ -static const OnigCodePoint CR_Pattern_White_Space[] = { - 5, - 0x0009, 0x000d, - 0x0020, 0x0020, - 0x0085, 0x0085, - 0x200e, 0x200f, - 0x2028, 0x2029, -}; /* CR_Pattern_White_Space */ - -/* 'Pattern_Syntax': Binary Property */ -static const OnigCodePoint CR_Pattern_Syntax[] = { - 28, - 0x0021, 0x002f, - 0x003a, 0x0040, - 0x005b, 0x005e, - 0x0060, 0x0060, - 0x007b, 0x007e, - 0x00a1, 0x00a7, - 0x00a9, 0x00a9, - 0x00ab, 0x00ac, - 0x00ae, 0x00ae, - 0x00b0, 0x00b1, - 0x00b6, 0x00b6, - 0x00bb, 0x00bb, - 0x00bf, 0x00bf, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x2010, 0x2027, - 0x2030, 0x203e, - 0x2041, 0x2053, - 0x2055, 0x205e, - 0x2190, 0x245f, - 0x2500, 0x2775, - 0x2794, 0x2bff, - 0x2e00, 0x2e7f, - 0x3001, 0x3003, - 0x3008, 0x3020, - 0x3030, 0x3030, - 0xfd3e, 0xfd3f, - 0xfe45, 0xfe46, -}; /* CR_Pattern_Syntax */ +}; /* CR_Cf */ -/* 'Unknown': Script */ -static const OnigCodePoint CR_Unknown[] = { - 499, +/* 'Cn': General Category */ +static const OnigCodePoint CR_Cn[] = { + 539, 0x0378, 0x0379, 0x037f, 0x0383, 0x038b, 0x038b, @@ -14476,11 +5434,12 @@ static const OnigCodePoint CR_Unknown[] = { 0x0557, 0x0558, 0x0560, 0x0560, 0x0588, 0x0588, - 0x058b, 0x0590, + 0x058b, 0x058e, + 0x0590, 0x0590, 0x05c8, 0x05cf, 0x05eb, 0x05ef, 0x05f5, 0x05ff, - 0x0604, 0x0605, + 0x0605, 0x0605, 0x061c, 0x061d, 0x070e, 0x070e, 0x074b, 0x074c, @@ -14489,7 +5448,10 @@ static const OnigCodePoint CR_Unknown[] = { 0x082e, 0x082f, 0x083f, 0x083f, 0x085c, 0x085d, - 0x085f, 0x08ff, + 0x085f, 0x089f, + 0x08a1, 0x08a1, + 0x08ad, 0x08e3, + 0x08ff, 0x08ff, 0x0978, 0x0978, 0x0980, 0x0980, 0x0984, 0x0984, @@ -14534,7 +5496,6 @@ static const OnigCodePoint CR_Unknown[] = { 0x0ace, 0x0acf, 0x0ad1, 0x0adf, 0x0ae4, 0x0ae5, - 0x0af0, 0x0af0, 0x0af2, 0x0b00, 0x0b04, 0x0b04, 0x0b0d, 0x0b0e, @@ -14635,15 +5596,16 @@ static const OnigCodePoint CR_Unknown[] = { 0x0ec7, 0x0ec7, 0x0ece, 0x0ecf, 0x0eda, 0x0edb, - 0x0ede, 0x0eff, + 0x0ee0, 0x0eff, 0x0f48, 0x0f48, 0x0f6d, 0x0f70, 0x0f98, 0x0f98, 0x0fbd, 0x0fbd, 0x0fcd, 0x0fcd, 0x0fdb, 0x0fff, - 0x10c6, 0x10cf, - 0x10fd, 0x10ff, + 0x10c6, 0x10c6, + 0x10c8, 0x10cc, + 0x10ce, 0x10cf, 0x1249, 0x1249, 0x124e, 0x124f, 0x1257, 0x1257, @@ -14697,13 +5659,12 @@ static const OnigCodePoint CR_Unknown[] = { 0x1aae, 0x1aff, 0x1b4c, 0x1b4f, 0x1b7d, 0x1b7f, - 0x1bab, 0x1bad, - 0x1bba, 0x1bbf, 0x1bf4, 0x1bfb, 0x1c38, 0x1c3a, 0x1c4a, 0x1c4c, - 0x1c80, 0x1ccf, - 0x1cf3, 0x1cff, + 0x1c80, 0x1cbf, + 0x1cc8, 0x1ccf, + 0x1cf7, 0x1cff, 0x1de7, 0x1dfb, 0x1f16, 0x1f17, 0x1f1e, 0x1f1f, @@ -14732,15 +5693,15 @@ static const OnigCodePoint CR_Unknown[] = { 0x2427, 0x243f, 0x244b, 0x245f, 0x2700, 0x2700, - 0x27cb, 0x27cb, - 0x27cd, 0x27cd, 0x2b4d, 0x2b4f, 0x2b5a, 0x2bff, 0x2c2f, 0x2c2f, 0x2c5f, 0x2c5f, - 0x2cf2, 0x2cf8, - 0x2d26, 0x2d2f, - 0x2d66, 0x2d6e, + 0x2cf4, 0x2cf8, + 0x2d26, 0x2d26, + 0x2d28, 0x2d2c, + 0x2d2e, 0x2d2f, + 0x2d68, 0x2d6e, 0x2d71, 0x2d7e, 0x2d97, 0x2d9f, 0x2da7, 0x2da7, @@ -14751,7 +5712,7 @@ static const OnigCodePoint CR_Unknown[] = { 0x2dcf, 0x2dcf, 0x2dd7, 0x2dd7, 0x2ddf, 0x2ddf, - 0x2e32, 0x2e7f, + 0x2e3c, 0x2e7f, 0x2e9a, 0x2e9a, 0x2ef4, 0x2eff, 0x2fd6, 0x2fef, @@ -14766,16 +5727,15 @@ static const OnigCodePoint CR_Unknown[] = { 0x321f, 0x321f, 0x32ff, 0x32ff, 0x4db6, 0x4dbf, - 0x9fcc, 0x9fff, + 0x9fcd, 0x9fff, 0xa48d, 0xa48f, 0xa4c7, 0xa4cf, 0xa62c, 0xa63f, - 0xa674, 0xa67b, - 0xa698, 0xa69f, + 0xa698, 0xa69e, 0xa6f8, 0xa6ff, 0xa78f, 0xa78f, - 0xa792, 0xa79f, - 0xa7aa, 0xa7f9, + 0xa794, 0xa79f, + 0xa7ab, 0xa7f7, 0xa82c, 0xa82f, 0xa83a, 0xa83f, 0xa878, 0xa87f, @@ -14792,7 +5752,7 @@ static const OnigCodePoint CR_Unknown[] = { 0xaa5a, 0xaa5b, 0xaa7c, 0xaa7f, 0xaac3, 0xaada, - 0xaae0, 0xab00, + 0xaaf7, 0xab00, 0xab07, 0xab08, 0xab0f, 0xab10, 0xab17, 0xab1f, @@ -14802,8 +5762,7 @@ static const OnigCodePoint CR_Unknown[] = { 0xabfa, 0xabff, 0xd7a4, 0xd7af, 0xd7c7, 0xd7ca, - 0xd7fc, 0xf8ff, - 0xfa2e, 0xfa2f, + 0xd7fc, 0xd7ff, 0xfa6e, 0xfa6f, 0xfada, 0xfaff, 0xfb07, 0xfb12, @@ -14865,7 +5824,9 @@ static const OnigCodePoint CR_Unknown[] = { 0x10860, 0x108ff, 0x1091c, 0x1091e, 0x1093a, 0x1093e, - 0x10940, 0x109ff, + 0x10940, 0x1097f, + 0x109b8, 0x109bd, + 0x109c0, 0x109ff, 0x10a04, 0x10a04, 0x10a07, 0x10a0b, 0x10a14, 0x10a14, @@ -14883,12 +5844,23 @@ static const OnigCodePoint CR_Unknown[] = { 0x10e7f, 0x10fff, 0x1104e, 0x11051, 0x11070, 0x1107f, - 0x110c2, 0x11fff, + 0x110c2, 0x110cf, + 0x110e9, 0x110ef, + 0x110fa, 0x110ff, + 0x11135, 0x11135, + 0x11144, 0x1117f, + 0x111c9, 0x111cf, + 0x111da, 0x1167f, + 0x116b8, 0x116bf, + 0x116ca, 0x11fff, 0x1236f, 0x123ff, 0x12463, 0x1246f, 0x12474, 0x12fff, 0x1342f, 0x167ff, - 0x16a39, 0x1afff, + 0x16a39, 0x16eff, + 0x16f45, 0x16f4f, + 0x16f7f, 0x16f8e, + 0x16fa0, 0x1afff, 0x1b002, 0x1cfff, 0x1d0f6, 0x1d0ff, 0x1d127, 0x1d128, @@ -14916,7 +5888,41 @@ static const OnigCodePoint CR_Unknown[] = { 0x1d551, 0x1d551, 0x1d6a6, 0x1d6a7, 0x1d7cc, 0x1d7cd, - 0x1d800, 0x1efff, + 0x1d800, 0x1edff, + 0x1ee04, 0x1ee04, + 0x1ee20, 0x1ee20, + 0x1ee23, 0x1ee23, + 0x1ee25, 0x1ee26, + 0x1ee28, 0x1ee28, + 0x1ee33, 0x1ee33, + 0x1ee38, 0x1ee38, + 0x1ee3a, 0x1ee3a, + 0x1ee3c, 0x1ee41, + 0x1ee43, 0x1ee46, + 0x1ee48, 0x1ee48, + 0x1ee4a, 0x1ee4a, + 0x1ee4c, 0x1ee4c, + 0x1ee50, 0x1ee50, + 0x1ee53, 0x1ee53, + 0x1ee55, 0x1ee56, + 0x1ee58, 0x1ee58, + 0x1ee5a, 0x1ee5a, + 0x1ee5c, 0x1ee5c, + 0x1ee5e, 0x1ee5e, + 0x1ee60, 0x1ee60, + 0x1ee63, 0x1ee63, + 0x1ee65, 0x1ee66, + 0x1ee6b, 0x1ee6b, + 0x1ee73, 0x1ee73, + 0x1ee78, 0x1ee78, + 0x1ee7d, 0x1ee7d, + 0x1ee7f, 0x1ee7f, + 0x1ee8a, 0x1ee8a, + 0x1ee9c, 0x1eea0, + 0x1eea4, 0x1eea4, + 0x1eeaa, 0x1eeaa, + 0x1eebc, 0x1eeef, + 0x1eef2, 0x1efff, 0x1f02c, 0x1f02f, 0x1f094, 0x1f09f, 0x1f0af, 0x1f0b0, @@ -14925,7 +5931,7 @@ static const OnigCodePoint CR_Unknown[] = { 0x1f0e0, 0x1f0ff, 0x1f10b, 0x1f10f, 0x1f12f, 0x1f12f, - 0x1f16a, 0x1f16f, + 0x1f16c, 0x1f16f, 0x1f19b, 0x1f1e5, 0x1f203, 0x1f20f, 0x1f23b, 0x1f23f, @@ -14942,19 +5948,9 @@ static const OnigCodePoint CR_Unknown[] = { 0x1f441, 0x1f441, 0x1f4f8, 0x1f4f8, 0x1f4fd, 0x1f4ff, - 0x1f53e, 0x1f54f, + 0x1f53e, 0x1f53f, + 0x1f544, 0x1f54f, 0x1f568, 0x1f5fa, - 0x1f600, 0x1f600, - 0x1f611, 0x1f611, - 0x1f615, 0x1f615, - 0x1f617, 0x1f617, - 0x1f619, 0x1f619, - 0x1f61b, 0x1f61b, - 0x1f61f, 0x1f61f, - 0x1f626, 0x1f627, - 0x1f62c, 0x1f62c, - 0x1f62e, 0x1f62f, - 0x1f634, 0x1f634, 0x1f641, 0x1f644, 0x1f650, 0x1f67f, 0x1f6c6, 0x1f6ff, @@ -14965,205 +5961,10253 @@ static const OnigCodePoint CR_Unknown[] = { 0x2fa1e, 0xe0000, 0xe0002, 0xe001f, 0xe0080, 0xe00ff, - 0xe01f0, 0x10ffff, -}; /* CR_Unknown */ -#endif /* USE_UNICODE_PROPERTIES */ + 0xe01f0, 0xeffff, + 0xffffe, 0xfffff, + 0x10fffe, 0x10ffff, +}; /* CR_Cn */ + +/* 'Co': General Category */ +static const OnigCodePoint CR_Co[] = { + 3, + 0xe000, 0xf8ff, + 0xf0000, 0xffffd, + 0x100000, 0x10fffd, +}; /* CR_Co */ + +/* 'Cs': General Category */ +static const OnigCodePoint CR_Cs[] = { + 1, + 0xd800, 0xdfff, +}; /* CR_Cs */ + +/* 'L': Major Category */ +static const OnigCodePoint CR_L[] = { + 486, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0370, 0x0374, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0620, 0x064a, + 0x066e, 0x066f, + 0x0671, 0x06d3, + 0x06d5, 0x06d5, + 0x06e5, 0x06e6, + 0x06ee, 0x06ef, + 0x06fa, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x0710, + 0x0712, 0x072f, + 0x074d, 0x07a5, + 0x07b1, 0x07b1, + 0x07ca, 0x07ea, + 0x07f4, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x0815, + 0x081a, 0x081a, + 0x0824, 0x0824, + 0x0828, 0x0828, + 0x0840, 0x0858, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x0904, 0x0939, + 0x093d, 0x093d, + 0x0950, 0x0950, + 0x0958, 0x0961, + 0x0971, 0x0977, + 0x0979, 0x097f, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bd, 0x09bd, + 0x09ce, 0x09ce, + 0x09dc, 0x09dd, + 0x09df, 0x09e1, + 0x09f0, 0x09f1, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a72, 0x0a74, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abd, 0x0abd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae1, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3d, 0x0b3d, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b61, + 0x0b71, 0x0b71, + 0x0b83, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bd0, 0x0bd0, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c3d, + 0x0c58, 0x0c59, + 0x0c60, 0x0c61, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbd, 0x0cbd, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce1, + 0x0cf1, 0x0cf2, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d3d, + 0x0d4e, 0x0d4e, + 0x0d60, 0x0d61, + 0x0d7a, 0x0d7f, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0e01, 0x0e30, + 0x0e32, 0x0e33, + 0x0e40, 0x0e46, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb0, + 0x0eb2, 0x0eb3, + 0x0ebd, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f40, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f88, 0x0f8c, + 0x1000, 0x102a, + 0x103f, 0x103f, + 0x1050, 0x1055, + 0x105a, 0x105d, + 0x1061, 0x1061, + 0x1065, 0x1066, + 0x106e, 0x1070, + 0x1075, 0x1081, + 0x108e, 0x108e, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x1700, 0x170c, + 0x170e, 0x1711, + 0x1720, 0x1731, + 0x1740, 0x1751, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1780, 0x17b3, + 0x17d7, 0x17d7, + 0x17dc, 0x17dc, + 0x1820, 0x1877, + 0x1880, 0x18a8, + 0x18aa, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1950, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19c1, 0x19c7, + 0x1a00, 0x1a16, + 0x1a20, 0x1a54, + 0x1aa7, 0x1aa7, + 0x1b05, 0x1b33, + 0x1b45, 0x1b4b, + 0x1b83, 0x1ba0, + 0x1bae, 0x1baf, + 0x1bba, 0x1be5, + 0x1c00, 0x1c23, + 0x1c4d, 0x1c4f, + 0x1c5a, 0x1c7d, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf1, + 0x1cf5, 0x1cf6, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x212f, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2183, 0x2184, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2e2f, 0x2e2f, + 0x3005, 0x3006, + 0x3031, 0x3035, + 0x303b, 0x303c, + 0x3041, 0x3096, + 0x309d, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa48c, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa61f, + 0xa62a, 0xa62b, + 0xa640, 0xa66e, + 0xa67f, 0xa697, + 0xa6a0, 0xa6e5, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa822, + 0xa840, 0xa873, + 0xa882, 0xa8b3, + 0xa8f2, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa90a, 0xa925, + 0xa930, 0xa946, + 0xa960, 0xa97c, + 0xa984, 0xa9b2, + 0xa9cf, 0xa9cf, + 0xaa00, 0xaa28, + 0xaa40, 0xaa42, + 0xaa44, 0xaa4b, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7a, + 0xaa80, 0xaaaf, + 0xaab1, 0xaab1, + 0xaab5, 0xaab6, + 0xaab9, 0xaabd, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaea, + 0xaaf2, 0xaaf4, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabe2, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb1d, + 0xfb1f, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfb, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0xff66, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x10340, + 0x10342, 0x10349, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x10400, 0x1049d, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a00, + 0x10a10, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11003, 0x11037, + 0x11083, 0x110af, + 0x110d0, 0x110e8, + 0x11103, 0x11126, + 0x11183, 0x111b2, + 0x111c1, 0x111c4, + 0x11680, 0x116aa, + 0x12000, 0x1236e, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f50, + 0x16f93, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_L */ + +/* 'LC': General Category */ +static const OnigCodePoint CR_LC[] = { + 113, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00b5, 0x00b5, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x01ba, + 0x01bc, 0x01bf, + 0x01c4, 0x0293, + 0x0295, 0x02af, + 0x0370, 0x0373, + 0x0376, 0x0377, + 0x037b, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0561, 0x0587, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1d00, 0x1d2b, + 0x1d6b, 0x1d77, + 0x1d79, 0x1d9a, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x212f, 0x2134, + 0x2139, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2183, 0x2184, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2c7b, + 0x2c7e, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa640, 0xa66d, + 0xa680, 0xa697, + 0xa722, 0xa76f, + 0xa771, 0xa787, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7fa, 0xa7fa, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0x10400, 0x1044f, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, +}; /* CR_LC */ + +/* 'Ll': General Category */ +static const OnigCodePoint CR_Ll[] = { + 611, + 0x0061, 0x007a, + 0x00b5, 0x00b5, + 0x00df, 0x00f6, + 0x00f8, 0x00ff, + 0x0101, 0x0101, + 0x0103, 0x0103, + 0x0105, 0x0105, + 0x0107, 0x0107, + 0x0109, 0x0109, + 0x010b, 0x010b, + 0x010d, 0x010d, + 0x010f, 0x010f, + 0x0111, 0x0111, + 0x0113, 0x0113, + 0x0115, 0x0115, + 0x0117, 0x0117, + 0x0119, 0x0119, + 0x011b, 0x011b, + 0x011d, 0x011d, + 0x011f, 0x011f, + 0x0121, 0x0121, + 0x0123, 0x0123, + 0x0125, 0x0125, + 0x0127, 0x0127, + 0x0129, 0x0129, + 0x012b, 0x012b, + 0x012d, 0x012d, + 0x012f, 0x012f, + 0x0131, 0x0131, + 0x0133, 0x0133, + 0x0135, 0x0135, + 0x0137, 0x0138, + 0x013a, 0x013a, + 0x013c, 0x013c, + 0x013e, 0x013e, + 0x0140, 0x0140, + 0x0142, 0x0142, + 0x0144, 0x0144, + 0x0146, 0x0146, + 0x0148, 0x0149, + 0x014b, 0x014b, + 0x014d, 0x014d, + 0x014f, 0x014f, + 0x0151, 0x0151, + 0x0153, 0x0153, + 0x0155, 0x0155, + 0x0157, 0x0157, + 0x0159, 0x0159, + 0x015b, 0x015b, + 0x015d, 0x015d, + 0x015f, 0x015f, + 0x0161, 0x0161, + 0x0163, 0x0163, + 0x0165, 0x0165, + 0x0167, 0x0167, + 0x0169, 0x0169, + 0x016b, 0x016b, + 0x016d, 0x016d, + 0x016f, 0x016f, + 0x0171, 0x0171, + 0x0173, 0x0173, + 0x0175, 0x0175, + 0x0177, 0x0177, + 0x017a, 0x017a, + 0x017c, 0x017c, + 0x017e, 0x0180, + 0x0183, 0x0183, + 0x0185, 0x0185, + 0x0188, 0x0188, + 0x018c, 0x018d, + 0x0192, 0x0192, + 0x0195, 0x0195, + 0x0199, 0x019b, + 0x019e, 0x019e, + 0x01a1, 0x01a1, + 0x01a3, 0x01a3, + 0x01a5, 0x01a5, + 0x01a8, 0x01a8, + 0x01aa, 0x01ab, + 0x01ad, 0x01ad, + 0x01b0, 0x01b0, + 0x01b4, 0x01b4, + 0x01b6, 0x01b6, + 0x01b9, 0x01ba, + 0x01bd, 0x01bf, + 0x01c6, 0x01c6, + 0x01c9, 0x01c9, + 0x01cc, 0x01cc, + 0x01ce, 0x01ce, + 0x01d0, 0x01d0, + 0x01d2, 0x01d2, + 0x01d4, 0x01d4, + 0x01d6, 0x01d6, + 0x01d8, 0x01d8, + 0x01da, 0x01da, + 0x01dc, 0x01dd, + 0x01df, 0x01df, + 0x01e1, 0x01e1, + 0x01e3, 0x01e3, + 0x01e5, 0x01e5, + 0x01e7, 0x01e7, + 0x01e9, 0x01e9, + 0x01eb, 0x01eb, + 0x01ed, 0x01ed, + 0x01ef, 0x01f0, + 0x01f3, 0x01f3, + 0x01f5, 0x01f5, + 0x01f9, 0x01f9, + 0x01fb, 0x01fb, + 0x01fd, 0x01fd, + 0x01ff, 0x01ff, + 0x0201, 0x0201, + 0x0203, 0x0203, + 0x0205, 0x0205, + 0x0207, 0x0207, + 0x0209, 0x0209, + 0x020b, 0x020b, + 0x020d, 0x020d, + 0x020f, 0x020f, + 0x0211, 0x0211, + 0x0213, 0x0213, + 0x0215, 0x0215, + 0x0217, 0x0217, + 0x0219, 0x0219, + 0x021b, 0x021b, + 0x021d, 0x021d, + 0x021f, 0x021f, + 0x0221, 0x0221, + 0x0223, 0x0223, + 0x0225, 0x0225, + 0x0227, 0x0227, + 0x0229, 0x0229, + 0x022b, 0x022b, + 0x022d, 0x022d, + 0x022f, 0x022f, + 0x0231, 0x0231, + 0x0233, 0x0239, + 0x023c, 0x023c, + 0x023f, 0x0240, + 0x0242, 0x0242, + 0x0247, 0x0247, + 0x0249, 0x0249, + 0x024b, 0x024b, + 0x024d, 0x024d, + 0x024f, 0x0293, + 0x0295, 0x02af, + 0x0371, 0x0371, + 0x0373, 0x0373, + 0x0377, 0x0377, + 0x037b, 0x037d, + 0x0390, 0x0390, + 0x03ac, 0x03ce, + 0x03d0, 0x03d1, + 0x03d5, 0x03d7, + 0x03d9, 0x03d9, + 0x03db, 0x03db, + 0x03dd, 0x03dd, + 0x03df, 0x03df, + 0x03e1, 0x03e1, + 0x03e3, 0x03e3, + 0x03e5, 0x03e5, + 0x03e7, 0x03e7, + 0x03e9, 0x03e9, + 0x03eb, 0x03eb, + 0x03ed, 0x03ed, + 0x03ef, 0x03f3, + 0x03f5, 0x03f5, + 0x03f8, 0x03f8, + 0x03fb, 0x03fc, + 0x0430, 0x045f, + 0x0461, 0x0461, + 0x0463, 0x0463, + 0x0465, 0x0465, + 0x0467, 0x0467, + 0x0469, 0x0469, + 0x046b, 0x046b, + 0x046d, 0x046d, + 0x046f, 0x046f, + 0x0471, 0x0471, + 0x0473, 0x0473, + 0x0475, 0x0475, + 0x0477, 0x0477, + 0x0479, 0x0479, + 0x047b, 0x047b, + 0x047d, 0x047d, + 0x047f, 0x047f, + 0x0481, 0x0481, + 0x048b, 0x048b, + 0x048d, 0x048d, + 0x048f, 0x048f, + 0x0491, 0x0491, + 0x0493, 0x0493, + 0x0495, 0x0495, + 0x0497, 0x0497, + 0x0499, 0x0499, + 0x049b, 0x049b, + 0x049d, 0x049d, + 0x049f, 0x049f, + 0x04a1, 0x04a1, + 0x04a3, 0x04a3, + 0x04a5, 0x04a5, + 0x04a7, 0x04a7, + 0x04a9, 0x04a9, + 0x04ab, 0x04ab, + 0x04ad, 0x04ad, + 0x04af, 0x04af, + 0x04b1, 0x04b1, + 0x04b3, 0x04b3, + 0x04b5, 0x04b5, + 0x04b7, 0x04b7, + 0x04b9, 0x04b9, + 0x04bb, 0x04bb, + 0x04bd, 0x04bd, + 0x04bf, 0x04bf, + 0x04c2, 0x04c2, + 0x04c4, 0x04c4, + 0x04c6, 0x04c6, + 0x04c8, 0x04c8, + 0x04ca, 0x04ca, + 0x04cc, 0x04cc, + 0x04ce, 0x04cf, + 0x04d1, 0x04d1, + 0x04d3, 0x04d3, + 0x04d5, 0x04d5, + 0x04d7, 0x04d7, + 0x04d9, 0x04d9, + 0x04db, 0x04db, + 0x04dd, 0x04dd, + 0x04df, 0x04df, + 0x04e1, 0x04e1, + 0x04e3, 0x04e3, + 0x04e5, 0x04e5, + 0x04e7, 0x04e7, + 0x04e9, 0x04e9, + 0x04eb, 0x04eb, + 0x04ed, 0x04ed, + 0x04ef, 0x04ef, + 0x04f1, 0x04f1, + 0x04f3, 0x04f3, + 0x04f5, 0x04f5, + 0x04f7, 0x04f7, + 0x04f9, 0x04f9, + 0x04fb, 0x04fb, + 0x04fd, 0x04fd, + 0x04ff, 0x04ff, + 0x0501, 0x0501, + 0x0503, 0x0503, + 0x0505, 0x0505, + 0x0507, 0x0507, + 0x0509, 0x0509, + 0x050b, 0x050b, + 0x050d, 0x050d, + 0x050f, 0x050f, + 0x0511, 0x0511, + 0x0513, 0x0513, + 0x0515, 0x0515, + 0x0517, 0x0517, + 0x0519, 0x0519, + 0x051b, 0x051b, + 0x051d, 0x051d, + 0x051f, 0x051f, + 0x0521, 0x0521, + 0x0523, 0x0523, + 0x0525, 0x0525, + 0x0527, 0x0527, + 0x0561, 0x0587, + 0x1d00, 0x1d2b, + 0x1d6b, 0x1d77, + 0x1d79, 0x1d9a, + 0x1e01, 0x1e01, + 0x1e03, 0x1e03, + 0x1e05, 0x1e05, + 0x1e07, 0x1e07, + 0x1e09, 0x1e09, + 0x1e0b, 0x1e0b, + 0x1e0d, 0x1e0d, + 0x1e0f, 0x1e0f, + 0x1e11, 0x1e11, + 0x1e13, 0x1e13, + 0x1e15, 0x1e15, + 0x1e17, 0x1e17, + 0x1e19, 0x1e19, + 0x1e1b, 0x1e1b, + 0x1e1d, 0x1e1d, + 0x1e1f, 0x1e1f, + 0x1e21, 0x1e21, + 0x1e23, 0x1e23, + 0x1e25, 0x1e25, + 0x1e27, 0x1e27, + 0x1e29, 0x1e29, + 0x1e2b, 0x1e2b, + 0x1e2d, 0x1e2d, + 0x1e2f, 0x1e2f, + 0x1e31, 0x1e31, + 0x1e33, 0x1e33, + 0x1e35, 0x1e35, + 0x1e37, 0x1e37, + 0x1e39, 0x1e39, + 0x1e3b, 0x1e3b, + 0x1e3d, 0x1e3d, + 0x1e3f, 0x1e3f, + 0x1e41, 0x1e41, + 0x1e43, 0x1e43, + 0x1e45, 0x1e45, + 0x1e47, 0x1e47, + 0x1e49, 0x1e49, + 0x1e4b, 0x1e4b, + 0x1e4d, 0x1e4d, + 0x1e4f, 0x1e4f, + 0x1e51, 0x1e51, + 0x1e53, 0x1e53, + 0x1e55, 0x1e55, + 0x1e57, 0x1e57, + 0x1e59, 0x1e59, + 0x1e5b, 0x1e5b, + 0x1e5d, 0x1e5d, + 0x1e5f, 0x1e5f, + 0x1e61, 0x1e61, + 0x1e63, 0x1e63, + 0x1e65, 0x1e65, + 0x1e67, 0x1e67, + 0x1e69, 0x1e69, + 0x1e6b, 0x1e6b, + 0x1e6d, 0x1e6d, + 0x1e6f, 0x1e6f, + 0x1e71, 0x1e71, + 0x1e73, 0x1e73, + 0x1e75, 0x1e75, + 0x1e77, 0x1e77, + 0x1e79, 0x1e79, + 0x1e7b, 0x1e7b, + 0x1e7d, 0x1e7d, + 0x1e7f, 0x1e7f, + 0x1e81, 0x1e81, + 0x1e83, 0x1e83, + 0x1e85, 0x1e85, + 0x1e87, 0x1e87, + 0x1e89, 0x1e89, + 0x1e8b, 0x1e8b, + 0x1e8d, 0x1e8d, + 0x1e8f, 0x1e8f, + 0x1e91, 0x1e91, + 0x1e93, 0x1e93, + 0x1e95, 0x1e9d, + 0x1e9f, 0x1e9f, + 0x1ea1, 0x1ea1, + 0x1ea3, 0x1ea3, + 0x1ea5, 0x1ea5, + 0x1ea7, 0x1ea7, + 0x1ea9, 0x1ea9, + 0x1eab, 0x1eab, + 0x1ead, 0x1ead, + 0x1eaf, 0x1eaf, + 0x1eb1, 0x1eb1, + 0x1eb3, 0x1eb3, + 0x1eb5, 0x1eb5, + 0x1eb7, 0x1eb7, + 0x1eb9, 0x1eb9, + 0x1ebb, 0x1ebb, + 0x1ebd, 0x1ebd, + 0x1ebf, 0x1ebf, + 0x1ec1, 0x1ec1, + 0x1ec3, 0x1ec3, + 0x1ec5, 0x1ec5, + 0x1ec7, 0x1ec7, + 0x1ec9, 0x1ec9, + 0x1ecb, 0x1ecb, + 0x1ecd, 0x1ecd, + 0x1ecf, 0x1ecf, + 0x1ed1, 0x1ed1, + 0x1ed3, 0x1ed3, + 0x1ed5, 0x1ed5, + 0x1ed7, 0x1ed7, + 0x1ed9, 0x1ed9, + 0x1edb, 0x1edb, + 0x1edd, 0x1edd, + 0x1edf, 0x1edf, + 0x1ee1, 0x1ee1, + 0x1ee3, 0x1ee3, + 0x1ee5, 0x1ee5, + 0x1ee7, 0x1ee7, + 0x1ee9, 0x1ee9, + 0x1eeb, 0x1eeb, + 0x1eed, 0x1eed, + 0x1eef, 0x1eef, + 0x1ef1, 0x1ef1, + 0x1ef3, 0x1ef3, + 0x1ef5, 0x1ef5, + 0x1ef7, 0x1ef7, + 0x1ef9, 0x1ef9, + 0x1efb, 0x1efb, + 0x1efd, 0x1efd, + 0x1eff, 0x1f07, + 0x1f10, 0x1f15, + 0x1f20, 0x1f27, + 0x1f30, 0x1f37, + 0x1f40, 0x1f45, + 0x1f50, 0x1f57, + 0x1f60, 0x1f67, + 0x1f70, 0x1f7d, + 0x1f80, 0x1f87, + 0x1f90, 0x1f97, + 0x1fa0, 0x1fa7, + 0x1fb0, 0x1fb4, + 0x1fb6, 0x1fb7, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fc7, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fd7, + 0x1fe0, 0x1fe7, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ff7, + 0x210a, 0x210a, + 0x210e, 0x210f, + 0x2113, 0x2113, + 0x212f, 0x212f, + 0x2134, 0x2134, + 0x2139, 0x2139, + 0x213c, 0x213d, + 0x2146, 0x2149, + 0x214e, 0x214e, + 0x2184, 0x2184, + 0x2c30, 0x2c5e, + 0x2c61, 0x2c61, + 0x2c65, 0x2c66, + 0x2c68, 0x2c68, + 0x2c6a, 0x2c6a, + 0x2c6c, 0x2c6c, + 0x2c71, 0x2c71, + 0x2c73, 0x2c74, + 0x2c76, 0x2c7b, + 0x2c81, 0x2c81, + 0x2c83, 0x2c83, + 0x2c85, 0x2c85, + 0x2c87, 0x2c87, + 0x2c89, 0x2c89, + 0x2c8b, 0x2c8b, + 0x2c8d, 0x2c8d, + 0x2c8f, 0x2c8f, + 0x2c91, 0x2c91, + 0x2c93, 0x2c93, + 0x2c95, 0x2c95, + 0x2c97, 0x2c97, + 0x2c99, 0x2c99, + 0x2c9b, 0x2c9b, + 0x2c9d, 0x2c9d, + 0x2c9f, 0x2c9f, + 0x2ca1, 0x2ca1, + 0x2ca3, 0x2ca3, + 0x2ca5, 0x2ca5, + 0x2ca7, 0x2ca7, + 0x2ca9, 0x2ca9, + 0x2cab, 0x2cab, + 0x2cad, 0x2cad, + 0x2caf, 0x2caf, + 0x2cb1, 0x2cb1, + 0x2cb3, 0x2cb3, + 0x2cb5, 0x2cb5, + 0x2cb7, 0x2cb7, + 0x2cb9, 0x2cb9, + 0x2cbb, 0x2cbb, + 0x2cbd, 0x2cbd, + 0x2cbf, 0x2cbf, + 0x2cc1, 0x2cc1, + 0x2cc3, 0x2cc3, + 0x2cc5, 0x2cc5, + 0x2cc7, 0x2cc7, + 0x2cc9, 0x2cc9, + 0x2ccb, 0x2ccb, + 0x2ccd, 0x2ccd, + 0x2ccf, 0x2ccf, + 0x2cd1, 0x2cd1, + 0x2cd3, 0x2cd3, + 0x2cd5, 0x2cd5, + 0x2cd7, 0x2cd7, + 0x2cd9, 0x2cd9, + 0x2cdb, 0x2cdb, + 0x2cdd, 0x2cdd, + 0x2cdf, 0x2cdf, + 0x2ce1, 0x2ce1, + 0x2ce3, 0x2ce4, + 0x2cec, 0x2cec, + 0x2cee, 0x2cee, + 0x2cf3, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa641, 0xa641, + 0xa643, 0xa643, + 0xa645, 0xa645, + 0xa647, 0xa647, + 0xa649, 0xa649, + 0xa64b, 0xa64b, + 0xa64d, 0xa64d, + 0xa64f, 0xa64f, + 0xa651, 0xa651, + 0xa653, 0xa653, + 0xa655, 0xa655, + 0xa657, 0xa657, + 0xa659, 0xa659, + 0xa65b, 0xa65b, + 0xa65d, 0xa65d, + 0xa65f, 0xa65f, + 0xa661, 0xa661, + 0xa663, 0xa663, + 0xa665, 0xa665, + 0xa667, 0xa667, + 0xa669, 0xa669, + 0xa66b, 0xa66b, + 0xa66d, 0xa66d, + 0xa681, 0xa681, + 0xa683, 0xa683, + 0xa685, 0xa685, + 0xa687, 0xa687, + 0xa689, 0xa689, + 0xa68b, 0xa68b, + 0xa68d, 0xa68d, + 0xa68f, 0xa68f, + 0xa691, 0xa691, + 0xa693, 0xa693, + 0xa695, 0xa695, + 0xa697, 0xa697, + 0xa723, 0xa723, + 0xa725, 0xa725, + 0xa727, 0xa727, + 0xa729, 0xa729, + 0xa72b, 0xa72b, + 0xa72d, 0xa72d, + 0xa72f, 0xa731, + 0xa733, 0xa733, + 0xa735, 0xa735, + 0xa737, 0xa737, + 0xa739, 0xa739, + 0xa73b, 0xa73b, + 0xa73d, 0xa73d, + 0xa73f, 0xa73f, + 0xa741, 0xa741, + 0xa743, 0xa743, + 0xa745, 0xa745, + 0xa747, 0xa747, + 0xa749, 0xa749, + 0xa74b, 0xa74b, + 0xa74d, 0xa74d, + 0xa74f, 0xa74f, + 0xa751, 0xa751, + 0xa753, 0xa753, + 0xa755, 0xa755, + 0xa757, 0xa757, + 0xa759, 0xa759, + 0xa75b, 0xa75b, + 0xa75d, 0xa75d, + 0xa75f, 0xa75f, + 0xa761, 0xa761, + 0xa763, 0xa763, + 0xa765, 0xa765, + 0xa767, 0xa767, + 0xa769, 0xa769, + 0xa76b, 0xa76b, + 0xa76d, 0xa76d, + 0xa76f, 0xa76f, + 0xa771, 0xa778, + 0xa77a, 0xa77a, + 0xa77c, 0xa77c, + 0xa77f, 0xa77f, + 0xa781, 0xa781, + 0xa783, 0xa783, + 0xa785, 0xa785, + 0xa787, 0xa787, + 0xa78c, 0xa78c, + 0xa78e, 0xa78e, + 0xa791, 0xa791, + 0xa793, 0xa793, + 0xa7a1, 0xa7a1, + 0xa7a3, 0xa7a3, + 0xa7a5, 0xa7a5, + 0xa7a7, 0xa7a7, + 0xa7a9, 0xa7a9, + 0xa7fa, 0xa7fa, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff41, 0xff5a, + 0x10428, 0x1044f, + 0x1d41a, 0x1d433, + 0x1d44e, 0x1d454, + 0x1d456, 0x1d467, + 0x1d482, 0x1d49b, + 0x1d4b6, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d4cf, + 0x1d4ea, 0x1d503, + 0x1d51e, 0x1d537, + 0x1d552, 0x1d56b, + 0x1d586, 0x1d59f, + 0x1d5ba, 0x1d5d3, + 0x1d5ee, 0x1d607, + 0x1d622, 0x1d63b, + 0x1d656, 0x1d66f, + 0x1d68a, 0x1d6a5, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6e1, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d71b, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d755, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d78f, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7c9, + 0x1d7cb, 0x1d7cb, +}; /* CR_Ll */ + +/* 'Lm': General Category */ +static const OnigCodePoint CR_Lm[] = { + 52, + 0x02b0, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0374, 0x0374, + 0x037a, 0x037a, + 0x0559, 0x0559, + 0x0640, 0x0640, + 0x06e5, 0x06e6, + 0x07f4, 0x07f5, + 0x07fa, 0x07fa, + 0x081a, 0x081a, + 0x0824, 0x0824, + 0x0828, 0x0828, + 0x0971, 0x0971, + 0x0e46, 0x0e46, + 0x0ec6, 0x0ec6, + 0x10fc, 0x10fc, + 0x17d7, 0x17d7, + 0x1843, 0x1843, + 0x1aa7, 0x1aa7, + 0x1c78, 0x1c7d, + 0x1d2c, 0x1d6a, + 0x1d78, 0x1d78, + 0x1d9b, 0x1dbf, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2c7c, 0x2c7d, + 0x2d6f, 0x2d6f, + 0x2e2f, 0x2e2f, + 0x3005, 0x3005, + 0x3031, 0x3035, + 0x303b, 0x303b, + 0x309d, 0x309e, + 0x30fc, 0x30fe, + 0xa015, 0xa015, + 0xa4f8, 0xa4fd, + 0xa60c, 0xa60c, + 0xa67f, 0xa67f, + 0xa717, 0xa71f, + 0xa770, 0xa770, + 0xa788, 0xa788, + 0xa7f8, 0xa7f9, + 0xa9cf, 0xa9cf, + 0xaa70, 0xaa70, + 0xaadd, 0xaadd, + 0xaaf3, 0xaaf4, + 0xff70, 0xff70, + 0xff9e, 0xff9f, + 0x16f93, 0x16f9f, +}; /* CR_Lm */ + +/* 'Lo': General Category */ +static const OnigCodePoint CR_Lo[] = { + 371, + 0x00aa, 0x00aa, + 0x00ba, 0x00ba, + 0x01bb, 0x01bb, + 0x01c0, 0x01c3, + 0x0294, 0x0294, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0620, 0x063f, + 0x0641, 0x064a, + 0x066e, 0x066f, + 0x0671, 0x06d3, + 0x06d5, 0x06d5, + 0x06ee, 0x06ef, + 0x06fa, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x0710, + 0x0712, 0x072f, + 0x074d, 0x07a5, + 0x07b1, 0x07b1, + 0x07ca, 0x07ea, + 0x0800, 0x0815, + 0x0840, 0x0858, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x0904, 0x0939, + 0x093d, 0x093d, + 0x0950, 0x0950, + 0x0958, 0x0961, + 0x0972, 0x0977, + 0x0979, 0x097f, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bd, 0x09bd, + 0x09ce, 0x09ce, + 0x09dc, 0x09dd, + 0x09df, 0x09e1, + 0x09f0, 0x09f1, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a72, 0x0a74, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abd, 0x0abd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae1, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3d, 0x0b3d, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b61, + 0x0b71, 0x0b71, + 0x0b83, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bd0, 0x0bd0, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c3d, + 0x0c58, 0x0c59, + 0x0c60, 0x0c61, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbd, 0x0cbd, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce1, + 0x0cf1, 0x0cf2, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d3d, + 0x0d4e, 0x0d4e, + 0x0d60, 0x0d61, + 0x0d7a, 0x0d7f, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0e01, 0x0e30, + 0x0e32, 0x0e33, + 0x0e40, 0x0e45, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb0, + 0x0eb2, 0x0eb3, + 0x0ebd, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f40, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f88, 0x0f8c, + 0x1000, 0x102a, + 0x103f, 0x103f, + 0x1050, 0x1055, + 0x105a, 0x105d, + 0x1061, 0x1061, + 0x1065, 0x1066, + 0x106e, 0x1070, + 0x1075, 0x1081, + 0x108e, 0x108e, + 0x10d0, 0x10fa, + 0x10fd, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x1700, 0x170c, + 0x170e, 0x1711, + 0x1720, 0x1731, + 0x1740, 0x1751, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1780, 0x17b3, + 0x17dc, 0x17dc, + 0x1820, 0x1842, + 0x1844, 0x1877, + 0x1880, 0x18a8, + 0x18aa, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1950, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19c1, 0x19c7, + 0x1a00, 0x1a16, + 0x1a20, 0x1a54, + 0x1b05, 0x1b33, + 0x1b45, 0x1b4b, + 0x1b83, 0x1ba0, + 0x1bae, 0x1baf, + 0x1bba, 0x1be5, + 0x1c00, 0x1c23, + 0x1c4d, 0x1c4f, + 0x1c5a, 0x1c77, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf1, + 0x1cf5, 0x1cf6, + 0x2135, 0x2138, + 0x2d30, 0x2d67, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x3006, 0x3006, + 0x303c, 0x303c, + 0x3041, 0x3096, + 0x309f, 0x309f, + 0x30a1, 0x30fa, + 0x30ff, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa014, + 0xa016, 0xa48c, + 0xa4d0, 0xa4f7, + 0xa500, 0xa60b, + 0xa610, 0xa61f, + 0xa62a, 0xa62b, + 0xa66e, 0xa66e, + 0xa6a0, 0xa6e5, + 0xa7fb, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa822, + 0xa840, 0xa873, + 0xa882, 0xa8b3, + 0xa8f2, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa90a, 0xa925, + 0xa930, 0xa946, + 0xa960, 0xa97c, + 0xa984, 0xa9b2, + 0xaa00, 0xaa28, + 0xaa40, 0xaa42, + 0xaa44, 0xaa4b, + 0xaa60, 0xaa6f, + 0xaa71, 0xaa76, + 0xaa7a, 0xaa7a, + 0xaa80, 0xaaaf, + 0xaab1, 0xaab1, + 0xaab5, 0xaab6, + 0xaab9, 0xaabd, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaadc, + 0xaae0, 0xaaea, + 0xaaf2, 0xaaf2, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabe2, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb1d, 0xfb1d, + 0xfb1f, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfb, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff66, 0xff6f, + 0xff71, 0xff9d, + 0xffa0, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x10340, + 0x10342, 0x10349, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x10450, 0x1049d, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a00, + 0x10a10, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11003, 0x11037, + 0x11083, 0x110af, + 0x110d0, 0x110e8, + 0x11103, 0x11126, + 0x11183, 0x111b2, + 0x111c1, 0x111c4, + 0x11680, 0x116aa, + 0x12000, 0x1236e, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f50, + 0x1b000, 0x1b001, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_Lo */ + +/* 'Lt': General Category */ +static const OnigCodePoint CR_Lt[] = { + 10, + 0x01c5, 0x01c5, + 0x01c8, 0x01c8, + 0x01cb, 0x01cb, + 0x01f2, 0x01f2, + 0x1f88, 0x1f8f, + 0x1f98, 0x1f9f, + 0x1fa8, 0x1faf, + 0x1fbc, 0x1fbc, + 0x1fcc, 0x1fcc, + 0x1ffc, 0x1ffc, +}; /* CR_Lt */ + +/* 'Lu': General Category */ +static const OnigCodePoint CR_Lu[] = { + 608, + 0x0041, 0x005a, + 0x00c0, 0x00d6, + 0x00d8, 0x00de, + 0x0100, 0x0100, + 0x0102, 0x0102, + 0x0104, 0x0104, + 0x0106, 0x0106, + 0x0108, 0x0108, + 0x010a, 0x010a, + 0x010c, 0x010c, + 0x010e, 0x010e, + 0x0110, 0x0110, + 0x0112, 0x0112, + 0x0114, 0x0114, + 0x0116, 0x0116, + 0x0118, 0x0118, + 0x011a, 0x011a, + 0x011c, 0x011c, + 0x011e, 0x011e, + 0x0120, 0x0120, + 0x0122, 0x0122, + 0x0124, 0x0124, + 0x0126, 0x0126, + 0x0128, 0x0128, + 0x012a, 0x012a, + 0x012c, 0x012c, + 0x012e, 0x012e, + 0x0130, 0x0130, + 0x0132, 0x0132, + 0x0134, 0x0134, + 0x0136, 0x0136, + 0x0139, 0x0139, + 0x013b, 0x013b, + 0x013d, 0x013d, + 0x013f, 0x013f, + 0x0141, 0x0141, + 0x0143, 0x0143, + 0x0145, 0x0145, + 0x0147, 0x0147, + 0x014a, 0x014a, + 0x014c, 0x014c, + 0x014e, 0x014e, + 0x0150, 0x0150, + 0x0152, 0x0152, + 0x0154, 0x0154, + 0x0156, 0x0156, + 0x0158, 0x0158, + 0x015a, 0x015a, + 0x015c, 0x015c, + 0x015e, 0x015e, + 0x0160, 0x0160, + 0x0162, 0x0162, + 0x0164, 0x0164, + 0x0166, 0x0166, + 0x0168, 0x0168, + 0x016a, 0x016a, + 0x016c, 0x016c, + 0x016e, 0x016e, + 0x0170, 0x0170, + 0x0172, 0x0172, + 0x0174, 0x0174, + 0x0176, 0x0176, + 0x0178, 0x0179, + 0x017b, 0x017b, + 0x017d, 0x017d, + 0x0181, 0x0182, + 0x0184, 0x0184, + 0x0186, 0x0187, + 0x0189, 0x018b, + 0x018e, 0x0191, + 0x0193, 0x0194, + 0x0196, 0x0198, + 0x019c, 0x019d, + 0x019f, 0x01a0, + 0x01a2, 0x01a2, + 0x01a4, 0x01a4, + 0x01a6, 0x01a7, + 0x01a9, 0x01a9, + 0x01ac, 0x01ac, + 0x01ae, 0x01af, + 0x01b1, 0x01b3, + 0x01b5, 0x01b5, + 0x01b7, 0x01b8, + 0x01bc, 0x01bc, + 0x01c4, 0x01c4, + 0x01c7, 0x01c7, + 0x01ca, 0x01ca, + 0x01cd, 0x01cd, + 0x01cf, 0x01cf, + 0x01d1, 0x01d1, + 0x01d3, 0x01d3, + 0x01d5, 0x01d5, + 0x01d7, 0x01d7, + 0x01d9, 0x01d9, + 0x01db, 0x01db, + 0x01de, 0x01de, + 0x01e0, 0x01e0, + 0x01e2, 0x01e2, + 0x01e4, 0x01e4, + 0x01e6, 0x01e6, + 0x01e8, 0x01e8, + 0x01ea, 0x01ea, + 0x01ec, 0x01ec, + 0x01ee, 0x01ee, + 0x01f1, 0x01f1, + 0x01f4, 0x01f4, + 0x01f6, 0x01f8, + 0x01fa, 0x01fa, + 0x01fc, 0x01fc, + 0x01fe, 0x01fe, + 0x0200, 0x0200, + 0x0202, 0x0202, + 0x0204, 0x0204, + 0x0206, 0x0206, + 0x0208, 0x0208, + 0x020a, 0x020a, + 0x020c, 0x020c, + 0x020e, 0x020e, + 0x0210, 0x0210, + 0x0212, 0x0212, + 0x0214, 0x0214, + 0x0216, 0x0216, + 0x0218, 0x0218, + 0x021a, 0x021a, + 0x021c, 0x021c, + 0x021e, 0x021e, + 0x0220, 0x0220, + 0x0222, 0x0222, + 0x0224, 0x0224, + 0x0226, 0x0226, + 0x0228, 0x0228, + 0x022a, 0x022a, + 0x022c, 0x022c, + 0x022e, 0x022e, + 0x0230, 0x0230, + 0x0232, 0x0232, + 0x023a, 0x023b, + 0x023d, 0x023e, + 0x0241, 0x0241, + 0x0243, 0x0246, + 0x0248, 0x0248, + 0x024a, 0x024a, + 0x024c, 0x024c, + 0x024e, 0x024e, + 0x0370, 0x0370, + 0x0372, 0x0372, + 0x0376, 0x0376, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x038f, + 0x0391, 0x03a1, + 0x03a3, 0x03ab, + 0x03cf, 0x03cf, + 0x03d2, 0x03d4, + 0x03d8, 0x03d8, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03e2, + 0x03e4, 0x03e4, + 0x03e6, 0x03e6, + 0x03e8, 0x03e8, + 0x03ea, 0x03ea, + 0x03ec, 0x03ec, + 0x03ee, 0x03ee, + 0x03f4, 0x03f4, + 0x03f7, 0x03f7, + 0x03f9, 0x03fa, + 0x03fd, 0x042f, + 0x0460, 0x0460, + 0x0462, 0x0462, + 0x0464, 0x0464, + 0x0466, 0x0466, + 0x0468, 0x0468, + 0x046a, 0x046a, + 0x046c, 0x046c, + 0x046e, 0x046e, + 0x0470, 0x0470, + 0x0472, 0x0472, + 0x0474, 0x0474, + 0x0476, 0x0476, + 0x0478, 0x0478, + 0x047a, 0x047a, + 0x047c, 0x047c, + 0x047e, 0x047e, + 0x0480, 0x0480, + 0x048a, 0x048a, + 0x048c, 0x048c, + 0x048e, 0x048e, + 0x0490, 0x0490, + 0x0492, 0x0492, + 0x0494, 0x0494, + 0x0496, 0x0496, + 0x0498, 0x0498, + 0x049a, 0x049a, + 0x049c, 0x049c, + 0x049e, 0x049e, + 0x04a0, 0x04a0, + 0x04a2, 0x04a2, + 0x04a4, 0x04a4, + 0x04a6, 0x04a6, + 0x04a8, 0x04a8, + 0x04aa, 0x04aa, + 0x04ac, 0x04ac, + 0x04ae, 0x04ae, + 0x04b0, 0x04b0, + 0x04b2, 0x04b2, + 0x04b4, 0x04b4, + 0x04b6, 0x04b6, + 0x04b8, 0x04b8, + 0x04ba, 0x04ba, + 0x04bc, 0x04bc, + 0x04be, 0x04be, + 0x04c0, 0x04c1, + 0x04c3, 0x04c3, + 0x04c5, 0x04c5, + 0x04c7, 0x04c7, + 0x04c9, 0x04c9, + 0x04cb, 0x04cb, + 0x04cd, 0x04cd, + 0x04d0, 0x04d0, + 0x04d2, 0x04d2, + 0x04d4, 0x04d4, + 0x04d6, 0x04d6, + 0x04d8, 0x04d8, + 0x04da, 0x04da, + 0x04dc, 0x04dc, + 0x04de, 0x04de, + 0x04e0, 0x04e0, + 0x04e2, 0x04e2, + 0x04e4, 0x04e4, + 0x04e6, 0x04e6, + 0x04e8, 0x04e8, + 0x04ea, 0x04ea, + 0x04ec, 0x04ec, + 0x04ee, 0x04ee, + 0x04f0, 0x04f0, + 0x04f2, 0x04f2, + 0x04f4, 0x04f4, + 0x04f6, 0x04f6, + 0x04f8, 0x04f8, + 0x04fa, 0x04fa, + 0x04fc, 0x04fc, + 0x04fe, 0x04fe, + 0x0500, 0x0500, + 0x0502, 0x0502, + 0x0504, 0x0504, + 0x0506, 0x0506, + 0x0508, 0x0508, + 0x050a, 0x050a, + 0x050c, 0x050c, + 0x050e, 0x050e, + 0x0510, 0x0510, + 0x0512, 0x0512, + 0x0514, 0x0514, + 0x0516, 0x0516, + 0x0518, 0x0518, + 0x051a, 0x051a, + 0x051c, 0x051c, + 0x051e, 0x051e, + 0x0520, 0x0520, + 0x0522, 0x0522, + 0x0524, 0x0524, + 0x0526, 0x0526, + 0x0531, 0x0556, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1e00, 0x1e00, + 0x1e02, 0x1e02, + 0x1e04, 0x1e04, + 0x1e06, 0x1e06, + 0x1e08, 0x1e08, + 0x1e0a, 0x1e0a, + 0x1e0c, 0x1e0c, + 0x1e0e, 0x1e0e, + 0x1e10, 0x1e10, + 0x1e12, 0x1e12, + 0x1e14, 0x1e14, + 0x1e16, 0x1e16, + 0x1e18, 0x1e18, + 0x1e1a, 0x1e1a, + 0x1e1c, 0x1e1c, + 0x1e1e, 0x1e1e, + 0x1e20, 0x1e20, + 0x1e22, 0x1e22, + 0x1e24, 0x1e24, + 0x1e26, 0x1e26, + 0x1e28, 0x1e28, + 0x1e2a, 0x1e2a, + 0x1e2c, 0x1e2c, + 0x1e2e, 0x1e2e, + 0x1e30, 0x1e30, + 0x1e32, 0x1e32, + 0x1e34, 0x1e34, + 0x1e36, 0x1e36, + 0x1e38, 0x1e38, + 0x1e3a, 0x1e3a, + 0x1e3c, 0x1e3c, + 0x1e3e, 0x1e3e, + 0x1e40, 0x1e40, + 0x1e42, 0x1e42, + 0x1e44, 0x1e44, + 0x1e46, 0x1e46, + 0x1e48, 0x1e48, + 0x1e4a, 0x1e4a, + 0x1e4c, 0x1e4c, + 0x1e4e, 0x1e4e, + 0x1e50, 0x1e50, + 0x1e52, 0x1e52, + 0x1e54, 0x1e54, + 0x1e56, 0x1e56, + 0x1e58, 0x1e58, + 0x1e5a, 0x1e5a, + 0x1e5c, 0x1e5c, + 0x1e5e, 0x1e5e, + 0x1e60, 0x1e60, + 0x1e62, 0x1e62, + 0x1e64, 0x1e64, + 0x1e66, 0x1e66, + 0x1e68, 0x1e68, + 0x1e6a, 0x1e6a, + 0x1e6c, 0x1e6c, + 0x1e6e, 0x1e6e, + 0x1e70, 0x1e70, + 0x1e72, 0x1e72, + 0x1e74, 0x1e74, + 0x1e76, 0x1e76, + 0x1e78, 0x1e78, + 0x1e7a, 0x1e7a, + 0x1e7c, 0x1e7c, + 0x1e7e, 0x1e7e, + 0x1e80, 0x1e80, + 0x1e82, 0x1e82, + 0x1e84, 0x1e84, + 0x1e86, 0x1e86, + 0x1e88, 0x1e88, + 0x1e8a, 0x1e8a, + 0x1e8c, 0x1e8c, + 0x1e8e, 0x1e8e, + 0x1e90, 0x1e90, + 0x1e92, 0x1e92, + 0x1e94, 0x1e94, + 0x1e9e, 0x1e9e, + 0x1ea0, 0x1ea0, + 0x1ea2, 0x1ea2, + 0x1ea4, 0x1ea4, + 0x1ea6, 0x1ea6, + 0x1ea8, 0x1ea8, + 0x1eaa, 0x1eaa, + 0x1eac, 0x1eac, + 0x1eae, 0x1eae, + 0x1eb0, 0x1eb0, + 0x1eb2, 0x1eb2, + 0x1eb4, 0x1eb4, + 0x1eb6, 0x1eb6, + 0x1eb8, 0x1eb8, + 0x1eba, 0x1eba, + 0x1ebc, 0x1ebc, + 0x1ebe, 0x1ebe, + 0x1ec0, 0x1ec0, + 0x1ec2, 0x1ec2, + 0x1ec4, 0x1ec4, + 0x1ec6, 0x1ec6, + 0x1ec8, 0x1ec8, + 0x1eca, 0x1eca, + 0x1ecc, 0x1ecc, + 0x1ece, 0x1ece, + 0x1ed0, 0x1ed0, + 0x1ed2, 0x1ed2, + 0x1ed4, 0x1ed4, + 0x1ed6, 0x1ed6, + 0x1ed8, 0x1ed8, + 0x1eda, 0x1eda, + 0x1edc, 0x1edc, + 0x1ede, 0x1ede, + 0x1ee0, 0x1ee0, + 0x1ee2, 0x1ee2, + 0x1ee4, 0x1ee4, + 0x1ee6, 0x1ee6, + 0x1ee8, 0x1ee8, + 0x1eea, 0x1eea, + 0x1eec, 0x1eec, + 0x1eee, 0x1eee, + 0x1ef0, 0x1ef0, + 0x1ef2, 0x1ef2, + 0x1ef4, 0x1ef4, + 0x1ef6, 0x1ef6, + 0x1ef8, 0x1ef8, + 0x1efa, 0x1efa, + 0x1efc, 0x1efc, + 0x1efe, 0x1efe, + 0x1f08, 0x1f0f, + 0x1f18, 0x1f1d, + 0x1f28, 0x1f2f, + 0x1f38, 0x1f3f, + 0x1f48, 0x1f4d, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f5f, + 0x1f68, 0x1f6f, + 0x1fb8, 0x1fbb, + 0x1fc8, 0x1fcb, + 0x1fd8, 0x1fdb, + 0x1fe8, 0x1fec, + 0x1ff8, 0x1ffb, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210b, 0x210d, + 0x2110, 0x2112, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x2130, 0x2133, + 0x213e, 0x213f, + 0x2145, 0x2145, + 0x2183, 0x2183, + 0x2c00, 0x2c2e, + 0x2c60, 0x2c60, + 0x2c62, 0x2c64, + 0x2c67, 0x2c67, + 0x2c69, 0x2c69, + 0x2c6b, 0x2c6b, + 0x2c6d, 0x2c70, + 0x2c72, 0x2c72, + 0x2c75, 0x2c75, + 0x2c7e, 0x2c80, + 0x2c82, 0x2c82, + 0x2c84, 0x2c84, + 0x2c86, 0x2c86, + 0x2c88, 0x2c88, + 0x2c8a, 0x2c8a, + 0x2c8c, 0x2c8c, + 0x2c8e, 0x2c8e, + 0x2c90, 0x2c90, + 0x2c92, 0x2c92, + 0x2c94, 0x2c94, + 0x2c96, 0x2c96, + 0x2c98, 0x2c98, + 0x2c9a, 0x2c9a, + 0x2c9c, 0x2c9c, + 0x2c9e, 0x2c9e, + 0x2ca0, 0x2ca0, + 0x2ca2, 0x2ca2, + 0x2ca4, 0x2ca4, + 0x2ca6, 0x2ca6, + 0x2ca8, 0x2ca8, + 0x2caa, 0x2caa, + 0x2cac, 0x2cac, + 0x2cae, 0x2cae, + 0x2cb0, 0x2cb0, + 0x2cb2, 0x2cb2, + 0x2cb4, 0x2cb4, + 0x2cb6, 0x2cb6, + 0x2cb8, 0x2cb8, + 0x2cba, 0x2cba, + 0x2cbc, 0x2cbc, + 0x2cbe, 0x2cbe, + 0x2cc0, 0x2cc0, + 0x2cc2, 0x2cc2, + 0x2cc4, 0x2cc4, + 0x2cc6, 0x2cc6, + 0x2cc8, 0x2cc8, + 0x2cca, 0x2cca, + 0x2ccc, 0x2ccc, + 0x2cce, 0x2cce, + 0x2cd0, 0x2cd0, + 0x2cd2, 0x2cd2, + 0x2cd4, 0x2cd4, + 0x2cd6, 0x2cd6, + 0x2cd8, 0x2cd8, + 0x2cda, 0x2cda, + 0x2cdc, 0x2cdc, + 0x2cde, 0x2cde, + 0x2ce0, 0x2ce0, + 0x2ce2, 0x2ce2, + 0x2ceb, 0x2ceb, + 0x2ced, 0x2ced, + 0x2cf2, 0x2cf2, + 0xa640, 0xa640, + 0xa642, 0xa642, + 0xa644, 0xa644, + 0xa646, 0xa646, + 0xa648, 0xa648, + 0xa64a, 0xa64a, + 0xa64c, 0xa64c, + 0xa64e, 0xa64e, + 0xa650, 0xa650, + 0xa652, 0xa652, + 0xa654, 0xa654, + 0xa656, 0xa656, + 0xa658, 0xa658, + 0xa65a, 0xa65a, + 0xa65c, 0xa65c, + 0xa65e, 0xa65e, + 0xa660, 0xa660, + 0xa662, 0xa662, + 0xa664, 0xa664, + 0xa666, 0xa666, + 0xa668, 0xa668, + 0xa66a, 0xa66a, + 0xa66c, 0xa66c, + 0xa680, 0xa680, + 0xa682, 0xa682, + 0xa684, 0xa684, + 0xa686, 0xa686, + 0xa688, 0xa688, + 0xa68a, 0xa68a, + 0xa68c, 0xa68c, + 0xa68e, 0xa68e, + 0xa690, 0xa690, + 0xa692, 0xa692, + 0xa694, 0xa694, + 0xa696, 0xa696, + 0xa722, 0xa722, + 0xa724, 0xa724, + 0xa726, 0xa726, + 0xa728, 0xa728, + 0xa72a, 0xa72a, + 0xa72c, 0xa72c, + 0xa72e, 0xa72e, + 0xa732, 0xa732, + 0xa734, 0xa734, + 0xa736, 0xa736, + 0xa738, 0xa738, + 0xa73a, 0xa73a, + 0xa73c, 0xa73c, + 0xa73e, 0xa73e, + 0xa740, 0xa740, + 0xa742, 0xa742, + 0xa744, 0xa744, + 0xa746, 0xa746, + 0xa748, 0xa748, + 0xa74a, 0xa74a, + 0xa74c, 0xa74c, + 0xa74e, 0xa74e, + 0xa750, 0xa750, + 0xa752, 0xa752, + 0xa754, 0xa754, + 0xa756, 0xa756, + 0xa758, 0xa758, + 0xa75a, 0xa75a, + 0xa75c, 0xa75c, + 0xa75e, 0xa75e, + 0xa760, 0xa760, + 0xa762, 0xa762, + 0xa764, 0xa764, + 0xa766, 0xa766, + 0xa768, 0xa768, + 0xa76a, 0xa76a, + 0xa76c, 0xa76c, + 0xa76e, 0xa76e, + 0xa779, 0xa779, + 0xa77b, 0xa77b, + 0xa77d, 0xa77e, + 0xa780, 0xa780, + 0xa782, 0xa782, + 0xa784, 0xa784, + 0xa786, 0xa786, + 0xa78b, 0xa78b, + 0xa78d, 0xa78d, + 0xa790, 0xa790, + 0xa792, 0xa792, + 0xa7a0, 0xa7a0, + 0xa7a2, 0xa7a2, + 0xa7a4, 0xa7a4, + 0xa7a6, 0xa7a6, + 0xa7a8, 0xa7a8, + 0xa7aa, 0xa7aa, + 0xff21, 0xff3a, + 0x10400, 0x10427, + 0x1d400, 0x1d419, + 0x1d434, 0x1d44d, + 0x1d468, 0x1d481, + 0x1d49c, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b5, + 0x1d4d0, 0x1d4e9, + 0x1d504, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d538, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d56c, 0x1d585, + 0x1d5a0, 0x1d5b9, + 0x1d5d4, 0x1d5ed, + 0x1d608, 0x1d621, + 0x1d63c, 0x1d655, + 0x1d670, 0x1d689, + 0x1d6a8, 0x1d6c0, + 0x1d6e2, 0x1d6fa, + 0x1d71c, 0x1d734, + 0x1d756, 0x1d76e, + 0x1d790, 0x1d7a8, + 0x1d7ca, 0x1d7ca, +}; /* CR_Lu */ + +/* 'M': Major Category */ +static const OnigCodePoint CR_M[] = { + 204, + 0x0300, 0x036f, + 0x0483, 0x0489, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x0610, 0x061a, + 0x064b, 0x065f, + 0x0670, 0x0670, + 0x06d6, 0x06dc, + 0x06df, 0x06e4, + 0x06e7, 0x06e8, + 0x06ea, 0x06ed, + 0x0711, 0x0711, + 0x0730, 0x074a, + 0x07a6, 0x07b0, + 0x07eb, 0x07f3, + 0x0816, 0x0819, + 0x081b, 0x0823, + 0x0825, 0x0827, + 0x0829, 0x082d, + 0x0859, 0x085b, + 0x08e4, 0x08fe, + 0x0900, 0x0903, + 0x093a, 0x093c, + 0x093e, 0x094f, + 0x0951, 0x0957, + 0x0962, 0x0963, + 0x0981, 0x0983, + 0x09bc, 0x09bc, + 0x09be, 0x09c4, + 0x09c7, 0x09c8, + 0x09cb, 0x09cd, + 0x09d7, 0x09d7, + 0x09e2, 0x09e3, + 0x0a01, 0x0a03, + 0x0a3c, 0x0a3c, + 0x0a3e, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a70, 0x0a71, + 0x0a75, 0x0a75, + 0x0a81, 0x0a83, + 0x0abc, 0x0abc, + 0x0abe, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acd, + 0x0ae2, 0x0ae3, + 0x0b01, 0x0b03, + 0x0b3c, 0x0b3c, + 0x0b3e, 0x0b44, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4d, + 0x0b56, 0x0b57, + 0x0b62, 0x0b63, + 0x0b82, 0x0b82, + 0x0bbe, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcd, + 0x0bd7, 0x0bd7, + 0x0c01, 0x0c03, + 0x0c3e, 0x0c44, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c62, 0x0c63, + 0x0c82, 0x0c83, + 0x0cbc, 0x0cbc, + 0x0cbe, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccd, + 0x0cd5, 0x0cd6, + 0x0ce2, 0x0ce3, + 0x0d02, 0x0d03, + 0x0d3e, 0x0d44, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4d, + 0x0d57, 0x0d57, + 0x0d62, 0x0d63, + 0x0d82, 0x0d83, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df3, + 0x0e31, 0x0e31, + 0x0e34, 0x0e3a, + 0x0e47, 0x0e4e, + 0x0eb1, 0x0eb1, + 0x0eb4, 0x0eb9, + 0x0ebb, 0x0ebc, + 0x0ec8, 0x0ecd, + 0x0f18, 0x0f19, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f3e, 0x0f3f, + 0x0f71, 0x0f84, + 0x0f86, 0x0f87, + 0x0f8d, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fc6, 0x0fc6, + 0x102b, 0x103e, + 0x1056, 0x1059, + 0x105e, 0x1060, + 0x1062, 0x1064, + 0x1067, 0x106d, + 0x1071, 0x1074, + 0x1082, 0x108d, + 0x108f, 0x108f, + 0x109a, 0x109d, + 0x135d, 0x135f, + 0x1712, 0x1714, + 0x1732, 0x1734, + 0x1752, 0x1753, + 0x1772, 0x1773, + 0x17b4, 0x17d3, + 0x17dd, 0x17dd, + 0x180b, 0x180d, + 0x18a9, 0x18a9, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x19b0, 0x19c0, + 0x19c8, 0x19c9, + 0x1a17, 0x1a1b, + 0x1a55, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a7f, + 0x1b00, 0x1b04, + 0x1b34, 0x1b44, + 0x1b6b, 0x1b73, + 0x1b80, 0x1b82, + 0x1ba1, 0x1bad, + 0x1be6, 0x1bf3, + 0x1c24, 0x1c37, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1ce8, + 0x1ced, 0x1ced, + 0x1cf2, 0x1cf4, + 0x1dc0, 0x1de6, + 0x1dfc, 0x1dff, + 0x20d0, 0x20f0, + 0x2cef, 0x2cf1, + 0x2d7f, 0x2d7f, + 0x2de0, 0x2dff, + 0x302a, 0x302f, + 0x3099, 0x309a, + 0xa66f, 0xa672, + 0xa674, 0xa67d, + 0xa69f, 0xa69f, + 0xa6f0, 0xa6f1, + 0xa802, 0xa802, + 0xa806, 0xa806, + 0xa80b, 0xa80b, + 0xa823, 0xa827, + 0xa880, 0xa881, + 0xa8b4, 0xa8c4, + 0xa8e0, 0xa8f1, + 0xa926, 0xa92d, + 0xa947, 0xa953, + 0xa980, 0xa983, + 0xa9b3, 0xa9c0, + 0xaa29, 0xaa36, + 0xaa43, 0xaa43, + 0xaa4c, 0xaa4d, + 0xaa7b, 0xaa7b, + 0xaab0, 0xaab0, + 0xaab2, 0xaab4, + 0xaab7, 0xaab8, + 0xaabe, 0xaabf, + 0xaac1, 0xaac1, + 0xaaeb, 0xaaef, + 0xaaf5, 0xaaf6, + 0xabe3, 0xabea, + 0xabec, 0xabed, + 0xfb1e, 0xfb1e, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe26, + 0x101fd, 0x101fd, + 0x10a01, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a0f, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x11000, 0x11002, + 0x11038, 0x11046, + 0x11080, 0x11082, + 0x110b0, 0x110ba, + 0x11100, 0x11102, + 0x11127, 0x11134, + 0x11180, 0x11182, + 0x111b3, 0x111c0, + 0x116ab, 0x116b7, + 0x16f51, 0x16f7e, + 0x16f8f, 0x16f92, + 0x1d165, 0x1d169, + 0x1d16d, 0x1d172, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0xe0100, 0xe01ef, +}; /* CR_M */ + +/* 'Mc': General Category */ +static const OnigCodePoint CR_Mc[] = { + 126, + 0x0903, 0x0903, + 0x093b, 0x093b, + 0x093e, 0x0940, + 0x0949, 0x094c, + 0x094e, 0x094f, + 0x0982, 0x0983, + 0x09be, 0x09c0, + 0x09c7, 0x09c8, + 0x09cb, 0x09cc, + 0x09d7, 0x09d7, + 0x0a03, 0x0a03, + 0x0a3e, 0x0a40, + 0x0a83, 0x0a83, + 0x0abe, 0x0ac0, + 0x0ac9, 0x0ac9, + 0x0acb, 0x0acc, + 0x0b02, 0x0b03, + 0x0b3e, 0x0b3e, + 0x0b40, 0x0b40, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4c, + 0x0b57, 0x0b57, + 0x0bbe, 0x0bbf, + 0x0bc1, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcc, + 0x0bd7, 0x0bd7, + 0x0c01, 0x0c03, + 0x0c41, 0x0c44, + 0x0c82, 0x0c83, + 0x0cbe, 0x0cbe, + 0x0cc0, 0x0cc4, + 0x0cc7, 0x0cc8, + 0x0cca, 0x0ccb, + 0x0cd5, 0x0cd6, + 0x0d02, 0x0d03, + 0x0d3e, 0x0d40, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4c, + 0x0d57, 0x0d57, + 0x0d82, 0x0d83, + 0x0dcf, 0x0dd1, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df3, + 0x0f3e, 0x0f3f, + 0x0f7f, 0x0f7f, + 0x102b, 0x102c, + 0x1031, 0x1031, + 0x1038, 0x1038, + 0x103b, 0x103c, + 0x1056, 0x1057, + 0x1062, 0x1064, + 0x1067, 0x106d, + 0x1083, 0x1084, + 0x1087, 0x108c, + 0x108f, 0x108f, + 0x109a, 0x109c, + 0x17b6, 0x17b6, + 0x17be, 0x17c5, + 0x17c7, 0x17c8, + 0x1923, 0x1926, + 0x1929, 0x192b, + 0x1930, 0x1931, + 0x1933, 0x1938, + 0x19b0, 0x19c0, + 0x19c8, 0x19c9, + 0x1a19, 0x1a1b, + 0x1a55, 0x1a55, + 0x1a57, 0x1a57, + 0x1a61, 0x1a61, + 0x1a63, 0x1a64, + 0x1a6d, 0x1a72, + 0x1b04, 0x1b04, + 0x1b35, 0x1b35, + 0x1b3b, 0x1b3b, + 0x1b3d, 0x1b41, + 0x1b43, 0x1b44, + 0x1b82, 0x1b82, + 0x1ba1, 0x1ba1, + 0x1ba6, 0x1ba7, + 0x1baa, 0x1baa, + 0x1bac, 0x1bad, + 0x1be7, 0x1be7, + 0x1bea, 0x1bec, + 0x1bee, 0x1bee, + 0x1bf2, 0x1bf3, + 0x1c24, 0x1c2b, + 0x1c34, 0x1c35, + 0x1ce1, 0x1ce1, + 0x1cf2, 0x1cf3, + 0x302e, 0x302f, + 0xa823, 0xa824, + 0xa827, 0xa827, + 0xa880, 0xa881, + 0xa8b4, 0xa8c3, + 0xa952, 0xa953, + 0xa983, 0xa983, + 0xa9b4, 0xa9b5, + 0xa9ba, 0xa9bb, + 0xa9bd, 0xa9c0, + 0xaa2f, 0xaa30, + 0xaa33, 0xaa34, + 0xaa4d, 0xaa4d, + 0xaa7b, 0xaa7b, + 0xaaeb, 0xaaeb, + 0xaaee, 0xaaef, + 0xaaf5, 0xaaf5, + 0xabe3, 0xabe4, + 0xabe6, 0xabe7, + 0xabe9, 0xabea, + 0xabec, 0xabec, + 0x11000, 0x11000, + 0x11002, 0x11002, + 0x11082, 0x11082, + 0x110b0, 0x110b2, + 0x110b7, 0x110b8, + 0x1112c, 0x1112c, + 0x11182, 0x11182, + 0x111b3, 0x111b5, + 0x111bf, 0x111c0, + 0x116ac, 0x116ac, + 0x116ae, 0x116af, + 0x116b6, 0x116b6, + 0x16f51, 0x16f7e, + 0x1d165, 0x1d166, + 0x1d16d, 0x1d172, +}; /* CR_Mc */ + +/* 'Me': General Category */ +static const OnigCodePoint CR_Me[] = { + 4, + 0x0488, 0x0489, + 0x20dd, 0x20e0, + 0x20e2, 0x20e4, + 0xa670, 0xa672, +}; /* CR_Me */ + +/* 'Mn': General Category */ +static const OnigCodePoint CR_Mn[] = { + 220, + 0x0300, 0x036f, + 0x0483, 0x0487, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x0610, 0x061a, + 0x064b, 0x065f, + 0x0670, 0x0670, + 0x06d6, 0x06dc, + 0x06df, 0x06e4, + 0x06e7, 0x06e8, + 0x06ea, 0x06ed, + 0x0711, 0x0711, + 0x0730, 0x074a, + 0x07a6, 0x07b0, + 0x07eb, 0x07f3, + 0x0816, 0x0819, + 0x081b, 0x0823, + 0x0825, 0x0827, + 0x0829, 0x082d, + 0x0859, 0x085b, + 0x08e4, 0x08fe, + 0x0900, 0x0902, + 0x093a, 0x093a, + 0x093c, 0x093c, + 0x0941, 0x0948, + 0x094d, 0x094d, + 0x0951, 0x0957, + 0x0962, 0x0963, + 0x0981, 0x0981, + 0x09bc, 0x09bc, + 0x09c1, 0x09c4, + 0x09cd, 0x09cd, + 0x09e2, 0x09e3, + 0x0a01, 0x0a02, + 0x0a3c, 0x0a3c, + 0x0a41, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a70, 0x0a71, + 0x0a75, 0x0a75, + 0x0a81, 0x0a82, + 0x0abc, 0x0abc, + 0x0ac1, 0x0ac5, + 0x0ac7, 0x0ac8, + 0x0acd, 0x0acd, + 0x0ae2, 0x0ae3, + 0x0b01, 0x0b01, + 0x0b3c, 0x0b3c, + 0x0b3f, 0x0b3f, + 0x0b41, 0x0b44, + 0x0b4d, 0x0b4d, + 0x0b56, 0x0b56, + 0x0b62, 0x0b63, + 0x0b82, 0x0b82, + 0x0bc0, 0x0bc0, + 0x0bcd, 0x0bcd, + 0x0c3e, 0x0c40, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c62, 0x0c63, + 0x0cbc, 0x0cbc, + 0x0cbf, 0x0cbf, + 0x0cc6, 0x0cc6, + 0x0ccc, 0x0ccd, + 0x0ce2, 0x0ce3, + 0x0d41, 0x0d44, + 0x0d4d, 0x0d4d, + 0x0d62, 0x0d63, + 0x0dca, 0x0dca, + 0x0dd2, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0e31, 0x0e31, + 0x0e34, 0x0e3a, + 0x0e47, 0x0e4e, + 0x0eb1, 0x0eb1, + 0x0eb4, 0x0eb9, + 0x0ebb, 0x0ebc, + 0x0ec8, 0x0ecd, + 0x0f18, 0x0f19, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f71, 0x0f7e, + 0x0f80, 0x0f84, + 0x0f86, 0x0f87, + 0x0f8d, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fc6, 0x0fc6, + 0x102d, 0x1030, + 0x1032, 0x1037, + 0x1039, 0x103a, + 0x103d, 0x103e, + 0x1058, 0x1059, + 0x105e, 0x1060, + 0x1071, 0x1074, + 0x1082, 0x1082, + 0x1085, 0x1086, + 0x108d, 0x108d, + 0x109d, 0x109d, + 0x135d, 0x135f, + 0x1712, 0x1714, + 0x1732, 0x1734, + 0x1752, 0x1753, + 0x1772, 0x1773, + 0x17b4, 0x17b5, + 0x17b7, 0x17bd, + 0x17c6, 0x17c6, + 0x17c9, 0x17d3, + 0x17dd, 0x17dd, + 0x180b, 0x180d, + 0x18a9, 0x18a9, + 0x1920, 0x1922, + 0x1927, 0x1928, + 0x1932, 0x1932, + 0x1939, 0x193b, + 0x1a17, 0x1a18, + 0x1a56, 0x1a56, + 0x1a58, 0x1a5e, + 0x1a60, 0x1a60, + 0x1a62, 0x1a62, + 0x1a65, 0x1a6c, + 0x1a73, 0x1a7c, + 0x1a7f, 0x1a7f, + 0x1b00, 0x1b03, + 0x1b34, 0x1b34, + 0x1b36, 0x1b3a, + 0x1b3c, 0x1b3c, + 0x1b42, 0x1b42, + 0x1b6b, 0x1b73, + 0x1b80, 0x1b81, + 0x1ba2, 0x1ba5, + 0x1ba8, 0x1ba9, + 0x1bab, 0x1bab, + 0x1be6, 0x1be6, + 0x1be8, 0x1be9, + 0x1bed, 0x1bed, + 0x1bef, 0x1bf1, + 0x1c2c, 0x1c33, + 0x1c36, 0x1c37, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1ce0, + 0x1ce2, 0x1ce8, + 0x1ced, 0x1ced, + 0x1cf4, 0x1cf4, + 0x1dc0, 0x1de6, + 0x1dfc, 0x1dff, + 0x20d0, 0x20dc, + 0x20e1, 0x20e1, + 0x20e5, 0x20f0, + 0x2cef, 0x2cf1, + 0x2d7f, 0x2d7f, + 0x2de0, 0x2dff, + 0x302a, 0x302d, + 0x3099, 0x309a, + 0xa66f, 0xa66f, + 0xa674, 0xa67d, + 0xa69f, 0xa69f, + 0xa6f0, 0xa6f1, + 0xa802, 0xa802, + 0xa806, 0xa806, + 0xa80b, 0xa80b, + 0xa825, 0xa826, + 0xa8c4, 0xa8c4, + 0xa8e0, 0xa8f1, + 0xa926, 0xa92d, + 0xa947, 0xa951, + 0xa980, 0xa982, + 0xa9b3, 0xa9b3, + 0xa9b6, 0xa9b9, + 0xa9bc, 0xa9bc, + 0xaa29, 0xaa2e, + 0xaa31, 0xaa32, + 0xaa35, 0xaa36, + 0xaa43, 0xaa43, + 0xaa4c, 0xaa4c, + 0xaab0, 0xaab0, + 0xaab2, 0xaab4, + 0xaab7, 0xaab8, + 0xaabe, 0xaabf, + 0xaac1, 0xaac1, + 0xaaec, 0xaaed, + 0xaaf6, 0xaaf6, + 0xabe5, 0xabe5, + 0xabe8, 0xabe8, + 0xabed, 0xabed, + 0xfb1e, 0xfb1e, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe26, + 0x101fd, 0x101fd, + 0x10a01, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a0f, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x11001, 0x11001, + 0x11038, 0x11046, + 0x11080, 0x11081, + 0x110b3, 0x110b6, + 0x110b9, 0x110ba, + 0x11100, 0x11102, + 0x11127, 0x1112b, + 0x1112d, 0x11134, + 0x11180, 0x11181, + 0x111b6, 0x111be, + 0x116ab, 0x116ab, + 0x116ad, 0x116ad, + 0x116b0, 0x116b5, + 0x116b7, 0x116b7, + 0x16f8f, 0x16f92, + 0x1d167, 0x1d169, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0xe0100, 0xe01ef, +}; /* CR_Mn */ + +/* 'N': Major Category */ +static const OnigCodePoint CR_N[] = { + 88, + 0x0030, 0x0039, + 0x00b2, 0x00b3, + 0x00b9, 0x00b9, + 0x00bc, 0x00be, + 0x0660, 0x0669, + 0x06f0, 0x06f9, + 0x07c0, 0x07c9, + 0x0966, 0x096f, + 0x09e6, 0x09ef, + 0x09f4, 0x09f9, + 0x0a66, 0x0a6f, + 0x0ae6, 0x0aef, + 0x0b66, 0x0b6f, + 0x0b72, 0x0b77, + 0x0be6, 0x0bf2, + 0x0c66, 0x0c6f, + 0x0c78, 0x0c7e, + 0x0ce6, 0x0cef, + 0x0d66, 0x0d75, + 0x0e50, 0x0e59, + 0x0ed0, 0x0ed9, + 0x0f20, 0x0f33, + 0x1040, 0x1049, + 0x1090, 0x1099, + 0x1369, 0x137c, + 0x16ee, 0x16f0, + 0x17e0, 0x17e9, + 0x17f0, 0x17f9, + 0x1810, 0x1819, + 0x1946, 0x194f, + 0x19d0, 0x19da, + 0x1a80, 0x1a89, + 0x1a90, 0x1a99, + 0x1b50, 0x1b59, + 0x1bb0, 0x1bb9, + 0x1c40, 0x1c49, + 0x1c50, 0x1c59, + 0x2070, 0x2070, + 0x2074, 0x2079, + 0x2080, 0x2089, + 0x2150, 0x2182, + 0x2185, 0x2189, + 0x2460, 0x249b, + 0x24ea, 0x24ff, + 0x2776, 0x2793, + 0x2cfd, 0x2cfd, + 0x3007, 0x3007, + 0x3021, 0x3029, + 0x3038, 0x303a, + 0x3192, 0x3195, + 0x3220, 0x3229, + 0x3248, 0x324f, + 0x3251, 0x325f, + 0x3280, 0x3289, + 0x32b1, 0x32bf, + 0xa620, 0xa629, + 0xa6e6, 0xa6ef, + 0xa830, 0xa835, + 0xa8d0, 0xa8d9, + 0xa900, 0xa909, + 0xa9d0, 0xa9d9, + 0xaa50, 0xaa59, + 0xabf0, 0xabf9, + 0xff10, 0xff19, + 0x10107, 0x10133, + 0x10140, 0x10178, + 0x1018a, 0x1018a, + 0x10320, 0x10323, + 0x10341, 0x10341, + 0x1034a, 0x1034a, + 0x103d1, 0x103d5, + 0x104a0, 0x104a9, + 0x10858, 0x1085f, + 0x10916, 0x1091b, + 0x10a40, 0x10a47, + 0x10a7d, 0x10a7e, + 0x10b58, 0x10b5f, + 0x10b78, 0x10b7f, + 0x10e60, 0x10e7e, + 0x11052, 0x1106f, + 0x110f0, 0x110f9, + 0x11136, 0x1113f, + 0x111d0, 0x111d9, + 0x116c0, 0x116c9, + 0x12400, 0x12462, + 0x1d360, 0x1d371, + 0x1d7ce, 0x1d7ff, + 0x1f100, 0x1f10a, +}; /* CR_N */ + +/* 'Nd': General Category */ +#define CR_Nd CR_Digit + +/* 'Nl': General Category */ +static const OnigCodePoint CR_Nl[] = { + 12, + 0x16ee, 0x16f0, + 0x2160, 0x2182, + 0x2185, 0x2188, + 0x3007, 0x3007, + 0x3021, 0x3029, + 0x3038, 0x303a, + 0xa6e6, 0xa6ef, + 0x10140, 0x10174, + 0x10341, 0x10341, + 0x1034a, 0x1034a, + 0x103d1, 0x103d5, + 0x12400, 0x12462, +}; /* CR_Nl */ + +/* 'No': General Category */ +static const OnigCodePoint CR_No[] = { + 42, + 0x00b2, 0x00b3, + 0x00b9, 0x00b9, + 0x00bc, 0x00be, + 0x09f4, 0x09f9, + 0x0b72, 0x0b77, + 0x0bf0, 0x0bf2, + 0x0c78, 0x0c7e, + 0x0d70, 0x0d75, + 0x0f2a, 0x0f33, + 0x1369, 0x137c, + 0x17f0, 0x17f9, + 0x19da, 0x19da, + 0x2070, 0x2070, + 0x2074, 0x2079, + 0x2080, 0x2089, + 0x2150, 0x215f, + 0x2189, 0x2189, + 0x2460, 0x249b, + 0x24ea, 0x24ff, + 0x2776, 0x2793, + 0x2cfd, 0x2cfd, + 0x3192, 0x3195, + 0x3220, 0x3229, + 0x3248, 0x324f, + 0x3251, 0x325f, + 0x3280, 0x3289, + 0x32b1, 0x32bf, + 0xa830, 0xa835, + 0x10107, 0x10133, + 0x10175, 0x10178, + 0x1018a, 0x1018a, + 0x10320, 0x10323, + 0x10858, 0x1085f, + 0x10916, 0x1091b, + 0x10a40, 0x10a47, + 0x10a7d, 0x10a7e, + 0x10b58, 0x10b5f, + 0x10b78, 0x10b7f, + 0x10e60, 0x10e7e, + 0x11052, 0x11065, + 0x1d360, 0x1d371, + 0x1f100, 0x1f10a, +}; /* CR_No */ + +/* 'P': Major Category */ +#define CR_P CR_Punct + +/* 'Pc': General Category */ +static const OnigCodePoint CR_Pc[] = { + 6, + 0x005f, 0x005f, + 0x203f, 0x2040, + 0x2054, 0x2054, + 0xfe33, 0xfe34, + 0xfe4d, 0xfe4f, + 0xff3f, 0xff3f, +}; /* CR_Pc */ + +/* 'Pd': General Category */ +static const OnigCodePoint CR_Pd[] = { + 16, + 0x002d, 0x002d, + 0x058a, 0x058a, + 0x05be, 0x05be, + 0x1400, 0x1400, + 0x1806, 0x1806, + 0x2010, 0x2015, + 0x2e17, 0x2e17, + 0x2e1a, 0x2e1a, + 0x2e3a, 0x2e3b, + 0x301c, 0x301c, + 0x3030, 0x3030, + 0x30a0, 0x30a0, + 0xfe31, 0xfe32, + 0xfe58, 0xfe58, + 0xfe63, 0xfe63, + 0xff0d, 0xff0d, +}; /* CR_Pd */ + +/* 'Pe': General Category */ +static const OnigCodePoint CR_Pe[] = { + 70, + 0x0029, 0x0029, + 0x005d, 0x005d, + 0x007d, 0x007d, + 0x0f3b, 0x0f3b, + 0x0f3d, 0x0f3d, + 0x169c, 0x169c, + 0x2046, 0x2046, + 0x207e, 0x207e, + 0x208e, 0x208e, + 0x232a, 0x232a, + 0x2769, 0x2769, + 0x276b, 0x276b, + 0x276d, 0x276d, + 0x276f, 0x276f, + 0x2771, 0x2771, + 0x2773, 0x2773, + 0x2775, 0x2775, + 0x27c6, 0x27c6, + 0x27e7, 0x27e7, + 0x27e9, 0x27e9, + 0x27eb, 0x27eb, + 0x27ed, 0x27ed, + 0x27ef, 0x27ef, + 0x2984, 0x2984, + 0x2986, 0x2986, + 0x2988, 0x2988, + 0x298a, 0x298a, + 0x298c, 0x298c, + 0x298e, 0x298e, + 0x2990, 0x2990, + 0x2992, 0x2992, + 0x2994, 0x2994, + 0x2996, 0x2996, + 0x2998, 0x2998, + 0x29d9, 0x29d9, + 0x29db, 0x29db, + 0x29fd, 0x29fd, + 0x2e23, 0x2e23, + 0x2e25, 0x2e25, + 0x2e27, 0x2e27, + 0x2e29, 0x2e29, + 0x3009, 0x3009, + 0x300b, 0x300b, + 0x300d, 0x300d, + 0x300f, 0x300f, + 0x3011, 0x3011, + 0x3015, 0x3015, + 0x3017, 0x3017, + 0x3019, 0x3019, + 0x301b, 0x301b, + 0x301e, 0x301f, + 0xfd3f, 0xfd3f, + 0xfe18, 0xfe18, + 0xfe36, 0xfe36, + 0xfe38, 0xfe38, + 0xfe3a, 0xfe3a, + 0xfe3c, 0xfe3c, + 0xfe3e, 0xfe3e, + 0xfe40, 0xfe40, + 0xfe42, 0xfe42, + 0xfe44, 0xfe44, + 0xfe48, 0xfe48, + 0xfe5a, 0xfe5a, + 0xfe5c, 0xfe5c, + 0xfe5e, 0xfe5e, + 0xff09, 0xff09, + 0xff3d, 0xff3d, + 0xff5d, 0xff5d, + 0xff60, 0xff60, + 0xff63, 0xff63, +}; /* CR_Pe */ + +/* 'Pf': General Category */ +static const OnigCodePoint CR_Pf[] = { + 10, + 0x00bb, 0x00bb, + 0x2019, 0x2019, + 0x201d, 0x201d, + 0x203a, 0x203a, + 0x2e03, 0x2e03, + 0x2e05, 0x2e05, + 0x2e0a, 0x2e0a, + 0x2e0d, 0x2e0d, + 0x2e1d, 0x2e1d, + 0x2e21, 0x2e21, +}; /* CR_Pf */ + +/* 'Pi': General Category */ +static const OnigCodePoint CR_Pi[] = { + 11, + 0x00ab, 0x00ab, + 0x2018, 0x2018, + 0x201b, 0x201c, + 0x201f, 0x201f, + 0x2039, 0x2039, + 0x2e02, 0x2e02, + 0x2e04, 0x2e04, + 0x2e09, 0x2e09, + 0x2e0c, 0x2e0c, + 0x2e1c, 0x2e1c, + 0x2e20, 0x2e20, +}; /* CR_Pi */ + +/* 'Po': General Category */ +static const OnigCodePoint CR_Po[] = { + 135, + 0x0021, 0x0023, + 0x0025, 0x0027, + 0x002a, 0x002a, + 0x002c, 0x002c, + 0x002e, 0x002f, + 0x003a, 0x003b, + 0x003f, 0x0040, + 0x005c, 0x005c, + 0x00a1, 0x00a1, + 0x00a7, 0x00a7, + 0x00b6, 0x00b7, + 0x00bf, 0x00bf, + 0x037e, 0x037e, + 0x0387, 0x0387, + 0x055a, 0x055f, + 0x0589, 0x0589, + 0x05c0, 0x05c0, + 0x05c3, 0x05c3, + 0x05c6, 0x05c6, + 0x05f3, 0x05f4, + 0x0609, 0x060a, + 0x060c, 0x060d, + 0x061b, 0x061b, + 0x061e, 0x061f, + 0x066a, 0x066d, + 0x06d4, 0x06d4, + 0x0700, 0x070d, + 0x07f7, 0x07f9, + 0x0830, 0x083e, + 0x085e, 0x085e, + 0x0964, 0x0965, + 0x0970, 0x0970, + 0x0af0, 0x0af0, + 0x0df4, 0x0df4, + 0x0e4f, 0x0e4f, + 0x0e5a, 0x0e5b, + 0x0f04, 0x0f12, + 0x0f14, 0x0f14, + 0x0f85, 0x0f85, + 0x0fd0, 0x0fd4, + 0x0fd9, 0x0fda, + 0x104a, 0x104f, + 0x10fb, 0x10fb, + 0x1360, 0x1368, + 0x166d, 0x166e, + 0x16eb, 0x16ed, + 0x1735, 0x1736, + 0x17d4, 0x17d6, + 0x17d8, 0x17da, + 0x1800, 0x1805, + 0x1807, 0x180a, + 0x1944, 0x1945, + 0x1a1e, 0x1a1f, + 0x1aa0, 0x1aa6, + 0x1aa8, 0x1aad, + 0x1b5a, 0x1b60, + 0x1bfc, 0x1bff, + 0x1c3b, 0x1c3f, + 0x1c7e, 0x1c7f, + 0x1cc0, 0x1cc7, + 0x1cd3, 0x1cd3, + 0x2016, 0x2017, + 0x2020, 0x2027, + 0x2030, 0x2038, + 0x203b, 0x203e, + 0x2041, 0x2043, + 0x2047, 0x2051, + 0x2053, 0x2053, + 0x2055, 0x205e, + 0x2cf9, 0x2cfc, + 0x2cfe, 0x2cff, + 0x2d70, 0x2d70, + 0x2e00, 0x2e01, + 0x2e06, 0x2e08, + 0x2e0b, 0x2e0b, + 0x2e0e, 0x2e16, + 0x2e18, 0x2e19, + 0x2e1b, 0x2e1b, + 0x2e1e, 0x2e1f, + 0x2e2a, 0x2e2e, + 0x2e30, 0x2e39, + 0x3001, 0x3003, + 0x303d, 0x303d, + 0x30fb, 0x30fb, + 0xa4fe, 0xa4ff, + 0xa60d, 0xa60f, + 0xa673, 0xa673, + 0xa67e, 0xa67e, + 0xa6f2, 0xa6f7, + 0xa874, 0xa877, + 0xa8ce, 0xa8cf, + 0xa8f8, 0xa8fa, + 0xa92e, 0xa92f, + 0xa95f, 0xa95f, + 0xa9c1, 0xa9cd, + 0xa9de, 0xa9df, + 0xaa5c, 0xaa5f, + 0xaade, 0xaadf, + 0xaaf0, 0xaaf1, + 0xabeb, 0xabeb, + 0xfe10, 0xfe16, + 0xfe19, 0xfe19, + 0xfe30, 0xfe30, + 0xfe45, 0xfe46, + 0xfe49, 0xfe4c, + 0xfe50, 0xfe52, + 0xfe54, 0xfe57, + 0xfe5f, 0xfe61, + 0xfe68, 0xfe68, + 0xfe6a, 0xfe6b, + 0xff01, 0xff03, + 0xff05, 0xff07, + 0xff0a, 0xff0a, + 0xff0c, 0xff0c, + 0xff0e, 0xff0f, + 0xff1a, 0xff1b, + 0xff1f, 0xff20, + 0xff3c, 0xff3c, + 0xff61, 0xff61, + 0xff64, 0xff65, + 0x10100, 0x10102, + 0x1039f, 0x1039f, + 0x103d0, 0x103d0, + 0x10857, 0x10857, + 0x1091f, 0x1091f, + 0x1093f, 0x1093f, + 0x10a50, 0x10a58, + 0x10a7f, 0x10a7f, + 0x10b39, 0x10b3f, + 0x11047, 0x1104d, + 0x110bb, 0x110bc, + 0x110be, 0x110c1, + 0x11140, 0x11143, + 0x111c5, 0x111c8, + 0x12470, 0x12473, +}; /* CR_Po */ + +/* 'Ps': General Category */ +static const OnigCodePoint CR_Ps[] = { + 72, + 0x0028, 0x0028, + 0x005b, 0x005b, + 0x007b, 0x007b, + 0x0f3a, 0x0f3a, + 0x0f3c, 0x0f3c, + 0x169b, 0x169b, + 0x201a, 0x201a, + 0x201e, 0x201e, + 0x2045, 0x2045, + 0x207d, 0x207d, + 0x208d, 0x208d, + 0x2329, 0x2329, + 0x2768, 0x2768, + 0x276a, 0x276a, + 0x276c, 0x276c, + 0x276e, 0x276e, + 0x2770, 0x2770, + 0x2772, 0x2772, + 0x2774, 0x2774, + 0x27c5, 0x27c5, + 0x27e6, 0x27e6, + 0x27e8, 0x27e8, + 0x27ea, 0x27ea, + 0x27ec, 0x27ec, + 0x27ee, 0x27ee, + 0x2983, 0x2983, + 0x2985, 0x2985, + 0x2987, 0x2987, + 0x2989, 0x2989, + 0x298b, 0x298b, + 0x298d, 0x298d, + 0x298f, 0x298f, + 0x2991, 0x2991, + 0x2993, 0x2993, + 0x2995, 0x2995, + 0x2997, 0x2997, + 0x29d8, 0x29d8, + 0x29da, 0x29da, + 0x29fc, 0x29fc, + 0x2e22, 0x2e22, + 0x2e24, 0x2e24, + 0x2e26, 0x2e26, + 0x2e28, 0x2e28, + 0x3008, 0x3008, + 0x300a, 0x300a, + 0x300c, 0x300c, + 0x300e, 0x300e, + 0x3010, 0x3010, + 0x3014, 0x3014, + 0x3016, 0x3016, + 0x3018, 0x3018, + 0x301a, 0x301a, + 0x301d, 0x301d, + 0xfd3e, 0xfd3e, + 0xfe17, 0xfe17, + 0xfe35, 0xfe35, + 0xfe37, 0xfe37, + 0xfe39, 0xfe39, + 0xfe3b, 0xfe3b, + 0xfe3d, 0xfe3d, + 0xfe3f, 0xfe3f, + 0xfe41, 0xfe41, + 0xfe43, 0xfe43, + 0xfe47, 0xfe47, + 0xfe59, 0xfe59, + 0xfe5b, 0xfe5b, + 0xfe5d, 0xfe5d, + 0xff08, 0xff08, + 0xff3b, 0xff3b, + 0xff5b, 0xff5b, + 0xff5f, 0xff5f, + 0xff62, 0xff62, +}; /* CR_Ps */ + +/* 'S': Major Category */ +static const OnigCodePoint CR_S[] = { + 198, + 0x0024, 0x0024, + 0x002b, 0x002b, + 0x003c, 0x003e, + 0x005e, 0x005e, + 0x0060, 0x0060, + 0x007c, 0x007c, + 0x007e, 0x007e, + 0x00a2, 0x00a6, + 0x00a8, 0x00a9, + 0x00ac, 0x00ac, + 0x00ae, 0x00b1, + 0x00b4, 0x00b4, + 0x00b8, 0x00b8, + 0x00d7, 0x00d7, + 0x00f7, 0x00f7, + 0x02c2, 0x02c5, + 0x02d2, 0x02df, + 0x02e5, 0x02eb, + 0x02ed, 0x02ed, + 0x02ef, 0x02ff, + 0x0375, 0x0375, + 0x0384, 0x0385, + 0x03f6, 0x03f6, + 0x0482, 0x0482, + 0x058f, 0x058f, + 0x0606, 0x0608, + 0x060b, 0x060b, + 0x060e, 0x060f, + 0x06de, 0x06de, + 0x06e9, 0x06e9, + 0x06fd, 0x06fe, + 0x07f6, 0x07f6, + 0x09f2, 0x09f3, + 0x09fa, 0x09fb, + 0x0af1, 0x0af1, + 0x0b70, 0x0b70, + 0x0bf3, 0x0bfa, + 0x0c7f, 0x0c7f, + 0x0d79, 0x0d79, + 0x0e3f, 0x0e3f, + 0x0f01, 0x0f03, + 0x0f13, 0x0f13, + 0x0f15, 0x0f17, + 0x0f1a, 0x0f1f, + 0x0f34, 0x0f34, + 0x0f36, 0x0f36, + 0x0f38, 0x0f38, + 0x0fbe, 0x0fc5, + 0x0fc7, 0x0fcc, + 0x0fce, 0x0fcf, + 0x0fd5, 0x0fd8, + 0x109e, 0x109f, + 0x1390, 0x1399, + 0x17db, 0x17db, + 0x1940, 0x1940, + 0x19de, 0x19ff, + 0x1b61, 0x1b6a, + 0x1b74, 0x1b7c, + 0x1fbd, 0x1fbd, + 0x1fbf, 0x1fc1, + 0x1fcd, 0x1fcf, + 0x1fdd, 0x1fdf, + 0x1fed, 0x1fef, + 0x1ffd, 0x1ffe, + 0x2044, 0x2044, + 0x2052, 0x2052, + 0x207a, 0x207c, + 0x208a, 0x208c, + 0x20a0, 0x20b9, + 0x2100, 0x2101, + 0x2103, 0x2106, + 0x2108, 0x2109, + 0x2114, 0x2114, + 0x2116, 0x2118, + 0x211e, 0x2123, + 0x2125, 0x2125, + 0x2127, 0x2127, + 0x2129, 0x2129, + 0x212e, 0x212e, + 0x213a, 0x213b, + 0x2140, 0x2144, + 0x214a, 0x214d, + 0x214f, 0x214f, + 0x2190, 0x2328, + 0x232b, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x249c, 0x24e9, + 0x2500, 0x26ff, + 0x2701, 0x2767, + 0x2794, 0x27c4, + 0x27c7, 0x27e5, + 0x27f0, 0x2982, + 0x2999, 0x29d7, + 0x29dc, 0x29fb, + 0x29fe, 0x2b4c, + 0x2b50, 0x2b59, + 0x2ce5, 0x2cea, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3004, 0x3004, + 0x3012, 0x3013, + 0x3020, 0x3020, + 0x3036, 0x3037, + 0x303e, 0x303f, + 0x309b, 0x309c, + 0x3190, 0x3191, + 0x3196, 0x319f, + 0x31c0, 0x31e3, + 0x3200, 0x321e, + 0x322a, 0x3247, + 0x3250, 0x3250, + 0x3260, 0x327f, + 0x328a, 0x32b0, + 0x32c0, 0x32fe, + 0x3300, 0x33ff, + 0x4dc0, 0x4dff, + 0xa490, 0xa4c6, + 0xa700, 0xa716, + 0xa720, 0xa721, + 0xa789, 0xa78a, + 0xa828, 0xa82b, + 0xa836, 0xa839, + 0xaa77, 0xaa79, + 0xfb29, 0xfb29, + 0xfbb2, 0xfbc1, + 0xfdfc, 0xfdfd, + 0xfe62, 0xfe62, + 0xfe64, 0xfe66, + 0xfe69, 0xfe69, + 0xff04, 0xff04, + 0xff0b, 0xff0b, + 0xff1c, 0xff1e, + 0xff3e, 0xff3e, + 0xff40, 0xff40, + 0xff5c, 0xff5c, + 0xff5e, 0xff5e, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfffc, 0xfffd, + 0x10137, 0x1013f, + 0x10179, 0x10189, + 0x10190, 0x1019b, + 0x101d0, 0x101fc, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d164, + 0x1d16a, 0x1d16c, + 0x1d183, 0x1d184, + 0x1d18c, 0x1d1a9, + 0x1d1ae, 0x1d1dd, + 0x1d200, 0x1d241, + 0x1d245, 0x1d245, + 0x1d300, 0x1d356, + 0x1d6c1, 0x1d6c1, + 0x1d6db, 0x1d6db, + 0x1d6fb, 0x1d6fb, + 0x1d715, 0x1d715, + 0x1d735, 0x1d735, + 0x1d74f, 0x1d74f, + 0x1d76f, 0x1d76f, + 0x1d789, 0x1d789, + 0x1d7a9, 0x1d7a9, + 0x1d7c3, 0x1d7c3, + 0x1eef0, 0x1eef1, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, +}; /* CR_S */ + +/* 'Sc': General Category */ +static const OnigCodePoint CR_Sc[] = { + 17, + 0x0024, 0x0024, + 0x00a2, 0x00a5, + 0x058f, 0x058f, + 0x060b, 0x060b, + 0x09f2, 0x09f3, + 0x09fb, 0x09fb, + 0x0af1, 0x0af1, + 0x0bf9, 0x0bf9, + 0x0e3f, 0x0e3f, + 0x17db, 0x17db, + 0x20a0, 0x20b9, + 0xa838, 0xa838, + 0xfdfc, 0xfdfc, + 0xfe69, 0xfe69, + 0xff04, 0xff04, + 0xffe0, 0xffe1, + 0xffe5, 0xffe6, +}; /* CR_Sc */ + +/* 'Sk': General Category */ +static const OnigCodePoint CR_Sk[] = { + 27, + 0x005e, 0x005e, + 0x0060, 0x0060, + 0x00a8, 0x00a8, + 0x00af, 0x00af, + 0x00b4, 0x00b4, + 0x00b8, 0x00b8, + 0x02c2, 0x02c5, + 0x02d2, 0x02df, + 0x02e5, 0x02eb, + 0x02ed, 0x02ed, + 0x02ef, 0x02ff, + 0x0375, 0x0375, + 0x0384, 0x0385, + 0x1fbd, 0x1fbd, + 0x1fbf, 0x1fc1, + 0x1fcd, 0x1fcf, + 0x1fdd, 0x1fdf, + 0x1fed, 0x1fef, + 0x1ffd, 0x1ffe, + 0x309b, 0x309c, + 0xa700, 0xa716, + 0xa720, 0xa721, + 0xa789, 0xa78a, + 0xfbb2, 0xfbc1, + 0xff3e, 0xff3e, + 0xff40, 0xff40, + 0xffe3, 0xffe3, +}; /* CR_Sk */ + +/* 'Sm': General Category */ +static const OnigCodePoint CR_Sm[] = { + 65, + 0x002b, 0x002b, + 0x003c, 0x003e, + 0x007c, 0x007c, + 0x007e, 0x007e, + 0x00ac, 0x00ac, + 0x00b1, 0x00b1, + 0x00d7, 0x00d7, + 0x00f7, 0x00f7, + 0x03f6, 0x03f6, + 0x0606, 0x0608, + 0x2044, 0x2044, + 0x2052, 0x2052, + 0x207a, 0x207c, + 0x208a, 0x208c, + 0x2118, 0x2118, + 0x2140, 0x2144, + 0x214b, 0x214b, + 0x2190, 0x2194, + 0x219a, 0x219b, + 0x21a0, 0x21a0, + 0x21a3, 0x21a3, + 0x21a6, 0x21a6, + 0x21ae, 0x21ae, + 0x21ce, 0x21cf, + 0x21d2, 0x21d2, + 0x21d4, 0x21d4, + 0x21f4, 0x22ff, + 0x2308, 0x230b, + 0x2320, 0x2321, + 0x237c, 0x237c, + 0x239b, 0x23b3, + 0x23dc, 0x23e1, + 0x25b7, 0x25b7, + 0x25c1, 0x25c1, + 0x25f8, 0x25ff, + 0x266f, 0x266f, + 0x27c0, 0x27c4, + 0x27c7, 0x27e5, + 0x27f0, 0x27ff, + 0x2900, 0x2982, + 0x2999, 0x29d7, + 0x29dc, 0x29fb, + 0x29fe, 0x2aff, + 0x2b30, 0x2b44, + 0x2b47, 0x2b4c, + 0xfb29, 0xfb29, + 0xfe62, 0xfe62, + 0xfe64, 0xfe66, + 0xff0b, 0xff0b, + 0xff1c, 0xff1e, + 0xff5c, 0xff5c, + 0xff5e, 0xff5e, + 0xffe2, 0xffe2, + 0xffe9, 0xffec, + 0x1d6c1, 0x1d6c1, + 0x1d6db, 0x1d6db, + 0x1d6fb, 0x1d6fb, + 0x1d715, 0x1d715, + 0x1d735, 0x1d735, + 0x1d74f, 0x1d74f, + 0x1d76f, 0x1d76f, + 0x1d789, 0x1d789, + 0x1d7a9, 0x1d7a9, + 0x1d7c3, 0x1d7c3, + 0x1eef0, 0x1eef1, +}; /* CR_Sm */ + +/* 'So': General Category */ +static const OnigCodePoint CR_So[] = { + 153, + 0x00a6, 0x00a6, + 0x00a9, 0x00a9, + 0x00ae, 0x00ae, + 0x00b0, 0x00b0, + 0x0482, 0x0482, + 0x060e, 0x060f, + 0x06de, 0x06de, + 0x06e9, 0x06e9, + 0x06fd, 0x06fe, + 0x07f6, 0x07f6, + 0x09fa, 0x09fa, + 0x0b70, 0x0b70, + 0x0bf3, 0x0bf8, + 0x0bfa, 0x0bfa, + 0x0c7f, 0x0c7f, + 0x0d79, 0x0d79, + 0x0f01, 0x0f03, + 0x0f13, 0x0f13, + 0x0f15, 0x0f17, + 0x0f1a, 0x0f1f, + 0x0f34, 0x0f34, + 0x0f36, 0x0f36, + 0x0f38, 0x0f38, + 0x0fbe, 0x0fc5, + 0x0fc7, 0x0fcc, + 0x0fce, 0x0fcf, + 0x0fd5, 0x0fd8, + 0x109e, 0x109f, + 0x1390, 0x1399, + 0x1940, 0x1940, + 0x19de, 0x19ff, + 0x1b61, 0x1b6a, + 0x1b74, 0x1b7c, + 0x2100, 0x2101, + 0x2103, 0x2106, + 0x2108, 0x2109, + 0x2114, 0x2114, + 0x2116, 0x2117, + 0x211e, 0x2123, + 0x2125, 0x2125, + 0x2127, 0x2127, + 0x2129, 0x2129, + 0x212e, 0x212e, + 0x213a, 0x213b, + 0x214a, 0x214a, + 0x214c, 0x214d, + 0x214f, 0x214f, + 0x2195, 0x2199, + 0x219c, 0x219f, + 0x21a1, 0x21a2, + 0x21a4, 0x21a5, + 0x21a7, 0x21ad, + 0x21af, 0x21cd, + 0x21d0, 0x21d1, + 0x21d3, 0x21d3, + 0x21d5, 0x21f3, + 0x2300, 0x2307, + 0x230c, 0x231f, + 0x2322, 0x2328, + 0x232b, 0x237b, + 0x237d, 0x239a, + 0x23b4, 0x23db, + 0x23e2, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x249c, 0x24e9, + 0x2500, 0x25b6, + 0x25b8, 0x25c0, + 0x25c2, 0x25f7, + 0x2600, 0x266e, + 0x2670, 0x26ff, + 0x2701, 0x2767, + 0x2794, 0x27bf, + 0x2800, 0x28ff, + 0x2b00, 0x2b2f, + 0x2b45, 0x2b46, + 0x2b50, 0x2b59, + 0x2ce5, 0x2cea, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3004, 0x3004, + 0x3012, 0x3013, + 0x3020, 0x3020, + 0x3036, 0x3037, + 0x303e, 0x303f, + 0x3190, 0x3191, + 0x3196, 0x319f, + 0x31c0, 0x31e3, + 0x3200, 0x321e, + 0x322a, 0x3247, + 0x3250, 0x3250, + 0x3260, 0x327f, + 0x328a, 0x32b0, + 0x32c0, 0x32fe, + 0x3300, 0x33ff, + 0x4dc0, 0x4dff, + 0xa490, 0xa4c6, + 0xa828, 0xa82b, + 0xa836, 0xa837, + 0xa839, 0xa839, + 0xaa77, 0xaa79, + 0xfdfd, 0xfdfd, + 0xffe4, 0xffe4, + 0xffe8, 0xffe8, + 0xffed, 0xffee, + 0xfffc, 0xfffd, + 0x10137, 0x1013f, + 0x10179, 0x10189, + 0x10190, 0x1019b, + 0x101d0, 0x101fc, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d164, + 0x1d16a, 0x1d16c, + 0x1d183, 0x1d184, + 0x1d18c, 0x1d1a9, + 0x1d1ae, 0x1d1dd, + 0x1d200, 0x1d241, + 0x1d245, 0x1d245, + 0x1d300, 0x1d356, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, +}; /* CR_So */ + +/* 'Z': Major Category */ +static const OnigCodePoint CR_Z[] = { + 9, + 0x0020, 0x0020, + 0x00a0, 0x00a0, + 0x1680, 0x1680, + 0x180e, 0x180e, + 0x2000, 0x200a, + 0x2028, 0x2029, + 0x202f, 0x202f, + 0x205f, 0x205f, + 0x3000, 0x3000, +}; /* CR_Z */ + +/* 'Zl': General Category */ +static const OnigCodePoint CR_Zl[] = { + 1, + 0x2028, 0x2028, +}; /* CR_Zl */ + +/* 'Zp': General Category */ +static const OnigCodePoint CR_Zp[] = { + 1, + 0x2029, 0x2029, +}; /* CR_Zp */ + +/* 'Zs': General Category */ +static const OnigCodePoint CR_Zs[] = { + 8, + 0x0020, 0x0020, + 0x00a0, 0x00a0, + 0x1680, 0x1680, + 0x180e, 0x180e, + 0x2000, 0x200a, + 0x202f, 0x202f, + 0x205f, 0x205f, + 0x3000, 0x3000, +}; /* CR_Zs */ + +/* 'Math': Derived Property */ +static const OnigCodePoint CR_Math[] = { + 138, + 0x002b, 0x002b, + 0x003c, 0x003e, + 0x005e, 0x005e, + 0x007c, 0x007c, + 0x007e, 0x007e, + 0x00ac, 0x00ac, + 0x00b1, 0x00b1, + 0x00d7, 0x00d7, + 0x00f7, 0x00f7, + 0x03d0, 0x03d2, + 0x03d5, 0x03d5, + 0x03f0, 0x03f1, + 0x03f4, 0x03f6, + 0x0606, 0x0608, + 0x2016, 0x2016, + 0x2032, 0x2034, + 0x2040, 0x2040, + 0x2044, 0x2044, + 0x2052, 0x2052, + 0x2061, 0x2064, + 0x207a, 0x207e, + 0x208a, 0x208e, + 0x20d0, 0x20dc, + 0x20e1, 0x20e1, + 0x20e5, 0x20e6, + 0x20eb, 0x20ef, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2118, 0x211d, + 0x2124, 0x2124, + 0x2128, 0x2129, + 0x212c, 0x212d, + 0x212f, 0x2131, + 0x2133, 0x2138, + 0x213c, 0x2149, + 0x214b, 0x214b, + 0x2190, 0x21a7, + 0x21a9, 0x21ae, + 0x21b0, 0x21b1, + 0x21b6, 0x21b7, + 0x21bc, 0x21db, + 0x21dd, 0x21dd, + 0x21e4, 0x21e5, + 0x21f4, 0x22ff, + 0x2308, 0x230b, + 0x2320, 0x2321, + 0x237c, 0x237c, + 0x239b, 0x23b5, + 0x23b7, 0x23b7, + 0x23d0, 0x23d0, + 0x23dc, 0x23e2, + 0x25a0, 0x25a1, + 0x25ae, 0x25b7, + 0x25bc, 0x25c1, + 0x25c6, 0x25c7, + 0x25ca, 0x25cb, + 0x25cf, 0x25d3, + 0x25e2, 0x25e2, + 0x25e4, 0x25e4, + 0x25e7, 0x25ec, + 0x25f8, 0x25ff, + 0x2605, 0x2606, + 0x2640, 0x2640, + 0x2642, 0x2642, + 0x2660, 0x2663, + 0x266d, 0x266f, + 0x27c0, 0x27ff, + 0x2900, 0x2aff, + 0x2b30, 0x2b44, + 0x2b47, 0x2b4c, + 0xfb29, 0xfb29, + 0xfe61, 0xfe66, + 0xfe68, 0xfe68, + 0xff0b, 0xff0b, + 0xff1c, 0xff1e, + 0xff3c, 0xff3c, + 0xff3e, 0xff3e, + 0xff5c, 0xff5c, + 0xff5e, 0xff5e, + 0xffe2, 0xffe2, + 0xffe9, 0xffec, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, +}; /* CR_Math */ + +/* 'Alphabetic': Derived Property */ +#define CR_Alphabetic CR_Alpha + +/* 'Lowercase': Derived Property */ +#define CR_Lowercase CR_Lower + +/* 'Uppercase': Derived Property */ +#define CR_Uppercase CR_Upper + +/* 'Cased': Derived Property */ +static const OnigCodePoint CR_Cased[] = { + 119, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x01ba, + 0x01bc, 0x01bf, + 0x01c4, 0x0293, + 0x0295, 0x02b8, + 0x02c0, 0x02c1, + 0x02e0, 0x02e4, + 0x0345, 0x0345, + 0x0370, 0x0373, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0561, 0x0587, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x212d, + 0x212f, 0x2134, + 0x2139, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x217f, + 0x2183, 0x2184, + 0x24b6, 0x24e9, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa640, 0xa66d, + 0xa680, 0xa697, + 0xa722, 0xa787, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa7fa, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0x10400, 0x1044f, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, +}; /* CR_Cased */ + +/* 'Case_Ignorable': Derived Property */ +static const OnigCodePoint CR_Case_Ignorable[] = { + 295, + 0x0027, 0x0027, + 0x002e, 0x002e, + 0x003a, 0x003a, + 0x005e, 0x005e, + 0x0060, 0x0060, + 0x00a8, 0x00a8, + 0x00ad, 0x00ad, + 0x00af, 0x00af, + 0x00b4, 0x00b4, + 0x00b7, 0x00b8, + 0x02b0, 0x036f, + 0x0374, 0x0375, + 0x037a, 0x037a, + 0x0384, 0x0385, + 0x0387, 0x0387, + 0x0483, 0x0489, + 0x0559, 0x0559, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x05f4, 0x05f4, + 0x0600, 0x0604, + 0x0610, 0x061a, + 0x0640, 0x0640, + 0x064b, 0x065f, + 0x0670, 0x0670, + 0x06d6, 0x06dd, + 0x06df, 0x06e8, + 0x06ea, 0x06ed, + 0x070f, 0x070f, + 0x0711, 0x0711, + 0x0730, 0x074a, + 0x07a6, 0x07b0, + 0x07eb, 0x07f5, + 0x07fa, 0x07fa, + 0x0816, 0x082d, + 0x0859, 0x085b, + 0x08e4, 0x08fe, + 0x0900, 0x0902, + 0x093a, 0x093a, + 0x093c, 0x093c, + 0x0941, 0x0948, + 0x094d, 0x094d, + 0x0951, 0x0957, + 0x0962, 0x0963, + 0x0971, 0x0971, + 0x0981, 0x0981, + 0x09bc, 0x09bc, + 0x09c1, 0x09c4, + 0x09cd, 0x09cd, + 0x09e2, 0x09e3, + 0x0a01, 0x0a02, + 0x0a3c, 0x0a3c, + 0x0a41, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a70, 0x0a71, + 0x0a75, 0x0a75, + 0x0a81, 0x0a82, + 0x0abc, 0x0abc, + 0x0ac1, 0x0ac5, + 0x0ac7, 0x0ac8, + 0x0acd, 0x0acd, + 0x0ae2, 0x0ae3, + 0x0b01, 0x0b01, + 0x0b3c, 0x0b3c, + 0x0b3f, 0x0b3f, + 0x0b41, 0x0b44, + 0x0b4d, 0x0b4d, + 0x0b56, 0x0b56, + 0x0b62, 0x0b63, + 0x0b82, 0x0b82, + 0x0bc0, 0x0bc0, + 0x0bcd, 0x0bcd, + 0x0c3e, 0x0c40, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c62, 0x0c63, + 0x0cbc, 0x0cbc, + 0x0cbf, 0x0cbf, + 0x0cc6, 0x0cc6, + 0x0ccc, 0x0ccd, + 0x0ce2, 0x0ce3, + 0x0d41, 0x0d44, + 0x0d4d, 0x0d4d, + 0x0d62, 0x0d63, + 0x0dca, 0x0dca, + 0x0dd2, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0e31, 0x0e31, + 0x0e34, 0x0e3a, + 0x0e46, 0x0e4e, + 0x0eb1, 0x0eb1, + 0x0eb4, 0x0eb9, + 0x0ebb, 0x0ebc, + 0x0ec6, 0x0ec6, + 0x0ec8, 0x0ecd, + 0x0f18, 0x0f19, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f71, 0x0f7e, + 0x0f80, 0x0f84, + 0x0f86, 0x0f87, + 0x0f8d, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fc6, 0x0fc6, + 0x102d, 0x1030, + 0x1032, 0x1037, + 0x1039, 0x103a, + 0x103d, 0x103e, + 0x1058, 0x1059, + 0x105e, 0x1060, + 0x1071, 0x1074, + 0x1082, 0x1082, + 0x1085, 0x1086, + 0x108d, 0x108d, + 0x109d, 0x109d, + 0x10fc, 0x10fc, + 0x135d, 0x135f, + 0x1712, 0x1714, + 0x1732, 0x1734, + 0x1752, 0x1753, + 0x1772, 0x1773, + 0x17b4, 0x17b5, + 0x17b7, 0x17bd, + 0x17c6, 0x17c6, + 0x17c9, 0x17d3, + 0x17d7, 0x17d7, + 0x17dd, 0x17dd, + 0x180b, 0x180d, + 0x1843, 0x1843, + 0x18a9, 0x18a9, + 0x1920, 0x1922, + 0x1927, 0x1928, + 0x1932, 0x1932, + 0x1939, 0x193b, + 0x1a17, 0x1a18, + 0x1a56, 0x1a56, + 0x1a58, 0x1a5e, + 0x1a60, 0x1a60, + 0x1a62, 0x1a62, + 0x1a65, 0x1a6c, + 0x1a73, 0x1a7c, + 0x1a7f, 0x1a7f, + 0x1aa7, 0x1aa7, + 0x1b00, 0x1b03, + 0x1b34, 0x1b34, + 0x1b36, 0x1b3a, + 0x1b3c, 0x1b3c, + 0x1b42, 0x1b42, + 0x1b6b, 0x1b73, + 0x1b80, 0x1b81, + 0x1ba2, 0x1ba5, + 0x1ba8, 0x1ba9, + 0x1bab, 0x1bab, + 0x1be6, 0x1be6, + 0x1be8, 0x1be9, + 0x1bed, 0x1bed, + 0x1bef, 0x1bf1, + 0x1c2c, 0x1c33, + 0x1c36, 0x1c37, + 0x1c78, 0x1c7d, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1ce0, + 0x1ce2, 0x1ce8, + 0x1ced, 0x1ced, + 0x1cf4, 0x1cf4, + 0x1d2c, 0x1d6a, + 0x1d78, 0x1d78, + 0x1d9b, 0x1de6, + 0x1dfc, 0x1dff, + 0x1fbd, 0x1fbd, + 0x1fbf, 0x1fc1, + 0x1fcd, 0x1fcf, + 0x1fdd, 0x1fdf, + 0x1fed, 0x1fef, + 0x1ffd, 0x1ffe, + 0x200b, 0x200f, + 0x2018, 0x2019, + 0x2024, 0x2024, + 0x2027, 0x2027, + 0x202a, 0x202e, + 0x2060, 0x2064, + 0x206a, 0x206f, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x20d0, 0x20f0, + 0x2c7c, 0x2c7d, + 0x2cef, 0x2cf1, + 0x2d6f, 0x2d6f, + 0x2d7f, 0x2d7f, + 0x2de0, 0x2dff, + 0x2e2f, 0x2e2f, + 0x3005, 0x3005, + 0x302a, 0x302d, + 0x3031, 0x3035, + 0x303b, 0x303b, + 0x3099, 0x309e, + 0x30fc, 0x30fe, + 0xa015, 0xa015, + 0xa4f8, 0xa4fd, + 0xa60c, 0xa60c, + 0xa66f, 0xa672, + 0xa674, 0xa67d, + 0xa67f, 0xa67f, + 0xa69f, 0xa69f, + 0xa6f0, 0xa6f1, + 0xa700, 0xa721, + 0xa770, 0xa770, + 0xa788, 0xa78a, + 0xa7f8, 0xa7f9, + 0xa802, 0xa802, + 0xa806, 0xa806, + 0xa80b, 0xa80b, + 0xa825, 0xa826, + 0xa8c4, 0xa8c4, + 0xa8e0, 0xa8f1, + 0xa926, 0xa92d, + 0xa947, 0xa951, + 0xa980, 0xa982, + 0xa9b3, 0xa9b3, + 0xa9b6, 0xa9b9, + 0xa9bc, 0xa9bc, + 0xa9cf, 0xa9cf, + 0xaa29, 0xaa2e, + 0xaa31, 0xaa32, + 0xaa35, 0xaa36, + 0xaa43, 0xaa43, + 0xaa4c, 0xaa4c, + 0xaa70, 0xaa70, + 0xaab0, 0xaab0, + 0xaab2, 0xaab4, + 0xaab7, 0xaab8, + 0xaabe, 0xaabf, + 0xaac1, 0xaac1, + 0xaadd, 0xaadd, + 0xaaec, 0xaaed, + 0xaaf3, 0xaaf4, + 0xaaf6, 0xaaf6, + 0xabe5, 0xabe5, + 0xabe8, 0xabe8, + 0xabed, 0xabed, + 0xfb1e, 0xfb1e, + 0xfbb2, 0xfbc1, + 0xfe00, 0xfe0f, + 0xfe13, 0xfe13, + 0xfe20, 0xfe26, + 0xfe52, 0xfe52, + 0xfe55, 0xfe55, + 0xfeff, 0xfeff, + 0xff07, 0xff07, + 0xff0e, 0xff0e, + 0xff1a, 0xff1a, + 0xff3e, 0xff3e, + 0xff40, 0xff40, + 0xff70, 0xff70, + 0xff9e, 0xff9f, + 0xffe3, 0xffe3, + 0xfff9, 0xfffb, + 0x101fd, 0x101fd, + 0x10a01, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a0f, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x11001, 0x11001, + 0x11038, 0x11046, + 0x11080, 0x11081, + 0x110b3, 0x110b6, + 0x110b9, 0x110ba, + 0x110bd, 0x110bd, + 0x11100, 0x11102, + 0x11127, 0x1112b, + 0x1112d, 0x11134, + 0x11180, 0x11181, + 0x111b6, 0x111be, + 0x116ab, 0x116ab, + 0x116ad, 0x116ad, + 0x116b0, 0x116b5, + 0x116b7, 0x116b7, + 0x16f8f, 0x16f9f, + 0x1d167, 0x1d169, + 0x1d173, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, + 0xe0100, 0xe01ef, +}; /* CR_Case_Ignorable */ + +/* 'Changes_When_Lowercased': Derived Property */ +static const OnigCodePoint CR_Changes_When_Lowercased[] = { + 571, + 0x0041, 0x005a, + 0x00c0, 0x00d6, + 0x00d8, 0x00de, + 0x0100, 0x0100, + 0x0102, 0x0102, + 0x0104, 0x0104, + 0x0106, 0x0106, + 0x0108, 0x0108, + 0x010a, 0x010a, + 0x010c, 0x010c, + 0x010e, 0x010e, + 0x0110, 0x0110, + 0x0112, 0x0112, + 0x0114, 0x0114, + 0x0116, 0x0116, + 0x0118, 0x0118, + 0x011a, 0x011a, + 0x011c, 0x011c, + 0x011e, 0x011e, + 0x0120, 0x0120, + 0x0122, 0x0122, + 0x0124, 0x0124, + 0x0126, 0x0126, + 0x0128, 0x0128, + 0x012a, 0x012a, + 0x012c, 0x012c, + 0x012e, 0x012e, + 0x0130, 0x0130, + 0x0132, 0x0132, + 0x0134, 0x0134, + 0x0136, 0x0136, + 0x0139, 0x0139, + 0x013b, 0x013b, + 0x013d, 0x013d, + 0x013f, 0x013f, + 0x0141, 0x0141, + 0x0143, 0x0143, + 0x0145, 0x0145, + 0x0147, 0x0147, + 0x014a, 0x014a, + 0x014c, 0x014c, + 0x014e, 0x014e, + 0x0150, 0x0150, + 0x0152, 0x0152, + 0x0154, 0x0154, + 0x0156, 0x0156, + 0x0158, 0x0158, + 0x015a, 0x015a, + 0x015c, 0x015c, + 0x015e, 0x015e, + 0x0160, 0x0160, + 0x0162, 0x0162, + 0x0164, 0x0164, + 0x0166, 0x0166, + 0x0168, 0x0168, + 0x016a, 0x016a, + 0x016c, 0x016c, + 0x016e, 0x016e, + 0x0170, 0x0170, + 0x0172, 0x0172, + 0x0174, 0x0174, + 0x0176, 0x0176, + 0x0178, 0x0179, + 0x017b, 0x017b, + 0x017d, 0x017d, + 0x0181, 0x0182, + 0x0184, 0x0184, + 0x0186, 0x0187, + 0x0189, 0x018b, + 0x018e, 0x0191, + 0x0193, 0x0194, + 0x0196, 0x0198, + 0x019c, 0x019d, + 0x019f, 0x01a0, + 0x01a2, 0x01a2, + 0x01a4, 0x01a4, + 0x01a6, 0x01a7, + 0x01a9, 0x01a9, + 0x01ac, 0x01ac, + 0x01ae, 0x01af, + 0x01b1, 0x01b3, + 0x01b5, 0x01b5, + 0x01b7, 0x01b8, + 0x01bc, 0x01bc, + 0x01c4, 0x01c5, + 0x01c7, 0x01c8, + 0x01ca, 0x01cb, + 0x01cd, 0x01cd, + 0x01cf, 0x01cf, + 0x01d1, 0x01d1, + 0x01d3, 0x01d3, + 0x01d5, 0x01d5, + 0x01d7, 0x01d7, + 0x01d9, 0x01d9, + 0x01db, 0x01db, + 0x01de, 0x01de, + 0x01e0, 0x01e0, + 0x01e2, 0x01e2, + 0x01e4, 0x01e4, + 0x01e6, 0x01e6, + 0x01e8, 0x01e8, + 0x01ea, 0x01ea, + 0x01ec, 0x01ec, + 0x01ee, 0x01ee, + 0x01f1, 0x01f2, + 0x01f4, 0x01f4, + 0x01f6, 0x01f8, + 0x01fa, 0x01fa, + 0x01fc, 0x01fc, + 0x01fe, 0x01fe, + 0x0200, 0x0200, + 0x0202, 0x0202, + 0x0204, 0x0204, + 0x0206, 0x0206, + 0x0208, 0x0208, + 0x020a, 0x020a, + 0x020c, 0x020c, + 0x020e, 0x020e, + 0x0210, 0x0210, + 0x0212, 0x0212, + 0x0214, 0x0214, + 0x0216, 0x0216, + 0x0218, 0x0218, + 0x021a, 0x021a, + 0x021c, 0x021c, + 0x021e, 0x021e, + 0x0220, 0x0220, + 0x0222, 0x0222, + 0x0224, 0x0224, + 0x0226, 0x0226, + 0x0228, 0x0228, + 0x022a, 0x022a, + 0x022c, 0x022c, + 0x022e, 0x022e, + 0x0230, 0x0230, + 0x0232, 0x0232, + 0x023a, 0x023b, + 0x023d, 0x023e, + 0x0241, 0x0241, + 0x0243, 0x0246, + 0x0248, 0x0248, + 0x024a, 0x024a, + 0x024c, 0x024c, + 0x024e, 0x024e, + 0x0370, 0x0370, + 0x0372, 0x0372, + 0x0376, 0x0376, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x038f, + 0x0391, 0x03a1, + 0x03a3, 0x03ab, + 0x03cf, 0x03cf, + 0x03d8, 0x03d8, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03e2, + 0x03e4, 0x03e4, + 0x03e6, 0x03e6, + 0x03e8, 0x03e8, + 0x03ea, 0x03ea, + 0x03ec, 0x03ec, + 0x03ee, 0x03ee, + 0x03f4, 0x03f4, + 0x03f7, 0x03f7, + 0x03f9, 0x03fa, + 0x03fd, 0x042f, + 0x0460, 0x0460, + 0x0462, 0x0462, + 0x0464, 0x0464, + 0x0466, 0x0466, + 0x0468, 0x0468, + 0x046a, 0x046a, + 0x046c, 0x046c, + 0x046e, 0x046e, + 0x0470, 0x0470, + 0x0472, 0x0472, + 0x0474, 0x0474, + 0x0476, 0x0476, + 0x0478, 0x0478, + 0x047a, 0x047a, + 0x047c, 0x047c, + 0x047e, 0x047e, + 0x0480, 0x0480, + 0x048a, 0x048a, + 0x048c, 0x048c, + 0x048e, 0x048e, + 0x0490, 0x0490, + 0x0492, 0x0492, + 0x0494, 0x0494, + 0x0496, 0x0496, + 0x0498, 0x0498, + 0x049a, 0x049a, + 0x049c, 0x049c, + 0x049e, 0x049e, + 0x04a0, 0x04a0, + 0x04a2, 0x04a2, + 0x04a4, 0x04a4, + 0x04a6, 0x04a6, + 0x04a8, 0x04a8, + 0x04aa, 0x04aa, + 0x04ac, 0x04ac, + 0x04ae, 0x04ae, + 0x04b0, 0x04b0, + 0x04b2, 0x04b2, + 0x04b4, 0x04b4, + 0x04b6, 0x04b6, + 0x04b8, 0x04b8, + 0x04ba, 0x04ba, + 0x04bc, 0x04bc, + 0x04be, 0x04be, + 0x04c0, 0x04c1, + 0x04c3, 0x04c3, + 0x04c5, 0x04c5, + 0x04c7, 0x04c7, + 0x04c9, 0x04c9, + 0x04cb, 0x04cb, + 0x04cd, 0x04cd, + 0x04d0, 0x04d0, + 0x04d2, 0x04d2, + 0x04d4, 0x04d4, + 0x04d6, 0x04d6, + 0x04d8, 0x04d8, + 0x04da, 0x04da, + 0x04dc, 0x04dc, + 0x04de, 0x04de, + 0x04e0, 0x04e0, + 0x04e2, 0x04e2, + 0x04e4, 0x04e4, + 0x04e6, 0x04e6, + 0x04e8, 0x04e8, + 0x04ea, 0x04ea, + 0x04ec, 0x04ec, + 0x04ee, 0x04ee, + 0x04f0, 0x04f0, + 0x04f2, 0x04f2, + 0x04f4, 0x04f4, + 0x04f6, 0x04f6, + 0x04f8, 0x04f8, + 0x04fa, 0x04fa, + 0x04fc, 0x04fc, + 0x04fe, 0x04fe, + 0x0500, 0x0500, + 0x0502, 0x0502, + 0x0504, 0x0504, + 0x0506, 0x0506, + 0x0508, 0x0508, + 0x050a, 0x050a, + 0x050c, 0x050c, + 0x050e, 0x050e, + 0x0510, 0x0510, + 0x0512, 0x0512, + 0x0514, 0x0514, + 0x0516, 0x0516, + 0x0518, 0x0518, + 0x051a, 0x051a, + 0x051c, 0x051c, + 0x051e, 0x051e, + 0x0520, 0x0520, + 0x0522, 0x0522, + 0x0524, 0x0524, + 0x0526, 0x0526, + 0x0531, 0x0556, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1e00, 0x1e00, + 0x1e02, 0x1e02, + 0x1e04, 0x1e04, + 0x1e06, 0x1e06, + 0x1e08, 0x1e08, + 0x1e0a, 0x1e0a, + 0x1e0c, 0x1e0c, + 0x1e0e, 0x1e0e, + 0x1e10, 0x1e10, + 0x1e12, 0x1e12, + 0x1e14, 0x1e14, + 0x1e16, 0x1e16, + 0x1e18, 0x1e18, + 0x1e1a, 0x1e1a, + 0x1e1c, 0x1e1c, + 0x1e1e, 0x1e1e, + 0x1e20, 0x1e20, + 0x1e22, 0x1e22, + 0x1e24, 0x1e24, + 0x1e26, 0x1e26, + 0x1e28, 0x1e28, + 0x1e2a, 0x1e2a, + 0x1e2c, 0x1e2c, + 0x1e2e, 0x1e2e, + 0x1e30, 0x1e30, + 0x1e32, 0x1e32, + 0x1e34, 0x1e34, + 0x1e36, 0x1e36, + 0x1e38, 0x1e38, + 0x1e3a, 0x1e3a, + 0x1e3c, 0x1e3c, + 0x1e3e, 0x1e3e, + 0x1e40, 0x1e40, + 0x1e42, 0x1e42, + 0x1e44, 0x1e44, + 0x1e46, 0x1e46, + 0x1e48, 0x1e48, + 0x1e4a, 0x1e4a, + 0x1e4c, 0x1e4c, + 0x1e4e, 0x1e4e, + 0x1e50, 0x1e50, + 0x1e52, 0x1e52, + 0x1e54, 0x1e54, + 0x1e56, 0x1e56, + 0x1e58, 0x1e58, + 0x1e5a, 0x1e5a, + 0x1e5c, 0x1e5c, + 0x1e5e, 0x1e5e, + 0x1e60, 0x1e60, + 0x1e62, 0x1e62, + 0x1e64, 0x1e64, + 0x1e66, 0x1e66, + 0x1e68, 0x1e68, + 0x1e6a, 0x1e6a, + 0x1e6c, 0x1e6c, + 0x1e6e, 0x1e6e, + 0x1e70, 0x1e70, + 0x1e72, 0x1e72, + 0x1e74, 0x1e74, + 0x1e76, 0x1e76, + 0x1e78, 0x1e78, + 0x1e7a, 0x1e7a, + 0x1e7c, 0x1e7c, + 0x1e7e, 0x1e7e, + 0x1e80, 0x1e80, + 0x1e82, 0x1e82, + 0x1e84, 0x1e84, + 0x1e86, 0x1e86, + 0x1e88, 0x1e88, + 0x1e8a, 0x1e8a, + 0x1e8c, 0x1e8c, + 0x1e8e, 0x1e8e, + 0x1e90, 0x1e90, + 0x1e92, 0x1e92, + 0x1e94, 0x1e94, + 0x1e9e, 0x1e9e, + 0x1ea0, 0x1ea0, + 0x1ea2, 0x1ea2, + 0x1ea4, 0x1ea4, + 0x1ea6, 0x1ea6, + 0x1ea8, 0x1ea8, + 0x1eaa, 0x1eaa, + 0x1eac, 0x1eac, + 0x1eae, 0x1eae, + 0x1eb0, 0x1eb0, + 0x1eb2, 0x1eb2, + 0x1eb4, 0x1eb4, + 0x1eb6, 0x1eb6, + 0x1eb8, 0x1eb8, + 0x1eba, 0x1eba, + 0x1ebc, 0x1ebc, + 0x1ebe, 0x1ebe, + 0x1ec0, 0x1ec0, + 0x1ec2, 0x1ec2, + 0x1ec4, 0x1ec4, + 0x1ec6, 0x1ec6, + 0x1ec8, 0x1ec8, + 0x1eca, 0x1eca, + 0x1ecc, 0x1ecc, + 0x1ece, 0x1ece, + 0x1ed0, 0x1ed0, + 0x1ed2, 0x1ed2, + 0x1ed4, 0x1ed4, + 0x1ed6, 0x1ed6, + 0x1ed8, 0x1ed8, + 0x1eda, 0x1eda, + 0x1edc, 0x1edc, + 0x1ede, 0x1ede, + 0x1ee0, 0x1ee0, + 0x1ee2, 0x1ee2, + 0x1ee4, 0x1ee4, + 0x1ee6, 0x1ee6, + 0x1ee8, 0x1ee8, + 0x1eea, 0x1eea, + 0x1eec, 0x1eec, + 0x1eee, 0x1eee, + 0x1ef0, 0x1ef0, + 0x1ef2, 0x1ef2, + 0x1ef4, 0x1ef4, + 0x1ef6, 0x1ef6, + 0x1ef8, 0x1ef8, + 0x1efa, 0x1efa, + 0x1efc, 0x1efc, + 0x1efe, 0x1efe, + 0x1f08, 0x1f0f, + 0x1f18, 0x1f1d, + 0x1f28, 0x1f2f, + 0x1f38, 0x1f3f, + 0x1f48, 0x1f4d, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f5f, + 0x1f68, 0x1f6f, + 0x1f88, 0x1f8f, + 0x1f98, 0x1f9f, + 0x1fa8, 0x1faf, + 0x1fb8, 0x1fbc, + 0x1fc8, 0x1fcc, + 0x1fd8, 0x1fdb, + 0x1fe8, 0x1fec, + 0x1ff8, 0x1ffc, + 0x2126, 0x2126, + 0x212a, 0x212b, + 0x2132, 0x2132, + 0x2160, 0x216f, + 0x2183, 0x2183, + 0x24b6, 0x24cf, + 0x2c00, 0x2c2e, + 0x2c60, 0x2c60, + 0x2c62, 0x2c64, + 0x2c67, 0x2c67, + 0x2c69, 0x2c69, + 0x2c6b, 0x2c6b, + 0x2c6d, 0x2c70, + 0x2c72, 0x2c72, + 0x2c75, 0x2c75, + 0x2c7e, 0x2c80, + 0x2c82, 0x2c82, + 0x2c84, 0x2c84, + 0x2c86, 0x2c86, + 0x2c88, 0x2c88, + 0x2c8a, 0x2c8a, + 0x2c8c, 0x2c8c, + 0x2c8e, 0x2c8e, + 0x2c90, 0x2c90, + 0x2c92, 0x2c92, + 0x2c94, 0x2c94, + 0x2c96, 0x2c96, + 0x2c98, 0x2c98, + 0x2c9a, 0x2c9a, + 0x2c9c, 0x2c9c, + 0x2c9e, 0x2c9e, + 0x2ca0, 0x2ca0, + 0x2ca2, 0x2ca2, + 0x2ca4, 0x2ca4, + 0x2ca6, 0x2ca6, + 0x2ca8, 0x2ca8, + 0x2caa, 0x2caa, + 0x2cac, 0x2cac, + 0x2cae, 0x2cae, + 0x2cb0, 0x2cb0, + 0x2cb2, 0x2cb2, + 0x2cb4, 0x2cb4, + 0x2cb6, 0x2cb6, + 0x2cb8, 0x2cb8, + 0x2cba, 0x2cba, + 0x2cbc, 0x2cbc, + 0x2cbe, 0x2cbe, + 0x2cc0, 0x2cc0, + 0x2cc2, 0x2cc2, + 0x2cc4, 0x2cc4, + 0x2cc6, 0x2cc6, + 0x2cc8, 0x2cc8, + 0x2cca, 0x2cca, + 0x2ccc, 0x2ccc, + 0x2cce, 0x2cce, + 0x2cd0, 0x2cd0, + 0x2cd2, 0x2cd2, + 0x2cd4, 0x2cd4, + 0x2cd6, 0x2cd6, + 0x2cd8, 0x2cd8, + 0x2cda, 0x2cda, + 0x2cdc, 0x2cdc, + 0x2cde, 0x2cde, + 0x2ce0, 0x2ce0, + 0x2ce2, 0x2ce2, + 0x2ceb, 0x2ceb, + 0x2ced, 0x2ced, + 0x2cf2, 0x2cf2, + 0xa640, 0xa640, + 0xa642, 0xa642, + 0xa644, 0xa644, + 0xa646, 0xa646, + 0xa648, 0xa648, + 0xa64a, 0xa64a, + 0xa64c, 0xa64c, + 0xa64e, 0xa64e, + 0xa650, 0xa650, + 0xa652, 0xa652, + 0xa654, 0xa654, + 0xa656, 0xa656, + 0xa658, 0xa658, + 0xa65a, 0xa65a, + 0xa65c, 0xa65c, + 0xa65e, 0xa65e, + 0xa660, 0xa660, + 0xa662, 0xa662, + 0xa664, 0xa664, + 0xa666, 0xa666, + 0xa668, 0xa668, + 0xa66a, 0xa66a, + 0xa66c, 0xa66c, + 0xa680, 0xa680, + 0xa682, 0xa682, + 0xa684, 0xa684, + 0xa686, 0xa686, + 0xa688, 0xa688, + 0xa68a, 0xa68a, + 0xa68c, 0xa68c, + 0xa68e, 0xa68e, + 0xa690, 0xa690, + 0xa692, 0xa692, + 0xa694, 0xa694, + 0xa696, 0xa696, + 0xa722, 0xa722, + 0xa724, 0xa724, + 0xa726, 0xa726, + 0xa728, 0xa728, + 0xa72a, 0xa72a, + 0xa72c, 0xa72c, + 0xa72e, 0xa72e, + 0xa732, 0xa732, + 0xa734, 0xa734, + 0xa736, 0xa736, + 0xa738, 0xa738, + 0xa73a, 0xa73a, + 0xa73c, 0xa73c, + 0xa73e, 0xa73e, + 0xa740, 0xa740, + 0xa742, 0xa742, + 0xa744, 0xa744, + 0xa746, 0xa746, + 0xa748, 0xa748, + 0xa74a, 0xa74a, + 0xa74c, 0xa74c, + 0xa74e, 0xa74e, + 0xa750, 0xa750, + 0xa752, 0xa752, + 0xa754, 0xa754, + 0xa756, 0xa756, + 0xa758, 0xa758, + 0xa75a, 0xa75a, + 0xa75c, 0xa75c, + 0xa75e, 0xa75e, + 0xa760, 0xa760, + 0xa762, 0xa762, + 0xa764, 0xa764, + 0xa766, 0xa766, + 0xa768, 0xa768, + 0xa76a, 0xa76a, + 0xa76c, 0xa76c, + 0xa76e, 0xa76e, + 0xa779, 0xa779, + 0xa77b, 0xa77b, + 0xa77d, 0xa77e, + 0xa780, 0xa780, + 0xa782, 0xa782, + 0xa784, 0xa784, + 0xa786, 0xa786, + 0xa78b, 0xa78b, + 0xa78d, 0xa78d, + 0xa790, 0xa790, + 0xa792, 0xa792, + 0xa7a0, 0xa7a0, + 0xa7a2, 0xa7a2, + 0xa7a4, 0xa7a4, + 0xa7a6, 0xa7a6, + 0xa7a8, 0xa7a8, + 0xa7aa, 0xa7aa, + 0xff21, 0xff3a, + 0x10400, 0x10427, +}; /* CR_Changes_When_Lowercased */ + +/* 'Changes_When_Uppercased': Derived Property */ +static const OnigCodePoint CR_Changes_When_Uppercased[] = { + 586, + 0x0061, 0x007a, + 0x00b5, 0x00b5, + 0x00df, 0x00f6, + 0x00f8, 0x00ff, + 0x0101, 0x0101, + 0x0103, 0x0103, + 0x0105, 0x0105, + 0x0107, 0x0107, + 0x0109, 0x0109, + 0x010b, 0x010b, + 0x010d, 0x010d, + 0x010f, 0x010f, + 0x0111, 0x0111, + 0x0113, 0x0113, + 0x0115, 0x0115, + 0x0117, 0x0117, + 0x0119, 0x0119, + 0x011b, 0x011b, + 0x011d, 0x011d, + 0x011f, 0x011f, + 0x0121, 0x0121, + 0x0123, 0x0123, + 0x0125, 0x0125, + 0x0127, 0x0127, + 0x0129, 0x0129, + 0x012b, 0x012b, + 0x012d, 0x012d, + 0x012f, 0x012f, + 0x0131, 0x0131, + 0x0133, 0x0133, + 0x0135, 0x0135, + 0x0137, 0x0137, + 0x013a, 0x013a, + 0x013c, 0x013c, + 0x013e, 0x013e, + 0x0140, 0x0140, + 0x0142, 0x0142, + 0x0144, 0x0144, + 0x0146, 0x0146, + 0x0148, 0x0149, + 0x014b, 0x014b, + 0x014d, 0x014d, + 0x014f, 0x014f, + 0x0151, 0x0151, + 0x0153, 0x0153, + 0x0155, 0x0155, + 0x0157, 0x0157, + 0x0159, 0x0159, + 0x015b, 0x015b, + 0x015d, 0x015d, + 0x015f, 0x015f, + 0x0161, 0x0161, + 0x0163, 0x0163, + 0x0165, 0x0165, + 0x0167, 0x0167, + 0x0169, 0x0169, + 0x016b, 0x016b, + 0x016d, 0x016d, + 0x016f, 0x016f, + 0x0171, 0x0171, + 0x0173, 0x0173, + 0x0175, 0x0175, + 0x0177, 0x0177, + 0x017a, 0x017a, + 0x017c, 0x017c, + 0x017e, 0x0180, + 0x0183, 0x0183, + 0x0185, 0x0185, + 0x0188, 0x0188, + 0x018c, 0x018c, + 0x0192, 0x0192, + 0x0195, 0x0195, + 0x0199, 0x019a, + 0x019e, 0x019e, + 0x01a1, 0x01a1, + 0x01a3, 0x01a3, + 0x01a5, 0x01a5, + 0x01a8, 0x01a8, + 0x01ad, 0x01ad, + 0x01b0, 0x01b0, + 0x01b4, 0x01b4, + 0x01b6, 0x01b6, + 0x01b9, 0x01b9, + 0x01bd, 0x01bd, + 0x01bf, 0x01bf, + 0x01c5, 0x01c6, + 0x01c8, 0x01c9, + 0x01cb, 0x01cc, + 0x01ce, 0x01ce, + 0x01d0, 0x01d0, + 0x01d2, 0x01d2, + 0x01d4, 0x01d4, + 0x01d6, 0x01d6, + 0x01d8, 0x01d8, + 0x01da, 0x01da, + 0x01dc, 0x01dd, + 0x01df, 0x01df, + 0x01e1, 0x01e1, + 0x01e3, 0x01e3, + 0x01e5, 0x01e5, + 0x01e7, 0x01e7, + 0x01e9, 0x01e9, + 0x01eb, 0x01eb, + 0x01ed, 0x01ed, + 0x01ef, 0x01f0, + 0x01f2, 0x01f3, + 0x01f5, 0x01f5, + 0x01f9, 0x01f9, + 0x01fb, 0x01fb, + 0x01fd, 0x01fd, + 0x01ff, 0x01ff, + 0x0201, 0x0201, + 0x0203, 0x0203, + 0x0205, 0x0205, + 0x0207, 0x0207, + 0x0209, 0x0209, + 0x020b, 0x020b, + 0x020d, 0x020d, + 0x020f, 0x020f, + 0x0211, 0x0211, + 0x0213, 0x0213, + 0x0215, 0x0215, + 0x0217, 0x0217, + 0x0219, 0x0219, + 0x021b, 0x021b, + 0x021d, 0x021d, + 0x021f, 0x021f, + 0x0223, 0x0223, + 0x0225, 0x0225, + 0x0227, 0x0227, + 0x0229, 0x0229, + 0x022b, 0x022b, + 0x022d, 0x022d, + 0x022f, 0x022f, + 0x0231, 0x0231, + 0x0233, 0x0233, + 0x023c, 0x023c, + 0x023f, 0x0240, + 0x0242, 0x0242, + 0x0247, 0x0247, + 0x0249, 0x0249, + 0x024b, 0x024b, + 0x024d, 0x024d, + 0x024f, 0x0254, + 0x0256, 0x0257, + 0x0259, 0x0259, + 0x025b, 0x025b, + 0x0260, 0x0260, + 0x0263, 0x0263, + 0x0265, 0x0266, + 0x0268, 0x0269, + 0x026b, 0x026b, + 0x026f, 0x026f, + 0x0271, 0x0272, + 0x0275, 0x0275, + 0x027d, 0x027d, + 0x0280, 0x0280, + 0x0283, 0x0283, + 0x0288, 0x028c, + 0x0292, 0x0292, + 0x0345, 0x0345, + 0x0371, 0x0371, + 0x0373, 0x0373, + 0x0377, 0x0377, + 0x037b, 0x037d, + 0x0390, 0x0390, + 0x03ac, 0x03ce, + 0x03d0, 0x03d1, + 0x03d5, 0x03d7, + 0x03d9, 0x03d9, + 0x03db, 0x03db, + 0x03dd, 0x03dd, + 0x03df, 0x03df, + 0x03e1, 0x03e1, + 0x03e3, 0x03e3, + 0x03e5, 0x03e5, + 0x03e7, 0x03e7, + 0x03e9, 0x03e9, + 0x03eb, 0x03eb, + 0x03ed, 0x03ed, + 0x03ef, 0x03f2, + 0x03f5, 0x03f5, + 0x03f8, 0x03f8, + 0x03fb, 0x03fb, + 0x0430, 0x045f, + 0x0461, 0x0461, + 0x0463, 0x0463, + 0x0465, 0x0465, + 0x0467, 0x0467, + 0x0469, 0x0469, + 0x046b, 0x046b, + 0x046d, 0x046d, + 0x046f, 0x046f, + 0x0471, 0x0471, + 0x0473, 0x0473, + 0x0475, 0x0475, + 0x0477, 0x0477, + 0x0479, 0x0479, + 0x047b, 0x047b, + 0x047d, 0x047d, + 0x047f, 0x047f, + 0x0481, 0x0481, + 0x048b, 0x048b, + 0x048d, 0x048d, + 0x048f, 0x048f, + 0x0491, 0x0491, + 0x0493, 0x0493, + 0x0495, 0x0495, + 0x0497, 0x0497, + 0x0499, 0x0499, + 0x049b, 0x049b, + 0x049d, 0x049d, + 0x049f, 0x049f, + 0x04a1, 0x04a1, + 0x04a3, 0x04a3, + 0x04a5, 0x04a5, + 0x04a7, 0x04a7, + 0x04a9, 0x04a9, + 0x04ab, 0x04ab, + 0x04ad, 0x04ad, + 0x04af, 0x04af, + 0x04b1, 0x04b1, + 0x04b3, 0x04b3, + 0x04b5, 0x04b5, + 0x04b7, 0x04b7, + 0x04b9, 0x04b9, + 0x04bb, 0x04bb, + 0x04bd, 0x04bd, + 0x04bf, 0x04bf, + 0x04c2, 0x04c2, + 0x04c4, 0x04c4, + 0x04c6, 0x04c6, + 0x04c8, 0x04c8, + 0x04ca, 0x04ca, + 0x04cc, 0x04cc, + 0x04ce, 0x04cf, + 0x04d1, 0x04d1, + 0x04d3, 0x04d3, + 0x04d5, 0x04d5, + 0x04d7, 0x04d7, + 0x04d9, 0x04d9, + 0x04db, 0x04db, + 0x04dd, 0x04dd, + 0x04df, 0x04df, + 0x04e1, 0x04e1, + 0x04e3, 0x04e3, + 0x04e5, 0x04e5, + 0x04e7, 0x04e7, + 0x04e9, 0x04e9, + 0x04eb, 0x04eb, + 0x04ed, 0x04ed, + 0x04ef, 0x04ef, + 0x04f1, 0x04f1, + 0x04f3, 0x04f3, + 0x04f5, 0x04f5, + 0x04f7, 0x04f7, + 0x04f9, 0x04f9, + 0x04fb, 0x04fb, + 0x04fd, 0x04fd, + 0x04ff, 0x04ff, + 0x0501, 0x0501, + 0x0503, 0x0503, + 0x0505, 0x0505, + 0x0507, 0x0507, + 0x0509, 0x0509, + 0x050b, 0x050b, + 0x050d, 0x050d, + 0x050f, 0x050f, + 0x0511, 0x0511, + 0x0513, 0x0513, + 0x0515, 0x0515, + 0x0517, 0x0517, + 0x0519, 0x0519, + 0x051b, 0x051b, + 0x051d, 0x051d, + 0x051f, 0x051f, + 0x0521, 0x0521, + 0x0523, 0x0523, + 0x0525, 0x0525, + 0x0527, 0x0527, + 0x0561, 0x0587, + 0x1d79, 0x1d79, + 0x1d7d, 0x1d7d, + 0x1e01, 0x1e01, + 0x1e03, 0x1e03, + 0x1e05, 0x1e05, + 0x1e07, 0x1e07, + 0x1e09, 0x1e09, + 0x1e0b, 0x1e0b, + 0x1e0d, 0x1e0d, + 0x1e0f, 0x1e0f, + 0x1e11, 0x1e11, + 0x1e13, 0x1e13, + 0x1e15, 0x1e15, + 0x1e17, 0x1e17, + 0x1e19, 0x1e19, + 0x1e1b, 0x1e1b, + 0x1e1d, 0x1e1d, + 0x1e1f, 0x1e1f, + 0x1e21, 0x1e21, + 0x1e23, 0x1e23, + 0x1e25, 0x1e25, + 0x1e27, 0x1e27, + 0x1e29, 0x1e29, + 0x1e2b, 0x1e2b, + 0x1e2d, 0x1e2d, + 0x1e2f, 0x1e2f, + 0x1e31, 0x1e31, + 0x1e33, 0x1e33, + 0x1e35, 0x1e35, + 0x1e37, 0x1e37, + 0x1e39, 0x1e39, + 0x1e3b, 0x1e3b, + 0x1e3d, 0x1e3d, + 0x1e3f, 0x1e3f, + 0x1e41, 0x1e41, + 0x1e43, 0x1e43, + 0x1e45, 0x1e45, + 0x1e47, 0x1e47, + 0x1e49, 0x1e49, + 0x1e4b, 0x1e4b, + 0x1e4d, 0x1e4d, + 0x1e4f, 0x1e4f, + 0x1e51, 0x1e51, + 0x1e53, 0x1e53, + 0x1e55, 0x1e55, + 0x1e57, 0x1e57, + 0x1e59, 0x1e59, + 0x1e5b, 0x1e5b, + 0x1e5d, 0x1e5d, + 0x1e5f, 0x1e5f, + 0x1e61, 0x1e61, + 0x1e63, 0x1e63, + 0x1e65, 0x1e65, + 0x1e67, 0x1e67, + 0x1e69, 0x1e69, + 0x1e6b, 0x1e6b, + 0x1e6d, 0x1e6d, + 0x1e6f, 0x1e6f, + 0x1e71, 0x1e71, + 0x1e73, 0x1e73, + 0x1e75, 0x1e75, + 0x1e77, 0x1e77, + 0x1e79, 0x1e79, + 0x1e7b, 0x1e7b, + 0x1e7d, 0x1e7d, + 0x1e7f, 0x1e7f, + 0x1e81, 0x1e81, + 0x1e83, 0x1e83, + 0x1e85, 0x1e85, + 0x1e87, 0x1e87, + 0x1e89, 0x1e89, + 0x1e8b, 0x1e8b, + 0x1e8d, 0x1e8d, + 0x1e8f, 0x1e8f, + 0x1e91, 0x1e91, + 0x1e93, 0x1e93, + 0x1e95, 0x1e9b, + 0x1ea1, 0x1ea1, + 0x1ea3, 0x1ea3, + 0x1ea5, 0x1ea5, + 0x1ea7, 0x1ea7, + 0x1ea9, 0x1ea9, + 0x1eab, 0x1eab, + 0x1ead, 0x1ead, + 0x1eaf, 0x1eaf, + 0x1eb1, 0x1eb1, + 0x1eb3, 0x1eb3, + 0x1eb5, 0x1eb5, + 0x1eb7, 0x1eb7, + 0x1eb9, 0x1eb9, + 0x1ebb, 0x1ebb, + 0x1ebd, 0x1ebd, + 0x1ebf, 0x1ebf, + 0x1ec1, 0x1ec1, + 0x1ec3, 0x1ec3, + 0x1ec5, 0x1ec5, + 0x1ec7, 0x1ec7, + 0x1ec9, 0x1ec9, + 0x1ecb, 0x1ecb, + 0x1ecd, 0x1ecd, + 0x1ecf, 0x1ecf, + 0x1ed1, 0x1ed1, + 0x1ed3, 0x1ed3, + 0x1ed5, 0x1ed5, + 0x1ed7, 0x1ed7, + 0x1ed9, 0x1ed9, + 0x1edb, 0x1edb, + 0x1edd, 0x1edd, + 0x1edf, 0x1edf, + 0x1ee1, 0x1ee1, + 0x1ee3, 0x1ee3, + 0x1ee5, 0x1ee5, + 0x1ee7, 0x1ee7, + 0x1ee9, 0x1ee9, + 0x1eeb, 0x1eeb, + 0x1eed, 0x1eed, + 0x1eef, 0x1eef, + 0x1ef1, 0x1ef1, + 0x1ef3, 0x1ef3, + 0x1ef5, 0x1ef5, + 0x1ef7, 0x1ef7, + 0x1ef9, 0x1ef9, + 0x1efb, 0x1efb, + 0x1efd, 0x1efd, + 0x1eff, 0x1f07, + 0x1f10, 0x1f15, + 0x1f20, 0x1f27, + 0x1f30, 0x1f37, + 0x1f40, 0x1f45, + 0x1f50, 0x1f57, + 0x1f60, 0x1f67, + 0x1f70, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fb7, + 0x1fbc, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fc7, + 0x1fcc, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fd7, + 0x1fe0, 0x1fe7, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ff7, + 0x1ffc, 0x1ffc, + 0x214e, 0x214e, + 0x2170, 0x217f, + 0x2184, 0x2184, + 0x24d0, 0x24e9, + 0x2c30, 0x2c5e, + 0x2c61, 0x2c61, + 0x2c65, 0x2c66, + 0x2c68, 0x2c68, + 0x2c6a, 0x2c6a, + 0x2c6c, 0x2c6c, + 0x2c73, 0x2c73, + 0x2c76, 0x2c76, + 0x2c81, 0x2c81, + 0x2c83, 0x2c83, + 0x2c85, 0x2c85, + 0x2c87, 0x2c87, + 0x2c89, 0x2c89, + 0x2c8b, 0x2c8b, + 0x2c8d, 0x2c8d, + 0x2c8f, 0x2c8f, + 0x2c91, 0x2c91, + 0x2c93, 0x2c93, + 0x2c95, 0x2c95, + 0x2c97, 0x2c97, + 0x2c99, 0x2c99, + 0x2c9b, 0x2c9b, + 0x2c9d, 0x2c9d, + 0x2c9f, 0x2c9f, + 0x2ca1, 0x2ca1, + 0x2ca3, 0x2ca3, + 0x2ca5, 0x2ca5, + 0x2ca7, 0x2ca7, + 0x2ca9, 0x2ca9, + 0x2cab, 0x2cab, + 0x2cad, 0x2cad, + 0x2caf, 0x2caf, + 0x2cb1, 0x2cb1, + 0x2cb3, 0x2cb3, + 0x2cb5, 0x2cb5, + 0x2cb7, 0x2cb7, + 0x2cb9, 0x2cb9, + 0x2cbb, 0x2cbb, + 0x2cbd, 0x2cbd, + 0x2cbf, 0x2cbf, + 0x2cc1, 0x2cc1, + 0x2cc3, 0x2cc3, + 0x2cc5, 0x2cc5, + 0x2cc7, 0x2cc7, + 0x2cc9, 0x2cc9, + 0x2ccb, 0x2ccb, + 0x2ccd, 0x2ccd, + 0x2ccf, 0x2ccf, + 0x2cd1, 0x2cd1, + 0x2cd3, 0x2cd3, + 0x2cd5, 0x2cd5, + 0x2cd7, 0x2cd7, + 0x2cd9, 0x2cd9, + 0x2cdb, 0x2cdb, + 0x2cdd, 0x2cdd, + 0x2cdf, 0x2cdf, + 0x2ce1, 0x2ce1, + 0x2ce3, 0x2ce3, + 0x2cec, 0x2cec, + 0x2cee, 0x2cee, + 0x2cf3, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa641, 0xa641, + 0xa643, 0xa643, + 0xa645, 0xa645, + 0xa647, 0xa647, + 0xa649, 0xa649, + 0xa64b, 0xa64b, + 0xa64d, 0xa64d, + 0xa64f, 0xa64f, + 0xa651, 0xa651, + 0xa653, 0xa653, + 0xa655, 0xa655, + 0xa657, 0xa657, + 0xa659, 0xa659, + 0xa65b, 0xa65b, + 0xa65d, 0xa65d, + 0xa65f, 0xa65f, + 0xa661, 0xa661, + 0xa663, 0xa663, + 0xa665, 0xa665, + 0xa667, 0xa667, + 0xa669, 0xa669, + 0xa66b, 0xa66b, + 0xa66d, 0xa66d, + 0xa681, 0xa681, + 0xa683, 0xa683, + 0xa685, 0xa685, + 0xa687, 0xa687, + 0xa689, 0xa689, + 0xa68b, 0xa68b, + 0xa68d, 0xa68d, + 0xa68f, 0xa68f, + 0xa691, 0xa691, + 0xa693, 0xa693, + 0xa695, 0xa695, + 0xa697, 0xa697, + 0xa723, 0xa723, + 0xa725, 0xa725, + 0xa727, 0xa727, + 0xa729, 0xa729, + 0xa72b, 0xa72b, + 0xa72d, 0xa72d, + 0xa72f, 0xa72f, + 0xa733, 0xa733, + 0xa735, 0xa735, + 0xa737, 0xa737, + 0xa739, 0xa739, + 0xa73b, 0xa73b, + 0xa73d, 0xa73d, + 0xa73f, 0xa73f, + 0xa741, 0xa741, + 0xa743, 0xa743, + 0xa745, 0xa745, + 0xa747, 0xa747, + 0xa749, 0xa749, + 0xa74b, 0xa74b, + 0xa74d, 0xa74d, + 0xa74f, 0xa74f, + 0xa751, 0xa751, + 0xa753, 0xa753, + 0xa755, 0xa755, + 0xa757, 0xa757, + 0xa759, 0xa759, + 0xa75b, 0xa75b, + 0xa75d, 0xa75d, + 0xa75f, 0xa75f, + 0xa761, 0xa761, + 0xa763, 0xa763, + 0xa765, 0xa765, + 0xa767, 0xa767, + 0xa769, 0xa769, + 0xa76b, 0xa76b, + 0xa76d, 0xa76d, + 0xa76f, 0xa76f, + 0xa77a, 0xa77a, + 0xa77c, 0xa77c, + 0xa77f, 0xa77f, + 0xa781, 0xa781, + 0xa783, 0xa783, + 0xa785, 0xa785, + 0xa787, 0xa787, + 0xa78c, 0xa78c, + 0xa791, 0xa791, + 0xa793, 0xa793, + 0xa7a1, 0xa7a1, + 0xa7a3, 0xa7a3, + 0xa7a5, 0xa7a5, + 0xa7a7, 0xa7a7, + 0xa7a9, 0xa7a9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff41, 0xff5a, + 0x10428, 0x1044f, +}; /* CR_Changes_When_Uppercased */ + +/* 'Changes_When_Titlecased': Derived Property */ +static const OnigCodePoint CR_Changes_When_Titlecased[] = { + 587, + 0x0061, 0x007a, + 0x00b5, 0x00b5, + 0x00df, 0x00f6, + 0x00f8, 0x00ff, + 0x0101, 0x0101, + 0x0103, 0x0103, + 0x0105, 0x0105, + 0x0107, 0x0107, + 0x0109, 0x0109, + 0x010b, 0x010b, + 0x010d, 0x010d, + 0x010f, 0x010f, + 0x0111, 0x0111, + 0x0113, 0x0113, + 0x0115, 0x0115, + 0x0117, 0x0117, + 0x0119, 0x0119, + 0x011b, 0x011b, + 0x011d, 0x011d, + 0x011f, 0x011f, + 0x0121, 0x0121, + 0x0123, 0x0123, + 0x0125, 0x0125, + 0x0127, 0x0127, + 0x0129, 0x0129, + 0x012b, 0x012b, + 0x012d, 0x012d, + 0x012f, 0x012f, + 0x0131, 0x0131, + 0x0133, 0x0133, + 0x0135, 0x0135, + 0x0137, 0x0137, + 0x013a, 0x013a, + 0x013c, 0x013c, + 0x013e, 0x013e, + 0x0140, 0x0140, + 0x0142, 0x0142, + 0x0144, 0x0144, + 0x0146, 0x0146, + 0x0148, 0x0149, + 0x014b, 0x014b, + 0x014d, 0x014d, + 0x014f, 0x014f, + 0x0151, 0x0151, + 0x0153, 0x0153, + 0x0155, 0x0155, + 0x0157, 0x0157, + 0x0159, 0x0159, + 0x015b, 0x015b, + 0x015d, 0x015d, + 0x015f, 0x015f, + 0x0161, 0x0161, + 0x0163, 0x0163, + 0x0165, 0x0165, + 0x0167, 0x0167, + 0x0169, 0x0169, + 0x016b, 0x016b, + 0x016d, 0x016d, + 0x016f, 0x016f, + 0x0171, 0x0171, + 0x0173, 0x0173, + 0x0175, 0x0175, + 0x0177, 0x0177, + 0x017a, 0x017a, + 0x017c, 0x017c, + 0x017e, 0x0180, + 0x0183, 0x0183, + 0x0185, 0x0185, + 0x0188, 0x0188, + 0x018c, 0x018c, + 0x0192, 0x0192, + 0x0195, 0x0195, + 0x0199, 0x019a, + 0x019e, 0x019e, + 0x01a1, 0x01a1, + 0x01a3, 0x01a3, + 0x01a5, 0x01a5, + 0x01a8, 0x01a8, + 0x01ad, 0x01ad, + 0x01b0, 0x01b0, + 0x01b4, 0x01b4, + 0x01b6, 0x01b6, + 0x01b9, 0x01b9, + 0x01bd, 0x01bd, + 0x01bf, 0x01bf, + 0x01c4, 0x01c4, + 0x01c6, 0x01c7, + 0x01c9, 0x01ca, + 0x01cc, 0x01cc, + 0x01ce, 0x01ce, + 0x01d0, 0x01d0, + 0x01d2, 0x01d2, + 0x01d4, 0x01d4, + 0x01d6, 0x01d6, + 0x01d8, 0x01d8, + 0x01da, 0x01da, + 0x01dc, 0x01dd, + 0x01df, 0x01df, + 0x01e1, 0x01e1, + 0x01e3, 0x01e3, + 0x01e5, 0x01e5, + 0x01e7, 0x01e7, + 0x01e9, 0x01e9, + 0x01eb, 0x01eb, + 0x01ed, 0x01ed, + 0x01ef, 0x01f1, + 0x01f3, 0x01f3, + 0x01f5, 0x01f5, + 0x01f9, 0x01f9, + 0x01fb, 0x01fb, + 0x01fd, 0x01fd, + 0x01ff, 0x01ff, + 0x0201, 0x0201, + 0x0203, 0x0203, + 0x0205, 0x0205, + 0x0207, 0x0207, + 0x0209, 0x0209, + 0x020b, 0x020b, + 0x020d, 0x020d, + 0x020f, 0x020f, + 0x0211, 0x0211, + 0x0213, 0x0213, + 0x0215, 0x0215, + 0x0217, 0x0217, + 0x0219, 0x0219, + 0x021b, 0x021b, + 0x021d, 0x021d, + 0x021f, 0x021f, + 0x0223, 0x0223, + 0x0225, 0x0225, + 0x0227, 0x0227, + 0x0229, 0x0229, + 0x022b, 0x022b, + 0x022d, 0x022d, + 0x022f, 0x022f, + 0x0231, 0x0231, + 0x0233, 0x0233, + 0x023c, 0x023c, + 0x023f, 0x0240, + 0x0242, 0x0242, + 0x0247, 0x0247, + 0x0249, 0x0249, + 0x024b, 0x024b, + 0x024d, 0x024d, + 0x024f, 0x0254, + 0x0256, 0x0257, + 0x0259, 0x0259, + 0x025b, 0x025b, + 0x0260, 0x0260, + 0x0263, 0x0263, + 0x0265, 0x0266, + 0x0268, 0x0269, + 0x026b, 0x026b, + 0x026f, 0x026f, + 0x0271, 0x0272, + 0x0275, 0x0275, + 0x027d, 0x027d, + 0x0280, 0x0280, + 0x0283, 0x0283, + 0x0288, 0x028c, + 0x0292, 0x0292, + 0x0345, 0x0345, + 0x0371, 0x0371, + 0x0373, 0x0373, + 0x0377, 0x0377, + 0x037b, 0x037d, + 0x0390, 0x0390, + 0x03ac, 0x03ce, + 0x03d0, 0x03d1, + 0x03d5, 0x03d7, + 0x03d9, 0x03d9, + 0x03db, 0x03db, + 0x03dd, 0x03dd, + 0x03df, 0x03df, + 0x03e1, 0x03e1, + 0x03e3, 0x03e3, + 0x03e5, 0x03e5, + 0x03e7, 0x03e7, + 0x03e9, 0x03e9, + 0x03eb, 0x03eb, + 0x03ed, 0x03ed, + 0x03ef, 0x03f2, + 0x03f5, 0x03f5, + 0x03f8, 0x03f8, + 0x03fb, 0x03fb, + 0x0430, 0x045f, + 0x0461, 0x0461, + 0x0463, 0x0463, + 0x0465, 0x0465, + 0x0467, 0x0467, + 0x0469, 0x0469, + 0x046b, 0x046b, + 0x046d, 0x046d, + 0x046f, 0x046f, + 0x0471, 0x0471, + 0x0473, 0x0473, + 0x0475, 0x0475, + 0x0477, 0x0477, + 0x0479, 0x0479, + 0x047b, 0x047b, + 0x047d, 0x047d, + 0x047f, 0x047f, + 0x0481, 0x0481, + 0x048b, 0x048b, + 0x048d, 0x048d, + 0x048f, 0x048f, + 0x0491, 0x0491, + 0x0493, 0x0493, + 0x0495, 0x0495, + 0x0497, 0x0497, + 0x0499, 0x0499, + 0x049b, 0x049b, + 0x049d, 0x049d, + 0x049f, 0x049f, + 0x04a1, 0x04a1, + 0x04a3, 0x04a3, + 0x04a5, 0x04a5, + 0x04a7, 0x04a7, + 0x04a9, 0x04a9, + 0x04ab, 0x04ab, + 0x04ad, 0x04ad, + 0x04af, 0x04af, + 0x04b1, 0x04b1, + 0x04b3, 0x04b3, + 0x04b5, 0x04b5, + 0x04b7, 0x04b7, + 0x04b9, 0x04b9, + 0x04bb, 0x04bb, + 0x04bd, 0x04bd, + 0x04bf, 0x04bf, + 0x04c2, 0x04c2, + 0x04c4, 0x04c4, + 0x04c6, 0x04c6, + 0x04c8, 0x04c8, + 0x04ca, 0x04ca, + 0x04cc, 0x04cc, + 0x04ce, 0x04cf, + 0x04d1, 0x04d1, + 0x04d3, 0x04d3, + 0x04d5, 0x04d5, + 0x04d7, 0x04d7, + 0x04d9, 0x04d9, + 0x04db, 0x04db, + 0x04dd, 0x04dd, + 0x04df, 0x04df, + 0x04e1, 0x04e1, + 0x04e3, 0x04e3, + 0x04e5, 0x04e5, + 0x04e7, 0x04e7, + 0x04e9, 0x04e9, + 0x04eb, 0x04eb, + 0x04ed, 0x04ed, + 0x04ef, 0x04ef, + 0x04f1, 0x04f1, + 0x04f3, 0x04f3, + 0x04f5, 0x04f5, + 0x04f7, 0x04f7, + 0x04f9, 0x04f9, + 0x04fb, 0x04fb, + 0x04fd, 0x04fd, + 0x04ff, 0x04ff, + 0x0501, 0x0501, + 0x0503, 0x0503, + 0x0505, 0x0505, + 0x0507, 0x0507, + 0x0509, 0x0509, + 0x050b, 0x050b, + 0x050d, 0x050d, + 0x050f, 0x050f, + 0x0511, 0x0511, + 0x0513, 0x0513, + 0x0515, 0x0515, + 0x0517, 0x0517, + 0x0519, 0x0519, + 0x051b, 0x051b, + 0x051d, 0x051d, + 0x051f, 0x051f, + 0x0521, 0x0521, + 0x0523, 0x0523, + 0x0525, 0x0525, + 0x0527, 0x0527, + 0x0561, 0x0587, + 0x1d79, 0x1d79, + 0x1d7d, 0x1d7d, + 0x1e01, 0x1e01, + 0x1e03, 0x1e03, + 0x1e05, 0x1e05, + 0x1e07, 0x1e07, + 0x1e09, 0x1e09, + 0x1e0b, 0x1e0b, + 0x1e0d, 0x1e0d, + 0x1e0f, 0x1e0f, + 0x1e11, 0x1e11, + 0x1e13, 0x1e13, + 0x1e15, 0x1e15, + 0x1e17, 0x1e17, + 0x1e19, 0x1e19, + 0x1e1b, 0x1e1b, + 0x1e1d, 0x1e1d, + 0x1e1f, 0x1e1f, + 0x1e21, 0x1e21, + 0x1e23, 0x1e23, + 0x1e25, 0x1e25, + 0x1e27, 0x1e27, + 0x1e29, 0x1e29, + 0x1e2b, 0x1e2b, + 0x1e2d, 0x1e2d, + 0x1e2f, 0x1e2f, + 0x1e31, 0x1e31, + 0x1e33, 0x1e33, + 0x1e35, 0x1e35, + 0x1e37, 0x1e37, + 0x1e39, 0x1e39, + 0x1e3b, 0x1e3b, + 0x1e3d, 0x1e3d, + 0x1e3f, 0x1e3f, + 0x1e41, 0x1e41, + 0x1e43, 0x1e43, + 0x1e45, 0x1e45, + 0x1e47, 0x1e47, + 0x1e49, 0x1e49, + 0x1e4b, 0x1e4b, + 0x1e4d, 0x1e4d, + 0x1e4f, 0x1e4f, + 0x1e51, 0x1e51, + 0x1e53, 0x1e53, + 0x1e55, 0x1e55, + 0x1e57, 0x1e57, + 0x1e59, 0x1e59, + 0x1e5b, 0x1e5b, + 0x1e5d, 0x1e5d, + 0x1e5f, 0x1e5f, + 0x1e61, 0x1e61, + 0x1e63, 0x1e63, + 0x1e65, 0x1e65, + 0x1e67, 0x1e67, + 0x1e69, 0x1e69, + 0x1e6b, 0x1e6b, + 0x1e6d, 0x1e6d, + 0x1e6f, 0x1e6f, + 0x1e71, 0x1e71, + 0x1e73, 0x1e73, + 0x1e75, 0x1e75, + 0x1e77, 0x1e77, + 0x1e79, 0x1e79, + 0x1e7b, 0x1e7b, + 0x1e7d, 0x1e7d, + 0x1e7f, 0x1e7f, + 0x1e81, 0x1e81, + 0x1e83, 0x1e83, + 0x1e85, 0x1e85, + 0x1e87, 0x1e87, + 0x1e89, 0x1e89, + 0x1e8b, 0x1e8b, + 0x1e8d, 0x1e8d, + 0x1e8f, 0x1e8f, + 0x1e91, 0x1e91, + 0x1e93, 0x1e93, + 0x1e95, 0x1e9b, + 0x1ea1, 0x1ea1, + 0x1ea3, 0x1ea3, + 0x1ea5, 0x1ea5, + 0x1ea7, 0x1ea7, + 0x1ea9, 0x1ea9, + 0x1eab, 0x1eab, + 0x1ead, 0x1ead, + 0x1eaf, 0x1eaf, + 0x1eb1, 0x1eb1, + 0x1eb3, 0x1eb3, + 0x1eb5, 0x1eb5, + 0x1eb7, 0x1eb7, + 0x1eb9, 0x1eb9, + 0x1ebb, 0x1ebb, + 0x1ebd, 0x1ebd, + 0x1ebf, 0x1ebf, + 0x1ec1, 0x1ec1, + 0x1ec3, 0x1ec3, + 0x1ec5, 0x1ec5, + 0x1ec7, 0x1ec7, + 0x1ec9, 0x1ec9, + 0x1ecb, 0x1ecb, + 0x1ecd, 0x1ecd, + 0x1ecf, 0x1ecf, + 0x1ed1, 0x1ed1, + 0x1ed3, 0x1ed3, + 0x1ed5, 0x1ed5, + 0x1ed7, 0x1ed7, + 0x1ed9, 0x1ed9, + 0x1edb, 0x1edb, + 0x1edd, 0x1edd, + 0x1edf, 0x1edf, + 0x1ee1, 0x1ee1, + 0x1ee3, 0x1ee3, + 0x1ee5, 0x1ee5, + 0x1ee7, 0x1ee7, + 0x1ee9, 0x1ee9, + 0x1eeb, 0x1eeb, + 0x1eed, 0x1eed, + 0x1eef, 0x1eef, + 0x1ef1, 0x1ef1, + 0x1ef3, 0x1ef3, + 0x1ef5, 0x1ef5, + 0x1ef7, 0x1ef7, + 0x1ef9, 0x1ef9, + 0x1efb, 0x1efb, + 0x1efd, 0x1efd, + 0x1eff, 0x1f07, + 0x1f10, 0x1f15, + 0x1f20, 0x1f27, + 0x1f30, 0x1f37, + 0x1f40, 0x1f45, + 0x1f50, 0x1f57, + 0x1f60, 0x1f67, + 0x1f70, 0x1f7d, + 0x1f80, 0x1f87, + 0x1f90, 0x1f97, + 0x1fa0, 0x1fa7, + 0x1fb0, 0x1fb4, + 0x1fb6, 0x1fb7, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fc7, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fd7, + 0x1fe0, 0x1fe7, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ff7, + 0x214e, 0x214e, + 0x2170, 0x217f, + 0x2184, 0x2184, + 0x24d0, 0x24e9, + 0x2c30, 0x2c5e, + 0x2c61, 0x2c61, + 0x2c65, 0x2c66, + 0x2c68, 0x2c68, + 0x2c6a, 0x2c6a, + 0x2c6c, 0x2c6c, + 0x2c73, 0x2c73, + 0x2c76, 0x2c76, + 0x2c81, 0x2c81, + 0x2c83, 0x2c83, + 0x2c85, 0x2c85, + 0x2c87, 0x2c87, + 0x2c89, 0x2c89, + 0x2c8b, 0x2c8b, + 0x2c8d, 0x2c8d, + 0x2c8f, 0x2c8f, + 0x2c91, 0x2c91, + 0x2c93, 0x2c93, + 0x2c95, 0x2c95, + 0x2c97, 0x2c97, + 0x2c99, 0x2c99, + 0x2c9b, 0x2c9b, + 0x2c9d, 0x2c9d, + 0x2c9f, 0x2c9f, + 0x2ca1, 0x2ca1, + 0x2ca3, 0x2ca3, + 0x2ca5, 0x2ca5, + 0x2ca7, 0x2ca7, + 0x2ca9, 0x2ca9, + 0x2cab, 0x2cab, + 0x2cad, 0x2cad, + 0x2caf, 0x2caf, + 0x2cb1, 0x2cb1, + 0x2cb3, 0x2cb3, + 0x2cb5, 0x2cb5, + 0x2cb7, 0x2cb7, + 0x2cb9, 0x2cb9, + 0x2cbb, 0x2cbb, + 0x2cbd, 0x2cbd, + 0x2cbf, 0x2cbf, + 0x2cc1, 0x2cc1, + 0x2cc3, 0x2cc3, + 0x2cc5, 0x2cc5, + 0x2cc7, 0x2cc7, + 0x2cc9, 0x2cc9, + 0x2ccb, 0x2ccb, + 0x2ccd, 0x2ccd, + 0x2ccf, 0x2ccf, + 0x2cd1, 0x2cd1, + 0x2cd3, 0x2cd3, + 0x2cd5, 0x2cd5, + 0x2cd7, 0x2cd7, + 0x2cd9, 0x2cd9, + 0x2cdb, 0x2cdb, + 0x2cdd, 0x2cdd, + 0x2cdf, 0x2cdf, + 0x2ce1, 0x2ce1, + 0x2ce3, 0x2ce3, + 0x2cec, 0x2cec, + 0x2cee, 0x2cee, + 0x2cf3, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa641, 0xa641, + 0xa643, 0xa643, + 0xa645, 0xa645, + 0xa647, 0xa647, + 0xa649, 0xa649, + 0xa64b, 0xa64b, + 0xa64d, 0xa64d, + 0xa64f, 0xa64f, + 0xa651, 0xa651, + 0xa653, 0xa653, + 0xa655, 0xa655, + 0xa657, 0xa657, + 0xa659, 0xa659, + 0xa65b, 0xa65b, + 0xa65d, 0xa65d, + 0xa65f, 0xa65f, + 0xa661, 0xa661, + 0xa663, 0xa663, + 0xa665, 0xa665, + 0xa667, 0xa667, + 0xa669, 0xa669, + 0xa66b, 0xa66b, + 0xa66d, 0xa66d, + 0xa681, 0xa681, + 0xa683, 0xa683, + 0xa685, 0xa685, + 0xa687, 0xa687, + 0xa689, 0xa689, + 0xa68b, 0xa68b, + 0xa68d, 0xa68d, + 0xa68f, 0xa68f, + 0xa691, 0xa691, + 0xa693, 0xa693, + 0xa695, 0xa695, + 0xa697, 0xa697, + 0xa723, 0xa723, + 0xa725, 0xa725, + 0xa727, 0xa727, + 0xa729, 0xa729, + 0xa72b, 0xa72b, + 0xa72d, 0xa72d, + 0xa72f, 0xa72f, + 0xa733, 0xa733, + 0xa735, 0xa735, + 0xa737, 0xa737, + 0xa739, 0xa739, + 0xa73b, 0xa73b, + 0xa73d, 0xa73d, + 0xa73f, 0xa73f, + 0xa741, 0xa741, + 0xa743, 0xa743, + 0xa745, 0xa745, + 0xa747, 0xa747, + 0xa749, 0xa749, + 0xa74b, 0xa74b, + 0xa74d, 0xa74d, + 0xa74f, 0xa74f, + 0xa751, 0xa751, + 0xa753, 0xa753, + 0xa755, 0xa755, + 0xa757, 0xa757, + 0xa759, 0xa759, + 0xa75b, 0xa75b, + 0xa75d, 0xa75d, + 0xa75f, 0xa75f, + 0xa761, 0xa761, + 0xa763, 0xa763, + 0xa765, 0xa765, + 0xa767, 0xa767, + 0xa769, 0xa769, + 0xa76b, 0xa76b, + 0xa76d, 0xa76d, + 0xa76f, 0xa76f, + 0xa77a, 0xa77a, + 0xa77c, 0xa77c, + 0xa77f, 0xa77f, + 0xa781, 0xa781, + 0xa783, 0xa783, + 0xa785, 0xa785, + 0xa787, 0xa787, + 0xa78c, 0xa78c, + 0xa791, 0xa791, + 0xa793, 0xa793, + 0xa7a1, 0xa7a1, + 0xa7a3, 0xa7a3, + 0xa7a5, 0xa7a5, + 0xa7a7, 0xa7a7, + 0xa7a9, 0xa7a9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff41, 0xff5a, + 0x10428, 0x1044f, +}; /* CR_Changes_When_Titlecased */ + +/* 'Changes_When_Casefolded': Derived Property */ +static const OnigCodePoint CR_Changes_When_Casefolded[] = { + 582, + 0x0041, 0x005a, + 0x00b5, 0x00b5, + 0x00c0, 0x00d6, + 0x00d8, 0x00df, + 0x0100, 0x0100, + 0x0102, 0x0102, + 0x0104, 0x0104, + 0x0106, 0x0106, + 0x0108, 0x0108, + 0x010a, 0x010a, + 0x010c, 0x010c, + 0x010e, 0x010e, + 0x0110, 0x0110, + 0x0112, 0x0112, + 0x0114, 0x0114, + 0x0116, 0x0116, + 0x0118, 0x0118, + 0x011a, 0x011a, + 0x011c, 0x011c, + 0x011e, 0x011e, + 0x0120, 0x0120, + 0x0122, 0x0122, + 0x0124, 0x0124, + 0x0126, 0x0126, + 0x0128, 0x0128, + 0x012a, 0x012a, + 0x012c, 0x012c, + 0x012e, 0x012e, + 0x0130, 0x0130, + 0x0132, 0x0132, + 0x0134, 0x0134, + 0x0136, 0x0136, + 0x0139, 0x0139, + 0x013b, 0x013b, + 0x013d, 0x013d, + 0x013f, 0x013f, + 0x0141, 0x0141, + 0x0143, 0x0143, + 0x0145, 0x0145, + 0x0147, 0x0147, + 0x0149, 0x014a, + 0x014c, 0x014c, + 0x014e, 0x014e, + 0x0150, 0x0150, + 0x0152, 0x0152, + 0x0154, 0x0154, + 0x0156, 0x0156, + 0x0158, 0x0158, + 0x015a, 0x015a, + 0x015c, 0x015c, + 0x015e, 0x015e, + 0x0160, 0x0160, + 0x0162, 0x0162, + 0x0164, 0x0164, + 0x0166, 0x0166, + 0x0168, 0x0168, + 0x016a, 0x016a, + 0x016c, 0x016c, + 0x016e, 0x016e, + 0x0170, 0x0170, + 0x0172, 0x0172, + 0x0174, 0x0174, + 0x0176, 0x0176, + 0x0178, 0x0179, + 0x017b, 0x017b, + 0x017d, 0x017d, + 0x017f, 0x017f, + 0x0181, 0x0182, + 0x0184, 0x0184, + 0x0186, 0x0187, + 0x0189, 0x018b, + 0x018e, 0x0191, + 0x0193, 0x0194, + 0x0196, 0x0198, + 0x019c, 0x019d, + 0x019f, 0x01a0, + 0x01a2, 0x01a2, + 0x01a4, 0x01a4, + 0x01a6, 0x01a7, + 0x01a9, 0x01a9, + 0x01ac, 0x01ac, + 0x01ae, 0x01af, + 0x01b1, 0x01b3, + 0x01b5, 0x01b5, + 0x01b7, 0x01b8, + 0x01bc, 0x01bc, + 0x01c4, 0x01c5, + 0x01c7, 0x01c8, + 0x01ca, 0x01cb, + 0x01cd, 0x01cd, + 0x01cf, 0x01cf, + 0x01d1, 0x01d1, + 0x01d3, 0x01d3, + 0x01d5, 0x01d5, + 0x01d7, 0x01d7, + 0x01d9, 0x01d9, + 0x01db, 0x01db, + 0x01de, 0x01de, + 0x01e0, 0x01e0, + 0x01e2, 0x01e2, + 0x01e4, 0x01e4, + 0x01e6, 0x01e6, + 0x01e8, 0x01e8, + 0x01ea, 0x01ea, + 0x01ec, 0x01ec, + 0x01ee, 0x01ee, + 0x01f1, 0x01f2, + 0x01f4, 0x01f4, + 0x01f6, 0x01f8, + 0x01fa, 0x01fa, + 0x01fc, 0x01fc, + 0x01fe, 0x01fe, + 0x0200, 0x0200, + 0x0202, 0x0202, + 0x0204, 0x0204, + 0x0206, 0x0206, + 0x0208, 0x0208, + 0x020a, 0x020a, + 0x020c, 0x020c, + 0x020e, 0x020e, + 0x0210, 0x0210, + 0x0212, 0x0212, + 0x0214, 0x0214, + 0x0216, 0x0216, + 0x0218, 0x0218, + 0x021a, 0x021a, + 0x021c, 0x021c, + 0x021e, 0x021e, + 0x0220, 0x0220, + 0x0222, 0x0222, + 0x0224, 0x0224, + 0x0226, 0x0226, + 0x0228, 0x0228, + 0x022a, 0x022a, + 0x022c, 0x022c, + 0x022e, 0x022e, + 0x0230, 0x0230, + 0x0232, 0x0232, + 0x023a, 0x023b, + 0x023d, 0x023e, + 0x0241, 0x0241, + 0x0243, 0x0246, + 0x0248, 0x0248, + 0x024a, 0x024a, + 0x024c, 0x024c, + 0x024e, 0x024e, + 0x0345, 0x0345, + 0x0370, 0x0370, + 0x0372, 0x0372, + 0x0376, 0x0376, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x038f, + 0x0391, 0x03a1, + 0x03a3, 0x03ab, + 0x03c2, 0x03c2, + 0x03cf, 0x03d1, + 0x03d5, 0x03d6, + 0x03d8, 0x03d8, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03e2, + 0x03e4, 0x03e4, + 0x03e6, 0x03e6, + 0x03e8, 0x03e8, + 0x03ea, 0x03ea, + 0x03ec, 0x03ec, + 0x03ee, 0x03ee, + 0x03f0, 0x03f1, + 0x03f4, 0x03f5, + 0x03f7, 0x03f7, + 0x03f9, 0x03fa, + 0x03fd, 0x042f, + 0x0460, 0x0460, + 0x0462, 0x0462, + 0x0464, 0x0464, + 0x0466, 0x0466, + 0x0468, 0x0468, + 0x046a, 0x046a, + 0x046c, 0x046c, + 0x046e, 0x046e, + 0x0470, 0x0470, + 0x0472, 0x0472, + 0x0474, 0x0474, + 0x0476, 0x0476, + 0x0478, 0x0478, + 0x047a, 0x047a, + 0x047c, 0x047c, + 0x047e, 0x047e, + 0x0480, 0x0480, + 0x048a, 0x048a, + 0x048c, 0x048c, + 0x048e, 0x048e, + 0x0490, 0x0490, + 0x0492, 0x0492, + 0x0494, 0x0494, + 0x0496, 0x0496, + 0x0498, 0x0498, + 0x049a, 0x049a, + 0x049c, 0x049c, + 0x049e, 0x049e, + 0x04a0, 0x04a0, + 0x04a2, 0x04a2, + 0x04a4, 0x04a4, + 0x04a6, 0x04a6, + 0x04a8, 0x04a8, + 0x04aa, 0x04aa, + 0x04ac, 0x04ac, + 0x04ae, 0x04ae, + 0x04b0, 0x04b0, + 0x04b2, 0x04b2, + 0x04b4, 0x04b4, + 0x04b6, 0x04b6, + 0x04b8, 0x04b8, + 0x04ba, 0x04ba, + 0x04bc, 0x04bc, + 0x04be, 0x04be, + 0x04c0, 0x04c1, + 0x04c3, 0x04c3, + 0x04c5, 0x04c5, + 0x04c7, 0x04c7, + 0x04c9, 0x04c9, + 0x04cb, 0x04cb, + 0x04cd, 0x04cd, + 0x04d0, 0x04d0, + 0x04d2, 0x04d2, + 0x04d4, 0x04d4, + 0x04d6, 0x04d6, + 0x04d8, 0x04d8, + 0x04da, 0x04da, + 0x04dc, 0x04dc, + 0x04de, 0x04de, + 0x04e0, 0x04e0, + 0x04e2, 0x04e2, + 0x04e4, 0x04e4, + 0x04e6, 0x04e6, + 0x04e8, 0x04e8, + 0x04ea, 0x04ea, + 0x04ec, 0x04ec, + 0x04ee, 0x04ee, + 0x04f0, 0x04f0, + 0x04f2, 0x04f2, + 0x04f4, 0x04f4, + 0x04f6, 0x04f6, + 0x04f8, 0x04f8, + 0x04fa, 0x04fa, + 0x04fc, 0x04fc, + 0x04fe, 0x04fe, + 0x0500, 0x0500, + 0x0502, 0x0502, + 0x0504, 0x0504, + 0x0506, 0x0506, + 0x0508, 0x0508, + 0x050a, 0x050a, + 0x050c, 0x050c, + 0x050e, 0x050e, + 0x0510, 0x0510, + 0x0512, 0x0512, + 0x0514, 0x0514, + 0x0516, 0x0516, + 0x0518, 0x0518, + 0x051a, 0x051a, + 0x051c, 0x051c, + 0x051e, 0x051e, + 0x0520, 0x0520, + 0x0522, 0x0522, + 0x0524, 0x0524, + 0x0526, 0x0526, + 0x0531, 0x0556, + 0x0587, 0x0587, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1e00, 0x1e00, + 0x1e02, 0x1e02, + 0x1e04, 0x1e04, + 0x1e06, 0x1e06, + 0x1e08, 0x1e08, + 0x1e0a, 0x1e0a, + 0x1e0c, 0x1e0c, + 0x1e0e, 0x1e0e, + 0x1e10, 0x1e10, + 0x1e12, 0x1e12, + 0x1e14, 0x1e14, + 0x1e16, 0x1e16, + 0x1e18, 0x1e18, + 0x1e1a, 0x1e1a, + 0x1e1c, 0x1e1c, + 0x1e1e, 0x1e1e, + 0x1e20, 0x1e20, + 0x1e22, 0x1e22, + 0x1e24, 0x1e24, + 0x1e26, 0x1e26, + 0x1e28, 0x1e28, + 0x1e2a, 0x1e2a, + 0x1e2c, 0x1e2c, + 0x1e2e, 0x1e2e, + 0x1e30, 0x1e30, + 0x1e32, 0x1e32, + 0x1e34, 0x1e34, + 0x1e36, 0x1e36, + 0x1e38, 0x1e38, + 0x1e3a, 0x1e3a, + 0x1e3c, 0x1e3c, + 0x1e3e, 0x1e3e, + 0x1e40, 0x1e40, + 0x1e42, 0x1e42, + 0x1e44, 0x1e44, + 0x1e46, 0x1e46, + 0x1e48, 0x1e48, + 0x1e4a, 0x1e4a, + 0x1e4c, 0x1e4c, + 0x1e4e, 0x1e4e, + 0x1e50, 0x1e50, + 0x1e52, 0x1e52, + 0x1e54, 0x1e54, + 0x1e56, 0x1e56, + 0x1e58, 0x1e58, + 0x1e5a, 0x1e5a, + 0x1e5c, 0x1e5c, + 0x1e5e, 0x1e5e, + 0x1e60, 0x1e60, + 0x1e62, 0x1e62, + 0x1e64, 0x1e64, + 0x1e66, 0x1e66, + 0x1e68, 0x1e68, + 0x1e6a, 0x1e6a, + 0x1e6c, 0x1e6c, + 0x1e6e, 0x1e6e, + 0x1e70, 0x1e70, + 0x1e72, 0x1e72, + 0x1e74, 0x1e74, + 0x1e76, 0x1e76, + 0x1e78, 0x1e78, + 0x1e7a, 0x1e7a, + 0x1e7c, 0x1e7c, + 0x1e7e, 0x1e7e, + 0x1e80, 0x1e80, + 0x1e82, 0x1e82, + 0x1e84, 0x1e84, + 0x1e86, 0x1e86, + 0x1e88, 0x1e88, + 0x1e8a, 0x1e8a, + 0x1e8c, 0x1e8c, + 0x1e8e, 0x1e8e, + 0x1e90, 0x1e90, + 0x1e92, 0x1e92, + 0x1e94, 0x1e94, + 0x1e9a, 0x1e9b, + 0x1e9e, 0x1e9e, + 0x1ea0, 0x1ea0, + 0x1ea2, 0x1ea2, + 0x1ea4, 0x1ea4, + 0x1ea6, 0x1ea6, + 0x1ea8, 0x1ea8, + 0x1eaa, 0x1eaa, + 0x1eac, 0x1eac, + 0x1eae, 0x1eae, + 0x1eb0, 0x1eb0, + 0x1eb2, 0x1eb2, + 0x1eb4, 0x1eb4, + 0x1eb6, 0x1eb6, + 0x1eb8, 0x1eb8, + 0x1eba, 0x1eba, + 0x1ebc, 0x1ebc, + 0x1ebe, 0x1ebe, + 0x1ec0, 0x1ec0, + 0x1ec2, 0x1ec2, + 0x1ec4, 0x1ec4, + 0x1ec6, 0x1ec6, + 0x1ec8, 0x1ec8, + 0x1eca, 0x1eca, + 0x1ecc, 0x1ecc, + 0x1ece, 0x1ece, + 0x1ed0, 0x1ed0, + 0x1ed2, 0x1ed2, + 0x1ed4, 0x1ed4, + 0x1ed6, 0x1ed6, + 0x1ed8, 0x1ed8, + 0x1eda, 0x1eda, + 0x1edc, 0x1edc, + 0x1ede, 0x1ede, + 0x1ee0, 0x1ee0, + 0x1ee2, 0x1ee2, + 0x1ee4, 0x1ee4, + 0x1ee6, 0x1ee6, + 0x1ee8, 0x1ee8, + 0x1eea, 0x1eea, + 0x1eec, 0x1eec, + 0x1eee, 0x1eee, + 0x1ef0, 0x1ef0, + 0x1ef2, 0x1ef2, + 0x1ef4, 0x1ef4, + 0x1ef6, 0x1ef6, + 0x1ef8, 0x1ef8, + 0x1efa, 0x1efa, + 0x1efc, 0x1efc, + 0x1efe, 0x1efe, + 0x1f08, 0x1f0f, + 0x1f18, 0x1f1d, + 0x1f28, 0x1f2f, + 0x1f38, 0x1f3f, + 0x1f48, 0x1f4d, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f5f, + 0x1f68, 0x1f6f, + 0x1f80, 0x1faf, + 0x1fb2, 0x1fb4, + 0x1fb7, 0x1fbc, + 0x1fc2, 0x1fc4, + 0x1fc7, 0x1fcc, + 0x1fd8, 0x1fdb, + 0x1fe8, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff7, 0x1ffc, + 0x2126, 0x2126, + 0x212a, 0x212b, + 0x2132, 0x2132, + 0x2160, 0x216f, + 0x2183, 0x2183, + 0x24b6, 0x24cf, + 0x2c00, 0x2c2e, + 0x2c60, 0x2c60, + 0x2c62, 0x2c64, + 0x2c67, 0x2c67, + 0x2c69, 0x2c69, + 0x2c6b, 0x2c6b, + 0x2c6d, 0x2c70, + 0x2c72, 0x2c72, + 0x2c75, 0x2c75, + 0x2c7e, 0x2c80, + 0x2c82, 0x2c82, + 0x2c84, 0x2c84, + 0x2c86, 0x2c86, + 0x2c88, 0x2c88, + 0x2c8a, 0x2c8a, + 0x2c8c, 0x2c8c, + 0x2c8e, 0x2c8e, + 0x2c90, 0x2c90, + 0x2c92, 0x2c92, + 0x2c94, 0x2c94, + 0x2c96, 0x2c96, + 0x2c98, 0x2c98, + 0x2c9a, 0x2c9a, + 0x2c9c, 0x2c9c, + 0x2c9e, 0x2c9e, + 0x2ca0, 0x2ca0, + 0x2ca2, 0x2ca2, + 0x2ca4, 0x2ca4, + 0x2ca6, 0x2ca6, + 0x2ca8, 0x2ca8, + 0x2caa, 0x2caa, + 0x2cac, 0x2cac, + 0x2cae, 0x2cae, + 0x2cb0, 0x2cb0, + 0x2cb2, 0x2cb2, + 0x2cb4, 0x2cb4, + 0x2cb6, 0x2cb6, + 0x2cb8, 0x2cb8, + 0x2cba, 0x2cba, + 0x2cbc, 0x2cbc, + 0x2cbe, 0x2cbe, + 0x2cc0, 0x2cc0, + 0x2cc2, 0x2cc2, + 0x2cc4, 0x2cc4, + 0x2cc6, 0x2cc6, + 0x2cc8, 0x2cc8, + 0x2cca, 0x2cca, + 0x2ccc, 0x2ccc, + 0x2cce, 0x2cce, + 0x2cd0, 0x2cd0, + 0x2cd2, 0x2cd2, + 0x2cd4, 0x2cd4, + 0x2cd6, 0x2cd6, + 0x2cd8, 0x2cd8, + 0x2cda, 0x2cda, + 0x2cdc, 0x2cdc, + 0x2cde, 0x2cde, + 0x2ce0, 0x2ce0, + 0x2ce2, 0x2ce2, + 0x2ceb, 0x2ceb, + 0x2ced, 0x2ced, + 0x2cf2, 0x2cf2, + 0xa640, 0xa640, + 0xa642, 0xa642, + 0xa644, 0xa644, + 0xa646, 0xa646, + 0xa648, 0xa648, + 0xa64a, 0xa64a, + 0xa64c, 0xa64c, + 0xa64e, 0xa64e, + 0xa650, 0xa650, + 0xa652, 0xa652, + 0xa654, 0xa654, + 0xa656, 0xa656, + 0xa658, 0xa658, + 0xa65a, 0xa65a, + 0xa65c, 0xa65c, + 0xa65e, 0xa65e, + 0xa660, 0xa660, + 0xa662, 0xa662, + 0xa664, 0xa664, + 0xa666, 0xa666, + 0xa668, 0xa668, + 0xa66a, 0xa66a, + 0xa66c, 0xa66c, + 0xa680, 0xa680, + 0xa682, 0xa682, + 0xa684, 0xa684, + 0xa686, 0xa686, + 0xa688, 0xa688, + 0xa68a, 0xa68a, + 0xa68c, 0xa68c, + 0xa68e, 0xa68e, + 0xa690, 0xa690, + 0xa692, 0xa692, + 0xa694, 0xa694, + 0xa696, 0xa696, + 0xa722, 0xa722, + 0xa724, 0xa724, + 0xa726, 0xa726, + 0xa728, 0xa728, + 0xa72a, 0xa72a, + 0xa72c, 0xa72c, + 0xa72e, 0xa72e, + 0xa732, 0xa732, + 0xa734, 0xa734, + 0xa736, 0xa736, + 0xa738, 0xa738, + 0xa73a, 0xa73a, + 0xa73c, 0xa73c, + 0xa73e, 0xa73e, + 0xa740, 0xa740, + 0xa742, 0xa742, + 0xa744, 0xa744, + 0xa746, 0xa746, + 0xa748, 0xa748, + 0xa74a, 0xa74a, + 0xa74c, 0xa74c, + 0xa74e, 0xa74e, + 0xa750, 0xa750, + 0xa752, 0xa752, + 0xa754, 0xa754, + 0xa756, 0xa756, + 0xa758, 0xa758, + 0xa75a, 0xa75a, + 0xa75c, 0xa75c, + 0xa75e, 0xa75e, + 0xa760, 0xa760, + 0xa762, 0xa762, + 0xa764, 0xa764, + 0xa766, 0xa766, + 0xa768, 0xa768, + 0xa76a, 0xa76a, + 0xa76c, 0xa76c, + 0xa76e, 0xa76e, + 0xa779, 0xa779, + 0xa77b, 0xa77b, + 0xa77d, 0xa77e, + 0xa780, 0xa780, + 0xa782, 0xa782, + 0xa784, 0xa784, + 0xa786, 0xa786, + 0xa78b, 0xa78b, + 0xa78d, 0xa78d, + 0xa790, 0xa790, + 0xa792, 0xa792, + 0xa7a0, 0xa7a0, + 0xa7a2, 0xa7a2, + 0xa7a4, 0xa7a4, + 0xa7a6, 0xa7a6, + 0xa7a8, 0xa7a8, + 0xa7aa, 0xa7aa, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff21, 0xff3a, + 0x10400, 0x10427, +}; /* CR_Changes_When_Casefolded */ + +/* 'Changes_When_Casemapped': Derived Property */ +static const OnigCodePoint CR_Changes_When_Casemapped[] = { + 104, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00b5, 0x00b5, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x0137, + 0x0139, 0x018c, + 0x018e, 0x019a, + 0x019c, 0x01a9, + 0x01ac, 0x01b9, + 0x01bc, 0x01bd, + 0x01bf, 0x01bf, + 0x01c4, 0x0220, + 0x0222, 0x0233, + 0x023a, 0x0254, + 0x0256, 0x0257, + 0x0259, 0x0259, + 0x025b, 0x025b, + 0x0260, 0x0260, + 0x0263, 0x0263, + 0x0265, 0x0266, + 0x0268, 0x0269, + 0x026b, 0x026b, + 0x026f, 0x026f, + 0x0271, 0x0272, + 0x0275, 0x0275, + 0x027d, 0x027d, + 0x0280, 0x0280, + 0x0283, 0x0283, + 0x0288, 0x028c, + 0x0292, 0x0292, + 0x0345, 0x0345, + 0x0370, 0x0373, + 0x0376, 0x0377, + 0x037b, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03d1, + 0x03d5, 0x03f2, + 0x03f4, 0x03f5, + 0x03f7, 0x03fb, + 0x03fd, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0561, 0x0587, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x1d79, 0x1d79, + 0x1d7d, 0x1d7d, + 0x1e00, 0x1e9b, + 0x1e9e, 0x1e9e, + 0x1ea0, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2126, 0x2126, + 0x212a, 0x212b, + 0x2132, 0x2132, + 0x214e, 0x214e, + 0x2160, 0x217f, + 0x2183, 0x2184, + 0x24b6, 0x24e9, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2c70, + 0x2c72, 0x2c73, + 0x2c75, 0x2c76, + 0x2c7e, 0x2ce3, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0xa640, 0xa66d, + 0xa680, 0xa697, + 0xa722, 0xa72f, + 0xa732, 0xa76f, + 0xa779, 0xa787, + 0xa78b, 0xa78d, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0x10400, 0x1044f, +}; /* CR_Changes_When_Casemapped */ + +/* 'ID_Start': Derived Property */ +static const OnigCodePoint CR_ID_Start[] = { + 488, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0370, 0x0374, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0620, 0x064a, + 0x066e, 0x066f, + 0x0671, 0x06d3, + 0x06d5, 0x06d5, + 0x06e5, 0x06e6, + 0x06ee, 0x06ef, + 0x06fa, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x0710, + 0x0712, 0x072f, + 0x074d, 0x07a5, + 0x07b1, 0x07b1, + 0x07ca, 0x07ea, + 0x07f4, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x0815, + 0x081a, 0x081a, + 0x0824, 0x0824, + 0x0828, 0x0828, + 0x0840, 0x0858, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x0904, 0x0939, + 0x093d, 0x093d, + 0x0950, 0x0950, + 0x0958, 0x0961, + 0x0971, 0x0977, + 0x0979, 0x097f, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bd, 0x09bd, + 0x09ce, 0x09ce, + 0x09dc, 0x09dd, + 0x09df, 0x09e1, + 0x09f0, 0x09f1, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a72, 0x0a74, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abd, 0x0abd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae1, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3d, 0x0b3d, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b61, + 0x0b71, 0x0b71, + 0x0b83, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bd0, 0x0bd0, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c3d, + 0x0c58, 0x0c59, + 0x0c60, 0x0c61, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbd, 0x0cbd, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce1, + 0x0cf1, 0x0cf2, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d3d, + 0x0d4e, 0x0d4e, + 0x0d60, 0x0d61, + 0x0d7a, 0x0d7f, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0e01, 0x0e30, + 0x0e32, 0x0e33, + 0x0e40, 0x0e46, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb0, + 0x0eb2, 0x0eb3, + 0x0ebd, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f40, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f88, 0x0f8c, + 0x1000, 0x102a, + 0x103f, 0x103f, + 0x1050, 0x1055, + 0x105a, 0x105d, + 0x1061, 0x1061, + 0x1065, 0x1066, + 0x106e, 0x1070, + 0x1075, 0x1081, + 0x108e, 0x108e, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1711, + 0x1720, 0x1731, + 0x1740, 0x1751, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1780, 0x17b3, + 0x17d7, 0x17d7, + 0x17dc, 0x17dc, + 0x1820, 0x1877, + 0x1880, 0x18a8, + 0x18aa, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1950, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19c1, 0x19c7, + 0x1a00, 0x1a16, + 0x1a20, 0x1a54, + 0x1aa7, 0x1aa7, + 0x1b05, 0x1b33, + 0x1b45, 0x1b4b, + 0x1b83, 0x1ba0, + 0x1bae, 0x1baf, + 0x1bba, 0x1be5, + 0x1c00, 0x1c23, + 0x1c4d, 0x1c4f, + 0x1c5a, 0x1c7d, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf1, + 0x1cf5, 0x1cf6, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2118, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x3005, 0x3007, + 0x3021, 0x3029, + 0x3031, 0x3035, + 0x3038, 0x303c, + 0x3041, 0x3096, + 0x309b, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa48c, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa61f, + 0xa62a, 0xa62b, + 0xa640, 0xa66e, + 0xa67f, 0xa697, + 0xa6a0, 0xa6ef, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa822, + 0xa840, 0xa873, + 0xa882, 0xa8b3, + 0xa8f2, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa90a, 0xa925, + 0xa930, 0xa946, + 0xa960, 0xa97c, + 0xa984, 0xa9b2, + 0xa9cf, 0xa9cf, + 0xaa00, 0xaa28, + 0xaa40, 0xaa42, + 0xaa44, 0xaa4b, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7a, + 0xaa80, 0xaaaf, + 0xaab1, 0xaab1, + 0xaab5, 0xaab6, + 0xaab9, 0xaabd, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaea, + 0xaaf2, 0xaaf4, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabe2, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb1d, + 0xfb1f, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfb, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0xff66, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10140, 0x10174, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, + 0x10400, 0x1049d, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a00, + 0x10a10, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11003, 0x11037, + 0x11083, 0x110af, + 0x110d0, 0x110e8, + 0x11103, 0x11126, + 0x11183, 0x111b2, + 0x111c1, 0x111c4, + 0x11680, 0x116aa, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f50, + 0x16f93, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_ID_Start */ + +/* 'ID_Continue': Derived Property */ +static const OnigCodePoint CR_ID_Continue[] = { + 564, + 0x0030, 0x0039, + 0x0041, 0x005a, + 0x005f, 0x005f, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00b7, 0x00b7, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0300, 0x0374, + 0x0376, 0x0377, + 0x037a, 0x037d, + 0x0386, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x0483, 0x0487, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0610, 0x061a, + 0x0620, 0x0669, + 0x066e, 0x06d3, + 0x06d5, 0x06dc, + 0x06df, 0x06e8, + 0x06ea, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x074a, + 0x074d, 0x07b1, + 0x07c0, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x082d, + 0x0840, 0x085b, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0963, + 0x0966, 0x096f, + 0x0971, 0x0977, + 0x0979, 0x097f, + 0x0981, 0x0983, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bc, 0x09c4, + 0x09c7, 0x09c8, + 0x09cb, 0x09ce, + 0x09d7, 0x09d7, + 0x09dc, 0x09dd, + 0x09df, 0x09e3, + 0x09e6, 0x09f1, + 0x0a01, 0x0a03, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a3c, 0x0a3c, + 0x0a3e, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a66, 0x0a75, + 0x0a81, 0x0a83, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abc, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0aef, + 0x0b01, 0x0b03, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3c, 0x0b44, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4d, + 0x0b56, 0x0b57, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b63, + 0x0b66, 0x0b6f, + 0x0b71, 0x0b71, + 0x0b82, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bbe, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcd, + 0x0bd0, 0x0bd0, + 0x0bd7, 0x0bd7, + 0x0be6, 0x0bef, + 0x0c01, 0x0c03, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c44, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c58, 0x0c59, + 0x0c60, 0x0c63, + 0x0c66, 0x0c6f, + 0x0c82, 0x0c83, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbc, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccd, + 0x0cd5, 0x0cd6, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce3, + 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, + 0x0d02, 0x0d03, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d44, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4e, + 0x0d57, 0x0d57, + 0x0d60, 0x0d63, + 0x0d66, 0x0d6f, + 0x0d7a, 0x0d7f, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df3, + 0x0e01, 0x0e3a, + 0x0e40, 0x0e4e, + 0x0e50, 0x0e59, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb9, + 0x0ebb, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0ec8, 0x0ecd, + 0x0ed0, 0x0ed9, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f18, 0x0f19, + 0x0f20, 0x0f29, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f3e, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f71, 0x0f84, + 0x0f86, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fc6, 0x0fc6, + 0x1000, 0x1049, + 0x1050, 0x109d, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135d, 0x135f, + 0x1369, 0x1371, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1714, + 0x1720, 0x1734, + 0x1740, 0x1753, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1772, 0x1773, + 0x1780, 0x17d3, + 0x17d7, 0x17d7, + 0x17dc, 0x17dd, + 0x17e0, 0x17e9, + 0x180b, 0x180d, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x1946, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19da, + 0x1a00, 0x1a1b, + 0x1a20, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa7, 0x1aa7, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b59, + 0x1b6b, 0x1b73, + 0x1b80, 0x1bf3, + 0x1c00, 0x1c37, + 0x1c40, 0x1c49, + 0x1c4d, 0x1c7d, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x203f, 0x2040, + 0x2054, 0x2054, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x20d0, 0x20dc, + 0x20e1, 0x20e1, + 0x20e5, 0x20f0, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2118, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d7f, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2de0, 0x2dff, + 0x3005, 0x3007, + 0x3021, 0x302f, + 0x3031, 0x3035, + 0x3038, 0x303c, + 0x3041, 0x3096, + 0x3099, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa48c, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa62b, + 0xa640, 0xa66f, + 0xa674, 0xa67d, + 0xa67f, 0xa697, + 0xa69f, 0xa6f1, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa827, + 0xa840, 0xa873, + 0xa880, 0xa8c4, + 0xa8d0, 0xa8d9, + 0xa8e0, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa900, 0xa92d, + 0xa930, 0xa953, + 0xa960, 0xa97c, + 0xa980, 0xa9c0, + 0xa9cf, 0xa9d9, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7b, + 0xaa80, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaef, + 0xaaf2, 0xaaf6, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabea, + 0xabec, 0xabed, + 0xabf0, 0xabf9, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfb, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe26, + 0xfe33, 0xfe34, + 0xfe4d, 0xfe4f, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff10, 0xff19, + 0xff21, 0xff3a, + 0xff3f, 0xff3f, + 0xff41, 0xff5a, + 0xff66, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10140, 0x10174, + 0x101fd, 0x101fd, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11000, 0x11046, + 0x11066, 0x1106f, + 0x11080, 0x110ba, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x1113f, + 0x11180, 0x111c4, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d165, 0x1d169, + 0x1d16d, 0x1d172, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, + 0xe0100, 0xe01ef, +}; /* CR_ID_Continue */ + +/* 'XID_Start': Derived Property */ +static const OnigCodePoint CR_XID_Start[] = { + 495, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0370, 0x0374, + 0x0376, 0x0377, + 0x037b, 0x037d, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0620, 0x064a, + 0x066e, 0x066f, + 0x0671, 0x06d3, + 0x06d5, 0x06d5, + 0x06e5, 0x06e6, + 0x06ee, 0x06ef, + 0x06fa, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x0710, + 0x0712, 0x072f, + 0x074d, 0x07a5, + 0x07b1, 0x07b1, + 0x07ca, 0x07ea, + 0x07f4, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x0815, + 0x081a, 0x081a, + 0x0824, 0x0824, + 0x0828, 0x0828, + 0x0840, 0x0858, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x0904, 0x0939, + 0x093d, 0x093d, + 0x0950, 0x0950, + 0x0958, 0x0961, + 0x0971, 0x0977, + 0x0979, 0x097f, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bd, 0x09bd, + 0x09ce, 0x09ce, + 0x09dc, 0x09dd, + 0x09df, 0x09e1, + 0x09f0, 0x09f1, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a72, 0x0a74, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abd, 0x0abd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae1, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3d, 0x0b3d, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b61, + 0x0b71, 0x0b71, + 0x0b83, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bd0, 0x0bd0, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c3d, + 0x0c58, 0x0c59, + 0x0c60, 0x0c61, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbd, 0x0cbd, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce1, + 0x0cf1, 0x0cf2, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d3d, + 0x0d4e, 0x0d4e, + 0x0d60, 0x0d61, + 0x0d7a, 0x0d7f, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0e01, 0x0e30, + 0x0e32, 0x0e32, + 0x0e40, 0x0e46, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb0, + 0x0eb2, 0x0eb2, + 0x0ebd, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f40, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f88, 0x0f8c, + 0x1000, 0x102a, + 0x103f, 0x103f, + 0x1050, 0x1055, + 0x105a, 0x105d, + 0x1061, 0x1061, + 0x1065, 0x1066, + 0x106e, 0x1070, + 0x1075, 0x1081, + 0x108e, 0x108e, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1711, + 0x1720, 0x1731, + 0x1740, 0x1751, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1780, 0x17b3, + 0x17d7, 0x17d7, + 0x17dc, 0x17dc, + 0x1820, 0x1877, + 0x1880, 0x18a8, + 0x18aa, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1950, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19c1, 0x19c7, + 0x1a00, 0x1a16, + 0x1a20, 0x1a54, + 0x1aa7, 0x1aa7, + 0x1b05, 0x1b33, + 0x1b45, 0x1b4b, + 0x1b83, 0x1ba0, + 0x1bae, 0x1baf, + 0x1bba, 0x1be5, + 0x1c00, 0x1c23, + 0x1c4d, 0x1c4f, + 0x1c5a, 0x1c7d, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf1, + 0x1cf5, 0x1cf6, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2118, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x3005, 0x3007, + 0x3021, 0x3029, + 0x3031, 0x3035, + 0x3038, 0x303c, + 0x3041, 0x3096, + 0x309d, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa48c, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa61f, + 0xa62a, 0xa62b, + 0xa640, 0xa66e, + 0xa67f, 0xa697, + 0xa6a0, 0xa6ef, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa822, + 0xa840, 0xa873, + 0xa882, 0xa8b3, + 0xa8f2, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa90a, 0xa925, + 0xa930, 0xa946, + 0xa960, 0xa97c, + 0xa984, 0xa9b2, + 0xa9cf, 0xa9cf, + 0xaa00, 0xaa28, + 0xaa40, 0xaa42, + 0xaa44, 0xaa4b, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7a, + 0xaa80, 0xaaaf, + 0xaab1, 0xaab1, + 0xaab5, 0xaab6, + 0xaab9, 0xaabd, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaea, + 0xaaf2, 0xaaf4, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabe2, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb1d, + 0xfb1f, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfc5d, + 0xfc64, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdf9, + 0xfe71, 0xfe71, + 0xfe73, 0xfe73, + 0xfe77, 0xfe77, + 0xfe79, 0xfe79, + 0xfe7b, 0xfe7b, + 0xfe7d, 0xfe7d, + 0xfe7f, 0xfefc, + 0xff21, 0xff3a, + 0xff41, 0xff5a, + 0xff66, 0xff9d, + 0xffa0, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10140, 0x10174, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, + 0x10400, 0x1049d, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a00, + 0x10a10, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11003, 0x11037, + 0x11083, 0x110af, + 0x110d0, 0x110e8, + 0x11103, 0x11126, + 0x11183, 0x111b2, + 0x111c1, 0x111c4, + 0x11680, 0x116aa, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f50, + 0x16f93, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_XID_Start */ + +/* 'XID_Continue': Derived Property */ +static const OnigCodePoint CR_XID_Continue[] = { + 571, + 0x0030, 0x0039, + 0x0041, 0x005a, + 0x005f, 0x005f, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00b5, 0x00b5, + 0x00b7, 0x00b7, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02c1, + 0x02c6, 0x02d1, + 0x02e0, 0x02e4, + 0x02ec, 0x02ec, + 0x02ee, 0x02ee, + 0x0300, 0x0374, + 0x0376, 0x0377, + 0x037b, 0x037d, + 0x0386, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03f5, + 0x03f7, 0x0481, + 0x0483, 0x0487, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x0559, + 0x0561, 0x0587, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f2, + 0x0610, 0x061a, + 0x0620, 0x0669, + 0x066e, 0x06d3, + 0x06d5, 0x06dc, + 0x06df, 0x06e8, + 0x06ea, 0x06fc, + 0x06ff, 0x06ff, + 0x0710, 0x074a, + 0x074d, 0x07b1, + 0x07c0, 0x07f5, + 0x07fa, 0x07fa, + 0x0800, 0x082d, + 0x0840, 0x085b, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0963, + 0x0966, 0x096f, + 0x0971, 0x0977, + 0x0979, 0x097f, + 0x0981, 0x0983, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bc, 0x09c4, + 0x09c7, 0x09c8, + 0x09cb, 0x09ce, + 0x09d7, 0x09d7, + 0x09dc, 0x09dd, + 0x09df, 0x09e3, + 0x09e6, 0x09f1, + 0x0a01, 0x0a03, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a3c, 0x0a3c, + 0x0a3e, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a66, 0x0a75, + 0x0a81, 0x0a83, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abc, 0x0ac5, + 0x0ac7, 0x0ac9, + 0x0acb, 0x0acd, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0aef, + 0x0b01, 0x0b03, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3c, 0x0b44, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4d, + 0x0b56, 0x0b57, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b63, + 0x0b66, 0x0b6f, + 0x0b71, 0x0b71, + 0x0b82, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bbe, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcd, + 0x0bd0, 0x0bd0, + 0x0bd7, 0x0bd7, + 0x0be6, 0x0bef, + 0x0c01, 0x0c03, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c44, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c58, 0x0c59, + 0x0c60, 0x0c63, + 0x0c66, 0x0c6f, + 0x0c82, 0x0c83, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbc, 0x0cc4, + 0x0cc6, 0x0cc8, + 0x0cca, 0x0ccd, + 0x0cd5, 0x0cd6, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce3, + 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, + 0x0d02, 0x0d03, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d44, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4e, + 0x0d57, 0x0d57, + 0x0d60, 0x0d63, + 0x0d66, 0x0d6f, + 0x0d7a, 0x0d7f, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df3, + 0x0e01, 0x0e3a, + 0x0e40, 0x0e4e, + 0x0e50, 0x0e59, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb9, + 0x0ebb, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0ec8, 0x0ecd, + 0x0ed0, 0x0ed9, + 0x0edc, 0x0edf, + 0x0f00, 0x0f00, + 0x0f18, 0x0f19, + 0x0f20, 0x0f29, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f3e, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f71, 0x0f84, + 0x0f86, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fc6, 0x0fc6, + 0x1000, 0x1049, + 0x1050, 0x109d, + 0x10a0, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135d, 0x135f, + 0x1369, 0x1371, + 0x1380, 0x138f, + 0x13a0, 0x13f4, + 0x1401, 0x166c, + 0x166f, 0x167f, + 0x1681, 0x169a, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1714, + 0x1720, 0x1734, + 0x1740, 0x1753, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1772, 0x1773, + 0x1780, 0x17d3, + 0x17d7, 0x17d7, + 0x17dc, 0x17dd, + 0x17e0, 0x17e9, + 0x180b, 0x180d, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x1946, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19da, + 0x1a00, 0x1a1b, + 0x1a20, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa7, 0x1aa7, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b59, + 0x1b6b, 0x1b73, + 0x1b80, 0x1bf3, + 0x1c00, 0x1c37, + 0x1c40, 0x1c49, + 0x1c4d, 0x1c7d, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fbc, + 0x1fbe, 0x1fbe, + 0x1fc2, 0x1fc4, + 0x1fc6, 0x1fcc, + 0x1fd0, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fe0, 0x1fec, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffc, + 0x203f, 0x2040, + 0x2054, 0x2054, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x20d0, 0x20dc, + 0x20e1, 0x20e1, + 0x20e5, 0x20f0, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2118, 0x211d, + 0x2124, 0x2124, + 0x2126, 0x2126, + 0x2128, 0x2128, + 0x212a, 0x2139, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2ce4, + 0x2ceb, 0x2cf3, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d6f, + 0x2d7f, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2de0, 0x2dff, + 0x3005, 0x3007, + 0x3021, 0x302f, + 0x3031, 0x3035, + 0x3038, 0x303c, + 0x3041, 0x3096, + 0x3099, 0x309a, + 0x309d, 0x309f, + 0x30a1, 0x30fa, + 0x30fc, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x31a0, 0x31ba, + 0x31f0, 0x31ff, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xa000, 0xa48c, + 0xa4d0, 0xa4fd, + 0xa500, 0xa60c, + 0xa610, 0xa62b, + 0xa640, 0xa66f, + 0xa674, 0xa67d, + 0xa67f, 0xa697, + 0xa69f, 0xa6f1, + 0xa717, 0xa71f, + 0xa722, 0xa788, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa827, + 0xa840, 0xa873, + 0xa880, 0xa8c4, + 0xa8d0, 0xa8d9, + 0xa8e0, 0xa8f7, + 0xa8fb, 0xa8fb, + 0xa900, 0xa92d, + 0xa930, 0xa953, + 0xa960, 0xa97c, + 0xa980, 0xa9c0, + 0xa9cf, 0xa9d9, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa60, 0xaa76, + 0xaa7a, 0xaa7b, + 0xaa80, 0xaac2, + 0xaadb, 0xaadd, + 0xaae0, 0xaaef, + 0xaaf2, 0xaaf6, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabea, + 0xabec, 0xabed, + 0xabf0, 0xabf9, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb28, + 0xfb2a, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbb1, + 0xfbd3, 0xfc5d, + 0xfc64, 0xfd3d, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdf9, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe26, + 0xfe33, 0xfe34, + 0xfe4d, 0xfe4f, + 0xfe71, 0xfe71, + 0xfe73, 0xfe73, + 0xfe77, 0xfe77, + 0xfe79, 0xfe79, + 0xfe7b, 0xfe7b, + 0xfe7d, 0xfe7d, + 0xfe7f, 0xfefc, + 0xff10, 0xff19, + 0xff21, 0xff3a, + 0xff3f, 0xff3f, + 0xff41, 0xff5a, + 0xff66, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10140, 0x10174, + 0x101fd, 0x101fd, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x103a0, 0x103c3, + 0x103c8, 0x103cf, + 0x103d1, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10900, 0x10915, + 0x10920, 0x10939, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x10a60, 0x10a7c, + 0x10b00, 0x10b35, + 0x10b40, 0x10b55, + 0x10b60, 0x10b72, + 0x10c00, 0x10c48, + 0x11000, 0x11046, + 0x11066, 0x1106f, + 0x11080, 0x110ba, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x1113f, + 0x11180, 0x111c4, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d165, 0x1d169, + 0x1d16d, 0x1d172, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, + 0xe0100, 0xe01ef, +}; /* CR_XID_Continue */ + +/* 'Default_Ignorable_Code_Point': Derived Property */ +static const OnigCodePoint CR_Default_Ignorable_Code_Point[] = { + 15, + 0x00ad, 0x00ad, + 0x034f, 0x034f, + 0x115f, 0x1160, + 0x17b4, 0x17b5, + 0x180b, 0x180d, + 0x200b, 0x200f, + 0x202a, 0x202e, + 0x2060, 0x206f, + 0x3164, 0x3164, + 0xfe00, 0xfe0f, + 0xfeff, 0xfeff, + 0xffa0, 0xffa0, + 0xfff0, 0xfff8, + 0x1d173, 0x1d17a, + 0xe0000, 0xe0fff, +}; /* CR_Default_Ignorable_Code_Point */ + +/* 'Grapheme_Extend': Derived Property */ +static const OnigCodePoint CR_Grapheme_Extend[] = { + 232, + 0x0300, 0x036f, + 0x0483, 0x0489, + 0x0591, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x0610, 0x061a, + 0x064b, 0x065f, + 0x0670, 0x0670, + 0x06d6, 0x06dc, + 0x06df, 0x06e4, + 0x06e7, 0x06e8, + 0x06ea, 0x06ed, + 0x0711, 0x0711, + 0x0730, 0x074a, + 0x07a6, 0x07b0, + 0x07eb, 0x07f3, + 0x0816, 0x0819, + 0x081b, 0x0823, + 0x0825, 0x0827, + 0x0829, 0x082d, + 0x0859, 0x085b, + 0x08e4, 0x08fe, + 0x0900, 0x0902, + 0x093a, 0x093a, + 0x093c, 0x093c, + 0x0941, 0x0948, + 0x094d, 0x094d, + 0x0951, 0x0957, + 0x0962, 0x0963, + 0x0981, 0x0981, + 0x09bc, 0x09bc, + 0x09be, 0x09be, + 0x09c1, 0x09c4, + 0x09cd, 0x09cd, + 0x09d7, 0x09d7, + 0x09e2, 0x09e3, + 0x0a01, 0x0a02, + 0x0a3c, 0x0a3c, + 0x0a41, 0x0a42, + 0x0a47, 0x0a48, + 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, + 0x0a70, 0x0a71, + 0x0a75, 0x0a75, + 0x0a81, 0x0a82, + 0x0abc, 0x0abc, + 0x0ac1, 0x0ac5, + 0x0ac7, 0x0ac8, + 0x0acd, 0x0acd, + 0x0ae2, 0x0ae3, + 0x0b01, 0x0b01, + 0x0b3c, 0x0b3c, + 0x0b3e, 0x0b3f, + 0x0b41, 0x0b44, + 0x0b4d, 0x0b4d, + 0x0b56, 0x0b57, + 0x0b62, 0x0b63, + 0x0b82, 0x0b82, + 0x0bbe, 0x0bbe, + 0x0bc0, 0x0bc0, + 0x0bcd, 0x0bcd, + 0x0bd7, 0x0bd7, + 0x0c3e, 0x0c40, + 0x0c46, 0x0c48, + 0x0c4a, 0x0c4d, + 0x0c55, 0x0c56, + 0x0c62, 0x0c63, + 0x0cbc, 0x0cbc, + 0x0cbf, 0x0cbf, + 0x0cc2, 0x0cc2, + 0x0cc6, 0x0cc6, + 0x0ccc, 0x0ccd, + 0x0cd5, 0x0cd6, + 0x0ce2, 0x0ce3, + 0x0d3e, 0x0d3e, + 0x0d41, 0x0d44, + 0x0d4d, 0x0d4d, + 0x0d57, 0x0d57, + 0x0d62, 0x0d63, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dcf, + 0x0dd2, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0ddf, 0x0ddf, + 0x0e31, 0x0e31, + 0x0e34, 0x0e3a, + 0x0e47, 0x0e4e, + 0x0eb1, 0x0eb1, + 0x0eb4, 0x0eb9, + 0x0ebb, 0x0ebc, + 0x0ec8, 0x0ecd, + 0x0f18, 0x0f19, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f71, 0x0f7e, + 0x0f80, 0x0f84, + 0x0f86, 0x0f87, + 0x0f8d, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fc6, 0x0fc6, + 0x102d, 0x1030, + 0x1032, 0x1037, + 0x1039, 0x103a, + 0x103d, 0x103e, + 0x1058, 0x1059, + 0x105e, 0x1060, + 0x1071, 0x1074, + 0x1082, 0x1082, + 0x1085, 0x1086, + 0x108d, 0x108d, + 0x109d, 0x109d, + 0x135d, 0x135f, + 0x1712, 0x1714, + 0x1732, 0x1734, + 0x1752, 0x1753, + 0x1772, 0x1773, + 0x17b4, 0x17b5, + 0x17b7, 0x17bd, + 0x17c6, 0x17c6, + 0x17c9, 0x17d3, + 0x17dd, 0x17dd, + 0x180b, 0x180d, + 0x18a9, 0x18a9, + 0x1920, 0x1922, + 0x1927, 0x1928, + 0x1932, 0x1932, + 0x1939, 0x193b, + 0x1a17, 0x1a18, + 0x1a56, 0x1a56, + 0x1a58, 0x1a5e, + 0x1a60, 0x1a60, + 0x1a62, 0x1a62, + 0x1a65, 0x1a6c, + 0x1a73, 0x1a7c, + 0x1a7f, 0x1a7f, + 0x1b00, 0x1b03, + 0x1b34, 0x1b34, + 0x1b36, 0x1b3a, + 0x1b3c, 0x1b3c, + 0x1b42, 0x1b42, + 0x1b6b, 0x1b73, + 0x1b80, 0x1b81, + 0x1ba2, 0x1ba5, + 0x1ba8, 0x1ba9, + 0x1bab, 0x1bab, + 0x1be6, 0x1be6, + 0x1be8, 0x1be9, + 0x1bed, 0x1bed, + 0x1bef, 0x1bf1, + 0x1c2c, 0x1c33, + 0x1c36, 0x1c37, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1ce0, + 0x1ce2, 0x1ce8, + 0x1ced, 0x1ced, + 0x1cf4, 0x1cf4, + 0x1dc0, 0x1de6, + 0x1dfc, 0x1dff, + 0x200c, 0x200d, + 0x20d0, 0x20f0, + 0x2cef, 0x2cf1, + 0x2d7f, 0x2d7f, + 0x2de0, 0x2dff, + 0x302a, 0x302f, + 0x3099, 0x309a, + 0xa66f, 0xa672, + 0xa674, 0xa67d, + 0xa69f, 0xa69f, + 0xa6f0, 0xa6f1, + 0xa802, 0xa802, + 0xa806, 0xa806, + 0xa80b, 0xa80b, + 0xa825, 0xa826, + 0xa8c4, 0xa8c4, + 0xa8e0, 0xa8f1, + 0xa926, 0xa92d, + 0xa947, 0xa951, + 0xa980, 0xa982, + 0xa9b3, 0xa9b3, + 0xa9b6, 0xa9b9, + 0xa9bc, 0xa9bc, + 0xaa29, 0xaa2e, + 0xaa31, 0xaa32, + 0xaa35, 0xaa36, + 0xaa43, 0xaa43, + 0xaa4c, 0xaa4c, + 0xaab0, 0xaab0, + 0xaab2, 0xaab4, + 0xaab7, 0xaab8, + 0xaabe, 0xaabf, + 0xaac1, 0xaac1, + 0xaaec, 0xaaed, + 0xaaf6, 0xaaf6, + 0xabe5, 0xabe5, + 0xabe8, 0xabe8, + 0xabed, 0xabed, + 0xfb1e, 0xfb1e, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe26, + 0xff9e, 0xff9f, + 0x101fd, 0x101fd, + 0x10a01, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a0f, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a3f, + 0x11001, 0x11001, + 0x11038, 0x11046, + 0x11080, 0x11081, + 0x110b3, 0x110b6, + 0x110b9, 0x110ba, + 0x11100, 0x11102, + 0x11127, 0x1112b, + 0x1112d, 0x11134, + 0x11180, 0x11181, + 0x111b6, 0x111be, + 0x116ab, 0x116ab, + 0x116ad, 0x116ad, + 0x116b0, 0x116b5, + 0x116b7, 0x116b7, + 0x16f8f, 0x16f92, + 0x1d165, 0x1d165, + 0x1d167, 0x1d169, + 0x1d16e, 0x1d172, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0x1d242, 0x1d244, + 0xe0100, 0xe01ef, +}; /* CR_Grapheme_Extend */ + +/* 'Grapheme_Base': Derived Property */ +static const OnigCodePoint CR_Grapheme_Base[] = { + 643, + 0x0020, 0x007e, + 0x00a0, 0x00ac, + 0x00ae, 0x02ff, + 0x0370, 0x0377, + 0x037a, 0x037e, + 0x0384, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x0482, + 0x048a, 0x0527, + 0x0531, 0x0556, + 0x0559, 0x055f, + 0x0561, 0x0587, + 0x0589, 0x058a, + 0x058f, 0x058f, + 0x05be, 0x05be, + 0x05c0, 0x05c0, + 0x05c3, 0x05c3, + 0x05c6, 0x05c6, + 0x05d0, 0x05ea, + 0x05f0, 0x05f4, + 0x0606, 0x060f, + 0x061b, 0x061b, + 0x061e, 0x064a, + 0x0660, 0x066f, + 0x0671, 0x06d5, + 0x06de, 0x06de, + 0x06e5, 0x06e6, + 0x06e9, 0x06e9, + 0x06ee, 0x070d, + 0x0710, 0x0710, + 0x0712, 0x072f, + 0x074d, 0x07a5, + 0x07b1, 0x07b1, + 0x07c0, 0x07ea, + 0x07f4, 0x07fa, + 0x0800, 0x0815, + 0x081a, 0x081a, + 0x0824, 0x0824, + 0x0828, 0x0828, + 0x0830, 0x083e, + 0x0840, 0x0858, + 0x085e, 0x085e, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x0903, 0x0939, + 0x093b, 0x093b, + 0x093d, 0x0940, + 0x0949, 0x094c, + 0x094e, 0x0950, + 0x0958, 0x0961, + 0x0964, 0x0977, + 0x0979, 0x097f, + 0x0982, 0x0983, + 0x0985, 0x098c, + 0x098f, 0x0990, + 0x0993, 0x09a8, + 0x09aa, 0x09b0, + 0x09b2, 0x09b2, + 0x09b6, 0x09b9, + 0x09bd, 0x09bd, + 0x09bf, 0x09c0, + 0x09c7, 0x09c8, + 0x09cb, 0x09cc, + 0x09ce, 0x09ce, + 0x09dc, 0x09dd, + 0x09df, 0x09e1, + 0x09e6, 0x09fb, + 0x0a03, 0x0a03, + 0x0a05, 0x0a0a, + 0x0a0f, 0x0a10, + 0x0a13, 0x0a28, + 0x0a2a, 0x0a30, + 0x0a32, 0x0a33, + 0x0a35, 0x0a36, + 0x0a38, 0x0a39, + 0x0a3e, 0x0a40, + 0x0a59, 0x0a5c, + 0x0a5e, 0x0a5e, + 0x0a66, 0x0a6f, + 0x0a72, 0x0a74, + 0x0a83, 0x0a83, + 0x0a85, 0x0a8d, + 0x0a8f, 0x0a91, + 0x0a93, 0x0aa8, + 0x0aaa, 0x0ab0, + 0x0ab2, 0x0ab3, + 0x0ab5, 0x0ab9, + 0x0abd, 0x0ac0, + 0x0ac9, 0x0ac9, + 0x0acb, 0x0acc, + 0x0ad0, 0x0ad0, + 0x0ae0, 0x0ae1, + 0x0ae6, 0x0af1, + 0x0b02, 0x0b03, + 0x0b05, 0x0b0c, + 0x0b0f, 0x0b10, + 0x0b13, 0x0b28, + 0x0b2a, 0x0b30, + 0x0b32, 0x0b33, + 0x0b35, 0x0b39, + 0x0b3d, 0x0b3d, + 0x0b40, 0x0b40, + 0x0b47, 0x0b48, + 0x0b4b, 0x0b4c, + 0x0b5c, 0x0b5d, + 0x0b5f, 0x0b61, + 0x0b66, 0x0b77, + 0x0b83, 0x0b83, + 0x0b85, 0x0b8a, + 0x0b8e, 0x0b90, + 0x0b92, 0x0b95, + 0x0b99, 0x0b9a, + 0x0b9c, 0x0b9c, + 0x0b9e, 0x0b9f, + 0x0ba3, 0x0ba4, + 0x0ba8, 0x0baa, + 0x0bae, 0x0bb9, + 0x0bbf, 0x0bbf, + 0x0bc1, 0x0bc2, + 0x0bc6, 0x0bc8, + 0x0bca, 0x0bcc, + 0x0bd0, 0x0bd0, + 0x0be6, 0x0bfa, + 0x0c01, 0x0c03, + 0x0c05, 0x0c0c, + 0x0c0e, 0x0c10, + 0x0c12, 0x0c28, + 0x0c2a, 0x0c33, + 0x0c35, 0x0c39, + 0x0c3d, 0x0c3d, + 0x0c41, 0x0c44, + 0x0c58, 0x0c59, + 0x0c60, 0x0c61, + 0x0c66, 0x0c6f, + 0x0c78, 0x0c7f, + 0x0c82, 0x0c83, + 0x0c85, 0x0c8c, + 0x0c8e, 0x0c90, + 0x0c92, 0x0ca8, + 0x0caa, 0x0cb3, + 0x0cb5, 0x0cb9, + 0x0cbd, 0x0cbe, + 0x0cc0, 0x0cc1, + 0x0cc3, 0x0cc4, + 0x0cc7, 0x0cc8, + 0x0cca, 0x0ccb, + 0x0cde, 0x0cde, + 0x0ce0, 0x0ce1, + 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, + 0x0d02, 0x0d03, + 0x0d05, 0x0d0c, + 0x0d0e, 0x0d10, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d3d, + 0x0d3f, 0x0d40, + 0x0d46, 0x0d48, + 0x0d4a, 0x0d4c, + 0x0d4e, 0x0d4e, + 0x0d60, 0x0d61, + 0x0d66, 0x0d75, + 0x0d79, 0x0d7f, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0dd0, 0x0dd1, + 0x0dd8, 0x0dde, + 0x0df2, 0x0df4, + 0x0e01, 0x0e30, + 0x0e32, 0x0e33, + 0x0e3f, 0x0e46, + 0x0e4f, 0x0e5b, + 0x0e81, 0x0e82, + 0x0e84, 0x0e84, + 0x0e87, 0x0e88, + 0x0e8a, 0x0e8a, + 0x0e8d, 0x0e8d, + 0x0e94, 0x0e97, + 0x0e99, 0x0e9f, + 0x0ea1, 0x0ea3, + 0x0ea5, 0x0ea5, + 0x0ea7, 0x0ea7, + 0x0eaa, 0x0eab, + 0x0ead, 0x0eb0, + 0x0eb2, 0x0eb3, + 0x0ebd, 0x0ebd, + 0x0ec0, 0x0ec4, + 0x0ec6, 0x0ec6, + 0x0ed0, 0x0ed9, + 0x0edc, 0x0edf, + 0x0f00, 0x0f17, + 0x0f1a, 0x0f34, + 0x0f36, 0x0f36, + 0x0f38, 0x0f38, + 0x0f3a, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f7f, 0x0f7f, + 0x0f85, 0x0f85, + 0x0f88, 0x0f8c, + 0x0fbe, 0x0fc5, + 0x0fc7, 0x0fcc, + 0x0fce, 0x0fda, + 0x1000, 0x102c, + 0x1031, 0x1031, + 0x1038, 0x1038, + 0x103b, 0x103c, + 0x103f, 0x1057, + 0x105a, 0x105d, + 0x1061, 0x1070, + 0x1075, 0x1081, + 0x1083, 0x1084, + 0x1087, 0x108c, + 0x108e, 0x109c, + 0x109e, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x1360, 0x137c, + 0x1380, 0x1399, + 0x13a0, 0x13f4, + 0x1400, 0x169c, + 0x16a0, 0x16f0, + 0x1700, 0x170c, + 0x170e, 0x1711, + 0x1720, 0x1731, + 0x1735, 0x1736, + 0x1740, 0x1751, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1780, 0x17b3, + 0x17b6, 0x17b6, + 0x17be, 0x17c5, + 0x17c7, 0x17c8, + 0x17d4, 0x17dc, + 0x17e0, 0x17e9, + 0x17f0, 0x17f9, + 0x1800, 0x180a, + 0x180e, 0x180e, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18a8, + 0x18aa, 0x18aa, + 0x18b0, 0x18f5, + 0x1900, 0x191c, + 0x1923, 0x1926, + 0x1929, 0x192b, + 0x1930, 0x1931, + 0x1933, 0x1938, + 0x1940, 0x1940, + 0x1944, 0x196d, + 0x1970, 0x1974, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19da, + 0x19de, 0x1a16, + 0x1a19, 0x1a1b, + 0x1a1e, 0x1a55, + 0x1a57, 0x1a57, + 0x1a61, 0x1a61, + 0x1a63, 0x1a64, + 0x1a6d, 0x1a72, + 0x1a80, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa0, 0x1aad, + 0x1b04, 0x1b33, + 0x1b35, 0x1b35, + 0x1b3b, 0x1b3b, + 0x1b3d, 0x1b41, + 0x1b43, 0x1b4b, + 0x1b50, 0x1b6a, + 0x1b74, 0x1b7c, + 0x1b82, 0x1ba1, + 0x1ba6, 0x1ba7, + 0x1baa, 0x1baa, + 0x1bac, 0x1be5, + 0x1be7, 0x1be7, + 0x1bea, 0x1bec, + 0x1bee, 0x1bee, + 0x1bf2, 0x1bf3, + 0x1bfc, 0x1c2b, + 0x1c34, 0x1c35, + 0x1c3b, 0x1c49, + 0x1c4d, 0x1c7f, + 0x1cc0, 0x1cc7, + 0x1cd3, 0x1cd3, + 0x1ce1, 0x1ce1, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf3, + 0x1cf5, 0x1cf6, + 0x1d00, 0x1dbf, + 0x1e00, 0x1f15, + 0x1f18, 0x1f1d, + 0x1f20, 0x1f45, + 0x1f48, 0x1f4d, + 0x1f50, 0x1f57, + 0x1f59, 0x1f59, + 0x1f5b, 0x1f5b, + 0x1f5d, 0x1f5d, + 0x1f5f, 0x1f7d, + 0x1f80, 0x1fb4, + 0x1fb6, 0x1fc4, + 0x1fc6, 0x1fd3, + 0x1fd6, 0x1fdb, + 0x1fdd, 0x1fef, + 0x1ff2, 0x1ff4, + 0x1ff6, 0x1ffe, + 0x2000, 0x200a, + 0x2010, 0x2027, + 0x202f, 0x205f, + 0x2070, 0x2071, + 0x2074, 0x208e, + 0x2090, 0x209c, + 0x20a0, 0x20b9, + 0x2100, 0x2189, + 0x2190, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x2460, 0x26ff, + 0x2701, 0x2b4c, + 0x2b50, 0x2b59, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, + 0x2c60, 0x2cee, + 0x2cf2, 0x2cf3, + 0x2cf9, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d70, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0x2e00, 0x2e3b, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3000, 0x3029, + 0x3030, 0x303f, + 0x3041, 0x3096, + 0x309b, 0x30ff, + 0x3105, 0x312d, + 0x3131, 0x318e, + 0x3190, 0x31ba, + 0x31c0, 0x31e3, + 0x31f0, 0x321e, + 0x3220, 0x32fe, + 0x3300, 0x4db5, + 0x4dc0, 0x9fcc, + 0xa000, 0xa48c, + 0xa490, 0xa4c6, + 0xa4d0, 0xa62b, + 0xa640, 0xa66e, + 0xa673, 0xa673, + 0xa67e, 0xa697, + 0xa6a0, 0xa6ef, + 0xa6f2, 0xa6f7, + 0xa700, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa801, + 0xa803, 0xa805, + 0xa807, 0xa80a, + 0xa80c, 0xa824, + 0xa827, 0xa82b, + 0xa830, 0xa839, + 0xa840, 0xa877, + 0xa880, 0xa8c3, + 0xa8ce, 0xa8d9, + 0xa8f2, 0xa8fb, + 0xa900, 0xa925, + 0xa92e, 0xa946, + 0xa952, 0xa953, + 0xa95f, 0xa97c, + 0xa983, 0xa9b2, + 0xa9b4, 0xa9b5, + 0xa9ba, 0xa9bb, + 0xa9bd, 0xa9cd, + 0xa9cf, 0xa9d9, + 0xa9de, 0xa9df, + 0xaa00, 0xaa28, + 0xaa2f, 0xaa30, + 0xaa33, 0xaa34, + 0xaa40, 0xaa42, + 0xaa44, 0xaa4b, + 0xaa4d, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa5c, 0xaa7b, + 0xaa80, 0xaaaf, + 0xaab1, 0xaab1, + 0xaab5, 0xaab6, + 0xaab9, 0xaabd, + 0xaac0, 0xaac0, + 0xaac2, 0xaac2, + 0xaadb, 0xaaeb, + 0xaaee, 0xaaf5, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, + 0xabc0, 0xabe4, + 0xabe6, 0xabe7, + 0xabe9, 0xabec, + 0xabf0, 0xabf9, + 0xac00, 0xd7a3, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0xfb00, 0xfb06, + 0xfb13, 0xfb17, + 0xfb1d, 0xfb1d, + 0xfb1f, 0xfb36, + 0xfb38, 0xfb3c, + 0xfb3e, 0xfb3e, + 0xfb40, 0xfb41, + 0xfb43, 0xfb44, + 0xfb46, 0xfbc1, + 0xfbd3, 0xfd3f, + 0xfd50, 0xfd8f, + 0xfd92, 0xfdc7, + 0xfdf0, 0xfdfd, + 0xfe10, 0xfe19, + 0xfe30, 0xfe52, + 0xfe54, 0xfe66, + 0xfe68, 0xfe6b, + 0xfe70, 0xfe74, + 0xfe76, 0xfefc, + 0xff01, 0xff9d, + 0xffa0, 0xffbe, + 0xffc2, 0xffc7, + 0xffca, 0xffcf, + 0xffd2, 0xffd7, + 0xffda, 0xffdc, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfffc, 0xfffd, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, + 0x10100, 0x10102, + 0x10107, 0x10133, + 0x10137, 0x1018a, + 0x10190, 0x1019b, + 0x101d0, 0x101fc, + 0x10280, 0x1029c, + 0x102a0, 0x102d0, + 0x10300, 0x1031e, + 0x10320, 0x10323, + 0x10330, 0x1034a, + 0x10380, 0x1039d, + 0x1039f, 0x103c3, + 0x103c8, 0x103d5, + 0x10400, 0x1049d, + 0x104a0, 0x104a9, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x10855, + 0x10857, 0x1085f, + 0x10900, 0x1091b, + 0x1091f, 0x10939, + 0x1093f, 0x1093f, + 0x10980, 0x109b7, + 0x109be, 0x109bf, + 0x10a00, 0x10a00, + 0x10a10, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a40, 0x10a47, + 0x10a50, 0x10a58, + 0x10a60, 0x10a7f, + 0x10b00, 0x10b35, + 0x10b39, 0x10b55, + 0x10b58, 0x10b72, + 0x10b78, 0x10b7f, + 0x10c00, 0x10c48, + 0x10e60, 0x10e7e, + 0x11000, 0x11000, + 0x11002, 0x11037, + 0x11047, 0x1104d, + 0x11052, 0x1106f, + 0x11082, 0x110b2, + 0x110b7, 0x110b8, + 0x110bb, 0x110bc, + 0x110be, 0x110c1, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11103, 0x11126, + 0x1112c, 0x1112c, + 0x11136, 0x11143, + 0x11182, 0x111b5, + 0x111bf, 0x111c8, + 0x111d0, 0x111d9, + 0x11680, 0x116aa, + 0x116ac, 0x116ac, + 0x116ae, 0x116af, + 0x116b6, 0x116b6, + 0x116c0, 0x116c9, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x12470, 0x12473, + 0x13000, 0x1342e, + 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f93, 0x16f9f, + 0x1b000, 0x1b001, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d164, + 0x1d166, 0x1d166, + 0x1d16a, 0x1d16d, + 0x1d183, 0x1d184, + 0x1d18c, 0x1d1a9, + 0x1d1ae, 0x1d1dd, + 0x1d200, 0x1d241, + 0x1d245, 0x1d245, + 0x1d300, 0x1d356, + 0x1d360, 0x1d371, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_Grapheme_Base */ -/* 'Age_1_1': Derived Age 1.1 */ -static const OnigCodePoint CR_Age_1_1[] = { - 288, - 0x0000, 0x01f5, - 0x01fa, 0x0217, - 0x0250, 0x02a8, - 0x02b0, 0x02de, - 0x02e0, 0x02e9, - 0x0300, 0x0345, - 0x0360, 0x0361, - 0x0374, 0x0375, - 0x037a, 0x037a, +/* 'Grapheme_Link': Derived Property */ +static const OnigCodePoint CR_Grapheme_Link[] = { + 33, + 0x094d, 0x094d, + 0x09cd, 0x09cd, + 0x0a4d, 0x0a4d, + 0x0acd, 0x0acd, + 0x0b4d, 0x0b4d, + 0x0bcd, 0x0bcd, + 0x0c4d, 0x0c4d, + 0x0ccd, 0x0ccd, + 0x0d4d, 0x0d4d, + 0x0dca, 0x0dca, + 0x0e3a, 0x0e3a, + 0x0f84, 0x0f84, + 0x1039, 0x103a, + 0x1714, 0x1714, + 0x1734, 0x1734, + 0x17d2, 0x17d2, + 0x1a60, 0x1a60, + 0x1b44, 0x1b44, + 0x1baa, 0x1bab, + 0x1bf2, 0x1bf3, + 0x2d7f, 0x2d7f, + 0xa806, 0xa806, + 0xa8c4, 0xa8c4, + 0xa953, 0xa953, + 0xa9c0, 0xa9c0, + 0xaaf6, 0xaaf6, + 0xabed, 0xabed, + 0x10a3f, 0x10a3f, + 0x11046, 0x11046, + 0x110b9, 0x110b9, + 0x11133, 0x11134, + 0x111c0, 0x111c0, + 0x116b6, 0x116b6, +}; /* CR_Grapheme_Link */ + +/* 'Common': Script */ +static const OnigCodePoint CR_Common[] = { + 157, + 0x0000, 0x0040, + 0x005b, 0x0060, + 0x007b, 0x00a9, + 0x00ab, 0x00b9, + 0x00bb, 0x00bf, + 0x00d7, 0x00d7, + 0x00f7, 0x00f7, + 0x02b9, 0x02df, + 0x02e5, 0x02e9, + 0x02ec, 0x02ff, + 0x0374, 0x0374, 0x037e, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03ce, - 0x03d0, 0x03d6, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03f3, - 0x0401, 0x040c, - 0x040e, 0x044f, - 0x0451, 0x045c, - 0x045e, 0x0486, - 0x0490, 0x04c4, - 0x04c7, 0x04c8, - 0x04cb, 0x04cc, - 0x04d0, 0x04eb, - 0x04ee, 0x04f5, - 0x04f8, 0x04f9, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, + 0x0385, 0x0385, + 0x0387, 0x0387, 0x0589, 0x0589, - 0x05b0, 0x05b9, - 0x05bb, 0x05c3, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, 0x060c, 0x060c, 0x061b, 0x061b, 0x061f, 0x061f, - 0x0621, 0x063a, - 0x0640, 0x0652, - 0x0660, 0x066d, - 0x0670, 0x06b7, - 0x06ba, 0x06be, - 0x06c0, 0x06ce, - 0x06d0, 0x06ed, - 0x06f0, 0x06f9, - 0x0901, 0x0903, - 0x0905, 0x0939, - 0x093c, 0x094d, - 0x0950, 0x0954, - 0x0958, 0x0970, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09bc, - 0x09be, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cd, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09fa, - 0x0a02, 0x0a02, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a74, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8b, - 0x0a8d, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae0, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b36, 0x0b39, - 0x0b3c, 0x0b43, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b66, 0x0b70, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb5, - 0x0bb7, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd7, 0x0bd7, - 0x0be7, 0x0bf2, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3e, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c60, 0x0c61, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbe, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0ce6, 0x0cef, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3e, 0x0d43, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d61, - 0x0d66, 0x0d6f, - 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x10a0, 0x10c5, - 0x10d0, 0x10f6, + 0x0640, 0x0640, + 0x0660, 0x0669, + 0x06dd, 0x06dd, + 0x0964, 0x0965, + 0x0e3f, 0x0e3f, + 0x0fd5, 0x0fd8, 0x10fb, 0x10fb, - 0x1100, 0x1159, - 0x115f, 0x11a2, - 0x11a8, 0x11f9, - 0x1e00, 0x1e9a, - 0x1ea0, 0x1ef9, + 0x16eb, 0x16ed, + 0x1735, 0x1736, + 0x1802, 0x1803, + 0x1805, 0x1805, + 0x1cd3, 0x1cd3, + 0x1ce1, 0x1ce1, + 0x1ce9, 0x1cec, + 0x1cee, 0x1cf3, + 0x1cf5, 0x1cf6, + 0x2000, 0x200b, + 0x200e, 0x2064, + 0x206a, 0x2070, + 0x2074, 0x207e, + 0x2080, 0x208e, + 0x20a0, 0x20b9, + 0x2100, 0x2125, + 0x2127, 0x2129, + 0x212c, 0x2131, + 0x2133, 0x214d, + 0x214f, 0x215f, + 0x2189, 0x2189, + 0x2190, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x2460, 0x26ff, + 0x2701, 0x27ff, + 0x2900, 0x2b4c, + 0x2b50, 0x2b59, + 0x2e00, 0x2e3b, + 0x2ff0, 0x2ffb, + 0x3000, 0x3004, + 0x3006, 0x3006, + 0x3008, 0x3020, + 0x3030, 0x3037, + 0x303c, 0x303f, + 0x309b, 0x309c, + 0x30a0, 0x30a0, + 0x30fb, 0x30fc, + 0x3190, 0x319f, + 0x31c0, 0x31e3, + 0x3220, 0x325f, + 0x327f, 0x32cf, + 0x3358, 0x33ff, + 0x4dc0, 0x4dff, + 0xa700, 0xa721, + 0xa788, 0xa78a, + 0xa830, 0xa839, + 0xfd3e, 0xfd3f, + 0xfdfd, 0xfdfd, + 0xfe10, 0xfe19, + 0xfe30, 0xfe52, + 0xfe54, 0xfe66, + 0xfe68, 0xfe6b, + 0xfeff, 0xfeff, + 0xff01, 0xff20, + 0xff3b, 0xff40, + 0xff5b, 0xff65, + 0xff70, 0xff70, + 0xff9e, 0xff9f, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfff9, 0xfffd, + 0x10100, 0x10102, + 0x10107, 0x10133, + 0x10137, 0x1013f, + 0x10190, 0x1019b, + 0x101d0, 0x101fc, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d166, + 0x1d16a, 0x1d17a, + 0x1d183, 0x1d184, + 0x1d18c, 0x1d1a9, + 0x1d1ae, 0x1d1dd, + 0x1d300, 0x1d356, + 0x1d360, 0x1d371, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f1ff, + 0x1f201, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, +}; /* CR_Common */ + +/* 'Latin': Script */ +static const OnigCodePoint CR_Latin[] = { + 30, + 0x0041, 0x005a, + 0x0061, 0x007a, + 0x00aa, 0x00aa, + 0x00ba, 0x00ba, + 0x00c0, 0x00d6, + 0x00d8, 0x00f6, + 0x00f8, 0x02b8, + 0x02e0, 0x02e4, + 0x1d00, 0x1d25, + 0x1d2c, 0x1d5c, + 0x1d62, 0x1d65, + 0x1d6b, 0x1d77, + 0x1d79, 0x1dbe, + 0x1e00, 0x1eff, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x212a, 0x212b, + 0x2132, 0x2132, + 0x214e, 0x214e, + 0x2160, 0x2188, + 0x2c60, 0x2c7f, + 0xa722, 0xa787, + 0xa78b, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa7ff, + 0xfb00, 0xfb06, + 0xff21, 0xff3a, + 0xff41, 0xff5a, +}; /* CR_Latin */ + +/* 'Greek': Script */ +static const OnigCodePoint CR_Greek[] = { + 33, + 0x0370, 0x0373, + 0x0375, 0x0377, + 0x037a, 0x037d, + 0x0384, 0x0384, + 0x0386, 0x0386, + 0x0388, 0x038a, + 0x038c, 0x038c, + 0x038e, 0x03a1, + 0x03a3, 0x03e1, + 0x03f0, 0x03ff, + 0x1d26, 0x1d2a, + 0x1d5d, 0x1d61, + 0x1d66, 0x1d6a, + 0x1dbf, 0x1dbf, 0x1f00, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, @@ -15180,146 +16224,136 @@ static const OnigCodePoint CR_Age_1_1[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x202e, - 0x2030, 0x2046, - 0x206a, 0x2070, - 0x2074, 0x208e, - 0x20a0, 0x20aa, - 0x20d0, 0x20e1, - 0x2100, 0x2138, - 0x2153, 0x2182, - 0x2190, 0x21ea, - 0x2200, 0x22f1, - 0x2300, 0x2300, - 0x2302, 0x237a, - 0x2400, 0x2424, - 0x2440, 0x244a, - 0x2460, 0x24ea, - 0x2500, 0x2595, - 0x25a0, 0x25ef, - 0x2600, 0x2613, - 0x261a, 0x266f, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x2756, - 0x2758, 0x275e, - 0x2761, 0x2767, - 0x2776, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x3000, 0x3037, - 0x303f, 0x303f, - 0x3041, 0x3094, - 0x3099, 0x309e, - 0x30a1, 0x30fe, - 0x3105, 0x312c, - 0x3131, 0x318e, - 0x3190, 0x319f, - 0x3200, 0x321c, - 0x3220, 0x3243, - 0x3260, 0x327b, - 0x327f, 0x32b0, - 0x32c0, 0x32cb, - 0x32d0, 0x32fe, - 0x3300, 0x3376, - 0x337b, 0x33dd, - 0x33e0, 0x33fe, - 0x4e00, 0x9fa5, - 0xe000, 0xfa2d, - 0xfb00, 0xfb06, + 0x2126, 0x2126, + 0x10140, 0x1018a, + 0x1d200, 0x1d245, +}; /* CR_Greek */ + +/* 'Cyrillic': Script */ +static const OnigCodePoint CR_Cyrillic[] = { + 7, + 0x0400, 0x0484, + 0x0487, 0x0527, + 0x1d2b, 0x1d2b, + 0x1d78, 0x1d78, + 0x2de0, 0x2dff, + 0xa640, 0xa697, + 0xa69f, 0xa69f, +}; /* CR_Cyrillic */ + +/* 'Armenian': Script */ +static const OnigCodePoint CR_Armenian[] = { + 6, + 0x0531, 0x0556, + 0x0559, 0x055f, + 0x0561, 0x0587, + 0x058a, 0x058a, + 0x058f, 0x058f, 0xfb13, 0xfb17, - 0xfb1e, 0xfb36, +}; /* CR_Armenian */ + +/* 'Hebrew': Script */ +static const OnigCodePoint CR_Hebrew[] = { + 9, + 0x0591, 0x05c7, + 0x05d0, 0x05ea, + 0x05f0, 0x05f4, + 0xfb1d, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, + 0xfb46, 0xfb4f, +}; /* CR_Hebrew */ + +/* 'Arabic': Script */ +static const OnigCodePoint CR_Arabic[] = { + 56, + 0x0600, 0x0604, + 0x0606, 0x060b, + 0x060d, 0x061a, + 0x061e, 0x061e, + 0x0620, 0x063f, + 0x0641, 0x064a, + 0x0656, 0x065e, + 0x066a, 0x066f, + 0x0671, 0x06dc, + 0x06de, 0x06ff, + 0x0750, 0x077f, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0xfb50, 0xfbc1, + 0xfbd3, 0xfd3d, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe20, 0xfe23, - 0xfe30, 0xfe44, - 0xfe49, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe72, - 0xfe74, 0xfe74, + 0xfdf0, 0xfdfc, + 0xfe70, 0xfe74, 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xff5e, - 0xff61, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfffd, 0xffff, -}; /* CR_Age_1_1 */ + 0x10e60, 0x10e7e, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, +}; /* CR_Arabic */ -/* 'Age_2_0': Derived Age 2.0 */ -static const OnigCodePoint CR_Age_2_0[] = { - 312, - 0x0000, 0x01f5, - 0x01fa, 0x0217, - 0x0250, 0x02a8, - 0x02b0, 0x02de, - 0x02e0, 0x02e9, - 0x0300, 0x0345, - 0x0360, 0x0361, - 0x0374, 0x0375, - 0x037a, 0x037a, - 0x037e, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03ce, - 0x03d0, 0x03d6, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03f3, - 0x0401, 0x040c, - 0x040e, 0x044f, - 0x0451, 0x045c, - 0x045e, 0x0486, - 0x0490, 0x04c4, - 0x04c7, 0x04c8, - 0x04cb, 0x04cc, - 0x04d0, 0x04eb, - 0x04ee, 0x04f5, - 0x04f8, 0x04f9, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x0589, 0x0589, - 0x0591, 0x05a1, - 0x05a3, 0x05b9, - 0x05bb, 0x05c4, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0x060c, 0x060c, - 0x061b, 0x061b, - 0x061f, 0x061f, - 0x0621, 0x063a, - 0x0640, 0x0652, - 0x0660, 0x066d, - 0x0670, 0x06b7, - 0x06ba, 0x06be, - 0x06c0, 0x06ce, - 0x06d0, 0x06ed, - 0x06f0, 0x06f9, - 0x0901, 0x0903, - 0x0905, 0x0939, - 0x093c, 0x094d, - 0x0950, 0x0954, - 0x0958, 0x0970, +/* 'Syriac': Script */ +static const OnigCodePoint CR_Syriac[] = { + 3, + 0x0700, 0x070d, + 0x070f, 0x074a, + 0x074d, 0x074f, +}; /* CR_Syriac */ + +/* 'Thaana': Script */ +static const OnigCodePoint CR_Thaana[] = { + 1, + 0x0780, 0x07b1, +}; /* CR_Thaana */ + +/* 'Devanagari': Script */ +static const OnigCodePoint CR_Devanagari[] = { + 5, + 0x0900, 0x0950, + 0x0953, 0x0963, + 0x0966, 0x0977, + 0x0979, 0x097f, + 0xa8e0, 0xa8fb, +}; /* CR_Devanagari */ + +/* 'Bengali': Script */ +static const OnigCodePoint CR_Bengali[] = { + 14, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -15327,15 +16361,19 @@ static const OnigCodePoint CR_Age_2_0[] = { 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bc, 0x09bc, - 0x09be, 0x09c4, + 0x09bc, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09cd, + 0x09cb, 0x09ce, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09fa, - 0x0a02, 0x0a02, + 0x09e6, 0x09fb, +}; /* CR_Bengali */ + +/* 'Gurmukhi': Script */ +static const OnigCodePoint CR_Gurmukhi[] = { + 16, + 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, 0x0a13, 0x0a28, @@ -15347,12 +16385,17 @@ static const OnigCodePoint CR_Age_2_0[] = { 0x0a3e, 0x0a42, 0x0a47, 0x0a48, 0x0a4b, 0x0a4d, + 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, - 0x0a66, 0x0a74, + 0x0a66, 0x0a75, +}; /* CR_Gurmukhi */ + +/* 'Gujarati': Script */ +static const OnigCodePoint CR_Gujarati[] = { + 13, 0x0a81, 0x0a83, - 0x0a85, 0x0a8b, - 0x0a8d, 0x0a8d, + 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, 0x0a93, 0x0aa8, 0x0aaa, 0x0ab0, @@ -15362,22 +16405,32 @@ static const OnigCodePoint CR_Age_2_0[] = { 0x0ac7, 0x0ac9, 0x0acb, 0x0acd, 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae0, - 0x0ae6, 0x0aef, + 0x0ae0, 0x0ae3, + 0x0ae6, 0x0af1, +}; /* CR_Gujarati */ + +/* 'Oriya': Script */ +static const OnigCodePoint CR_Oriya[] = { + 14, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, 0x0b13, 0x0b28, 0x0b2a, 0x0b30, 0x0b32, 0x0b33, - 0x0b36, 0x0b39, - 0x0b3c, 0x0b43, + 0x0b35, 0x0b39, + 0x0b3c, 0x0b44, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b66, 0x0b70, + 0x0b5f, 0x0b63, + 0x0b66, 0x0b77, +}; /* CR_Oriya */ + +/* 'Tamil': Script */ +static const OnigCodePoint CR_Tamil[] = { + 16, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -15387,51 +16440,95 @@ static const OnigCodePoint CR_Age_2_0[] = { 0x0b9e, 0x0b9f, 0x0ba3, 0x0ba4, 0x0ba8, 0x0baa, - 0x0bae, 0x0bb5, - 0x0bb7, 0x0bb9, + 0x0bae, 0x0bb9, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, + 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0be7, 0x0bf2, + 0x0be6, 0x0bfa, +}; /* CR_Tamil */ + +/* 'Telugu': Script */ +static const OnigCodePoint CR_Telugu[] = { + 14, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, 0x0c12, 0x0c28, 0x0c2a, 0x0c33, 0x0c35, 0x0c39, - 0x0c3e, 0x0c44, + 0x0c3d, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4d, 0x0c55, 0x0c56, - 0x0c60, 0x0c61, + 0x0c58, 0x0c59, + 0x0c60, 0x0c63, 0x0c66, 0x0c6f, + 0x0c78, 0x0c7f, +}; /* CR_Telugu */ + +/* 'Kannada': Script */ +static const OnigCodePoint CR_Kannada[] = { + 14, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbe, 0x0cc4, + 0x0cbc, 0x0cc4, 0x0cc6, 0x0cc8, 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, + 0x0ce0, 0x0ce3, 0x0ce6, 0x0cef, + 0x0cf1, 0x0cf2, +}; /* CR_Kannada */ + +/* 'Malayalam': Script */ +static const OnigCodePoint CR_Malayalam[] = { + 11, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3e, 0x0d43, + 0x0d12, 0x0d3a, + 0x0d3d, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, + 0x0d4a, 0x0d4e, 0x0d57, 0x0d57, - 0x0d60, 0x0d61, - 0x0d66, 0x0d6f, + 0x0d60, 0x0d63, + 0x0d66, 0x0d75, + 0x0d79, 0x0d7f, +}; /* CR_Malayalam */ + +/* 'Sinhala': Script */ +static const OnigCodePoint CR_Sinhala[] = { + 11, + 0x0d82, 0x0d83, + 0x0d85, 0x0d96, + 0x0d9a, 0x0db1, + 0x0db3, 0x0dbb, + 0x0dbd, 0x0dbd, + 0x0dc0, 0x0dc6, + 0x0dca, 0x0dca, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df4, +}; /* CR_Sinhala */ + +/* 'Thai': Script */ +static const OnigCodePoint CR_Thai[] = { + 2, 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, + 0x0e40, 0x0e5b, +}; /* CR_Thai */ + +/* 'Lao': Script */ +static const OnigCodePoint CR_Lao[] = { + 18, 0x0e81, 0x0e82, 0x0e84, 0x0e84, 0x0e87, 0x0e88, @@ -15449,437 +16546,1362 @@ static const OnigCodePoint CR_Age_2_0[] = { 0x0ec6, 0x0ec6, 0x0ec8, 0x0ecd, 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f47, - 0x0f49, 0x0f69, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f95, - 0x0f97, 0x0f97, - 0x0f99, 0x0fad, - 0x0fb1, 0x0fb7, - 0x0fb9, 0x0fb9, + 0x0edc, 0x0edf, +}; /* CR_Lao */ + +/* 'Tibetan': Script */ +static const OnigCodePoint CR_Tibetan[] = { + 7, + 0x0f00, 0x0f47, + 0x0f49, 0x0f6c, + 0x0f71, 0x0f97, + 0x0f99, 0x0fbc, + 0x0fbe, 0x0fcc, + 0x0fce, 0x0fd4, + 0x0fd9, 0x0fda, +}; /* CR_Tibetan */ + +/* 'Myanmar': Script */ +static const OnigCodePoint CR_Myanmar[] = { + 2, + 0x1000, 0x109f, + 0xaa60, 0xaa7b, +}; /* CR_Myanmar */ + +/* 'Georgian': Script */ +static const OnigCodePoint CR_Georgian[] = { + 8, 0x10a0, 0x10c5, - 0x10d0, 0x10f6, - 0x10fb, 0x10fb, - 0x1100, 0x1159, - 0x115f, 0x11a2, - 0x11a8, 0x11f9, - 0x1e00, 0x1e9b, - 0x1ea0, 0x1ef9, - 0x1f00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2000, 0x202e, - 0x2030, 0x2046, - 0x206a, 0x2070, - 0x2074, 0x208e, - 0x20a0, 0x20ab, - 0x20d0, 0x20e1, - 0x2100, 0x2138, - 0x2153, 0x2182, - 0x2190, 0x21ea, - 0x2200, 0x22f1, - 0x2300, 0x2300, - 0x2302, 0x237a, - 0x2400, 0x2424, - 0x2440, 0x244a, - 0x2460, 0x24ea, - 0x2500, 0x2595, - 0x25a0, 0x25ef, - 0x2600, 0x2613, - 0x261a, 0x266f, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x2756, - 0x2758, 0x275e, - 0x2761, 0x2767, - 0x2776, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x3000, 0x3037, - 0x303f, 0x303f, - 0x3041, 0x3094, - 0x3099, 0x309e, - 0x30a1, 0x30fe, - 0x3105, 0x312c, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x10fa, + 0x10fc, 0x10ff, + 0x2d00, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, +}; /* CR_Georgian */ + +/* 'Hangul': Script */ +static const OnigCodePoint CR_Hangul[] = { + 14, + 0x1100, 0x11ff, + 0x302e, 0x302f, 0x3131, 0x318e, - 0x3190, 0x319f, - 0x3200, 0x321c, - 0x3220, 0x3243, - 0x3260, 0x327b, - 0x327f, 0x32b0, - 0x32c0, 0x32cb, - 0x32d0, 0x32fe, - 0x3300, 0x3376, - 0x337b, 0x33dd, - 0x33e0, 0x33fe, - 0x4e00, 0x9fa5, + 0x3200, 0x321e, + 0x3260, 0x327e, + 0xa960, 0xa97c, 0xac00, 0xd7a3, - 0xd800, 0xfa2d, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1e, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe20, 0xfe23, - 0xfe30, 0xfe44, - 0xfe49, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe72, - 0xfe74, 0xfe74, - 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xff5e, - 0xff61, 0xffbe, + 0xd7b0, 0xd7c6, + 0xd7cb, 0xd7fb, + 0xffa0, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfffd, 0xffff, - 0x1fffe, 0x1ffff, - 0x2fffe, 0x2ffff, - 0x3fffe, 0x3ffff, - 0x4fffe, 0x4ffff, - 0x5fffe, 0x5ffff, - 0x6fffe, 0x6ffff, - 0x7fffe, 0x7ffff, - 0x8fffe, 0x8ffff, - 0x9fffe, 0x9ffff, - 0xafffe, 0xaffff, - 0xbfffe, 0xbffff, - 0xcfffe, 0xcffff, - 0xdfffe, 0xdffff, - 0xefffe, 0x10ffff, -}; /* CR_Age_2_0 */ +}; /* CR_Hangul */ + +/* 'Ethiopic': Script */ +static const OnigCodePoint CR_Ethiopic[] = { + 32, + 0x1200, 0x1248, + 0x124a, 0x124d, + 0x1250, 0x1256, + 0x1258, 0x1258, + 0x125a, 0x125d, + 0x1260, 0x1288, + 0x128a, 0x128d, + 0x1290, 0x12b0, + 0x12b2, 0x12b5, + 0x12b8, 0x12be, + 0x12c0, 0x12c0, + 0x12c2, 0x12c5, + 0x12c8, 0x12d6, + 0x12d8, 0x1310, + 0x1312, 0x1315, + 0x1318, 0x135a, + 0x135d, 0x137c, + 0x1380, 0x1399, + 0x2d80, 0x2d96, + 0x2da0, 0x2da6, + 0x2da8, 0x2dae, + 0x2db0, 0x2db6, + 0x2db8, 0x2dbe, + 0x2dc0, 0x2dc6, + 0x2dc8, 0x2dce, + 0x2dd0, 0x2dd6, + 0x2dd8, 0x2dde, + 0xab01, 0xab06, + 0xab09, 0xab0e, + 0xab11, 0xab16, + 0xab20, 0xab26, + 0xab28, 0xab2e, +}; /* CR_Ethiopic */ + +/* 'Cherokee': Script */ +static const OnigCodePoint CR_Cherokee[] = { + 1, + 0x13a0, 0x13f4, +}; /* CR_Cherokee */ + +/* 'Canadian_Aboriginal': Script */ +static const OnigCodePoint CR_Canadian_Aboriginal[] = { + 2, + 0x1400, 0x167f, + 0x18b0, 0x18f5, +}; /* CR_Canadian_Aboriginal */ + +/* 'Ogham': Script */ +static const OnigCodePoint CR_Ogham[] = { + 1, + 0x1680, 0x169c, +}; /* CR_Ogham */ + +/* 'Runic': Script */ +static const OnigCodePoint CR_Runic[] = { + 2, + 0x16a0, 0x16ea, + 0x16ee, 0x16f0, +}; /* CR_Runic */ + +/* 'Khmer': Script */ +static const OnigCodePoint CR_Khmer[] = { + 4, + 0x1780, 0x17dd, + 0x17e0, 0x17e9, + 0x17f0, 0x17f9, + 0x19e0, 0x19ff, +}; /* CR_Khmer */ + +/* 'Mongolian': Script */ +static const OnigCodePoint CR_Mongolian[] = { + 6, + 0x1800, 0x1801, + 0x1804, 0x1804, + 0x1806, 0x180e, + 0x1810, 0x1819, + 0x1820, 0x1877, + 0x1880, 0x18aa, +}; /* CR_Mongolian */ + +/* 'Hiragana': Script */ +static const OnigCodePoint CR_Hiragana[] = { + 4, + 0x3041, 0x3096, + 0x309d, 0x309f, + 0x1b001, 0x1b001, + 0x1f200, 0x1f200, +}; /* CR_Hiragana */ + +/* 'Katakana': Script */ +static const OnigCodePoint CR_Katakana[] = { + 8, + 0x30a1, 0x30fa, + 0x30fd, 0x30ff, + 0x31f0, 0x31ff, + 0x32d0, 0x32fe, + 0x3300, 0x3357, + 0xff66, 0xff6f, + 0xff71, 0xff9d, + 0x1b000, 0x1b000, +}; /* CR_Katakana */ + +/* 'Bopomofo': Script */ +static const OnigCodePoint CR_Bopomofo[] = { + 3, + 0x02ea, 0x02eb, + 0x3105, 0x312d, + 0x31a0, 0x31ba, +}; /* CR_Bopomofo */ + +/* 'Han': Script */ +static const OnigCodePoint CR_Han[] = { + 15, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x3005, 0x3005, + 0x3007, 0x3007, + 0x3021, 0x3029, + 0x3038, 0x303b, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_Han */ + +/* 'Yi': Script */ +static const OnigCodePoint CR_Yi[] = { + 2, + 0xa000, 0xa48c, + 0xa490, 0xa4c6, +}; /* CR_Yi */ + +/* 'Old_Italic': Script */ +static const OnigCodePoint CR_Old_Italic[] = { + 2, + 0x10300, 0x1031e, + 0x10320, 0x10323, +}; /* CR_Old_Italic */ + +/* 'Gothic': Script */ +static const OnigCodePoint CR_Gothic[] = { + 1, + 0x10330, 0x1034a, +}; /* CR_Gothic */ + +/* 'Deseret': Script */ +static const OnigCodePoint CR_Deseret[] = { + 1, + 0x10400, 0x1044f, +}; /* CR_Deseret */ + +/* 'Inherited': Script */ +static const OnigCodePoint CR_Inherited[] = { + 25, + 0x0300, 0x036f, + 0x0485, 0x0486, + 0x064b, 0x0655, + 0x065f, 0x065f, + 0x0670, 0x0670, + 0x0951, 0x0952, + 0x1cd0, 0x1cd2, + 0x1cd4, 0x1ce0, + 0x1ce2, 0x1ce8, + 0x1ced, 0x1ced, + 0x1cf4, 0x1cf4, + 0x1dc0, 0x1de6, + 0x1dfc, 0x1dff, + 0x200c, 0x200d, + 0x20d0, 0x20f0, + 0x302a, 0x302d, + 0x3099, 0x309a, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe26, + 0x101fd, 0x101fd, + 0x1d167, 0x1d169, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, + 0xe0100, 0xe01ef, +}; /* CR_Inherited */ + +/* 'Tagalog': Script */ +static const OnigCodePoint CR_Tagalog[] = { + 2, + 0x1700, 0x170c, + 0x170e, 0x1714, +}; /* CR_Tagalog */ + +/* 'Hanunoo': Script */ +static const OnigCodePoint CR_Hanunoo[] = { + 1, + 0x1720, 0x1734, +}; /* CR_Hanunoo */ + +/* 'Buhid': Script */ +static const OnigCodePoint CR_Buhid[] = { + 1, + 0x1740, 0x1753, +}; /* CR_Buhid */ + +/* 'Tagbanwa': Script */ +static const OnigCodePoint CR_Tagbanwa[] = { + 3, + 0x1760, 0x176c, + 0x176e, 0x1770, + 0x1772, 0x1773, +}; /* CR_Tagbanwa */ + +/* 'Limbu': Script */ +static const OnigCodePoint CR_Limbu[] = { + 5, + 0x1900, 0x191c, + 0x1920, 0x192b, + 0x1930, 0x193b, + 0x1940, 0x1940, + 0x1944, 0x194f, +}; /* CR_Limbu */ + +/* 'Tai_Le': Script */ +static const OnigCodePoint CR_Tai_Le[] = { + 2, + 0x1950, 0x196d, + 0x1970, 0x1974, +}; /* CR_Tai_Le */ + +/* 'Linear_B': Script */ +static const OnigCodePoint CR_Linear_B[] = { + 7, + 0x10000, 0x1000b, + 0x1000d, 0x10026, + 0x10028, 0x1003a, + 0x1003c, 0x1003d, + 0x1003f, 0x1004d, + 0x10050, 0x1005d, + 0x10080, 0x100fa, +}; /* CR_Linear_B */ + +/* 'Ugaritic': Script */ +static const OnigCodePoint CR_Ugaritic[] = { + 2, + 0x10380, 0x1039d, + 0x1039f, 0x1039f, +}; /* CR_Ugaritic */ + +/* 'Shavian': Script */ +static const OnigCodePoint CR_Shavian[] = { + 1, + 0x10450, 0x1047f, +}; /* CR_Shavian */ + +/* 'Osmanya': Script */ +static const OnigCodePoint CR_Osmanya[] = { + 2, + 0x10480, 0x1049d, + 0x104a0, 0x104a9, +}; /* CR_Osmanya */ + +/* 'Cypriot': Script */ +static const OnigCodePoint CR_Cypriot[] = { + 6, + 0x10800, 0x10805, + 0x10808, 0x10808, + 0x1080a, 0x10835, + 0x10837, 0x10838, + 0x1083c, 0x1083c, + 0x1083f, 0x1083f, +}; /* CR_Cypriot */ + +/* 'Braille': Script */ +static const OnigCodePoint CR_Braille[] = { + 1, + 0x2800, 0x28ff, +}; /* CR_Braille */ + +/* 'Buginese': Script */ +static const OnigCodePoint CR_Buginese[] = { + 2, + 0x1a00, 0x1a1b, + 0x1a1e, 0x1a1f, +}; /* CR_Buginese */ + +/* 'Coptic': Script */ +static const OnigCodePoint CR_Coptic[] = { + 3, + 0x03e2, 0x03ef, + 0x2c80, 0x2cf3, + 0x2cf9, 0x2cff, +}; /* CR_Coptic */ + +/* 'New_Tai_Lue': Script */ +static const OnigCodePoint CR_New_Tai_Lue[] = { + 4, + 0x1980, 0x19ab, + 0x19b0, 0x19c9, + 0x19d0, 0x19da, + 0x19de, 0x19df, +}; /* CR_New_Tai_Lue */ + +/* 'Glagolitic': Script */ +static const OnigCodePoint CR_Glagolitic[] = { + 2, + 0x2c00, 0x2c2e, + 0x2c30, 0x2c5e, +}; /* CR_Glagolitic */ + +/* 'Tifinagh': Script */ +static const OnigCodePoint CR_Tifinagh[] = { + 3, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d70, + 0x2d7f, 0x2d7f, +}; /* CR_Tifinagh */ + +/* 'Syloti_Nagri': Script */ +static const OnigCodePoint CR_Syloti_Nagri[] = { + 1, + 0xa800, 0xa82b, +}; /* CR_Syloti_Nagri */ + +/* 'Old_Persian': Script */ +static const OnigCodePoint CR_Old_Persian[] = { + 2, + 0x103a0, 0x103c3, + 0x103c8, 0x103d5, +}; /* CR_Old_Persian */ + +/* 'Kharoshthi': Script */ +static const OnigCodePoint CR_Kharoshthi[] = { + 8, + 0x10a00, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a13, + 0x10a15, 0x10a17, + 0x10a19, 0x10a33, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a47, + 0x10a50, 0x10a58, +}; /* CR_Kharoshthi */ + +/* 'Balinese': Script */ +static const OnigCodePoint CR_Balinese[] = { + 2, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b7c, +}; /* CR_Balinese */ + +/* 'Cuneiform': Script */ +static const OnigCodePoint CR_Cuneiform[] = { + 3, + 0x12000, 0x1236e, + 0x12400, 0x12462, + 0x12470, 0x12473, +}; /* CR_Cuneiform */ + +/* 'Phoenician': Script */ +static const OnigCodePoint CR_Phoenician[] = { + 2, + 0x10900, 0x1091b, + 0x1091f, 0x1091f, +}; /* CR_Phoenician */ + +/* 'Phags_Pa': Script */ +static const OnigCodePoint CR_Phags_Pa[] = { + 1, + 0xa840, 0xa877, +}; /* CR_Phags_Pa */ + +/* 'Nko': Script */ +static const OnigCodePoint CR_Nko[] = { + 1, + 0x07c0, 0x07fa, +}; /* CR_Nko */ + +/* 'Sundanese': Script */ +static const OnigCodePoint CR_Sundanese[] = { + 2, + 0x1b80, 0x1bbf, + 0x1cc0, 0x1cc7, +}; /* CR_Sundanese */ + +/* 'Lepcha': Script */ +static const OnigCodePoint CR_Lepcha[] = { + 3, + 0x1c00, 0x1c37, + 0x1c3b, 0x1c49, + 0x1c4d, 0x1c4f, +}; /* CR_Lepcha */ + +/* 'Ol_Chiki': Script */ +static const OnigCodePoint CR_Ol_Chiki[] = { + 1, + 0x1c50, 0x1c7f, +}; /* CR_Ol_Chiki */ + +/* 'Vai': Script */ +static const OnigCodePoint CR_Vai[] = { + 1, + 0xa500, 0xa62b, +}; /* CR_Vai */ + +/* 'Saurashtra': Script */ +static const OnigCodePoint CR_Saurashtra[] = { + 2, + 0xa880, 0xa8c4, + 0xa8ce, 0xa8d9, +}; /* CR_Saurashtra */ + +/* 'Kayah_Li': Script */ +static const OnigCodePoint CR_Kayah_Li[] = { + 1, + 0xa900, 0xa92f, +}; /* CR_Kayah_Li */ + +/* 'Rejang': Script */ +static const OnigCodePoint CR_Rejang[] = { + 2, + 0xa930, 0xa953, + 0xa95f, 0xa95f, +}; /* CR_Rejang */ + +/* 'Lycian': Script */ +static const OnigCodePoint CR_Lycian[] = { + 1, + 0x10280, 0x1029c, +}; /* CR_Lycian */ + +/* 'Carian': Script */ +static const OnigCodePoint CR_Carian[] = { + 1, + 0x102a0, 0x102d0, +}; /* CR_Carian */ + +/* 'Lydian': Script */ +static const OnigCodePoint CR_Lydian[] = { + 2, + 0x10920, 0x10939, + 0x1093f, 0x1093f, +}; /* CR_Lydian */ + +/* 'Cham': Script */ +static const OnigCodePoint CR_Cham[] = { + 4, + 0xaa00, 0xaa36, + 0xaa40, 0xaa4d, + 0xaa50, 0xaa59, + 0xaa5c, 0xaa5f, +}; /* CR_Cham */ + +/* 'Tai_Tham': Script */ +static const OnigCodePoint CR_Tai_Tham[] = { + 5, + 0x1a20, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, + 0x1a90, 0x1a99, + 0x1aa0, 0x1aad, +}; /* CR_Tai_Tham */ + +/* 'Tai_Viet': Script */ +static const OnigCodePoint CR_Tai_Viet[] = { + 2, + 0xaa80, 0xaac2, + 0xaadb, 0xaadf, +}; /* CR_Tai_Viet */ + +/* 'Avestan': Script */ +static const OnigCodePoint CR_Avestan[] = { + 2, + 0x10b00, 0x10b35, + 0x10b39, 0x10b3f, +}; /* CR_Avestan */ + +/* 'Egyptian_Hieroglyphs': Script */ +static const OnigCodePoint CR_Egyptian_Hieroglyphs[] = { + 1, + 0x13000, 0x1342e, +}; /* CR_Egyptian_Hieroglyphs */ + +/* 'Samaritan': Script */ +static const OnigCodePoint CR_Samaritan[] = { + 2, + 0x0800, 0x082d, + 0x0830, 0x083e, +}; /* CR_Samaritan */ + +/* 'Lisu': Script */ +static const OnigCodePoint CR_Lisu[] = { + 1, + 0xa4d0, 0xa4ff, +}; /* CR_Lisu */ + +/* 'Bamum': Script */ +static const OnigCodePoint CR_Bamum[] = { + 2, + 0xa6a0, 0xa6f7, + 0x16800, 0x16a38, +}; /* CR_Bamum */ + +/* 'Javanese': Script */ +static const OnigCodePoint CR_Javanese[] = { + 3, + 0xa980, 0xa9cd, + 0xa9cf, 0xa9d9, + 0xa9de, 0xa9df, +}; /* CR_Javanese */ + +/* 'Meetei_Mayek': Script */ +static const OnigCodePoint CR_Meetei_Mayek[] = { + 3, + 0xaae0, 0xaaf6, + 0xabc0, 0xabed, + 0xabf0, 0xabf9, +}; /* CR_Meetei_Mayek */ + +/* 'Imperial_Aramaic': Script */ +static const OnigCodePoint CR_Imperial_Aramaic[] = { + 2, + 0x10840, 0x10855, + 0x10857, 0x1085f, +}; /* CR_Imperial_Aramaic */ + +/* 'Old_South_Arabian': Script */ +static const OnigCodePoint CR_Old_South_Arabian[] = { + 1, + 0x10a60, 0x10a7f, +}; /* CR_Old_South_Arabian */ + +/* 'Inscriptional_Parthian': Script */ +static const OnigCodePoint CR_Inscriptional_Parthian[] = { + 2, + 0x10b40, 0x10b55, + 0x10b58, 0x10b5f, +}; /* CR_Inscriptional_Parthian */ + +/* 'Inscriptional_Pahlavi': Script */ +static const OnigCodePoint CR_Inscriptional_Pahlavi[] = { + 2, + 0x10b60, 0x10b72, + 0x10b78, 0x10b7f, +}; /* CR_Inscriptional_Pahlavi */ + +/* 'Old_Turkic': Script */ +static const OnigCodePoint CR_Old_Turkic[] = { + 1, + 0x10c00, 0x10c48, +}; /* CR_Old_Turkic */ + +/* 'Kaithi': Script */ +static const OnigCodePoint CR_Kaithi[] = { + 1, + 0x11080, 0x110c1, +}; /* CR_Kaithi */ + +/* 'Batak': Script */ +static const OnigCodePoint CR_Batak[] = { + 2, + 0x1bc0, 0x1bf3, + 0x1bfc, 0x1bff, +}; /* CR_Batak */ + +/* 'Brahmi': Script */ +static const OnigCodePoint CR_Brahmi[] = { + 2, + 0x11000, 0x1104d, + 0x11052, 0x1106f, +}; /* CR_Brahmi */ + +/* 'Mandaic': Script */ +static const OnigCodePoint CR_Mandaic[] = { + 2, + 0x0840, 0x085b, + 0x085e, 0x085e, +}; /* CR_Mandaic */ + +/* 'Chakma': Script */ +static const OnigCodePoint CR_Chakma[] = { + 2, + 0x11100, 0x11134, + 0x11136, 0x11143, +}; /* CR_Chakma */ + +/* 'Meroitic_Cursive': Script */ +static const OnigCodePoint CR_Meroitic_Cursive[] = { + 2, + 0x109a0, 0x109b7, + 0x109be, 0x109bf, +}; /* CR_Meroitic_Cursive */ + +/* 'Meroitic_Hieroglyphs': Script */ +static const OnigCodePoint CR_Meroitic_Hieroglyphs[] = { + 1, + 0x10980, 0x1099f, +}; /* CR_Meroitic_Hieroglyphs */ + +/* 'Miao': Script */ +static const OnigCodePoint CR_Miao[] = { + 3, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, +}; /* CR_Miao */ + +/* 'Sharada': Script */ +static const OnigCodePoint CR_Sharada[] = { + 2, + 0x11180, 0x111c8, + 0x111d0, 0x111d9, +}; /* CR_Sharada */ + +/* 'Sora_Sompeng': Script */ +static const OnigCodePoint CR_Sora_Sompeng[] = { + 2, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, +}; /* CR_Sora_Sompeng */ + +/* 'Takri': Script */ +static const OnigCodePoint CR_Takri[] = { + 2, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, +}; /* CR_Takri */ + +/* 'White_Space': Binary Property */ +#define CR_White_Space CR_Space + +/* 'Bidi_Control': Binary Property */ +static const OnigCodePoint CR_Bidi_Control[] = { + 2, + 0x200e, 0x200f, + 0x202a, 0x202e, +}; /* CR_Bidi_Control */ + +/* 'Join_Control': Binary Property */ +static const OnigCodePoint CR_Join_Control[] = { + 1, + 0x200c, 0x200d, +}; /* CR_Join_Control */ + +/* 'Dash': Binary Property */ +static const OnigCodePoint CR_Dash[] = { + 20, + 0x002d, 0x002d, + 0x058a, 0x058a, + 0x05be, 0x05be, + 0x1400, 0x1400, + 0x1806, 0x1806, + 0x2010, 0x2015, + 0x2053, 0x2053, + 0x207b, 0x207b, + 0x208b, 0x208b, + 0x2212, 0x2212, + 0x2e17, 0x2e17, + 0x2e1a, 0x2e1a, + 0x2e3a, 0x2e3b, + 0x301c, 0x301c, + 0x3030, 0x3030, + 0x30a0, 0x30a0, + 0xfe31, 0xfe32, + 0xfe58, 0xfe58, + 0xfe63, 0xfe63, + 0xff0d, 0xff0d, +}; /* CR_Dash */ -/* 'Age_2_1': Derived Age 2.1 */ -static const OnigCodePoint CR_Age_2_1[] = { - 312, - 0x0000, 0x01f5, - 0x01fa, 0x0217, - 0x0250, 0x02a8, - 0x02b0, 0x02de, - 0x02e0, 0x02e9, - 0x0300, 0x0345, - 0x0360, 0x0361, - 0x0374, 0x0375, - 0x037a, 0x037a, +/* 'Hyphen': Binary Property */ +static const OnigCodePoint CR_Hyphen[] = { + 10, + 0x002d, 0x002d, + 0x00ad, 0x00ad, + 0x058a, 0x058a, + 0x1806, 0x1806, + 0x2010, 0x2011, + 0x2e17, 0x2e17, + 0x30fb, 0x30fb, + 0xfe63, 0xfe63, + 0xff0d, 0xff0d, + 0xff65, 0xff65, +}; /* CR_Hyphen */ + +/* 'Quotation_Mark': Binary Property */ +static const OnigCodePoint CR_Quotation_Mark[] = { + 12, + 0x0022, 0x0022, + 0x0027, 0x0027, + 0x00ab, 0x00ab, + 0x00bb, 0x00bb, + 0x2018, 0x201f, + 0x2039, 0x203a, + 0x300c, 0x300f, + 0x301d, 0x301f, + 0xfe41, 0xfe44, + 0xff02, 0xff02, + 0xff07, 0xff07, + 0xff62, 0xff63, +}; /* CR_Quotation_Mark */ + +/* 'Terminal_Punctuation': Binary Property */ +static const OnigCodePoint CR_Terminal_Punctuation[] = { + 70, + 0x0021, 0x0021, + 0x002c, 0x002c, + 0x002e, 0x002e, + 0x003a, 0x003b, + 0x003f, 0x003f, 0x037e, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03ce, - 0x03d0, 0x03d6, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03f3, - 0x0401, 0x040c, - 0x040e, 0x044f, - 0x0451, 0x045c, - 0x045e, 0x0486, - 0x0490, 0x04c4, - 0x04c7, 0x04c8, - 0x04cb, 0x04cc, - 0x04d0, 0x04eb, - 0x04ee, 0x04f5, - 0x04f8, 0x04f9, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, + 0x0387, 0x0387, 0x0589, 0x0589, - 0x0591, 0x05a1, - 0x05a3, 0x05b9, - 0x05bb, 0x05c4, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, + 0x05c3, 0x05c3, 0x060c, 0x060c, 0x061b, 0x061b, 0x061f, 0x061f, - 0x0621, 0x063a, - 0x0640, 0x0652, - 0x0660, 0x066d, - 0x0670, 0x06b7, - 0x06ba, 0x06be, - 0x06c0, 0x06ce, - 0x06d0, 0x06ed, - 0x06f0, 0x06f9, - 0x0901, 0x0903, - 0x0905, 0x0939, - 0x093c, 0x094d, - 0x0950, 0x0954, - 0x0958, 0x0970, + 0x06d4, 0x06d4, + 0x0700, 0x070a, + 0x070c, 0x070c, + 0x07f8, 0x07f9, + 0x0830, 0x083e, + 0x085e, 0x085e, + 0x0964, 0x0965, + 0x0e5a, 0x0e5b, + 0x0f08, 0x0f08, + 0x0f0d, 0x0f12, + 0x104a, 0x104b, + 0x1361, 0x1368, + 0x166d, 0x166e, + 0x16eb, 0x16ed, + 0x17d4, 0x17d6, + 0x17da, 0x17da, + 0x1802, 0x1805, + 0x1808, 0x1809, + 0x1944, 0x1945, + 0x1aa8, 0x1aab, + 0x1b5a, 0x1b5b, + 0x1b5d, 0x1b5f, + 0x1c3b, 0x1c3f, + 0x1c7e, 0x1c7f, + 0x203c, 0x203d, + 0x2047, 0x2049, + 0x2e2e, 0x2e2e, + 0x3001, 0x3002, + 0xa4fe, 0xa4ff, + 0xa60d, 0xa60f, + 0xa6f3, 0xa6f7, + 0xa876, 0xa877, + 0xa8ce, 0xa8cf, + 0xa92f, 0xa92f, + 0xa9c7, 0xa9c9, + 0xaa5d, 0xaa5f, + 0xaadf, 0xaadf, + 0xaaf0, 0xaaf1, + 0xabeb, 0xabeb, + 0xfe50, 0xfe52, + 0xfe54, 0xfe57, + 0xff01, 0xff01, + 0xff0c, 0xff0c, + 0xff0e, 0xff0e, + 0xff1a, 0xff1b, + 0xff1f, 0xff1f, + 0xff61, 0xff61, + 0xff64, 0xff64, + 0x1039f, 0x1039f, + 0x103d0, 0x103d0, + 0x10857, 0x10857, + 0x1091f, 0x1091f, + 0x10b3a, 0x10b3f, + 0x11047, 0x1104d, + 0x110be, 0x110c1, + 0x11141, 0x11143, + 0x111c5, 0x111c6, + 0x12470, 0x12473, +}; /* CR_Terminal_Punctuation */ + +/* 'Other_Math': Binary Property */ +static const OnigCodePoint CR_Other_Math[] = { + 133, + 0x005e, 0x005e, + 0x03d0, 0x03d2, + 0x03d5, 0x03d5, + 0x03f0, 0x03f1, + 0x03f4, 0x03f5, + 0x2016, 0x2016, + 0x2032, 0x2034, + 0x2040, 0x2040, + 0x2061, 0x2064, + 0x207d, 0x207e, + 0x208d, 0x208e, + 0x20d0, 0x20dc, + 0x20e1, 0x20e1, + 0x20e5, 0x20e6, + 0x20eb, 0x20ef, + 0x2102, 0x2102, + 0x2107, 0x2107, + 0x210a, 0x2113, + 0x2115, 0x2115, + 0x2119, 0x211d, + 0x2124, 0x2124, + 0x2128, 0x2129, + 0x212c, 0x212d, + 0x212f, 0x2131, + 0x2133, 0x2138, + 0x213c, 0x213f, + 0x2145, 0x2149, + 0x2195, 0x2199, + 0x219c, 0x219f, + 0x21a1, 0x21a2, + 0x21a4, 0x21a5, + 0x21a7, 0x21a7, + 0x21a9, 0x21ad, + 0x21b0, 0x21b1, + 0x21b6, 0x21b7, + 0x21bc, 0x21cd, + 0x21d0, 0x21d1, + 0x21d3, 0x21d3, + 0x21d5, 0x21db, + 0x21dd, 0x21dd, + 0x21e4, 0x21e5, + 0x23b4, 0x23b5, + 0x23b7, 0x23b7, + 0x23d0, 0x23d0, + 0x23e2, 0x23e2, + 0x25a0, 0x25a1, + 0x25ae, 0x25b6, + 0x25bc, 0x25c0, + 0x25c6, 0x25c7, + 0x25ca, 0x25cb, + 0x25cf, 0x25d3, + 0x25e2, 0x25e2, + 0x25e4, 0x25e4, + 0x25e7, 0x25ec, + 0x2605, 0x2606, + 0x2640, 0x2640, + 0x2642, 0x2642, + 0x2660, 0x2663, + 0x266d, 0x266e, + 0x27c5, 0x27c6, + 0x27e6, 0x27ef, + 0x2983, 0x2998, + 0x29d8, 0x29db, + 0x29fc, 0x29fd, + 0xfe61, 0xfe61, + 0xfe63, 0xfe63, + 0xfe68, 0xfe68, + 0xff3c, 0xff3c, + 0xff3e, 0xff3e, + 0x1d400, 0x1d454, + 0x1d456, 0x1d49c, + 0x1d49e, 0x1d49f, + 0x1d4a2, 0x1d4a2, + 0x1d4a5, 0x1d4a6, + 0x1d4a9, 0x1d4ac, + 0x1d4ae, 0x1d4b9, + 0x1d4bb, 0x1d4bb, + 0x1d4bd, 0x1d4c3, + 0x1d4c5, 0x1d505, + 0x1d507, 0x1d50a, + 0x1d50d, 0x1d514, + 0x1d516, 0x1d51c, + 0x1d51e, 0x1d539, + 0x1d53b, 0x1d53e, + 0x1d540, 0x1d544, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d6c0, + 0x1d6c2, 0x1d6da, + 0x1d6dc, 0x1d6fa, + 0x1d6fc, 0x1d714, + 0x1d716, 0x1d734, + 0x1d736, 0x1d74e, + 0x1d750, 0x1d76e, + 0x1d770, 0x1d788, + 0x1d78a, 0x1d7a8, + 0x1d7aa, 0x1d7c2, + 0x1d7c4, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, +}; /* CR_Other_Math */ + +/* 'Hex_Digit': Binary Property */ +static const OnigCodePoint CR_Hex_Digit[] = { + 6, + 0x0030, 0x0039, + 0x0041, 0x0046, + 0x0061, 0x0066, + 0xff10, 0xff19, + 0xff21, 0xff26, + 0xff41, 0xff46, +}; /* CR_Hex_Digit */ + +/* 'ASCII_Hex_Digit': Binary Property */ +#define CR_ASCII_Hex_Digit CR_XDigit + +/* 'Other_Alphabetic': Binary Property */ +static const OnigCodePoint CR_Other_Alphabetic[] = { + 158, + 0x0345, 0x0345, + 0x05b0, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c5, + 0x05c7, 0x05c7, + 0x0610, 0x061a, + 0x064b, 0x0657, + 0x0659, 0x065f, + 0x0670, 0x0670, + 0x06d6, 0x06dc, + 0x06e1, 0x06e4, + 0x06e7, 0x06e8, + 0x06ed, 0x06ed, + 0x0711, 0x0711, + 0x0730, 0x073f, + 0x07a6, 0x07b0, + 0x0816, 0x0817, + 0x081b, 0x0823, + 0x0825, 0x0827, + 0x0829, 0x082c, + 0x08e4, 0x08e9, + 0x08f0, 0x08fe, + 0x0900, 0x0903, + 0x093a, 0x093b, + 0x093e, 0x094c, + 0x094e, 0x094f, + 0x0955, 0x0957, + 0x0962, 0x0963, 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09bc, 0x09be, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09cd, + 0x09cb, 0x09cc, 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09fa, - 0x0a02, 0x0a02, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, + 0x09e2, 0x09e3, + 0x0a01, 0x0a03, 0x0a3e, 0x0a42, 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a74, + 0x0a4b, 0x0a4c, + 0x0a51, 0x0a51, + 0x0a70, 0x0a71, + 0x0a75, 0x0a75, 0x0a81, 0x0a83, - 0x0a85, 0x0a8b, - 0x0a8d, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, + 0x0abe, 0x0ac5, 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae0, - 0x0ae6, 0x0aef, + 0x0acb, 0x0acc, + 0x0ae2, 0x0ae3, 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b36, 0x0b39, - 0x0b3c, 0x0b43, + 0x0b3e, 0x0b44, 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, + 0x0b4b, 0x0b4c, 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b66, 0x0b70, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb5, - 0x0bb7, 0x0bb9, + 0x0b62, 0x0b63, + 0x0b82, 0x0b82, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, + 0x0bca, 0x0bcc, 0x0bd7, 0x0bd7, - 0x0be7, 0x0bf2, 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, 0x0c3e, 0x0c44, 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, + 0x0c4a, 0x0c4c, 0x0c55, 0x0c56, - 0x0c60, 0x0c61, - 0x0c66, 0x0c6f, + 0x0c62, 0x0c63, 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, 0x0cbe, 0x0cc4, 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, + 0x0cca, 0x0ccc, 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0ce6, 0x0cef, + 0x0ce2, 0x0ce3, 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3e, 0x0d43, + 0x0d3e, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, + 0x0d4a, 0x0d4c, 0x0d57, 0x0d57, - 0x0d60, 0x0d61, - 0x0d66, 0x0d6f, - 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, + 0x0d62, 0x0d63, + 0x0d82, 0x0d83, + 0x0dcf, 0x0dd4, + 0x0dd6, 0x0dd6, + 0x0dd8, 0x0ddf, + 0x0df2, 0x0df3, + 0x0e31, 0x0e31, + 0x0e34, 0x0e3a, + 0x0e4d, 0x0e4d, + 0x0eb1, 0x0eb1, + 0x0eb4, 0x0eb9, + 0x0ebb, 0x0ebc, + 0x0ecd, 0x0ecd, + 0x0f71, 0x0f81, + 0x0f8d, 0x0f97, + 0x0f99, 0x0fbc, + 0x102b, 0x1036, + 0x1038, 0x1038, + 0x103b, 0x103e, + 0x1056, 0x1059, + 0x105e, 0x1060, + 0x1062, 0x1062, + 0x1067, 0x1068, + 0x1071, 0x1074, + 0x1082, 0x1086, + 0x109c, 0x109d, + 0x135f, 0x135f, + 0x1712, 0x1713, + 0x1732, 0x1733, + 0x1752, 0x1753, + 0x1772, 0x1773, + 0x17b6, 0x17c8, + 0x18a9, 0x18a9, + 0x1920, 0x192b, + 0x1930, 0x1938, + 0x19b0, 0x19c0, + 0x19c8, 0x19c9, + 0x1a17, 0x1a1b, + 0x1a55, 0x1a5e, + 0x1a61, 0x1a74, + 0x1b00, 0x1b04, + 0x1b35, 0x1b43, + 0x1b80, 0x1b82, + 0x1ba1, 0x1ba9, + 0x1bac, 0x1bad, + 0x1be7, 0x1bf1, + 0x1c24, 0x1c35, + 0x1cf2, 0x1cf3, + 0x24b6, 0x24e9, + 0x2de0, 0x2dff, + 0xa674, 0xa67b, + 0xa69f, 0xa69f, + 0xa823, 0xa827, + 0xa880, 0xa881, + 0xa8b4, 0xa8c3, + 0xa926, 0xa92a, + 0xa947, 0xa952, + 0xa980, 0xa983, + 0xa9b4, 0xa9bf, + 0xaa29, 0xaa36, + 0xaa43, 0xaa43, + 0xaa4c, 0xaa4d, + 0xaab0, 0xaab0, + 0xaab2, 0xaab4, + 0xaab7, 0xaab8, + 0xaabe, 0xaabe, + 0xaaeb, 0xaaef, + 0xaaf5, 0xaaf5, + 0xabe3, 0xabea, + 0xfb1e, 0xfb1e, + 0x10a01, 0x10a03, + 0x10a05, 0x10a06, + 0x10a0c, 0x10a0f, + 0x11000, 0x11002, + 0x11038, 0x11045, + 0x11082, 0x11082, + 0x110b0, 0x110b8, + 0x11100, 0x11102, + 0x11127, 0x11132, + 0x11180, 0x11182, + 0x111b3, 0x111bf, + 0x116ab, 0x116b5, + 0x16f51, 0x16f7e, +}; /* CR_Other_Alphabetic */ + +/* 'Ideographic': Binary Property */ +static const OnigCodePoint CR_Ideographic[] = { + 11, + 0x3006, 0x3007, + 0x3021, 0x3029, + 0x3038, 0x303a, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xf900, 0xfa6d, + 0xfa70, 0xfad9, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, + 0x2f800, 0x2fa1d, +}; /* CR_Ideographic */ + +/* 'Diacritic': Binary Property */ +static const OnigCodePoint CR_Diacritic[] = { + 125, + 0x005e, 0x005e, + 0x0060, 0x0060, + 0x00a8, 0x00a8, + 0x00af, 0x00af, + 0x00b4, 0x00b4, + 0x00b7, 0x00b8, + 0x02b0, 0x034e, + 0x0350, 0x0357, + 0x035d, 0x0362, + 0x0374, 0x0375, + 0x037a, 0x037a, + 0x0384, 0x0385, + 0x0483, 0x0487, + 0x0559, 0x0559, + 0x0591, 0x05a1, + 0x05a3, 0x05bd, + 0x05bf, 0x05bf, + 0x05c1, 0x05c2, + 0x05c4, 0x05c4, + 0x064b, 0x0652, + 0x0657, 0x0658, + 0x06df, 0x06e0, + 0x06e5, 0x06e6, + 0x06ea, 0x06ec, + 0x0730, 0x074a, + 0x07a6, 0x07b0, + 0x07eb, 0x07f5, + 0x0818, 0x0819, + 0x08e4, 0x08fe, + 0x093c, 0x093c, + 0x094d, 0x094d, + 0x0951, 0x0954, + 0x0971, 0x0971, + 0x09bc, 0x09bc, + 0x09cd, 0x09cd, + 0x0a3c, 0x0a3c, + 0x0a4d, 0x0a4d, + 0x0abc, 0x0abc, + 0x0acd, 0x0acd, + 0x0b3c, 0x0b3c, + 0x0b4d, 0x0b4d, + 0x0bcd, 0x0bcd, + 0x0c4d, 0x0c4d, + 0x0cbc, 0x0cbc, + 0x0ccd, 0x0ccd, + 0x0d4d, 0x0d4d, + 0x0dca, 0x0dca, + 0x0e47, 0x0e4c, + 0x0e4e, 0x0e4e, + 0x0ec8, 0x0ecc, + 0x0f18, 0x0f19, + 0x0f35, 0x0f35, + 0x0f37, 0x0f37, + 0x0f39, 0x0f39, + 0x0f3e, 0x0f3f, + 0x0f82, 0x0f84, + 0x0f86, 0x0f87, + 0x0fc6, 0x0fc6, + 0x1037, 0x1037, + 0x1039, 0x103a, + 0x1087, 0x108d, + 0x108f, 0x108f, + 0x109a, 0x109b, + 0x17c9, 0x17d3, + 0x17dd, 0x17dd, + 0x1939, 0x193b, + 0x1a75, 0x1a7c, + 0x1a7f, 0x1a7f, + 0x1b34, 0x1b34, + 0x1b44, 0x1b44, + 0x1b6b, 0x1b73, + 0x1baa, 0x1bab, + 0x1c36, 0x1c37, + 0x1c78, 0x1c7d, + 0x1cd0, 0x1ce8, + 0x1ced, 0x1ced, + 0x1cf4, 0x1cf4, + 0x1d2c, 0x1d6a, + 0x1dc4, 0x1dcf, + 0x1dfd, 0x1dff, + 0x1fbd, 0x1fbd, + 0x1fbf, 0x1fc1, + 0x1fcd, 0x1fcf, + 0x1fdd, 0x1fdf, + 0x1fed, 0x1fef, + 0x1ffd, 0x1ffe, + 0x2cef, 0x2cf1, + 0x2e2f, 0x2e2f, + 0x302a, 0x302f, + 0x3099, 0x309c, + 0x30fc, 0x30fc, + 0xa66f, 0xa66f, + 0xa67c, 0xa67d, + 0xa67f, 0xa67f, + 0xa6f0, 0xa6f1, + 0xa717, 0xa721, + 0xa788, 0xa788, + 0xa7f8, 0xa7f9, + 0xa8c4, 0xa8c4, + 0xa8e0, 0xa8f1, + 0xa92b, 0xa92e, + 0xa953, 0xa953, + 0xa9b3, 0xa9b3, + 0xa9c0, 0xa9c0, + 0xaa7b, 0xaa7b, + 0xaabf, 0xaac2, + 0xaaf6, 0xaaf6, + 0xabec, 0xabed, + 0xfb1e, 0xfb1e, + 0xfe20, 0xfe26, + 0xff3e, 0xff3e, + 0xff40, 0xff40, + 0xff70, 0xff70, + 0xff9e, 0xff9f, + 0xffe3, 0xffe3, + 0x110b9, 0x110ba, + 0x11133, 0x11134, + 0x111c0, 0x111c0, + 0x116b6, 0x116b7, + 0x16f8f, 0x16f9f, + 0x1d167, 0x1d169, + 0x1d16d, 0x1d172, + 0x1d17b, 0x1d182, + 0x1d185, 0x1d18b, + 0x1d1aa, 0x1d1ad, +}; /* CR_Diacritic */ + +/* 'Extender': Binary Property */ +static const OnigCodePoint CR_Extender[] = { + 22, + 0x00b7, 0x00b7, + 0x02d0, 0x02d1, + 0x0640, 0x0640, + 0x07fa, 0x07fa, + 0x0e46, 0x0e46, 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f47, - 0x0f49, 0x0f69, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f95, - 0x0f97, 0x0f97, - 0x0f99, 0x0fad, - 0x0fb1, 0x0fb7, - 0x0fb9, 0x0fb9, - 0x10a0, 0x10c5, - 0x10d0, 0x10f6, - 0x10fb, 0x10fb, - 0x1100, 0x1159, - 0x115f, 0x11a2, - 0x11a8, 0x11f9, - 0x1e00, 0x1e9b, - 0x1ea0, 0x1ef9, - 0x1f00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2000, 0x202e, - 0x2030, 0x2046, - 0x206a, 0x2070, - 0x2074, 0x208e, - 0x20a0, 0x20ac, - 0x20d0, 0x20e1, - 0x2100, 0x2138, - 0x2153, 0x2182, - 0x2190, 0x21ea, - 0x2200, 0x22f1, - 0x2300, 0x2300, - 0x2302, 0x237a, - 0x2400, 0x2424, - 0x2440, 0x244a, - 0x2460, 0x24ea, - 0x2500, 0x2595, - 0x25a0, 0x25ef, - 0x2600, 0x2613, - 0x261a, 0x266f, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x2756, - 0x2758, 0x275e, - 0x2761, 0x2767, - 0x2776, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x3000, 0x3037, - 0x303f, 0x303f, - 0x3041, 0x3094, - 0x3099, 0x309e, - 0x30a1, 0x30fe, - 0x3105, 0x312c, - 0x3131, 0x318e, - 0x3190, 0x319f, - 0x3200, 0x321c, - 0x3220, 0x3243, - 0x3260, 0x327b, - 0x327f, 0x32b0, - 0x32c0, 0x32cb, - 0x32d0, 0x32fe, - 0x3300, 0x3376, - 0x337b, 0x33dd, - 0x33e0, 0x33fe, - 0x4e00, 0x9fa5, - 0xac00, 0xd7a3, - 0xd800, 0xfa2d, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1e, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe20, 0xfe23, - 0xfe30, 0xfe44, - 0xfe49, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe72, - 0xfe74, 0xfe74, - 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xff5e, - 0xff61, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfffc, 0xffff, + 0x180a, 0x180a, + 0x1843, 0x1843, + 0x1aa7, 0x1aa7, + 0x1c36, 0x1c36, + 0x1c7b, 0x1c7b, + 0x3005, 0x3005, + 0x3031, 0x3035, + 0x309d, 0x309e, + 0x30fc, 0x30fe, + 0xa015, 0xa015, + 0xa60c, 0xa60c, + 0xa9cf, 0xa9cf, + 0xaa70, 0xaa70, + 0xaadd, 0xaadd, + 0xaaf3, 0xaaf4, + 0xff70, 0xff70, +}; /* CR_Extender */ + +/* 'Other_Lowercase': Binary Property */ +static const OnigCodePoint CR_Other_Lowercase[] = { + 18, + 0x00aa, 0x00aa, + 0x00ba, 0x00ba, + 0x02b0, 0x02b8, + 0x02c0, 0x02c1, + 0x02e0, 0x02e4, + 0x0345, 0x0345, + 0x037a, 0x037a, + 0x1d2c, 0x1d6a, + 0x1d78, 0x1d78, + 0x1d9b, 0x1dbf, + 0x2071, 0x2071, + 0x207f, 0x207f, + 0x2090, 0x209c, + 0x2170, 0x217f, + 0x24d0, 0x24e9, + 0x2c7c, 0x2c7d, + 0xa770, 0xa770, + 0xa7f8, 0xa7f9, +}; /* CR_Other_Lowercase */ + +/* 'Other_Uppercase': Binary Property */ +static const OnigCodePoint CR_Other_Uppercase[] = { + 2, + 0x2160, 0x216f, + 0x24b6, 0x24cf, +}; /* CR_Other_Uppercase */ + +/* 'Noncharacter_Code_Point': Binary Property */ +static const OnigCodePoint CR_Noncharacter_Code_Point[] = { + 18, + 0xfdd0, 0xfdef, + 0xfffe, 0xffff, 0x1fffe, 0x1ffff, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, @@ -15893,18 +17915,822 @@ static const OnigCodePoint CR_Age_2_1[] = { 0xbfffe, 0xbffff, 0xcfffe, 0xcffff, 0xdfffe, 0xdffff, - 0xefffe, 0x10ffff, -}; /* CR_Age_2_1 */ + 0xefffe, 0xeffff, + 0xffffe, 0xfffff, + 0x10fffe, 0x10ffff, +}; /* CR_Noncharacter_Code_Point */ + +/* 'Other_Grapheme_Extend': Binary Property */ +static const OnigCodePoint CR_Other_Grapheme_Extend[] = { + 17, + 0x09be, 0x09be, + 0x09d7, 0x09d7, + 0x0b3e, 0x0b3e, + 0x0b57, 0x0b57, + 0x0bbe, 0x0bbe, + 0x0bd7, 0x0bd7, + 0x0cc2, 0x0cc2, + 0x0cd5, 0x0cd6, + 0x0d3e, 0x0d3e, + 0x0d57, 0x0d57, + 0x0dcf, 0x0dcf, + 0x0ddf, 0x0ddf, + 0x200c, 0x200d, + 0x302e, 0x302f, + 0xff9e, 0xff9f, + 0x1d165, 0x1d165, + 0x1d16e, 0x1d172, +}; /* CR_Other_Grapheme_Extend */ + +/* 'IDS_Binary_Operator': Binary Property */ +static const OnigCodePoint CR_IDS_Binary_Operator[] = { + 2, + 0x2ff0, 0x2ff1, + 0x2ff4, 0x2ffb, +}; /* CR_IDS_Binary_Operator */ + +/* 'IDS_Trinary_Operator': Binary Property */ +static const OnigCodePoint CR_IDS_Trinary_Operator[] = { + 1, + 0x2ff2, 0x2ff3, +}; /* CR_IDS_Trinary_Operator */ + +/* 'Radical': Binary Property */ +static const OnigCodePoint CR_Radical[] = { + 3, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, +}; /* CR_Radical */ + +/* 'Unified_Ideograph': Binary Property */ +static const OnigCodePoint CR_Unified_Ideograph[] = { + 12, + 0x3400, 0x4db5, + 0x4e00, 0x9fcc, + 0xfa0e, 0xfa0f, + 0xfa11, 0xfa11, + 0xfa13, 0xfa14, + 0xfa1f, 0xfa1f, + 0xfa21, 0xfa21, + 0xfa23, 0xfa24, + 0xfa27, 0xfa29, + 0x20000, 0x2a6d6, + 0x2a700, 0x2b734, + 0x2b740, 0x2b81d, +}; /* CR_Unified_Ideograph */ + +/* 'Other_Default_Ignorable_Code_Point': Binary Property */ +static const OnigCodePoint CR_Other_Default_Ignorable_Code_Point[] = { + 11, + 0x034f, 0x034f, + 0x115f, 0x1160, + 0x17b4, 0x17b5, + 0x2065, 0x2069, + 0x3164, 0x3164, + 0xffa0, 0xffa0, + 0xfff0, 0xfff8, + 0xe0000, 0xe0000, + 0xe0002, 0xe001f, + 0xe0080, 0xe00ff, + 0xe01f0, 0xe0fff, +}; /* CR_Other_Default_Ignorable_Code_Point */ + +/* 'Deprecated': Binary Property */ +static const OnigCodePoint CR_Deprecated[] = { + 9, + 0x0149, 0x0149, + 0x0673, 0x0673, + 0x0f77, 0x0f77, + 0x0f79, 0x0f79, + 0x17a3, 0x17a4, + 0x206a, 0x206f, + 0x2329, 0x232a, + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, +}; /* CR_Deprecated */ + +/* 'Soft_Dotted': Binary Property */ +static const OnigCodePoint CR_Soft_Dotted[] = { + 31, + 0x0069, 0x006a, + 0x012f, 0x012f, + 0x0249, 0x0249, + 0x0268, 0x0268, + 0x029d, 0x029d, + 0x02b2, 0x02b2, + 0x03f3, 0x03f3, + 0x0456, 0x0456, + 0x0458, 0x0458, + 0x1d62, 0x1d62, + 0x1d96, 0x1d96, + 0x1da4, 0x1da4, + 0x1da8, 0x1da8, + 0x1e2d, 0x1e2d, + 0x1ecb, 0x1ecb, + 0x2071, 0x2071, + 0x2148, 0x2149, + 0x2c7c, 0x2c7c, + 0x1d422, 0x1d423, + 0x1d456, 0x1d457, + 0x1d48a, 0x1d48b, + 0x1d4be, 0x1d4bf, + 0x1d4f2, 0x1d4f3, + 0x1d526, 0x1d527, + 0x1d55a, 0x1d55b, + 0x1d58e, 0x1d58f, + 0x1d5c2, 0x1d5c3, + 0x1d5f6, 0x1d5f7, + 0x1d62a, 0x1d62b, + 0x1d65e, 0x1d65f, + 0x1d692, 0x1d693, +}; /* CR_Soft_Dotted */ + +/* 'Logical_Order_Exception': Binary Property */ +static const OnigCodePoint CR_Logical_Order_Exception[] = { + 5, + 0x0e40, 0x0e44, + 0x0ec0, 0x0ec4, + 0xaab5, 0xaab6, + 0xaab9, 0xaab9, + 0xaabb, 0xaabc, +}; /* CR_Logical_Order_Exception */ + +/* 'Other_ID_Start': Binary Property */ +static const OnigCodePoint CR_Other_ID_Start[] = { + 3, + 0x2118, 0x2118, + 0x212e, 0x212e, + 0x309b, 0x309c, +}; /* CR_Other_ID_Start */ + +/* 'Other_ID_Continue': Binary Property */ +static const OnigCodePoint CR_Other_ID_Continue[] = { + 4, + 0x00b7, 0x00b7, + 0x0387, 0x0387, + 0x1369, 0x1371, + 0x19da, 0x19da, +}; /* CR_Other_ID_Continue */ + +/* 'STerm': Binary Property */ +static const OnigCodePoint CR_STerm[] = { + 50, + 0x0021, 0x0021, + 0x002e, 0x002e, + 0x003f, 0x003f, + 0x055c, 0x055c, + 0x055e, 0x055e, + 0x0589, 0x0589, + 0x061f, 0x061f, + 0x06d4, 0x06d4, + 0x0700, 0x0702, + 0x07f9, 0x07f9, + 0x0964, 0x0965, + 0x104a, 0x104b, + 0x1362, 0x1362, + 0x1367, 0x1368, + 0x166e, 0x166e, + 0x1735, 0x1736, + 0x1803, 0x1803, + 0x1809, 0x1809, + 0x1944, 0x1945, + 0x1aa8, 0x1aab, + 0x1b5a, 0x1b5b, + 0x1b5e, 0x1b5f, + 0x1c3b, 0x1c3c, + 0x1c7e, 0x1c7f, + 0x203c, 0x203d, + 0x2047, 0x2049, + 0x2e2e, 0x2e2e, + 0x3002, 0x3002, + 0xa4ff, 0xa4ff, + 0xa60e, 0xa60f, + 0xa6f3, 0xa6f3, + 0xa6f7, 0xa6f7, + 0xa876, 0xa877, + 0xa8ce, 0xa8cf, + 0xa92f, 0xa92f, + 0xa9c8, 0xa9c9, + 0xaa5d, 0xaa5f, + 0xaaf0, 0xaaf1, + 0xabeb, 0xabeb, + 0xfe52, 0xfe52, + 0xfe56, 0xfe57, + 0xff01, 0xff01, + 0xff0e, 0xff0e, + 0xff1f, 0xff1f, + 0xff61, 0xff61, + 0x10a56, 0x10a57, + 0x11047, 0x11048, + 0x110be, 0x110c1, + 0x11141, 0x11143, + 0x111c5, 0x111c6, +}; /* CR_STerm */ + +/* 'Variation_Selector': Binary Property */ +static const OnigCodePoint CR_Variation_Selector[] = { + 3, + 0x180b, 0x180d, + 0xfe00, 0xfe0f, + 0xe0100, 0xe01ef, +}; /* CR_Variation_Selector */ -/* 'Age_3_0': Derived Age 3.0 */ -static const OnigCodePoint CR_Age_3_0[] = { - 369, - 0x0000, 0x021f, - 0x0222, 0x0233, - 0x0250, 0x02ad, - 0x02b0, 0x02ee, - 0x0300, 0x034e, - 0x0360, 0x0362, +/* 'Pattern_White_Space': Binary Property */ +static const OnigCodePoint CR_Pattern_White_Space[] = { + 5, + 0x0009, 0x000d, + 0x0020, 0x0020, + 0x0085, 0x0085, + 0x200e, 0x200f, + 0x2028, 0x2029, +}; /* CR_Pattern_White_Space */ + +/* 'Pattern_Syntax': Binary Property */ +static const OnigCodePoint CR_Pattern_Syntax[] = { + 28, + 0x0021, 0x002f, + 0x003a, 0x0040, + 0x005b, 0x005e, + 0x0060, 0x0060, + 0x007b, 0x007e, + 0x00a1, 0x00a7, + 0x00a9, 0x00a9, + 0x00ab, 0x00ac, + 0x00ae, 0x00ae, + 0x00b0, 0x00b1, + 0x00b6, 0x00b6, + 0x00bb, 0x00bb, + 0x00bf, 0x00bf, + 0x00d7, 0x00d7, + 0x00f7, 0x00f7, + 0x2010, 0x2027, + 0x2030, 0x203e, + 0x2041, 0x2053, + 0x2055, 0x205e, + 0x2190, 0x245f, + 0x2500, 0x2775, + 0x2794, 0x2bff, + 0x2e00, 0x2e7f, + 0x3001, 0x3003, + 0x3008, 0x3020, + 0x3030, 0x3030, + 0xfd3e, 0xfd3f, + 0xfe45, 0xfe46, +}; /* CR_Pattern_Syntax */ + +/* 'Unknown': Script */ +static const OnigCodePoint CR_Unknown[] = { + 537, + 0x0378, 0x0379, + 0x037f, 0x0383, + 0x038b, 0x038b, + 0x038d, 0x038d, + 0x03a2, 0x03a2, + 0x0528, 0x0530, + 0x0557, 0x0558, + 0x0560, 0x0560, + 0x0588, 0x0588, + 0x058b, 0x058e, + 0x0590, 0x0590, + 0x05c8, 0x05cf, + 0x05eb, 0x05ef, + 0x05f5, 0x05ff, + 0x0605, 0x0605, + 0x061c, 0x061d, + 0x070e, 0x070e, + 0x074b, 0x074c, + 0x07b2, 0x07bf, + 0x07fb, 0x07ff, + 0x082e, 0x082f, + 0x083f, 0x083f, + 0x085c, 0x085d, + 0x085f, 0x089f, + 0x08a1, 0x08a1, + 0x08ad, 0x08e3, + 0x08ff, 0x08ff, + 0x0978, 0x0978, + 0x0980, 0x0980, + 0x0984, 0x0984, + 0x098d, 0x098e, + 0x0991, 0x0992, + 0x09a9, 0x09a9, + 0x09b1, 0x09b1, + 0x09b3, 0x09b5, + 0x09ba, 0x09bb, + 0x09c5, 0x09c6, + 0x09c9, 0x09ca, + 0x09cf, 0x09d6, + 0x09d8, 0x09db, + 0x09de, 0x09de, + 0x09e4, 0x09e5, + 0x09fc, 0x0a00, + 0x0a04, 0x0a04, + 0x0a0b, 0x0a0e, + 0x0a11, 0x0a12, + 0x0a29, 0x0a29, + 0x0a31, 0x0a31, + 0x0a34, 0x0a34, + 0x0a37, 0x0a37, + 0x0a3a, 0x0a3b, + 0x0a3d, 0x0a3d, + 0x0a43, 0x0a46, + 0x0a49, 0x0a4a, + 0x0a4e, 0x0a50, + 0x0a52, 0x0a58, + 0x0a5d, 0x0a5d, + 0x0a5f, 0x0a65, + 0x0a76, 0x0a80, + 0x0a84, 0x0a84, + 0x0a8e, 0x0a8e, + 0x0a92, 0x0a92, + 0x0aa9, 0x0aa9, + 0x0ab1, 0x0ab1, + 0x0ab4, 0x0ab4, + 0x0aba, 0x0abb, + 0x0ac6, 0x0ac6, + 0x0aca, 0x0aca, + 0x0ace, 0x0acf, + 0x0ad1, 0x0adf, + 0x0ae4, 0x0ae5, + 0x0af2, 0x0b00, + 0x0b04, 0x0b04, + 0x0b0d, 0x0b0e, + 0x0b11, 0x0b12, + 0x0b29, 0x0b29, + 0x0b31, 0x0b31, + 0x0b34, 0x0b34, + 0x0b3a, 0x0b3b, + 0x0b45, 0x0b46, + 0x0b49, 0x0b4a, + 0x0b4e, 0x0b55, + 0x0b58, 0x0b5b, + 0x0b5e, 0x0b5e, + 0x0b64, 0x0b65, + 0x0b78, 0x0b81, + 0x0b84, 0x0b84, + 0x0b8b, 0x0b8d, + 0x0b91, 0x0b91, + 0x0b96, 0x0b98, + 0x0b9b, 0x0b9b, + 0x0b9d, 0x0b9d, + 0x0ba0, 0x0ba2, + 0x0ba5, 0x0ba7, + 0x0bab, 0x0bad, + 0x0bba, 0x0bbd, + 0x0bc3, 0x0bc5, + 0x0bc9, 0x0bc9, + 0x0bce, 0x0bcf, + 0x0bd1, 0x0bd6, + 0x0bd8, 0x0be5, + 0x0bfb, 0x0c00, + 0x0c04, 0x0c04, + 0x0c0d, 0x0c0d, + 0x0c11, 0x0c11, + 0x0c29, 0x0c29, + 0x0c34, 0x0c34, + 0x0c3a, 0x0c3c, + 0x0c45, 0x0c45, + 0x0c49, 0x0c49, + 0x0c4e, 0x0c54, + 0x0c57, 0x0c57, + 0x0c5a, 0x0c5f, + 0x0c64, 0x0c65, + 0x0c70, 0x0c77, + 0x0c80, 0x0c81, + 0x0c84, 0x0c84, + 0x0c8d, 0x0c8d, + 0x0c91, 0x0c91, + 0x0ca9, 0x0ca9, + 0x0cb4, 0x0cb4, + 0x0cba, 0x0cbb, + 0x0cc5, 0x0cc5, + 0x0cc9, 0x0cc9, + 0x0cce, 0x0cd4, + 0x0cd7, 0x0cdd, + 0x0cdf, 0x0cdf, + 0x0ce4, 0x0ce5, + 0x0cf0, 0x0cf0, + 0x0cf3, 0x0d01, + 0x0d04, 0x0d04, + 0x0d0d, 0x0d0d, + 0x0d11, 0x0d11, + 0x0d3b, 0x0d3c, + 0x0d45, 0x0d45, + 0x0d49, 0x0d49, + 0x0d4f, 0x0d56, + 0x0d58, 0x0d5f, + 0x0d64, 0x0d65, + 0x0d76, 0x0d78, + 0x0d80, 0x0d81, + 0x0d84, 0x0d84, + 0x0d97, 0x0d99, + 0x0db2, 0x0db2, + 0x0dbc, 0x0dbc, + 0x0dbe, 0x0dbf, + 0x0dc7, 0x0dc9, + 0x0dcb, 0x0dce, + 0x0dd5, 0x0dd5, + 0x0dd7, 0x0dd7, + 0x0de0, 0x0df1, + 0x0df5, 0x0e00, + 0x0e3b, 0x0e3e, + 0x0e5c, 0x0e80, + 0x0e83, 0x0e83, + 0x0e85, 0x0e86, + 0x0e89, 0x0e89, + 0x0e8b, 0x0e8c, + 0x0e8e, 0x0e93, + 0x0e98, 0x0e98, + 0x0ea0, 0x0ea0, + 0x0ea4, 0x0ea4, + 0x0ea6, 0x0ea6, + 0x0ea8, 0x0ea9, + 0x0eac, 0x0eac, + 0x0eba, 0x0eba, + 0x0ebe, 0x0ebf, + 0x0ec5, 0x0ec5, + 0x0ec7, 0x0ec7, + 0x0ece, 0x0ecf, + 0x0eda, 0x0edb, + 0x0ee0, 0x0eff, + 0x0f48, 0x0f48, + 0x0f6d, 0x0f70, + 0x0f98, 0x0f98, + 0x0fbd, 0x0fbd, + 0x0fcd, 0x0fcd, + 0x0fdb, 0x0fff, + 0x10c6, 0x10c6, + 0x10c8, 0x10cc, + 0x10ce, 0x10cf, + 0x1249, 0x1249, + 0x124e, 0x124f, + 0x1257, 0x1257, + 0x1259, 0x1259, + 0x125e, 0x125f, + 0x1289, 0x1289, + 0x128e, 0x128f, + 0x12b1, 0x12b1, + 0x12b6, 0x12b7, + 0x12bf, 0x12bf, + 0x12c1, 0x12c1, + 0x12c6, 0x12c7, + 0x12d7, 0x12d7, + 0x1311, 0x1311, + 0x1316, 0x1317, + 0x135b, 0x135c, + 0x137d, 0x137f, + 0x139a, 0x139f, + 0x13f5, 0x13ff, + 0x169d, 0x169f, + 0x16f1, 0x16ff, + 0x170d, 0x170d, + 0x1715, 0x171f, + 0x1737, 0x173f, + 0x1754, 0x175f, + 0x176d, 0x176d, + 0x1771, 0x1771, + 0x1774, 0x177f, + 0x17de, 0x17df, + 0x17ea, 0x17ef, + 0x17fa, 0x17ff, + 0x180f, 0x180f, + 0x181a, 0x181f, + 0x1878, 0x187f, + 0x18ab, 0x18af, + 0x18f6, 0x18ff, + 0x191d, 0x191f, + 0x192c, 0x192f, + 0x193c, 0x193f, + 0x1941, 0x1943, + 0x196e, 0x196f, + 0x1975, 0x197f, + 0x19ac, 0x19af, + 0x19ca, 0x19cf, + 0x19db, 0x19dd, + 0x1a1c, 0x1a1d, + 0x1a5f, 0x1a5f, + 0x1a7d, 0x1a7e, + 0x1a8a, 0x1a8f, + 0x1a9a, 0x1a9f, + 0x1aae, 0x1aff, + 0x1b4c, 0x1b4f, + 0x1b7d, 0x1b7f, + 0x1bf4, 0x1bfb, + 0x1c38, 0x1c3a, + 0x1c4a, 0x1c4c, + 0x1c80, 0x1cbf, + 0x1cc8, 0x1ccf, + 0x1cf7, 0x1cff, + 0x1de7, 0x1dfb, + 0x1f16, 0x1f17, + 0x1f1e, 0x1f1f, + 0x1f46, 0x1f47, + 0x1f4e, 0x1f4f, + 0x1f58, 0x1f58, + 0x1f5a, 0x1f5a, + 0x1f5c, 0x1f5c, + 0x1f5e, 0x1f5e, + 0x1f7e, 0x1f7f, + 0x1fb5, 0x1fb5, + 0x1fc5, 0x1fc5, + 0x1fd4, 0x1fd5, + 0x1fdc, 0x1fdc, + 0x1ff0, 0x1ff1, + 0x1ff5, 0x1ff5, + 0x1fff, 0x1fff, + 0x2065, 0x2069, + 0x2072, 0x2073, + 0x208f, 0x208f, + 0x209d, 0x209f, + 0x20ba, 0x20cf, + 0x20f1, 0x20ff, + 0x218a, 0x218f, + 0x23f4, 0x23ff, + 0x2427, 0x243f, + 0x244b, 0x245f, + 0x2700, 0x2700, + 0x2b4d, 0x2b4f, + 0x2b5a, 0x2bff, + 0x2c2f, 0x2c2f, + 0x2c5f, 0x2c5f, + 0x2cf4, 0x2cf8, + 0x2d26, 0x2d26, + 0x2d28, 0x2d2c, + 0x2d2e, 0x2d2f, + 0x2d68, 0x2d6e, + 0x2d71, 0x2d7e, + 0x2d97, 0x2d9f, + 0x2da7, 0x2da7, + 0x2daf, 0x2daf, + 0x2db7, 0x2db7, + 0x2dbf, 0x2dbf, + 0x2dc7, 0x2dc7, + 0x2dcf, 0x2dcf, + 0x2dd7, 0x2dd7, + 0x2ddf, 0x2ddf, + 0x2e3c, 0x2e7f, + 0x2e9a, 0x2e9a, + 0x2ef4, 0x2eff, + 0x2fd6, 0x2fef, + 0x2ffc, 0x2fff, + 0x3040, 0x3040, + 0x3097, 0x3098, + 0x3100, 0x3104, + 0x312e, 0x3130, + 0x318f, 0x318f, + 0x31bb, 0x31bf, + 0x31e4, 0x31ef, + 0x321f, 0x321f, + 0x32ff, 0x32ff, + 0x4db6, 0x4dbf, + 0x9fcd, 0x9fff, + 0xa48d, 0xa48f, + 0xa4c7, 0xa4cf, + 0xa62c, 0xa63f, + 0xa698, 0xa69e, + 0xa6f8, 0xa6ff, + 0xa78f, 0xa78f, + 0xa794, 0xa79f, + 0xa7ab, 0xa7f7, + 0xa82c, 0xa82f, + 0xa83a, 0xa83f, + 0xa878, 0xa87f, + 0xa8c5, 0xa8cd, + 0xa8da, 0xa8df, + 0xa8fc, 0xa8ff, + 0xa954, 0xa95e, + 0xa97d, 0xa97f, + 0xa9ce, 0xa9ce, + 0xa9da, 0xa9dd, + 0xa9e0, 0xa9ff, + 0xaa37, 0xaa3f, + 0xaa4e, 0xaa4f, + 0xaa5a, 0xaa5b, + 0xaa7c, 0xaa7f, + 0xaac3, 0xaada, + 0xaaf7, 0xab00, + 0xab07, 0xab08, + 0xab0f, 0xab10, + 0xab17, 0xab1f, + 0xab27, 0xab27, + 0xab2f, 0xabbf, + 0xabee, 0xabef, + 0xabfa, 0xabff, + 0xd7a4, 0xd7af, + 0xd7c7, 0xd7ca, + 0xd7fc, 0xf8ff, + 0xfa6e, 0xfa6f, + 0xfada, 0xfaff, + 0xfb07, 0xfb12, + 0xfb18, 0xfb1c, + 0xfb37, 0xfb37, + 0xfb3d, 0xfb3d, + 0xfb3f, 0xfb3f, + 0xfb42, 0xfb42, + 0xfb45, 0xfb45, + 0xfbc2, 0xfbd2, + 0xfd40, 0xfd4f, + 0xfd90, 0xfd91, + 0xfdc8, 0xfdef, + 0xfdfe, 0xfdff, + 0xfe1a, 0xfe1f, + 0xfe27, 0xfe2f, + 0xfe53, 0xfe53, + 0xfe67, 0xfe67, + 0xfe6c, 0xfe6f, + 0xfe75, 0xfe75, + 0xfefd, 0xfefe, + 0xff00, 0xff00, + 0xffbf, 0xffc1, + 0xffc8, 0xffc9, + 0xffd0, 0xffd1, + 0xffd8, 0xffd9, + 0xffdd, 0xffdf, + 0xffe7, 0xffe7, + 0xffef, 0xfff8, + 0xfffe, 0xffff, + 0x1000c, 0x1000c, + 0x10027, 0x10027, + 0x1003b, 0x1003b, + 0x1003e, 0x1003e, + 0x1004e, 0x1004f, + 0x1005e, 0x1007f, + 0x100fb, 0x100ff, + 0x10103, 0x10106, + 0x10134, 0x10136, + 0x1018b, 0x1018f, + 0x1019c, 0x101cf, + 0x101fe, 0x1027f, + 0x1029d, 0x1029f, + 0x102d1, 0x102ff, + 0x1031f, 0x1031f, + 0x10324, 0x1032f, + 0x1034b, 0x1037f, + 0x1039e, 0x1039e, + 0x103c4, 0x103c7, + 0x103d6, 0x103ff, + 0x1049e, 0x1049f, + 0x104aa, 0x107ff, + 0x10806, 0x10807, + 0x10809, 0x10809, + 0x10836, 0x10836, + 0x10839, 0x1083b, + 0x1083d, 0x1083e, + 0x10856, 0x10856, + 0x10860, 0x108ff, + 0x1091c, 0x1091e, + 0x1093a, 0x1093e, + 0x10940, 0x1097f, + 0x109b8, 0x109bd, + 0x109c0, 0x109ff, + 0x10a04, 0x10a04, + 0x10a07, 0x10a0b, + 0x10a14, 0x10a14, + 0x10a18, 0x10a18, + 0x10a34, 0x10a37, + 0x10a3b, 0x10a3e, + 0x10a48, 0x10a4f, + 0x10a59, 0x10a5f, + 0x10a80, 0x10aff, + 0x10b36, 0x10b38, + 0x10b56, 0x10b57, + 0x10b73, 0x10b77, + 0x10b80, 0x10bff, + 0x10c49, 0x10e5f, + 0x10e7f, 0x10fff, + 0x1104e, 0x11051, + 0x11070, 0x1107f, + 0x110c2, 0x110cf, + 0x110e9, 0x110ef, + 0x110fa, 0x110ff, + 0x11135, 0x11135, + 0x11144, 0x1117f, + 0x111c9, 0x111cf, + 0x111da, 0x1167f, + 0x116b8, 0x116bf, + 0x116ca, 0x11fff, + 0x1236f, 0x123ff, + 0x12463, 0x1246f, + 0x12474, 0x12fff, + 0x1342f, 0x167ff, + 0x16a39, 0x16eff, + 0x16f45, 0x16f4f, + 0x16f7f, 0x16f8e, + 0x16fa0, 0x1afff, + 0x1b002, 0x1cfff, + 0x1d0f6, 0x1d0ff, + 0x1d127, 0x1d128, + 0x1d1de, 0x1d1ff, + 0x1d246, 0x1d2ff, + 0x1d357, 0x1d35f, + 0x1d372, 0x1d3ff, + 0x1d455, 0x1d455, + 0x1d49d, 0x1d49d, + 0x1d4a0, 0x1d4a1, + 0x1d4a3, 0x1d4a4, + 0x1d4a7, 0x1d4a8, + 0x1d4ad, 0x1d4ad, + 0x1d4ba, 0x1d4ba, + 0x1d4bc, 0x1d4bc, + 0x1d4c4, 0x1d4c4, + 0x1d506, 0x1d506, + 0x1d50b, 0x1d50c, + 0x1d515, 0x1d515, + 0x1d51d, 0x1d51d, + 0x1d53a, 0x1d53a, + 0x1d53f, 0x1d53f, + 0x1d545, 0x1d545, + 0x1d547, 0x1d549, + 0x1d551, 0x1d551, + 0x1d6a6, 0x1d6a7, + 0x1d7cc, 0x1d7cd, + 0x1d800, 0x1edff, + 0x1ee04, 0x1ee04, + 0x1ee20, 0x1ee20, + 0x1ee23, 0x1ee23, + 0x1ee25, 0x1ee26, + 0x1ee28, 0x1ee28, + 0x1ee33, 0x1ee33, + 0x1ee38, 0x1ee38, + 0x1ee3a, 0x1ee3a, + 0x1ee3c, 0x1ee41, + 0x1ee43, 0x1ee46, + 0x1ee48, 0x1ee48, + 0x1ee4a, 0x1ee4a, + 0x1ee4c, 0x1ee4c, + 0x1ee50, 0x1ee50, + 0x1ee53, 0x1ee53, + 0x1ee55, 0x1ee56, + 0x1ee58, 0x1ee58, + 0x1ee5a, 0x1ee5a, + 0x1ee5c, 0x1ee5c, + 0x1ee5e, 0x1ee5e, + 0x1ee60, 0x1ee60, + 0x1ee63, 0x1ee63, + 0x1ee65, 0x1ee66, + 0x1ee6b, 0x1ee6b, + 0x1ee73, 0x1ee73, + 0x1ee78, 0x1ee78, + 0x1ee7d, 0x1ee7d, + 0x1ee7f, 0x1ee7f, + 0x1ee8a, 0x1ee8a, + 0x1ee9c, 0x1eea0, + 0x1eea4, 0x1eea4, + 0x1eeaa, 0x1eeaa, + 0x1eebc, 0x1eeef, + 0x1eef2, 0x1efff, + 0x1f02c, 0x1f02f, + 0x1f094, 0x1f09f, + 0x1f0af, 0x1f0b0, + 0x1f0bf, 0x1f0c0, + 0x1f0d0, 0x1f0d0, + 0x1f0e0, 0x1f0ff, + 0x1f10b, 0x1f10f, + 0x1f12f, 0x1f12f, + 0x1f16c, 0x1f16f, + 0x1f19b, 0x1f1e5, + 0x1f203, 0x1f20f, + 0x1f23b, 0x1f23f, + 0x1f249, 0x1f24f, + 0x1f252, 0x1f2ff, + 0x1f321, 0x1f32f, + 0x1f336, 0x1f336, + 0x1f37d, 0x1f37f, + 0x1f394, 0x1f39f, + 0x1f3c5, 0x1f3c5, + 0x1f3cb, 0x1f3df, + 0x1f3f1, 0x1f3ff, + 0x1f43f, 0x1f43f, + 0x1f441, 0x1f441, + 0x1f4f8, 0x1f4f8, + 0x1f4fd, 0x1f4ff, + 0x1f53e, 0x1f53f, + 0x1f544, 0x1f54f, + 0x1f568, 0x1f5fa, + 0x1f641, 0x1f644, + 0x1f650, 0x1f67f, + 0x1f6c6, 0x1f6ff, + 0x1f774, 0x1ffff, + 0x2a6d7, 0x2a6ff, + 0x2b735, 0x2b73f, + 0x2b81e, 0x2f7ff, + 0x2fa1e, 0xe0000, + 0xe0002, 0xe001f, + 0xe0080, 0xe00ff, + 0xe01f0, 0x10ffff, +}; /* CR_Unknown */ + +/* 'Age_1_1': Derived Age 1.1 */ +static const OnigCodePoint CR_Age_1_1[] = { + 288, + 0x0000, 0x01f5, + 0x01fa, 0x0217, + 0x0250, 0x02a8, + 0x02b0, 0x02de, + 0x02e0, 0x02e9, + 0x0300, 0x0345, + 0x0360, 0x0361, 0x0374, 0x0375, 0x037a, 0x037a, 0x037e, 0x037e, @@ -15912,36 +18738,41 @@ static const OnigCodePoint CR_Age_3_0[] = { 0x038c, 0x038c, 0x038e, 0x03a1, 0x03a3, 0x03ce, - 0x03d0, 0x03d7, - 0x03da, 0x03f3, - 0x0400, 0x0486, - 0x0488, 0x0489, - 0x048c, 0x04c4, + 0x03d0, 0x03d6, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03f3, + 0x0401, 0x040c, + 0x040e, 0x044f, + 0x0451, 0x045c, + 0x045e, 0x0486, + 0x0490, 0x04c4, 0x04c7, 0x04c8, 0x04cb, 0x04cc, - 0x04d0, 0x04f5, + 0x04d0, 0x04eb, + 0x04ee, 0x04f5, 0x04f8, 0x04f9, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, - 0x0589, 0x058a, - 0x0591, 0x05a1, - 0x05a3, 0x05b9, - 0x05bb, 0x05c4, + 0x0589, 0x0589, + 0x05b0, 0x05b9, + 0x05bb, 0x05c3, 0x05d0, 0x05ea, 0x05f0, 0x05f4, 0x060c, 0x060c, 0x061b, 0x061b, 0x061f, 0x061f, 0x0621, 0x063a, - 0x0640, 0x0655, + 0x0640, 0x0652, 0x0660, 0x066d, - 0x0670, 0x06ed, - 0x06f0, 0x06fe, - 0x0700, 0x070d, - 0x070f, 0x072c, - 0x0730, 0x074a, - 0x0780, 0x07b0, + 0x0670, 0x06b7, + 0x06ba, 0x06be, + 0x06c0, 0x06ce, + 0x06d0, 0x06ed, + 0x06f0, 0x06f9, 0x0901, 0x0903, 0x0905, 0x0939, 0x093c, 0x094d, @@ -16057,17 +18888,6 @@ static const OnigCodePoint CR_Age_3_0[] = { 0x0d57, 0x0d57, 0x0d60, 0x0d61, 0x0d66, 0x0d6f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, 0x0e01, 0x0e3a, 0x0e3f, 0x0e5b, 0x0e81, 0x0e82, @@ -16088,62 +18908,13 @@ static const OnigCodePoint CR_Age_3_0[] = { 0x0ec8, 0x0ecd, 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, - 0x0f00, 0x0f47, - 0x0f49, 0x0f6a, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fcf, 0x0fcf, - 0x1000, 0x1021, - 0x1023, 0x1027, - 0x1029, 0x102a, - 0x102c, 0x1032, - 0x1036, 0x1039, - 0x1040, 0x1059, 0x10a0, 0x10c5, 0x10d0, 0x10f6, 0x10fb, 0x10fb, 0x1100, 0x1159, 0x115f, 0x11a2, 0x11a8, 0x11f9, - 0x1200, 0x1206, - 0x1208, 0x1246, - 0x1248, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1286, - 0x1288, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12ae, - 0x12b0, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12ce, - 0x12d0, 0x12d6, - 0x12d8, 0x12ee, - 0x12f0, 0x130e, - 0x1310, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x131e, - 0x1320, 0x1346, - 0x1348, 0x135a, - 0x1361, 0x137c, - 0x13a0, 0x13f4, - 0x1401, 0x1676, - 0x1680, 0x169c, - 0x16a0, 0x16f0, - 0x1780, 0x17dc, - 0x17e0, 0x17e9, - 0x1800, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18a9, - 0x1e00, 0x1e9b, + 0x1e00, 0x1e9a, 0x1ea0, 0x1ef9, 0x1f00, 0x1f15, 0x1f18, 0x1f1d, @@ -16161,25 +18932,25 @@ static const OnigCodePoint CR_Age_3_0[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2046, - 0x2048, 0x204d, + 0x2000, 0x202e, + 0x2030, 0x2046, 0x206a, 0x2070, 0x2074, 0x208e, - 0x20a0, 0x20af, - 0x20d0, 0x20e3, - 0x2100, 0x213a, - 0x2153, 0x2183, - 0x2190, 0x21f3, + 0x20a0, 0x20aa, + 0x20d0, 0x20e1, + 0x2100, 0x2138, + 0x2153, 0x2182, + 0x2190, 0x21ea, 0x2200, 0x22f1, - 0x2300, 0x237b, - 0x237d, 0x239a, - 0x2400, 0x2426, + 0x2300, 0x2300, + 0x2302, 0x237a, + 0x2400, 0x2424, 0x2440, 0x244a, 0x2460, 0x24ea, 0x2500, 0x2595, - 0x25a0, 0x25f7, + 0x25a0, 0x25ef, 0x2600, 0x2613, - 0x2619, 0x2671, + 0x261a, 0x266f, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -16192,19 +18963,14 @@ static const OnigCodePoint CR_Age_3_0[] = { 0x2776, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x2800, 0x28ff, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x303a, - 0x303e, 0x303f, + 0x3000, 0x3037, + 0x303f, 0x303f, 0x3041, 0x3094, 0x3099, 0x309e, 0x30a1, 0x30fe, 0x3105, 0x312c, 0x3131, 0x318e, - 0x3190, 0x31b7, + 0x3190, 0x319f, 0x3200, 0x321c, 0x3220, 0x3243, 0x3260, 0x327b, @@ -16214,19 +18980,11 @@ static const OnigCodePoint CR_Age_3_0[] = { 0x3300, 0x3376, 0x337b, 0x33dd, 0x33e0, 0x33fe, - 0x3400, 0x4db5, 0x4e00, 0x9fa5, - 0xa000, 0xa48c, - 0xa490, 0xa4a1, - 0xa4a4, 0xa4b3, - 0xa4b5, 0xa4c0, - 0xa4c2, 0xa4c4, - 0xa4c6, 0xa4c6, - 0xac00, 0xd7a3, - 0xd800, 0xfa2d, + 0xe000, 0xfa2d, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, + 0xfb1e, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, @@ -16253,32 +19011,19 @@ static const OnigCodePoint CR_Age_3_0[] = { 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0xffff, - 0x1fffe, 0x1ffff, - 0x2fffe, 0x2ffff, - 0x3fffe, 0x3ffff, - 0x4fffe, 0x4ffff, - 0x5fffe, 0x5ffff, - 0x6fffe, 0x6ffff, - 0x7fffe, 0x7ffff, - 0x8fffe, 0x8ffff, - 0x9fffe, 0x9ffff, - 0xafffe, 0xaffff, - 0xbfffe, 0xbffff, - 0xcfffe, 0xcffff, - 0xdfffe, 0xdffff, - 0xefffe, 0x10ffff, -}; /* CR_Age_3_0 */ + 0xfffd, 0xffff, +}; /* CR_Age_1_1 */ -/* 'Age_3_1': Derived Age 3.1 */ -static const OnigCodePoint CR_Age_3_1[] = { - 402, - 0x0000, 0x021f, - 0x0222, 0x0233, - 0x0250, 0x02ad, - 0x02b0, 0x02ee, - 0x0300, 0x034e, - 0x0360, 0x0362, +/* 'Age_2_0': Derived Age 2.0 */ +static const OnigCodePoint CR_Age_2_0[] = { + 312, + 0x0000, 0x01f5, + 0x01fa, 0x0217, + 0x0250, 0x02a8, + 0x02b0, 0x02de, + 0x02e0, 0x02e9, + 0x0300, 0x0345, + 0x0360, 0x0361, 0x0374, 0x0375, 0x037a, 0x037a, 0x037e, 0x037e, @@ -16286,19 +19031,26 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x038c, 0x038c, 0x038e, 0x03a1, 0x03a3, 0x03ce, - 0x03d0, 0x03d7, - 0x03da, 0x03f5, - 0x0400, 0x0486, - 0x0488, 0x0489, - 0x048c, 0x04c4, + 0x03d0, 0x03d6, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03f3, + 0x0401, 0x040c, + 0x040e, 0x044f, + 0x0451, 0x045c, + 0x045e, 0x0486, + 0x0490, 0x04c4, 0x04c7, 0x04c8, 0x04cb, 0x04cc, - 0x04d0, 0x04f5, + 0x04d0, 0x04eb, + 0x04ee, 0x04f5, 0x04f8, 0x04f9, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, - 0x0589, 0x058a, + 0x0589, 0x0589, 0x0591, 0x05a1, 0x05a3, 0x05b9, 0x05bb, 0x05c4, @@ -16308,14 +19060,13 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x061b, 0x061b, 0x061f, 0x061f, 0x0621, 0x063a, - 0x0640, 0x0655, + 0x0640, 0x0652, 0x0660, 0x066d, - 0x0670, 0x06ed, - 0x06f0, 0x06fe, - 0x0700, 0x070d, - 0x070f, 0x072c, - 0x0730, 0x074a, - 0x0780, 0x07b0, + 0x0670, 0x06b7, + 0x06ba, 0x06be, + 0x06c0, 0x06ce, + 0x06d0, 0x06ed, + 0x06f0, 0x06f9, 0x0901, 0x0903, 0x0905, 0x0939, 0x093c, 0x094d, @@ -16431,17 +19182,6 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x0d57, 0x0d57, 0x0d60, 0x0d61, 0x0d66, 0x0d6f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, 0x0e01, 0x0e3a, 0x0e3f, 0x0e5b, 0x0e81, 0x0e82, @@ -16463,60 +19203,19 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, 0x0f00, 0x0f47, - 0x0f49, 0x0f6a, + 0x0f49, 0x0f69, 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fcf, 0x0fcf, - 0x1000, 0x1021, - 0x1023, 0x1027, - 0x1029, 0x102a, - 0x102c, 0x1032, - 0x1036, 0x1039, - 0x1040, 0x1059, + 0x0f90, 0x0f95, + 0x0f97, 0x0f97, + 0x0f99, 0x0fad, + 0x0fb1, 0x0fb7, + 0x0fb9, 0x0fb9, 0x10a0, 0x10c5, 0x10d0, 0x10f6, 0x10fb, 0x10fb, 0x1100, 0x1159, 0x115f, 0x11a2, 0x11a8, 0x11f9, - 0x1200, 0x1206, - 0x1208, 0x1246, - 0x1248, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1286, - 0x1288, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12ae, - 0x12b0, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12ce, - 0x12d0, 0x12d6, - 0x12d8, 0x12ee, - 0x12f0, 0x130e, - 0x1310, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x131e, - 0x1320, 0x1346, - 0x1348, 0x135a, - 0x1361, 0x137c, - 0x13a0, 0x13f4, - 0x1401, 0x1676, - 0x1680, 0x169c, - 0x16a0, 0x16f0, - 0x1780, 0x17dc, - 0x17e0, 0x17e9, - 0x1800, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18a9, 0x1e00, 0x1e9b, 0x1ea0, 0x1ef9, 0x1f00, 0x1f15, @@ -16535,25 +19234,25 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2046, - 0x2048, 0x204d, + 0x2000, 0x202e, + 0x2030, 0x2046, 0x206a, 0x2070, 0x2074, 0x208e, - 0x20a0, 0x20af, - 0x20d0, 0x20e3, - 0x2100, 0x213a, - 0x2153, 0x2183, - 0x2190, 0x21f3, + 0x20a0, 0x20ab, + 0x20d0, 0x20e1, + 0x2100, 0x2138, + 0x2153, 0x2182, + 0x2190, 0x21ea, 0x2200, 0x22f1, - 0x2300, 0x237b, - 0x237d, 0x239a, - 0x2400, 0x2426, + 0x2300, 0x2300, + 0x2302, 0x237a, + 0x2400, 0x2424, 0x2440, 0x244a, 0x2460, 0x24ea, 0x2500, 0x2595, - 0x25a0, 0x25f7, + 0x25a0, 0x25ef, 0x2600, 0x2613, - 0x2619, 0x2671, + 0x261a, 0x266f, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -16566,19 +19265,14 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x2776, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x2800, 0x28ff, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x303a, - 0x303e, 0x303f, + 0x3000, 0x3037, + 0x303f, 0x303f, 0x3041, 0x3094, 0x3099, 0x309e, 0x30a1, 0x30fe, 0x3105, 0x312c, 0x3131, 0x318e, - 0x3190, 0x31b7, + 0x3190, 0x319f, 0x3200, 0x321c, 0x3220, 0x3243, 0x3260, 0x327b, @@ -16588,19 +19282,12 @@ static const OnigCodePoint CR_Age_3_1[] = { 0x3300, 0x3376, 0x337b, 0x33dd, 0x33e0, 0x33fe, - 0x3400, 0x4db5, 0x4e00, 0x9fa5, - 0xa000, 0xa48c, - 0xa490, 0xa4a1, - 0xa4a4, 0xa4b3, - 0xa4b5, 0xa4c0, - 0xa4c2, 0xa4c4, - 0xa4c6, 0xa4c6, 0xac00, 0xd7a3, 0xd800, 0xfa2d, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, + 0xfb1e, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, @@ -16609,7 +19296,7 @@ static const OnigCodePoint CR_Age_3_1[] = { 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdd0, 0xfdfb, + 0xfdf0, 0xfdfb, 0xfe20, 0xfe23, 0xfe30, 0xfe44, 0xfe49, 0xfe52, @@ -16627,39 +19314,8 @@ static const OnigCodePoint CR_Age_3_1[] = { 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0xffff, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10400, 0x10425, - 0x10428, 0x1044d, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d12a, 0x1d1dd, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c0, - 0x1d4c2, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a3, - 0x1d6a8, 0x1d7c9, - 0x1d7ce, 0x1d7ff, - 0x1fffe, 0x2a6d6, - 0x2f800, 0x2fa1d, + 0xfffd, 0xffff, + 0x1fffe, 0x1ffff, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, 0x4fffe, 0x4ffff, @@ -16672,20 +19328,19 @@ static const OnigCodePoint CR_Age_3_1[] = { 0xbfffe, 0xbffff, 0xcfffe, 0xcffff, 0xdfffe, 0xdffff, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, 0xefffe, 0x10ffff, -}; /* CR_Age_3_1 */ +}; /* CR_Age_2_0 */ -/* 'Age_3_2': Derived Age 3.2 */ -static const OnigCodePoint CR_Age_3_2[] = { - 397, - 0x0000, 0x0220, - 0x0222, 0x0233, - 0x0250, 0x02ad, - 0x02b0, 0x02ee, - 0x0300, 0x034f, - 0x0360, 0x036f, +/* 'Age_2_1': Derived Age 2.1 */ +static const OnigCodePoint CR_Age_2_1[] = { + 312, + 0x0000, 0x01f5, + 0x01fa, 0x0217, + 0x0250, 0x02a8, + 0x02b0, 0x02de, + 0x02e0, 0x02e9, + 0x0300, 0x0345, + 0x0360, 0x0361, 0x0374, 0x0375, 0x037a, 0x037a, 0x037e, 0x037e, @@ -16693,16 +19348,26 @@ static const OnigCodePoint CR_Age_3_2[] = { 0x038c, 0x038c, 0x038e, 0x03a1, 0x03a3, 0x03ce, - 0x03d0, 0x03f6, - 0x0400, 0x0486, - 0x0488, 0x04ce, - 0x04d0, 0x04f5, + 0x03d0, 0x03d6, + 0x03da, 0x03da, + 0x03dc, 0x03dc, + 0x03de, 0x03de, + 0x03e0, 0x03e0, + 0x03e2, 0x03f3, + 0x0401, 0x040c, + 0x040e, 0x044f, + 0x0451, 0x045c, + 0x045e, 0x0486, + 0x0490, 0x04c4, + 0x04c7, 0x04c8, + 0x04cb, 0x04cc, + 0x04d0, 0x04eb, + 0x04ee, 0x04f5, 0x04f8, 0x04f9, - 0x0500, 0x050f, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, - 0x0589, 0x058a, + 0x0589, 0x0589, 0x0591, 0x05a1, 0x05a3, 0x05b9, 0x05bb, 0x05c4, @@ -16712,13 +19377,13 @@ static const OnigCodePoint CR_Age_3_2[] = { 0x061b, 0x061b, 0x061f, 0x061f, 0x0621, 0x063a, - 0x0640, 0x0655, - 0x0660, 0x06ed, - 0x06f0, 0x06fe, - 0x0700, 0x070d, - 0x070f, 0x072c, - 0x0730, 0x074a, - 0x0780, 0x07b1, + 0x0640, 0x0652, + 0x0660, 0x066d, + 0x0670, 0x06b7, + 0x06ba, 0x06be, + 0x06c0, 0x06ce, + 0x06d0, 0x06ed, + 0x06f0, 0x06f9, 0x0901, 0x0903, 0x0905, 0x0939, 0x093c, 0x094d, @@ -16834,17 +19499,6 @@ static const OnigCodePoint CR_Age_3_2[] = { 0x0d57, 0x0d57, 0x0d60, 0x0d61, 0x0d66, 0x0d6f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, 0x0e01, 0x0e3a, 0x0e3f, 0x0e5b, 0x0e81, 0x0e82, @@ -16866,67 +19520,19 @@ static const OnigCodePoint CR_Age_3_2[] = { 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, 0x0f00, 0x0f47, - 0x0f49, 0x0f6a, + 0x0f49, 0x0f69, 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fcf, 0x0fcf, - 0x1000, 0x1021, - 0x1023, 0x1027, - 0x1029, 0x102a, - 0x102c, 0x1032, - 0x1036, 0x1039, - 0x1040, 0x1059, + 0x0f90, 0x0f95, + 0x0f97, 0x0f97, + 0x0f99, 0x0fad, + 0x0fb1, 0x0fb7, + 0x0fb9, 0x0fb9, 0x10a0, 0x10c5, - 0x10d0, 0x10f8, - 0x10fb, 0x10fb, - 0x1100, 0x1159, - 0x115f, 0x11a2, - 0x11a8, 0x11f9, - 0x1200, 0x1206, - 0x1208, 0x1246, - 0x1248, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1286, - 0x1288, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12ae, - 0x12b0, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12ce, - 0x12d0, 0x12d6, - 0x12d8, 0x12ee, - 0x12f0, 0x130e, - 0x1310, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x131e, - 0x1320, 0x1346, - 0x1348, 0x135a, - 0x1361, 0x137c, - 0x13a0, 0x13f4, - 0x1401, 0x1676, - 0x1680, 0x169c, - 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17dc, - 0x17e0, 0x17e9, - 0x1800, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18a9, + 0x10d0, 0x10f6, + 0x10fb, 0x10fb, + 0x1100, 0x1159, + 0x115f, 0x11a2, + 0x11a8, 0x11f9, 0x1e00, 0x1e9b, 0x1ea0, 0x1ef9, 0x1f00, 0x1f15, @@ -16945,24 +19551,25 @@ static const OnigCodePoint CR_Age_3_2[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2052, - 0x2057, 0x2057, - 0x205f, 0x2063, - 0x206a, 0x2071, + 0x2000, 0x202e, + 0x2030, 0x2046, + 0x206a, 0x2070, 0x2074, 0x208e, - 0x20a0, 0x20b1, - 0x20d0, 0x20ea, - 0x2100, 0x213a, - 0x213d, 0x214b, - 0x2153, 0x2183, - 0x2190, 0x23ce, - 0x2400, 0x2426, + 0x20a0, 0x20ac, + 0x20d0, 0x20e1, + 0x2100, 0x2138, + 0x2153, 0x2182, + 0x2190, 0x21ea, + 0x2200, 0x22f1, + 0x2300, 0x2300, + 0x2302, 0x237a, + 0x2400, 0x2424, 0x2440, 0x244a, - 0x2460, 0x24fe, - 0x2500, 0x2613, - 0x2616, 0x2617, - 0x2619, 0x267d, - 0x2680, 0x2689, + 0x2460, 0x24ea, + 0x2500, 0x2595, + 0x25a0, 0x25ef, + 0x2600, 0x2613, + 0x261a, 0x266f, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -16971,39 +19578,33 @@ static const OnigCodePoint CR_Age_3_2[] = { 0x274f, 0x2752, 0x2756, 0x2756, 0x2758, 0x275e, - 0x2761, 0x2794, + 0x2761, 0x2767, + 0x2776, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x27d0, 0x27eb, - 0x27f0, 0x2aff, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x303f, - 0x3041, 0x3096, - 0x3099, 0x30ff, + 0x3000, 0x3037, + 0x303f, 0x303f, + 0x3041, 0x3094, + 0x3099, 0x309e, + 0x30a1, 0x30fe, 0x3105, 0x312c, 0x3131, 0x318e, - 0x3190, 0x31b7, - 0x31f0, 0x321c, + 0x3190, 0x319f, + 0x3200, 0x321c, 0x3220, 0x3243, - 0x3251, 0x327b, - 0x327f, 0x32cb, + 0x3260, 0x327b, + 0x327f, 0x32b0, + 0x32c0, 0x32cb, 0x32d0, 0x32fe, 0x3300, 0x3376, 0x337b, 0x33dd, 0x33e0, 0x33fe, - 0x3400, 0x4db5, 0x4e00, 0x9fa5, - 0xa000, 0xa48c, - 0xa490, 0xa4c6, 0xac00, 0xd7a3, 0xd800, 0xfa2d, - 0xfa30, 0xfa6a, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, + 0xfb1e, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, @@ -17012,56 +19613,26 @@ static const OnigCodePoint CR_Age_3_2[] = { 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdd0, 0xfdfc, - 0xfe00, 0xfe0f, + 0xfdf0, 0xfdfb, 0xfe20, 0xfe23, - 0xfe30, 0xfe46, + 0xfe30, 0xfe44, 0xfe49, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, + 0xfe70, 0xfe72, + 0xfe74, 0xfe74, 0xfe76, 0xfefc, 0xfeff, 0xfeff, - 0xff01, 0xffbe, + 0xff01, 0xff5e, + 0xff61, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0xffff, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10400, 0x10425, - 0x10428, 0x1044d, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d12a, 0x1d1dd, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c0, - 0x1d4c2, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a3, - 0x1d6a8, 0x1d7c9, - 0x1d7ce, 0x1d7ff, - 0x1fffe, 0x2a6d6, - 0x2f800, 0x2fa1d, + 0xfffc, 0xffff, + 0x1fffe, 0x1ffff, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, 0x4fffe, 0x4ffff, @@ -17074,17 +19645,18 @@ static const OnigCodePoint CR_Age_3_2[] = { 0xbfffe, 0xbffff, 0xcfffe, 0xcffff, 0xdfffe, 0xdffff, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, 0xefffe, 0x10ffff, -}; /* CR_Age_3_2 */ +}; /* CR_Age_2_1 */ -/* 'Age_4_0': Derived Age 4.0 */ -static const OnigCodePoint CR_Age_4_0[] = { - 412, - 0x0000, 0x0236, - 0x0250, 0x0357, - 0x035d, 0x036f, +/* 'Age_3_0': Derived Age 3.0 */ +static const OnigCodePoint CR_Age_3_0[] = { + 369, + 0x0000, 0x021f, + 0x0222, 0x0233, + 0x0250, 0x02ad, + 0x02b0, 0x02ee, + 0x0300, 0x034e, + 0x0360, 0x0362, 0x0374, 0x0375, 0x037a, 0x037a, 0x037e, 0x037e, @@ -17092,12 +19664,15 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x038c, 0x038c, 0x038e, 0x03a1, 0x03a3, 0x03ce, - 0x03d0, 0x03fb, + 0x03d0, 0x03d7, + 0x03da, 0x03f3, 0x0400, 0x0486, - 0x0488, 0x04ce, + 0x0488, 0x0489, + 0x048c, 0x04c4, + 0x04c7, 0x04c8, + 0x04cb, 0x04cc, 0x04d0, 0x04f5, 0x04f8, 0x04f9, - 0x0500, 0x050f, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, @@ -17107,17 +19682,20 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x05bb, 0x05c4, 0x05d0, 0x05ea, 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x060c, 0x0615, + 0x060c, 0x060c, 0x061b, 0x061b, 0x061f, 0x061f, 0x0621, 0x063a, - 0x0640, 0x0658, - 0x0660, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x074f, - 0x0780, 0x07b1, - 0x0901, 0x0939, + 0x0640, 0x0655, + 0x0660, 0x066d, + 0x0670, 0x06ed, + 0x06f0, 0x06fe, + 0x0700, 0x070d, + 0x070f, 0x072c, + 0x0730, 0x074a, + 0x0780, 0x07b0, + 0x0901, 0x0903, + 0x0905, 0x0939, 0x093c, 0x094d, 0x0950, 0x0954, 0x0958, 0x0970, @@ -17128,14 +19706,15 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bc, 0x09c4, + 0x09bc, 0x09bc, + 0x09be, 0x09c4, 0x09c7, 0x09c8, 0x09cb, 0x09cd, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, 0x09e6, 0x09fa, - 0x0a01, 0x0a03, + 0x0a02, 0x0a02, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, 0x0a13, 0x0a28, @@ -17151,7 +19730,8 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x0a5e, 0x0a5e, 0x0a66, 0x0a74, 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, + 0x0a85, 0x0a8b, + 0x0a8d, 0x0a8d, 0x0a8f, 0x0a91, 0x0a93, 0x0aa8, 0x0aaa, 0x0ab0, @@ -17161,23 +19741,22 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x0ac7, 0x0ac9, 0x0acb, 0x0acd, 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, + 0x0ae0, 0x0ae0, 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, 0x0b13, 0x0b28, 0x0b2a, 0x0b30, 0x0b32, 0x0b33, - 0x0b35, 0x0b39, + 0x0b36, 0x0b39, 0x0b3c, 0x0b43, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b61, - 0x0b66, 0x0b71, + 0x0b66, 0x0b70, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -17193,7 +19772,7 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, 0x0bd7, 0x0bd7, - 0x0be7, 0x0bfa, + 0x0be7, 0x0bf2, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -17212,7 +19791,7 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, + 0x0cbe, 0x0cc4, 0x0cc6, 0x0cc8, 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, @@ -17275,7 +19854,7 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x1036, 0x1039, 0x1040, 0x1059, 0x10a0, 0x10c5, - 0x10d0, 0x10f8, + 0x10d0, 0x10f6, 0x10fb, 0x10fb, 0x1100, 0x1159, 0x115f, 0x11a2, @@ -17310,28 +19889,12 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x1401, 0x1676, 0x1680, 0x169c, 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17dd, + 0x1780, 0x17dc, 0x17e0, 0x17e9, - 0x17f0, 0x17f9, 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, 0x1880, 0x18a9, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x19e0, 0x19ff, - 0x1d00, 0x1d6b, 0x1e00, 0x1e9b, 0x1ea0, 0x1ef9, 0x1f00, 0x1f15, @@ -17350,23 +19913,25 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2054, - 0x2057, 0x2057, - 0x205f, 0x2063, - 0x206a, 0x2071, + 0x2000, 0x2046, + 0x2048, 0x204d, + 0x206a, 0x2070, 0x2074, 0x208e, - 0x20a0, 0x20b1, - 0x20d0, 0x20ea, - 0x2100, 0x213b, - 0x213d, 0x214b, + 0x20a0, 0x20af, + 0x20d0, 0x20e3, + 0x2100, 0x213a, 0x2153, 0x2183, - 0x2190, 0x23d0, + 0x2190, 0x21f3, + 0x2200, 0x22f1, + 0x2300, 0x237b, + 0x237d, 0x239a, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x2617, - 0x2619, 0x267d, - 0x2680, 0x2691, - 0x26a0, 0x26a1, + 0x2460, 0x24ea, + 0x2500, 0x2595, + 0x25a0, 0x25f7, + 0x2600, 0x2613, + 0x2619, 0x2671, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -17375,32 +19940,42 @@ static const OnigCodePoint CR_Age_4_0[] = { 0x274f, 0x2752, 0x2756, 0x2756, 0x2758, 0x275e, - 0x2761, 0x2794, + 0x2761, 0x2767, + 0x2776, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x27d0, 0x27eb, - 0x27f0, 0x2b0d, + 0x2800, 0x28ff, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, 0x2ff0, 0x2ffb, - 0x3000, 0x303f, - 0x3041, 0x3096, - 0x3099, 0x30ff, + 0x3000, 0x303a, + 0x303e, 0x303f, + 0x3041, 0x3094, + 0x3099, 0x309e, + 0x30a1, 0x30fe, 0x3105, 0x312c, 0x3131, 0x318e, 0x3190, 0x31b7, - 0x31f0, 0x321e, + 0x3200, 0x321c, 0x3220, 0x3243, - 0x3250, 0x327d, - 0x327f, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fa5, + 0x3260, 0x327b, + 0x327f, 0x32b0, + 0x32c0, 0x32cb, + 0x32d0, 0x32fe, + 0x3300, 0x3376, + 0x337b, 0x33dd, + 0x33e0, 0x33fe, + 0x3400, 0x4db5, + 0x4e00, 0x9fa5, 0xa000, 0xa48c, - 0xa490, 0xa4c6, + 0xa490, 0xa4a1, + 0xa4a4, 0xa4b3, + 0xa4b5, 0xa4c0, + 0xa4c2, 0xa4c4, + 0xa4c6, 0xa4c6, 0xac00, 0xd7a3, 0xd800, 0xfa2d, - 0xfa30, 0xfa6a, 0xfb00, 0xfb06, 0xfb13, 0xfb17, 0xfb1d, 0xfb36, @@ -17412,72 +19987,26 @@ static const OnigCodePoint CR_Age_4_0[] = { 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdd0, 0xfdfd, - 0xfe00, 0xfe0f, + 0xfdf0, 0xfdfb, 0xfe20, 0xfe23, - 0xfe30, 0xfe52, + 0xfe30, 0xfe44, + 0xfe49, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, + 0xfe70, 0xfe72, + 0xfe74, 0xfe74, 0xfe76, 0xfefc, 0xfeff, 0xfeff, - 0xff01, 0xffbe, + 0xff01, 0xff5e, + 0xff61, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1013f, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x1039f, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x1083f, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d12a, 0x1d1dd, - 0x1d300, 0x1d356, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a3, - 0x1d6a8, 0x1d7c9, - 0x1d7ce, 0x1d7ff, - 0x1fffe, 0x2a6d6, - 0x2f800, 0x2fa1d, + 0xfff9, 0xffff, + 0x1fffe, 0x1ffff, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, 0x4fffe, 0x4ffff, @@ -17490,17 +20019,18 @@ static const OnigCodePoint CR_Age_4_0[] = { 0xbfffe, 0xbffff, 0xcfffe, 0xcffff, 0xdfffe, 0xdffff, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, 0xefffe, 0x10ffff, -}; /* CR_Age_4_0 */ +}; /* CR_Age_3_0 */ -/* 'Age_4_1': Derived Age 4.1 */ -static const OnigCodePoint CR_Age_4_1[] = { - 430, - 0x0000, 0x0241, - 0x0250, 0x036f, +/* 'Age_3_1': Derived Age 3.1 */ +static const OnigCodePoint CR_Age_3_1[] = { + 402, + 0x0000, 0x021f, + 0x0222, 0x0233, + 0x0250, 0x02ad, + 0x02b0, 0x02ee, + 0x0300, 0x034e, + 0x0360, 0x0362, 0x0374, 0x0375, 0x037a, 0x037a, 0x037e, 0x037e, @@ -17508,33 +20038,41 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x038c, 0x038c, 0x038e, 0x03a1, 0x03a3, 0x03ce, - 0x03d0, 0x0486, - 0x0488, 0x04ce, - 0x04d0, 0x04f9, - 0x0500, 0x050f, + 0x03d0, 0x03d7, + 0x03da, 0x03f5, + 0x0400, 0x0486, + 0x0488, 0x0489, + 0x048c, 0x04c4, + 0x04c7, 0x04c8, + 0x04cb, 0x04cc, + 0x04d0, 0x04f5, + 0x04f8, 0x04f9, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, 0x0589, 0x058a, - 0x0591, 0x05b9, - 0x05bb, 0x05c7, + 0x0591, 0x05a1, + 0x05a3, 0x05b9, + 0x05bb, 0x05c4, 0x05d0, 0x05ea, 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x060b, 0x0615, + 0x060c, 0x060c, 0x061b, 0x061b, - 0x061e, 0x061f, + 0x061f, 0x061f, 0x0621, 0x063a, - 0x0640, 0x065e, - 0x0660, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x076d, - 0x0780, 0x07b1, - 0x0901, 0x0939, + 0x0640, 0x0655, + 0x0660, 0x066d, + 0x0670, 0x06ed, + 0x06f0, 0x06fe, + 0x0700, 0x070d, + 0x070f, 0x072c, + 0x0730, 0x074a, + 0x0780, 0x07b0, + 0x0901, 0x0903, + 0x0905, 0x0939, 0x093c, 0x094d, 0x0950, 0x0954, 0x0958, 0x0970, - 0x097d, 0x097d, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -17542,14 +20080,15 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bc, 0x09c4, + 0x09bc, 0x09bc, + 0x09be, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09ce, + 0x09cb, 0x09cd, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, 0x09e6, 0x09fa, - 0x0a01, 0x0a03, + 0x0a02, 0x0a02, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, 0x0a13, 0x0a28, @@ -17565,7 +20104,8 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x0a5e, 0x0a5e, 0x0a66, 0x0a74, 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, + 0x0a85, 0x0a8b, + 0x0a8d, 0x0a8d, 0x0a8f, 0x0a91, 0x0a93, 0x0aa8, 0x0aaa, 0x0ab0, @@ -17575,23 +20115,22 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x0ac7, 0x0ac9, 0x0acb, 0x0acd, 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, + 0x0ae0, 0x0ae0, 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, 0x0b13, 0x0b28, 0x0b2a, 0x0b30, 0x0b32, 0x0b33, - 0x0b35, 0x0b39, + 0x0b36, 0x0b39, 0x0b3c, 0x0b43, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b61, - 0x0b66, 0x0b71, + 0x0b66, 0x0b70, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -17601,12 +20140,13 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x0b9e, 0x0b9f, 0x0ba3, 0x0ba4, 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, + 0x0bae, 0x0bb5, + 0x0bb7, 0x0bb9, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, + 0x0be7, 0x0bf2, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -17625,7 +20165,7 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, + 0x0cbe, 0x0cc4, 0x0cc6, 0x0cc8, 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, @@ -17680,7 +20220,7 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fcf, 0x0fd1, + 0x0fcf, 0x0fcf, 0x1000, 0x1021, 0x1023, 0x1027, 0x1029, 0x102a, @@ -17688,58 +20228,47 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x1036, 0x1039, 0x1040, 0x1059, 0x10a0, 0x10c5, - 0x10d0, 0x10fc, + 0x10d0, 0x10f6, + 0x10fb, 0x10fb, 0x1100, 0x1159, 0x115f, 0x11a2, 0x11a8, 0x11f9, - 0x1200, 0x1248, + 0x1200, 0x1206, + 0x1208, 0x1246, + 0x1248, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, 0x125a, 0x125d, - 0x1260, 0x1288, + 0x1260, 0x1286, + 0x1288, 0x1288, 0x128a, 0x128d, - 0x1290, 0x12b0, + 0x1290, 0x12ae, + 0x12b0, 0x12b0, 0x12b2, 0x12b5, 0x12b8, 0x12be, 0x12c0, 0x12c0, 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, + 0x12c8, 0x12ce, + 0x12d0, 0x12d6, + 0x12d8, 0x12ee, + 0x12f0, 0x130e, + 0x1310, 0x1310, 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, + 0x1318, 0x131e, + 0x1320, 0x1346, + 0x1348, 0x135a, + 0x1361, 0x137c, 0x13a0, 0x13f4, 0x1401, 0x1676, 0x1680, 0x169c, 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17dd, + 0x1780, 0x17dc, 0x17e0, 0x17e9, - 0x17f0, 0x17f9, 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, 0x1880, 0x18a9, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19a9, - 0x19b0, 0x19c9, - 0x19d0, 0x19d9, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a1f, - 0x1d00, 0x1dc3, 0x1e00, 0x1e9b, 0x1ea0, 0x1ef9, 0x1f00, 0x1f15, @@ -17758,19 +20287,25 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2063, - 0x206a, 0x2071, + 0x2000, 0x2046, + 0x2048, 0x204d, + 0x206a, 0x2070, 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b5, - 0x20d0, 0x20eb, - 0x2100, 0x214c, + 0x20a0, 0x20af, + 0x20d0, 0x20e3, + 0x2100, 0x213a, 0x2153, 0x2183, - 0x2190, 0x23db, + 0x2190, 0x21f3, + 0x2200, 0x22f1, + 0x2300, 0x237b, + 0x237d, 0x239a, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x269c, - 0x26a0, 0x26b1, + 0x2460, 0x24ea, + 0x2500, 0x2595, + 0x25a0, 0x25f7, + 0x2600, 0x2613, + 0x2619, 0x2671, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -17779,53 +20314,42 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x274f, 0x2752, 0x2756, 0x2756, 0x2758, 0x275e, - 0x2761, 0x2794, + 0x2761, 0x2767, + 0x2776, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x27c0, 0x27c6, - 0x27d0, 0x27eb, - 0x27f0, 0x2b13, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c80, 0x2cea, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2e00, 0x2e17, - 0x2e1c, 0x2e1d, + 0x2800, 0x28ff, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, 0x2ff0, 0x2ffb, - 0x3000, 0x303f, - 0x3041, 0x3096, - 0x3099, 0x30ff, + 0x3000, 0x303a, + 0x303e, 0x303f, + 0x3041, 0x3094, + 0x3099, 0x309e, + 0x30a1, 0x30fe, 0x3105, 0x312c, 0x3131, 0x318e, 0x3190, 0x31b7, - 0x31c0, 0x31cf, - 0x31f0, 0x321e, + 0x3200, 0x321c, 0x3220, 0x3243, - 0x3250, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fbb, + 0x3260, 0x327b, + 0x327f, 0x32b0, + 0x32c0, 0x32cb, + 0x32d0, 0x32fe, + 0x3300, 0x3376, + 0x337b, 0x33dd, + 0x33e0, 0x33fe, + 0x3400, 0x4db5, + 0x4e00, 0x9fa5, 0xa000, 0xa48c, - 0xa490, 0xa4c6, - 0xa700, 0xa716, - 0xa800, 0xa82b, + 0xa490, 0xa4a1, + 0xa4a4, 0xa4b3, + 0xa4b5, 0xa4c0, + 0xa4c2, 0xa4c4, + 0xa4c6, 0xa4c6, 0xac00, 0xd7a3, 0xd800, 0xfa2d, - 0xfa30, 0xfa6a, - 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, 0xfb1d, 0xfb36, @@ -17837,59 +20361,33 @@ static const OnigCodePoint CR_Age_4_1[] = { 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdd0, 0xfdfd, - 0xfe00, 0xfe19, + 0xfdd0, 0xfdfb, 0xfe20, 0xfe23, - 0xfe30, 0xfe52, + 0xfe30, 0xfe44, + 0xfe49, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, + 0xfe70, 0xfe72, + 0xfe74, 0xfe74, 0xfe76, 0xfefc, 0xfeff, 0xfeff, - 0xff01, 0xffbe, + 0xff01, 0xff5e, + 0xff61, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, + 0xfff9, 0xffff, 0x10300, 0x1031e, 0x10320, 0x10323, 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x1083f, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, + 0x10400, 0x10425, + 0x10428, 0x1044d, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, 0x1d12a, 0x1d1dd, - 0x1d200, 0x1d245, - 0x1d300, 0x1d356, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -17898,7 +20396,8 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x1d4a9, 0x1d4ac, 0x1d4ae, 0x1d4b9, 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, + 0x1d4bd, 0x1d4c0, + 0x1d4c2, 0x1d4c3, 0x1d4c5, 0x1d505, 0x1d507, 0x1d50a, 0x1d50d, 0x1d514, @@ -17908,7 +20407,7 @@ static const OnigCodePoint CR_Age_4_1[] = { 0x1d540, 0x1d544, 0x1d546, 0x1d546, 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, + 0x1d552, 0x1d6a3, 0x1d6a8, 0x1d7c9, 0x1d7ce, 0x1d7ff, 0x1fffe, 0x2a6d6, @@ -17927,45 +20426,56 @@ static const OnigCodePoint CR_Age_4_1[] = { 0xdfffe, 0xdffff, 0xe0001, 0xe0001, 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, 0xefffe, 0x10ffff, -}; /* CR_Age_4_1 */ +}; /* CR_Age_3_1 */ -/* 'Age_5_0': Derived Age 5.0 */ -static const OnigCodePoint CR_Age_5_0[] = { - 440, - 0x0000, 0x036f, +/* 'Age_3_2': Derived Age 3.2 */ +static const OnigCodePoint CR_Age_3_2[] = { + 397, + 0x0000, 0x0220, + 0x0222, 0x0233, + 0x0250, 0x02ad, + 0x02b0, 0x02ee, + 0x0300, 0x034f, + 0x0360, 0x036f, 0x0374, 0x0375, - 0x037a, 0x037e, + 0x037a, 0x037a, + 0x037e, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, 0x03a3, 0x03ce, - 0x03d0, 0x0486, - 0x0488, 0x0513, + 0x03d0, 0x03f6, + 0x0400, 0x0486, + 0x0488, 0x04ce, + 0x04d0, 0x04f5, + 0x04f8, 0x04f9, + 0x0500, 0x050f, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, 0x0589, 0x058a, - 0x0591, 0x05c7, + 0x0591, 0x05a1, + 0x05a3, 0x05b9, + 0x05bb, 0x05c4, 0x05d0, 0x05ea, 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x060b, 0x0615, + 0x060c, 0x060c, 0x061b, 0x061b, - 0x061e, 0x061f, + 0x061f, 0x061f, 0x0621, 0x063a, - 0x0640, 0x065e, - 0x0660, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x076d, + 0x0640, 0x0655, + 0x0660, 0x06ed, + 0x06f0, 0x06fe, + 0x0700, 0x070d, + 0x070f, 0x072c, + 0x0730, 0x074a, 0x0780, 0x07b1, - 0x07c0, 0x07fa, - 0x0901, 0x0939, + 0x0901, 0x0903, + 0x0905, 0x0939, 0x093c, 0x094d, 0x0950, 0x0954, 0x0958, 0x0970, - 0x097b, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -17973,14 +20483,15 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bc, 0x09c4, + 0x09bc, 0x09bc, + 0x09be, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09ce, + 0x09cb, 0x09cd, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, 0x09e6, 0x09fa, - 0x0a01, 0x0a03, + 0x0a02, 0x0a02, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, 0x0a13, 0x0a28, @@ -17996,7 +20507,8 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x0a5e, 0x0a5e, 0x0a66, 0x0a74, 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, + 0x0a85, 0x0a8b, + 0x0a8d, 0x0a8d, 0x0a8f, 0x0a91, 0x0a93, 0x0aa8, 0x0aaa, 0x0ab0, @@ -18006,23 +20518,22 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x0ac7, 0x0ac9, 0x0acb, 0x0acd, 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, + 0x0ae0, 0x0ae0, 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, 0x0b13, 0x0b28, 0x0b2a, 0x0b30, 0x0b32, 0x0b33, - 0x0b35, 0x0b39, + 0x0b36, 0x0b39, 0x0b3c, 0x0b43, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b61, - 0x0b66, 0x0b71, + 0x0b66, 0x0b70, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -18032,12 +20543,13 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x0b9e, 0x0b9f, 0x0ba3, 0x0ba4, 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, + 0x0bae, 0x0bb5, + 0x0bb7, 0x0bb9, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, + 0x0be7, 0x0bf2, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -18056,14 +20568,13 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, + 0x0cbe, 0x0cc4, 0x0cc6, 0x0cc8, 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, + 0x0ce0, 0x0ce1, 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, @@ -18112,7 +20623,7 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fcf, 0x0fd1, + 0x0fcf, 0x0fcf, 0x1000, 0x1021, 0x1023, 0x1027, 0x1029, 0x102a, @@ -18120,28 +20631,37 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x1036, 0x1039, 0x1040, 0x1059, 0x10a0, 0x10c5, - 0x10d0, 0x10fc, + 0x10d0, 0x10f8, + 0x10fb, 0x10fb, 0x1100, 0x1159, 0x115f, 0x11a2, 0x11a8, 0x11f9, - 0x1200, 0x1248, + 0x1200, 0x1206, + 0x1208, 0x1246, + 0x1248, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, 0x125a, 0x125d, - 0x1260, 0x1288, + 0x1260, 0x1286, + 0x1288, 0x1288, 0x128a, 0x128d, - 0x1290, 0x12b0, + 0x1290, 0x12ae, + 0x12b0, 0x12b0, 0x12b2, 0x12b5, 0x12b8, 0x12be, 0x12c0, 0x12c0, 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, + 0x12c8, 0x12ce, + 0x12d0, 0x12d6, + 0x12d8, 0x12ee, + 0x12f0, 0x130e, + 0x1310, 0x1310, 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, + 0x1318, 0x131e, + 0x1320, 0x1346, + 0x1348, 0x135a, + 0x1361, 0x137c, 0x13a0, 0x13f4, 0x1401, 0x1676, 0x1680, 0x169c, @@ -18153,28 +20673,13 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x1760, 0x176c, 0x176e, 0x1770, 0x1772, 0x1773, - 0x1780, 0x17dd, + 0x1780, 0x17dc, 0x17e0, 0x17e9, - 0x17f0, 0x17f9, 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, 0x1880, 0x18a9, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19a9, - 0x19b0, 0x19c9, - 0x19d0, 0x19d9, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a1f, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1d00, 0x1dca, - 0x1dfe, 0x1e9b, + 0x1e00, 0x1e9b, 0x1ea0, 0x1ef9, 0x1f00, 0x1f15, 0x1f18, 0x1f1d, @@ -18192,19 +20697,24 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2063, + 0x2000, 0x2052, + 0x2057, 0x2057, + 0x205f, 0x2063, 0x206a, 0x2071, 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b5, - 0x20d0, 0x20ef, - 0x2100, 0x214e, - 0x2153, 0x2184, - 0x2190, 0x23e7, + 0x20a0, 0x20b1, + 0x20d0, 0x20ea, + 0x2100, 0x213a, + 0x213d, 0x214b, + 0x2153, 0x2183, + 0x2190, 0x23ce, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x269c, - 0x26a0, 0x26b2, + 0x2460, 0x24fe, + 0x2500, 0x2613, + 0x2616, 0x2617, + 0x2619, 0x267d, + 0x2680, 0x2689, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -18216,29 +20726,8 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x2761, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x27c0, 0x27ca, 0x27d0, 0x27eb, - 0x27f0, 0x2b1a, - 0x2b20, 0x2b23, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2c6c, - 0x2c74, 0x2c77, - 0x2c80, 0x2cea, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2e00, 0x2e17, - 0x2e1c, 0x2e1d, + 0x27f0, 0x2aff, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, @@ -18249,22 +20738,21 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x3105, 0x312c, 0x3131, 0x318e, 0x3190, 0x31b7, - 0x31c0, 0x31cf, - 0x31f0, 0x321e, + 0x31f0, 0x321c, 0x3220, 0x3243, - 0x3250, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fbb, + 0x3251, 0x327b, + 0x327f, 0x32cb, + 0x32d0, 0x32fe, + 0x3300, 0x3376, + 0x337b, 0x33dd, + 0x33e0, 0x33fe, + 0x3400, 0x4db5, + 0x4e00, 0x9fa5, 0xa000, 0xa48c, 0xa490, 0xa4c6, - 0xa700, 0xa71a, - 0xa720, 0xa721, - 0xa800, 0xa82b, - 0xa840, 0xa877, 0xac00, 0xd7a3, 0xd800, 0xfa2d, 0xfa30, 0xfa6a, - 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, 0xfb1d, 0xfb36, @@ -18276,10 +20764,11 @@ static const OnigCodePoint CR_Age_5_0[] = { 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdd0, 0xfdfd, - 0xfe00, 0xfe19, + 0xfdd0, 0xfdfc, + 0xfe00, 0xfe0f, 0xfe20, 0xfe23, - 0xfe30, 0xfe52, + 0xfe30, 0xfe46, + 0xfe49, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, 0xfe70, 0xfe74, @@ -18292,49 +20781,15 @@ static const OnigCodePoint CR_Age_5_0[] = { 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, + 0xfff9, 0xffff, 0x10300, 0x1031e, 0x10320, 0x10323, 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x1083f, - 0x10900, 0x10919, - 0x1091f, 0x1091f, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, + 0x10400, 0x10425, + 0x10428, 0x1044d, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, 0x1d12a, 0x1d1dd, - 0x1d200, 0x1d245, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -18343,7 +20798,8 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x1d4a9, 0x1d4ac, 0x1d4ae, 0x1d4b9, 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, + 0x1d4bd, 0x1d4c0, + 0x1d4c2, 0x1d4c3, 0x1d4c5, 0x1d505, 0x1d507, 0x1d50a, 0x1d50d, 0x1d514, @@ -18353,8 +20809,8 @@ static const OnigCodePoint CR_Age_5_0[] = { 0x1d540, 0x1d544, 0x1d546, 0x1d546, 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, + 0x1d552, 0x1d6a3, + 0x1d6a8, 0x1d7c9, 0x1d7ce, 0x1d7ff, 0x1fffe, 0x2a6d6, 0x2f800, 0x2fa1d, @@ -18372,39 +20828,51 @@ static const OnigCodePoint CR_Age_5_0[] = { 0xdfffe, 0xdffff, 0xe0001, 0xe0001, 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, 0xefffe, 0x10ffff, -}; /* CR_Age_5_0 */ +}; /* CR_Age_3_2 */ -/* 'Age_5_1': Derived Age 5.1 */ -static const OnigCodePoint CR_Age_5_1[] = { - 455, - 0x0000, 0x0377, - 0x037a, 0x037e, +/* 'Age_4_0': Derived Age 4.0 */ +static const OnigCodePoint CR_Age_4_0[] = { + 412, + 0x0000, 0x0236, + 0x0250, 0x0357, + 0x035d, 0x036f, + 0x0374, 0x0375, + 0x037a, 0x037a, + 0x037e, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0523, + 0x03a3, 0x03ce, + 0x03d0, 0x03fb, + 0x0400, 0x0486, + 0x0488, 0x04ce, + 0x04d0, 0x04f5, + 0x04f8, 0x04f9, + 0x0500, 0x050f, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, 0x0589, 0x058a, - 0x0591, 0x05c7, + 0x0591, 0x05a1, + 0x05a3, 0x05b9, + 0x05bb, 0x05c4, 0x05d0, 0x05ea, 0x05f0, 0x05f4, 0x0600, 0x0603, - 0x0606, 0x061b, - 0x061e, 0x061f, - 0x0621, 0x065e, + 0x060c, 0x0615, + 0x061b, 0x061b, + 0x061f, 0x061f, + 0x0621, 0x063a, + 0x0640, 0x0658, 0x0660, 0x070d, 0x070f, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07fa, + 0x074d, 0x074f, + 0x0780, 0x07b1, 0x0901, 0x0939, 0x093c, 0x094d, 0x0950, 0x0954, - 0x0958, 0x0972, - 0x097b, 0x097f, + 0x0958, 0x0970, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -18414,7 +20882,7 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x09b6, 0x09b9, 0x09bc, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09ce, + 0x09cb, 0x09cd, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, @@ -18431,10 +20899,9 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x0a3e, 0x0a42, 0x0a47, 0x0a48, 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, + 0x0a66, 0x0a74, 0x0a81, 0x0a83, 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, @@ -18456,12 +20923,12 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x0b2a, 0x0b30, 0x0b32, 0x0b33, 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, + 0x0b3c, 0x0b43, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, + 0x0b5f, 0x0b61, 0x0b66, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, @@ -18472,27 +20939,25 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x0b9e, 0x0b9f, 0x0ba3, 0x0ba4, 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, + 0x0bae, 0x0bb5, + 0x0bb7, 0x0bb9, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, + 0x0be7, 0x0bfa, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, 0x0c12, 0x0c28, 0x0c2a, 0x0c33, 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, + 0x0c3e, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4d, 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, + 0x0c60, 0x0c61, 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, @@ -18504,21 +20969,19 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, + 0x0ce0, 0x0ce1, 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, 0x0d12, 0x0d28, 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, + 0x0d3e, 0x0d43, 0x0d46, 0x0d48, 0x0d4a, 0x0d4d, 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, + 0x0d60, 0x0d61, + 0x0d66, 0x0d6f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, @@ -18551,36 +21014,50 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, + 0x0f49, 0x0f6a, 0x0f71, 0x0f8b, 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd4, - 0x1000, 0x1099, - 0x109e, 0x10c5, - 0x10d0, 0x10fc, + 0x0fcf, 0x0fcf, + 0x1000, 0x1021, + 0x1023, 0x1027, + 0x1029, 0x102a, + 0x102c, 0x1032, + 0x1036, 0x1039, + 0x1040, 0x1059, + 0x10a0, 0x10c5, + 0x10d0, 0x10f8, + 0x10fb, 0x10fb, 0x1100, 0x1159, 0x115f, 0x11a2, 0x11a8, 0x11f9, - 0x1200, 0x1248, + 0x1200, 0x1206, + 0x1208, 0x1246, + 0x1248, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, 0x125a, 0x125d, - 0x1260, 0x1288, + 0x1260, 0x1286, + 0x1288, 0x1288, 0x128a, 0x128d, - 0x1290, 0x12b0, + 0x1290, 0x12ae, + 0x12b0, 0x12b0, 0x12b2, 0x12b5, 0x12b8, 0x12be, 0x12c0, 0x12c0, 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, + 0x12c8, 0x12ce, + 0x12d0, 0x12d6, + 0x12d8, 0x12ee, + 0x12f0, 0x130e, + 0x1310, 0x1310, 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, + 0x1318, 0x131e, + 0x1320, 0x1346, + 0x1348, 0x135a, + 0x1361, 0x137c, 0x13a0, 0x13f4, 0x1401, 0x1676, 0x1680, 0x169c, @@ -18598,27 +21075,18 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, - 0x1880, 0x18aa, + 0x1880, 0x18a9, 0x1900, 0x191c, 0x1920, 0x192b, 0x1930, 0x193b, 0x1940, 0x1940, 0x1944, 0x196d, 0x1970, 0x1974, - 0x1980, 0x19a9, - 0x19b0, 0x19c9, - 0x19d0, 0x19d9, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a1f, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1d00, 0x1de6, - 0x1dfe, 0x1f15, + 0x19e0, 0x19ff, + 0x1d00, 0x1d6b, + 0x1e00, 0x1e9b, + 0x1ea0, 0x1ef9, + 0x1f00, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -18634,20 +21102,23 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2064, + 0x2000, 0x2054, + 0x2057, 0x2057, + 0x205f, 0x2063, 0x206a, 0x2071, 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b5, - 0x20d0, 0x20f0, - 0x2100, 0x214f, - 0x2153, 0x2188, - 0x2190, 0x23e7, + 0x20a0, 0x20b1, + 0x20d0, 0x20ea, + 0x2100, 0x213b, + 0x213d, 0x214b, + 0x2153, 0x2183, + 0x2190, 0x23d0, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x269d, - 0x26a0, 0x26bc, - 0x26c0, 0x26c3, + 0x2460, 0x2617, + 0x2619, 0x267d, + 0x2680, 0x2691, + 0x26a0, 0x26a1, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, @@ -18657,30 +21128,10 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x2756, 0x2756, 0x2758, 0x275e, 0x2761, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x2b4c, - 0x2b50, 0x2b54, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2c6f, - 0x2c71, 0x2c7d, - 0x2c80, 0x2cea, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2e30, + 0x2798, 0x27af, + 0x27b1, 0x27be, + 0x27d0, 0x27eb, + 0x27f0, 0x2b0d, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, @@ -18688,36 +21139,20 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x3000, 0x303f, 0x3041, 0x3096, 0x3099, 0x30ff, - 0x3105, 0x312d, + 0x3105, 0x312c, 0x3131, 0x318e, 0x3190, 0x31b7, - 0x31c0, 0x31e3, 0x31f0, 0x321e, 0x3220, 0x3243, - 0x3250, 0x32fe, + 0x3250, 0x327d, + 0x327f, 0x32fe, 0x3300, 0x4db5, - 0x4dc0, 0x9fc3, + 0x4dc0, 0x9fa5, 0xa000, 0xa48c, 0xa490, 0xa4c6, - 0xa500, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa673, - 0xa67c, 0xa697, - 0xa700, 0xa78c, - 0xa7fb, 0xa82b, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa900, 0xa953, - 0xa95f, 0xa95f, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa5f, 0xac00, 0xd7a3, 0xd800, 0xfa2d, 0xfa30, 0xfa6a, - 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, 0xfb1d, 0xfb36, @@ -18730,8 +21165,8 @@ static const OnigCodePoint CR_Age_5_1[] = { 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, 0xfdd0, 0xfdfd, - 0xfe00, 0xfe19, - 0xfe20, 0xfe26, + 0xfe00, 0xfe0f, + 0xfe20, 0xfe23, 0xfe30, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, @@ -18754,17 +21189,12 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x10080, 0x100fa, 0x10100, 0x10102, 0x10107, 0x10133, - 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, + 0x10137, 0x1013f, 0x10300, 0x1031e, 0x10320, 0x10323, 0x10330, 0x1034a, 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, + 0x1039f, 0x1039f, 0x10400, 0x1049d, 0x104a0, 0x104a9, 0x10800, 0x10805, @@ -18773,26 +21203,10 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x10837, 0x10838, 0x1083c, 0x1083c, 0x1083f, 0x1083f, - 0x10900, 0x10919, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, - 0x1d200, 0x1d245, + 0x1d12a, 0x1d1dd, 0x1d300, 0x1d356, - 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -18811,11 +21225,9 @@ static const OnigCodePoint CR_Age_5_1[] = { 0x1d540, 0x1d544, 0x1d546, 0x1d546, 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, + 0x1d552, 0x1d6a3, + 0x1d6a8, 0x1d7c9, 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, 0x1fffe, 0x2a6d6, 0x2f800, 0x2fa1d, 0x2fffe, 0x2ffff, @@ -18834,39 +21246,47 @@ static const OnigCodePoint CR_Age_5_1[] = { 0xe0020, 0xe007f, 0xe0100, 0xe01ef, 0xefffe, 0x10ffff, -}; /* CR_Age_5_1 */ +}; /* CR_Age_4_0 */ -/* 'Age_5_2': Derived Age 5.2 */ -static const OnigCodePoint CR_Age_5_2[] = { - 495, - 0x0000, 0x0377, - 0x037a, 0x037e, +/* 'Age_4_1': Derived Age 4.1 */ +static const OnigCodePoint CR_Age_4_1[] = { + 430, + 0x0000, 0x0241, + 0x0250, 0x036f, + 0x0374, 0x0375, + 0x037a, 0x037a, + 0x037e, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0525, + 0x03a3, 0x03ce, + 0x03d0, 0x0486, + 0x0488, 0x04ce, + 0x04d0, 0x04f9, + 0x0500, 0x050f, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, 0x0589, 0x058a, - 0x0591, 0x05c7, + 0x0591, 0x05b9, + 0x05bb, 0x05c7, 0x05d0, 0x05ea, 0x05f0, 0x05f4, 0x0600, 0x0603, - 0x0606, 0x061b, + 0x060b, 0x0615, + 0x061b, 0x061b, 0x061e, 0x061f, - 0x0621, 0x065e, + 0x0621, 0x063a, + 0x0640, 0x065e, 0x0660, 0x070d, 0x070f, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0972, - 0x0979, 0x097f, + 0x074d, 0x076d, + 0x0780, 0x07b1, + 0x0901, 0x0939, + 0x093c, 0x094d, + 0x0950, 0x0954, + 0x0958, 0x0970, + 0x097d, 0x097d, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -18880,7 +21300,7 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09fb, + 0x09e6, 0x09fa, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -18893,10 +21313,9 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x0a3e, 0x0a42, 0x0a47, 0x0a48, 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, + 0x0a66, 0x0a74, 0x0a81, 0x0a83, 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, @@ -18918,12 +21337,12 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x0b2a, 0x0b30, 0x0b32, 0x0b33, 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, + 0x0b3c, 0x0b43, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, + 0x0b5f, 0x0b61, 0x0b66, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, @@ -18938,7 +21357,6 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, 0x0be6, 0x0bfa, 0x0c01, 0x0c03, @@ -18947,14 +21365,12 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x0c12, 0x0c28, 0x0c2a, 0x0c33, 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, + 0x0c3e, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4d, 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, + 0x0c60, 0x0c61, 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, @@ -18966,21 +21382,19 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, + 0x0ce0, 0x0ce1, 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, 0x0d12, 0x0d28, 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, + 0x0d3e, 0x0d43, 0x0d46, 0x0d48, 0x0d4a, 0x0d4d, 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, + 0x0d60, 0x0d61, + 0x0d66, 0x0d6f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, @@ -19013,15 +21427,24 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, + 0x0f49, 0x0f6a, 0x0f71, 0x0f8b, 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd8, - 0x1000, 0x10c5, + 0x0fcf, 0x0fd1, + 0x1000, 0x1021, + 0x1023, 0x1027, + 0x1029, 0x102a, + 0x102c, 0x1032, + 0x1036, 0x1039, + 0x1040, 0x1059, + 0x10a0, 0x10c5, 0x10d0, 0x10fc, - 0x1100, 0x1248, + 0x1100, 0x1159, + 0x115f, 0x11a2, + 0x11a8, 0x11f9, + 0x1200, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, @@ -19040,7 +21463,8 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x135f, 0x137c, 0x1380, 0x1399, 0x13a0, 0x13f4, - 0x1400, 0x169c, + 0x1401, 0x1676, + 0x1680, 0x169c, 0x16a0, 0x16f0, 0x1700, 0x170c, 0x170e, 0x1714, @@ -19055,33 +21479,22 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, + 0x1880, 0x18a9, 0x1900, 0x191c, 0x1920, 0x192b, 0x1930, 0x193b, 0x1940, 0x1940, 0x1944, 0x196d, 0x1970, 0x1974, - 0x1980, 0x19ab, + 0x1980, 0x19a9, 0x19b0, 0x19c9, - 0x19d0, 0x19da, + 0x19d0, 0x19d9, 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, + 0x1a1e, 0x1a1f, + 0x1d00, 0x1dc3, + 0x1e00, 0x1e9b, + 0x1ea0, 0x1ef9, + 0x1f00, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -19097,37 +21510,36 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2064, + 0x2000, 0x2063, 0x206a, 0x2071, 0x2074, 0x208e, 0x2090, 0x2094, - 0x20a0, 0x20b8, - 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23e8, + 0x20a0, 0x20b5, + 0x20d0, 0x20eb, + 0x2100, 0x214c, + 0x2153, 0x2183, + 0x2190, 0x23db, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, + 0x2460, 0x269c, + 0x26a0, 0x26b1, 0x2701, 0x2704, 0x2706, 0x2709, 0x270c, 0x2727, 0x2729, 0x274b, 0x274d, 0x274d, 0x274f, 0x2752, - 0x2756, 0x275e, + 0x2756, 0x2756, + 0x2758, 0x275e, 0x2761, 0x2794, 0x2798, 0x27af, 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x2b4c, - 0x2b50, 0x2b59, + 0x27c0, 0x27c6, + 0x27d0, 0x27eb, + 0x27f0, 0x2b13, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, + 0x2c80, 0x2cea, 0x2cf9, 0x2d25, 0x2d30, 0x2d65, 0x2d6f, 0x2d6f, @@ -19140,7 +21552,8 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, + 0x2e00, 0x2e17, + 0x2e1c, 0x2e1d, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, @@ -19148,46 +21561,22 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x3000, 0x303f, 0x3041, 0x3096, 0x3099, 0x30ff, - 0x3105, 0x312d, + 0x3105, 0x312c, 0x3131, 0x318e, 0x3190, 0x31b7, - 0x31c0, 0x31e3, + 0x31c0, 0x31cf, 0x31f0, 0x321e, - 0x3220, 0x32fe, + 0x3220, 0x3243, + 0x3250, 0x32fe, 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, + 0x4dc0, 0x9fbb, 0xa000, 0xa48c, 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa673, - 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78c, - 0xa7fb, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, + 0xa700, 0xa716, + 0xa800, 0xa82b, 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, 0xd800, 0xfa2d, - 0xfa30, 0xfa6d, + 0xfa30, 0xfa6a, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, @@ -19202,7 +21591,7 @@ static const OnigCodePoint CR_Age_5_2[] = { 0xfd92, 0xfdc7, 0xfdd0, 0xfdfd, 0xfe00, 0xfe19, - 0xfe20, 0xfe26, + 0xfe20, 0xfe23, 0xfe30, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, @@ -19226,10 +21615,6 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x10100, 0x10102, 0x10107, 0x10133, 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, 0x10300, 0x1031e, 0x10320, 0x10323, 0x10330, 0x1034a, @@ -19243,11 +21628,7 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x1080a, 0x10835, 0x10837, 0x10838, 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, + 0x1083f, 0x1083f, 0x10a00, 0x10a03, 0x10a05, 0x10a06, 0x10a0c, 0x10a13, @@ -19256,24 +21637,11 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x10a38, 0x10a3a, 0x10a3f, 0x10a47, 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11080, 0x110c1, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, - 0x13000, 0x1342e, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, + 0x1d12a, 0x1d1dd, 0x1d200, 0x1d245, 0x1d300, 0x1d356, - 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -19293,30 +21661,9 @@ static const OnigCodePoint CR_Age_5_2[] = { 0x1d546, 0x1d546, 0x1d54a, 0x1d550, 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, + 0x1d6a8, 0x1d7c9, 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, 0x1fffe, 0x2a6d6, - 0x2a700, 0x2b734, 0x2f800, 0x2fa1d, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, @@ -19334,17 +21681,20 @@ static const OnigCodePoint CR_Age_5_2[] = { 0xe0020, 0xe007f, 0xe0100, 0xe01ef, 0xefffe, 0x10ffff, -}; /* CR_Age_5_2 */ +}; /* CR_Age_4_1 */ -/* 'Age_6_0': Derived Age 6.0 */ -static const OnigCodePoint CR_Age_6_0[] = { - 511, - 0x0000, 0x0377, +/* 'Age_5_0': Derived Age 5.0 */ +static const OnigCodePoint CR_Age_5_0[] = { + 440, + 0x0000, 0x036f, + 0x0374, 0x0375, 0x037a, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0527, + 0x03a3, 0x03ce, + 0x03d0, 0x0486, + 0x0488, 0x0513, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, @@ -19353,17 +21703,21 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x05d0, 0x05ea, 0x05f0, 0x05f4, 0x0600, 0x0603, - 0x0606, 0x061b, - 0x061e, 0x070d, + 0x060b, 0x0615, + 0x061b, 0x061b, + 0x061e, 0x061f, + 0x0621, 0x063a, + 0x0640, 0x065e, + 0x0660, 0x070d, 0x070f, 0x074a, - 0x074d, 0x07b1, + 0x074d, 0x076d, + 0x0780, 0x07b1, 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0840, 0x085b, - 0x085e, 0x085e, - 0x0900, 0x0977, - 0x0979, 0x097f, + 0x0901, 0x0939, + 0x093c, 0x094d, + 0x0950, 0x0954, + 0x0958, 0x0970, + 0x097b, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -19377,7 +21731,7 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09fb, + 0x09e6, 0x09fa, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -19390,10 +21744,9 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x0a3e, 0x0a42, 0x0a47, 0x0a48, 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, + 0x0a66, 0x0a74, 0x0a81, 0x0a83, 0x0a85, 0x0a8d, 0x0a8f, 0x0a91, @@ -19415,13 +21768,13 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x0b2a, 0x0b30, 0x0b32, 0x0b33, 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, + 0x0b3c, 0x0b43, 0x0b47, 0x0b48, 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b77, + 0x0b5f, 0x0b61, + 0x0b66, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -19435,7 +21788,6 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, 0x0be6, 0x0bfa, 0x0c01, 0x0c03, @@ -19444,14 +21796,12 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x0c12, 0x0c28, 0x0c2a, 0x0c33, 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, + 0x0c3e, 0x0c44, 0x0c46, 0x0c48, 0x0c4a, 0x0c4d, 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, + 0x0c60, 0x0c61, 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, @@ -19469,14 +21819,14 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, - 0x0d3d, 0x0d44, + 0x0d12, 0x0d28, + 0x0d2a, 0x0d39, + 0x0d3e, 0x0d43, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4e, + 0x0d4a, 0x0d4d, 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, + 0x0d60, 0x0d61, + 0x0d66, 0x0d6f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, @@ -19509,14 +21859,24 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f97, + 0x0f49, 0x0f6a, + 0x0f71, 0x0f8b, + 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fce, 0x0fda, - 0x1000, 0x10c5, + 0x0fcf, 0x0fd1, + 0x1000, 0x1021, + 0x1023, 0x1027, + 0x1029, 0x102a, + 0x102c, 0x1032, + 0x1036, 0x1039, + 0x1040, 0x1059, + 0x10a0, 0x10c5, 0x10d0, 0x10fc, - 0x1100, 0x1248, + 0x1100, 0x1159, + 0x115f, 0x11a2, + 0x11a8, 0x11f9, + 0x1200, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, @@ -19532,10 +21892,11 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x135d, 0x137c, + 0x135f, 0x137c, 0x1380, 0x1399, 0x13a0, 0x13f4, - 0x1400, 0x169c, + 0x1401, 0x1676, + 0x1680, 0x169c, 0x16a0, 0x16f0, 0x1700, 0x170c, 0x170e, 0x1714, @@ -19550,34 +21911,24 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, + 0x1880, 0x18a9, 0x1900, 0x191c, 0x1920, 0x192b, 0x1930, 0x193b, 0x1940, 0x1940, 0x1944, 0x196d, 0x1970, 0x1974, - 0x1980, 0x19ab, + 0x1980, 0x19a9, 0x19b0, 0x19c9, - 0x19d0, 0x19da, + 0x19d0, 0x19d9, 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, + 0x1a1e, 0x1a1f, 0x1b00, 0x1b4b, 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1bc0, 0x1bf3, - 0x1bfc, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfc, 0x1f15, + 0x1d00, 0x1dca, + 0x1dfe, 0x1e9b, + 0x1ea0, 0x1ef9, + 0x1f00, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -19593,28 +21944,43 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2064, + 0x2000, 0x2063, 0x206a, 0x2071, 0x2074, 0x208e, - 0x2090, 0x209c, - 0x20a0, 0x20b9, - 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23f3, + 0x2090, 0x2094, + 0x20a0, 0x20b5, + 0x20d0, 0x20ef, + 0x2100, 0x214e, + 0x2153, 0x2184, + 0x2190, 0x23e7, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x26ff, - 0x2701, 0x27ca, - 0x27cc, 0x27cc, - 0x27ce, 0x2b4c, - 0x2b50, 0x2b59, + 0x2460, 0x269c, + 0x26a0, 0x26b2, + 0x2701, 0x2704, + 0x2706, 0x2709, + 0x270c, 0x2727, + 0x2729, 0x274b, + 0x274d, 0x274d, + 0x274f, 0x2752, + 0x2756, 0x2756, + 0x2758, 0x275e, + 0x2761, 0x2794, + 0x2798, 0x27af, + 0x27b1, 0x27be, + 0x27c0, 0x27ca, + 0x27d0, 0x27eb, + 0x27f0, 0x2b1a, + 0x2b20, 0x2b23, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, + 0x2c60, 0x2c6c, + 0x2c74, 0x2c77, + 0x2c80, 0x2cea, 0x2cf9, 0x2d25, 0x2d30, 0x2d65, - 0x2d6f, 0x2d70, - 0x2d7f, 0x2d96, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -19623,7 +21989,8 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, + 0x2e00, 0x2e17, + 0x2e1c, 0x2e1d, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, @@ -19631,52 +21998,24 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x3000, 0x303f, 0x3041, 0x3096, 0x3099, 0x30ff, - 0x3105, 0x312d, + 0x3105, 0x312c, 0x3131, 0x318e, - 0x3190, 0x31ba, - 0x31c0, 0x31e3, + 0x3190, 0x31b7, + 0x31c0, 0x31cf, 0x31f0, 0x321e, - 0x3220, 0x32fe, + 0x3220, 0x3243, + 0x3250, 0x32fe, 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, + 0x4dc0, 0x9fbb, 0xa000, 0xa48c, 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa673, - 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, + 0xa700, 0xa71a, + 0xa720, 0xa721, + 0xa800, 0xa82b, + 0xa840, 0xa877, 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, 0xd800, 0xfa2d, - 0xfa30, 0xfa6d, + 0xfa30, 0xfa6a, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, @@ -19685,13 +22024,13 @@ static const OnigCodePoint CR_Age_6_0[] = { 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbc1, + 0xfb46, 0xfbb1, 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, 0xfdd0, 0xfdfd, 0xfe00, 0xfe19, - 0xfe20, 0xfe26, + 0xfe20, 0xfe23, 0xfe30, 0xfe52, 0xfe54, 0xfe66, 0xfe68, 0xfe6b, @@ -19715,10 +22054,6 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x10100, 0x10102, 0x10107, 0x10133, 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, 0x10300, 0x1031e, 0x10320, 0x10323, 0x10330, 0x1034a, @@ -19732,11 +22067,9 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x1080a, 0x10835, 0x10837, 0x10838, 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, + 0x1083f, 0x1083f, + 0x10900, 0x10919, + 0x1091f, 0x1091f, 0x10a00, 0x10a03, 0x10a05, 0x10a06, 0x10a0c, 0x10a13, @@ -19745,25 +22078,12 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x10a38, 0x10a3a, 0x10a3f, 0x10a47, 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11000, 0x1104d, - 0x11052, 0x1106f, - 0x11080, 0x110c1, 0x12000, 0x1236e, 0x12400, 0x12462, 0x12470, 0x12473, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, + 0x1d12a, 0x1d1dd, 0x1d200, 0x1d245, 0x1d300, 0x1d356, 0x1d360, 0x1d371, @@ -19788,51 +22108,7 @@ static const OnigCodePoint CR_Age_6_0[] = { 0x1d552, 0x1d6a5, 0x1d6a8, 0x1d7cb, 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, 0x1fffe, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, @@ -19850,47 +22126,17 @@ static const OnigCodePoint CR_Age_6_0[] = { 0xe0020, 0xe007f, 0xe0100, 0xe01ef, 0xefffe, 0x10ffff, -}; /* CR_Age_6_0 */ - -/* 'NEWLINE': [[:NEWLINE:]] */ -static const OnigCodePoint CR_NEWLINE[] = { - 1, - 0x000a, 0x000a, -}; /* CR_NEWLINE */ - -/* 'Alpha': [[:Alpha:]] */ -#define CR_Alpha CR_Alphabetic - -/* 'Blank': [[:Blank:]] */ -static const OnigCodePoint CR_Blank[] = { - 9, - 0x0009, 0x0009, - 0x0020, 0x0020, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_Blank */ - -/* 'Cntrl': [[:Cntrl:]] */ -#define CR_Cntrl CR_Cc - -/* 'Digit': [[:Digit:]] */ -#define CR_Digit CR_Nd +}; /* CR_Age_5_0 */ -/* 'Graph': [[:Graph:]] */ -static const OnigCodePoint CR_Graph[] = { - 506, - 0x0021, 0x007e, - 0x00a1, 0x0377, +/* 'Age_5_1': Derived Age 5.1 */ +static const OnigCodePoint CR_Age_5_1[] = { + 455, + 0x0000, 0x0377, 0x037a, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0527, + 0x03a3, 0x0523, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, @@ -19900,16 +22146,17 @@ static const OnigCodePoint CR_Graph[] = { 0x05f0, 0x05f4, 0x0600, 0x0603, 0x0606, 0x061b, - 0x061e, 0x070d, + 0x061e, 0x061f, + 0x0621, 0x065e, + 0x0660, 0x070d, 0x070f, 0x074a, 0x074d, 0x07b1, 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0840, 0x085b, - 0x085e, 0x085e, - 0x0900, 0x0977, - 0x0979, 0x097f, + 0x0901, 0x0939, + 0x093c, 0x094d, + 0x0950, 0x0954, + 0x0958, 0x0972, + 0x097b, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, 0x098f, 0x0990, @@ -19923,7 +22170,7 @@ static const OnigCodePoint CR_Graph[] = { 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09fb, + 0x09e6, 0x09fa, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -19967,7 +22214,7 @@ static const OnigCodePoint CR_Graph[] = { 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b63, - 0x0b66, 0x0b77, + 0x0b66, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -20015,10 +22262,11 @@ static const OnigCodePoint CR_Graph[] = { 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, + 0x0d12, 0x0d28, + 0x0d2a, 0x0d39, 0x0d3d, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4e, + 0x0d4a, 0x0d4d, 0x0d57, 0x0d57, 0x0d60, 0x0d63, 0x0d66, 0x0d75, @@ -20056,13 +22304,18 @@ static const OnigCodePoint CR_Graph[] = { 0x0edc, 0x0edd, 0x0f00, 0x0f47, 0x0f49, 0x0f6c, - 0x0f71, 0x0f97, + 0x0f71, 0x0f8b, + 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fce, 0x0fda, - 0x1000, 0x10c5, + 0x0fce, 0x0fd4, + 0x1000, 0x1099, + 0x109e, 0x10c5, 0x10d0, 0x10fc, - 0x1100, 0x1248, + 0x1100, 0x1159, + 0x115f, 0x11a2, + 0x11a8, 0x11f9, + 0x1200, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, @@ -20078,11 +22331,11 @@ static const OnigCodePoint CR_Graph[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x135d, 0x137c, + 0x135f, 0x137c, 0x1380, 0x1399, 0x13a0, 0x13f4, - 0x1400, 0x167f, - 0x1681, 0x169c, + 0x1401, 0x1676, + 0x1680, 0x169c, 0x16a0, 0x16f0, 0x1700, 0x170c, 0x170e, 0x1714, @@ -20094,37 +22347,30 @@ static const OnigCodePoint CR_Graph[] = { 0x1780, 0x17dd, 0x17e0, 0x17e9, 0x17f0, 0x17f9, - 0x1800, 0x180d, + 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, 0x1880, 0x18aa, - 0x18b0, 0x18f5, 0x1900, 0x191c, 0x1920, 0x192b, 0x1930, 0x193b, 0x1940, 0x1940, 0x1944, 0x196d, 0x1970, 0x1974, - 0x1980, 0x19ab, + 0x1980, 0x19a9, 0x19b0, 0x19c9, - 0x19d0, 0x19da, + 0x19d0, 0x19d9, 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, + 0x1a1e, 0x1a1f, 0x1b00, 0x1b4b, 0x1b50, 0x1b7c, 0x1b80, 0x1baa, 0x1bae, 0x1bb9, - 0x1bc0, 0x1bf3, - 0x1bfc, 0x1c37, + 0x1c00, 0x1c37, 0x1c3b, 0x1c49, 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, 0x1d00, 0x1de6, - 0x1dfc, 0x1f15, + 0x1dfe, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -20140,31 +22386,44 @@ static const OnigCodePoint CR_Graph[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x200b, 0x2027, - 0x202a, 0x202e, - 0x2030, 0x205e, - 0x2060, 0x2064, + 0x2000, 0x2064, 0x206a, 0x2071, 0x2074, 0x208e, - 0x2090, 0x209c, - 0x20a0, 0x20b9, + 0x2090, 0x2094, + 0x20a0, 0x20b5, 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23f3, + 0x2100, 0x214f, + 0x2153, 0x2188, + 0x2190, 0x23e7, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x26ff, - 0x2701, 0x27ca, + 0x2460, 0x269d, + 0x26a0, 0x26bc, + 0x26c0, 0x26c3, + 0x2701, 0x2704, + 0x2706, 0x2709, + 0x270c, 0x2727, + 0x2729, 0x274b, + 0x274d, 0x274d, + 0x274f, 0x2752, + 0x2756, 0x2756, + 0x2758, 0x275e, + 0x2761, 0x2794, + 0x2798, 0x27af, + 0x27b1, 0x27be, + 0x27c0, 0x27ca, 0x27cc, 0x27cc, - 0x27ce, 0x2b4c, - 0x2b50, 0x2b59, + 0x27d0, 0x2b4c, + 0x2b50, 0x2b54, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, + 0x2c60, 0x2c6f, + 0x2c71, 0x2c7d, + 0x2c80, 0x2cea, 0x2cf9, 0x2d25, 0x2d30, 0x2d65, - 0x2d6f, 0x2d70, - 0x2d7f, 0x2d96, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -20173,60 +22432,43 @@ static const OnigCodePoint CR_Graph[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, + 0x2de0, 0x2e30, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5, 0x2ff0, 0x2ffb, - 0x3001, 0x303f, + 0x3000, 0x303f, 0x3041, 0x3096, 0x3099, 0x30ff, 0x3105, 0x312d, 0x3131, 0x318e, - 0x3190, 0x31ba, + 0x3190, 0x31b7, 0x31c0, 0x31e3, 0x31f0, 0x321e, - 0x3220, 0x32fe, + 0x3220, 0x3243, + 0x3250, 0x32fe, 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, + 0x4dc0, 0x9fc3, 0xa000, 0xa48c, 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa673, + 0xa500, 0xa62b, + 0xa640, 0xa65f, + 0xa662, 0xa673, 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa82b, - 0xa830, 0xa839, + 0xa700, 0xa78c, + 0xa7fb, 0xa82b, 0xa840, 0xa877, 0xa880, 0xa8c4, 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, + 0xa900, 0xa953, + 0xa95f, 0xa95f, 0xaa00, 0xaa36, 0xaa40, 0xaa4d, 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, + 0xaa5c, 0xaa5f, 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xe000, 0xfa2d, - 0xfa30, 0xfa6d, + 0xd800, 0xfa2d, + 0xfa30, 0xfa6a, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, @@ -20235,11 +22477,11 @@ static const OnigCodePoint CR_Graph[] = { 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbc1, + 0xfb46, 0xfbb1, 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, + 0xfdd0, 0xfdfd, 0xfe00, 0xfe19, 0xfe20, 0xfe26, 0xfe30, 0xfe52, @@ -20255,8 +22497,7 @@ static const OnigCodePoint CR_Graph[] = { 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0xfffd, - 0x10000, 0x1000b, + 0xfff9, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, 0x1003c, 0x1003d, @@ -20283,9 +22524,8 @@ static const OnigCodePoint CR_Graph[] = { 0x1080a, 0x10835, 0x10837, 0x10838, 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, + 0x1083f, 0x1083f, + 0x10900, 0x10919, 0x1091f, 0x10939, 0x1093f, 0x1093f, 0x10a00, 0x10a03, @@ -20296,22 +22536,9 @@ static const OnigCodePoint CR_Graph[] = { 0x10a38, 0x10a3a, 0x10a3f, 0x10a47, 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11000, 0x1104d, - 0x11052, 0x1106f, - 0x11080, 0x110c1, 0x12000, 0x1236e, 0x12400, 0x12462, 0x12470, 0x12473, - 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, 0x1d129, 0x1d1dd, @@ -20341,70 +22568,35 @@ static const OnigCodePoint CR_Graph[] = { 0x1d7ce, 0x1d7ff, 0x1f000, 0x1f02b, 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, + 0x1fffe, 0x2a6d6, 0x2f800, 0x2fa1d, + 0x2fffe, 0x2ffff, + 0x3fffe, 0x3ffff, + 0x4fffe, 0x4ffff, + 0x5fffe, 0x5ffff, + 0x6fffe, 0x6ffff, + 0x7fffe, 0x7ffff, + 0x8fffe, 0x8ffff, + 0x9fffe, 0x9ffff, + 0xafffe, 0xaffff, + 0xbfffe, 0xbffff, + 0xcfffe, 0xcffff, + 0xdfffe, 0xdffff, 0xe0001, 0xe0001, 0xe0020, 0xe007f, 0xe0100, 0xe01ef, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Graph */ - -/* 'Lower': [[:Lower:]] */ -#define CR_Lower CR_Lowercase + 0xefffe, 0x10ffff, +}; /* CR_Age_5_1 */ -/* 'Print': [[:Print:]] */ -static const OnigCodePoint CR_Print[] = { - 503, - 0x0020, 0x007e, - 0x00a0, 0x0377, +/* 'Age_5_2': Derived Age 5.2 */ +static const OnigCodePoint CR_Age_5_2[] = { + 495, + 0x0000, 0x0377, 0x037a, 0x037e, 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x0527, + 0x03a3, 0x0525, 0x0531, 0x0556, 0x0559, 0x055f, 0x0561, 0x0587, @@ -20414,15 +22606,18 @@ static const OnigCodePoint CR_Print[] = { 0x05f0, 0x05f4, 0x0600, 0x0603, 0x0606, 0x061b, - 0x061e, 0x070d, + 0x061e, 0x061f, + 0x0621, 0x065e, + 0x0660, 0x070d, 0x070f, 0x074a, 0x074d, 0x07b1, 0x07c0, 0x07fa, 0x0800, 0x082d, 0x0830, 0x083e, - 0x0840, 0x085b, - 0x085e, 0x085e, - 0x0900, 0x0977, + 0x0900, 0x0939, + 0x093c, 0x094e, + 0x0950, 0x0955, + 0x0958, 0x0972, 0x0979, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, @@ -20481,7 +22676,7 @@ static const OnigCodePoint CR_Print[] = { 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b63, - 0x0b66, 0x0b77, + 0x0b66, 0x0b71, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -20529,10 +22724,11 @@ static const OnigCodePoint CR_Print[] = { 0x0d02, 0x0d03, 0x0d05, 0x0d0c, 0x0d0e, 0x0d10, - 0x0d12, 0x0d3a, + 0x0d12, 0x0d28, + 0x0d2a, 0x0d39, 0x0d3d, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4e, + 0x0d4a, 0x0d4d, 0x0d57, 0x0d57, 0x0d60, 0x0d63, 0x0d66, 0x0d75, @@ -20570,10 +22766,11 @@ static const OnigCodePoint CR_Print[] = { 0x0edc, 0x0edd, 0x0f00, 0x0f47, 0x0f49, 0x0f6c, - 0x0f71, 0x0f97, + 0x0f71, 0x0f8b, + 0x0f90, 0x0f97, 0x0f99, 0x0fbc, 0x0fbe, 0x0fcc, - 0x0fce, 0x0fda, + 0x0fce, 0x0fd8, 0x1000, 0x10c5, 0x10d0, 0x10fc, 0x1100, 0x1248, @@ -20592,7 +22789,7 @@ static const OnigCodePoint CR_Print[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x135d, 0x137c, + 0x135f, 0x137c, 0x1380, 0x1399, 0x13a0, 0x13f4, 0x1400, 0x169c, @@ -20631,13 +22828,12 @@ static const OnigCodePoint CR_Print[] = { 0x1b50, 0x1b7c, 0x1b80, 0x1baa, 0x1bae, 0x1bb9, - 0x1bc0, 0x1bf3, - 0x1bfc, 0x1c37, + 0x1c00, 0x1c37, 0x1c3b, 0x1c49, 0x1c4d, 0x1c7f, 0x1cd0, 0x1cf2, 0x1d00, 0x1de6, - 0x1dfc, 0x1f15, + 0x1dfd, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -20653,29 +22849,41 @@ static const OnigCodePoint CR_Print[] = { 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, 0x1ff6, 0x1ffe, - 0x2000, 0x2027, - 0x202a, 0x2064, + 0x2000, 0x2064, 0x206a, 0x2071, 0x2074, 0x208e, - 0x2090, 0x209c, - 0x20a0, 0x20b9, + 0x2090, 0x2094, + 0x20a0, 0x20b8, 0x20d0, 0x20f0, 0x2100, 0x2189, - 0x2190, 0x23f3, + 0x2190, 0x23e8, 0x2400, 0x2426, 0x2440, 0x244a, - 0x2460, 0x26ff, - 0x2701, 0x27ca, + 0x2460, 0x26cd, + 0x26cf, 0x26e1, + 0x26e3, 0x26e3, + 0x26e8, 0x26ff, + 0x2701, 0x2704, + 0x2706, 0x2709, + 0x270c, 0x2727, + 0x2729, 0x274b, + 0x274d, 0x274d, + 0x274f, 0x2752, + 0x2756, 0x275e, + 0x2761, 0x2794, + 0x2798, 0x27af, + 0x27b1, 0x27be, + 0x27c0, 0x27ca, 0x27cc, 0x27cc, - 0x27ce, 0x2b4c, + 0x27d0, 0x2b4c, 0x2b50, 0x2b59, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, 0x2c60, 0x2cf1, 0x2cf9, 0x2d25, 0x2d30, 0x2d65, - 0x2d6f, 0x2d70, - 0x2d7f, 0x2d96, + 0x2d6f, 0x2d6f, + 0x2d80, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -20694,7 +22902,7 @@ static const OnigCodePoint CR_Print[] = { 0x3099, 0x30ff, 0x3105, 0x312d, 0x3131, 0x318e, - 0x3190, 0x31ba, + 0x3190, 0x31b7, 0x31c0, 0x31e3, 0x31f0, 0x321e, 0x3220, 0x32fe, @@ -20703,13 +22911,12 @@ static const OnigCodePoint CR_Print[] = { 0xa000, 0xa48c, 0xa490, 0xa4c6, 0xa4d0, 0xa62b, - 0xa640, 0xa673, + 0xa640, 0xa65f, + 0xa662, 0xa673, 0xa67c, 0xa697, 0xa6a0, 0xa6f7, - 0xa700, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa82b, + 0xa700, 0xa78c, + 0xa7fb, 0xa82b, 0xa830, 0xa839, 0xa840, 0xa877, 0xa880, 0xa8c4, @@ -20726,17 +22933,12 @@ static const OnigCodePoint CR_Print[] = { 0xaa5c, 0xaa7b, 0xaa80, 0xaac2, 0xaadb, 0xaadf, - 0xab01, 0xab06, - 0xab09, 0xab0e, - 0xab11, 0xab16, - 0xab20, 0xab26, - 0xab28, 0xab2e, 0xabc0, 0xabed, 0xabf0, 0xabf9, 0xac00, 0xd7a3, 0xd7b0, 0xd7c6, 0xd7cb, 0xd7fb, - 0xe000, 0xfa2d, + 0xd800, 0xfa2d, 0xfa30, 0xfa6d, 0xfa70, 0xfad9, 0xfb00, 0xfb06, @@ -20746,11 +22948,11 @@ static const OnigCodePoint CR_Print[] = { 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbc1, + 0xfb46, 0xfbb1, 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, + 0xfdd0, 0xfdfd, 0xfe00, 0xfe19, 0xfe20, 0xfe26, 0xfe30, 0xfe52, @@ -20766,8 +22968,7 @@ static const OnigCodePoint CR_Print[] = { 0xffda, 0xffdc, 0xffe0, 0xffe6, 0xffe8, 0xffee, - 0xfff9, 0xfffd, - 0x10000, 0x1000b, + 0xfff9, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, 0x1003c, 0x1003d, @@ -20814,15 +23015,11 @@ static const OnigCodePoint CR_Print[] = { 0x10b78, 0x10b7f, 0x10c00, 0x10c48, 0x10e60, 0x10e7e, - 0x11000, 0x1104d, - 0x11052, 0x1106f, 0x11080, 0x110c1, 0x12000, 0x1236e, 0x12400, 0x12462, 0x12470, 0x12473, 0x13000, 0x1342e, - 0x16800, 0x16a38, - 0x1b000, 0x1b001, 0x1d000, 0x1d0f5, 0x1d100, 0x1d126, 0x1d129, 0x1d1dd, @@ -20845,129 +23042,79 @@ static const OnigCodePoint CR_Print[] = { 0x1d51e, 0x1d539, 0x1d53b, 0x1d53e, 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f0a0, 0x1f0ae, - 0x1f0b1, 0x1f0be, - 0x1f0c1, 0x1f0cf, - 0x1f0d1, 0x1f0df, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f130, 0x1f169, - 0x1f170, 0x1f19a, - 0x1f1e6, 0x1f202, - 0x1f210, 0x1f23a, - 0x1f240, 0x1f248, - 0x1f250, 0x1f251, - 0x1f300, 0x1f320, - 0x1f330, 0x1f335, - 0x1f337, 0x1f37c, - 0x1f380, 0x1f393, - 0x1f3a0, 0x1f3c4, - 0x1f3c6, 0x1f3ca, - 0x1f3e0, 0x1f3f0, - 0x1f400, 0x1f43e, - 0x1f440, 0x1f440, - 0x1f442, 0x1f4f7, - 0x1f4f9, 0x1f4fc, - 0x1f500, 0x1f53d, - 0x1f550, 0x1f567, - 0x1f5fb, 0x1f5ff, - 0x1f601, 0x1f610, - 0x1f612, 0x1f614, - 0x1f616, 0x1f616, - 0x1f618, 0x1f618, - 0x1f61a, 0x1f61a, - 0x1f61c, 0x1f61e, - 0x1f620, 0x1f625, - 0x1f628, 0x1f62b, - 0x1f62d, 0x1f62d, - 0x1f630, 0x1f633, - 0x1f635, 0x1f640, - 0x1f645, 0x1f64f, - 0x1f680, 0x1f6c5, - 0x1f700, 0x1f773, - 0x20000, 0x2a6d6, + 0x1d546, 0x1d546, + 0x1d54a, 0x1d550, + 0x1d552, 0x1d6a5, + 0x1d6a8, 0x1d7cb, + 0x1d7ce, 0x1d7ff, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f131, 0x1f131, + 0x1f13d, 0x1f13d, + 0x1f13f, 0x1f13f, + 0x1f142, 0x1f142, + 0x1f146, 0x1f146, + 0x1f14a, 0x1f14e, + 0x1f157, 0x1f157, + 0x1f15f, 0x1f15f, + 0x1f179, 0x1f179, + 0x1f17b, 0x1f17c, + 0x1f17f, 0x1f17f, + 0x1f18a, 0x1f18d, + 0x1f190, 0x1f190, + 0x1f200, 0x1f200, + 0x1f210, 0x1f231, + 0x1f240, 0x1f248, + 0x1fffe, 0x2a6d6, 0x2a700, 0x2b734, - 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, + 0x2fffe, 0x2ffff, + 0x3fffe, 0x3ffff, + 0x4fffe, 0x4ffff, + 0x5fffe, 0x5ffff, + 0x6fffe, 0x6ffff, + 0x7fffe, 0x7ffff, + 0x8fffe, 0x8ffff, + 0x9fffe, 0x9ffff, + 0xafffe, 0xaffff, + 0xbfffe, 0xbffff, + 0xcfffe, 0xcffff, + 0xdfffe, 0xdffff, 0xe0001, 0xe0001, 0xe0020, 0xe007f, 0xe0100, 0xe01ef, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Print */ - -/* 'Punct': [[:Punct:]] */ -#define CR_Punct CR_P - -/* 'Space': [[:Space:]] */ -#define CR_Space CR_White_Space - -/* 'Upper': [[:Upper:]] */ -#define CR_Upper CR_Uppercase - -/* 'XDigit': [[:XDigit:]] */ -#define CR_XDigit CR_ASCII_Hex_Digit + 0xefffe, 0x10ffff, +}; /* CR_Age_5_2 */ -/* 'Word': [[:Word:]] */ -static const OnigCodePoint CR_Word[] = { - 514, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x005f, 0x005f, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0300, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, +/* 'Age_6_0': Derived Age 6.0 */ +static const OnigCodePoint CR_Age_6_0[] = { + 511, + 0x0000, 0x0377, + 0x037a, 0x037e, + 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x0483, 0x0527, + 0x03a3, 0x0527, 0x0531, 0x0556, - 0x0559, 0x0559, + 0x0559, 0x055f, 0x0561, 0x0587, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, + 0x0589, 0x058a, + 0x0591, 0x05c7, 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0620, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06df, 0x06e8, - 0x06ea, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x074a, + 0x05f0, 0x05f4, + 0x0600, 0x0603, + 0x0606, 0x061b, + 0x061e, 0x070d, + 0x070f, 0x074a, 0x074d, 0x07b1, - 0x07c0, 0x07f5, - 0x07fa, 0x07fa, + 0x07c0, 0x07fa, 0x0800, 0x082d, + 0x0830, 0x083e, 0x0840, 0x085b, - 0x0900, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0977, + 0x085e, 0x085e, + 0x0900, 0x0977, 0x0979, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, @@ -20982,7 +23129,7 @@ static const OnigCodePoint CR_Word[] = { 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09f1, + 0x09e6, 0x09fb, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -21012,6 +23159,7 @@ static const OnigCodePoint CR_Word[] = { 0x0ad0, 0x0ad0, 0x0ae0, 0x0ae3, 0x0ae6, 0x0aef, + 0x0af1, 0x0af1, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, @@ -21025,8 +23173,7 @@ static const OnigCodePoint CR_Word[] = { 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, + 0x0b66, 0x0b77, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -21042,7 +23189,7 @@ static const OnigCodePoint CR_Word[] = { 0x0bca, 0x0bcd, 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, + 0x0be6, 0x0bfa, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -21056,6 +23203,7 @@ static const OnigCodePoint CR_Word[] = { 0x0c58, 0x0c59, 0x0c60, 0x0c63, 0x0c66, 0x0c6f, + 0x0c78, 0x0c7f, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, @@ -21079,8 +23227,8 @@ static const OnigCodePoint CR_Word[] = { 0x0d4a, 0x0d4e, 0x0d57, 0x0d57, 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, + 0x0d66, 0x0d75, + 0x0d79, 0x0d7f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, @@ -21091,10 +23239,9 @@ static const OnigCodePoint CR_Word[] = { 0x0dcf, 0x0dd4, 0x0dd6, 0x0dd6, 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, + 0x0df2, 0x0df4, 0x0e01, 0x0e3a, - 0x0e40, 0x0e4e, - 0x0e50, 0x0e59, + 0x0e3f, 0x0e5b, 0x0e81, 0x0e82, 0x0e84, 0x0e84, 0x0e87, 0x0e88, @@ -21113,23 +23260,14 @@ static const OnigCodePoint CR_Word[] = { 0x0ec8, 0x0ecd, 0x0ed0, 0x0ed9, 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f18, 0x0f19, - 0x0f20, 0x0f29, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f47, + 0x0f00, 0x0f47, 0x0f49, 0x0f6c, - 0x0f71, 0x0f84, - 0x0f86, 0x0f97, + 0x0f71, 0x0f97, 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x1000, 0x1049, - 0x1050, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, + 0x0fbe, 0x0fcc, + 0x0fce, 0x0fda, + 0x1000, 0x10c5, + 0x10d0, 0x10fc, 0x1100, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, @@ -21146,27 +23284,22 @@ static const OnigCodePoint CR_Word[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x135d, 0x135f, - 0x1380, 0x138f, + 0x135d, 0x137c, + 0x1380, 0x1399, 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, + 0x1400, 0x169c, + 0x16a0, 0x16f0, 0x1700, 0x170c, 0x170e, 0x1714, - 0x1720, 0x1734, + 0x1720, 0x1736, 0x1740, 0x1753, 0x1760, 0x176c, 0x176e, 0x1770, 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17d3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dd, + 0x1780, 0x17dd, 0x17e0, 0x17e9, - 0x180b, 0x180d, + 0x17f0, 0x17f9, + 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, 0x1880, 0x18aa, @@ -21174,28 +23307,27 @@ static const OnigCodePoint CR_Word[] = { 0x1900, 0x191c, 0x1920, 0x192b, 0x1930, 0x193b, - 0x1946, 0x196d, + 0x1940, 0x1940, + 0x1944, 0x196d, 0x1970, 0x1974, 0x1980, 0x19ab, 0x19b0, 0x19c9, - 0x19d0, 0x19d9, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, + 0x19d0, 0x19da, + 0x19de, 0x1a1b, + 0x1a1e, 0x1a5e, 0x1a60, 0x1a7c, 0x1a7f, 0x1a89, 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, + 0x1aa0, 0x1aad, 0x1b00, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b6b, 0x1b73, + 0x1b50, 0x1b7c, 0x1b80, 0x1baa, 0x1bae, 0x1bb9, 0x1bc0, 0x1bf3, - 0x1c00, 0x1c37, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1cf2, + 0x1bfc, 0x1c37, + 0x1c3b, 0x1c49, + 0x1c4d, 0x1c7f, + 0x1cd0, 0x1cf2, 0x1d00, 0x1de6, 0x1dfc, 0x1f15, 0x1f18, 0x1f1d, @@ -21207,43 +23339,33 @@ static const OnigCodePoint CR_Word[] = { 0x1f5d, 0x1f5d, 0x1f5f, 0x1f7d, 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, + 0x1fb6, 0x1fc4, + 0x1fc6, 0x1fd3, 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, + 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0x2071, 0x2071, - 0x207f, 0x207f, + 0x1ff6, 0x1ffe, + 0x2000, 0x2064, + 0x206a, 0x2071, + 0x2074, 0x208e, 0x2090, 0x209c, + 0x20a0, 0x20b9, 0x20d0, 0x20f0, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x24b6, 0x24e9, + 0x2100, 0x2189, + 0x2190, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x2460, 0x26ff, + 0x2701, 0x27ca, + 0x27cc, 0x27cc, + 0x27ce, 0x2b4c, + 0x2b50, 0x2b59, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cf1, - 0x2d00, 0x2d25, + 0x2c60, 0x2cf1, + 0x2cf9, 0x2d25, 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, + 0x2d6f, 0x2d70, 0x2d7f, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, @@ -21253,113 +23375,108 @@ static const OnigCodePoint CR_Word[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3007, - 0x3021, 0x302f, - 0x3031, 0x3035, - 0x3038, 0x303c, + 0x2de0, 0x2e31, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3000, 0x303f, 0x3041, 0x3096, - 0x3099, 0x309a, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, + 0x3099, 0x30ff, 0x3105, 0x312d, 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, + 0x3190, 0x31ba, + 0x31c0, 0x31e3, + 0x31f0, 0x321e, + 0x3220, 0x32fe, + 0x3300, 0x4db5, + 0x4dc0, 0x9fcb, 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa672, - 0xa67c, 0xa67d, - 0xa67f, 0xa697, - 0xa6a0, 0xa6f1, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, + 0xa490, 0xa4c6, + 0xa4d0, 0xa62b, + 0xa640, 0xa673, + 0xa67c, 0xa697, + 0xa6a0, 0xa6f7, + 0xa700, 0xa78e, 0xa790, 0xa791, 0xa7a0, 0xa7a9, - 0xa7fa, 0xa827, - 0xa840, 0xa873, + 0xa7fa, 0xa82b, + 0xa830, 0xa839, + 0xa840, 0xa877, 0xa880, 0xa8c4, - 0xa8d0, 0xa8d9, - 0xa8e0, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92d, - 0xa930, 0xa953, - 0xa960, 0xa97c, - 0xa980, 0xa9c0, + 0xa8ce, 0xa8d9, + 0xa8e0, 0xa8fb, + 0xa900, 0xa953, + 0xa95f, 0xa97c, + 0xa980, 0xa9cd, 0xa9cf, 0xa9d9, + 0xa9de, 0xa9df, 0xaa00, 0xaa36, 0xaa40, 0xaa4d, 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7b, + 0xaa5c, 0xaa7b, 0xaa80, 0xaac2, - 0xaadb, 0xaadd, + 0xaadb, 0xaadf, 0xab01, 0xab06, 0xab09, 0xab0e, 0xab11, 0xab16, 0xab20, 0xab26, 0xab28, 0xab2e, - 0xabc0, 0xabea, - 0xabec, 0xabed, + 0xabc0, 0xabed, 0xabf0, 0xabf9, 0xac00, 0xd7a3, 0xd7b0, 0xd7c6, 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, + 0xd800, 0xfa2d, 0xfa30, 0xfa6d, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, + 0xfb1d, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, + 0xfb46, 0xfbc1, + 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe00, 0xfe0f, + 0xfdd0, 0xfdfd, + 0xfe00, 0xfe19, 0xfe20, 0xfe26, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, + 0xfe30, 0xfe52, + 0xfe54, 0xfe66, + 0xfe68, 0xfe6b, 0xfe70, 0xfe74, 0xfe76, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff3f, 0xff3f, - 0xff41, 0xff5a, - 0xff66, 0xffbe, + 0xfeff, 0xfeff, + 0xff01, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, - 0x10000, 0x1000b, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfff9, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, 0x1003c, 0x1003d, 0x1003f, 0x1004d, 0x10050, 0x1005d, 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x101fd, 0x101fd, + 0x10100, 0x10102, + 0x10107, 0x10133, + 0x10137, 0x1018a, + 0x10190, 0x1019b, + 0x101d0, 0x101fd, 0x10280, 0x1029c, 0x102a0, 0x102d0, 0x10300, 0x1031e, + 0x10320, 0x10323, 0x10330, 0x1034a, 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, + 0x1039f, 0x103c3, + 0x103c8, 0x103d5, 0x10400, 0x1049d, 0x104a0, 0x104a9, 0x10800, 0x10805, @@ -21368,34 +23485,40 @@ static const OnigCodePoint CR_Word[] = { 0x10837, 0x10838, 0x1083c, 0x1083c, 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, + 0x10857, 0x1085f, + 0x10900, 0x1091b, + 0x1091f, 0x10939, + 0x1093f, 0x1093f, 0x10a00, 0x10a03, 0x10a05, 0x10a06, 0x10a0c, 0x10a13, 0x10a15, 0x10a17, 0x10a19, 0x10a33, 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x10a60, 0x10a7c, + 0x10a3f, 0x10a47, + 0x10a50, 0x10a58, + 0x10a60, 0x10a7f, 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, + 0x10b39, 0x10b55, + 0x10b58, 0x10b72, + 0x10b78, 0x10b7f, 0x10c00, 0x10c48, - 0x11000, 0x11046, - 0x11066, 0x1106f, - 0x11080, 0x110ba, + 0x10e60, 0x10e7e, + 0x11000, 0x1104d, + 0x11052, 0x1106f, + 0x11080, 0x110c1, 0x12000, 0x1236e, 0x12400, 0x12462, + 0x12470, 0x12473, 0x13000, 0x1342e, 0x16800, 0x16a38, 0x1b000, 0x1b001, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d1dd, + 0x1d200, 0x1d245, + 0x1d300, 0x1d356, + 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -21415,84 +23538,103 @@ static const OnigCodePoint CR_Word[] = { 0x1d546, 0x1d546, 0x1d54a, 0x1d550, 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, + 0x1d6a8, 0x1d7cb, 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f169, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f5ff, + 0x1f601, 0x1f610, + 0x1f612, 0x1f614, + 0x1f616, 0x1f616, + 0x1f618, 0x1f618, + 0x1f61a, 0x1f61a, + 0x1f61c, 0x1f61e, + 0x1f620, 0x1f625, + 0x1f628, 0x1f62b, + 0x1f62d, 0x1f62d, + 0x1f630, 0x1f633, + 0x1f635, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, + 0x1fffe, 0x2a6d6, 0x2a700, 0x2b734, 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, + 0x2fffe, 0x2ffff, + 0x3fffe, 0x3ffff, + 0x4fffe, 0x4ffff, + 0x5fffe, 0x5ffff, + 0x6fffe, 0x6ffff, + 0x7fffe, 0x7ffff, + 0x8fffe, 0x8ffff, + 0x9fffe, 0x9ffff, + 0xafffe, 0xaffff, + 0xbfffe, 0xbffff, + 0xcfffe, 0xcffff, + 0xdfffe, 0xdffff, + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, 0xe0100, 0xe01ef, -}; /* CR_Word */ + 0xefffe, 0x10ffff, +}; /* CR_Age_6_0 */ -/* 'Alnum': [[:Alnum:]] */ -static const OnigCodePoint CR_Alnum[] = { - 509, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0345, 0x0345, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, +/* 'Age_6_1': Derived Age 6.1 */ +static const OnigCodePoint CR_Age_6_1[] = { + 549, + 0x0000, 0x0377, + 0x037a, 0x037e, + 0x0384, 0x038a, 0x038c, 0x038c, 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0527, + 0x03a3, 0x0527, 0x0531, 0x0556, - 0x0559, 0x0559, + 0x0559, 0x055f, 0x0561, 0x0587, - 0x05b0, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, + 0x0589, 0x058a, + 0x058f, 0x058f, + 0x0591, 0x05c7, 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0620, 0x0657, - 0x0659, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06e1, 0x06e8, - 0x06ed, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x073f, + 0x05f0, 0x05f4, + 0x0600, 0x0604, + 0x0606, 0x061b, + 0x061e, 0x070d, + 0x070f, 0x074a, 0x074d, 0x07b1, - 0x07c0, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0817, - 0x081a, 0x082c, - 0x0840, 0x0858, - 0x0900, 0x093b, - 0x093d, 0x094c, - 0x094e, 0x0950, - 0x0955, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0977, + 0x07c0, 0x07fa, + 0x0800, 0x082d, + 0x0830, 0x083e, + 0x0840, 0x085b, + 0x085e, 0x085e, + 0x08a0, 0x08a0, + 0x08a2, 0x08ac, + 0x08e4, 0x08fe, + 0x0900, 0x0977, 0x0979, 0x097f, 0x0981, 0x0983, 0x0985, 0x098c, @@ -21501,14 +23643,13 @@ static const OnigCodePoint CR_Alnum[] = { 0x09aa, 0x09b0, 0x09b2, 0x09b2, 0x09b6, 0x09b9, - 0x09bd, 0x09c4, + 0x09bc, 0x09c4, 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09ce, 0x09ce, + 0x09cb, 0x09ce, 0x09d7, 0x09d7, 0x09dc, 0x09dd, 0x09df, 0x09e3, - 0x09e6, 0x09f1, + 0x09e6, 0x09fb, 0x0a01, 0x0a03, 0x0a05, 0x0a0a, 0x0a0f, 0x0a10, @@ -21517,9 +23658,10 @@ static const OnigCodePoint CR_Alnum[] = { 0x0a32, 0x0a33, 0x0a35, 0x0a36, 0x0a38, 0x0a39, + 0x0a3c, 0x0a3c, 0x0a3e, 0x0a42, 0x0a47, 0x0a48, - 0x0a4b, 0x0a4c, + 0x0a4b, 0x0a4d, 0x0a51, 0x0a51, 0x0a59, 0x0a5c, 0x0a5e, 0x0a5e, @@ -21531,12 +23673,12 @@ static const OnigCodePoint CR_Alnum[] = { 0x0aaa, 0x0ab0, 0x0ab2, 0x0ab3, 0x0ab5, 0x0ab9, - 0x0abd, 0x0ac5, + 0x0abc, 0x0ac5, 0x0ac7, 0x0ac9, - 0x0acb, 0x0acc, + 0x0acb, 0x0acd, 0x0ad0, 0x0ad0, 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, + 0x0ae6, 0x0af1, 0x0b01, 0x0b03, 0x0b05, 0x0b0c, 0x0b0f, 0x0b10, @@ -21544,14 +23686,13 @@ static const OnigCodePoint CR_Alnum[] = { 0x0b2a, 0x0b30, 0x0b32, 0x0b33, 0x0b35, 0x0b39, - 0x0b3d, 0x0b44, + 0x0b3c, 0x0b44, 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, + 0x0b4b, 0x0b4d, 0x0b56, 0x0b57, 0x0b5c, 0x0b5d, 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, + 0x0b66, 0x0b77, 0x0b82, 0x0b83, 0x0b85, 0x0b8a, 0x0b8e, 0x0b90, @@ -21564,10 +23705,10 @@ static const OnigCodePoint CR_Alnum[] = { 0x0bae, 0x0bb9, 0x0bbe, 0x0bc2, 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, + 0x0bca, 0x0bcd, 0x0bd0, 0x0bd0, 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, + 0x0be6, 0x0bfa, 0x0c01, 0x0c03, 0x0c05, 0x0c0c, 0x0c0e, 0x0c10, @@ -21576,20 +23717,21 @@ static const OnigCodePoint CR_Alnum[] = { 0x0c35, 0x0c39, 0x0c3d, 0x0c44, 0x0c46, 0x0c48, - 0x0c4a, 0x0c4c, + 0x0c4a, 0x0c4d, 0x0c55, 0x0c56, 0x0c58, 0x0c59, 0x0c60, 0x0c63, 0x0c66, 0x0c6f, + 0x0c78, 0x0c7f, 0x0c82, 0x0c83, 0x0c85, 0x0c8c, 0x0c8e, 0x0c90, 0x0c92, 0x0ca8, 0x0caa, 0x0cb3, 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cc4, + 0x0cbc, 0x0cc4, 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccc, + 0x0cca, 0x0ccd, 0x0cd5, 0x0cd6, 0x0cde, 0x0cde, 0x0ce0, 0x0ce3, @@ -21601,26 +23743,24 @@ static const OnigCodePoint CR_Alnum[] = { 0x0d12, 0x0d3a, 0x0d3d, 0x0d44, 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d4e, 0x0d4e, + 0x0d4a, 0x0d4e, 0x0d57, 0x0d57, 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, + 0x0d66, 0x0d75, + 0x0d79, 0x0d7f, 0x0d82, 0x0d83, 0x0d85, 0x0d96, 0x0d9a, 0x0db1, 0x0db3, 0x0dbb, 0x0dbd, 0x0dbd, 0x0dc0, 0x0dc6, + 0x0dca, 0x0dca, 0x0dcf, 0x0dd4, 0x0dd6, 0x0dd6, 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, + 0x0df2, 0x0df4, 0x0e01, 0x0e3a, - 0x0e40, 0x0e46, - 0x0e4d, 0x0e4d, - 0x0e50, 0x0e59, + 0x0e3f, 0x0e5b, 0x0e81, 0x0e82, 0x0e84, 0x0e84, 0x0e87, 0x0e88, @@ -21636,29 +23776,19 @@ static const OnigCodePoint CR_Alnum[] = { 0x0ebb, 0x0ebd, 0x0ec0, 0x0ec4, 0x0ec6, 0x0ec6, - 0x0ecd, 0x0ecd, + 0x0ec8, 0x0ecd, 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f20, 0x0f29, - 0x0f40, 0x0f47, + 0x0edc, 0x0edf, + 0x0f00, 0x0f47, 0x0f49, 0x0f6c, - 0x0f71, 0x0f81, - 0x0f88, 0x0f97, + 0x0f71, 0x0f97, 0x0f99, 0x0fbc, - 0x1000, 0x1036, - 0x1038, 0x1038, - 0x103b, 0x1049, - 0x1050, 0x1062, - 0x1065, 0x1068, - 0x106e, 0x1086, - 0x108e, 0x108e, - 0x1090, 0x1099, - 0x109c, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, + 0x0fbe, 0x0fcc, + 0x0fce, 0x0fda, + 0x1000, 0x10c5, + 0x10c7, 0x10c7, + 0x10cd, 0x10cd, + 0x10d0, 0x1248, 0x124a, 0x124d, 0x1250, 0x1256, 0x1258, 0x1258, @@ -21674,59 +23804,51 @@ static const OnigCodePoint CR_Alnum[] = { 0x12d8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1380, 0x138f, + 0x135d, 0x137c, + 0x1380, 0x1399, 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, + 0x1400, 0x169c, + 0x16a0, 0x16f0, 0x1700, 0x170c, - 0x170e, 0x1713, - 0x1720, 0x1733, + 0x170e, 0x1714, + 0x1720, 0x1736, 0x1740, 0x1753, 0x1760, 0x176c, 0x176e, 0x1770, 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17c8, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, + 0x1780, 0x17dd, 0x17e0, 0x17e9, + 0x17f0, 0x17f9, + 0x1800, 0x180e, 0x1810, 0x1819, 0x1820, 0x1877, 0x1880, 0x18aa, 0x18b0, 0x18f5, 0x1900, 0x191c, 0x1920, 0x192b, - 0x1930, 0x1938, - 0x1946, 0x196d, + 0x1930, 0x193b, + 0x1940, 0x1940, + 0x1944, 0x196d, 0x1970, 0x1974, 0x1980, 0x19ab, 0x19b0, 0x19c9, - 0x19d0, 0x19d9, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a61, 0x1a74, - 0x1a80, 0x1a89, + 0x19d0, 0x19da, + 0x19de, 0x1a1b, + 0x1a1e, 0x1a5e, + 0x1a60, 0x1a7c, + 0x1a7f, 0x1a89, 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b33, - 0x1b35, 0x1b43, - 0x1b45, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b80, 0x1ba9, - 0x1bae, 0x1bb9, - 0x1bc0, 0x1be5, - 0x1be7, 0x1bf1, - 0x1c00, 0x1c35, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, + 0x1aa0, 0x1aad, + 0x1b00, 0x1b4b, + 0x1b50, 0x1b7c, + 0x1b80, 0x1bf3, + 0x1bfc, 0x1c37, + 0x1c3b, 0x1c49, + 0x1c4d, 0x1c7f, + 0x1cc0, 0x1cc7, + 0x1cd0, 0x1cf6, + 0x1d00, 0x1de6, + 0x1dfc, 0x1f15, 0x1f18, 0x1f1d, 0x1f20, 0x1f45, 0x1f48, 0x1f4d, @@ -21736,41 +23858,34 @@ static const OnigCodePoint CR_Alnum[] = { 0x1f5d, 0x1f5d, 0x1f5f, 0x1f7d, 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, + 0x1fb6, 0x1fc4, + 0x1fc6, 0x1fd3, 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, + 0x1fdd, 0x1fef, 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, + 0x1ff6, 0x1ffe, + 0x2000, 0x2064, + 0x206a, 0x2071, + 0x2074, 0x208e, 0x2090, 0x209c, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x24b6, 0x24e9, + 0x20a0, 0x20b9, + 0x20d0, 0x20f0, + 0x2100, 0x2189, + 0x2190, 0x23f3, + 0x2400, 0x2426, + 0x2440, 0x244a, + 0x2460, 0x26ff, + 0x2701, 0x2b4c, + 0x2b50, 0x2b59, 0x2c00, 0x2c2e, 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, + 0x2c60, 0x2cf3, + 0x2cf9, 0x2d25, + 0x2d27, 0x2d27, + 0x2d2d, 0x2d2d, + 0x2d30, 0x2d67, + 0x2d6f, 0x2d70, + 0x2d7f, 0x2d96, 0x2da0, 0x2da6, 0x2da8, 0x2dae, 0x2db0, 0x2db6, @@ -21779,110 +23894,106 @@ static const OnigCodePoint CR_Alnum[] = { 0x2dc8, 0x2dce, 0x2dd0, 0x2dd6, 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, + 0x2de0, 0x2e3b, + 0x2e80, 0x2e99, + 0x2e9b, 0x2ef3, + 0x2f00, 0x2fd5, + 0x2ff0, 0x2ffb, + 0x3000, 0x303f, 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, + 0x3099, 0x30ff, 0x3105, 0x312d, 0x3131, 0x318e, - 0x31a0, 0x31ba, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, + 0x3190, 0x31ba, + 0x31c0, 0x31e3, + 0x31f0, 0x321e, + 0x3220, 0x32fe, + 0x3300, 0x4db5, + 0x4dc0, 0x9fcc, 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78e, - 0xa790, 0xa791, - 0xa7a0, 0xa7a9, - 0xa7fa, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c3, - 0xa8d0, 0xa8d9, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92a, - 0xa930, 0xa952, - 0xa960, 0xa97c, - 0xa980, 0xa9b2, - 0xa9b4, 0xa9bf, + 0xa490, 0xa4c6, + 0xa4d0, 0xa62b, + 0xa640, 0xa697, + 0xa69f, 0xa6f7, + 0xa700, 0xa78e, + 0xa790, 0xa793, + 0xa7a0, 0xa7aa, + 0xa7f8, 0xa82b, + 0xa830, 0xa839, + 0xa840, 0xa877, + 0xa880, 0xa8c4, + 0xa8ce, 0xa8d9, + 0xa8e0, 0xa8fb, + 0xa900, 0xa953, + 0xa95f, 0xa97c, + 0xa980, 0xa9cd, 0xa9cf, 0xa9d9, + 0xa9de, 0xa9df, 0xaa00, 0xaa36, 0xaa40, 0xaa4d, 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaabe, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, + 0xaa5c, 0xaa7b, + 0xaa80, 0xaac2, + 0xaadb, 0xaaf6, 0xab01, 0xab06, 0xab09, 0xab0e, 0xab11, 0xab16, 0xab20, 0xab26, 0xab28, 0xab2e, - 0xabc0, 0xabea, + 0xabc0, 0xabed, 0xabf0, 0xabf9, 0xac00, 0xd7a3, 0xd7b0, 0xd7c6, 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, + 0xd800, 0xfa6d, 0xfa70, 0xfad9, 0xfb00, 0xfb06, 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, + 0xfb1d, 0xfb36, 0xfb38, 0xfb3c, 0xfb3e, 0xfb3e, 0xfb40, 0xfb41, 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, + 0xfb46, 0xfbc1, + 0xfbd3, 0xfd3f, 0xfd50, 0xfd8f, 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, + 0xfdd0, 0xfdfd, + 0xfe00, 0xfe19, + 0xfe20, 0xfe26, + 0xfe30, 0xfe52, + 0xfe54, 0xfe66, + 0xfe68, 0xfe6b, 0xfe70, 0xfe74, 0xfe76, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, + 0xfeff, 0xfeff, + 0xff01, 0xffbe, 0xffc2, 0xffc7, 0xffca, 0xffcf, 0xffd2, 0xffd7, 0xffda, 0xffdc, - 0x10000, 0x1000b, + 0xffe0, 0xffe6, + 0xffe8, 0xffee, + 0xfff9, 0x1000b, 0x1000d, 0x10026, 0x10028, 0x1003a, 0x1003c, 0x1003d, 0x1003f, 0x1004d, 0x10050, 0x1005d, 0x10080, 0x100fa, - 0x10140, 0x10174, + 0x10100, 0x10102, + 0x10107, 0x10133, + 0x10137, 0x1018a, + 0x10190, 0x1019b, + 0x101d0, 0x101fd, 0x10280, 0x1029c, 0x102a0, 0x102d0, 0x10300, 0x1031e, + 0x10320, 0x10323, 0x10330, 0x1034a, 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, + 0x1039f, 0x103c3, + 0x103c8, 0x103d5, 0x10400, 0x1049d, 0x104a0, 0x104a9, 0x10800, 0x10805, @@ -21891,26 +24002,53 @@ static const OnigCodePoint CR_Alnum[] = { 0x10837, 0x10838, 0x1083c, 0x1083c, 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, + 0x10857, 0x1085f, + 0x10900, 0x1091b, + 0x1091f, 0x10939, + 0x1093f, 0x1093f, + 0x10980, 0x109b7, + 0x109be, 0x109bf, 0x10a00, 0x10a03, 0x10a05, 0x10a06, 0x10a0c, 0x10a13, 0x10a15, 0x10a17, 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, + 0x10a38, 0x10a3a, + 0x10a3f, 0x10a47, + 0x10a50, 0x10a58, + 0x10a60, 0x10a7f, 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, + 0x10b39, 0x10b55, + 0x10b58, 0x10b72, + 0x10b78, 0x10b7f, 0x10c00, 0x10c48, - 0x11000, 0x11045, - 0x11066, 0x1106f, - 0x11082, 0x110b8, + 0x10e60, 0x10e7e, + 0x11000, 0x1104d, + 0x11052, 0x1106f, + 0x11080, 0x110c1, + 0x110d0, 0x110e8, + 0x110f0, 0x110f9, + 0x11100, 0x11134, + 0x11136, 0x11143, + 0x11180, 0x111c8, + 0x111d0, 0x111d9, + 0x11680, 0x116b7, + 0x116c0, 0x116c9, 0x12000, 0x1236e, 0x12400, 0x12462, + 0x12470, 0x12473, 0x13000, 0x1342e, 0x16800, 0x16a38, + 0x16f00, 0x16f44, + 0x16f50, 0x16f7e, + 0x16f8f, 0x16f9f, 0x1b000, 0x1b001, + 0x1d000, 0x1d0f5, + 0x1d100, 0x1d126, + 0x1d129, 0x1d1dd, + 0x1d200, 0x1d245, + 0x1d300, 0x1d356, + 0x1d360, 0x1d371, 0x1d400, 0x1d454, 0x1d456, 0x1d49c, 0x1d49e, 0x1d49f, @@ -21930,29 +24068,1430 @@ static const OnigCodePoint CR_Alnum[] = { 0x1d546, 0x1d546, 0x1d54a, 0x1d550, 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, + 0x1d6a8, 0x1d7cb, 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, + 0x1ee00, 0x1ee03, + 0x1ee05, 0x1ee1f, + 0x1ee21, 0x1ee22, + 0x1ee24, 0x1ee24, + 0x1ee27, 0x1ee27, + 0x1ee29, 0x1ee32, + 0x1ee34, 0x1ee37, + 0x1ee39, 0x1ee39, + 0x1ee3b, 0x1ee3b, + 0x1ee42, 0x1ee42, + 0x1ee47, 0x1ee47, + 0x1ee49, 0x1ee49, + 0x1ee4b, 0x1ee4b, + 0x1ee4d, 0x1ee4f, + 0x1ee51, 0x1ee52, + 0x1ee54, 0x1ee54, + 0x1ee57, 0x1ee57, + 0x1ee59, 0x1ee59, + 0x1ee5b, 0x1ee5b, + 0x1ee5d, 0x1ee5d, + 0x1ee5f, 0x1ee5f, + 0x1ee61, 0x1ee62, + 0x1ee64, 0x1ee64, + 0x1ee67, 0x1ee6a, + 0x1ee6c, 0x1ee72, + 0x1ee74, 0x1ee77, + 0x1ee79, 0x1ee7c, + 0x1ee7e, 0x1ee7e, + 0x1ee80, 0x1ee89, + 0x1ee8b, 0x1ee9b, + 0x1eea1, 0x1eea3, + 0x1eea5, 0x1eea9, + 0x1eeab, 0x1eebb, + 0x1eef0, 0x1eef1, + 0x1f000, 0x1f02b, + 0x1f030, 0x1f093, + 0x1f0a0, 0x1f0ae, + 0x1f0b1, 0x1f0be, + 0x1f0c1, 0x1f0cf, + 0x1f0d1, 0x1f0df, + 0x1f100, 0x1f10a, + 0x1f110, 0x1f12e, + 0x1f130, 0x1f16b, + 0x1f170, 0x1f19a, + 0x1f1e6, 0x1f202, + 0x1f210, 0x1f23a, + 0x1f240, 0x1f248, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f330, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f380, 0x1f393, + 0x1f3a0, 0x1f3c4, + 0x1f3c6, 0x1f3ca, + 0x1f3e0, 0x1f3f0, + 0x1f400, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4f7, + 0x1f4f9, 0x1f4fc, + 0x1f500, 0x1f53d, + 0x1f540, 0x1f543, + 0x1f550, 0x1f567, + 0x1f5fb, 0x1f640, + 0x1f645, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f700, 0x1f773, + 0x1fffe, 0x2a6d6, 0x2a700, 0x2b734, 0x2b740, 0x2b81d, 0x2f800, 0x2fa1d, -}; /* CR_Alnum */ + 0x2fffe, 0x2ffff, + 0x3fffe, 0x3ffff, + 0x4fffe, 0x4ffff, + 0x5fffe, 0x5ffff, + 0x6fffe, 0x6ffff, + 0x7fffe, 0x7ffff, + 0x8fffe, 0x8ffff, + 0x9fffe, 0x9ffff, + 0xafffe, 0xaffff, + 0xbfffe, 0xbffff, + 0xcfffe, 0xcffff, + 0xdfffe, 0xdffff, + 0xe0001, 0xe0001, + 0xe0020, 0xe007f, + 0xe0100, 0xe01ef, + 0xefffe, 0x10ffff, +}; /* CR_Age_6_1 */ + +/* 'In_Basic_Latin': Block */ +#define CR_In_Basic_Latin CR_ASCII + +/* 'In_Latin_1_Supplement': Block */ +static const OnigCodePoint CR_In_Latin_1_Supplement[] = { + 1, + 0x0080, 0x00ff, +}; /* CR_In_Latin_1_Supplement */ + +/* 'In_Latin_Extended_A': Block */ +static const OnigCodePoint CR_In_Latin_Extended_A[] = { + 1, + 0x0100, 0x017f, +}; /* CR_In_Latin_Extended_A */ + +/* 'In_Latin_Extended_B': Block */ +static const OnigCodePoint CR_In_Latin_Extended_B[] = { + 1, + 0x0180, 0x024f, +}; /* CR_In_Latin_Extended_B */ + +/* 'In_IPA_Extensions': Block */ +static const OnigCodePoint CR_In_IPA_Extensions[] = { + 1, + 0x0250, 0x02af, +}; /* CR_In_IPA_Extensions */ + +/* 'In_Spacing_Modifier_Letters': Block */ +static const OnigCodePoint CR_In_Spacing_Modifier_Letters[] = { + 1, + 0x02b0, 0x02ff, +}; /* CR_In_Spacing_Modifier_Letters */ + +/* 'In_Combining_Diacritical_Marks': Block */ +static const OnigCodePoint CR_In_Combining_Diacritical_Marks[] = { + 1, + 0x0300, 0x036f, +}; /* CR_In_Combining_Diacritical_Marks */ + +/* 'In_Greek_and_Coptic': Block */ +static const OnigCodePoint CR_In_Greek_and_Coptic[] = { + 1, + 0x0370, 0x03ff, +}; /* CR_In_Greek_and_Coptic */ + +/* 'In_Cyrillic': Block */ +static const OnigCodePoint CR_In_Cyrillic[] = { + 1, + 0x0400, 0x04ff, +}; /* CR_In_Cyrillic */ + +/* 'In_Cyrillic_Supplement': Block */ +static const OnigCodePoint CR_In_Cyrillic_Supplement[] = { + 1, + 0x0500, 0x052f, +}; /* CR_In_Cyrillic_Supplement */ + +/* 'In_Armenian': Block */ +static const OnigCodePoint CR_In_Armenian[] = { + 1, + 0x0530, 0x058f, +}; /* CR_In_Armenian */ + +/* 'In_Hebrew': Block */ +static const OnigCodePoint CR_In_Hebrew[] = { + 1, + 0x0590, 0x05ff, +}; /* CR_In_Hebrew */ + +/* 'In_Arabic': Block */ +static const OnigCodePoint CR_In_Arabic[] = { + 1, + 0x0600, 0x06ff, +}; /* CR_In_Arabic */ + +/* 'In_Syriac': Block */ +static const OnigCodePoint CR_In_Syriac[] = { + 1, + 0x0700, 0x074f, +}; /* CR_In_Syriac */ + +/* 'In_Arabic_Supplement': Block */ +static const OnigCodePoint CR_In_Arabic_Supplement[] = { + 1, + 0x0750, 0x077f, +}; /* CR_In_Arabic_Supplement */ + +/* 'In_Thaana': Block */ +static const OnigCodePoint CR_In_Thaana[] = { + 1, + 0x0780, 0x07bf, +}; /* CR_In_Thaana */ + +/* 'In_NKo': Block */ +static const OnigCodePoint CR_In_NKo[] = { + 1, + 0x07c0, 0x07ff, +}; /* CR_In_NKo */ + +/* 'In_Samaritan': Block */ +static const OnigCodePoint CR_In_Samaritan[] = { + 1, + 0x0800, 0x083f, +}; /* CR_In_Samaritan */ + +/* 'In_Mandaic': Block */ +static const OnigCodePoint CR_In_Mandaic[] = { + 1, + 0x0840, 0x085f, +}; /* CR_In_Mandaic */ + +/* 'In_Arabic_Extended_A': Block */ +static const OnigCodePoint CR_In_Arabic_Extended_A[] = { + 1, + 0x08a0, 0x08ff, +}; /* CR_In_Arabic_Extended_A */ + +/* 'In_Devanagari': Block */ +static const OnigCodePoint CR_In_Devanagari[] = { + 1, + 0x0900, 0x097f, +}; /* CR_In_Devanagari */ + +/* 'In_Bengali': Block */ +static const OnigCodePoint CR_In_Bengali[] = { + 1, + 0x0980, 0x09ff, +}; /* CR_In_Bengali */ + +/* 'In_Gurmukhi': Block */ +static const OnigCodePoint CR_In_Gurmukhi[] = { + 1, + 0x0a00, 0x0a7f, +}; /* CR_In_Gurmukhi */ + +/* 'In_Gujarati': Block */ +static const OnigCodePoint CR_In_Gujarati[] = { + 1, + 0x0a80, 0x0aff, +}; /* CR_In_Gujarati */ + +/* 'In_Oriya': Block */ +static const OnigCodePoint CR_In_Oriya[] = { + 1, + 0x0b00, 0x0b7f, +}; /* CR_In_Oriya */ + +/* 'In_Tamil': Block */ +static const OnigCodePoint CR_In_Tamil[] = { + 1, + 0x0b80, 0x0bff, +}; /* CR_In_Tamil */ + +/* 'In_Telugu': Block */ +static const OnigCodePoint CR_In_Telugu[] = { + 1, + 0x0c00, 0x0c7f, +}; /* CR_In_Telugu */ + +/* 'In_Kannada': Block */ +static const OnigCodePoint CR_In_Kannada[] = { + 1, + 0x0c80, 0x0cff, +}; /* CR_In_Kannada */ + +/* 'In_Malayalam': Block */ +static const OnigCodePoint CR_In_Malayalam[] = { + 1, + 0x0d00, 0x0d7f, +}; /* CR_In_Malayalam */ + +/* 'In_Sinhala': Block */ +static const OnigCodePoint CR_In_Sinhala[] = { + 1, + 0x0d80, 0x0dff, +}; /* CR_In_Sinhala */ + +/* 'In_Thai': Block */ +static const OnigCodePoint CR_In_Thai[] = { + 1, + 0x0e00, 0x0e7f, +}; /* CR_In_Thai */ + +/* 'In_Lao': Block */ +static const OnigCodePoint CR_In_Lao[] = { + 1, + 0x0e80, 0x0eff, +}; /* CR_In_Lao */ + +/* 'In_Tibetan': Block */ +static const OnigCodePoint CR_In_Tibetan[] = { + 1, + 0x0f00, 0x0fff, +}; /* CR_In_Tibetan */ + +/* 'In_Myanmar': Block */ +static const OnigCodePoint CR_In_Myanmar[] = { + 1, + 0x1000, 0x109f, +}; /* CR_In_Myanmar */ + +/* 'In_Georgian': Block */ +static const OnigCodePoint CR_In_Georgian[] = { + 1, + 0x10a0, 0x10ff, +}; /* CR_In_Georgian */ + +/* 'In_Hangul_Jamo': Block */ +static const OnigCodePoint CR_In_Hangul_Jamo[] = { + 1, + 0x1100, 0x11ff, +}; /* CR_In_Hangul_Jamo */ + +/* 'In_Ethiopic': Block */ +static const OnigCodePoint CR_In_Ethiopic[] = { + 1, + 0x1200, 0x137f, +}; /* CR_In_Ethiopic */ + +/* 'In_Ethiopic_Supplement': Block */ +static const OnigCodePoint CR_In_Ethiopic_Supplement[] = { + 1, + 0x1380, 0x139f, +}; /* CR_In_Ethiopic_Supplement */ + +/* 'In_Cherokee': Block */ +static const OnigCodePoint CR_In_Cherokee[] = { + 1, + 0x13a0, 0x13ff, +}; /* CR_In_Cherokee */ + +/* 'In_Unified_Canadian_Aboriginal_Syllabics': Block */ +static const OnigCodePoint CR_In_Unified_Canadian_Aboriginal_Syllabics[] = { + 1, + 0x1400, 0x167f, +}; /* CR_In_Unified_Canadian_Aboriginal_Syllabics */ + +/* 'In_Ogham': Block */ +static const OnigCodePoint CR_In_Ogham[] = { + 1, + 0x1680, 0x169f, +}; /* CR_In_Ogham */ + +/* 'In_Runic': Block */ +static const OnigCodePoint CR_In_Runic[] = { + 1, + 0x16a0, 0x16ff, +}; /* CR_In_Runic */ + +/* 'In_Tagalog': Block */ +static const OnigCodePoint CR_In_Tagalog[] = { + 1, + 0x1700, 0x171f, +}; /* CR_In_Tagalog */ + +/* 'In_Hanunoo': Block */ +static const OnigCodePoint CR_In_Hanunoo[] = { + 1, + 0x1720, 0x173f, +}; /* CR_In_Hanunoo */ + +/* 'In_Buhid': Block */ +static const OnigCodePoint CR_In_Buhid[] = { + 1, + 0x1740, 0x175f, +}; /* CR_In_Buhid */ + +/* 'In_Tagbanwa': Block */ +static const OnigCodePoint CR_In_Tagbanwa[] = { + 1, + 0x1760, 0x177f, +}; /* CR_In_Tagbanwa */ + +/* 'In_Khmer': Block */ +static const OnigCodePoint CR_In_Khmer[] = { + 1, + 0x1780, 0x17ff, +}; /* CR_In_Khmer */ + +/* 'In_Mongolian': Block */ +static const OnigCodePoint CR_In_Mongolian[] = { + 1, + 0x1800, 0x18af, +}; /* CR_In_Mongolian */ + +/* 'In_Unified_Canadian_Aboriginal_Syllabics_Extended': Block */ +static const OnigCodePoint CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended[] = { + 1, + 0x18b0, 0x18ff, +}; /* CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended */ + +/* 'In_Limbu': Block */ +static const OnigCodePoint CR_In_Limbu[] = { + 1, + 0x1900, 0x194f, +}; /* CR_In_Limbu */ + +/* 'In_Tai_Le': Block */ +static const OnigCodePoint CR_In_Tai_Le[] = { + 1, + 0x1950, 0x197f, +}; /* CR_In_Tai_Le */ + +/* 'In_New_Tai_Lue': Block */ +static const OnigCodePoint CR_In_New_Tai_Lue[] = { + 1, + 0x1980, 0x19df, +}; /* CR_In_New_Tai_Lue */ + +/* 'In_Khmer_Symbols': Block */ +static const OnigCodePoint CR_In_Khmer_Symbols[] = { + 1, + 0x19e0, 0x19ff, +}; /* CR_In_Khmer_Symbols */ + +/* 'In_Buginese': Block */ +static const OnigCodePoint CR_In_Buginese[] = { + 1, + 0x1a00, 0x1a1f, +}; /* CR_In_Buginese */ + +/* 'In_Tai_Tham': Block */ +static const OnigCodePoint CR_In_Tai_Tham[] = { + 1, + 0x1a20, 0x1aaf, +}; /* CR_In_Tai_Tham */ + +/* 'In_Balinese': Block */ +static const OnigCodePoint CR_In_Balinese[] = { + 1, + 0x1b00, 0x1b7f, +}; /* CR_In_Balinese */ + +/* 'In_Sundanese': Block */ +static const OnigCodePoint CR_In_Sundanese[] = { + 1, + 0x1b80, 0x1bbf, +}; /* CR_In_Sundanese */ + +/* 'In_Batak': Block */ +static const OnigCodePoint CR_In_Batak[] = { + 1, + 0x1bc0, 0x1bff, +}; /* CR_In_Batak */ + +/* 'In_Lepcha': Block */ +static const OnigCodePoint CR_In_Lepcha[] = { + 1, + 0x1c00, 0x1c4f, +}; /* CR_In_Lepcha */ + +/* 'In_Ol_Chiki': Block */ +#define CR_In_Ol_Chiki CR_Ol_Chiki + +/* 'In_Sundanese_Supplement': Block */ +static const OnigCodePoint CR_In_Sundanese_Supplement[] = { + 1, + 0x1cc0, 0x1ccf, +}; /* CR_In_Sundanese_Supplement */ + +/* 'In_Vedic_Extensions': Block */ +static const OnigCodePoint CR_In_Vedic_Extensions[] = { + 1, + 0x1cd0, 0x1cff, +}; /* CR_In_Vedic_Extensions */ + +/* 'In_Phonetic_Extensions': Block */ +static const OnigCodePoint CR_In_Phonetic_Extensions[] = { + 1, + 0x1d00, 0x1d7f, +}; /* CR_In_Phonetic_Extensions */ + +/* 'In_Phonetic_Extensions_Supplement': Block */ +static const OnigCodePoint CR_In_Phonetic_Extensions_Supplement[] = { + 1, + 0x1d80, 0x1dbf, +}; /* CR_In_Phonetic_Extensions_Supplement */ + +/* 'In_Combining_Diacritical_Marks_Supplement': Block */ +static const OnigCodePoint CR_In_Combining_Diacritical_Marks_Supplement[] = { + 1, + 0x1dc0, 0x1dff, +}; /* CR_In_Combining_Diacritical_Marks_Supplement */ + +/* 'In_Latin_Extended_Additional': Block */ +static const OnigCodePoint CR_In_Latin_Extended_Additional[] = { + 1, + 0x1e00, 0x1eff, +}; /* CR_In_Latin_Extended_Additional */ + +/* 'In_Greek_Extended': Block */ +static const OnigCodePoint CR_In_Greek_Extended[] = { + 1, + 0x1f00, 0x1fff, +}; /* CR_In_Greek_Extended */ + +/* 'In_General_Punctuation': Block */ +static const OnigCodePoint CR_In_General_Punctuation[] = { + 1, + 0x2000, 0x206f, +}; /* CR_In_General_Punctuation */ + +/* 'In_Superscripts_and_Subscripts': Block */ +static const OnigCodePoint CR_In_Superscripts_and_Subscripts[] = { + 1, + 0x2070, 0x209f, +}; /* CR_In_Superscripts_and_Subscripts */ + +/* 'In_Currency_Symbols': Block */ +static const OnigCodePoint CR_In_Currency_Symbols[] = { + 1, + 0x20a0, 0x20cf, +}; /* CR_In_Currency_Symbols */ + +/* 'In_Combining_Diacritical_Marks_for_Symbols': Block */ +static const OnigCodePoint CR_In_Combining_Diacritical_Marks_for_Symbols[] = { + 1, + 0x20d0, 0x20ff, +}; /* CR_In_Combining_Diacritical_Marks_for_Symbols */ + +/* 'In_Letterlike_Symbols': Block */ +static const OnigCodePoint CR_In_Letterlike_Symbols[] = { + 1, + 0x2100, 0x214f, +}; /* CR_In_Letterlike_Symbols */ + +/* 'In_Number_Forms': Block */ +static const OnigCodePoint CR_In_Number_Forms[] = { + 1, + 0x2150, 0x218f, +}; /* CR_In_Number_Forms */ + +/* 'In_Arrows': Block */ +static const OnigCodePoint CR_In_Arrows[] = { + 1, + 0x2190, 0x21ff, +}; /* CR_In_Arrows */ + +/* 'In_Mathematical_Operators': Block */ +static const OnigCodePoint CR_In_Mathematical_Operators[] = { + 1, + 0x2200, 0x22ff, +}; /* CR_In_Mathematical_Operators */ + +/* 'In_Miscellaneous_Technical': Block */ +static const OnigCodePoint CR_In_Miscellaneous_Technical[] = { + 1, + 0x2300, 0x23ff, +}; /* CR_In_Miscellaneous_Technical */ + +/* 'In_Control_Pictures': Block */ +static const OnigCodePoint CR_In_Control_Pictures[] = { + 1, + 0x2400, 0x243f, +}; /* CR_In_Control_Pictures */ + +/* 'In_Optical_Character_Recognition': Block */ +static const OnigCodePoint CR_In_Optical_Character_Recognition[] = { + 1, + 0x2440, 0x245f, +}; /* CR_In_Optical_Character_Recognition */ + +/* 'In_Enclosed_Alphanumerics': Block */ +static const OnigCodePoint CR_In_Enclosed_Alphanumerics[] = { + 1, + 0x2460, 0x24ff, +}; /* CR_In_Enclosed_Alphanumerics */ + +/* 'In_Box_Drawing': Block */ +static const OnigCodePoint CR_In_Box_Drawing[] = { + 1, + 0x2500, 0x257f, +}; /* CR_In_Box_Drawing */ + +/* 'In_Block_Elements': Block */ +static const OnigCodePoint CR_In_Block_Elements[] = { + 1, + 0x2580, 0x259f, +}; /* CR_In_Block_Elements */ + +/* 'In_Geometric_Shapes': Block */ +static const OnigCodePoint CR_In_Geometric_Shapes[] = { + 1, + 0x25a0, 0x25ff, +}; /* CR_In_Geometric_Shapes */ + +/* 'In_Miscellaneous_Symbols': Block */ +static const OnigCodePoint CR_In_Miscellaneous_Symbols[] = { + 1, + 0x2600, 0x26ff, +}; /* CR_In_Miscellaneous_Symbols */ + +/* 'In_Dingbats': Block */ +static const OnigCodePoint CR_In_Dingbats[] = { + 1, + 0x2700, 0x27bf, +}; /* CR_In_Dingbats */ + +/* 'In_Miscellaneous_Mathematical_Symbols_A': Block */ +static const OnigCodePoint CR_In_Miscellaneous_Mathematical_Symbols_A[] = { + 1, + 0x27c0, 0x27ef, +}; /* CR_In_Miscellaneous_Mathematical_Symbols_A */ + +/* 'In_Supplemental_Arrows_A': Block */ +static const OnigCodePoint CR_In_Supplemental_Arrows_A[] = { + 1, + 0x27f0, 0x27ff, +}; /* CR_In_Supplemental_Arrows_A */ + +/* 'In_Braille_Patterns': Block */ +#define CR_In_Braille_Patterns CR_Braille + +/* 'In_Supplemental_Arrows_B': Block */ +static const OnigCodePoint CR_In_Supplemental_Arrows_B[] = { + 1, + 0x2900, 0x297f, +}; /* CR_In_Supplemental_Arrows_B */ + +/* 'In_Miscellaneous_Mathematical_Symbols_B': Block */ +static const OnigCodePoint CR_In_Miscellaneous_Mathematical_Symbols_B[] = { + 1, + 0x2980, 0x29ff, +}; /* CR_In_Miscellaneous_Mathematical_Symbols_B */ + +/* 'In_Supplemental_Mathematical_Operators': Block */ +static const OnigCodePoint CR_In_Supplemental_Mathematical_Operators[] = { + 1, + 0x2a00, 0x2aff, +}; /* CR_In_Supplemental_Mathematical_Operators */ + +/* 'In_Miscellaneous_Symbols_and_Arrows': Block */ +static const OnigCodePoint CR_In_Miscellaneous_Symbols_and_Arrows[] = { + 1, + 0x2b00, 0x2bff, +}; /* CR_In_Miscellaneous_Symbols_and_Arrows */ + +/* 'In_Glagolitic': Block */ +static const OnigCodePoint CR_In_Glagolitic[] = { + 1, + 0x2c00, 0x2c5f, +}; /* CR_In_Glagolitic */ + +/* 'In_Latin_Extended_C': Block */ +static const OnigCodePoint CR_In_Latin_Extended_C[] = { + 1, + 0x2c60, 0x2c7f, +}; /* CR_In_Latin_Extended_C */ + +/* 'In_Coptic': Block */ +static const OnigCodePoint CR_In_Coptic[] = { + 1, + 0x2c80, 0x2cff, +}; /* CR_In_Coptic */ + +/* 'In_Georgian_Supplement': Block */ +static const OnigCodePoint CR_In_Georgian_Supplement[] = { + 1, + 0x2d00, 0x2d2f, +}; /* CR_In_Georgian_Supplement */ + +/* 'In_Tifinagh': Block */ +static const OnigCodePoint CR_In_Tifinagh[] = { + 1, + 0x2d30, 0x2d7f, +}; /* CR_In_Tifinagh */ + +/* 'In_Ethiopic_Extended': Block */ +static const OnigCodePoint CR_In_Ethiopic_Extended[] = { + 1, + 0x2d80, 0x2ddf, +}; /* CR_In_Ethiopic_Extended */ + +/* 'In_Cyrillic_Extended_A': Block */ +static const OnigCodePoint CR_In_Cyrillic_Extended_A[] = { + 1, + 0x2de0, 0x2dff, +}; /* CR_In_Cyrillic_Extended_A */ + +/* 'In_Supplemental_Punctuation': Block */ +static const OnigCodePoint CR_In_Supplemental_Punctuation[] = { + 1, + 0x2e00, 0x2e7f, +}; /* CR_In_Supplemental_Punctuation */ + +/* 'In_CJK_Radicals_Supplement': Block */ +static const OnigCodePoint CR_In_CJK_Radicals_Supplement[] = { + 1, + 0x2e80, 0x2eff, +}; /* CR_In_CJK_Radicals_Supplement */ + +/* 'In_Kangxi_Radicals': Block */ +static const OnigCodePoint CR_In_Kangxi_Radicals[] = { + 1, + 0x2f00, 0x2fdf, +}; /* CR_In_Kangxi_Radicals */ + +/* 'In_Ideographic_Description_Characters': Block */ +static const OnigCodePoint CR_In_Ideographic_Description_Characters[] = { + 1, + 0x2ff0, 0x2fff, +}; /* CR_In_Ideographic_Description_Characters */ + +/* 'In_CJK_Symbols_and_Punctuation': Block */ +static const OnigCodePoint CR_In_CJK_Symbols_and_Punctuation[] = { + 1, + 0x3000, 0x303f, +}; /* CR_In_CJK_Symbols_and_Punctuation */ + +/* 'In_Hiragana': Block */ +static const OnigCodePoint CR_In_Hiragana[] = { + 1, + 0x3040, 0x309f, +}; /* CR_In_Hiragana */ + +/* 'In_Katakana': Block */ +static const OnigCodePoint CR_In_Katakana[] = { + 1, + 0x30a0, 0x30ff, +}; /* CR_In_Katakana */ + +/* 'In_Bopomofo': Block */ +static const OnigCodePoint CR_In_Bopomofo[] = { + 1, + 0x3100, 0x312f, +}; /* CR_In_Bopomofo */ + +/* 'In_Hangul_Compatibility_Jamo': Block */ +static const OnigCodePoint CR_In_Hangul_Compatibility_Jamo[] = { + 1, + 0x3130, 0x318f, +}; /* CR_In_Hangul_Compatibility_Jamo */ + +/* 'In_Kanbun': Block */ +static const OnigCodePoint CR_In_Kanbun[] = { + 1, + 0x3190, 0x319f, +}; /* CR_In_Kanbun */ + +/* 'In_Bopomofo_Extended': Block */ +static const OnigCodePoint CR_In_Bopomofo_Extended[] = { + 1, + 0x31a0, 0x31bf, +}; /* CR_In_Bopomofo_Extended */ + +/* 'In_CJK_Strokes': Block */ +static const OnigCodePoint CR_In_CJK_Strokes[] = { + 1, + 0x31c0, 0x31ef, +}; /* CR_In_CJK_Strokes */ + +/* 'In_Katakana_Phonetic_Extensions': Block */ +static const OnigCodePoint CR_In_Katakana_Phonetic_Extensions[] = { + 1, + 0x31f0, 0x31ff, +}; /* CR_In_Katakana_Phonetic_Extensions */ + +/* 'In_Enclosed_CJK_Letters_and_Months': Block */ +static const OnigCodePoint CR_In_Enclosed_CJK_Letters_and_Months[] = { + 1, + 0x3200, 0x32ff, +}; /* CR_In_Enclosed_CJK_Letters_and_Months */ + +/* 'In_CJK_Compatibility': Block */ +static const OnigCodePoint CR_In_CJK_Compatibility[] = { + 1, + 0x3300, 0x33ff, +}; /* CR_In_CJK_Compatibility */ + +/* 'In_CJK_Unified_Ideographs_Extension_A': Block */ +static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_A[] = { + 1, + 0x3400, 0x4dbf, +}; /* CR_In_CJK_Unified_Ideographs_Extension_A */ + +/* 'In_Yijing_Hexagram_Symbols': Block */ +static const OnigCodePoint CR_In_Yijing_Hexagram_Symbols[] = { + 1, + 0x4dc0, 0x4dff, +}; /* CR_In_Yijing_Hexagram_Symbols */ + +/* 'In_CJK_Unified_Ideographs': Block */ +static const OnigCodePoint CR_In_CJK_Unified_Ideographs[] = { + 1, + 0x4e00, 0x9fff, +}; /* CR_In_CJK_Unified_Ideographs */ + +/* 'In_Yi_Syllables': Block */ +static const OnigCodePoint CR_In_Yi_Syllables[] = { + 1, + 0xa000, 0xa48f, +}; /* CR_In_Yi_Syllables */ + +/* 'In_Yi_Radicals': Block */ +static const OnigCodePoint CR_In_Yi_Radicals[] = { + 1, + 0xa490, 0xa4cf, +}; /* CR_In_Yi_Radicals */ + +/* 'In_Lisu': Block */ +#define CR_In_Lisu CR_Lisu + +/* 'In_Vai': Block */ +static const OnigCodePoint CR_In_Vai[] = { + 1, + 0xa500, 0xa63f, +}; /* CR_In_Vai */ + +/* 'In_Cyrillic_Extended_B': Block */ +static const OnigCodePoint CR_In_Cyrillic_Extended_B[] = { + 1, + 0xa640, 0xa69f, +}; /* CR_In_Cyrillic_Extended_B */ + +/* 'In_Bamum': Block */ +static const OnigCodePoint CR_In_Bamum[] = { + 1, + 0xa6a0, 0xa6ff, +}; /* CR_In_Bamum */ + +/* 'In_Modifier_Tone_Letters': Block */ +static const OnigCodePoint CR_In_Modifier_Tone_Letters[] = { + 1, + 0xa700, 0xa71f, +}; /* CR_In_Modifier_Tone_Letters */ + +/* 'In_Latin_Extended_D': Block */ +static const OnigCodePoint CR_In_Latin_Extended_D[] = { + 1, + 0xa720, 0xa7ff, +}; /* CR_In_Latin_Extended_D */ + +/* 'In_Syloti_Nagri': Block */ +static const OnigCodePoint CR_In_Syloti_Nagri[] = { + 1, + 0xa800, 0xa82f, +}; /* CR_In_Syloti_Nagri */ + +/* 'In_Common_Indic_Number_Forms': Block */ +static const OnigCodePoint CR_In_Common_Indic_Number_Forms[] = { + 1, + 0xa830, 0xa83f, +}; /* CR_In_Common_Indic_Number_Forms */ + +/* 'In_Phags_pa': Block */ +static const OnigCodePoint CR_In_Phags_pa[] = { + 1, + 0xa840, 0xa87f, +}; /* CR_In_Phags_pa */ + +/* 'In_Saurashtra': Block */ +static const OnigCodePoint CR_In_Saurashtra[] = { + 1, + 0xa880, 0xa8df, +}; /* CR_In_Saurashtra */ + +/* 'In_Devanagari_Extended': Block */ +static const OnigCodePoint CR_In_Devanagari_Extended[] = { + 1, + 0xa8e0, 0xa8ff, +}; /* CR_In_Devanagari_Extended */ + +/* 'In_Kayah_Li': Block */ +#define CR_In_Kayah_Li CR_Kayah_Li + +/* 'In_Rejang': Block */ +static const OnigCodePoint CR_In_Rejang[] = { + 1, + 0xa930, 0xa95f, +}; /* CR_In_Rejang */ + +/* 'In_Hangul_Jamo_Extended_A': Block */ +static const OnigCodePoint CR_In_Hangul_Jamo_Extended_A[] = { + 1, + 0xa960, 0xa97f, +}; /* CR_In_Hangul_Jamo_Extended_A */ + +/* 'In_Javanese': Block */ +static const OnigCodePoint CR_In_Javanese[] = { + 1, + 0xa980, 0xa9df, +}; /* CR_In_Javanese */ + +/* 'In_Cham': Block */ +static const OnigCodePoint CR_In_Cham[] = { + 1, + 0xaa00, 0xaa5f, +}; /* CR_In_Cham */ + +/* 'In_Myanmar_Extended_A': Block */ +static const OnigCodePoint CR_In_Myanmar_Extended_A[] = { + 1, + 0xaa60, 0xaa7f, +}; /* CR_In_Myanmar_Extended_A */ + +/* 'In_Tai_Viet': Block */ +static const OnigCodePoint CR_In_Tai_Viet[] = { + 1, + 0xaa80, 0xaadf, +}; /* CR_In_Tai_Viet */ + +/* 'In_Meetei_Mayek_Extensions': Block */ +static const OnigCodePoint CR_In_Meetei_Mayek_Extensions[] = { + 1, + 0xaae0, 0xaaff, +}; /* CR_In_Meetei_Mayek_Extensions */ + +/* 'In_Ethiopic_Extended_A': Block */ +static const OnigCodePoint CR_In_Ethiopic_Extended_A[] = { + 1, + 0xab00, 0xab2f, +}; /* CR_In_Ethiopic_Extended_A */ + +/* 'In_Meetei_Mayek': Block */ +static const OnigCodePoint CR_In_Meetei_Mayek[] = { + 1, + 0xabc0, 0xabff, +}; /* CR_In_Meetei_Mayek */ + +/* 'In_Hangul_Syllables': Block */ +static const OnigCodePoint CR_In_Hangul_Syllables[] = { + 1, + 0xac00, 0xd7af, +}; /* CR_In_Hangul_Syllables */ + +/* 'In_Hangul_Jamo_Extended_B': Block */ +static const OnigCodePoint CR_In_Hangul_Jamo_Extended_B[] = { + 1, + 0xd7b0, 0xd7ff, +}; /* CR_In_Hangul_Jamo_Extended_B */ + +/* 'In_High_Surrogates': Block */ +static const OnigCodePoint CR_In_High_Surrogates[] = { + 1, + 0xd800, 0xdb7f, +}; /* CR_In_High_Surrogates */ + +/* 'In_High_Private_Use_Surrogates': Block */ +static const OnigCodePoint CR_In_High_Private_Use_Surrogates[] = { + 1, + 0xdb80, 0xdbff, +}; /* CR_In_High_Private_Use_Surrogates */ + +/* 'In_Low_Surrogates': Block */ +static const OnigCodePoint CR_In_Low_Surrogates[] = { + 1, + 0xdc00, 0xdfff, +}; /* CR_In_Low_Surrogates */ + +/* 'In_Private_Use_Area': Block */ +static const OnigCodePoint CR_In_Private_Use_Area[] = { + 1, + 0xe000, 0xf8ff, +}; /* CR_In_Private_Use_Area */ + +/* 'In_CJK_Compatibility_Ideographs': Block */ +static const OnigCodePoint CR_In_CJK_Compatibility_Ideographs[] = { + 1, + 0xf900, 0xfaff, +}; /* CR_In_CJK_Compatibility_Ideographs */ + +/* 'In_Alphabetic_Presentation_Forms': Block */ +static const OnigCodePoint CR_In_Alphabetic_Presentation_Forms[] = { + 1, + 0xfb00, 0xfb4f, +}; /* CR_In_Alphabetic_Presentation_Forms */ + +/* 'In_Arabic_Presentation_Forms_A': Block */ +static const OnigCodePoint CR_In_Arabic_Presentation_Forms_A[] = { + 1, + 0xfb50, 0xfdff, +}; /* CR_In_Arabic_Presentation_Forms_A */ + +/* 'In_Variation_Selectors': Block */ +static const OnigCodePoint CR_In_Variation_Selectors[] = { + 1, + 0xfe00, 0xfe0f, +}; /* CR_In_Variation_Selectors */ + +/* 'In_Vertical_Forms': Block */ +static const OnigCodePoint CR_In_Vertical_Forms[] = { + 1, + 0xfe10, 0xfe1f, +}; /* CR_In_Vertical_Forms */ + +/* 'In_Combining_Half_Marks': Block */ +static const OnigCodePoint CR_In_Combining_Half_Marks[] = { + 1, + 0xfe20, 0xfe2f, +}; /* CR_In_Combining_Half_Marks */ + +/* 'In_CJK_Compatibility_Forms': Block */ +static const OnigCodePoint CR_In_CJK_Compatibility_Forms[] = { + 1, + 0xfe30, 0xfe4f, +}; /* CR_In_CJK_Compatibility_Forms */ + +/* 'In_Small_Form_Variants': Block */ +static const OnigCodePoint CR_In_Small_Form_Variants[] = { + 1, + 0xfe50, 0xfe6f, +}; /* CR_In_Small_Form_Variants */ + +/* 'In_Arabic_Presentation_Forms_B': Block */ +static const OnigCodePoint CR_In_Arabic_Presentation_Forms_B[] = { + 1, + 0xfe70, 0xfeff, +}; /* CR_In_Arabic_Presentation_Forms_B */ + +/* 'In_Halfwidth_and_Fullwidth_Forms': Block */ +static const OnigCodePoint CR_In_Halfwidth_and_Fullwidth_Forms[] = { + 1, + 0xff00, 0xffef, +}; /* CR_In_Halfwidth_and_Fullwidth_Forms */ + +/* 'In_Specials': Block */ +static const OnigCodePoint CR_In_Specials[] = { + 1, + 0xfff0, 0xffff, +}; /* CR_In_Specials */ + +/* 'In_Linear_B_Syllabary': Block */ +static const OnigCodePoint CR_In_Linear_B_Syllabary[] = { + 1, + 0x10000, 0x1007f, +}; /* CR_In_Linear_B_Syllabary */ + +/* 'In_Linear_B_Ideograms': Block */ +static const OnigCodePoint CR_In_Linear_B_Ideograms[] = { + 1, + 0x10080, 0x100ff, +}; /* CR_In_Linear_B_Ideograms */ + +/* 'In_Aegean_Numbers': Block */ +static const OnigCodePoint CR_In_Aegean_Numbers[] = { + 1, + 0x10100, 0x1013f, +}; /* CR_In_Aegean_Numbers */ + +/* 'In_Ancient_Greek_Numbers': Block */ +static const OnigCodePoint CR_In_Ancient_Greek_Numbers[] = { + 1, + 0x10140, 0x1018f, +}; /* CR_In_Ancient_Greek_Numbers */ + +/* 'In_Ancient_Symbols': Block */ +static const OnigCodePoint CR_In_Ancient_Symbols[] = { + 1, + 0x10190, 0x101cf, +}; /* CR_In_Ancient_Symbols */ + +/* 'In_Phaistos_Disc': Block */ +static const OnigCodePoint CR_In_Phaistos_Disc[] = { + 1, + 0x101d0, 0x101ff, +}; /* CR_In_Phaistos_Disc */ + +/* 'In_Lycian': Block */ +static const OnigCodePoint CR_In_Lycian[] = { + 1, + 0x10280, 0x1029f, +}; /* CR_In_Lycian */ + +/* 'In_Carian': Block */ +static const OnigCodePoint CR_In_Carian[] = { + 1, + 0x102a0, 0x102df, +}; /* CR_In_Carian */ + +/* 'In_Old_Italic': Block */ +static const OnigCodePoint CR_In_Old_Italic[] = { + 1, + 0x10300, 0x1032f, +}; /* CR_In_Old_Italic */ + +/* 'In_Gothic': Block */ +static const OnigCodePoint CR_In_Gothic[] = { + 1, + 0x10330, 0x1034f, +}; /* CR_In_Gothic */ + +/* 'In_Ugaritic': Block */ +static const OnigCodePoint CR_In_Ugaritic[] = { + 1, + 0x10380, 0x1039f, +}; /* CR_In_Ugaritic */ + +/* 'In_Old_Persian': Block */ +static const OnigCodePoint CR_In_Old_Persian[] = { + 1, + 0x103a0, 0x103df, +}; /* CR_In_Old_Persian */ + +/* 'In_Deseret': Block */ +#define CR_In_Deseret CR_Deseret + +/* 'In_Shavian': Block */ +#define CR_In_Shavian CR_Shavian + +/* 'In_Osmanya': Block */ +static const OnigCodePoint CR_In_Osmanya[] = { + 1, + 0x10480, 0x104af, +}; /* CR_In_Osmanya */ + +/* 'In_Cypriot_Syllabary': Block */ +static const OnigCodePoint CR_In_Cypriot_Syllabary[] = { + 1, + 0x10800, 0x1083f, +}; /* CR_In_Cypriot_Syllabary */ + +/* 'In_Imperial_Aramaic': Block */ +static const OnigCodePoint CR_In_Imperial_Aramaic[] = { + 1, + 0x10840, 0x1085f, +}; /* CR_In_Imperial_Aramaic */ + +/* 'In_Phoenician': Block */ +static const OnigCodePoint CR_In_Phoenician[] = { + 1, + 0x10900, 0x1091f, +}; /* CR_In_Phoenician */ + +/* 'In_Lydian': Block */ +static const OnigCodePoint CR_In_Lydian[] = { + 1, + 0x10920, 0x1093f, +}; /* CR_In_Lydian */ + +/* 'In_Meroitic_Hieroglyphs': Block */ +#define CR_In_Meroitic_Hieroglyphs CR_Meroitic_Hieroglyphs + +/* 'In_Meroitic_Cursive': Block */ +static const OnigCodePoint CR_In_Meroitic_Cursive[] = { + 1, + 0x109a0, 0x109ff, +}; /* CR_In_Meroitic_Cursive */ + +/* 'In_Kharoshthi': Block */ +static const OnigCodePoint CR_In_Kharoshthi[] = { + 1, + 0x10a00, 0x10a5f, +}; /* CR_In_Kharoshthi */ + +/* 'In_Old_South_Arabian': Block */ +#define CR_In_Old_South_Arabian CR_Old_South_Arabian + +/* 'In_Avestan': Block */ +static const OnigCodePoint CR_In_Avestan[] = { + 1, + 0x10b00, 0x10b3f, +}; /* CR_In_Avestan */ + +/* 'In_Inscriptional_Parthian': Block */ +static const OnigCodePoint CR_In_Inscriptional_Parthian[] = { + 1, + 0x10b40, 0x10b5f, +}; /* CR_In_Inscriptional_Parthian */ + +/* 'In_Inscriptional_Pahlavi': Block */ +static const OnigCodePoint CR_In_Inscriptional_Pahlavi[] = { + 1, + 0x10b60, 0x10b7f, +}; /* CR_In_Inscriptional_Pahlavi */ -/* 'ASCII': [[:ASCII:]] */ -static const OnigCodePoint CR_ASCII[] = { +/* 'In_Old_Turkic': Block */ +static const OnigCodePoint CR_In_Old_Turkic[] = { 1, - 0x0000, 0x007f, -}; /* CR_ASCII */ + 0x10c00, 0x10c4f, +}; /* CR_In_Old_Turkic */ + +/* 'In_Rumi_Numeral_Symbols': Block */ +static const OnigCodePoint CR_In_Rumi_Numeral_Symbols[] = { + 1, + 0x10e60, 0x10e7f, +}; /* CR_In_Rumi_Numeral_Symbols */ + +/* 'In_Brahmi': Block */ +static const OnigCodePoint CR_In_Brahmi[] = { + 1, + 0x11000, 0x1107f, +}; /* CR_In_Brahmi */ + +/* 'In_Kaithi': Block */ +static const OnigCodePoint CR_In_Kaithi[] = { + 1, + 0x11080, 0x110cf, +}; /* CR_In_Kaithi */ + +/* 'In_Sora_Sompeng': Block */ +static const OnigCodePoint CR_In_Sora_Sompeng[] = { + 1, + 0x110d0, 0x110ff, +}; /* CR_In_Sora_Sompeng */ + +/* 'In_Chakma': Block */ +static const OnigCodePoint CR_In_Chakma[] = { + 1, + 0x11100, 0x1114f, +}; /* CR_In_Chakma */ + +/* 'In_Sharada': Block */ +static const OnigCodePoint CR_In_Sharada[] = { + 1, + 0x11180, 0x111df, +}; /* CR_In_Sharada */ + +/* 'In_Takri': Block */ +static const OnigCodePoint CR_In_Takri[] = { + 1, + 0x11680, 0x116cf, +}; /* CR_In_Takri */ + +/* 'In_Cuneiform': Block */ +static const OnigCodePoint CR_In_Cuneiform[] = { + 1, + 0x12000, 0x123ff, +}; /* CR_In_Cuneiform */ + +/* 'In_Cuneiform_Numbers_and_Punctuation': Block */ +static const OnigCodePoint CR_In_Cuneiform_Numbers_and_Punctuation[] = { + 1, + 0x12400, 0x1247f, +}; /* CR_In_Cuneiform_Numbers_and_Punctuation */ + +/* 'In_Egyptian_Hieroglyphs': Block */ +static const OnigCodePoint CR_In_Egyptian_Hieroglyphs[] = { + 1, + 0x13000, 0x1342f, +}; /* CR_In_Egyptian_Hieroglyphs */ + +/* 'In_Bamum_Supplement': Block */ +static const OnigCodePoint CR_In_Bamum_Supplement[] = { + 1, + 0x16800, 0x16a3f, +}; /* CR_In_Bamum_Supplement */ + +/* 'In_Miao': Block */ +static const OnigCodePoint CR_In_Miao[] = { + 1, + 0x16f00, 0x16f9f, +}; /* CR_In_Miao */ + +/* 'In_Kana_Supplement': Block */ +static const OnigCodePoint CR_In_Kana_Supplement[] = { + 1, + 0x1b000, 0x1b0ff, +}; /* CR_In_Kana_Supplement */ + +/* 'In_Byzantine_Musical_Symbols': Block */ +static const OnigCodePoint CR_In_Byzantine_Musical_Symbols[] = { + 1, + 0x1d000, 0x1d0ff, +}; /* CR_In_Byzantine_Musical_Symbols */ + +/* 'In_Musical_Symbols': Block */ +static const OnigCodePoint CR_In_Musical_Symbols[] = { + 1, + 0x1d100, 0x1d1ff, +}; /* CR_In_Musical_Symbols */ + +/* 'In_Ancient_Greek_Musical_Notation': Block */ +static const OnigCodePoint CR_In_Ancient_Greek_Musical_Notation[] = { + 1, + 0x1d200, 0x1d24f, +}; /* CR_In_Ancient_Greek_Musical_Notation */ + +/* 'In_Tai_Xuan_Jing_Symbols': Block */ +static const OnigCodePoint CR_In_Tai_Xuan_Jing_Symbols[] = { + 1, + 0x1d300, 0x1d35f, +}; /* CR_In_Tai_Xuan_Jing_Symbols */ + +/* 'In_Counting_Rod_Numerals': Block */ +static const OnigCodePoint CR_In_Counting_Rod_Numerals[] = { + 1, + 0x1d360, 0x1d37f, +}; /* CR_In_Counting_Rod_Numerals */ + +/* 'In_Mathematical_Alphanumeric_Symbols': Block */ +static const OnigCodePoint CR_In_Mathematical_Alphanumeric_Symbols[] = { + 1, + 0x1d400, 0x1d7ff, +}; /* CR_In_Mathematical_Alphanumeric_Symbols */ + +/* 'In_Arabic_Mathematical_Alphabetic_Symbols': Block */ +static const OnigCodePoint CR_In_Arabic_Mathematical_Alphabetic_Symbols[] = { + 1, + 0x1ee00, 0x1eeff, +}; /* CR_In_Arabic_Mathematical_Alphabetic_Symbols */ + +/* 'In_Mahjong_Tiles': Block */ +static const OnigCodePoint CR_In_Mahjong_Tiles[] = { + 1, + 0x1f000, 0x1f02f, +}; /* CR_In_Mahjong_Tiles */ + +/* 'In_Domino_Tiles': Block */ +static const OnigCodePoint CR_In_Domino_Tiles[] = { + 1, + 0x1f030, 0x1f09f, +}; /* CR_In_Domino_Tiles */ + +/* 'In_Playing_Cards': Block */ +static const OnigCodePoint CR_In_Playing_Cards[] = { + 1, + 0x1f0a0, 0x1f0ff, +}; /* CR_In_Playing_Cards */ + +/* 'In_Enclosed_Alphanumeric_Supplement': Block */ +static const OnigCodePoint CR_In_Enclosed_Alphanumeric_Supplement[] = { + 1, + 0x1f100, 0x1f1ff, +}; /* CR_In_Enclosed_Alphanumeric_Supplement */ + +/* 'In_Enclosed_Ideographic_Supplement': Block */ +static const OnigCodePoint CR_In_Enclosed_Ideographic_Supplement[] = { + 1, + 0x1f200, 0x1f2ff, +}; /* CR_In_Enclosed_Ideographic_Supplement */ + +/* 'In_Miscellaneous_Symbols_And_Pictographs': Block */ +static const OnigCodePoint CR_In_Miscellaneous_Symbols_And_Pictographs[] = { + 1, + 0x1f300, 0x1f5ff, +}; /* CR_In_Miscellaneous_Symbols_And_Pictographs */ + +/* 'In_Emoticons': Block */ +static const OnigCodePoint CR_In_Emoticons[] = { + 1, + 0x1f600, 0x1f64f, +}; /* CR_In_Emoticons */ + +/* 'In_Transport_And_Map_Symbols': Block */ +static const OnigCodePoint CR_In_Transport_And_Map_Symbols[] = { + 1, + 0x1f680, 0x1f6ff, +}; /* CR_In_Transport_And_Map_Symbols */ + +/* 'In_Alchemical_Symbols': Block */ +static const OnigCodePoint CR_In_Alchemical_Symbols[] = { + 1, + 0x1f700, 0x1f77f, +}; /* CR_In_Alchemical_Symbols */ + +/* 'In_CJK_Unified_Ideographs_Extension_B': Block */ +static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_B[] = { + 1, + 0x20000, 0x2a6df, +}; /* CR_In_CJK_Unified_Ideographs_Extension_B */ + +/* 'In_CJK_Unified_Ideographs_Extension_C': Block */ +static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_C[] = { + 1, + 0x2a700, 0x2b73f, +}; /* CR_In_CJK_Unified_Ideographs_Extension_C */ + +/* 'In_CJK_Unified_Ideographs_Extension_D': Block */ +static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_D[] = { + 1, + 0x2b740, 0x2b81f, +}; /* CR_In_CJK_Unified_Ideographs_Extension_D */ + +/* 'In_CJK_Compatibility_Ideographs_Supplement': Block */ +static const OnigCodePoint CR_In_CJK_Compatibility_Ideographs_Supplement[] = { + 1, + 0x2f800, 0x2fa1f, +}; /* CR_In_CJK_Compatibility_Ideographs_Supplement */ + +/* 'In_Tags': Block */ +static const OnigCodePoint CR_In_Tags[] = { + 1, + 0xe0000, 0xe007f, +}; /* CR_In_Tags */ + +/* 'In_Variation_Selectors_Supplement': Block */ +static const OnigCodePoint CR_In_Variation_Selectors_Supplement[] = { + 1, + 0xe0100, 0xe01ef, +}; /* CR_In_Variation_Selectors_Supplement */ + +/* 'In_Supplementary_Private_Use_Area_A': Block */ +static const OnigCodePoint CR_In_Supplementary_Private_Use_Area_A[] = { + 1, + 0xf0000, 0xfffff, +}; /* CR_In_Supplementary_Private_Use_Area_A */ + +/* 'In_Supplementary_Private_Use_Area_B': Block */ +static const OnigCodePoint CR_In_Supplementary_Private_Use_Area_B[] = { + 1, + 0x100000, 0x10ffff, +}; /* CR_In_Supplementary_Private_Use_Area_B */ + +/* 'In_No_Block': Block */ +static const OnigCodePoint CR_In_No_Block[] = { + 36, + 0x0860, 0x089f, + 0x1ab0, 0x1aff, + 0x1c80, 0x1cbf, + 0x2fe0, 0x2fef, + 0xa9e0, 0xa9ff, + 0xab30, 0xabbf, + 0x10200, 0x1027f, + 0x102e0, 0x102ff, + 0x10350, 0x1037f, + 0x103e0, 0x103ff, + 0x104b0, 0x107ff, + 0x10860, 0x108ff, + 0x10940, 0x1097f, + 0x10a80, 0x10aff, + 0x10b80, 0x10bff, + 0x10c50, 0x10e5f, + 0x10e80, 0x10fff, + 0x11150, 0x1117f, + 0x111e0, 0x1167f, + 0x116d0, 0x11fff, + 0x12480, 0x12fff, + 0x13430, 0x167ff, + 0x16a40, 0x16eff, + 0x16fa0, 0x1afff, + 0x1b100, 0x1cfff, + 0x1d250, 0x1d2ff, + 0x1d380, 0x1d3ff, + 0x1d800, 0x1edff, + 0x1ef00, 0x1efff, + 0x1f650, 0x1f67f, + 0x1f780, 0x1ffff, + 0x2a6e0, 0x2a6ff, + 0x2b820, 0x2f7ff, + 0x2fa20, 0xdffff, + 0xe0080, 0xe00ff, + 0xe01f0, 0xeffff, +}; /* CR_In_No_Block */ +#endif /* USE_UNICODE_PROPERTIES */ static const OnigCodePoint* const CodeRanges[] = { CR_NEWLINE, @@ -21980,6 +25519,7 @@ static const OnigCodePoint* const CodeRanges[] = { CR_Co, CR_Cs, CR_L, + CR_LC, CR_Ll, CR_Lm, CR_Lo, @@ -22124,6 +25664,13 @@ static const OnigCodePoint* const CodeRanges[] = { CR_Batak, CR_Brahmi, CR_Mandaic, + CR_Chakma, + CR_Meroitic_Cursive, + CR_Meroitic_Hieroglyphs, + CR_Miao, + CR_Sharada, + CR_Sora_Sompeng, + CR_Takri, CR_White_Space, CR_Bidi_Control, CR_Join_Control, @@ -22169,6 +25716,228 @@ static const OnigCodePoint* const CodeRanges[] = { CR_Age_5_1, CR_Age_5_2, CR_Age_6_0, + CR_Age_6_1, + CR_In_Basic_Latin, + CR_In_Latin_1_Supplement, + CR_In_Latin_Extended_A, + CR_In_Latin_Extended_B, + CR_In_IPA_Extensions, + CR_In_Spacing_Modifier_Letters, + CR_In_Combining_Diacritical_Marks, + CR_In_Greek_and_Coptic, + CR_In_Cyrillic, + CR_In_Cyrillic_Supplement, + CR_In_Armenian, + CR_In_Hebrew, + CR_In_Arabic, + CR_In_Syriac, + CR_In_Arabic_Supplement, + CR_In_Thaana, + CR_In_NKo, + CR_In_Samaritan, + CR_In_Mandaic, + CR_In_Arabic_Extended_A, + CR_In_Devanagari, + CR_In_Bengali, + CR_In_Gurmukhi, + CR_In_Gujarati, + CR_In_Oriya, + CR_In_Tamil, + CR_In_Telugu, + CR_In_Kannada, + CR_In_Malayalam, + CR_In_Sinhala, + CR_In_Thai, + CR_In_Lao, + CR_In_Tibetan, + CR_In_Myanmar, + CR_In_Georgian, + CR_In_Hangul_Jamo, + CR_In_Ethiopic, + CR_In_Ethiopic_Supplement, + CR_In_Cherokee, + CR_In_Unified_Canadian_Aboriginal_Syllabics, + CR_In_Ogham, + CR_In_Runic, + CR_In_Tagalog, + CR_In_Hanunoo, + CR_In_Buhid, + CR_In_Tagbanwa, + CR_In_Khmer, + CR_In_Mongolian, + CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended, + CR_In_Limbu, + CR_In_Tai_Le, + CR_In_New_Tai_Lue, + CR_In_Khmer_Symbols, + CR_In_Buginese, + CR_In_Tai_Tham, + CR_In_Balinese, + CR_In_Sundanese, + CR_In_Batak, + CR_In_Lepcha, + CR_In_Ol_Chiki, + CR_In_Sundanese_Supplement, + CR_In_Vedic_Extensions, + CR_In_Phonetic_Extensions, + CR_In_Phonetic_Extensions_Supplement, + CR_In_Combining_Diacritical_Marks_Supplement, + CR_In_Latin_Extended_Additional, + CR_In_Greek_Extended, + CR_In_General_Punctuation, + CR_In_Superscripts_and_Subscripts, + CR_In_Currency_Symbols, + CR_In_Combining_Diacritical_Marks_for_Symbols, + CR_In_Letterlike_Symbols, + CR_In_Number_Forms, + CR_In_Arrows, + CR_In_Mathematical_Operators, + CR_In_Miscellaneous_Technical, + CR_In_Control_Pictures, + CR_In_Optical_Character_Recognition, + CR_In_Enclosed_Alphanumerics, + CR_In_Box_Drawing, + CR_In_Block_Elements, + CR_In_Geometric_Shapes, + CR_In_Miscellaneous_Symbols, + CR_In_Dingbats, + CR_In_Miscellaneous_Mathematical_Symbols_A, + CR_In_Supplemental_Arrows_A, + CR_In_Braille_Patterns, + CR_In_Supplemental_Arrows_B, + CR_In_Miscellaneous_Mathematical_Symbols_B, + CR_In_Supplemental_Mathematical_Operators, + CR_In_Miscellaneous_Symbols_and_Arrows, + CR_In_Glagolitic, + CR_In_Latin_Extended_C, + CR_In_Coptic, + CR_In_Georgian_Supplement, + CR_In_Tifinagh, + CR_In_Ethiopic_Extended, + CR_In_Cyrillic_Extended_A, + CR_In_Supplemental_Punctuation, + CR_In_CJK_Radicals_Supplement, + CR_In_Kangxi_Radicals, + CR_In_Ideographic_Description_Characters, + CR_In_CJK_Symbols_and_Punctuation, + CR_In_Hiragana, + CR_In_Katakana, + CR_In_Bopomofo, + CR_In_Hangul_Compatibility_Jamo, + CR_In_Kanbun, + CR_In_Bopomofo_Extended, + CR_In_CJK_Strokes, + CR_In_Katakana_Phonetic_Extensions, + CR_In_Enclosed_CJK_Letters_and_Months, + CR_In_CJK_Compatibility, + CR_In_CJK_Unified_Ideographs_Extension_A, + CR_In_Yijing_Hexagram_Symbols, + CR_In_CJK_Unified_Ideographs, + CR_In_Yi_Syllables, + CR_In_Yi_Radicals, + CR_In_Lisu, + CR_In_Vai, + CR_In_Cyrillic_Extended_B, + CR_In_Bamum, + CR_In_Modifier_Tone_Letters, + CR_In_Latin_Extended_D, + CR_In_Syloti_Nagri, + CR_In_Common_Indic_Number_Forms, + CR_In_Phags_pa, + CR_In_Saurashtra, + CR_In_Devanagari_Extended, + CR_In_Kayah_Li, + CR_In_Rejang, + CR_In_Hangul_Jamo_Extended_A, + CR_In_Javanese, + CR_In_Cham, + CR_In_Myanmar_Extended_A, + CR_In_Tai_Viet, + CR_In_Meetei_Mayek_Extensions, + CR_In_Ethiopic_Extended_A, + CR_In_Meetei_Mayek, + CR_In_Hangul_Syllables, + CR_In_Hangul_Jamo_Extended_B, + CR_In_High_Surrogates, + CR_In_High_Private_Use_Surrogates, + CR_In_Low_Surrogates, + CR_In_Private_Use_Area, + CR_In_CJK_Compatibility_Ideographs, + CR_In_Alphabetic_Presentation_Forms, + CR_In_Arabic_Presentation_Forms_A, + CR_In_Variation_Selectors, + CR_In_Vertical_Forms, + CR_In_Combining_Half_Marks, + CR_In_CJK_Compatibility_Forms, + CR_In_Small_Form_Variants, + CR_In_Arabic_Presentation_Forms_B, + CR_In_Halfwidth_and_Fullwidth_Forms, + CR_In_Specials, + CR_In_Linear_B_Syllabary, + CR_In_Linear_B_Ideograms, + CR_In_Aegean_Numbers, + CR_In_Ancient_Greek_Numbers, + CR_In_Ancient_Symbols, + CR_In_Phaistos_Disc, + CR_In_Lycian, + CR_In_Carian, + CR_In_Old_Italic, + CR_In_Gothic, + CR_In_Ugaritic, + CR_In_Old_Persian, + CR_In_Deseret, + CR_In_Shavian, + CR_In_Osmanya, + CR_In_Cypriot_Syllabary, + CR_In_Imperial_Aramaic, + CR_In_Phoenician, + CR_In_Lydian, + CR_In_Meroitic_Hieroglyphs, + CR_In_Meroitic_Cursive, + CR_In_Kharoshthi, + CR_In_Old_South_Arabian, + CR_In_Avestan, + CR_In_Inscriptional_Parthian, + CR_In_Inscriptional_Pahlavi, + CR_In_Old_Turkic, + CR_In_Rumi_Numeral_Symbols, + CR_In_Brahmi, + CR_In_Kaithi, + CR_In_Sora_Sompeng, + CR_In_Chakma, + CR_In_Sharada, + CR_In_Takri, + CR_In_Cuneiform, + CR_In_Cuneiform_Numbers_and_Punctuation, + CR_In_Egyptian_Hieroglyphs, + CR_In_Bamum_Supplement, + CR_In_Miao, + CR_In_Kana_Supplement, + CR_In_Byzantine_Musical_Symbols, + CR_In_Musical_Symbols, + CR_In_Ancient_Greek_Musical_Notation, + CR_In_Tai_Xuan_Jing_Symbols, + CR_In_Counting_Rod_Numerals, + CR_In_Mathematical_Alphanumeric_Symbols, + CR_In_Arabic_Mathematical_Alphabetic_Symbols, + CR_In_Mahjong_Tiles, + CR_In_Domino_Tiles, + CR_In_Playing_Cards, + CR_In_Enclosed_Alphanumeric_Supplement, + CR_In_Enclosed_Ideographic_Supplement, + CR_In_Miscellaneous_Symbols_And_Pictographs, + CR_In_Emoticons, + CR_In_Transport_And_Map_Symbols, + CR_In_Alchemical_Symbols, + CR_In_CJK_Unified_Ideographs_Extension_B, + CR_In_CJK_Unified_Ideographs_Extension_C, + CR_In_CJK_Unified_Ideographs_Extension_D, + CR_In_CJK_Compatibility_Ideographs_Supplement, + CR_In_Tags, + CR_In_Variation_Selectors_Supplement, + CR_In_Supplementary_Private_Use_Area_A, + CR_In_Supplementary_Private_Use_Area_B, + CR_In_No_Block, #endif /* USE_UNICODE_PROPERTIES */ }; struct uniname2ctype_struct { @@ -22178,19 +25947,19 @@ struct uniname2ctype_struct { static const struct uniname2ctype_struct *uniname2ctype_p(const char *, unsigned int); #ifndef USE_UNICODE_PROPERTIES -#define TOTAL_KEYWORDS 15 +#define TOTAL_KEYWORDS 14 #define MIN_WORD_LENGTH 4 -#define MAX_WORD_LENGTH 7 -#define MIN_HASH_VALUE 7 -#define MAX_HASH_VALUE 21 -/* maximum key range = 15, duplicates = 0 */ +#define MAX_WORD_LENGTH 6 +#define MIN_HASH_VALUE 6 +#define MAX_HASH_VALUE 19 +/* maximum key range = 14, duplicates = 0 */ #else /* USE_UNICODE_PROPERTIES */ -#define TOTAL_KEYWORDS 387 +#define TOTAL_KEYWORDS 625 #define MIN_WORD_LENGTH 1 -#define MAX_WORD_LENGTH 30 +#define MAX_WORD_LENGTH 44 #define MIN_HASH_VALUE 3 -#define MAX_HASH_VALUE 1741 -/* maximum key range = 1739, duplicates = 0 */ +#define MAX_HASH_VALUE 4167 +/* maximum key range = 4165, duplicates = 0 */ #endif /* USE_UNICODE_PROPERTIES */ #ifdef __GNUC__ @@ -22212,33 +25981,33 @@ uniname2ctype_hash (str, len) #endif /* USE_UNICODE_PROPERTIES */ { #ifndef USE_UNICODE_PROPERTIES - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 3, 13, 6, - 4, 22, 22, 11, 22, 1, 22, 22, 10, 22, - 2, 22, 1, 22, 10, 8, 4, 7, 22, 3, - 4, 22, 22, 22, 22, 22, 22, 22 + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 3, 11, 5, + 4, 20, 20, 9, 20, 1, 20, 20, 10, 20, + 2, 20, 1, 20, 1, 7, 4, 6, 20, 1, + 4, 20, 20, 20, 20, 20, 20, 20 #else /* USE_UNICODE_PROPERTIES */ - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 2, 1742, 9, 1, - 2, 18, 5, 3, 4, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 8, 280, 6, - 96, 67, 362, 294, 38, 9, 63, 517, 2, 213, - 1, 4, 192, 3, 10, 57, 31, 316, 1, 549, - 330, 567, 36, 1742, 1742, 1742, 1742, 1742 + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 1, 4168, 13, 1, + 3, 28, 31, 10, 27, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, + 4168, 4168, 4168, 4168, 4168, 4168, 4168, 13, 854, 14, + 443, 19, 7, 570, 335, 4, 66, 1159, 102, 34, + 1, 178, 474, 1, 192, 2, 64, 1117, 491, 264, + 256, 1305, 3, 4168, 4168, 4168, 4168, 4168 #endif /* USE_UNICODE_PROPERTIES */ }; #ifndef USE_UNICODE_PROPERTIES @@ -22286,823 +26055,1298 @@ uniname2ctype_hash (str, len) struct uniname2ctype_pool_t { #ifndef USE_UNICODE_PROPERTIES + char uniname2ctype_pool_str6[sizeof("word")]; char uniname2ctype_pool_str7[sizeof("print")]; char uniname2ctype_pool_str8[sizeof("punct")]; char uniname2ctype_pool_str9[sizeof("alpha")]; char uniname2ctype_pool_str10[sizeof("alnum")]; char uniname2ctype_pool_str11[sizeof("xdigit")]; - char uniname2ctype_pool_str12[sizeof("newline")]; - char uniname2ctype_pool_str13[sizeof("upper")]; - char uniname2ctype_pool_str14[sizeof("ascii")]; - char uniname2ctype_pool_str15[sizeof("cntrl")]; - char uniname2ctype_pool_str16[sizeof("space")]; - char uniname2ctype_pool_str17[sizeof("word")]; - char uniname2ctype_pool_str18[sizeof("lower")]; - char uniname2ctype_pool_str19[sizeof("graph")]; - char uniname2ctype_pool_str20[sizeof("digit")]; - char uniname2ctype_pool_str21[sizeof("blank")]; + char uniname2ctype_pool_str12[sizeof("upper")]; + char uniname2ctype_pool_str13[sizeof("ascii")]; + char uniname2ctype_pool_str14[sizeof("cntrl")]; + char uniname2ctype_pool_str15[sizeof("space")]; + char uniname2ctype_pool_str16[sizeof("lower")]; + char uniname2ctype_pool_str17[sizeof("graph")]; + char uniname2ctype_pool_str18[sizeof("digit")]; + char uniname2ctype_pool_str19[sizeof("blank")]; #else /* USE_UNICODE_PROPERTIES */ char uniname2ctype_pool_str3[sizeof("n")]; - char uniname2ctype_pool_str5[sizeof("l")]; - char uniname2ctype_pool_str7[sizeof("nl")]; - char uniname2ctype_pool_str8[sizeof("ll")]; - char uniname2ctype_pool_str10[sizeof("cn")]; - char uniname2ctype_pool_str11[sizeof("no")]; - char uniname2ctype_pool_str12[sizeof("lo")]; - char uniname2ctype_pool_str13[sizeof("c")]; - char uniname2ctype_pool_str16[sizeof("co")]; - char uniname2ctype_pool_str20[sizeof("cc")]; - char uniname2ctype_pool_str21[sizeof("lao")]; - char uniname2ctype_pool_str22[sizeof("laoo")]; - char uniname2ctype_pool_str23[sizeof("lana")]; - char uniname2ctype_pool_str26[sizeof("ci")]; - char uniname2ctype_pool_str29[sizeof("qaac")]; - char uniname2ctype_pool_str30[sizeof("vai")]; - char uniname2ctype_pool_str31[sizeof("vaii")]; - char uniname2ctype_pool_str32[sizeof("qaai")]; - char uniname2ctype_pool_str34[sizeof("control")]; - char uniname2ctype_pool_str37[sizeof("cari")]; - char uniname2ctype_pool_str40[sizeof("carian")]; - char uniname2ctype_pool_str42[sizeof("zl")]; - char uniname2ctype_pool_str44[sizeof("oriya")]; - char uniname2ctype_pool_str46[sizeof("latn")]; - char uniname2ctype_pool_str47[sizeof("cntrl")]; - char uniname2ctype_pool_str48[sizeof("latin")]; - char uniname2ctype_pool_str51[sizeof("han")]; - char uniname2ctype_pool_str53[sizeof("arabic")]; - char uniname2ctype_pool_str54[sizeof("ital")]; - char uniname2ctype_pool_str55[sizeof("hano")]; - char uniname2ctype_pool_str60[sizeof("hani")]; - char uniname2ctype_pool_str63[sizeof("hanunoo")]; - char uniname2ctype_pool_str66[sizeof("lt")]; - char uniname2ctype_pool_str67[sizeof("so")]; - char uniname2ctype_pool_str69[sizeof("hira")]; - char uniname2ctype_pool_str70[sizeof("nchar")]; - char uniname2ctype_pool_str71[sizeof("sc")]; - char uniname2ctype_pool_str73[sizeof("z")]; - char uniname2ctype_pool_str74[sizeof("oalpha")]; - char uniname2ctype_pool_str75[sizeof("tavt")]; - char uniname2ctype_pool_str76[sizeof("cans")]; - char uniname2ctype_pool_str84[sizeof("java")]; - char uniname2ctype_pool_str88[sizeof("zinh")]; - char uniname2ctype_pool_str89[sizeof("thaa")]; - char uniname2ctype_pool_str90[sizeof("thai")]; - char uniname2ctype_pool_str91[sizeof("variationselector")]; - char uniname2ctype_pool_str92[sizeof("sinhala")]; - char uniname2ctype_pool_str93[sizeof("joinc")]; - char uniname2ctype_pool_str94[sizeof("ascii")]; - char uniname2ctype_pool_str95[sizeof("initialpunctuation")]; - char uniname2ctype_pool_str98[sizeof("other")]; - char uniname2ctype_pool_str99[sizeof("joincontrol")]; - char uniname2ctype_pool_str100[sizeof("thaana")]; - char uniname2ctype_pool_str101[sizeof("avst")]; - char uniname2ctype_pool_str103[sizeof("olower")]; - char uniname2ctype_pool_str105[sizeof("othernumber")]; - char uniname2ctype_pool_str106[sizeof("otherletter")]; - char uniname2ctype_pool_str109[sizeof("sinh")]; - char uniname2ctype_pool_str112[sizeof("tale")]; - char uniname2ctype_pool_str114[sizeof("connectorpunctuation")]; - char uniname2ctype_pool_str115[sizeof("s")]; - char uniname2ctype_pool_str116[sizeof("di")]; - char uniname2ctype_pool_str117[sizeof("vs")]; - char uniname2ctype_pool_str119[sizeof("oidc")]; - char uniname2ctype_pool_str120[sizeof("idc")]; - char uniname2ctype_pool_str121[sizeof("odi")]; - char uniname2ctype_pool_str122[sizeof("cs")]; - char uniname2ctype_pool_str123[sizeof("avestan")]; - char uniname2ctype_pool_str124[sizeof("dia")]; - char uniname2ctype_pool_str125[sizeof("cher")]; - char uniname2ctype_pool_str126[sizeof("inscriptionalparthian")]; - char uniname2ctype_pool_str128[sizeof("shavian")]; - char uniname2ctype_pool_str137[sizeof("radical")]; - char uniname2ctype_pool_str143[sizeof("loe")]; - char uniname2ctype_pool_str147[sizeof("diacritic")]; - char uniname2ctype_pool_str148[sizeof("zzzz")]; - char uniname2ctype_pool_str149[sizeof("ethi")]; - char uniname2ctype_pool_str151[sizeof("canadianaboriginal")]; - char uniname2ctype_pool_str152[sizeof("zs")]; - char uniname2ctype_pool_str153[sizeof("othersymbol")]; - char uniname2ctype_pool_str156[sizeof("olditalic")]; - char uniname2ctype_pool_str161[sizeof("inscriptionalpahlavi")]; - char uniname2ctype_pool_str162[sizeof("taiviet")]; - char uniname2ctype_pool_str163[sizeof("lineseparator")]; - char uniname2ctype_pool_str166[sizeof("otheridstart")]; - char uniname2ctype_pool_str170[sizeof("oids")]; - char uniname2ctype_pool_str171[sizeof("asciihexdigit")]; - char uniname2ctype_pool_str172[sizeof("inherited")]; - char uniname2ctype_pool_str174[sizeof("otherlowercase")]; - char uniname2ctype_pool_str175[sizeof("terminalpunctuation")]; - char uniname2ctype_pool_str176[sizeof("deva")]; - char uniname2ctype_pool_str179[sizeof("otheralphabetic")]; - char uniname2ctype_pool_str180[sizeof("ideo")]; - char uniname2ctype_pool_str181[sizeof("noncharactercodepoint")]; - char uniname2ctype_pool_str183[sizeof("otheridcontinue")]; - char uniname2ctype_pool_str187[sizeof("taile")]; - char uniname2ctype_pool_str190[sizeof("oldpersian")]; - char uniname2ctype_pool_str192[sizeof("devanagari")]; - char uniname2ctype_pool_str193[sizeof("letter")]; - char uniname2ctype_pool_str195[sizeof("nd")]; - char uniname2ctype_pool_str197[sizeof("idst")]; - char uniname2ctype_pool_str198[sizeof("dsrt")]; - char uniname2ctype_pool_str200[sizeof("titlecaseletter")]; - char uniname2ctype_pool_str202[sizeof("po")]; - char uniname2ctype_pool_str203[sizeof("dash")]; - char uniname2ctype_pool_str206[sizeof("pc")]; - char uniname2ctype_pool_str209[sizeof("letternumber")]; - char uniname2ctype_pool_str212[sizeof("pi")]; - char uniname2ctype_pool_str215[sizeof("javanese")]; - char uniname2ctype_pool_str217[sizeof("mn")]; - char uniname2ctype_pool_str218[sizeof("idstart")]; - char uniname2ctype_pool_str220[sizeof("idcontinue")]; - char uniname2ctype_pool_str222[sizeof("ids")]; - char uniname2ctype_pool_str223[sizeof("alpha")]; - char uniname2ctype_pool_str227[sizeof("mc")]; - char uniname2ctype_pool_str229[sizeof("coptic")]; - char uniname2ctype_pool_str234[sizeof("mongolian")]; - char uniname2ctype_pool_str235[sizeof("common")]; - char uniname2ctype_pool_str236[sizeof("armn")]; - char uniname2ctype_pool_str237[sizeof("copt")]; - char uniname2ctype_pool_str243[sizeof("cprt")]; - char uniname2ctype_pool_str244[sizeof("armi")]; - char uniname2ctype_pool_str245[sizeof("phli")]; - char uniname2ctype_pool_str246[sizeof("prti")]; - char uniname2ctype_pool_str250[sizeof("armenian")]; - char uniname2ctype_pool_str251[sizeof("sd")]; - char uniname2ctype_pool_str252[sizeof("mandaic")]; - char uniname2ctype_pool_str255[sizeof("phoenician")]; - char uniname2ctype_pool_str258[sizeof("taml")]; - char uniname2ctype_pool_str261[sizeof("tamil")]; - char uniname2ctype_pool_str268[sizeof("cased")]; - char uniname2ctype_pool_str269[sizeof("cham")]; - char uniname2ctype_pool_str270[sizeof("idsbinaryoperator")]; - char uniname2ctype_pool_str271[sizeof("lepc")]; - char uniname2ctype_pool_str275[sizeof("otherdefaultignorablecodepoint")]; - char uniname2ctype_pool_str278[sizeof("print")]; - char uniname2ctype_pool_str286[sizeof("osma")]; - char uniname2ctype_pool_str292[sizeof("samr")]; - char uniname2ctype_pool_str294[sizeof("math")]; - char uniname2ctype_pool_str296[sizeof("linb")]; - char uniname2ctype_pool_str297[sizeof("closepunctuation")]; - char uniname2ctype_pool_str301[sizeof("otherpunctuation")]; - char uniname2ctype_pool_str303[sizeof("bali")]; - char uniname2ctype_pool_str306[sizeof("omath")]; - char uniname2ctype_pool_str307[sizeof("samaritan")]; - char uniname2ctype_pool_str308[sizeof("ps")]; - char uniname2ctype_pool_str310[sizeof("arab")]; - char uniname2ctype_pool_str311[sizeof("brai")]; - char uniname2ctype_pool_str314[sizeof("taitham")]; - char uniname2ctype_pool_str317[sizeof("linearb")]; - char uniname2ctype_pool_str321[sizeof("lepcha")]; - char uniname2ctype_pool_str322[sizeof("mand")]; - char uniname2ctype_pool_str324[sizeof("mtei")]; - char uniname2ctype_pool_str325[sizeof("term")]; - char uniname2ctype_pool_str326[sizeof("glagolitic")]; - char uniname2ctype_pool_str327[sizeof("privateuse")]; - char uniname2ctype_pool_str328[sizeof("pe")]; - char uniname2ctype_pool_str335[sizeof("deseret")]; - char uniname2ctype_pool_str340[sizeof("brah")]; - char uniname2ctype_pool_str341[sizeof("runr")]; - char uniname2ctype_pool_str343[sizeof("othermath")]; - char uniname2ctype_pool_str344[sizeof("runic")]; - char uniname2ctype_pool_str345[sizeof("hang")]; - char uniname2ctype_pool_str346[sizeof("ethiopic")]; - char uniname2ctype_pool_str349[sizeof("me")]; - char uniname2ctype_pool_str350[sizeof("patws")]; - char uniname2ctype_pool_str353[sizeof("separator")]; - char uniname2ctype_pool_str355[sizeof("tibt")]; - char uniname2ctype_pool_str356[sizeof("gothic")]; - char uniname2ctype_pool_str358[sizeof("tagbanwa")]; - char uniname2ctype_pool_str359[sizeof("sarb")]; - char uniname2ctype_pool_str361[sizeof("talu")]; - char uniname2ctype_pool_str367[sizeof("tibetan")]; - char uniname2ctype_pool_str371[sizeof("goth")]; - char uniname2ctype_pool_str372[sizeof("rjng")]; - char uniname2ctype_pool_str373[sizeof("hangul")]; - char uniname2ctype_pool_str374[sizeof("bengali")]; - char uniname2ctype_pool_str375[sizeof("hiragana")]; - char uniname2ctype_pool_str376[sizeof("braille")]; - char uniname2ctype_pool_str379[sizeof("geor")]; - char uniname2ctype_pool_str380[sizeof("age=1.1")]; - char uniname2ctype_pool_str381[sizeof("age=2.1")]; - char uniname2ctype_pool_str382[sizeof("age=5.1")]; - char uniname2ctype_pool_str383[sizeof("age=5.2")]; - char uniname2ctype_pool_str384[sizeof("age=4.1")]; - char uniname2ctype_pool_str385[sizeof("p")]; - char uniname2ctype_pool_str386[sizeof("pd")]; - char uniname2ctype_pool_str388[sizeof("lisu")]; - char uniname2ctype_pool_str389[sizeof("age=2.0")]; - char uniname2ctype_pool_str390[sizeof("age=5.0")]; - char uniname2ctype_pool_str391[sizeof("age=6.0")]; - char uniname2ctype_pool_str392[sizeof("age=4.0")]; - char uniname2ctype_pool_str393[sizeof("graph")]; - char uniname2ctype_pool_str395[sizeof("saur")]; - char uniname2ctype_pool_str396[sizeof("space")]; - char uniname2ctype_pool_str397[sizeof("age=3.1")]; - char uniname2ctype_pool_str398[sizeof("age=3.2")]; - char uniname2ctype_pool_str399[sizeof("hebr")]; - char uniname2ctype_pool_str402[sizeof("bidic")]; - char uniname2ctype_pool_str405[sizeof("age=3.0")]; - char uniname2ctype_pool_str408[sizeof("bidicontrol")]; - char uniname2ctype_pool_str413[sizeof("logicalorderexception")]; - char uniname2ctype_pool_str420[sizeof("telu")]; - char uniname2ctype_pool_str422[sizeof("zp")]; - char uniname2ctype_pool_str427[sizeof("m")]; - char uniname2ctype_pool_str430[sizeof("lm")]; - char uniname2ctype_pool_str432[sizeof("idstrinaryoperator")]; - char uniname2ctype_pool_str433[sizeof("balinese")]; - char uniname2ctype_pool_str434[sizeof("uideo")]; - char uniname2ctype_pool_str436[sizeof("spaceseparator")]; - char uniname2ctype_pool_str438[sizeof("grext")]; - char uniname2ctype_pool_str442[sizeof("alnum")]; - char uniname2ctype_pool_str443[sizeof("oldturkic")]; - char uniname2ctype_pool_str445[sizeof("xidc")]; - char uniname2ctype_pool_str446[sizeof("idsb")]; - char uniname2ctype_pool_str447[sizeof("ahex")]; - char uniname2ctype_pool_str452[sizeof("format")]; - char uniname2ctype_pool_str456[sizeof("caseignorable")]; - char uniname2ctype_pool_str457[sizeof("tifinagh")]; - char uniname2ctype_pool_str459[sizeof("sundanese")]; - char uniname2ctype_pool_str462[sizeof("ext")]; - char uniname2ctype_pool_str464[sizeof("saurashtra")]; - char uniname2ctype_pool_str465[sizeof("patternwhitespace")]; - char uniname2ctype_pool_str466[sizeof("digit")]; - char uniname2ctype_pool_str474[sizeof("sund")]; - char uniname2ctype_pool_str480[sizeof("decimalnumber")]; - char uniname2ctype_pool_str484[sizeof("bopo")]; - char uniname2ctype_pool_str485[sizeof("sm")]; - char uniname2ctype_pool_str488[sizeof("otheruppercase")]; - char uniname2ctype_pool_str493[sizeof("ideographic")]; - char uniname2ctype_pool_str496[sizeof("xids")]; - char uniname2ctype_pool_str497[sizeof("unassigned")]; - char uniname2ctype_pool_str502[sizeof("phagspa")]; - char uniname2ctype_pool_str506[sizeof("alphabetic")]; - char uniname2ctype_pool_str508[sizeof("limb")]; - char uniname2ctype_pool_str512[sizeof("xdigit")]; - char uniname2ctype_pool_str513[sizeof("xidstart")]; - char uniname2ctype_pool_str516[sizeof("mong")]; - char uniname2ctype_pool_str518[sizeof("xidcontinue")]; - char uniname2ctype_pool_str521[sizeof("assigned")]; - char uniname2ctype_pool_str523[sizeof("ogam")]; - char uniname2ctype_pool_str529[sizeof("nko")]; - char uniname2ctype_pool_str530[sizeof("nkoo")]; - char uniname2ctype_pool_str533[sizeof("olck")]; - char uniname2ctype_pool_str534[sizeof("deprecated")]; - char uniname2ctype_pool_str535[sizeof("brahmi")]; - char uniname2ctype_pool_str536[sizeof("phag")]; - char uniname2ctype_pool_str538[sizeof("kana")]; - char uniname2ctype_pool_str540[sizeof("kali")]; - char uniname2ctype_pool_str542[sizeof("changeswhenlowercased")]; - char uniname2ctype_pool_str543[sizeof("extender")]; - char uniname2ctype_pool_str550[sizeof("dep")]; - char uniname2ctype_pool_str554[sizeof("olchiki")]; - char uniname2ctype_pool_str562[sizeof("cwl")]; - char uniname2ctype_pool_str563[sizeof("graphemebase")]; - char uniname2ctype_pool_str565[sizeof("phnx")]; - char uniname2ctype_pool_str573[sizeof("orkh")]; - char uniname2ctype_pool_str576[sizeof("punct")]; - char uniname2ctype_pool_str577[sizeof("khar")]; - char uniname2ctype_pool_str580[sizeof("lower")]; - char uniname2ctype_pool_str586[sizeof("sterm")]; - char uniname2ctype_pool_str587[sizeof("yi")]; - char uniname2ctype_pool_str588[sizeof("lyci")]; - char uniname2ctype_pool_str589[sizeof("cyrl")]; - char uniname2ctype_pool_str591[sizeof("lycian")]; - char uniname2ctype_pool_str592[sizeof("finalpunctuation")]; - char uniname2ctype_pool_str593[sizeof("orya")]; - char uniname2ctype_pool_str594[sizeof("graphemeextend")]; - char uniname2ctype_pool_str596[sizeof("kaithi")]; - char uniname2ctype_pool_str597[sizeof("xpeo")]; - char uniname2ctype_pool_str598[sizeof("yiii")]; - char uniname2ctype_pool_str599[sizeof("kthi")]; - char uniname2ctype_pool_str601[sizeof("cyrillic")]; - char uniname2ctype_pool_str602[sizeof("glag")]; - char uniname2ctype_pool_str605[sizeof("oupper")]; - char uniname2ctype_pool_str617[sizeof("tagb")]; - char uniname2ctype_pool_str620[sizeof("cwt")]; - char uniname2ctype_pool_str623[sizeof("number")]; - char uniname2ctype_pool_str625[sizeof("tglg")]; - char uniname2ctype_pool_str626[sizeof("knda")]; - char uniname2ctype_pool_str627[sizeof("lowercaseletter")]; - char uniname2ctype_pool_str628[sizeof("changeswhentitlecased")]; - char uniname2ctype_pool_str629[sizeof("softdotted")]; - char uniname2ctype_pool_str632[sizeof("ugar")]; - char uniname2ctype_pool_str634[sizeof("sylo")]; - char uniname2ctype_pool_str636[sizeof("lu")]; - char uniname2ctype_pool_str640[sizeof("tagalog")]; - char uniname2ctype_pool_str643[sizeof("kharoshthi")]; - char uniname2ctype_pool_str644[sizeof("syrc")]; - char uniname2ctype_pool_str645[sizeof("kannada")]; - char uniname2ctype_pool_str646[sizeof("beng")]; - char uniname2ctype_pool_str647[sizeof("lowercase")]; - char uniname2ctype_pool_str656[sizeof("shaw")]; - char uniname2ctype_pool_str659[sizeof("patternsyntax")]; - char uniname2ctype_pool_str660[sizeof("syriac")]; - char uniname2ctype_pool_str663[sizeof("word")]; - char uniname2ctype_pool_str667[sizeof("imperialaramaic")]; - char uniname2ctype_pool_str672[sizeof("ugaritic")]; - char uniname2ctype_pool_str675[sizeof("enclosingmark")]; - char uniname2ctype_pool_str677[sizeof("georgian")]; - char uniname2ctype_pool_str678[sizeof("lydi")]; - char uniname2ctype_pool_str681[sizeof("lydian")]; - char uniname2ctype_pool_str686[sizeof("sylotinagri")]; - char uniname2ctype_pool_str687[sizeof("gujr")]; - char uniname2ctype_pool_str692[sizeof("tfng")]; - char uniname2ctype_pool_str696[sizeof("currencysymbol")]; - char uniname2ctype_pool_str701[sizeof("newline")]; - char uniname2ctype_pool_str705[sizeof("bopomofo")]; - char uniname2ctype_pool_str706[sizeof("ogrext")]; - char uniname2ctype_pool_str707[sizeof("cherokee")]; - char uniname2ctype_pool_str708[sizeof("gujarati")]; - char uniname2ctype_pool_str710[sizeof("newtailue")]; - char uniname2ctype_pool_str716[sizeof("dashpunctuation")]; - char uniname2ctype_pool_str718[sizeof("oldsoutharabian")]; - char uniname2ctype_pool_str725[sizeof("upper")]; - char uniname2ctype_pool_str732[sizeof("cf")]; - char uniname2ctype_pool_str734[sizeof("buhd")]; - char uniname2ctype_pool_str735[sizeof("rejang")]; - char uniname2ctype_pool_str736[sizeof("othergraphemeextend")]; - char uniname2ctype_pool_str739[sizeof("modifierletter")]; - char uniname2ctype_pool_str745[sizeof("nonspacingmark")]; - char uniname2ctype_pool_str749[sizeof("changeswhencasemapped")]; - char uniname2ctype_pool_str752[sizeof("mark")]; - char uniname2ctype_pool_str757[sizeof("surrogate")]; - char uniname2ctype_pool_str765[sizeof("paragraphseparator")]; - char uniname2ctype_pool_str767[sizeof("ogham")]; - char uniname2ctype_pool_str768[sizeof("hex")]; - char uniname2ctype_pool_str772[sizeof("uppercaseletter")]; - char uniname2ctype_pool_str777[sizeof("hexdigit")]; - char uniname2ctype_pool_str778[sizeof("cwcm")]; - char uniname2ctype_pool_str781[sizeof("grbase")]; - char uniname2ctype_pool_str782[sizeof("khmr")]; - char uniname2ctype_pool_str788[sizeof("unifiedideograph")]; - char uniname2ctype_pool_str792[sizeof("uppercase")]; - char uniname2ctype_pool_str793[sizeof("khmer")]; - char uniname2ctype_pool_str795[sizeof("spacingmark")]; - char uniname2ctype_pool_str797[sizeof("whitespace")]; - char uniname2ctype_pool_str806[sizeof("patsyn")]; - char uniname2ctype_pool_str816[sizeof("cypriot")]; - char uniname2ctype_pool_str818[sizeof("openpunctuation")]; - char uniname2ctype_pool_str821[sizeof("bamu")]; - char uniname2ctype_pool_str831[sizeof("buhid")]; - char uniname2ctype_pool_str840[sizeof("batk")]; - char uniname2ctype_pool_str851[sizeof("symbol")]; - char uniname2ctype_pool_str856[sizeof("changeswhenuppercased")]; - char uniname2ctype_pool_str857[sizeof("osmanya")]; - char uniname2ctype_pool_str861[sizeof("limbu")]; - char uniname2ctype_pool_str868[sizeof("punctuation")]; - char uniname2ctype_pool_str872[sizeof("hyphen")]; - char uniname2ctype_pool_str888[sizeof("mathsymbol")]; - char uniname2ctype_pool_str892[sizeof("grek")]; - char uniname2ctype_pool_str898[sizeof("changeswhencasefolded")]; - char uniname2ctype_pool_str902[sizeof("quotationmark")]; - char uniname2ctype_pool_str903[sizeof("bugi")]; - char uniname2ctype_pool_str916[sizeof("cuneiform")]; - char uniname2ctype_pool_str918[sizeof("pf")]; - char uniname2ctype_pool_str927[sizeof("cwcf")]; - char uniname2ctype_pool_str932[sizeof("bamum")]; - char uniname2ctype_pool_str940[sizeof("guru")]; - char uniname2ctype_pool_str944[sizeof("wspace")]; - char uniname2ctype_pool_str951[sizeof("meeteimayek")]; - char uniname2ctype_pool_str976[sizeof("defaultignorablecodepoint")]; - char uniname2ctype_pool_str980[sizeof("modifiersymbol")]; - char uniname2ctype_pool_str999[sizeof("mlym")]; - char uniname2ctype_pool_str1007[sizeof("mymr")]; - char uniname2ctype_pool_str1020[sizeof("malayalam")]; - char uniname2ctype_pool_str1026[sizeof("myanmar")]; - char uniname2ctype_pool_str1032[sizeof("telugu")]; - char uniname2ctype_pool_str1033[sizeof("buginese")]; - char uniname2ctype_pool_str1037[sizeof("xsux")]; - char uniname2ctype_pool_str1093[sizeof("sk")]; - char uniname2ctype_pool_str1097[sizeof("katakana")]; - char uniname2ctype_pool_str1124[sizeof("egyp")]; - char uniname2ctype_pool_str1146[sizeof("any")]; - char uniname2ctype_pool_str1148[sizeof("kayahli")]; - char uniname2ctype_pool_str1190[sizeof("cwu")]; - char uniname2ctype_pool_str1263[sizeof("qmark")]; - char uniname2ctype_pool_str1329[sizeof("blank")]; - char uniname2ctype_pool_str1347[sizeof("grlink")]; - char uniname2ctype_pool_str1358[sizeof("batak")]; - char uniname2ctype_pool_str1395[sizeof("unknown")]; - char uniname2ctype_pool_str1410[sizeof("greek")]; - char uniname2ctype_pool_str1463[sizeof("graphemelink")]; - char uniname2ctype_pool_str1470[sizeof("gurmukhi")]; - char uniname2ctype_pool_str1556[sizeof("hebrew")]; - char uniname2ctype_pool_str1621[sizeof("egyptianhieroglyphs")]; - char uniname2ctype_pool_str1741[sizeof("zyyy")]; + char uniname2ctype_pool_str5[sizeof("s")]; + char uniname2ctype_pool_str7[sizeof("z")]; + char uniname2ctype_pool_str9[sizeof("zs")]; + char uniname2ctype_pool_str16[sizeof("zzzz")]; + char uniname2ctype_pool_str18[sizeof("cn")]; + char uniname2ctype_pool_str20[sizeof("cs")]; + char uniname2ctype_pool_str24[sizeof("ci")]; + char uniname2ctype_pool_str29[sizeof("c")]; + char uniname2ctype_pool_str30[sizeof("cf")]; + char uniname2ctype_pool_str32[sizeof("sc")]; + char uniname2ctype_pool_str34[sizeof("cans")]; + char uniname2ctype_pool_str35[sizeof("qaai")]; + char uniname2ctype_pool_str38[sizeof("mn")]; + char uniname2ctype_pool_str42[sizeof("ascii")]; + char uniname2ctype_pool_str44[sizeof("cc")]; + char uniname2ctype_pool_str45[sizeof("qaac")]; + char uniname2ctype_pool_str49[sizeof("inavestan")]; + char uniname2ctype_pool_str52[sizeof("inspecials")]; + char uniname2ctype_pool_str62[sizeof("inipaextensions")]; + char uniname2ctype_pool_str64[sizeof("mc")]; + char uniname2ctype_pool_str66[sizeof("insamaritan")]; + char uniname2ctype_pool_str69[sizeof("m")]; + char uniname2ctype_pool_str72[sizeof("sm")]; + char uniname2ctype_pool_str74[sizeof("me")]; + char uniname2ctype_pool_str82[sizeof("inarmenian")]; + char uniname2ctype_pool_str84[sizeof("incuneiform")]; + char uniname2ctype_pool_str86[sizeof("mandaic")]; + char uniname2ctype_pool_str90[sizeof("inancientsymbols")]; + char uniname2ctype_pool_str92[sizeof("incuneiformnumbersandpunctuation")]; + char uniname2ctype_pool_str96[sizeof("inthai")]; + char uniname2ctype_pool_str99[sizeof("inmusicalsymbols")]; + char uniname2ctype_pool_str100[sizeof("inmiscellaneoussymbols")]; + char uniname2ctype_pool_str106[sizeof("incham")]; + char uniname2ctype_pool_str109[sizeof("inmiscellaneoussymbolsandarrows")]; + char uniname2ctype_pool_str113[sizeof("initialpunctuation")]; + char uniname2ctype_pool_str114[sizeof("inmiscellaneoussymbolsandpictographs")]; + char uniname2ctype_pool_str116[sizeof("inthaana")]; + char uniname2ctype_pool_str124[sizeof("taile")]; + char uniname2ctype_pool_str125[sizeof("mtei")]; + char uniname2ctype_pool_str132[sizeof("lc")]; + char uniname2ctype_pool_str133[sizeof("lana")]; + char uniname2ctype_pool_str134[sizeof("inlycian")]; + char uniname2ctype_pool_str135[sizeof("intransportandmapsymbols")]; + char uniname2ctype_pool_str136[sizeof("incontrolpictures")]; + char uniname2ctype_pool_str142[sizeof("sinhala")]; + char uniname2ctype_pool_str151[sizeof("incommonindicnumberforms")]; + char uniname2ctype_pool_str156[sizeof("inmiscellaneousmathematicalsymbolsa")]; + char uniname2ctype_pool_str158[sizeof("sterm")]; + char uniname2ctype_pool_str167[sizeof("inmyanmarextendeda")]; + char uniname2ctype_pool_str172[sizeof("lm")]; + char uniname2ctype_pool_str175[sizeof("taiviet")]; + char uniname2ctype_pool_str179[sizeof("inlinearbideograms")]; + char uniname2ctype_pool_str180[sizeof("intaitham")]; + char uniname2ctype_pool_str184[sizeof("latn")]; + char uniname2ctype_pool_str186[sizeof("latin")]; + char uniname2ctype_pool_str187[sizeof("ital")]; + char uniname2ctype_pool_str189[sizeof("alnum")]; + char uniname2ctype_pool_str199[sizeof("inmalayalam")]; + char uniname2ctype_pool_str201[sizeof("intaile")]; + char uniname2ctype_pool_str202[sizeof("tale")]; + char uniname2ctype_pool_str205[sizeof("l")]; + char uniname2ctype_pool_str207[sizeof("nl")]; + char uniname2ctype_pool_str209[sizeof("zl")]; + char uniname2ctype_pool_str216[sizeof("intamil")]; + char uniname2ctype_pool_str217[sizeof("taml")]; + char uniname2ctype_pool_str218[sizeof("inlatinextendeda")]; + char uniname2ctype_pool_str220[sizeof("inlatinextendedc")]; + char uniname2ctype_pool_str223[sizeof("inrunic")]; + char uniname2ctype_pool_str224[sizeof("incarian")]; + char uniname2ctype_pool_str225[sizeof("insyriac")]; + char uniname2ctype_pool_str227[sizeof("cari")]; + char uniname2ctype_pool_str230[sizeof("inmeeteimayekextensions")]; + char uniname2ctype_pool_str231[sizeof("osma")]; + char uniname2ctype_pool_str232[sizeof("lt")]; + char uniname2ctype_pool_str233[sizeof("miao")]; + char uniname2ctype_pool_str234[sizeof("insharada")]; + char uniname2ctype_pool_str239[sizeof("incyrillic")]; + char uniname2ctype_pool_str240[sizeof("carian")]; + char uniname2ctype_pool_str244[sizeof("armn")]; + char uniname2ctype_pool_str245[sizeof("samr")]; + char uniname2ctype_pool_str247[sizeof("armi")]; + char uniname2ctype_pool_str248[sizeof("inideographicdescriptioncharacters")]; + char uniname2ctype_pool_str252[sizeof("inosmanya")]; + char uniname2ctype_pool_str253[sizeof("armenian")]; + char uniname2ctype_pool_str254[sizeof("inmyanmar")]; + char uniname2ctype_pool_str255[sizeof("samaritan")]; + char uniname2ctype_pool_str256[sizeof("arabic")]; + char uniname2ctype_pool_str259[sizeof("incherokee")]; + char uniname2ctype_pool_str261[sizeof("connectorpunctuation")]; + char uniname2ctype_pool_str263[sizeof("merc")]; + char uniname2ctype_pool_str264[sizeof("inmiscellaneoustechnical")]; + char uniname2ctype_pool_str268[sizeof("inenclosedalphanumerics")]; + char uniname2ctype_pool_str279[sizeof("inemoticons")]; + char uniname2ctype_pool_str281[sizeof("joinc")]; + char uniname2ctype_pool_str288[sizeof("cntrl")]; + char uniname2ctype_pool_str301[sizeof("inenclosedcjklettersandmonths")]; + char uniname2ctype_pool_str303[sizeof("cwcf")]; + char uniname2ctype_pool_str304[sizeof("inruminumeralsymbols")]; + char uniname2ctype_pool_str308[sizeof("ll")]; + char uniname2ctype_pool_str313[sizeof("term")]; + char uniname2ctype_pool_str316[sizeof("inlatinextendedadditional")]; + char uniname2ctype_pool_str320[sizeof("tamil")]; + char uniname2ctype_pool_str321[sizeof("loe")]; + char uniname2ctype_pool_str329[sizeof("newtailue")]; + char uniname2ctype_pool_str330[sizeof("cwcm")]; + char uniname2ctype_pool_str339[sizeof("inenclosedalphanumericsupplement")]; + char uniname2ctype_pool_str346[sizeof("sinh")]; + char uniname2ctype_pool_str347[sizeof("zinh")]; + char uniname2ctype_pool_str349[sizeof("meroiticcursive")]; + char uniname2ctype_pool_str353[sizeof("han")]; + char uniname2ctype_pool_str357[sizeof("hani")]; + char uniname2ctype_pool_str358[sizeof("inopticalcharacterrecognition")]; + char uniname2ctype_pool_str359[sizeof("no")]; + char uniname2ctype_pool_str360[sizeof("so")]; + char uniname2ctype_pool_str364[sizeof("innewtailue")]; + char uniname2ctype_pool_str365[sizeof("insinhala")]; + char uniname2ctype_pool_str367[sizeof("innko")]; + char uniname2ctype_pool_str372[sizeof("co")]; + char uniname2ctype_pool_str375[sizeof("shavian")]; + char uniname2ctype_pool_str378[sizeof("terminalpunctuation")]; + char uniname2ctype_pool_str386[sizeof("intaixuanjingsymbols")]; + char uniname2ctype_pool_str387[sizeof("inethiopic")]; + char uniname2ctype_pool_str389[sizeof("sora")]; + char uniname2ctype_pool_str398[sizeof("inarrows")]; + char uniname2ctype_pool_str400[sizeof("cham")]; + char uniname2ctype_pool_str403[sizeof("inlowsurrogates")]; + char uniname2ctype_pool_str405[sizeof("oriya")]; + char uniname2ctype_pool_str406[sizeof("ext")]; + char uniname2ctype_pool_str409[sizeof("cwt")]; + char uniname2ctype_pool_str412[sizeof("common")]; + char uniname2ctype_pool_str414[sizeof("inmiao")]; + char uniname2ctype_pool_str420[sizeof("thai")]; + char uniname2ctype_pool_str425[sizeof("intifinagh")]; + char uniname2ctype_pool_str426[sizeof("ethi")]; + char uniname2ctype_pool_str427[sizeof("mero")]; + char uniname2ctype_pool_str428[sizeof("chakma")]; + char uniname2ctype_pool_str429[sizeof("thaa")]; + char uniname2ctype_pool_str430[sizeof("inscriptionalparthian")]; + char uniname2ctype_pool_str432[sizeof("tifinagh")]; + char uniname2ctype_pool_str436[sizeof("titlecaseletter")]; + char uniname2ctype_pool_str445[sizeof("thaana")]; + char uniname2ctype_pool_str449[sizeof("asciihexdigit")]; + char uniname2ctype_pool_str450[sizeof("math")]; + char uniname2ctype_pool_str453[sizeof("di")]; + char uniname2ctype_pool_str454[sizeof("ids")]; + char uniname2ctype_pool_str460[sizeof("lo")]; + char uniname2ctype_pool_str468[sizeof("inlao")]; + char uniname2ctype_pool_str470[sizeof("taitham")]; + char uniname2ctype_pool_str474[sizeof("lao")]; + char uniname2ctype_pool_str475[sizeof("laoo")]; + char uniname2ctype_pool_str476[sizeof("dia")]; + char uniname2ctype_pool_str478[sizeof("idc")]; + char uniname2ctype_pool_str480[sizeof("ps")]; + char uniname2ctype_pool_str481[sizeof("insundanese")]; + char uniname2ctype_pool_str484[sizeof("pi")]; + char uniname2ctype_pool_str485[sizeof("cwl")]; + char uniname2ctype_pool_str490[sizeof("pf")]; + char uniname2ctype_pool_str495[sizeof("mand")]; + char uniname2ctype_pool_str496[sizeof("insylotinagri")]; + char uniname2ctype_pool_str497[sizeof("vs")]; + char uniname2ctype_pool_str503[sizeof("mongolian")]; + char uniname2ctype_pool_str504[sizeof("pc")]; + char uniname2ctype_pool_str506[sizeof("inmandaic")]; + char uniname2ctype_pool_str509[sizeof("invai")]; + char uniname2ctype_pool_str511[sizeof("lineseparator")]; + char uniname2ctype_pool_str514[sizeof("pe")]; + char uniname2ctype_pool_str515[sizeof("vai")]; + char uniname2ctype_pool_str516[sizeof("vaii")]; + char uniname2ctype_pool_str517[sizeof("idst")]; + char uniname2ctype_pool_str520[sizeof("indominotiles")]; + char uniname2ctype_pool_str521[sizeof("inshavian")]; + char uniname2ctype_pool_str522[sizeof("inspacingmodifierletters")]; + char uniname2ctype_pool_str524[sizeof("format")]; + char uniname2ctype_pool_str528[sizeof("inphaistosdisc")]; + char uniname2ctype_pool_str531[sizeof("hano")]; + char uniname2ctype_pool_str532[sizeof("space")]; + char uniname2ctype_pool_str542[sizeof("indeseret")]; + char uniname2ctype_pool_str545[sizeof("inolchiki")]; + char uniname2ctype_pool_str548[sizeof("hira")]; + char uniname2ctype_pool_str553[sizeof("joincontrol")]; + char uniname2ctype_pool_str555[sizeof("idcontinue")]; + char uniname2ctype_pool_str558[sizeof("inmahjongtiles")]; + char uniname2ctype_pool_str560[sizeof("patws")]; + char uniname2ctype_pool_str563[sizeof("inlydian")]; + char uniname2ctype_pool_str564[sizeof("cher")]; + char uniname2ctype_pool_str568[sizeof("inhiragana")]; + char uniname2ctype_pool_str572[sizeof("inogham")]; + char uniname2ctype_pool_str574[sizeof("avst")]; + char uniname2ctype_pool_str575[sizeof("inscriptionalpahlavi")]; + char uniname2ctype_pool_str579[sizeof("incoptic")]; + char uniname2ctype_pool_str587[sizeof("java")]; + char uniname2ctype_pool_str589[sizeof("inmathematicalalphanumericsymbols")]; + char uniname2ctype_pool_str594[sizeof("letter")]; + char uniname2ctype_pool_str604[sizeof("injavanese")]; + char uniname2ctype_pool_str608[sizeof("avestan")]; + char uniname2ctype_pool_str612[sizeof("age=1.1")]; + char uniname2ctype_pool_str613[sizeof("lepc")]; + char uniname2ctype_pool_str614[sizeof("age=2.1")]; + char uniname2ctype_pool_str616[sizeof("inlepcha")]; + char uniname2ctype_pool_str617[sizeof("javanese")]; + char uniname2ctype_pool_str618[sizeof("shaw")]; + char uniname2ctype_pool_str619[sizeof("finalpunctuation")]; + char uniname2ctype_pool_str620[sizeof("alpha")]; + char uniname2ctype_pool_str621[sizeof("age=5.1")]; + char uniname2ctype_pool_str622[sizeof("inmongolian")]; + char uniname2ctype_pool_str623[sizeof("age=5.2")]; + char uniname2ctype_pool_str626[sizeof("age=2.0")]; + char uniname2ctype_pool_str627[sizeof("ahex")]; + char uniname2ctype_pool_str630[sizeof("ingeneralpunctuation")]; + char uniname2ctype_pool_str631[sizeof("oids")]; + char uniname2ctype_pool_str632[sizeof("odi")]; + char uniname2ctype_pool_str633[sizeof("age=5.0")]; + char uniname2ctype_pool_str636[sizeof("tavt")]; + char uniname2ctype_pool_str637[sizeof("intaiviet")]; + char uniname2ctype_pool_str638[sizeof("age=6.1")]; + char uniname2ctype_pool_str639[sizeof("age=3.1")]; + char uniname2ctype_pool_str640[sizeof("insundanesesupplement")]; + char uniname2ctype_pool_str641[sizeof("age=3.2")]; + char uniname2ctype_pool_str642[sizeof("age=4.1")]; + char uniname2ctype_pool_str643[sizeof("oidc")]; + char uniname2ctype_pool_str646[sizeof("tfng")]; + char uniname2ctype_pool_str647[sizeof("insmallformvariants")]; + char uniname2ctype_pool_str648[sizeof("ideo")]; + char uniname2ctype_pool_str649[sizeof("intags")]; + char uniname2ctype_pool_str650[sizeof("age=6.0")]; + char uniname2ctype_pool_str651[sizeof("age=3.0")]; + char uniname2ctype_pool_str653[sizeof("whitespace")]; + char uniname2ctype_pool_str654[sizeof("age=4.0")]; + char uniname2ctype_pool_str655[sizeof("inolditalic")]; + char uniname2ctype_pool_str660[sizeof("oalpha")]; + char uniname2ctype_pool_str668[sizeof("ingujarati")]; + char uniname2ctype_pool_str672[sizeof("control")]; + char uniname2ctype_pool_str679[sizeof("diacritic")]; + char uniname2ctype_pool_str682[sizeof("tagbanwa")]; + char uniname2ctype_pool_str690[sizeof("inphoenician")]; + char uniname2ctype_pool_str701[sizeof("ininscriptionalparthian")]; + char uniname2ctype_pool_str703[sizeof("ininscriptionalpahlavi")]; + char uniname2ctype_pool_str704[sizeof("coptic")]; + char uniname2ctype_pool_str705[sizeof("dsrt")]; + char uniname2ctype_pool_str706[sizeof("inmodifiertoneletters")]; + char uniname2ctype_pool_str709[sizeof("xids")]; + char uniname2ctype_pool_str713[sizeof("hanunoo")]; + char uniname2ctype_pool_str715[sizeof("inoldturkic")]; + char uniname2ctype_pool_str721[sizeof("xidc")]; + char uniname2ctype_pool_str725[sizeof("idstart")]; + char uniname2ctype_pool_str729[sizeof("inimperialaramaic")]; + char uniname2ctype_pool_str730[sizeof("invariationselectors")]; + char uniname2ctype_pool_str734[sizeof("copt")]; + char uniname2ctype_pool_str737[sizeof("caseignorable")]; + char uniname2ctype_pool_str738[sizeof("prti")]; + char uniname2ctype_pool_str739[sizeof("nchar")]; + char uniname2ctype_pool_str746[sizeof("deseret")]; + char uniname2ctype_pool_str747[sizeof("decimalnumber")]; + char uniname2ctype_pool_str748[sizeof("cprt")]; + char uniname2ctype_pool_str750[sizeof("inlatin1supplement")]; + char uniname2ctype_pool_str771[sizeof("imperialaramaic")]; + char uniname2ctype_pool_str776[sizeof("privateuse")]; + char uniname2ctype_pool_str777[sizeof("casedletter")]; + char uniname2ctype_pool_str778[sizeof("lowercase")]; + char uniname2ctype_pool_str780[sizeof("spaceseparator")]; + char uniname2ctype_pool_str784[sizeof("radical")]; + char uniname2ctype_pool_str787[sizeof("mong")]; + char uniname2ctype_pool_str788[sizeof("canadianaboriginal")]; + char uniname2ctype_pool_str792[sizeof("letternumber")]; + char uniname2ctype_pool_str796[sizeof("insorasompeng")]; + char uniname2ctype_pool_str797[sizeof("dash")]; + char uniname2ctype_pool_str798[sizeof("wspace")]; + char uniname2ctype_pool_str799[sizeof("ogam")]; + char uniname2ctype_pool_str802[sizeof("invariationselectorssupplement")]; + char uniname2ctype_pool_str803[sizeof("print")]; + char uniname2ctype_pool_str811[sizeof("otheridcontinue")]; + char uniname2ctype_pool_str815[sizeof("ingurmukhi")]; + char uniname2ctype_pool_str818[sizeof("closepunctuation")]; + char uniname2ctype_pool_str823[sizeof("olditalic")]; + char uniname2ctype_pool_str824[sizeof("noncharactercodepoint")]; + char uniname2ctype_pool_str826[sizeof("sharada")]; + char uniname2ctype_pool_str827[sizeof("ingeometricshapes")]; + char uniname2ctype_pool_str830[sizeof("otheralphabetic")]; + char uniname2ctype_pool_str831[sizeof("patternwhitespace")]; + char uniname2ctype_pool_str832[sizeof("po")]; + char uniname2ctype_pool_str833[sizeof("rjng")]; + char uniname2ctype_pool_str835[sizeof("ingreekandcoptic")]; + char uniname2ctype_pool_str841[sizeof("xdigit")]; + char uniname2ctype_pool_str850[sizeof("gothic")]; + char uniname2ctype_pool_str851[sizeof("inoldsoutharabian")]; + char uniname2ctype_pool_str852[sizeof("xidstart")]; + char uniname2ctype_pool_str854[sizeof("inrejang")]; + char uniname2ctype_pool_str860[sizeof("idsbinaryoperator")]; + char uniname2ctype_pool_str867[sizeof("olower")]; + char uniname2ctype_pool_str869[sizeof("hex")]; + char uniname2ctype_pool_str870[sizeof("inenclosedideographicsupplement")]; + char uniname2ctype_pool_str874[sizeof("inalphabeticpresentationforms")]; + char uniname2ctype_pool_str879[sizeof("inbasiclatin")]; + char uniname2ctype_pool_str884[sizeof("othersymbol")]; + char uniname2ctype_pool_str889[sizeof("nd")]; + char uniname2ctype_pool_str890[sizeof("sd")]; + char uniname2ctype_pool_str900[sizeof("omath")]; + char uniname2ctype_pool_str901[sizeof("separator")]; + char uniname2ctype_pool_str907[sizeof("inarabic")]; + char uniname2ctype_pool_str912[sizeof("xidcontinue")]; + char uniname2ctype_pool_str913[sizeof("otheridstart")]; + char uniname2ctype_pool_str914[sizeof("grext")]; + char uniname2ctype_pool_str917[sizeof("otherlowercase")]; + char uniname2ctype_pool_str919[sizeof("phli")]; + char uniname2ctype_pool_str920[sizeof("cased")]; + char uniname2ctype_pool_str923[sizeof("hang")]; + char uniname2ctype_pool_str931[sizeof("xpeo")]; + char uniname2ctype_pool_str933[sizeof("lower")]; + char uniname2ctype_pool_str936[sizeof("modifierletter")]; + char uniname2ctype_pool_str938[sizeof("inphoneticextensions")]; + char uniname2ctype_pool_str939[sizeof("inarabicpresentationformsa")]; + char uniname2ctype_pool_str943[sizeof("innumberforms")]; + char uniname2ctype_pool_str945[sizeof("oldpersian")]; + char uniname2ctype_pool_str946[sizeof("incyrillicextendeda")]; + char uniname2ctype_pool_str947[sizeof("inverticalforms")]; + char uniname2ctype_pool_str949[sizeof("p")]; + char uniname2ctype_pool_str950[sizeof("inbyzantinemusicalsymbols")]; + char uniname2ctype_pool_str951[sizeof("inmathematicaloperators")]; + char uniname2ctype_pool_str952[sizeof("intibetan")]; + char uniname2ctype_pool_str953[sizeof("zp")]; + char uniname2ctype_pool_str956[sizeof("ingeorgian")]; + char uniname2ctype_pool_str960[sizeof("inbraillepatterns")]; + char uniname2ctype_pool_str962[sizeof("lepcha")]; + char uniname2ctype_pool_str963[sizeof("geor")]; + char uniname2ctype_pool_str964[sizeof("invedicextensions")]; + char uniname2ctype_pool_str965[sizeof("linb")]; + char uniname2ctype_pool_str966[sizeof("other")]; + char uniname2ctype_pool_str970[sizeof("deva")]; + char uniname2ctype_pool_str972[sizeof("indevanagari")]; + char uniname2ctype_pool_str973[sizeof("othernumber")]; + char uniname2ctype_pool_str974[sizeof("bamum")]; + char uniname2ctype_pool_str976[sizeof("shrd")]; + char uniname2ctype_pool_str977[sizeof("bali")]; + char uniname2ctype_pool_str981[sizeof("devanagari")]; + char uniname2ctype_pool_str983[sizeof("extender")]; + char uniname2ctype_pool_str988[sizeof("inherited")]; + char uniname2ctype_pool_str989[sizeof("glagolitic")]; + char uniname2ctype_pool_str990[sizeof("tibt")]; + char uniname2ctype_pool_str994[sizeof("inbalinese")]; + char uniname2ctype_pool_str996[sizeof("ingothic")]; + char uniname2ctype_pool_str997[sizeof("inmiscellaneousmathematicalsymbolsb")]; + char uniname2ctype_pool_str998[sizeof("limb")]; + char uniname2ctype_pool_str1000[sizeof("bengali")]; + char uniname2ctype_pool_str1003[sizeof("phoenician")]; + char uniname2ctype_pool_str1004[sizeof("insuperscriptsandsubscripts")]; + char uniname2ctype_pool_str1006[sizeof("inmeroitichieroglyphs")]; + char uniname2ctype_pool_str1007[sizeof("tibetan")]; + char uniname2ctype_pool_str1010[sizeof("inphoneticextensionssupplement")]; + char uniname2ctype_pool_str1016[sizeof("balinese")]; + char uniname2ctype_pool_str1021[sizeof("lowercaseletter")]; + char uniname2ctype_pool_str1031[sizeof("indingbats")]; + char uniname2ctype_pool_str1035[sizeof("inprivateusearea")]; + char uniname2ctype_pool_str1039[sizeof("assigned")]; + char uniname2ctype_pool_str1044[sizeof("patternsyntax")]; + char uniname2ctype_pool_str1051[sizeof("inhangulsyllables")]; + char uniname2ctype_pool_str1065[sizeof("sarb")]; + char uniname2ctype_pool_str1067[sizeof("brai")]; + char uniname2ctype_pool_str1069[sizeof("insupplementalmathematicaloperators")]; + char uniname2ctype_pool_str1070[sizeof("phnx")]; + char uniname2ctype_pool_str1072[sizeof("ingreekextended")]; + char uniname2ctype_pool_str1074[sizeof("otherletter")]; + char uniname2ctype_pool_str1076[sizeof("arab")]; + char uniname2ctype_pool_str1078[sizeof("inlatinextendedd")]; + char uniname2ctype_pool_str1081[sizeof("word")]; + char uniname2ctype_pool_str1084[sizeof("inphagspa")]; + char uniname2ctype_pool_str1087[sizeof("inblockelements")]; + char uniname2ctype_pool_str1092[sizeof("ethiopic")]; + char uniname2ctype_pool_str1094[sizeof("inethiopicextendeda")]; + char uniname2ctype_pool_str1107[sizeof("brahmi")]; + char uniname2ctype_pool_str1110[sizeof("logicalorderexception")]; + char uniname2ctype_pool_str1114[sizeof("inoldpersian")]; + char uniname2ctype_pool_str1129[sizeof("inletterlikesymbols")]; + char uniname2ctype_pool_str1133[sizeof("sorasompeng")]; + char uniname2ctype_pool_str1135[sizeof("hiragana")]; + char uniname2ctype_pool_str1142[sizeof("inhanguljamoextendeda")]; + char uniname2ctype_pool_str1147[sizeof("othermath")]; + char uniname2ctype_pool_str1150[sizeof("digit")]; + char uniname2ctype_pool_str1151[sizeof("goth")]; + char uniname2ctype_pool_str1156[sizeof("ogham")]; + char uniname2ctype_pool_str1162[sizeof("sundanese")]; + char uniname2ctype_pool_str1170[sizeof("saurashtra")]; + char uniname2ctype_pool_str1173[sizeof("linearb")]; + char uniname2ctype_pool_str1179[sizeof("graphemebase")]; + char uniname2ctype_pool_str1185[sizeof("inunifiedcanadianaboriginalsyllabics")]; + char uniname2ctype_pool_str1186[sizeof("cuneiform")]; + char uniname2ctype_pool_str1188[sizeof("inkannada")]; + char uniname2ctype_pool_str1190[sizeof("kana")]; + char uniname2ctype_pool_str1195[sizeof("inancientgreeknumbers")]; + char uniname2ctype_pool_str1196[sizeof("incjkstrokes")]; + char uniname2ctype_pool_str1198[sizeof("inglagolitic")]; + char uniname2ctype_pool_str1202[sizeof("inancientgreekmusicalnotation")]; + char uniname2ctype_pool_str1212[sizeof("inchakma")]; + char uniname2ctype_pool_str1215[sizeof("plrd")]; + char uniname2ctype_pool_str1219[sizeof("inbrahmi")]; + char uniname2ctype_pool_str1224[sizeof("cakm")]; + char uniname2ctype_pool_str1225[sizeof("incjkcompatibilityforms")]; + char uniname2ctype_pool_str1229[sizeof("lisu")]; + char uniname2ctype_pool_str1230[sizeof("incjkcompatibilityideographs")]; + char uniname2ctype_pool_str1231[sizeof("intagalog")]; + char uniname2ctype_pool_str1244[sizeof("inkaithi")]; + char uniname2ctype_pool_str1245[sizeof("insupplementalarrowsa")]; + char uniname2ctype_pool_str1249[sizeof("takri")]; + char uniname2ctype_pool_str1253[sizeof("ideographic")]; + char uniname2ctype_pool_str1256[sizeof("hexdigit")]; + char uniname2ctype_pool_str1259[sizeof("glag")]; + char uniname2ctype_pool_str1261[sizeof("softdotted")]; + char uniname2ctype_pool_str1262[sizeof("variationselector")]; + char uniname2ctype_pool_str1264[sizeof("inkatakana")]; + char uniname2ctype_pool_str1265[sizeof("meeteimayek")]; + char uniname2ctype_pool_str1274[sizeof("otherpunctuation")]; + char uniname2ctype_pool_str1279[sizeof("inhanguljamo")]; + char uniname2ctype_pool_str1282[sizeof("kali")]; + char uniname2ctype_pool_str1289[sizeof("braille")]; + char uniname2ctype_pool_str1298[sizeof("incombininghalfmarks")]; + char uniname2ctype_pool_str1300[sizeof("talu")]; + char uniname2ctype_pool_str1302[sizeof("incjkcompatibilityideographssupplement")]; + char uniname2ctype_pool_str1306[sizeof("telu")]; + char uniname2ctype_pool_str1307[sizeof("idsb")]; + char uniname2ctype_pool_str1310[sizeof("tglg")]; + char uniname2ctype_pool_str1313[sizeof("inmeeteimayek")]; + char uniname2ctype_pool_str1315[sizeof("yi")]; + char uniname2ctype_pool_str1318[sizeof("phagspa")]; + char uniname2ctype_pool_str1321[sizeof("yiii")]; + char uniname2ctype_pool_str1323[sizeof("inarabicmathematicalalphabeticsymbols")]; + char uniname2ctype_pool_str1328[sizeof("saur")]; + char uniname2ctype_pool_str1330[sizeof("ogrext")]; + char uniname2ctype_pool_str1334[sizeof("bidic")]; + char uniname2ctype_pool_str1341[sizeof("inkanasupplement")]; + char uniname2ctype_pool_str1343[sizeof("runic")]; + char uniname2ctype_pool_str1344[sizeof("inalchemicalsymbols")]; + char uniname2ctype_pool_str1350[sizeof("georgian")]; + char uniname2ctype_pool_str1351[sizeof("inugaritic")]; + char uniname2ctype_pool_str1354[sizeof("insaurashtra")]; + char uniname2ctype_pool_str1356[sizeof("inhighprivateusesurrogates")]; + char uniname2ctype_pool_str1362[sizeof("pd")]; + char uniname2ctype_pool_str1372[sizeof("incountingrodnumerals")]; + char uniname2ctype_pool_str1377[sizeof("inarabicextendeda")]; + char uniname2ctype_pool_str1389[sizeof("inkharoshthi")]; + char uniname2ctype_pool_str1393[sizeof("idstrinaryoperator")]; + char uniname2ctype_pool_str1396[sizeof("phag")]; + char uniname2ctype_pool_str1398[sizeof("brah")]; + char uniname2ctype_pool_str1402[sizeof("mark")]; + char uniname2ctype_pool_str1404[sizeof("hebr")]; + char uniname2ctype_pool_str1411[sizeof("inkhmersymbols")]; + char uniname2ctype_pool_str1413[sizeof("dep")]; + char uniname2ctype_pool_str1416[sizeof("inkhmer")]; + char uniname2ctype_pool_str1422[sizeof("deprecated")]; + char uniname2ctype_pool_str1424[sizeof("rejang")]; + char uniname2ctype_pool_str1429[sizeof("lyci")]; + char uniname2ctype_pool_str1431[sizeof("intakri")]; + char uniname2ctype_pool_str1432[sizeof("takr")]; + char uniname2ctype_pool_str1435[sizeof("incyrillicsupplement")]; + char uniname2ctype_pool_str1436[sizeof("changeswhencasefolded")]; + char uniname2ctype_pool_str1438[sizeof("indevanagariextended")]; + char uniname2ctype_pool_str1442[sizeof("lycian")]; + char uniname2ctype_pool_str1443[sizeof("inbengali")]; + char uniname2ctype_pool_str1448[sizeof("beng")]; + char uniname2ctype_pool_str1450[sizeof("graph")]; + char uniname2ctype_pool_str1452[sizeof("inyijinghexagramsymbols")]; + char uniname2ctype_pool_str1457[sizeof("olck")]; + char uniname2ctype_pool_str1460[sizeof("inarabicsupplement")]; + char uniname2ctype_pool_str1462[sizeof("inbuginese")]; + char uniname2ctype_pool_str1463[sizeof("changeswhencasemapped")]; + char uniname2ctype_pool_str1468[sizeof("olchiki")]; + char uniname2ctype_pool_str1478[sizeof("inaegeannumbers")]; + char uniname2ctype_pool_str1479[sizeof("mlym")]; + char uniname2ctype_pool_str1480[sizeof("alphabetic")]; + char uniname2ctype_pool_str1492[sizeof("sylotinagri")]; + char uniname2ctype_pool_str1498[sizeof("changeswhentitlecased")]; + char uniname2ctype_pool_str1504[sizeof("tagalog")]; + char uniname2ctype_pool_str1505[sizeof("tagb")]; + char uniname2ctype_pool_str1506[sizeof("runr")]; + char uniname2ctype_pool_str1510[sizeof("malayalam")]; + char uniname2ctype_pool_str1512[sizeof("inoriya")]; + char uniname2ctype_pool_str1516[sizeof("intagbanwa")]; + char uniname2ctype_pool_str1517[sizeof("syrc")]; + char uniname2ctype_pool_str1519[sizeof("nko")]; + char uniname2ctype_pool_str1520[sizeof("nkoo")]; + char uniname2ctype_pool_str1523[sizeof("inethiopicextended")]; + char uniname2ctype_pool_str1525[sizeof("kaithi")]; + char uniname2ctype_pool_str1530[sizeof("mathsymbol")]; + char uniname2ctype_pool_str1531[sizeof("inyiradicals")]; + char uniname2ctype_pool_str1536[sizeof("insupplementaryprivateuseareaa")]; + char uniname2ctype_pool_str1540[sizeof("osmanya")]; + char uniname2ctype_pool_str1546[sizeof("syriac")]; + char uniname2ctype_pool_str1548[sizeof("otherdefaultignorablecodepoint")]; + char uniname2ctype_pool_str1561[sizeof("number")]; + char uniname2ctype_pool_str1565[sizeof("inlinearbsyllabary")]; + char uniname2ctype_pool_str1566[sizeof("kthi")]; + char uniname2ctype_pool_str1567[sizeof("sund")]; + char uniname2ctype_pool_str1569[sizeof("mymr")]; + char uniname2ctype_pool_str1571[sizeof("incombiningdiacriticalmarks")]; + char uniname2ctype_pool_str1578[sizeof("enclosingmark")]; + char uniname2ctype_pool_str1581[sizeof("incombiningdiacriticalmarksforsymbols")]; + char uniname2ctype_pool_str1583[sizeof("inethiopicsupplement")]; + char uniname2ctype_pool_str1590[sizeof("unassigned")]; + char uniname2ctype_pool_str1591[sizeof("sylo")]; + char uniname2ctype_pool_str1595[sizeof("combiningmark")]; + char uniname2ctype_pool_str1598[sizeof("myanmar")]; + char uniname2ctype_pool_str1605[sizeof("graphemeextend")]; + char uniname2ctype_pool_str1606[sizeof("bidicontrol")]; + char uniname2ctype_pool_str1609[sizeof("inhalfwidthandfullwidthforms")]; + char uniname2ctype_pool_str1617[sizeof("cyrl")]; + char uniname2ctype_pool_str1620[sizeof("knda")]; + char uniname2ctype_pool_str1634[sizeof("inunifiedcanadianaboriginalsyllabicsextended")]; + char uniname2ctype_pool_str1635[sizeof("xsux")]; + char uniname2ctype_pool_str1636[sizeof("modifiersymbol")]; + char uniname2ctype_pool_str1643[sizeof("incombiningdiacriticalmarkssupplement")]; + char uniname2ctype_pool_str1645[sizeof("inhanunoo")]; + char uniname2ctype_pool_str1648[sizeof("inbuhid")]; + char uniname2ctype_pool_str1649[sizeof("kannada")]; + char uniname2ctype_pool_str1658[sizeof("inhebrew")]; + char uniname2ctype_pool_str1662[sizeof("grbase")]; + char uniname2ctype_pool_str1664[sizeof("spacingmark")]; + char uniname2ctype_pool_str1670[sizeof("inkatakanaphoneticextensions")]; + char uniname2ctype_pool_str1676[sizeof("hangul")]; + char uniname2ctype_pool_str1683[sizeof("incjksymbolsandpunctuation")]; + char uniname2ctype_pool_str1688[sizeof("bopo")]; + char uniname2ctype_pool_str1692[sizeof("orya")]; + char uniname2ctype_pool_str1699[sizeof("inbopomofo")]; + char uniname2ctype_pool_str1701[sizeof("kharoshthi")]; + char uniname2ctype_pool_str1703[sizeof("khar")]; + char uniname2ctype_pool_str1709[sizeof("changeswhenlowercased")]; + char uniname2ctype_pool_str1724[sizeof("khmr")]; + char uniname2ctype_pool_str1725[sizeof("punct")]; + char uniname2ctype_pool_str1729[sizeof("symbol")]; + char uniname2ctype_pool_str1732[sizeof("cherokee")]; + char uniname2ctype_pool_str1737[sizeof("cyrillic")]; + char uniname2ctype_pool_str1759[sizeof("inkangxiradicals")]; + char uniname2ctype_pool_str1761[sizeof("hebrew")]; + char uniname2ctype_pool_str1780[sizeof("inarabicpresentationformsb")]; + char uniname2ctype_pool_str1787[sizeof("incyrillicextendedb")]; + char uniname2ctype_pool_str1790[sizeof("ugaritic")]; + char uniname2ctype_pool_str1829[sizeof("incurrencysymbols")]; + char uniname2ctype_pool_str1831[sizeof("meroitichieroglyphs")]; + char uniname2ctype_pool_str1835[sizeof("inhighsurrogates")]; + char uniname2ctype_pool_str1853[sizeof("nonspacingmark")]; + char uniname2ctype_pool_str1858[sizeof("lydi")]; + char uniname2ctype_pool_str1864[sizeof("patsyn")]; + char uniname2ctype_pool_str1868[sizeof("orkh")]; + char uniname2ctype_pool_str1871[sizeof("lydian")]; + char uniname2ctype_pool_str1896[sizeof("ugar")]; + char uniname2ctype_pool_str1899[sizeof("othergraphemeextend")]; + char uniname2ctype_pool_str1900[sizeof("inlatinextendedb")]; + char uniname2ctype_pool_str1904[sizeof("bopomofo")]; + char uniname2ctype_pool_str1917[sizeof("khmer")]; + char uniname2ctype_pool_str1925[sizeof("uideo")]; + char uniname2ctype_pool_str1932[sizeof("otheruppercase")]; + char uniname2ctype_pool_str1944[sizeof("grek")]; + char uniname2ctype_pool_str1949[sizeof("gujr")]; + char uniname2ctype_pool_str1970[sizeof("gujarati")]; + char uniname2ctype_pool_str1983[sizeof("inhanguljamoextendedb")]; + char uniname2ctype_pool_str1988[sizeof("defaultignorablecodepoint")]; + char uniname2ctype_pool_str2005[sizeof("inplayingcards")]; + char uniname2ctype_pool_str2022[sizeof("bamu")]; + char uniname2ctype_pool_str2028[sizeof("inkanbun")]; + char uniname2ctype_pool_str2033[sizeof("incjkradicalssupplement")]; + char uniname2ctype_pool_str2046[sizeof("cypriot")]; + char uniname2ctype_pool_str2051[sizeof("inbamum")]; + char uniname2ctype_pool_str2053[sizeof("inmeroiticcursive")]; + char uniname2ctype_pool_str2055[sizeof("oldturkic")]; + char uniname2ctype_pool_str2086[sizeof("insupplementalarrowsb")]; + char uniname2ctype_pool_str2087[sizeof("surrogate")]; + char uniname2ctype_pool_str2094[sizeof("batk")]; + char uniname2ctype_pool_str2102[sizeof("inbatak")]; + char uniname2ctype_pool_str2119[sizeof("inlimbu")]; + char uniname2ctype_pool_str2123[sizeof("incypriotsyllabary")]; + char uniname2ctype_pool_str2129[sizeof("dashpunctuation")]; + char uniname2ctype_pool_str2130[sizeof("innoblock")]; + char uniname2ctype_pool_str2141[sizeof("hyphen")]; + char uniname2ctype_pool_str2162[sizeof("insupplementalpunctuation")]; + char uniname2ctype_pool_str2165[sizeof("ingeorgiansupplement")]; + char uniname2ctype_pool_str2178[sizeof("oupper")]; + char uniname2ctype_pool_str2189[sizeof("paragraphseparator")]; + char uniname2ctype_pool_str2194[sizeof("inbamumsupplement")]; + char uniname2ctype_pool_str2299[sizeof("uppercase")]; + char uniname2ctype_pool_str2313[sizeof("currencysymbol")]; + char uniname2ctype_pool_str2322[sizeof("sk")]; + char uniname2ctype_pool_str2338[sizeof("lu")]; + char uniname2ctype_pool_str2342[sizeof("openpunctuation")]; + char uniname2ctype_pool_str2349[sizeof("inlisu")]; + char uniname2ctype_pool_str2371[sizeof("qmark")]; + char uniname2ctype_pool_str2372[sizeof("egyp")]; + char uniname2ctype_pool_str2377[sizeof("insupplementaryprivateuseareab")]; + char uniname2ctype_pool_str2379[sizeof("limbu")]; + char uniname2ctype_pool_str2400[sizeof("inegyptianhieroglyphs")]; + char uniname2ctype_pool_str2401[sizeof("unifiedideograph")]; + char uniname2ctype_pool_str2413[sizeof("intelugu")]; + char uniname2ctype_pool_str2429[sizeof("katakana")]; + char uniname2ctype_pool_str2442[sizeof("inhangulcompatibilityjamo")]; + char uniname2ctype_pool_str2454[sizeof("upper")]; + char uniname2ctype_pool_str2495[sizeof("inkayahli")]; + char uniname2ctype_pool_str2515[sizeof("cwu")]; + char uniname2ctype_pool_str2523[sizeof("incjkcompatibility")]; + char uniname2ctype_pool_str2542[sizeof("uppercaseletter")]; + char uniname2ctype_pool_str2549[sizeof("bugi")]; + char uniname2ctype_pool_str2588[sizeof("buginese")]; + char uniname2ctype_pool_str2627[sizeof("any")]; + char uniname2ctype_pool_str2651[sizeof("inyisyllables")]; + char uniname2ctype_pool_str2671[sizeof("inbopomofoextended")]; + char uniname2ctype_pool_str2710[sizeof("inboxdrawing")]; + char uniname2ctype_pool_str2724[sizeof("changeswhenuppercased")]; + char uniname2ctype_pool_str2727[sizeof("unknown")]; + char uniname2ctype_pool_str2737[sizeof("quotationmark")]; + char uniname2ctype_pool_str2753[sizeof("buhd")]; + char uniname2ctype_pool_str2785[sizeof("punctuation")]; + char uniname2ctype_pool_str2888[sizeof("oldsoutharabian")]; + char uniname2ctype_pool_str2925[sizeof("kayahli")]; + char uniname2ctype_pool_str2940[sizeof("incjkunifiedideographs")]; + char uniname2ctype_pool_str2961[sizeof("incjkunifiedideographsextensiona")]; + char uniname2ctype_pool_str2962[sizeof("incjkunifiedideographsextensionc")]; + char uniname2ctype_pool_str2995[sizeof("telugu")]; + char uniname2ctype_pool_str3000[sizeof("guru")]; + char uniname2ctype_pool_str3104[sizeof("greek")]; + char uniname2ctype_pool_str3189[sizeof("grlink")]; + char uniname2ctype_pool_str3197[sizeof("buhid")]; + char uniname2ctype_pool_str3254[sizeof("batak")]; + char uniname2ctype_pool_str3292[sizeof("blank")]; + char uniname2ctype_pool_str3391[sizeof("incjkunifiedideographsextensiond")]; + char uniname2ctype_pool_str3459[sizeof("graphemelink")]; + char uniname2ctype_pool_str3480[sizeof("egyptianhieroglyphs")]; + char uniname2ctype_pool_str3802[sizeof("incjkunifiedideographsextensionb")]; + char uniname2ctype_pool_str3922[sizeof("zyyy")]; + char uniname2ctype_pool_str4167[sizeof("gurmukhi")]; #endif /* USE_UNICODE_PROPERTIES */ }; static const struct uniname2ctype_pool_t uniname2ctype_pool_contents = { #ifndef USE_UNICODE_PROPERTIES + "word", "print", "punct", + "alpha", + "alnum", + "xdigit", + "upper", #else /* USE_UNICODE_PROPERTIES */ "n", - "l", - "nl", - "ll", + "s", + "z", + "zs", + "zzzz", "cn", - "no", - "lo", - "c", - "co", - "cc", - "lao", - "laoo", - "lana", + "cs", "ci", - "qaac", - "vai", - "vaii", - "qaai", - "control", - "cari", - "carian", - "zl", - "oriya", - "latn", - "cntrl", - "latin", - "han", - "arabic", - "ital", - "hano", - "hani", - "hanunoo", - "lt", - "so", - "hira", - "nchar", + "c", + "cf", "sc", - "z", - "oalpha", - "tavt", "cans", - "java", - "zinh", - "thaa", - "thai", - "variationselector", - "sinhala", - "joinc", - "ascii", - "initialpunctuation", - "other", - "joincontrol", - "thaana", - "avst", - "olower", - "othernumber", - "otherletter", - "sinh", - "tale", - "connectorpunctuation", - "s", - "di", - "vs", - "oidc", - "idc", - "odi", - "cs", - "avestan", - "dia", - "cher", - "inscriptionalparthian", - "shavian", - "radical", - "loe", - "diacritic", - "zzzz", - "ethi", - "canadianaboriginal", - "zs", - "othersymbol", - "olditalic", - "inscriptionalpahlavi", - "taiviet", - "lineseparator", - "otheridstart", - "oids", - "asciihexdigit", - "inherited", - "otherlowercase", - "terminalpunctuation", - "deva", - "otheralphabetic", - "ideo", - "noncharactercodepoint", - "otheridcontinue", - "taile", - "oldpersian", - "devanagari", - "letter", - "nd", - "idst", - "dsrt", - "titlecaseletter", - "po", - "dash", - "pc", - "letternumber", - "pi", - "javanese", + "qaai", "mn", - "idstart", - "idcontinue", - "ids", #endif /* USE_UNICODE_PROPERTIES */ - "alpha", + "ascii", #ifdef USE_UNICODE_PROPERTIES + "cc", + "qaac", + "inavestan", + "inspecials", + "inipaextensions", "mc", - "coptic", - "mongolian", - "common", + "insamaritan", + "m", + "sm", + "me", + "inarmenian", + "incuneiform", + "mandaic", + "inancientsymbols", + "incuneiformnumbersandpunctuation", + "inthai", + "inmusicalsymbols", + "inmiscellaneoussymbols", + "incham", + "inmiscellaneoussymbolsandarrows", + "initialpunctuation", + "inmiscellaneoussymbolsandpictographs", + "inthaana", + "taile", + "mtei", + "lc", + "lana", + "inlycian", + "intransportandmapsymbols", + "incontrolpictures", + "sinhala", + "incommonindicnumberforms", + "inmiscellaneousmathematicalsymbolsa", + "sterm", + "inmyanmarextendeda", + "lm", + "taiviet", + "inlinearbideograms", + "intaitham", + "latn", + "latin", + "ital", + "alnum", + "inmalayalam", + "intaile", + "tale", + "l", + "nl", + "zl", + "intamil", + "taml", + "inlatinextendeda", + "inlatinextendedc", + "inrunic", + "incarian", + "insyriac", + "cari", + "inmeeteimayekextensions", + "osma", + "lt", + "miao", + "insharada", + "incyrillic", + "carian", "armn", - "copt", - "cprt", + "samr", "armi", - "phli", - "prti", + "inideographicdescriptioncharacters", + "inosmanya", "armenian", - "sd", - "mandaic", - "phoenician", - "taml", + "inmyanmar", + "samaritan", + "arabic", + "incherokee", + "connectorpunctuation", + "merc", + "inmiscellaneoustechnical", + "inenclosedalphanumerics", + "inemoticons", + "joinc", +#endif /* USE_UNICODE_PROPERTIES */ + "cntrl", +#ifdef USE_UNICODE_PROPERTIES + "inenclosedcjklettersandmonths", + "cwcf", + "inruminumeralsymbols", + "ll", + "term", + "inlatinextendedadditional", "tamil", - "cased", + "loe", + "newtailue", + "cwcm", + "inenclosedalphanumericsupplement", + "sinh", + "zinh", + "meroiticcursive", + "han", + "hani", + "inopticalcharacterrecognition", + "no", + "so", + "innewtailue", + "insinhala", + "innko", + "co", + "shavian", + "terminalpunctuation", + "intaixuanjingsymbols", + "inethiopic", + "sora", + "inarrows", "cham", - "idsbinaryoperator", - "lepc", - "otherdefaultignorablecodepoint", - "print", - "osma", - "samr", + "inlowsurrogates", + "oriya", + "ext", + "cwt", + "common", + "inmiao", + "thai", + "intifinagh", + "ethi", + "mero", + "chakma", + "thaa", + "inscriptionalparthian", + "tifinagh", + "titlecaseletter", + "thaana", + "asciihexdigit", "math", - "linb", - "closepunctuation", - "otherpunctuation", - "bali", - "omath", - "samaritan", - "ps", - "arab", - "brai", + "di", + "ids", + "lo", + "inlao", "taitham", - "linearb", - "lepcha", + "lao", + "laoo", + "dia", + "idc", + "ps", + "insundanese", + "pi", + "cwl", + "pf", "mand", - "mtei", - "term", - "glagolitic", - "privateuse", + "insylotinagri", + "vs", + "mongolian", + "pc", + "inmandaic", + "invai", + "lineseparator", "pe", - "deseret", - "brah", - "runr", - "othermath", - "runic", - "hang", - "ethiopic", - "me", + "vai", + "vaii", + "idst", + "indominotiles", + "inshavian", + "inspacingmodifierletters", + "format", + "inphaistosdisc", + "hano", +#endif /* USE_UNICODE_PROPERTIES */ + "space", +#ifdef USE_UNICODE_PROPERTIES + "indeseret", + "inolchiki", + "hira", + "joincontrol", + "idcontinue", + "inmahjongtiles", "patws", - "separator", - "tibt", - "gothic", - "tagbanwa", - "sarb", - "talu", - "tibetan", - "goth", - "rjng", - "hangul", - "bengali", - "hiragana", - "braille", - "geor", + "inlydian", + "cher", + "inhiragana", + "inogham", + "avst", + "inscriptionalpahlavi", + "incoptic", + "java", + "inmathematicalalphanumericsymbols", + "letter", + "injavanese", + "avestan", "age=1.1", + "lepc", "age=2.1", + "inlepcha", + "javanese", + "shaw", + "finalpunctuation", + "alpha", "age=5.1", + "inmongolian", "age=5.2", - "age=4.1", - "p", - "pd", - "lisu", "age=2.0", + "ahex", + "ingeneralpunctuation", + "oids", + "odi", "age=5.0", - "age=6.0", - "age=4.0", - "graph", - "saur", - "space", + "tavt", + "intaiviet", + "age=6.1", "age=3.1", + "insundanesesupplement", "age=3.2", - "hebr", - "bidic", + "age=4.1", + "oidc", + "tfng", + "insmallformvariants", + "ideo", + "intags", + "age=6.0", "age=3.0", - "bidicontrol", - "logicalorderexception", - "telu", - "zp", - "m", - "lm", - "idstrinaryoperator", - "balinese", - "uideo", - "spaceseparator", - "grext", -#endif /* USE_UNICODE_PROPERTIES */ - "alnum", -#ifdef USE_UNICODE_PROPERTIES - "oldturkic", + "whitespace", + "age=4.0", + "inolditalic", + "oalpha", + "ingujarati", + "control", + "diacritic", + "tagbanwa", + "inphoenician", + "ininscriptionalparthian", + "ininscriptionalpahlavi", + "coptic", + "dsrt", + "inmodifiertoneletters", + "xids", + "hanunoo", + "inoldturkic", "xidc", - "idsb", - "ahex", - "format", + "idstart", + "inimperialaramaic", + "invariationselectors", + "copt", "caseignorable", - "tifinagh", - "sundanese", - "ext", - "saurashtra", - "patternwhitespace", - "digit", - "sund", + "prti", + "nchar", + "deseret", "decimalnumber", - "bopo", - "sm", - "otheruppercase", - "ideographic", - "xids", - "unassigned", - "phagspa", - "alphabetic", - "limb", -#endif /* USE_UNICODE_PROPERTIES */ + "cprt", + "inlatin1supplement", + "imperialaramaic", + "privateuse", + "casedletter", + "lowercase", + "spaceseparator", + "radical", + "mong", + "canadianaboriginal", + "letternumber", + "insorasompeng", + "dash", + "wspace", + "ogam", + "invariationselectorssupplement", + "print", + "otheridcontinue", + "ingurmukhi", + "closepunctuation", + "olditalic", + "noncharactercodepoint", + "sharada", + "ingeometricshapes", + "otheralphabetic", + "patternwhitespace", + "po", + "rjng", + "ingreekandcoptic", "xdigit", -#ifdef USE_UNICODE_PROPERTIES + "gothic", + "inoldsoutharabian", "xidstart", - "mong", + "inrejang", + "idsbinaryoperator", + "olower", + "hex", + "inenclosedideographicsupplement", + "inalphabeticpresentationforms", + "inbasiclatin", + "othersymbol", + "nd", + "sd", + "omath", + "separator", + "inarabic", "xidcontinue", + "otheridstart", + "grext", + "otherlowercase", + "phli", + "cased", + "hang", + "xpeo", +#endif /* USE_UNICODE_PROPERTIES */ + "lower", +#ifndef USE_UNICODE_PROPERTIES + "graph", +#else /* USE_UNICODE_PROPERTIES */ + "modifierletter", + "inphoneticextensions", + "inarabicpresentationformsa", + "innumberforms", + "oldpersian", + "incyrillicextendeda", + "inverticalforms", + "p", + "inbyzantinemusicalsymbols", + "inmathematicaloperators", + "intibetan", + "zp", + "ingeorgian", + "inbraillepatterns", + "lepcha", + "geor", + "invedicextensions", + "linb", + "other", + "deva", + "indevanagari", + "othernumber", + "bamum", + "shrd", + "bali", + "devanagari", + "extender", + "inherited", + "glagolitic", + "tibt", + "inbalinese", + "ingothic", + "inmiscellaneousmathematicalsymbolsb", + "limb", + "bengali", + "phoenician", + "insuperscriptsandsubscripts", + "inmeroitichieroglyphs", + "tibetan", + "inphoneticextensionssupplement", + "balinese", + "lowercaseletter", + "indingbats", + "inprivateusearea", "assigned", - "ogam", - "nko", - "nkoo", - "olck", - "deprecated", + "patternsyntax", + "inhangulsyllables", + "sarb", + "brai", + "insupplementalmathematicaloperators", + "phnx", + "ingreekextended", + "otherletter", + "arab", + "inlatinextendedd", + "word", + "inphagspa", + "inblockelements", + "ethiopic", + "inethiopicextendeda", "brahmi", - "phag", + "logicalorderexception", + "inoldpersian", + "inletterlikesymbols", + "sorasompeng", + "hiragana", + "inhanguljamoextendeda", + "othermath", +#endif /* USE_UNICODE_PROPERTIES */ + "digit", +#ifndef USE_UNICODE_PROPERTIES + "blank" +#else /* USE_UNICODE_PROPERTIES */ + "goth", + "ogham", + "sundanese", + "saurashtra", + "linearb", + "graphemebase", + "inunifiedcanadianaboriginalsyllabics", + "cuneiform", + "inkannada", "kana", + "inancientgreeknumbers", + "incjkstrokes", + "inglagolitic", + "inancientgreekmusicalnotation", + "inchakma", + "plrd", + "inbrahmi", + "cakm", + "incjkcompatibilityforms", + "lisu", + "incjkcompatibilityideographs", + "intagalog", + "inkaithi", + "insupplementalarrowsa", + "takri", + "ideographic", + "hexdigit", + "glag", + "softdotted", + "variationselector", + "inkatakana", + "meeteimayek", + "otherpunctuation", + "inhanguljamo", "kali", - "changeswhenlowercased", - "extender", - "dep", - "olchiki", - "cwl", - "graphemebase", - "phnx", - "orkh", - "punct", - "khar", - "lower", - "sterm", + "braille", + "incombininghalfmarks", + "talu", + "incjkcompatibilityideographssupplement", + "telu", + "idsb", + "tglg", + "inmeeteimayek", "yi", + "phagspa", + "yiii", + "inarabicmathematicalalphabeticsymbols", + "saur", + "ogrext", + "bidic", + "inkanasupplement", + "runic", + "inalchemicalsymbols", + "georgian", + "inugaritic", + "insaurashtra", + "inhighprivateusesurrogates", + "pd", + "incountingrodnumerals", + "inarabicextendeda", + "inkharoshthi", + "idstrinaryoperator", + "phag", + "brah", + "mark", + "hebr", + "inkhmersymbols", + "dep", + "inkhmer", + "deprecated", + "rejang", "lyci", - "cyrl", + "intakri", + "takr", + "incyrillicsupplement", + "changeswhencasefolded", + "indevanagariextended", "lycian", - "finalpunctuation", - "orya", - "graphemeextend", - "kaithi", - "xpeo", - "yiii", - "kthi", - "cyrillic", - "glag", - "oupper", - "tagb", - "cwt", - "number", - "tglg", - "knda", - "lowercaseletter", + "inbengali", + "beng", + "graph", + "inyijinghexagramsymbols", + "olck", + "inarabicsupplement", + "inbuginese", + "changeswhencasemapped", + "olchiki", + "inaegeannumbers", + "mlym", + "alphabetic", + "sylotinagri", "changeswhentitlecased", - "softdotted", - "ugar", - "sylo", - "lu", "tagalog", - "kharoshthi", + "tagb", + "runr", + "malayalam", + "inoriya", + "intagbanwa", "syrc", - "kannada", - "beng", - "lowercase", - "shaw", - "patternsyntax", + "nko", + "nkoo", + "inethiopicextended", + "kaithi", + "mathsymbol", + "inyiradicals", + "insupplementaryprivateuseareaa", + "osmanya", "syriac", - "word", - "imperialaramaic", - "ugaritic", + "otherdefaultignorablecodepoint", + "number", + "inlinearbsyllabary", + "kthi", + "sund", + "mymr", + "incombiningdiacriticalmarks", "enclosingmark", - "georgian", + "incombiningdiacriticalmarksforsymbols", + "inethiopicsupplement", + "unassigned", + "sylo", + "combiningmark", + "myanmar", + "graphemeextend", + "bidicontrol", + "inhalfwidthandfullwidthforms", + "cyrl", + "knda", + "inunifiedcanadianaboriginalsyllabicsextended", + "xsux", + "modifiersymbol", + "incombiningdiacriticalmarkssupplement", + "inhanunoo", + "inbuhid", + "kannada", + "inhebrew", + "grbase", + "spacingmark", + "inkatakanaphoneticextensions", + "hangul", + "incjksymbolsandpunctuation", + "bopo", + "orya", + "inbopomofo", + "kharoshthi", + "khar", + "changeswhenlowercased", + "khmr", + "punct", + "symbol", + "cherokee", + "cyrillic", + "inkangxiradicals", + "hebrew", + "inarabicpresentationformsb", + "incyrillicextendedb", + "ugaritic", + "incurrencysymbols", + "meroitichieroglyphs", + "inhighsurrogates", + "nonspacingmark", "lydi", + "patsyn", + "orkh", "lydian", - "sylotinagri", - "gujr", - "tfng", - "currencysymbol", -#endif /* USE_UNICODE_PROPERTIES */ - "newline", -#ifdef USE_UNICODE_PROPERTIES + "ugar", + "othergraphemeextend", + "inlatinextendedb", "bopomofo", - "ogrext", - "cherokee", + "khmer", + "uideo", + "otheruppercase", + "grek", + "gujr", "gujarati", - "newtailue", - "dashpunctuation", - "oldsoutharabian", -#endif /* USE_UNICODE_PROPERTIES */ - "upper", -#ifndef USE_UNICODE_PROPERTIES - "ascii", - "cntrl", - "space", - "word", - "lower", - "graph", - "digit", - "blank" -#else /* USE_UNICODE_PROPERTIES */ - "cf", - "buhd", - "rejang", - "othergraphemeextend", - "modifierletter", - "nonspacingmark", - "changeswhencasemapped", - "mark", + "inhanguljamoextendedb", + "defaultignorablecodepoint", + "inplayingcards", + "bamu", + "inkanbun", + "incjkradicalssupplement", + "cypriot", + "inbamum", + "inmeroiticcursive", + "oldturkic", + "insupplementalarrowsb", "surrogate", + "batk", + "inbatak", + "inlimbu", + "incypriotsyllabary", + "dashpunctuation", + "innoblock", + "hyphen", + "insupplementalpunctuation", + "ingeorgiansupplement", + "oupper", "paragraphseparator", - "ogham", - "hex", - "uppercaseletter", - "hexdigit", - "cwcm", - "grbase", - "khmr", - "unifiedideograph", + "inbamumsupplement", "uppercase", - "khmer", - "spacingmark", - "whitespace", - "patsyn", - "cypriot", + "currencysymbol", + "sk", + "lu", "openpunctuation", - "bamu", - "buhid", - "batk", - "symbol", - "changeswhenuppercased", - "osmanya", + "inlisu", + "qmark", + "egyp", + "insupplementaryprivateuseareab", "limbu", - "punctuation", - "hyphen", - "mathsymbol", - "grek", - "changeswhencasefolded", - "quotationmark", + "inegyptianhieroglyphs", + "unifiedideograph", + "intelugu", + "katakana", + "inhangulcompatibilityjamo", + "upper", + "inkayahli", + "cwu", + "incjkcompatibility", + "uppercaseletter", "bugi", - "cuneiform", - "pf", - "cwcf", - "bamum", - "guru", - "wspace", - "meeteimayek", - "defaultignorablecodepoint", - "modifiersymbol", - "mlym", - "mymr", - "malayalam", - "myanmar", - "telugu", "buginese", - "xsux", - "sk", - "katakana", - "egyp", "any", - "kayahli", - "cwu", - "qmark", - "blank", - "grlink", - "batak", + "inyisyllables", + "inbopomofoextended", + "inboxdrawing", + "changeswhenuppercased", "unknown", + "quotationmark", + "buhd", + "punctuation", + "oldsoutharabian", + "kayahli", + "incjkunifiedideographs", + "incjkunifiedideographsextensiona", + "incjkunifiedideographsextensionc", + "telugu", + "guru", "greek", + "grlink", + "buhid", + "batak", + "blank", + "incjkunifiedideographsextensiond", "graphemelink", - "gurmukhi", - "hebrew", "egyptianhieroglyphs", - "zyyy" + "incjkunifiedideographsextensionb", + "zyyy", + "gurmukhi" #endif /* USE_UNICODE_PROPERTIES */ }; #define uniname2ctype_pool ((const char *) &uniname2ctype_pool_contents) @@ -23121,681 +27365,1288 @@ uniname2ctype_p (str, len) { #ifdef USE_UNICODE_PROPERTIES {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3, 33}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3, 34}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str5, 23}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str5, 46}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str7, 35}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str8, 24}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str7, 51}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str10, 20}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str11, 36}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str12, 26}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 17}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 21}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str9, 54}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 208}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str18, 20}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str20, 22}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str20, 18}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str21, 93}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str22, 93}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str23, 150}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str24, 60}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str29, 17}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str30, 19}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str32, 47}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str34, 101}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str35, 114}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str26, 59}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str38, 33}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str42, 14}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str44, 18}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str45, 128}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str49, 401}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str29, 127}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str30, 142}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str31, 142}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str32, 113}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str52, 377}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str62, 226}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str34, 18}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str64, 31}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str66, 239}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str37, 147}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str69, 30}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str40, 147}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str72, 49}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str74, 32}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str82, 232}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str42, 51}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str84, 412}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str44, 86}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str86, 168}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str90, 382}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str46, 74}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str47, 3}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str48, 74}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str92, 413}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str96, 252}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str99, 419}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str100, 304}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str106, 355}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str51, 108}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str109, 312}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str113, 43}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str114, 430}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str116, 237}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str124, 120}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str125, 159}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str132, 24}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str133, 151}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str134, 384}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str135, 432}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str136, 298}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str142, 92}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str151, 347}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str156, 306}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str53, 79}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str54, 110}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str55, 115}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str158, 204}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str167, 356}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str60, 108}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str172, 26}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str175, 152}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str179, 379}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str180, 276}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str184, 75}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str186, 75}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str187, 111}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str189, 13}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str199, 250}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str201, 272}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str202, 120}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str205, 23}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str207, 36}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str209, 52}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str216, 247}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str217, 88}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str218, 224}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str220, 314}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str223, 263}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str224, 385}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str225, 235}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str227, 148}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str63, 115}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str230, 358}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str231, 124}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str232, 28}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str233, 172}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str234, 410}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str239, 230}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str240, 148}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str244, 78}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str245, 155}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str247, 160}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str248, 323}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str252, 392}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str253, 78}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str254, 255}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str255, 155}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str256, 80}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str66, 27}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str67, 49}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str259, 260}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str69, 105}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str70, 184}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str71, 46}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str261, 39}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str73, 50}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str74, 178}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str75, 151}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str76, 100}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str84, 157}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str263, 170}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str264, 297}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str88, 113}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str89, 81}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str90, 92}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str91, 197}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str92, 91}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str93, 170}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str94, 14}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str95, 42}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str268, 300}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str279, 431}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str281, 178}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str288, 3}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str301, 333}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str303, 64}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str304, 405}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str308, 25}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str313, 182}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str98, 17}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str99, 170}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str100, 81}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str101, 152}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str316, 287}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str320, 88}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str321, 201}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str329, 129}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str330, 65}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str339, 428}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str346, 92}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str347, 114}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str103, 182}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str349, 170}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str353, 109}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str357, 109}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str358, 299}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str359, 37}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str360, 50}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str364, 273}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str365, 251}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str105, 36}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str106, 26}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str367, 238}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str372, 21}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str375, 123}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str109, 91}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str378, 182}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str386, 421}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str387, 258}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str389, 174}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str398, 295}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str400, 150}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str112, 119}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str403, 365}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str114, 38}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str115, 45}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str116, 69}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str117, 197}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str405, 87}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str406, 189}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str409, 63}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str412, 74}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str119, 195}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str120, 66}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str121, 190}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str122, 22}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str123, 152}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str124, 180}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str125, 99}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str126, 161}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str414, 416}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str420, 93}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str425, 317}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str426, 99}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str427, 171}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str428, 169}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str429, 82}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str430, 162}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str128, 122}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str432, 131}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str436, 28}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str137, 188}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str445, 82}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str449, 185}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str450, 55}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str453, 70}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str454, 66}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str143, 193}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str460, 27}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str468, 253}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str470, 151}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str147, 180}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str148, 200}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str149, 98}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str474, 94}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str475, 94}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str476, 188}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str478, 67}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str151, 100}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str152, 53}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str153, 49}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str480, 45}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str481, 278}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str156, 110}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str484, 43}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str485, 61}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str161, 162}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str162, 151}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str163, 51}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str490, 42}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str495, 168}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str496, 346}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str497, 205}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str503, 105}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str504, 39}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str506, 240}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str166, 194}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str170, 194}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str171, 177}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str172, 113}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str509, 341}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str174, 182}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str175, 174}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str176, 82}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str511, 52}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str179, 178}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str180, 179}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str181, 184}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str514, 41}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str515, 143}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str516, 143}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str517, 195}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str520, 426}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str521, 391}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str522, 227}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str183, 195}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str524, 19}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str187, 119}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str528, 383}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str531, 116}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str532, 9}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str542, 390}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str545, 281}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str190, 132}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str548, 106}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str553, 178}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str192, 82}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str193, 23}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str555, 67}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str558, 425}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str195, 34}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str560, 206}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str563, 396}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str564, 100}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str568, 325}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str572, 262}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str197, 187}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str198, 112}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str574, 153}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str575, 163}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str579, 315}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str587, 158}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str200, 27}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str589, 423}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str594, 23}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str604, 354}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str608, 153}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str612, 209}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str613, 141}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str614, 211}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str202, 43}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str203, 171}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str616, 280}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str617, 158}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str618, 123}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str619, 42}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str620, 1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str621, 218}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str622, 269}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str623, 219}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str206, 38}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str626, 210}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str627, 185}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str209, 35}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str630, 289}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str631, 202}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str632, 198}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str633, 217}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str212, 42}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str636, 152}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str637, 357}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str638, 221}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str639, 213}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str640, 282}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str641, 214}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str642, 216}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str643, 203}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str215, 157}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str646, 131}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str647, 374}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str648, 187}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str649, 438}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str650, 220}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str651, 212}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str217, 32}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str218, 65}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str653, 176}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str654, 215}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str655, 386}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str660, 186}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str668, 245}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str672, 18}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str679, 188}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str682, 118}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str690, 395}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str220, 66}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str701, 402}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str222, 65}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str223, 1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str703, 403}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str704, 128}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str705, 113}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str706, 344}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str709, 68}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str227, 30}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str713, 116}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str229, 127}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str234, 104}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str235, 73}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str236, 77}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str237, 127}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str715, 404}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str243, 124}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str244, 159}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str245, 162}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str246, 161}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str721, 69}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str250, 77}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str251, 192}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str252, 167}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str725, 66}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str729, 394}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str730, 370}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str734, 128}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str255, 136}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str737, 60}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str738, 162}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str739, 192}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str746, 113}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str747, 35}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str748, 125}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str750, 223}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str258, 87}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str771, 160}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str776, 21}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str777, 24}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str778, 57}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str780, 54}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str784, 196}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str261, 87}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str268, 58}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str269, 149}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str270, 186}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str271, 140}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str787, 105}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str788, 101}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str275, 190}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str792, 36}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str796, 408}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str797, 179}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str798, 176}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str799, 102}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str278, 7}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str802, 439}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str803, 7}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str286, 123}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str811, 203}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str815, 244}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str818, 41}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str823, 111}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str824, 192}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str826, 173}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str827, 303}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str830, 186}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str831, 206}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str832, 44}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str833, 146}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str835, 229}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str292, 154}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str841, 11}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str850, 112}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str851, 400}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str852, 68}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str294, 54}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str854, 352}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str860, 194}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str867, 190}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str296, 120}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str297, 40}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str869, 184}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str870, 429}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str301, 43}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str874, 368}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str879, 222}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str884, 50}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str889, 35}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str890, 200}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str900, 183}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str901, 51}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str907, 234}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str912, 69}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str913, 202}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str914, 71}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str917, 190}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str303, 134}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str919, 163}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str920, 59}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str306, 175}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str307, 154}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str308, 44}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str923, 98}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str931, 133}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str310, 79}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str311, 125}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str933, 6}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str314, 150}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str936, 26}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str938, 284}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str939, 369}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str943, 294}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str945, 133}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str946, 319}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str947, 371}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str949, 38}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str950, 418}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str951, 296}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str952, 254}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str953, 53}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str317, 120}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str956, 256}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str321, 140}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str322, 167}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str960, 308}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str324, 158}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str325, 174}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str326, 129}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str327, 21}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str328, 40}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str335, 112}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str962, 141}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str963, 97}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str964, 283}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str965, 121}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str966, 17}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str970, 83}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str972, 242}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str973, 37}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str974, 157}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str976, 173}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str977, 135}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str981, 83}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str983, 189}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str340, 166}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str341, 102}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str988, 114}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str989, 130}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str990, 95}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str994, 277}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str996, 387}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str997, 310}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str998, 119}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str343, 175}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str344, 102}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str345, 97}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str346, 98}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1000, 84}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str349, 31}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str350, 198}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1003, 137}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1004, 290}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1006, 397}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1007, 95}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str353, 50}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1010, 285}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1016, 135}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1021, 25}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1031, 305}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1035, 366}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1039, 16}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1044, 207}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1051, 361}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1065, 161}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1067, 126}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1069, 311}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1070, 137}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str355, 94}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str356, 111}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1072, 288}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str358, 117}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str359, 160}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1074, 27}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str361, 128}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1076, 80}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1078, 345}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1081, 12}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1084, 348}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1087, 302}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1092, 99}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1094, 359}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1107, 167}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1110, 201}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1114, 389}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1129, 293}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1133, 174}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1135, 106}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1142, 353}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1147, 183}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1150, 4}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1151, 112}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1156, 102}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1162, 140}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1170, 144}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1173, 121}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1179, 72}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str367, 94}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1185, 261}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1186, 136}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1188, 249}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1190, 107}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1195, 381}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1196, 331}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1198, 313}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1202, 420}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1212, 409}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1215, 172}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1219, 406}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1224, 169}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1225, 373}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1229, 156}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1230, 367}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1231, 264}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1244, 407}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1245, 307}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str371, 111}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str372, 145}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str373, 97}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str374, 83}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str375, 105}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str376, 125}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1249, 175}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1253, 187}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1256, 184}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1259, 130}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1261, 200}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1262, 205}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1264, 326}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1265, 159}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1274, 44}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1279, 257}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str379, 96}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str380, 201}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str381, 203}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str382, 210}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str383, 211}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str384, 208}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str385, 37}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str386, 39}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1282, 145}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1289, 126}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1298, 372}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str388, 155}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str389, 202}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str390, 209}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str391, 212}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str392, 207}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str393, 5}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1300, 129}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str395, 143}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str396, 9}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str397, 205}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str398, 206}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str399, 78}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1302, 437}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1306, 89}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1307, 194}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str402, 169}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1310, 115}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str405, 204}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1313, 360}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1315, 110}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1318, 138}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str408, 169}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1321, 110}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1323, 424}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str413, 193}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1328, 144}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1330, 193}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1334, 177}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str420, 88}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1341, 417}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1343, 103}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1344, 433}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1350, 97}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1351, 388}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1354, 349}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str422, 52}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1356, 364}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1362, 40}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1372, 422}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str427, 29}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1377, 241}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1389, 399}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1393, 195}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str430, 25}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1396, 138}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str432, 187}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str433, 134}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str434, 189}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1398, 167}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1402, 30}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str436, 53}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1404, 79}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1411, 274}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str438, 70}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str442, 13}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str443, 163}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1413, 199}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1416, 268}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1422, 199}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str445, 68}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str446, 186}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str447, 177}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1424, 146}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str452, 19}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1429, 147}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1431, 411}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1432, 175}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1435, 231}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1436, 64}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1438, 350}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str456, 59}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str457, 130}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1442, 147}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1443, 243}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1448, 84}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str459, 139}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1450, 5}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1452, 336}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1457, 142}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str462, 181}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1460, 236}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str464, 143}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str465, 198}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str466, 4}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str474, 139}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1462, 275}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1463, 65}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1468, 142}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1478, 380}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1479, 91}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1480, 56}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1492, 132}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1498, 63}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str480, 34}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1504, 115}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1505, 118}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1506, 103}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1510, 91}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1512, 246}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str484, 107}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str485, 48}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1516, 267}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1517, 81}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1519, 139}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1520, 139}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str488, 183}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1523, 318}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1525, 165}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str493, 179}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str496, 67}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str497, 20}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1530, 49}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1531, 339}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str502, 137}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1536, 440}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1540, 124}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1546, 81}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1548, 198}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1561, 34}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str506, 55}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1565, 378}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1566, 165}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1567, 140}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1569, 96}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1571, 228}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1578, 32}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1581, 292}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str508, 118}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1583, 259}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1590, 20}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1591, 132}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str512, 11}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str513, 67}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1595, 30}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1598, 96}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1605, 71}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1606, 177}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1609, 376}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1617, 77}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str516, 104}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1620, 90}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1634, 270}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1635, 136}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1636, 48}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1643, 286}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str518, 68}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1645, 265}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str521, 16}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1648, 266}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1649, 90}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1658, 233}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1662, 72}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str523, 101}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1664, 31}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str529, 138}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str530, 138}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str533, 141}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str534, 191}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str535, 166}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str536, 137}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str538, 106}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str540, 144}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str542, 60}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str543, 181}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1670, 332}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1676, 98}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str550, 191}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1683, 324}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1688, 108}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str554, 141}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str562, 60}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str563, 71}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str565, 136}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str573, 163}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str576, 8}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str577, 133}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str580, 6}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str586, 196}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str587, 109}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str588, 146}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str589, 76}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str591, 146}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str592, 41}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str593, 86}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str594, 70}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1692, 87}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1699, 327}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str596, 164}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str597, 132}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str598, 109}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str599, 164}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1701, 134}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str601, 76}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str602, 129}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str605, 183}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1703, 134}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1709, 61}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1724, 104}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1725, 8}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1729, 46}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str617, 117}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str620, 62}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str623, 33}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1732, 100}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1737, 77}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1759, 322}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str625, 114}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str626, 89}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str627, 24}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str628, 62}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str629, 192}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1761, 79}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1780, 375}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1787, 342}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str632, 121}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str634, 131}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1790, 122}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1829, 291}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str636, 28}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1831, 171}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str640, 114}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str643, 133}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str644, 80}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str645, 89}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str646, 83}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str647, 56}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1835, 363}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str656, 122}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1853, 33}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1858, 149}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1864, 207}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1868, 164}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str659, 199}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str660, 80}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1871, 149}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1896, 122}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str663, 12}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1899, 193}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1900, 225}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str667, 159}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str672, 121}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1904, 108}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1917, 104}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1925, 197}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1932, 191}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str675, 31}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str677, 96}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str678, 148}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1944, 76}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1949, 86}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str681, 148}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1970, 86}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1983, 362}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str686, 131}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str687, 85}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1988, 70}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2005, 427}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2022, 157}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2028, 329}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str692, 130}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2033, 321}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str696, 46}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2046, 125}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str701, 0}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str705, 107}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str706, 185}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str707, 99}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str708, 85}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str710, 128}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str716, 39}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2051, 343}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str718, 160}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str725, 10}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str732, 19}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2053, 398}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str734, 116}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str735, 145}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str736, 185}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str739, 25}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str745, 32}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2055, 164}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str749, 64}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str752, 29}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str757, 22}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2086, 309}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2087, 22}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2094, 166}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str765, 52}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str767, 101}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str768, 176}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2102, 279}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2119, 271}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str772, 28}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str777, 176}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str778, 64}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str781, 71}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str782, 103}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2123, 393}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str788, 189}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str792, 57}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str793, 103}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str795, 30}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str797, 168}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str806, 199}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2129, 40}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2130, 442}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str816, 124}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str818, 44}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2141, 180}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2162, 320}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str821, 156}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2165, 316}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str831, 116}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str840, 165}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2178, 191}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str851, 45}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2189, 53}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2194, 415}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2299, 58}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str856, 61}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str857, 123}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2313, 47}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2322, 48}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2338, 29}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str861, 118}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2342, 45}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str868, 37}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2349, 340}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str872, 172}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2371, 181}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2372, 154}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2377, 441}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2379, 119}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2400, 414}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2401, 197}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2413, 248}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str888, 48}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str892, 75}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str898, 63}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str902, 173}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str903, 126}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2429, 107}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str916, 135}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str918, 41}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str927, 63}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2442, 328}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2454, 10}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str932, 156}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2495, 351}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2515, 62}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str940, 84}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str944, 168}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2523, 334}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2542, 29}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str951, 158}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2549, 127}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2588, 127}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2627, 15}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2651, 338}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2671, 330}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2710, 301}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2724, 62}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2727, 208}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2737, 181}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str976, 69}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str980, 47}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2753, 117}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2785, 38}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str999, 90}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1007, 95}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1020, 90}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2888, 161}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2925, 145}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1026, 95}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2940, 337}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2961, 335}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2962, 435}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1032, 88}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1033, 126}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1037, 135}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2995, 89}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3000, 85}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1093, 47}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1097, 106}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1124, 153}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3104, 76}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1146, 15}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3189, 73}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3197, 117}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3254, 166}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1148, 144}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3292, 2}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1190, 61}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3391, 436}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1263, 173}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3459, 73}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1329, 2}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3480, 154}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1347, 72}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1358, 165}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1395, 200}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1410, 75}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #endif /* USE_UNICODE_PROPERTIES */ - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #ifndef USE_UNICODE_PROPERTIES + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str6, 12}, {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str7, 7}, {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str8, 8}, {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str9, 1}, {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str10, 13}, {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str11, 11}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str12, 0}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 10}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str14, 14}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str15, 3}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 9}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str17, 12}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str18, 6}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str19, 5}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str20, 4}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str21, 2} + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str12, 10}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 14}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str14, 3}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str15, 9}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 6}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str17, 5}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str18, 4}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str19, 2} #else /* USE_UNICODE_PROPERTIES */ - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1463, 72}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1470, 84}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3802, 434}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, @@ -23805,17 +28656,15 @@ uniname2ctype_p (str, len) {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1556, 78}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3922, 74}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1621, 153}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, @@ -23829,8 +28678,19 @@ uniname2ctype_p (str, len) {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1741, 73} + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, + {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str4167, 85} #endif /* USE_UNICODE_PROPERTIES */ }; diff --git a/enc/us_ascii.c b/enc/us_ascii.c index 2e96dd3846..1b47778391 100644 --- a/enc/us_ascii.c +++ b/enc/us_ascii.c @@ -24,7 +24,9 @@ OnigEncodingDefine(us_ascii, US_ASCII) = { onigenc_ascii_is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; ENC_ALIAS("ASCII", "US-ASCII") ENC_ALIAS("ANSI_X3.4-1968", "US-ASCII") diff --git a/enc/utf_16be.c b/enc/utf_16be.c index 1e33c2ec7d..8b25d473a7 100644 --- a/enc/utf_16be.c +++ b/enc/utf_16be.c @@ -88,11 +88,8 @@ utf16be_is_mbc_newline(const UChar* p, const UChar* end, if (*(p+1) == 0x0a && *p == 0x00) return 1; #ifdef USE_UNICODE_ALL_LINE_TERMINATORS - if (( -#ifndef USE_CRNL_AS_LINE_TERMINATOR - *(p+1) == 0x0d || -#endif - *(p+1) == 0x85) && *p == 0x00) + if ((*(p+1) == 0x0b || *(p+1) == 0x0c || *(p+1) == 0x0d || *(p+1) == 0x85) + && *p == 0x00) return 1; if (*p == 0x20 && (*(p+1) == 0x29 || *(p+1) == 0x28)) return 1; @@ -252,6 +249,8 @@ OnigEncodingDefine(utf_16be, UTF_16BE) = { onigenc_unicode_is_code_ctype, onigenc_utf16_32_get_ctype_code_range, utf16be_left_adjust_char_head, - onigenc_always_false_is_allowed_reverse_match + onigenc_always_false_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_UNICODE, }; ENC_ALIAS("UCS-2BE", "UTF-16BE") diff --git a/enc/utf_16le.c b/enc/utf_16le.c index e972cb95f0..8feb7ad769 100644 --- a/enc/utf_16le.c +++ b/enc/utf_16le.c @@ -81,11 +81,8 @@ utf16le_is_mbc_newline(const UChar* p, const UChar* end, if (*p == 0x0a && *(p+1) == 0x00) return 1; #ifdef USE_UNICODE_ALL_LINE_TERMINATORS - if (( -#ifndef USE_CRNL_AS_LINE_TERMINATOR - *p == 0x0d || -#endif - *p == 0x85) && *(p+1) == 0x00) + if ((*p == 0x0b || *p == 0x0c || *p == 0x0d || *p == 0x85) + && *(p+1) == 0x00) return 1; if (*(p+1) == 0x20 && (*p == 0x29 || *p == 0x28)) return 1; @@ -245,5 +242,7 @@ OnigEncodingDefine(utf_16le, UTF_16LE) = { onigenc_unicode_is_code_ctype, onigenc_utf16_32_get_ctype_code_range, utf16le_left_adjust_char_head, - onigenc_always_false_is_allowed_reverse_match + onigenc_always_false_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_UNICODE, }; diff --git a/enc/utf_32be.c b/enc/utf_32be.c index 2671448d44..43c07e2e8f 100644 --- a/enc/utf_32be.c +++ b/enc/utf_32be.c @@ -44,11 +44,7 @@ utf32be_is_mbc_newline(const UChar* p, const UChar* end, if (*(p+3) == 0x0a && *(p+2) == 0 && *(p+1) == 0 && *p == 0) return 1; #ifdef USE_UNICODE_ALL_LINE_TERMINATORS - if (( -#ifndef USE_CRNL_AS_LINE_TERMINATOR - *(p+3) == 0x0d || -#endif - *(p+3) == 0x85) + if ((*(p+3) == 0x0b || *(p+3) == 0x0c || *(p+3) == 0x0d || *(p+3) == 0x85) && *(p+2) == 0 && *(p+1) == 0 && *p == 0x00) return 1; if (*(p+2) == 0x20 && (*(p+3) == 0x29 || *(p+3) == 0x28) @@ -159,7 +155,7 @@ utf32be_left_adjust_char_head(const UChar* start, const UChar* s, const UChar* e if (s <= start) return (UChar* )s; - rem = (s - start) % 4; + rem = (int )((s - start) % 4); return (UChar* )(s - rem); } @@ -189,7 +185,9 @@ OnigEncodingDefine(utf_32be, UTF_32BE) = { onigenc_unicode_is_code_ctype, onigenc_utf16_32_get_ctype_code_range, utf32be_left_adjust_char_head, - onigenc_always_false_is_allowed_reverse_match + onigenc_always_false_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_UNICODE, }; ENC_ALIAS("UCS-4BE", "UTF-32BE") diff --git a/enc/utf_32le.c b/enc/utf_32le.c index aa448200c6..31693eed05 100644 --- a/enc/utf_32le.c +++ b/enc/utf_32le.c @@ -44,11 +44,7 @@ utf32le_is_mbc_newline(const UChar* p, const UChar* end, if (*p == 0x0a && *(p+1) == 0 && *(p+2) == 0 && *(p+3) == 0) return 1; #ifdef USE_UNICODE_ALL_LINE_TERMINATORS - if (( -#ifndef USE_CRNL_AS_LINE_TERMINATOR - *p == 0x0d || -#endif - *p == 0x85) + if ((*p == 0x0b ||*p == 0x0c ||*p == 0x0d || *p == 0x85) && *(p+1) == 0x00 && (p+2) == 0x00 && *(p+3) == 0x00) return 1; if (*(p+1) == 0x20 && (*p == 0x29 || *p == 0x28) @@ -159,7 +155,7 @@ utf32le_left_adjust_char_head(const UChar* start, const UChar* s, const UChar* e if (s <= start) return (UChar* )s; - rem = (s - start) % 4; + rem = (int )((s - start) % 4); return (UChar* )(s - rem); } @@ -189,6 +185,8 @@ OnigEncodingDefine(utf_32le, UTF_32LE) = { onigenc_unicode_is_code_ctype, onigenc_utf16_32_get_ctype_code_range, utf32le_left_adjust_char_head, - onigenc_always_false_is_allowed_reverse_match + onigenc_always_false_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_UNICODE, }; ENC_ALIAS("UCS-4LE", "UTF-32LE") diff --git a/enc/utf_8.c b/enc/utf_8.c index 83f8701205..dae1f3a1bc 100644 --- a/enc/utf_8.c +++ b/enc/utf_8.c @@ -248,9 +248,7 @@ is_mbc_newline(const UChar* p, const UChar* end, OnigEncoding enc) if (*p == 0x0a) return 1; #ifdef USE_UNICODE_ALL_LINE_TERMINATORS -#ifndef USE_CRNL_AS_LINE_TERMINATOR - if (*p == 0x0d) return 1; -#endif + if (*p == 0x0b || *p == 0x0c || *p == 0x0d) return 1; if (p + 1 < end) { if (*(p+1) == 0x85 && *p == 0xc2) /* U+0085 */ return 1; @@ -272,7 +270,7 @@ mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc) int c, len; OnigCodePoint n; - len = enclen(enc, p, end); + len = mbc_enc_len(p, end, enc); c = *p++; if (len > 1) { len--; @@ -363,7 +361,7 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED) } *p++ = UTF8_TRAIL0(code); - return (int)(p - buf); + return (int )(p - buf); } } @@ -440,7 +438,9 @@ OnigEncodingDefine(utf_8, UTF_8) = { onigenc_unicode_is_code_ctype, get_ctype_code_range, left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_UNICODE, }; ENC_ALIAS("CP65001", "UTF-8") diff --git a/enc/windows_1251.c b/enc/windows_1251.c index 1cb4da4960..73060962c3 100644 --- a/enc/windows_1251.c +++ b/enc/windows_1251.c @@ -196,7 +196,9 @@ OnigEncodingDefine(windows_1251, Windows_1251) = { cp1251_is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, - onigenc_always_true_is_allowed_reverse_match + onigenc_always_true_is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, }; /* * Name: windows-1251 diff --git a/enc/windows_31j.c b/enc/windows_31j.c new file mode 100644 index 0000000000..c4193819d4 --- /dev/null +++ b/enc/windows_31j.c @@ -0,0 +1,80 @@ +/********************************************************************** + cp932.c - Onigmo (Oniguruma-mod) (regular expression library) +**********************************************************************/ +/*- + * Copyright (c) 2002-2009 K.Kosako + * Copyright (c) 2011 K.Takata + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define ENC_CP932 +#include "shift_jis.c" + +OnigEncodingDefine(windows_31j, Windows_31J) = { + mbc_enc_len, + "Windows-31J", /* name */ + 2, /* max byte length */ + 1, /* min byte length */ + onigenc_is_mbc_newline_0x0a, + mbc_to_code, + code_to_mbclen, + code_to_mbc, + mbc_case_fold, + apply_all_case_fold, + get_case_fold_codes_by_str, + property_name_to_ctype, + is_code_ctype, + get_ctype_code_range, + left_adjust_char_head, + is_allowed_reverse_match, + 0, + ONIGENC_FLAG_NONE, +}; +/* + * Name: Windows-31J + * MIBenum: 2024 + * Link: http://www.iana.org/assignments/character-sets + * Link: http://www.microsoft.com/globaldev/reference/dbcs/932.mspx + * Link: http://ja.wikipedia.org/wiki/Windows-31J + * Link: http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-932-2000.ucm + * + * Windows Standard Character Set and its mapping to Unicode by Microsoft. + * Since 1.9.3, SJIS is the alias of Windows-31J because its character + * set is usually this one even if its mapping may differ. + */ +ENC_ALIAS("CP932", "Windows-31J") +ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */ +ENC_ALIAS("SJIS", "Windows-31J") + +/* + * Name: PCK + * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/x-2chn0/index.html + * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/appb-pckwarn-1/index.html + * + * Solaris's SJIS variant. Its set is Windows Standard Character Set; it + * consists JIS X 0201 Latin (US-ASCII), JIS X 0201 Katakana, JIS X 0208, NEC + * special characters, NEC-selected IBM extended characters, and IBM extended + * characters. Solaris's iconv seems to use SJIS-open. + */ +ENC_ALIAS("PCK", "Windows-31J") diff --git a/include/ruby/oniguruma.h b/include/ruby/oniguruma.h index 67773aa482..c01b6f7bb4 100644 --- a/include/ruby/oniguruma.h +++ b/include/ruby/oniguruma.h @@ -1,10 +1,11 @@ #ifndef ONIGURUMA_H #define ONIGURUMA_H /********************************************************************** - oniguruma.h - Oniguruma (regular expression library) + oniguruma.h - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2002-2009 K.Kosako + * Copyright (c) 2011-2012 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,8 +39,8 @@ extern "C" { #define ONIGURUMA #define ONIGURUMA_VERSION_MAJOR 5 -#define ONIGURUMA_VERSION_MINOR 9 -#define ONIGURUMA_VERSION_TEENY 2 +#define ONIGURUMA_VERSION_MINOR 13 +#define ONIGURUMA_VERSION_TEENY 1 #ifdef __cplusplus # ifndef HAVE_PROTOTYPES @@ -101,6 +102,8 @@ extern "C" { #pragma GCC visibility push(default) #endif +#include /* for size_t */ + /* PART: character encoding */ #ifndef ONIG_ESCAPE_UCHAR_COLLISION @@ -108,9 +111,10 @@ extern "C" { #endif typedef unsigned char OnigUChar; -typedef unsigned int OnigCodePoint; +typedef unsigned int OnigCodePoint; typedef unsigned int OnigCtype; typedef size_t OnigDistance; +typedef ptrdiff_t OnigPosition; #define ONIG_INFINITE_DISTANCE ~((OnigDistance )0) @@ -171,6 +175,7 @@ typedef struct OnigEncodingTypeST { OnigUChar* (*left_adjust_char_head)(const OnigUChar* start, const OnigUChar* p, const OnigUChar* end, struct OnigEncodingTypeST* enc); int (*is_allowed_reverse_match)(const OnigUChar* p, const OnigUChar* end, struct OnigEncodingTypeST* enc); int ruby_encoding_index; + unsigned int flags; } OnigEncodingType; typedef OnigEncodingType* OnigEncoding; @@ -204,17 +209,12 @@ ONIG_EXTERN OnigEncodingType OnigEncodingASCII; #define ONIGENC_CTYPE_ALNUM 13 /* alpha || digit */ #define ONIGENC_CTYPE_ASCII 14 #define ONIGENC_MAX_STD_CTYPE ONIGENC_CTYPE_ASCII -#define ONIGENC_CTYPE_SPECIAL_MASK 256 -#define ONIGENC_CTYPE_S /* [\t\n\v\f\r\s] */ \ - ONIGENC_CTYPE_SPECIAL_MASK | ONIGENC_CTYPE_SPACE -#define ONIGENC_CTYPE_D /* [0-9] */ \ - ONIGENC_CTYPE_SPECIAL_MASK | ONIGENC_CTYPE_DIGIT -#define ONIGENC_CTYPE_W /* [0-9A-Za-z_] */ \ - ONIGENC_CTYPE_SPECIAL_MASK | ONIGENC_CTYPE_WORD -#define ONIGENC_CTYPE_SPECIAL_P(ctype) ((ctype) & ONIGENC_CTYPE_SPECIAL_MASK) +/* flags */ +#define ONIGENC_FLAG_NONE 0U +#define ONIGENC_FLAG_UNICODE 1U -#define onig_enc_len(enc,p,e) ONIGENC_MBC_ENC_LEN(enc, p, e) +#define onig_enc_len(enc,p,e) ONIGENC_MBC_ENC_LEN(enc, p, e) #define ONIGENC_IS_UNDEF(enc) ((enc) == ONIG_ENCODING_UNDEF) #define ONIGENC_IS_SINGLEBYTE(enc) (ONIGENC_MBC_MAXLEN(enc) == 1) @@ -223,6 +223,10 @@ ONIG_EXTERN OnigEncodingType OnigEncodingASCII; #define ONIGENC_IS_CODE_ASCII(code) ((code) < 128) #define ONIGENC_IS_MBC_WORD(enc,s,end) \ ONIGENC_IS_CODE_WORD(enc,ONIGENC_MBC_TO_CODE(enc,s,end)) +#define ONIGENC_IS_MBC_ASCII_WORD(enc,s,end) \ + onigenc_ascii_is_code_ctype( \ + ONIGENC_MBC_TO_CODE(enc,s,end),ONIGENC_CTYPE_WORD,enc) +#define ONIGENC_IS_UNICODE(enc) ((enc)->flags & ONIGENC_FLAG_UNICODE) #define ONIGENC_NAME(enc) ((enc)->name) @@ -350,6 +354,7 @@ typedef unsigned int OnigOptionType; #define ONIG_OPTION_IGNORECASE 1U #define ONIG_OPTION_EXTEND (ONIG_OPTION_IGNORECASE << 1) #define ONIG_OPTION_MULTILINE (ONIG_OPTION_EXTEND << 1) +#define ONIG_OPTION_DOTALL ONIG_OPTION_MULTILINE #define ONIG_OPTION_SINGLELINE (ONIG_OPTION_MULTILINE << 1) #define ONIG_OPTION_FIND_LONGEST (ONIG_OPTION_SINGLELINE << 1) #define ONIG_OPTION_FIND_NOT_EMPTY (ONIG_OPTION_FIND_LONGEST << 1) @@ -360,7 +365,13 @@ typedef unsigned int OnigOptionType; #define ONIG_OPTION_NOTBOL (ONIG_OPTION_CAPTURE_GROUP << 1) #define ONIG_OPTION_NOTEOL (ONIG_OPTION_NOTBOL << 1) #define ONIG_OPTION_POSIX_REGION (ONIG_OPTION_NOTEOL << 1) -#define ONIG_OPTION_MAXBIT ONIG_OPTION_POSIX_REGION /* limit */ +/* options (ctype range) */ +#define ONIG_OPTION_ASCII_RANGE (ONIG_OPTION_POSIX_REGION << 1) +#define ONIG_OPTION_POSIX_BRACKET_ALL_RANGE (ONIG_OPTION_ASCII_RANGE << 1) +#define ONIG_OPTION_WORD_BOUND_ALL_RANGE (ONIG_OPTION_POSIX_BRACKET_ALL_RANGE << 1) +/* options (newline) */ +#define ONIG_OPTION_NEWLINE_CRLF (ONIG_OPTION_WORD_BOUND_ALL_RANGE << 1) +#define ONIG_OPTION_MAXBIT ONIG_OPTION_NEWLINE_CRLF /* limit */ #define ONIG_OPTION_ON(options,regopt) ((options) |= (regopt)) #define ONIG_OPTION_OFF(options,regopt) ((options) &= ~(regopt)) @@ -382,9 +393,11 @@ ONIG_EXTERN const OnigSyntaxType OnigSyntaxEmacs; ONIG_EXTERN const OnigSyntaxType OnigSyntaxGrep; ONIG_EXTERN const OnigSyntaxType OnigSyntaxGnuRegex; ONIG_EXTERN const OnigSyntaxType OnigSyntaxJava; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58_NG; ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl; -ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl_NG; ONIG_EXTERN const OnigSyntaxType OnigSyntaxRuby; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPython; /* predefined syntaxes (see regsyntax.c) */ #define ONIG_SYNTAX_ASIS (&OnigSyntaxASIS) @@ -394,9 +407,11 @@ ONIG_EXTERN const OnigSyntaxType OnigSyntaxRuby; #define ONIG_SYNTAX_GREP (&OnigSyntaxGrep) #define ONIG_SYNTAX_GNU_REGEX (&OnigSyntaxGnuRegex) #define ONIG_SYNTAX_JAVA (&OnigSyntaxJava) +#define ONIG_SYNTAX_PERL58 (&OnigSyntaxPerl58) +#define ONIG_SYNTAX_PERL58_NG (&OnigSyntaxPerl58_NG) #define ONIG_SYNTAX_PERL (&OnigSyntaxPerl) -#define ONIG_SYNTAX_PERL_NG (&OnigSyntaxPerl_NG) #define ONIG_SYNTAX_RUBY (&OnigSyntaxRuby) +#define ONIG_SYNTAX_PYTHON (&OnigSyntaxPython) /* default syntax */ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; @@ -434,11 +449,12 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; #define ONIG_SYN_OP_ESC_OCTAL3 (1U<<28) /* \OOO */ #define ONIG_SYN_OP_ESC_X_HEX2 (1U<<29) /* \xHH */ #define ONIG_SYN_OP_ESC_X_BRACE_HEX8 (1U<<30) /* \x{7HHHHHHH} */ +#define ONIG_SYN_OP_ESC_O_BRACE_OCTAL (1U<<31) /* \o{OOO} */ /* NOTIMPL */ #define ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE (1U<<0) /* \Q...\E */ #define ONIG_SYN_OP2_QMARK_GROUP_EFFECT (1U<<1) /* (?...) */ -#define ONIG_SYN_OP2_OPTION_PERL (1U<<2) /* (?imsx),(?-imsx) */ -#define ONIG_SYN_OP2_OPTION_RUBY (1U<<3) /* (?imx), (?-imx) */ +#define ONIG_SYN_OP2_OPTION_PERL (1U<<2) /* (?imsxadlu), (?-imsx), (?^imsxalu) */ +#define ONIG_SYN_OP2_OPTION_RUBY (1U<<3) /* (?imxadu), (?-imx) */ #define ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT (1U<<4) /* ?+,*+,++ */ #define ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL (1U<<5) /* {n,m}+ */ #define ONIG_SYN_OP2_CCLASS_SET_OP (1U<<6) /* [...&&..[..]..] */ @@ -456,6 +472,17 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; /* #define ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS (1U<<18) */ #define ONIG_SYN_OP2_ESC_H_XDIGIT (1U<<19) /* \h, \H */ #define ONIG_SYN_OP2_INEFFECTIVE_ESCAPE (1U<<20) /* \ */ +#define ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK (1U<<21) /* \R as (?>\x0D\x0A|[\x0A-\x0D\x{85}\x{2028}\x{2029}]) */ +#define ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER (1U<<22) /* \X as (?>\P{M}\p{M}*) */ +#define ONIG_SYN_OP2_ESC_V_VERTICAL_WHITESPACE (1U<<23) /* \v, \V -- Perl */ /* NOTIMPL */ +#define ONIG_SYN_OP2_ESC_H_HORIZONTAL_WHITESPACE (1U<<24) /* \h, \H -- Perl */ /* NOTIMPL */ +#define ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP (1U<<25) /* \K */ +#define ONIG_SYN_OP2_ESC_G_BRACE_BACKREF (1U<<26) /* \g{name}, \g{n} */ +#define ONIG_SYN_OP2_QMARK_SUBEXP_CALL (1U<<27) /* (?&name), (?n), (?R), (?0) */ +#define ONIG_SYN_OP2_QMARK_VBAR_BRANCH_RESET (1U<<28) /* (?|...) */ /* NOTIMPL */ +#define ONIG_SYN_OP2_QMARK_LPAREN_CONDITION (1U<<29) /* (?(cond)yes...|no...) */ +#define ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP (1U<<30) /* (?P...), (?P=name), (?P>name) -- Python/PCRE */ +#define ONIG_SYN_OP2_OPTION_JAVA (1U<<31) /* (?idmsux), (?-idmsux) */ /* NOTIMPL */ /* syntax (behavior) */ #define ONIG_SYN_CONTEXT_INDEP_ANCHORS (1U<<31) /* not implemented */ @@ -469,6 +496,7 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; #define ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP (1U<<7) /* see doc/RE */ #define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME (1U<<8) /* (?)(?) */ #define ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY (1U<<9) /* a{n}?=(?:a{n})? */ +#define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL (1U<<10) /* (?)(?)(?&x) */ /* syntax (behavior) in char class [...] */ #define ONIG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC (1U<<20) /* [^...] */ @@ -505,7 +533,7 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; #define ONIGERR_UNDEFINED_BYTECODE -13 #define ONIGERR_UNEXPECTED_BYTECODE -14 #define ONIGERR_MATCH_STACK_LIMIT_OVER -15 -#define ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED -21 +#define ONIGERR_DEFAULT_ENCODING_IS_NOT_SET -21 #define ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR -22 /* general error */ #define ONIGERR_INVALID_ARGUMENT -30 @@ -532,6 +560,7 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; #define ONIGERR_INVALID_POSIX_BRACKET_TYPE -121 #define ONIGERR_INVALID_LOOK_BEHIND_PATTERN -122 #define ONIGERR_INVALID_REPEAT_RANGE_PATTERN -123 +#define ONIGERR_INVALID_CONDITION_PATTERN -124 /* values error (syntax error) */ #define ONIGERR_TOO_BIG_NUMBER -200 #define ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE -201 @@ -543,6 +572,7 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; #define ONIGERR_TOO_BIG_BACKREF_NUMBER -207 #define ONIGERR_INVALID_BACKREF -208 #define ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED -209 +#define ONIGERR_TOO_SHORT_DIGITS -210 #define ONIGERR_TOO_LONG_WIDE_CHAR_VALUE -212 #define ONIGERR_EMPTY_GROUP_NAME -214 #define ONIGERR_INVALID_GROUP_NAME -215 @@ -571,8 +601,8 @@ ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; typedef struct OnigCaptureTreeNodeStruct { int group; /* group number */ - int beg; - int end; + OnigPosition beg; + OnigPosition end; int allocated; int num_childs; struct OnigCaptureTreeNodeStruct** childs; @@ -582,8 +612,8 @@ typedef struct OnigCaptureTreeNodeStruct { struct re_registers { int allocated; int num_regs; - int* beg; - int* end; + OnigPosition* beg; + OnigPosition* end; /* extended */ OnigCaptureTreeNode* history_root; /* capture history tree root */ }; @@ -689,7 +719,7 @@ typedef struct { ONIG_EXTERN int onig_init P_((void)); ONIG_EXTERN -int onig_error_code_to_str PV_((OnigUChar* s, int err_code, ...)); +int onig_error_code_to_str PV_((OnigUChar* s, OnigPosition err_code, ...)); ONIG_EXTERN void onig_set_warn_func P_((OnigWarnFunc f)); ONIG_EXTERN @@ -697,7 +727,7 @@ void onig_set_verb_warn_func P_((OnigWarnFunc f)); ONIG_EXTERN int onig_new P_((OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo)); ONIG_EXTERN -int onig_reg_init P_((regex_t* reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, const OnigSyntaxType* syntax)); +int onig_reg_init P_((OnigRegex reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, const OnigSyntaxType* syntax)); ONIG_EXTERN int onig_new_without_alloc P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); ONIG_EXTERN @@ -711,9 +741,11 @@ int onig_recompile P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pat ONIG_EXTERN int onig_recompile_deluxe P_((OnigRegex reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo)); ONIG_EXTERN -long onig_search P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); +OnigPosition onig_search P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); +ONIG_EXTERN +OnigPosition onig_search_gpos P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* global_pos, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); ONIG_EXTERN -long onig_match P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option)); +OnigPosition onig_match P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option)); ONIG_EXTERN OnigRegion* onig_region_new P_((void)); ONIG_EXTERN @@ -743,7 +775,7 @@ int onig_number_of_capture_histories P_((OnigRegex reg)); ONIG_EXTERN OnigCaptureTreeNode* onig_get_capture_tree P_((OnigRegion* region)); ONIG_EXTERN -int onig_capture_tree_traverse P_((OnigRegion* region, int at, int(*callback_func)(int,int,int,int,int,void*), void* arg)); +int onig_capture_tree_traverse P_((OnigRegion* region, int at, int(*callback_func)(int,OnigPosition,OnigPosition,int,int,void*), void* arg)); ONIG_EXTERN int onig_noname_group_capture_is_active P_((OnigRegex reg)); ONIG_EXTERN diff --git a/regcomp.c b/regcomp.c index d81334a002..afb8e1cdc4 100644 --- a/regcomp.c +++ b/regcomp.c @@ -1,8 +1,9 @@ /********************************************************************** - regcomp.c - Oniguruma (regular expression library) + regcomp.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011-2012 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,6 +45,7 @@ onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag) return 0; } + #ifndef PLATFORM_UNALIGNED_WORD_ACCESS static unsigned char PadBuf[WORD_ALIGNMENT_SIZE]; #endif @@ -152,7 +154,7 @@ onig_bbuf_init(BBuf* buf, OnigDistance size) if (IS_NULL(buf->p)) return(ONIGERR_MEMORY); } - buf->alloc = (unsigned int)size; + buf->alloc = (unsigned int )size; buf->used = 0; return 0; } @@ -433,7 +435,7 @@ add_compile_string_length(UChar* s ARG_UNUSED, int mb_len, OnigDistance str_len, if (IS_NEED_STR_LEN_OP_EXACT(op)) len += SIZE_LENGTH; - len += mb_len * str_len; + len += mb_len * (int )str_len; return len; } @@ -1262,6 +1264,26 @@ compile_length_enclose_node(EncloseNode* node, regex_t* reg) } break; + case ENCLOSE_CONDITION: + len = SIZE_OP_CONDITION; + if (NTYPE(node->target) == NT_ALT) { + Node* x = node->target; + + tlen = compile_length_tree(NCAR(x), reg); /* yes-node */ + if (tlen < 0) return tlen; + len += tlen + SIZE_OP_JUMP; + if (NCDR(x) == NULL) return ONIGERR_PARSER_BUG; + x = NCDR(x); + tlen = compile_length_tree(NCAR(x), reg); /* no-node */ + if (tlen < 0) return tlen; + len += tlen; + if (NCDR(x) != NULL) return ONIGERR_INVALID_CONDITION_PATTERN; + } + else { + return ONIGERR_PARSER_BUG; + } + break; + default: return ONIGERR_TYPE_BUG; break; @@ -1365,6 +1387,39 @@ compile_enclose_node(EncloseNode* node, regex_t* reg) } break; + case ENCLOSE_CONDITION: + r = add_opcode(reg, OP_CONDITION); + if (r) return r; + r = add_mem_num(reg, node->regnum); + if (r) return r; + + if (NTYPE(node->target) == NT_ALT) { + Node* x = node->target; + int len2; + + len = compile_length_tree(NCAR(x), reg); /* yes-node */ + if (len < 0) return len; + if (NCDR(x) == NULL) return ONIGERR_PARSER_BUG; + x = NCDR(x); + len2 = compile_length_tree(NCAR(x), reg); /* no-node */ + if (len2 < 0) return len2; + if (NCDR(x) != NULL) return ONIGERR_INVALID_CONDITION_PATTERN; + + x = node->target; + r = add_rel_addr(reg, len + SIZE_OP_JUMP); + if (r) return r; + r = compile_tree(NCAR(x), reg); /* yes-node */ + if (r) return r; + r = add_opcode_rel_addr(reg, OP_JUMP, len2); + if (r) return r; + x = NCDR(x); + r = compile_tree(NCAR(x), reg); /* no-node */ + } + else { + return ONIGERR_PARSER_BUG; + } + break; + default: return ONIGERR_TYPE_BUG; break; @@ -1419,12 +1474,28 @@ compile_anchor_node(AnchorNode* node, regex_t* reg) case ANCHOR_SEMI_END_BUF: r = add_opcode(reg, OP_SEMI_END_BUF); break; case ANCHOR_BEGIN_POSITION: r = add_opcode(reg, OP_BEGIN_POSITION); break; - case ANCHOR_WORD_BOUND: r = add_opcode(reg, OP_WORD_BOUND); break; - case ANCHOR_NOT_WORD_BOUND: r = add_opcode(reg, OP_NOT_WORD_BOUND); break; + /* used for implicit anchor optimization: /.*a/ ==> /(?:^|\G).*a/ */ + case ANCHOR_ANYCHAR_STAR: r = add_opcode(reg, OP_BEGIN_POS_OR_LINE); break; + + case ANCHOR_WORD_BOUND: + if (node->ascii_range) r = add_opcode(reg, OP_ASCII_WORD_BOUND); + else r = add_opcode(reg, OP_WORD_BOUND); + break; + case ANCHOR_NOT_WORD_BOUND: + if (node->ascii_range) r = add_opcode(reg, OP_NOT_ASCII_WORD_BOUND); + else r = add_opcode(reg, OP_NOT_WORD_BOUND); + break; #ifdef USE_WORD_BEGIN_END - case ANCHOR_WORD_BEGIN: r = add_opcode(reg, OP_WORD_BEGIN); break; - case ANCHOR_WORD_END: r = add_opcode(reg, OP_WORD_END); break; + case ANCHOR_WORD_BEGIN: + if (node->ascii_range) r = add_opcode(reg, OP_ASCII_WORD_BEGIN); + else r = add_opcode(reg, OP_WORD_BEGIN); + break; + case ANCHOR_WORD_END: + if (node->ascii_range) r = add_opcode(reg, OP_ASCII_WORD_END); + else r = add_opcode(reg, OP_WORD_END); + break; #endif + case ANCHOR_KEEP: r = add_opcode(reg, OP_KEEP); break; case ANCHOR_PREC_READ: r = add_opcode(reg, OP_PUSH_POS); @@ -1642,8 +1713,14 @@ compile_tree(Node* node, regex_t* reg) switch (NCTYPE(node)->ctype) { case ONIGENC_CTYPE_WORD: - if (NCTYPE(node)->not != 0) op = OP_NOT_WORD; - else op = OP_WORD; + if (NCTYPE(node)->ascii_range != 0) { + if (NCTYPE(node)->not != 0) op = OP_NOT_ASCII_WORD; + else op = OP_ASCII_WORD; + } + else { + if (NCTYPE(node)->not != 0) op = OP_NOT_WORD; + else op = OP_WORD; + } break; default: return ONIGERR_TYPE_BUG; @@ -2031,6 +2108,7 @@ quantifiers_memory_node_info(Node* node) case ENCLOSE_OPTION: case ENCLOSE_STOP_BACKTRACK: + case ENCLOSE_CONDITION: r = quantifiers_memory_node_info(en->target); break; default: @@ -2162,6 +2240,7 @@ get_min_match_length(Node* node, OnigDistance *min, ScanEnv* env) #endif case ENCLOSE_OPTION: case ENCLOSE_STOP_BACKTRACK: + case ENCLOSE_CONDITION: r = get_min_match_length(en->target, min, env); break; } @@ -2279,6 +2358,7 @@ get_max_match_length(Node* node, OnigDistance *max, ScanEnv* env) #endif case ENCLOSE_OPTION: case ENCLOSE_STOP_BACKTRACK: + case ENCLOSE_CONDITION: r = get_max_match_length(en->target, max, env); break; } @@ -2310,7 +2390,7 @@ get_char_length_tree1(Node* node, regex_t* reg, int* len, int level) do { r = get_char_length_tree1(NCAR(node), reg, &tlen, level); if (r == 0) - *len = (int)distance_add(*len, tlen); + *len = (int )distance_add(*len, tlen); } while (r == 0 && IS_NOT_NULL(node = NCDR(node))); break; @@ -2357,7 +2437,7 @@ get_char_length_tree1(Node* node, regex_t* reg, int* len, int level) if (qn->lower == qn->upper) { r = get_char_length_tree1(qn->target, reg, &tlen, level); if (r == 0) - *len = (int)distance_multiply(tlen, qn->lower); + *len = (int )distance_multiply(tlen, qn->lower); } else r = GET_CHAR_LEN_VARLEN; @@ -2401,6 +2481,7 @@ get_char_length_tree1(Node* node, regex_t* reg, int* len, int level) #endif case ENCLOSE_OPTION: case ENCLOSE_STOP_BACKTRACK: + case ENCLOSE_CONDITION: r = get_char_length_tree1(en->target, reg, len, level); break; default: @@ -2433,7 +2514,7 @@ is_not_included(Node* x, Node* y, regex_t* reg) int i; OnigDistance len; OnigCodePoint code; - UChar *p; + UChar *p, c; int ytype; retry: @@ -2444,7 +2525,8 @@ is_not_included(Node* x, Node* y, regex_t* reg) switch (ytype) { case NT_CTYPE: if (NCTYPE(y)->ctype == NCTYPE(x)->ctype && - NCTYPE(y)->not != NCTYPE(x)->not) + NCTYPE(y)->not != NCTYPE(x)->not && + NCTYPE(y)->ascii_range == NCTYPE(x)->ascii_range) return 1; else return 0; @@ -2480,7 +2562,12 @@ is_not_included(Node* x, Node* y, regex_t* reg) if (IS_NULL(xc->mbuf) && !IS_NCCLASS_NOT(xc)) { for (i = 0; i < SINGLE_BYTE_SIZE; i++) { if (BITSET_AT(xc->bs, i)) { - if (IS_CODE_SB_WORD(reg->enc, i)) return 0; + if (NCTYPE(y)->ascii_range) { + if (IS_CODE_SB_WORD(reg->enc, i)) return 0; + } + else { + if (ONIGENC_IS_CODE_WORD(reg->enc, i)) return 0; + } } } return 1; @@ -2489,7 +2576,12 @@ is_not_included(Node* x, Node* y, regex_t* reg) } else { for (i = 0; i < SINGLE_BYTE_SIZE; i++) { - if (! IS_CODE_SB_WORD(reg->enc, i)) { + int is_word; + if (NCTYPE(y)->ascii_range) + is_word = IS_CODE_SB_WORD(reg->enc, i); + else + is_word = ONIGENC_IS_CODE_WORD(reg->enc, i); + if (! is_word) { if (!IS_NCCLASS_NOT(xc)) { if (BITSET_AT(xc->bs, i)) return 0; @@ -2547,14 +2639,23 @@ is_not_included(Node* x, Node* y, regex_t* reg) if (NSTRING_LEN(x) == 0) break; + c = *(xs->s); switch (ytype) { case NT_CTYPE: switch (NCTYPE(y)->ctype) { case ONIGENC_CTYPE_WORD: - if (ONIGENC_IS_MBC_WORD(reg->enc, xs->s, xs->end)) - return NCTYPE(y)->not; - else - return !(NCTYPE(y)->not); + if (NCTYPE(y)->ascii_range) { + if (ONIGENC_IS_MBC_ASCII_WORD(reg->enc, xs->s, xs->end)) + return NCTYPE(y)->not; + else + return !(NCTYPE(y)->not); + } + else { + if (ONIGENC_IS_MBC_WORD(reg->enc, xs->s, xs->end)) + return NCTYPE(y)->not; + else + return !(NCTYPE(y)->not); + } break; default: break; @@ -2582,7 +2683,7 @@ is_not_included(Node* x, Node* y, regex_t* reg) return 0; } else { - for (i = 0, p = ys->s, q = xs->s; (OnigDistance)i < len; i++, p++, q++) { + for (i = 0, p = ys->s, q = xs->s; (OnigDistance )i < len; i++, p++, q++) { if (*p != *q) return 1; } } @@ -2671,6 +2772,7 @@ get_head_value_node(Node* node, int exact, regex_t* reg) case ENCLOSE_MEMORY: case ENCLOSE_STOP_BACKTRACK: + case ENCLOSE_CONDITION: n = get_head_value_node(en->target, exact, reg); break; } @@ -3069,6 +3171,11 @@ setup_subexp_call(Node* node, ScanEnv* env) cn->unset_addr_list = env->unset_addr_list; } #ifdef USE_NAMED_GROUP +#ifdef USE_PERL_SUBEXP_CALL + else if (cn->name == cn->name_end) { + goto set_call_attr; + } +#endif else { int *refs; @@ -3079,7 +3186,8 @@ setup_subexp_call(Node* node, ScanEnv* env) ONIGERR_UNDEFINED_NAME_REFERENCE, cn->name, cn->name_end); return ONIGERR_UNDEFINED_NAME_REFERENCE; } - else if (n > 1) { + else if (n > 1 && + ! IS_SYNTAX_BV(env->syntax, ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL)) { onig_scan_env_set_error_string(env, ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL, cn->name, cn->name_end); return ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL; @@ -3172,7 +3280,7 @@ setup_look_behind(Node* node, regex_t* reg, ScanEnv* env) } static int -next_setup(Node* node, Node* next_node, regex_t* reg) +next_setup(Node* node, Node* next_node, int in_root, regex_t* reg) { int type; @@ -3188,7 +3296,7 @@ next_setup(Node* node, Node* next_node, regex_t* reg) qn->next_head_exact = n; } #endif - /* automatic posseivation a*b ==> (?>a*)b */ + /* automatic possessivation a*b ==> (?>a*)b */ if (qn->lower <= 1) { int ttype = NTYPE(qn->target); if (IS_NODE_TYPE_SIMPLE(ttype)) { @@ -3206,10 +3314,32 @@ next_setup(Node* node, Node* next_node, regex_t* reg) } } } + +#ifndef ONIG_DONT_OPTIMIZE + if (NTYPE(node) == NT_QTFR && /* the type may be changed by above block */ + in_root && /* qn->lower == 0 && */ + NTYPE(qn->target) == NT_CANY && + ! IS_MULTILINE(reg->options)) { + /* implicit anchor: /.*a/ ==> /(?:^|\G).*a/ */ + Node *np; + np = onig_node_new_list(NULL_NODE, NULL_NODE); + CHECK_NULL_RETURN_MEMERR(np); + swap_node(node, np); + NCDR(node) = onig_node_new_list(np, NULL_NODE); + if (IS_NULL(NCDR(node))) { + onig_node_free(np); + return ONIGERR_MEMORY; + } + np = onig_node_new_anchor(ANCHOR_ANYCHAR_STAR); /* (?:^|\G) */ + CHECK_NULL_RETURN_MEMERR(np); + NCAR(node) = np; + } +#endif } } else if (type == NT_ENCLOSE) { EncloseNode* en = NENCLOSE(node); + in_root = 0; if (en->type == ENCLOSE_MEMORY) { node = en->target; goto retry; @@ -3222,7 +3352,7 @@ next_setup(Node* node, Node* next_node, regex_t* reg) static int update_string_node_case_fold(regex_t* reg, Node *node) { - UChar *p, *end, buf[ONIGENC_MBC_CASE_FOLD_MAXLEN]; + UChar *p, *q, *end, buf[ONIGENC_MBC_CASE_FOLD_MAXLEN]; UChar *sbuf, *ebuf, *sp; int r, i, len; OnigDistance sbuf_size; @@ -3238,10 +3368,15 @@ update_string_node_case_fold(regex_t* reg, Node *node) p = sn->s; while (p < end) { len = ONIGENC_MBC_CASE_FOLD(reg->enc, reg->case_fold_flag, &p, end, buf); + q = buf; for (i = 0; i < len; i++) { if (sp >= ebuf) { - sbuf = (UChar* )xrealloc(sbuf, sbuf_size * 2); - CHECK_NULL_RETURN_MEMERR(sbuf); + UChar* p = (UChar* )xrealloc(sbuf, sbuf_size * 2); + if (IS_NULL(p)) { + xfree(sbuf); + return ONIGERR_MEMORY; + } + sbuf = p; sp = sbuf + sbuf_size; sbuf_size *= 2; ebuf = sbuf + sbuf_size; @@ -3288,18 +3423,22 @@ expand_case_fold_string_alt(int item_num, OnigCaseFoldCodeItem items[], UChar *p, int slen, UChar *end, regex_t* reg, Node **rnode) { - int r, i, j, len, varlen; + int r, i, j, len, varlen, varclen; Node *anode, *var_anode, *snode, *xnode, *an; UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN]; *rnode = var_anode = NULL_NODE; varlen = 0; + varclen = 0; for (i = 0; i < item_num; i++) { if (items[i].byte_len != slen) { varlen = 1; break; } + if (items[i].code_len != 1) { + varclen = 1; + } } if (varlen != 0) { @@ -3384,6 +3523,8 @@ expand_case_fold_string_alt(int item_num, OnigCaseFoldCodeItem items[], } } + if (varclen && !varlen) + return 2; return varlen; mem_err2: @@ -3401,6 +3542,7 @@ expand_case_fold_string(Node* node, regex_t* reg) #define THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION 8 int r, n, len, alt_num; + int varlen = 0; UChar *start, *end, *p; Node *top_root, *root, *snode, *prev_node; OnigCaseFoldCodeItem items[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM]; @@ -3463,6 +3605,7 @@ expand_case_fold_string(Node* node, regex_t* reg) r = expand_case_fold_string_alt(n, items, p, len, end, reg, &prev_node); if (r < 0) goto mem_err; + if (r > 0) varlen = 1; if (r == 1) { if (IS_NULL(root)) { top_root = prev_node; @@ -3476,7 +3619,7 @@ expand_case_fold_string(Node* node, regex_t* reg) root = NCAR(prev_node); } - else { /* r == 0 */ + else { /* r == 0 || r == 2 */ if (IS_NOT_NULL(root)) { if (IS_NULL(onig_node_list_add(root, prev_node))) { onig_node_free(prev_node); @@ -3519,9 +3662,20 @@ expand_case_fold_string(Node* node, regex_t* reg) /* ending */ top_root = (IS_NOT_NULL(top_root) ? top_root : prev_node); - swap_node(node, top_root); + if (!varlen) { + /* When all expanded strings are same length, case-insensitive + BM search will be used. */ + r = update_string_node_case_fold(reg, node); + if (r == 0) { + NSTRING_SET_AMBIG(node); + } + } + else { + swap_node(node, top_root); + r = 0; + } onig_node_free(top_root); - return 0; + return r; mem_err: r = ONIGERR_MEMORY; @@ -3676,6 +3830,7 @@ setup_comb_exp_check(Node* node, int state, ScanEnv* env) #define IN_NOT (1<<1) #define IN_REPEAT (1<<2) #define IN_VAR_REPEAT (1<<3) +#define IN_ROOT (1<<4) /* setup_tree does the following work. 1. check empty loop. (set qn->target_empty_info) @@ -3690,19 +3845,25 @@ setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env) { int type; int r = 0; + int in_root = state & IN_ROOT; + state &= ~IN_ROOT; restart: type = NTYPE(node); switch (type) { case NT_LIST: { Node* prev = NULL_NODE; + int prev_in_root = 0; + state |= in_root; do { r = setup_tree(NCAR(node), reg, state, env); if (IS_NOT_NULL(prev) && r == 0) { - r = next_setup(prev, NCAR(node), reg); + r = next_setup(prev, NCAR(node), prev_in_root, reg); } prev = NCAR(node); + prev_in_root = state & IN_ROOT; + state &= ~IN_ROOT; } while (r == 0 && IS_NOT_NULL(node = NCDR(node))); } break; @@ -3797,21 +3958,47 @@ restart: /* expand string */ #define EXPAND_STRING_MAX_LENGTH 100 if (NTYPE(target) == NT_STR) { - if (!IS_REPEAT_INFINITE(qn->lower) && qn->lower == qn->upper && - qn->lower > 1 && qn->lower <= EXPAND_STRING_MAX_LENGTH) { + if (qn->lower > 1) { + int i, n = qn->lower; OnigDistance len = NSTRING_LEN(target); StrNode* sn = NSTR(target); + Node* np; + + np = onig_node_new_str(sn->s, sn->end); + if (IS_NULL(np)) return ONIGERR_MEMORY; + NSTR(np)->flag = sn->flag; + + for (i = 1; i < n && (i+1) * len <= EXPAND_STRING_MAX_LENGTH; i++) { + r = onig_node_str_cat(np, sn->s, sn->end); + if (r) { + onig_node_free(np); + return r; + } + } + if (i < qn->upper || IS_REPEAT_INFINITE(qn->upper)) { + Node *np1, *np2; - if (len * qn->lower <= EXPAND_STRING_MAX_LENGTH) { - int i, n = qn->lower; - onig_node_conv_to_str_node(node, NSTR(target)->flag); - for (i = 0; i < n; i++) { - r = onig_node_str_cat(node, sn->s, sn->end); - if (r) break; + qn->lower -= i; + if (! IS_REPEAT_INFINITE(qn->upper)) + qn->upper -= i; + + np1 = onig_node_new_list(np, NULL); + if (IS_NULL(np1)) { + onig_node_free(np); + return ONIGERR_MEMORY; + } + swap_node(np1, node); + np2 = onig_node_list_add(node, np1); + if (IS_NULL(np2)) { + onig_node_free(np1); + return ONIGERR_MEMORY; } - onig_node_free(target); - break; /* break case NT_QTFR: */ } + else { + swap_node(np, node); + onig_node_free(np); + } + break; /* break case NT_QTFR: */ } } @@ -3840,6 +4027,7 @@ restart: case ENCLOSE_OPTION: { OnigOptionType options = reg->options; + state |= in_root; reg->options = NENCLOSE(node)->option; r = setup_tree(NENCLOSE(node)->target, reg, state, env); reg->options = options; @@ -3869,6 +4057,18 @@ restart: } } break; + + case ENCLOSE_CONDITION: +#ifdef USE_NAMED_GROUP + if (! IS_ENCLOSE_NAME_REF(NENCLOSE(node)) && + env->num_named > 0 && + IS_SYNTAX_BV(env->syntax, ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP) && + !ONIG_IS_OPTION_ON(env->option, ONIG_OPTION_CAPTURE_GROUP)) { + return ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED; + } +#endif + r = setup_tree(NENCLOSE(node)->target, reg, state, env); + break; } } break; @@ -3894,9 +4094,15 @@ restart: #define ALLOWED_ENCLOSE_IN_LB_NOT 0 #define ALLOWED_ANCHOR_IN_LB \ -( ANCHOR_LOOK_BEHIND | ANCHOR_BEGIN_LINE | ANCHOR_END_LINE | ANCHOR_BEGIN_BUF | ANCHOR_BEGIN_POSITION ) +( ANCHOR_LOOK_BEHIND | ANCHOR_LOOK_BEHIND_NOT | ANCHOR_BEGIN_LINE | \ + ANCHOR_END_LINE | ANCHOR_BEGIN_BUF | ANCHOR_BEGIN_POSITION | ANCHOR_KEEP | \ + ANCHOR_WORD_BOUND | ANCHOR_NOT_WORD_BOUND | \ + ANCHOR_WORD_BEGIN | ANCHOR_WORD_END ) #define ALLOWED_ANCHOR_IN_LB_NOT \ -( ANCHOR_LOOK_BEHIND | ANCHOR_LOOK_BEHIND_NOT | ANCHOR_BEGIN_LINE | ANCHOR_END_LINE | ANCHOR_BEGIN_BUF | ANCHOR_BEGIN_POSITION ) +( ANCHOR_LOOK_BEHIND | ANCHOR_LOOK_BEHIND_NOT | ANCHOR_BEGIN_LINE | \ + ANCHOR_END_LINE | ANCHOR_BEGIN_BUF | ANCHOR_BEGIN_POSITION | ANCHOR_KEEP | \ + ANCHOR_WORD_BOUND | ANCHOR_NOT_WORD_BOUND | \ + ANCHOR_WORD_BEGIN | ANCHOR_WORD_END ) case ANCHOR_LOOK_BEHIND: { @@ -3934,32 +4140,151 @@ restart: return r; } -/* set skip map for Boyer-Moor search */ +#ifndef USE_SUNDAY_QUICK_SEARCH +/* set skip map for Boyer-Moore search */ static int -set_bm_skip(UChar* s, UChar* end, OnigEncoding enc ARG_UNUSED, - UChar skip[], int** int_skip) +set_bm_skip(UChar* s, UChar* end, regex_t* reg, + UChar skip[], int** int_skip, int ignore_case) { OnigDistance i, len; + int clen, flen, n, j, k; + UChar *p, buf[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM][ONIGENC_MBC_CASE_FOLD_MAXLEN]; + OnigCaseFoldCodeItem items[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM]; + OnigEncoding enc = reg->enc; len = end - s; if (len < ONIG_CHAR_TABLE_SIZE) { - for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) skip[i] = len; - - for (i = 0; i < len - 1; i++) - skip[s[i]] = len - 1 - i; + for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) skip[i] = (UChar )len; + + n = 0; + for (i = 0; i < len - 1; i += clen) { + p = s + i; + if (ignore_case) + n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, + p, end, items); + clen = enclen(enc, p, end); + + for (j = 0; j < n; j++) { + if ((items[j].code_len != 1) || (items[j].byte_len != clen)) + return 1; /* different length isn't supported. */ + flen = ONIGENC_CODE_TO_MBC(enc, items[j].code[0], buf[j]); + if (flen != clen) + return 1; /* different length isn't supported. */ + } + for (j = 0; j < clen; j++) { + skip[s[i + j]] = (UChar )(len - 1 - i - j); + for (k = 0; k < n; k++) { + skip[buf[k][j]] = (UChar )(len - 1 - i - j); + } + } + } } else { if (IS_NULL(*int_skip)) { *int_skip = (int* )xmalloc(sizeof(int) * ONIG_CHAR_TABLE_SIZE); if (IS_NULL(*int_skip)) return ONIGERR_MEMORY; } - for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) (*int_skip)[i] = (int)len; + for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) (*int_skip)[i] = (int )len; + + n = 0; + for (i = 0; i < len - 1; i += clen) { + p = s + i; + if (ignore_case) + n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, + p, end, items); + clen = enclen(enc, p, end); + + for (j = 0; j < n; j++) { + if ((items[j].code_len != 1) || (items[j].byte_len != clen)) + return 1; /* different length isn't supported. */ + flen = ONIGENC_CODE_TO_MBC(enc, items[j].code[0], buf[j]); + if (flen != clen) + return 1; /* different length isn't supported. */ + } + for (j = 0; j < clen; j++) { + (*int_skip)[s[i + j]] = (int )(len - 1 - i - j); + for (k = 0; k < n; k++) { + (*int_skip)[buf[k][j]] = (int )(len - 1 - i - j); + } + } + } + } + return 0; +} + +#else /* USE_SUNDAY_QUICK_SEARCH */ + +/* set skip map for Sunday's quick search */ +static int +set_bm_skip(UChar* s, UChar* end, regex_t* reg, + UChar skip[], int** int_skip, int ignore_case) +{ + OnigDistance i, len; + int clen, flen, n, j, k; + UChar *p, buf[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM][ONIGENC_MBC_CASE_FOLD_MAXLEN]; + OnigCaseFoldCodeItem items[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM]; + OnigEncoding enc = reg->enc; - for (i = 0; i < len - 1; i++) - (*int_skip)[s[i]] = (int)(len - 1 - i); + len = end - s; + if (len < ONIG_CHAR_TABLE_SIZE) { + for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) skip[i] = (UChar )(len + 1); + + n = 0; + for (i = 0; i < len; i += clen) { + p = s + i; + if (ignore_case) + n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, + p, end, items); + clen = enclen(enc, p, end); + + for (j = 0; j < n; j++) { + if ((items[j].code_len != 1) || (items[j].byte_len != clen)) + return 1; /* different length isn't supported. */ + flen = ONIGENC_CODE_TO_MBC(enc, items[j].code[0], buf[j]); + if (flen != clen) + return 1; /* different length isn't supported. */ + } + for (j = 0; j < clen; j++) { + skip[s[i + j]] = (UChar )(len - i - j); + for (k = 0; k < n; k++) { + skip[buf[k][j]] = (UChar )(len - i - j); + } + } + } + } + else { + if (IS_NULL(*int_skip)) { + *int_skip = (int* )xmalloc(sizeof(int) * ONIG_CHAR_TABLE_SIZE); + if (IS_NULL(*int_skip)) return ONIGERR_MEMORY; + } + for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) (*int_skip)[i] = (int )(len + 1); + + n = 0; + for (i = 0; i < len; i += clen) { + p = s + i; + if (ignore_case) + n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, + p, end, items); + clen = enclen(enc, p, end); + + for (j = 0; j < n; j++) { + if ((items[j].code_len != 1) || (items[j].byte_len != clen)) + return 1; /* different length isn't supported. */ + flen = ONIGENC_CODE_TO_MBC(enc, items[j].code[0], buf[j]); + if (flen != clen) + return 1; /* different length isn't supported. */ + } + for (j = 0; j < clen; j++) { + (*int_skip)[s[i + j]] = (int )(len - i - j); + for (k = 0; k < n; k++) { + (*int_skip)[buf[k][j]] = (int )(len - i - j); + } + } + } } return 0; } +#endif /* USE_SUNDAY_QUICK_SEARCH */ #define OPT_EXACT_MAXLEN 24 @@ -4539,7 +4864,7 @@ concat_left_node_opt_info(OnigEncoding enc, NodeOptInfo* to, NodeOptInfo* add) if (to->expr.len > 0) { if (add->len.max > 0) { if (to->expr.len > (int )add->len.max) - to->expr.len = (int)add->len.max; + to->expr.len = (int )add->len.max; if (to->expr.mmd.max == 0) select_opt_exact_info(enc, &to->exb, &to->expr); @@ -4652,7 +4977,7 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) set_mml(&opt->len, slen, max); } - if ((OnigDistance)opt->exb.len == slen) + if ((OnigDistance )opt->exb.len == slen) opt->exb.reach_end = 1; } break; @@ -4685,23 +5010,25 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) case NT_CTYPE: { int i, min, max; + int maxcode; max = ONIGENC_MBC_MAXLEN_DIST(env->enc); if (max == 1) { min = 1; + maxcode = NCTYPE(node)->ascii_range ? 0x80 : SINGLE_BYTE_SIZE; switch (NCTYPE(node)->ctype) { case ONIGENC_CTYPE_WORD: if (NCTYPE(node)->not != 0) { for (i = 0; i < SINGLE_BYTE_SIZE; i++) { - if (! ONIGENC_IS_CODE_WORD(env->enc, i)) { + if (! ONIGENC_IS_CODE_WORD(env->enc, i) || i >= maxcode) { add_char_opt_map_info(&opt->map, (UChar )i, env->enc); } } } else { - for (i = 0; i < SINGLE_BYTE_SIZE; i++) { + for (i = 0; i < maxcode; i++) { if (ONIGENC_IS_CODE_WORD(env->enc, i)) { add_char_opt_map_info(&opt->map, (UChar )i, env->enc); } @@ -4733,6 +5060,7 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) case ANCHOR_END_BUF: case ANCHOR_SEMI_END_BUF: case ANCHOR_END_LINE: + case ANCHOR_LOOK_BEHIND: /* just for (?<=x).* */ add_opt_anc_info(&opt->anc, NANCHOR(node)->type); break; @@ -4756,7 +5084,6 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) break; case ANCHOR_PREC_READ_NOT: - case ANCHOR_LOOK_BEHIND: /* Sorry, I can't make use of it. */ case ANCHOR_LOOK_BEHIND_NOT: break; } @@ -4814,10 +5141,11 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) r = optimize_node_left(qn->target, &nopt, env); if (r) break; - if (qn->lower == 0 && IS_REPEAT_INFINITE(qn->upper)) { + if (/*qn->lower == 0 &&*/ IS_REPEAT_INFINITE(qn->upper)) { if (env->mmd.max == 0 && NTYPE(qn->target) == NT_CANY && qn->greedy) { if (IS_MULTILINE(env->options)) + /* implicit anchor: /.*a/ ==> /\A.*a/ */ add_opt_anc_info(&opt->anc, ANCHOR_ANYCHAR_STAR_ML); else add_opt_anc_info(&opt->anc, ANCHOR_ANYCHAR_STAR); @@ -4897,6 +5225,7 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) break; case ENCLOSE_STOP_BACKTRACK: + case ENCLOSE_CONDITION: r = optimize_node_left(en->target, opt, env); break; } @@ -4919,29 +5248,38 @@ static int set_optimize_exact_info(regex_t* reg, OptExactInfo* e) { int r; + int allow_reverse; if (e->len == 0) return 0; - if (e->ignore_case) { - reg->exact = (UChar* )xmalloc(e->len); - CHECK_NULL_RETURN_MEMERR(reg->exact); - xmemcpy(reg->exact, e->s, e->len); - reg->exact_end = reg->exact + e->len; - reg->optimize = ONIG_OPTIMIZE_EXACT_IC; - } - else { - int allow_reverse; - - reg->exact = str_dup(e->s, e->s + e->len); - CHECK_NULL_RETURN_MEMERR(reg->exact); - reg->exact_end = reg->exact + e->len; + reg->exact = (UChar* )xmalloc(e->len); + CHECK_NULL_RETURN_MEMERR(reg->exact); + xmemcpy(reg->exact, e->s, e->len); + reg->exact_end = reg->exact + e->len; - allow_reverse = + allow_reverse = ONIGENC_IS_ALLOWED_REVERSE_MATCH(reg->enc, reg->exact, reg->exact_end); + if (e->ignore_case) { + if (e->len >= 3 || (e->len >= 2 && allow_reverse)) { + r = set_bm_skip(reg->exact, reg->exact_end, reg, + reg->map, &(reg->int_map), 1); + if (r == 0) { + reg->optimize = (allow_reverse != 0 + ? ONIG_OPTIMIZE_EXACT_BM_IC : ONIG_OPTIMIZE_EXACT_BM_NOT_REV_IC); + } + else { + reg->optimize = ONIG_OPTIMIZE_EXACT_IC; + } + } + else { + reg->optimize = ONIG_OPTIMIZE_EXACT_IC; + } + } + else { if (e->len >= 3 || (e->len >= 2 && allow_reverse)) { - r = set_bm_skip(reg->exact, reg->exact_end, reg->enc, - reg->map, &(reg->int_map)); + r = set_bm_skip(reg->exact, reg->exact_end, reg, + reg->map, &(reg->int_map), 0); if (r) return r; reg->optimize = (allow_reverse != 0 @@ -4956,7 +5294,7 @@ set_optimize_exact_info(regex_t* reg, OptExactInfo* e) reg->dmax = e->mmd.max; if (reg->dmin != ONIG_INFINITE_DISTANCE) { - reg->threshold_len = (int)(reg->dmin + (reg->exact_end - reg->exact)); + reg->threshold_len = (int )(reg->dmin + (reg->exact_end - reg->exact)); } return 0; @@ -4975,7 +5313,7 @@ set_optimize_map_info(regex_t* reg, OptMapInfo* m) reg->dmax = m->mmd.max; if (reg->dmin != ONIG_INFINITE_DISTANCE) { - reg->threshold_len = (int)(reg->dmin + 1); + reg->threshold_len = (int )(reg->dmin + 1); } } @@ -5008,7 +5346,8 @@ set_optimize_info_from_tree(Node* node, regex_t* reg, ScanEnv* scan_env) if (r) return r; reg->anchor = opt.anc.left_anchor & (ANCHOR_BEGIN_BUF | - ANCHOR_BEGIN_POSITION | ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML); + ANCHOR_BEGIN_POSITION | ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML | + ANCHOR_LOOK_BEHIND); reg->anchor |= opt.anc.right_anchor & (ANCHOR_END_BUF | ANCHOR_SEMI_END_BUF); @@ -5154,7 +5493,7 @@ print_anchor(FILE* f, int anchor) } if (anchor & ANCHOR_ANYCHAR_STAR_ML) { if (q) fprintf(f, ", "); - fprintf(f, "anychar-star-pl"); + fprintf(f, "anychar-star-ml"); } fprintf(f, "]"); @@ -5164,7 +5503,8 @@ static void print_optimize_info(FILE* f, regex_t* reg) { static const char* on[] = { "NONE", "EXACT", "EXACT_BM", "EXACT_BM_NOT_REV", - "EXACT_IC", "MAP" }; + "EXACT_IC", "MAP", + "EXACT_BM_IC", "EXACT_BM_NOT_REV_IC" }; fprintf(f, "optimize: %s\n", on[reg->optimize]); fprintf(f, " anchor: "); print_anchor(f, reg->anchor); @@ -5244,7 +5584,7 @@ size_t onig_memsize(const regex_t *reg) { size_t size = sizeof(regex_t); - if (!reg) return 0; + if (IS_NULL(reg)) return 0; if (IS_NOT_NULL(reg->p)) size += reg->alloc; if (IS_NOT_NULL(reg->exact)) size += reg->exact_end - reg->exact; if (IS_NOT_NULL(reg->int_map)) size += sizeof(int) * ONIG_CHAR_TABLE_SIZE; @@ -5259,7 +5599,7 @@ size_t onig_region_memsize(const OnigRegion *regs) { size_t size = sizeof(*regs); - if (!regs) return 0; + if (IS_NULL(regs)) return 0; size += regs->allocated * (sizeof(*regs->beg) + sizeof(*regs->end)); return size; } @@ -5405,7 +5745,7 @@ onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, reg->num_call = 0; #endif - r = setup_tree(root, reg, 0, &scan_env); + r = setup_tree(root, reg, IN_ROOT, &scan_env); if (r != 0) goto err_unset; #ifdef ONIG_DEBUG_PARSE_TREE @@ -5554,7 +5894,7 @@ onig_reg_init(regex_t* reg, OnigOptionType option, return ONIGERR_INVALID_ARGUMENT; if (ONIGENC_IS_UNDEF(enc)) - return ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED; + return ONIGERR_DEFAULT_ENCODING_IS_NOT_SET; if ((option & (ONIG_OPTION_DONT_CAPTURE_GROUP|ONIG_OPTION_CAPTURE_GROUP)) == (ONIG_OPTION_DONT_CAPTURE_GROUP|ONIG_OPTION_CAPTURE_GROUP)) { @@ -5779,19 +6119,26 @@ OnigOpInfoType OnigOpInfo[] = { { OP_NOT_WORD_BOUND, "not-word-bound", ARG_NON }, { OP_WORD_BEGIN, "word-begin", ARG_NON }, { OP_WORD_END, "word-end", ARG_NON }, + { OP_ASCII_WORD, "ascii-word", ARG_NON }, + { OP_NOT_ASCII_WORD, "not-ascii-word", ARG_NON }, + { OP_ASCII_WORD_BOUND, "ascii-word-bound", ARG_NON }, + { OP_NOT_ASCII_WORD_BOUND,"not-ascii-word-bound", ARG_NON }, + { OP_ASCII_WORD_BEGIN, "ascii-word-begin", ARG_NON }, + { OP_ASCII_WORD_END, "ascii-word-end", ARG_NON }, { OP_BEGIN_BUF, "begin-buf", ARG_NON }, { OP_END_BUF, "end-buf", ARG_NON }, { OP_BEGIN_LINE, "begin-line", ARG_NON }, { OP_END_LINE, "end-line", ARG_NON }, { OP_SEMI_END_BUF, "semi-end-buf", ARG_NON }, { OP_BEGIN_POSITION, "begin-position", ARG_NON }, + { OP_BEGIN_POS_OR_LINE, "begin-pos-or-line", ARG_NON }, { OP_BACKREF1, "backref1", ARG_NON }, { OP_BACKREF2, "backref2", ARG_NON }, { OP_BACKREFN, "backrefn", ARG_MEMNUM }, { OP_BACKREFN_IC, "backrefn-ic", ARG_SPECIAL }, { OP_BACKREF_MULTI, "backref_multi", ARG_SPECIAL }, { OP_BACKREF_MULTI_IC, "backref_multi-ic", ARG_SPECIAL }, - { OP_BACKREF_WITH_LEVEL, "backref_at_level", ARG_SPECIAL }, + { OP_BACKREF_WITH_LEVEL, "backref_at_level", ARG_SPECIAL }, { OP_MEMORY_START_PUSH, "mem-start-push", ARG_MEMNUM }, { OP_MEMORY_START, "mem-start", ARG_MEMNUM }, { OP_MEMORY_END_PUSH, "mem-end-push", ARG_MEMNUM }, @@ -5800,6 +6147,7 @@ OnigOpInfoType OnigOpInfo[] = { { OP_MEMORY_END_REC, "mem-end-rec", ARG_MEMNUM }, { OP_SET_OPTION_PUSH, "set-option-push", ARG_OPTION }, { OP_SET_OPTION, "set-option", ARG_OPTION }, + { OP_KEEP, "keep", ARG_NON }, { OP_FAIL, "fail", ARG_NON }, { OP_JUMP, "jump", ARG_RELADDR }, { OP_PUSH, "push", ARG_RELADDR }, @@ -5827,6 +6175,7 @@ OnigOpInfoType OnigOpInfo[] = { { OP_FAIL_LOOK_BEHIND_NOT, "fail-look-behind-not", ARG_NON }, { OP_CALL, "call", ARG_ABSADDR }, { OP_RETURN, "return", ARG_NON }, + { OP_CONDITION, "condition", ARG_SPECIAL }, { OP_STATE_CHECK_PUSH, "state-check-push", ARG_SPECIAL }, { OP_STATE_CHECK_PUSH_OR_JUMP, "state-check-push-or-jump", ARG_SPECIAL }, { OP_STATE_CHECK, "state-check", ARG_STATE_CHECK }, @@ -6118,6 +6467,12 @@ onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nextp, fprintf(f, ":%d:(%d)", scn, addr); break; + case OP_CONDITION: + GET_MEMNUM_INC(mem, bp); + GET_RELADDR_INC(addr, bp); + fprintf(f, ":%d:(%d)", mem, addr); + break; + default: fprintf(stderr, "onig_print_compiled_byte_code: undefined code %d\n", *--bp); @@ -6134,17 +6489,15 @@ print_compiled_byte_code_list(FILE* f, regex_t* reg) UChar* bp = reg->p; UChar* end = reg->p + reg->used; - fprintf(f, "code length: %d\n", reg->used); + fprintf(f, "code length: %d", reg->used); ncode = -1; while (bp < end) { ncode++; - if (bp > reg->p) { - if (ncode % 5 == 0) - fprintf(f, "\n%ld:", bp-reg->p); - else - fprintf(f, " %ld:", bp-reg->p); - } + if (ncode % 5 == 0) + fprintf(f, "\n%ld:", bp - reg->p); + else + fprintf(f, " %ld:", bp - reg->p); onig_print_compiled_byte_code(f, bp, end, &bp, reg->enc); } @@ -6200,7 +6553,7 @@ print_indent_tree(FILE* f, Node* node, int indent) if (IS_NCCLASS_NOT(NCCLASS(node))) fputs(" not", f); if (NCCLASS(node)->mbuf) { BBuf* bbuf = NCCLASS(node)->mbuf; - for (i = 0; i < (int)bbuf->used; i++) { + for (i = 0; i < (int )bbuf->used; i++) { if (i > 0) fprintf(f, ","); fprintf(f, "%0x", bbuf->p[i]); } @@ -6236,6 +6589,7 @@ print_indent_tree(FILE* f, Node* node, int indent) case ANCHOR_END_LINE: fputs("end line", f); break; case ANCHOR_SEMI_END_BUF: fputs("semi end buf", f); break; case ANCHOR_BEGIN_POSITION: fputs("begin position", f); break; + case ANCHOR_ANYCHAR_STAR: fputs("begin position/line", f); break; case ANCHOR_WORD_BOUND: fputs("word bound", f); break; case ANCHOR_NOT_WORD_BOUND: fputs("not word bound", f); break; @@ -6247,6 +6601,7 @@ print_indent_tree(FILE* f, Node* node, int indent) case ANCHOR_PREC_READ_NOT: fputs("prec read not", f); container_p = TRUE; break; case ANCHOR_LOOK_BEHIND: fputs("look_behind", f); container_p = TRUE; break; case ANCHOR_LOOK_BEHIND_NOT: fputs("look_behind_not",f); container_p = TRUE; break; + case ANCHOR_KEEP: fputs("keep",f); break; default: fprintf(f, "ERROR: undefined anchor type.\n"); @@ -6296,6 +6651,9 @@ print_indent_tree(FILE* f, Node* node, int indent) case ENCLOSE_STOP_BACKTRACK: fprintf(f, "stop-bt"); break; + case ENCLOSE_CONDITION: + fprintf(f, "condition:%d", NENCLOSE(node)->regnum); + break; default: break; diff --git a/regenc.c b/regenc.c index 70b56ef727..288eac433d 100644 --- a/regenc.c +++ b/regenc.c @@ -1,8 +1,9 @@ /********************************************************************** - regenc.c - Oniguruma (regular expression library) + regenc.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2007 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -66,7 +67,7 @@ onigenc_get_right_adjust_char_head(OnigEncoding enc, const UChar* start, const U { UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s, end); if (p < s) { - p += enclen(enc, p, end); + p += enclen(enc, p, end); } return p; } @@ -760,7 +761,7 @@ onigenc_mb2_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf) if (enclen(enc, buf, p) != (p - buf)) return ONIGERR_INVALID_CODE_POINT_VALUE; #endif - return (int)(p - buf); + return (int )(p - buf); } extern int @@ -783,7 +784,7 @@ onigenc_mb4_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf) if (enclen(enc, buf, p) != (p - buf)) return ONIGERR_INVALID_CODE_POINT_VALUE; #endif - return (int)(p - buf); + return (int )(p - buf); } extern int @@ -812,7 +813,7 @@ onigenc_minimum_property_name_to_ctype(OnigEncoding enc, UChar* p, UChar* end) len = onigenc_strlen(enc, p, end); for (pbe = (pb = PBS) + sizeof(PBS)/sizeof(PBS[0]); pb < pbe; ++pb) { if (len == pb->len && - STRNCASECMP((char *)p, (char *)pb->name, len) == 0) + onigenc_with_ascii_strnicmp(enc, p, end, pb->name, pb->len) == 0) return pb->ctype; } @@ -868,6 +869,27 @@ onigenc_with_ascii_strncmp(OnigEncoding enc, const UChar* p, const UChar* end, return 0; } +extern int +onigenc_with_ascii_strnicmp(OnigEncoding enc, const UChar* p, const UChar* end, + const UChar* sascii /* ascii */, int n) +{ + int x, c; + + while (n-- > 0) { + if (p >= end) return (int )(*sascii); + + c = (int )ONIGENC_MBC_TO_CODE(enc, p, end); + if (ONIGENC_IS_ASCII_CODE(c)) + c = ONIGENC_ASCII_CODE_TO_LOWER_CASE(c); + x = ONIGENC_ASCII_CODE_TO_LOWER_CASE(*sascii) - c; + if (x) return x; + + sascii++; + p += enclen(enc, p, end); + } + return 0; +} + /* Property management */ static int resize_property_list(int new_size, const OnigCodePoint*** plist, int* psize) diff --git a/regenc.h b/regenc.h index 16fe9db813..3ad3faea3e 100644 --- a/regenc.h +++ b/regenc.h @@ -1,10 +1,11 @@ #ifndef ONIGURUMA_REGENC_H #define ONIGURUMA_REGENC_H /********************************************************************** - regenc.h - Oniguruma (regular expression library) + regenc.h - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -107,10 +108,10 @@ typedef struct { #define PosixBracketEntryInit(name, ctype) {(const UChar *)name, ctype, (short int)(sizeof(name) - 1)} -/* #define USE_CRNL_AS_LINE_TERMINATOR */ +#define USE_CRNL_AS_LINE_TERMINATOR #define USE_UNICODE_PROPERTIES /* #define USE_UNICODE_CASE_FOLD_TURKISH_AZERI */ -/* #define USE_UNICODE_ALL_LINE_TERMINATORS */ /* see Unicode.org UTF#18 */ +/* #define USE_UNICODE_ALL_LINE_TERMINATORS */ /* see Unicode.org UTS #18 */ #define ONIG_ENCODING_INIT_DEFAULT ONIG_ENCODING_ASCII @@ -170,6 +171,8 @@ ONIG_EXTERN const UChar OnigEncISO_8859_1_ToUpperCaseTable[]; ONIG_EXTERN int onigenc_with_ascii_strncmp P_((OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n)); +ONIG_EXTERN int +onigenc_with_ascii_strnicmp P_((OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n)); ONIG_EXTERN UChar* onigenc_step P_((OnigEncoding enc, const UChar* p, const UChar* end, int n)); @@ -190,6 +193,11 @@ ONIG_EXTERN const unsigned short OnigEncAsciiCtypeTable[]; (ONIGENC_IS_ASCII_CODE_CTYPE(code, ONIGENC_CTYPE_UPPER) ||\ ONIGENC_IS_ASCII_CODE_CTYPE(code, ONIGENC_CTYPE_LOWER)) +/* Check if the code is in the range. (from <= code && code <= to) */ +#define ONIGENC_IS_IN_RANGE(code, from, to) \ + ((OnigCodePoint )((code) - (from)) <= (OnigCodePoint )((to) - (from))) + + #ifdef ONIG_ENC_REGISTER extern int ONIG_ENC_REGISTER(const char *, OnigEncodingType*); #define OnigEncodingName(n) encoding_##n diff --git a/regerror.c b/regerror.c index 3c8b7371c2..2bf1d320d3 100644 --- a/regerror.c +++ b/regerror.c @@ -1,8 +1,9 @@ /********************************************************************** - regerror.c - Oniguruma (regular expression library) + regerror.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2007 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,7 +40,7 @@ #endif extern UChar* -onig_error_code_to_format(int code) +onig_error_code_to_format(OnigPosition code) { const char *p; @@ -64,8 +65,8 @@ onig_error_code_to_format(int code) p = "undefined bytecode (bug)"; break; case ONIGERR_UNEXPECTED_BYTECODE: p = "unexpected bytecode (bug)"; break; - case ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED: - p = "default multibyte-encoding is not setted"; break; + case ONIGERR_DEFAULT_ENCODING_IS_NOT_SET: + p = "default multibyte-encoding is not set"; break; case ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR: p = "can't convert to wide-char on specified multibyte-encoding"; break; case ONIGERR_INVALID_ARGUMENT: @@ -114,6 +115,8 @@ onig_error_code_to_format(int code) p = "invalid pattern in look-behind"; break; case ONIGERR_INVALID_REPEAT_RANGE_PATTERN: p = "invalid repeat range {lower,upper}"; break; + case ONIGERR_INVALID_CONDITION_PATTERN: + p = "invalid condition pattern"; break; case ONIGERR_TOO_BIG_NUMBER: p = "too big number"; break; case ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE: @@ -140,6 +143,8 @@ onig_error_code_to_format(int code) p = "numbered backref/call is not allowed. (use name)"; break; case ONIGERR_TOO_BIG_WIDE_CHAR_VALUE: p = "too big wide-char value"; break; + case ONIGERR_TOO_SHORT_DIGITS: + p = "too short digits"; break; case ONIGERR_TOO_LONG_WIDE_CHAR_VALUE: p = "too long wide-char value"; break; case ONIGERR_INVALID_CODE_POINT_VALUE: @@ -232,7 +237,7 @@ static int to_ascii(OnigEncoding enc, UChar *s, UChar *end, *is_over = ((p < end) ? 1 : 0); } else { - len = (int)MIN((end - s), buf_size); + len = (int )MIN((end - s), buf_size); xmemcpy(buf, s, (size_t )len); *is_over = ((buf_size < (end - s)) ? 1 : 0); } @@ -246,11 +251,11 @@ static int to_ascii(OnigEncoding enc, UChar *s, UChar *end, extern int #ifdef HAVE_STDARG_PROTOTYPES -onig_error_code_to_str(UChar* s, int code, ...) +onig_error_code_to_str(UChar* s, OnigPosition code, ...) #else onig_error_code_to_str(s, code, va_alist) UChar* s; - int code; + OnigPosition code; va_dcl #endif { @@ -309,7 +314,7 @@ onig_error_code_to_str(s, code, va_alist) } va_end(vargs); - return (int)len; + return (int )len; } void @@ -325,7 +330,7 @@ onig_vsnprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, need = (pat_end - pat) * 4 + 4; - if (n + need < (size_t)bufsize) { + if (n + need < (size_t )bufsize) { strcat((char* )buf, ": /"); s = buf + onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, buf); diff --git a/regexec.c b/regexec.c index ee0a5fa2af..2c16dafda5 100644 --- a/regexec.c +++ b/regexec.c @@ -1,8 +1,9 @@ /********************************************************************** - regexec.c - Oniguruma (regular expression library) + regexec.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011-2012 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,8 +35,44 @@ #ifdef USE_CRNL_AS_LINE_TERMINATOR #define ONIGENC_IS_MBC_CRNL(enc,p,end) \ (ONIGENC_MBC_TO_CODE(enc,p,end) == 13 && \ - ONIGENC_IS_MBC_NEWLINE(enc,(p+enclen(enc,p)),end)) -#endif + ONIGENC_MBC_TO_CODE(enc,(p+enclen(enc,p,end)),end) == 10) +#define ONIGENC_IS_MBC_NEWLINE_EX(enc,p,start,end,option,check_prev) \ + is_mbc_newline_ex((enc),(p),(start),(end),(option),(check_prev)) +static int +is_mbc_newline_ex(OnigEncoding enc, const UChar *p, const UChar *start, + const UChar *end, OnigOptionType option, int check_prev) +{ + if (IS_NEWLINE_CRLF(option)) { + if (ONIGENC_MBC_TO_CODE(enc, p, end) == 0x0a) { + if (check_prev) { + const UChar *prev = onigenc_get_prev_char_head(enc, start, p, end); + if ((prev != NULL) && ONIGENC_MBC_TO_CODE(enc, prev, end) == 0x0d) + return 0; + else + return 1; + } + else + return 1; + } + else { + const UChar *pnext = p + enclen(enc, p, end); + if (pnext < end && + ONIGENC_MBC_TO_CODE(enc, p, end) == 0x0d && + ONIGENC_MBC_TO_CODE(enc, pnext, end) == 0x0a) + return 1; + if (ONIGENC_IS_MBC_NEWLINE(enc, p, end)) + return 1; + return 0; + } + } + else { + return ONIGENC_IS_MBC_NEWLINE(enc, p, end); + } +} +#else /* USE_CRNL_AS_LINE_TERMINATOR */ +#define ONIGENC_IS_MBC_NEWLINE_EX(enc,p,start,end,option,check_prev) \ + ONIGENC_IS_MBC_NEWLINE((enc), (p), (end)) +#endif /* USE_CRNL_AS_LINE_TERMINATOR */ #ifdef USE_CAPTURE_HISTORY static void history_tree_free(OnigCaptureTreeNode* node); @@ -58,6 +95,8 @@ history_tree_clear(OnigCaptureTreeNode* node) node->beg = ONIG_REGION_NOTPOS; node->end = ONIG_REGION_NOTPOS; node->group = -1; + xfree(node->childs); + node->childs = (OnigCaptureTreeNode** )0; } } @@ -106,14 +145,20 @@ history_tree_add_child(OnigCaptureTreeNode* parent, OnigCaptureTreeNode* child) n = HISTORY_TREE_INIT_ALLOC_SIZE; parent->childs = (OnigCaptureTreeNode** )xmalloc(sizeof(OnigCaptureTreeNode*) * n); + CHECK_NULL_RETURN_MEMERR(parent->childs); } else { + OnigCaptureTreeNode** tmp; n = parent->allocated * 2; - parent->childs = + tmp = (OnigCaptureTreeNode** )xrealloc(parent->childs, sizeof(OnigCaptureTreeNode*) * n); + if (tmp == 0) { + history_tree_clear(parent); + return ONIGERR_MEMORY; + } + parent->childs = tmp; } - CHECK_NULL_RETURN_MEMERR(parent->childs); for (i = parent->allocated; i < n; i++) { parent->childs[i] = (OnigCaptureTreeNode* )0; } @@ -128,7 +173,7 @@ history_tree_add_child(OnigCaptureTreeNode* parent, OnigCaptureTreeNode* child) static OnigCaptureTreeNode* history_tree_clone(OnigCaptureTreeNode* node) { - int i; + int i, r; OnigCaptureTreeNode *clone, *child; clone = history_node_new(); @@ -142,7 +187,12 @@ history_tree_clone(OnigCaptureTreeNode* node) history_tree_free(clone); return (OnigCaptureTreeNode* )0; } - history_tree_add_child(clone, child); + r = history_tree_add_child(clone, child); + if (r != 0) { + history_tree_free(child); + history_tree_free(clone); + return (OnigCaptureTreeNode* )0; + } } return clone; @@ -177,11 +227,11 @@ onig_region_resize(OnigRegion* region, int n) n = ONIG_NREGION; if (region->allocated == 0) { - region->beg = (int* )xmalloc(n * sizeof(int)); + region->beg = (OnigPosition* )xmalloc(n * sizeof(OnigPosition)); if (region->beg == 0) return ONIGERR_MEMORY; - region->end = (int* )xmalloc(n * sizeof(int)); + region->end = (OnigPosition* )xmalloc(n * sizeof(OnigPosition)); if (region->end == 0) { xfree(region->beg); return ONIGERR_MEMORY; @@ -190,26 +240,24 @@ onig_region_resize(OnigRegion* region, int n) region->allocated = n; } else if (region->allocated < n) { - int *tmp; + OnigPosition *tmp; region->allocated = 0; - tmp = (int* )xrealloc(region->beg, n * sizeof(int)); + tmp = (OnigPosition* )xrealloc(region->beg, n * sizeof(OnigPosition)); if (tmp == 0) { xfree(region->beg); xfree(region->end); return ONIGERR_MEMORY; } region->beg = tmp; - tmp = (int* )xrealloc(region->end, n * sizeof(int)); + tmp = (OnigPosition* )xrealloc(region->end, n * sizeof(OnigPosition)); if (tmp == 0) { xfree(region->beg); + xfree(region->end); return ONIGERR_MEMORY; } region->end = tmp; - if (region->beg == 0 || region->end == 0) - return ONIGERR_MEMORY; - region->allocated = n; } @@ -247,8 +295,8 @@ onig_region_init(OnigRegion* region) { region->num_regs = 0; region->allocated = 0; - region->beg = (int* )0; - region->end = (int* )0; + region->beg = (OnigPosition* )0; + region->end = (OnigPosition* )0; region->history_root = (OnigCaptureTreeNode* )0; } @@ -283,11 +331,13 @@ extern void onig_region_copy(OnigRegion* to, OnigRegion* from) { #define RREGC_SIZE (sizeof(int) * from->num_regs) - int i; + int i, r; if (to == from) return; - onig_region_resize(to, from->num_regs); + r = onig_region_resize(to, from->num_regs); + if (r) return; + for (i = 0; i < from->num_regs; i++) { to->beg[i] = from->beg[i]; to->end[i] = from->end[i]; @@ -334,19 +384,21 @@ onig_region_copy(OnigRegion* to, OnigRegion* from) #define STK_MASK_MEM_END_OR_MARK 0x8000 /* MEM_END or MEM_END_MARK */ #ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE -#define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start) do {\ +#define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start, arg_gpos) do {\ (msa).stack_p = (void* )0;\ (msa).options = (arg_option);\ (msa).region = (arg_region);\ (msa).start = (arg_start);\ + (msa).gpos = (arg_gpos);\ (msa).best_len = ONIG_MISMATCH;\ } while(0) #else -#define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start) do {\ +#define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start, arg_gpos) do {\ (msa).stack_p = (void* )0;\ (msa).options = (arg_option);\ (msa).region = (arg_region);\ (msa).start = (arg_start);\ + (msa).gpos = (arg_gpos);\ } while(0) #endif @@ -386,9 +438,9 @@ onig_region_copy(OnigRegion* to, OnigRegion* from) if ((msa).state_check_buff) xfree((msa).state_check_buff);\ }\ } while(0) -#else +#else /* USE_COMBINATION_EXPLOSION_CHECK */ #define MATCH_ARG_FREE(msa) if ((msa).stack_p) xfree((msa).stack_p) -#endif +#endif /* USE_COMBINATION_EXPLOSION_CHECK */ @@ -510,13 +562,14 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, state_check_buff[x/8] |= (1<<(x%8)); \ } -#define STACK_PUSH(stack_type,pat,s,sprev) do {\ +#define STACK_PUSH(stack_type,pat,s,sprev,keep) do {\ STACK_ENSURE(1);\ stk->type = (stack_type);\ stk->u.state.pcode = (pat);\ stk->u.state.pstr = (s);\ stk->u.state.pstr_prev = (sprev);\ stk->u.state.state_check = 0;\ + stk->u.state.pkeep = (keep);\ STACK_INC;\ } while(0) @@ -527,13 +580,14 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, STACK_INC;\ } while(0) -#define STACK_PUSH_ALT_WITH_STATE_CHECK(pat,s,sprev,snum) do {\ +#define STACK_PUSH_ALT_WITH_STATE_CHECK(pat,s,sprev,snum,keep) do {\ STACK_ENSURE(1);\ stk->type = STK_ALT;\ stk->u.state.pcode = (pat);\ stk->u.state.pstr = (s);\ stk->u.state.pstr_prev = (sprev);\ stk->u.state.state_check = ((state_check_buff != NULL) ? (snum) : 0);\ + stk->u.state.pkeep = (keep);\ STACK_INC;\ } while(0) @@ -551,12 +605,13 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, #define ELSE_IF_STATE_CHECK_MARK(stk) -#define STACK_PUSH(stack_type,pat,s,sprev) do {\ +#define STACK_PUSH(stack_type,pat,s,sprev,keep) do {\ STACK_ENSURE(1);\ stk->type = (stack_type);\ stk->u.state.pcode = (pat);\ stk->u.state.pstr = (s);\ stk->u.state.pstr_prev = (sprev);\ + stk->u.state.pkeep = (keep);\ STACK_INC;\ } while(0) @@ -567,12 +622,12 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, } while(0) #endif /* USE_COMBINATION_EXPLOSION_CHECK */ -#define STACK_PUSH_ALT(pat,s,sprev) STACK_PUSH(STK_ALT,pat,s,sprev) -#define STACK_PUSH_POS(s,sprev) STACK_PUSH(STK_POS,NULL_UCHARP,s,sprev) -#define STACK_PUSH_POS_NOT(pat,s,sprev) STACK_PUSH(STK_POS_NOT,pat,s,sprev) +#define STACK_PUSH_ALT(pat,s,sprev,keep) STACK_PUSH(STK_ALT,pat,s,sprev,keep) +#define STACK_PUSH_POS(s,sprev,keep) STACK_PUSH(STK_POS,NULL_UCHARP,s,sprev,keep) +#define STACK_PUSH_POS_NOT(pat,s,sprev,keep) STACK_PUSH(STK_POS_NOT,pat,s,sprev,keep) #define STACK_PUSH_STOP_BT STACK_PUSH_TYPE(STK_STOP_BT) -#define STACK_PUSH_LOOK_BEHIND_NOT(pat,s,sprev) \ - STACK_PUSH(STK_LOOK_BEHIND_NOT,pat,s,sprev) +#define STACK_PUSH_LOOK_BEHIND_NOT(pat,s,sprev,keep) \ + STACK_PUSH(STK_LOOK_BEHIND_NOT,pat,s,sprev,keep) #define STACK_PUSH_REPEAT(id, pat) do {\ STACK_ENSURE(1);\ @@ -879,7 +934,7 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, }\ k++;\ }\ - break;\ + break;\ }\ }\ }\ @@ -920,7 +975,7 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, }\ k++;\ }\ - break;\ + break;\ }\ }\ else {\ @@ -983,7 +1038,7 @@ stack_double(OnigStackType** arg_stk_base, OnigStackType** arg_stk_end, } while(0) static int string_cmp_ic(OnigEncoding enc, int case_fold_flag, - UChar* s1, UChar** ps2, int mblen, const UChar* text_end) + UChar* s1, UChar** ps2, OnigDistance mblen, const UChar* text_end) { UChar buf1[ONIGENC_MBC_CASE_FOLD_MAXLEN]; UChar buf2[ONIGENC_MBC_CASE_FOLD_MAXLEN]; @@ -1057,20 +1112,23 @@ make_capture_history_tree(OnigCaptureTreeNode* node, OnigStackType** kp, child = history_node_new(); CHECK_NULL_RETURN_MEMERR(child); child->group = n; - child->beg = (int )(k->u.mem.pstr - str); + child->beg = k->u.mem.pstr - str; r = history_tree_add_child(node, child); - if (r != 0) return r; + if (r != 0) { + history_tree_free(child); + return r; + } *kp = (k + 1); r = make_capture_history_tree(child, kp, stk_top, str, reg); if (r != 0) return r; k = *kp; - child->end = (int )(k->u.mem.pstr - str); + child->end = k->u.mem.pstr - str; } } else if (k->type == STK_MEM_END) { if (k->u.mem.num == node->group) { - node->end = (int )(k->u.mem.pstr - str); + node->end = k->u.mem.pstr - str; *kp = k; return 0; } @@ -1080,7 +1138,7 @@ make_capture_history_tree(OnigCaptureTreeNode* node, OnigStackType** kp, return 1; /* 1: root node ending. */ } -#endif +#endif /* USE_CAPTURE_HISTORY */ #ifdef USE_BACKREF_WITH_LEVEL static int mem_is_in_memp(int mem, int num, UChar* memp) @@ -1125,7 +1183,7 @@ static int backref_match_at_nested_level(regex_t* reg if (ignore_case != 0) { if (string_cmp_ic(reg->enc, case_fold_flag, - pstart, &ss, (int )(pend - pstart), send) == 0) + pstart, &ss, pend - pstart, send) == 0) return 0; /* or goto next_mem; */ } else { @@ -1168,14 +1226,14 @@ static struct timeval ts, te; #define GETTIME(t) gettimeofday(&(t), (struct timezone* )0) #define TIMEDIFF(te,ts) (((te).tv_usec - (ts).tv_usec) + \ (((te).tv_sec - (ts).tv_sec)*1000000)) -#else +#else /* USE_TIMEOFDAY */ #ifdef HAVE_SYS_TIMES_H #include #endif static struct tms ts, te; #define GETTIME(t) times(&(t)) #define TIMEDIFF(te,ts) ((te).tms_utime - (ts).tms_utime) -#endif +#endif /* USE_TIMEOFDAY */ static int OpCounter[256]; static int OpPrevCounter[256]; @@ -1224,12 +1282,13 @@ onig_print_statistics(FILE* f) MaxStackDepth = stk - stk_base;\ } while(0) -#else +#else /* ONIG_DEBUG_STATISTICS */ #define STACK_INC stk++ #define MOP_IN(opcode) #define MOP_OUT -#endif +#endif /* ONIG_DEBUG_STATISTICS */ + /* matching region of POSIX API */ @@ -1245,7 +1304,7 @@ void onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nex /* match data(str - end) from position (sstart). */ /* if sstart == str then set sprev to NULL. */ -static long +static OnigPosition match_at(regex_t* reg, const UChar* str, const UChar* end, #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE const UChar* right_range, @@ -1254,8 +1313,8 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, { static const UChar FinishCode[] = { OP_FINISH }; - int i, num_mem, best_len, pop_level; - ptrdiff_t n; + int i, num_mem, pop_level; + ptrdiff_t n, best_len; LengthType tlen, tlen2; MemNumType mem; RelAddrType addr; @@ -1264,6 +1323,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, OnigCaseFoldType case_fold_flag = reg->case_fold_flag; UChar *s, *q, *sbegin; UChar *p = reg->p; + UChar *pkeep; char *alloca_base; OnigStackType *stk_alloc, *stk_base, *stk, *stk_end; OnigStackType *stkp; /* used as any purpose. */ @@ -1275,6 +1335,23 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, unsigned char* state_check_buff = msa->state_check_buff; int num_comb_exp_check = reg->num_comb_exp_check; #endif + +#ifdef USE_SUBEXP_CALL + /* Stack #0 is used to store the pattern itself and used for (?R), \g<0>, etc. */ + n = reg->num_repeat + (reg->num_mem + 1) * 2; + + STACK_INIT(alloca_base, n, INIT_MATCH_STACK_SIZE); + pop_level = reg->stack_pop_level; + num_mem = reg->num_mem; + repeat_stk = (OnigStackIndex* )alloca_base; + + mem_start_stk = (OnigStackIndex* )(repeat_stk + reg->num_repeat); + mem_end_stk = mem_start_stk + (num_mem + 1); + for (i = 0; i <= num_mem; i++) { + mem_start_stk[i] = mem_end_stk[i] = INVALID_STACK_INDEX; + } +#else /* USE_SUBEXP_CALL */ + /* Stack #0 not is used. */ n = reg->num_repeat + reg->num_mem * 2; STACK_INIT(alloca_base, n, INIT_MATCH_STACK_SIZE); @@ -1291,10 +1368,11 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, for (i = 1; i <= num_mem; i++) { mem_start_stk[i] = mem_end_stk[i] = INVALID_STACK_INDEX; } +#endif /* USE_SUBEXP_CALL */ #ifdef ONIG_DEBUG_MATCH - fprintf(stderr, "match_at: str: %"PRIdPTR", end: %"PRIdPTR", start: %"PRIdPTR", sprev: %"PRIdPTR"\n", - (intptr_t)str, (intptr_t)end, (intptr_t)sstart, (intptr_t)sprev); + fprintf(stderr, "match_at: str: %"PRIdPTR" (%p), end: %"PRIdPTR" (%p), start: %"PRIdPTR" (%p), sprev: %"PRIdPTR" (%p)\n", + (intptr_t)str, str, (intptr_t)end, end, (intptr_t)sstart, sstart, (intptr_t)sprev, sprev); fprintf(stderr, "size: %d, start offset: %d\n", (int )(end - str), (int )(sstart - str)); #endif @@ -1302,6 +1380,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STACK_PUSH_ENSURED(STK_ALT, (UChar *)FinishCode); /* bottom stack */ best_len = ONIG_MISMATCH; s = (UChar* )sstart; + pkeep = (UChar* )sstart; while (1) { #ifdef ONIG_DEBUG_MATCH if (s) { @@ -1309,9 +1388,11 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, int len; fprintf(stderr, "%4d> \"", (int )(s - str)); bp = buf; - for (i = 0, q = s; i < 7 && q < end; i++) { - len = enclen(encode, q, end); - while (len-- > 0) *bp++ = *q++; + if (*p != OP_FINISH) { /* s may not be a valid pointer if OP_FINISH. */ + for (i = 0, q = s; i < 7 && q < end; i++) { + len = enclen(encode, q, end); + while (len-- > 0) *bp++ = *q++; + } } if (q < end) { xmemcpy(bp, "...\"", 4); bp += 4; } else { xmemcpy(bp, "\"", 1); bp += 1; } @@ -1332,32 +1413,32 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, #ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE if (IS_FIND_LONGEST(option)) { if (n > msa->best_len) { - msa->best_len = (int)n; + msa->best_len = n; msa->best_s = (UChar* )sstart; } else goto end_best_len; } #endif - best_len = (int)n; + best_len = n; region = msa->region; if (region) { #ifdef USE_POSIX_API_REGION_OPTION if (IS_POSIX_REGION(msa->options)) { posix_regmatch_t* rmt = (posix_regmatch_t* )region; - rmt[0].rm_so = sstart - str; - rmt[0].rm_eo = s - str; + rmt[0].rm_so = (regoff_t )(((pkeep > s) ? s : pkeep) - str); + rmt[0].rm_eo = (regoff_t )(s - str); for (i = 1; i <= num_mem; i++) { if (mem_end_stk[i] != INVALID_STACK_INDEX) { if (BIT_STATUS_AT(reg->bt_mem_start, i)) - rmt[i].rm_so = STACK_AT(mem_start_stk[i])->u.mem.pstr - str; + rmt[i].rm_so = (regoff_t )(STACK_AT(mem_start_stk[i])->u.mem.pstr - str); else - rmt[i].rm_so = (UChar* )((void* )(mem_start_stk[i])) - str; + rmt[i].rm_so = (regoff_t )((UChar* )((void* )(mem_start_stk[i])) - str); - rmt[i].rm_eo = (BIT_STATUS_AT(reg->bt_mem_end, i) + rmt[i].rm_eo = (regoff_t )((BIT_STATUS_AT(reg->bt_mem_end, i) ? STACK_AT(mem_end_stk[i])->u.mem.pstr - : (UChar* )((void* )mem_end_stk[i])) - str; + : (UChar* )((void* )mem_end_stk[i])) - str); } else { rmt[i].rm_so = rmt[i].rm_eo = ONIG_REGION_NOTPOS; @@ -1366,16 +1447,18 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, } else { #endif /* USE_POSIX_API_REGION_OPTION */ - region->beg[0] = (int)(sstart - str); - region->end[0] = (int)(s - str); + region->beg[0] = ((pkeep > s) ? s : pkeep) - str; + region->end[0] = s - str; for (i = 1; i <= num_mem; i++) { if (mem_end_stk[i] != INVALID_STACK_INDEX) { - region->beg[i] = (int)((BIT_STATUS_AT(reg->bt_mem_start, i)) - ? STACK_AT(mem_start_stk[i])->u.mem.pstr - str - : (UChar* )((void* )mem_start_stk[i]) - str); - region->end[i] = (int)(BIT_STATUS_AT(reg->bt_mem_end, i) - ? STACK_AT(mem_end_stk[i])->u.mem.pstr - str - : (UChar* )((void* )mem_end_stk[i]) - str); + if (BIT_STATUS_AT(reg->bt_mem_start, i)) + region->beg[i] = STACK_AT(mem_start_stk[i])->u.mem.pstr - str; + else + region->beg[i] = (UChar* )((void* )mem_start_stk[i]) - str; + + region->end[i] = (BIT_STATUS_AT(reg->bt_mem_end, i) + ? STACK_AT(mem_end_stk[i])->u.mem.pstr + : (UChar* )((void* )mem_end_stk[i])) - str; } else { region->beg[i] = region->end[i] = ONIG_REGION_NOTPOS; @@ -1397,8 +1480,8 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, } node->group = 0; - node->beg = sstart - str; - node->end = s - str; + node->beg = ((pkeep > s) ? s : pkeep) - str; + node->end = s - str; stkp = stk_base; r = make_capture_history_tree(region->history_root, &stkp, @@ -1795,7 +1878,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, DATA_ENSURE(1); n = enclen(encode, s, end); DATA_ENSURE(n); - if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) goto fail; + if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; s += n; MOP_OUT; break; @@ -1810,10 +1893,10 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_ANYCHAR_STAR: MOP_IN(OP_ANYCHAR_STAR); while (DATA_ENSURE_CHECK1) { - STACK_PUSH_ALT(p, s, sprev); + STACK_PUSH_ALT(p, s, sprev, pkeep); n = enclen(encode, s, end); DATA_ENSURE(n); - if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) goto fail; + if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; sprev = s; s += n; } @@ -1822,7 +1905,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_ANYCHAR_ML_STAR: MOP_IN(OP_ANYCHAR_ML_STAR); while (DATA_ENSURE_CHECK1) { - STACK_PUSH_ALT(p, s, sprev); + STACK_PUSH_ALT(p, s, sprev, pkeep); n = enclen(encode, s, end); if (n > 1) { DATA_ENSURE(n); @@ -1840,11 +1923,11 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_ANYCHAR_STAR_PEEK_NEXT: MOP_IN(OP_ANYCHAR_STAR_PEEK_NEXT); while (DATA_ENSURE_CHECK1) { if (*p == *s) { - STACK_PUSH_ALT(p + 1, s, sprev); + STACK_PUSH_ALT(p + 1, s, sprev, pkeep); } n = enclen(encode, s, end); DATA_ENSURE(n); - if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) goto fail; + if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; sprev = s; s += n; } @@ -1855,7 +1938,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_ANYCHAR_ML_STAR_PEEK_NEXT:MOP_IN(OP_ANYCHAR_ML_STAR_PEEK_NEXT); while (DATA_ENSURE_CHECK1) { if (*p == *s) { - STACK_PUSH_ALT(p + 1, s, sprev); + STACK_PUSH_ALT(p + 1, s, sprev, pkeep); } n = enclen(encode, s, end); if (n > 1) { @@ -1879,10 +1962,10 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STATE_CHECK_VAL(scv, mem); if (scv) goto fail; - STACK_PUSH_ALT_WITH_STATE_CHECK(p, s, sprev, mem); + STACK_PUSH_ALT_WITH_STATE_CHECK(p, s, sprev, mem, pkeep); n = enclen(encode, s, end); DATA_ENSURE(n); - if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) goto fail; + if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; sprev = s; s += n; } @@ -1897,7 +1980,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STATE_CHECK_VAL(scv, mem); if (scv) goto fail; - STACK_PUSH_ALT_WITH_STATE_CHECK(p, s, sprev, mem); + STACK_PUSH_ALT_WITH_STATE_CHECK(p, s, sprev, mem, pkeep); n = enclen(encode, s, end); if (n > 1) { DATA_ENSURE(n); @@ -1922,6 +2005,15 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, MOP_OUT; break; + case OP_ASCII_WORD: MOP_IN(OP_ASCII_WORD); + DATA_ENSURE(1); + if (! ONIGENC_IS_MBC_ASCII_WORD(encode, s, end)) + goto fail; + + s += enclen(encode, s, end); + MOP_OUT; + break; + case OP_NOT_WORD: MOP_IN(OP_NOT_WORD); DATA_ENSURE(1); if (ONIGENC_IS_MBC_WORD(encode, s, end)) @@ -1931,6 +2023,15 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, MOP_OUT; break; + case OP_NOT_ASCII_WORD: MOP_IN(OP_NOT_ASCII_WORD); + DATA_ENSURE(1); + if (ONIGENC_IS_MBC_ASCII_WORD(encode, s, end)) + goto fail; + + s += enclen(encode, s, end); + MOP_OUT; + break; + case OP_WORD_BOUND: MOP_IN(OP_WORD_BOUND); if (ON_STR_BEGIN(s)) { DATA_ENSURE(1); @@ -1950,6 +2051,25 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, continue; break; + case OP_ASCII_WORD_BOUND: MOP_IN(OP_ASCII_WORD_BOUND); + if (ON_STR_BEGIN(s)) { + DATA_ENSURE(1); + if (! ONIGENC_IS_MBC_ASCII_WORD(encode, s, end)) + goto fail; + } + else if (ON_STR_END(s)) { + if (! ONIGENC_IS_MBC_ASCII_WORD(encode, sprev, end)) + goto fail; + } + else { + if (ONIGENC_IS_MBC_ASCII_WORD(encode, s, end) + == ONIGENC_IS_MBC_ASCII_WORD(encode, sprev, end)) + goto fail; + } + MOP_OUT; + continue; + break; + case OP_NOT_WORD_BOUND: MOP_IN(OP_NOT_WORD_BOUND); if (ON_STR_BEGIN(s)) { if (DATA_ENSURE_CHECK1 && ONIGENC_IS_MBC_WORD(encode, s, end)) @@ -1968,6 +2088,24 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, continue; break; + case OP_NOT_ASCII_WORD_BOUND: MOP_IN(OP_NOT_ASCII_WORD_BOUND); + if (ON_STR_BEGIN(s)) { + if (DATA_ENSURE_CHECK1 && ONIGENC_IS_MBC_ASCII_WORD(encode, s, end)) + goto fail; + } + else if (ON_STR_END(s)) { + if (ONIGENC_IS_MBC_ASCII_WORD(encode, sprev, end)) + goto fail; + } + else { + if (ONIGENC_IS_MBC_ASCII_WORD(encode, s, end) + != ONIGENC_IS_MBC_ASCII_WORD(encode, sprev, end)) + goto fail; + } + MOP_OUT; + continue; + break; + #ifdef USE_WORD_BEGIN_END case OP_WORD_BEGIN: MOP_IN(OP_WORD_BEGIN); if (DATA_ENSURE_CHECK1 && ONIGENC_IS_MBC_WORD(encode, s, end)) { @@ -1979,6 +2117,16 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, goto fail; break; + case OP_ASCII_WORD_BEGIN: MOP_IN(OP_ASCII_WORD_BEGIN); + if (DATA_ENSURE_CHECK1 && ONIGENC_IS_MBC_ASCII_WORD(encode, s, end)) { + if (ON_STR_BEGIN(s) || !ONIGENC_IS_MBC_ASCII_WORD(encode, sprev, end)) { + MOP_OUT; + continue; + } + } + goto fail; + break; + case OP_WORD_END: MOP_IN(OP_WORD_END); if (!ON_STR_BEGIN(s) && ONIGENC_IS_MBC_WORD(encode, sprev, end)) { if (ON_STR_END(s) || !ONIGENC_IS_MBC_WORD(encode, s, end)) { @@ -1988,6 +2136,16 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, } goto fail; break; + + case OP_ASCII_WORD_END: MOP_IN(OP_ASCII_WORD_END); + if (!ON_STR_BEGIN(s) && ONIGENC_IS_MBC_ASCII_WORD(encode, sprev, end)) { + if (ON_STR_END(s) || !ONIGENC_IS_MBC_ASCII_WORD(encode, s, end)) { + MOP_OUT; + continue; + } + } + goto fail; + break; #endif case OP_BEGIN_BUF: MOP_IN(OP_BEGIN_BUF); @@ -2005,12 +2163,18 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, break; case OP_BEGIN_LINE: MOP_IN(OP_BEGIN_LINE); + op_begin_line: if (ON_STR_BEGIN(s)) { if (IS_NOTBOL(msa->options)) goto fail; MOP_OUT; continue; } - else if (ONIGENC_IS_MBC_NEWLINE(encode, sprev, end) && !ON_STR_END(s)) { + else if (ONIGENC_IS_MBC_NEWLINE(encode, sprev, end) +#ifdef USE_CRNL_AS_LINE_TERMINATOR + && !(IS_NEWLINE_CRLF(option) + && ONIGENC_IS_MBC_CRNL(encode, sprev, end)) +#endif + && !ON_STR_END(s)) { MOP_OUT; continue; } @@ -2020,7 +2184,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_END_LINE: MOP_IN(OP_END_LINE); if (ON_STR_END(s)) { #ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE - if (IS_EMPTY_STR || !ONIGENC_IS_MBC_NEWLINE(encode, sprev, end)) { + if (IS_EMPTY_STR || !ONIGENC_IS_MBC_NEWLINE_EX(encode, sprev, str, end, option, 1)) { #endif if (IS_NOTEOL(msa->options)) goto fail; MOP_OUT; @@ -2029,23 +2193,17 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, } #endif } - else if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) { - MOP_OUT; - continue; - } -#ifdef USE_CRNL_AS_LINE_TERMINATOR - else if (ONIGENC_IS_MBC_CRNL(encode, s, end)) { + else if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 1)) { MOP_OUT; continue; } -#endif goto fail; break; case OP_SEMI_END_BUF: MOP_IN(OP_SEMI_END_BUF); if (ON_STR_END(s)) { #ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE - if (IS_EMPTY_STR || !ONIGENC_IS_MBC_NEWLINE(encode, sprev, end)) { + if (IS_EMPTY_STR || !ONIGENC_IS_MBC_NEWLINE_EX(encode, sprev, str, end, option, 1)) { #endif if (IS_NOTEOL(msa->options)) goto fail; MOP_OUT; @@ -2054,32 +2212,41 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, } #endif } - else if (ONIGENC_IS_MBC_NEWLINE(encode, s, end) && - ON_STR_END(s + enclen(encode, s, end))) { - MOP_OUT; - continue; - } + else if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 1)) { + UChar* ss = s + enclen(encode, s, end); + if (ON_STR_END(ss)) { + MOP_OUT; + continue; + } #ifdef USE_CRNL_AS_LINE_TERMINATOR - else if (ONIGENC_IS_MBC_CRNL(encode, s, end)) { - UChar* ss = s + enclen(encode, s); - ss += enclen(encode, ss); - if (ON_STR_END(ss)) { - MOP_OUT; - continue; - } - } + else if (ss < end) { + ss += enclen(encode, ss, end); + if (ON_STR_END(ss)) { + MOP_OUT; + continue; + } + } #endif + } goto fail; break; case OP_BEGIN_POSITION: MOP_IN(OP_BEGIN_POSITION); - if (s != msa->start) + if (s != msa->gpos) goto fail; MOP_OUT; continue; break; + case OP_BEGIN_POS_OR_LINE: MOP_IN(OP_BEGIN_POS_OR_LINE); + if (s != msa->gpos) + goto op_begin_line; + + MOP_OUT; + continue; + break; + case OP_MEMORY_START_PUSH: MOP_IN(OP_MEMORY_START_PUSH); GET_MEMNUM_INC(mem, p); STACK_PUSH_MEM_START(mem, s); @@ -2108,6 +2275,12 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, continue; break; + case OP_KEEP: MOP_IN(OP_KEEP); + pkeep = s; + MOP_OUT; + continue; + break; + #ifdef USE_SUBEXP_CALL case OP_MEMORY_END_PUSH_REC: MOP_IN(OP_MEMORY_END_PUSH_REC); GET_MEMNUM_INC(mem, p); @@ -2272,7 +2445,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, DATA_ENSURE(n); sprev = s; swork = s; - STRING_CMP_VALUE_IC(case_fold_flag, pstart, &swork, (int)n, end, is_fail); + STRING_CMP_VALUE_IC(case_fold_flag, pstart, &swork, n, end, is_fail); if (is_fail) continue; s = swork; while (sprev + (len = enclen(encode, sprev, end)) < s) @@ -2319,7 +2492,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, #if 0 /* no need: IS_DYNAMIC_OPTION() == 0 */ case OP_SET_OPTION_PUSH: MOP_IN(OP_SET_OPTION_PUSH); GET_OPTION_INC(option, p); - STACK_PUSH_ALT(p, s, sprev); + STACK_PUSH_ALT(p, s, sprev, pkeep); p += SIZE_OP_SET_OPTION + SIZE_OP_FAIL; MOP_OUT; continue; @@ -2347,8 +2520,8 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STACK_NULL_CHECK(isnull, mem, s); if (isnull) { #ifdef ONIG_DEBUG_MATCH - fprintf(stderr, "NULL_CHECK_END: skip id:%d, s:%"PRIdPTR"\n", - (int )mem, (intptr_t )s); + fprintf(stderr, "NULL_CHECK_END: skip id:%d, s:%"PRIdPTR" (%p)\n", + (int )mem, (intptr_t )s, s); #endif null_check_found: /* empty loop founded, skip next instruction */ @@ -2382,8 +2555,8 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STACK_NULL_CHECK_MEMST(isnull, mem, s, reg); if (isnull) { #ifdef ONIG_DEBUG_MATCH - fprintf(stderr, "NULL_CHECK_END_MEMST: skip id:%d, s:%"PRIdPTR"\n", - (int )mem, (intptr_t )s); + fprintf(stderr, "NULL_CHECK_END_MEMST: skip id:%d, s:%"PRIdPTR" (%p)\n", + (int )mem, (intptr_t )s, s); #endif if (isnull == -1) goto fail; goto null_check_found; @@ -2408,8 +2581,8 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, #endif if (isnull) { #ifdef ONIG_DEBUG_MATCH - fprintf(stderr, "NULL_CHECK_END_MEMST_PUSH: skip id:%d, s:%"PRIdPTR"\n", - (int )mem, (intptr_t )s); + fprintf(stderr, "NULL_CHECK_END_MEMST_PUSH: skip id:%d, s:%"PRIdPTR" (%p)\n", + (int )mem, (intptr_t )s, s); #endif if (isnull == -1) goto fail; goto null_check_found; @@ -2433,7 +2606,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_PUSH: MOP_IN(OP_PUSH); GET_RELADDR_INC(addr, p); - STACK_PUSH_ALT(p + addr, s, sprev); + STACK_PUSH_ALT(p + addr, s, sprev, pkeep); MOP_OUT; continue; break; @@ -2445,7 +2618,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, if (scv) goto fail; GET_RELADDR_INC(addr, p); - STACK_PUSH_ALT_WITH_STATE_CHECK(p + addr, s, sprev, mem); + STACK_PUSH_ALT_WITH_STATE_CHECK(p + addr, s, sprev, mem, pkeep); MOP_OUT; continue; break; @@ -2458,7 +2631,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, p += addr; } else { - STACK_PUSH_ALT_WITH_STATE_CHECK(p + addr, s, sprev, mem); + STACK_PUSH_ALT_WITH_STATE_CHECK(p + addr, s, sprev, mem, pkeep); } MOP_OUT; continue; @@ -2485,7 +2658,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, GET_RELADDR_INC(addr, p); if (*p == *s && DATA_ENSURE_CHECK1) { p++; - STACK_PUSH_ALT(p + addr, s, sprev); + STACK_PUSH_ALT(p + addr, s, sprev, pkeep); MOP_OUT; continue; } @@ -2498,7 +2671,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, GET_RELADDR_INC(addr, p); if (*p == *s) { p++; - STACK_PUSH_ALT(p + addr, s, sprev); + STACK_PUSH_ALT(p + addr, s, sprev, pkeep); MOP_OUT; continue; } @@ -2517,7 +2690,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STACK_PUSH_REPEAT(mem, p); if (reg->repeat_range[mem].lower == 0) { - STACK_PUSH_ALT(p + addr, s, sprev); + STACK_PUSH_ALT(p + addr, s, sprev, pkeep); } } MOP_OUT; @@ -2534,7 +2707,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, STACK_PUSH_REPEAT(mem, p); if (reg->repeat_range[mem].lower == 0) { - STACK_PUSH_ALT(p, s, sprev); + STACK_PUSH_ALT(p, s, sprev, pkeep); p += addr; } } @@ -2553,7 +2726,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, /* end of repeat. Nothing to do. */ } else if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) { - STACK_PUSH_ALT(p, s, sprev); + STACK_PUSH_ALT(p, s, sprev, pkeep); p = STACK_AT(si)->u.repeat.pcode; /* Don't use stkp after PUSH. */ } else { @@ -2584,7 +2757,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, UChar* pcode = stkp->u.repeat.pcode; STACK_PUSH_REPEAT_INC(si); - STACK_PUSH_ALT(pcode, s, sprev); + STACK_PUSH_ALT(pcode, s, sprev, pkeep); } else { p = stkp->u.repeat.pcode; @@ -2607,7 +2780,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, break; case OP_PUSH_POS: MOP_IN(OP_PUSH_POS); - STACK_PUSH_POS(s, sprev); + STACK_PUSH_POS(s, sprev, pkeep); MOP_OUT; continue; break; @@ -2624,7 +2797,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, case OP_PUSH_POS_NOT: MOP_IN(OP_PUSH_POS_NOT); GET_RELADDR_INC(addr, p); - STACK_PUSH_POS_NOT(p + addr, s, sprev); + STACK_PUSH_POS_NOT(p + addr, s, sprev, pkeep); MOP_OUT; continue; break; @@ -2666,7 +2839,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, /* goto fail; */ } else { - STACK_PUSH_LOOK_BEHIND_NOT(p + addr, s, sprev); + STACK_PUSH_LOOK_BEHIND_NOT(p + addr, s, sprev, pkeep); s = q; sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s, end); } @@ -2696,6 +2869,18 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, break; #endif + case OP_CONDITION: MOP_IN(OP_CONDITION); + GET_MEMNUM_INC(mem, p); + GET_RELADDR_INC(addr, p); + if ((mem > num_mem) || + (mem_end_stk[mem] == INVALID_STACK_INDEX) || + (mem_start_stk[mem] == INVALID_STACK_INDEX)) { + p += addr; + } + MOP_OUT; + continue; + break; + case OP_FINISH: goto finish; break; @@ -2708,6 +2893,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, p = stk->u.state.pcode; s = stk->u.state.pstr; sprev = stk->u.state.pstr_prev; + pkeep = stk->u.state.pkeep; #ifdef USE_COMBINATION_EXPLOSION_CHECK if (stk->u.state.state_check != 0) { @@ -2772,7 +2958,7 @@ slow_search(OnigEncoding enc, UChar* target, UChar* target_end, } s += n; } - return (UChar*)NULL; + return (UChar* )NULL; } while (s < end) { if (*s == *target) { @@ -2890,6 +3076,8 @@ slow_search_backward_ic(OnigEncoding enc, int case_fold_flag, return (UChar* )NULL; } +#ifndef USE_SUNDAY_QUICK_SEARCH +/* Boyer-Moore-Horspool search applied to a multibyte string */ static UChar* bm_search_notrev(regex_t* reg, const UChar* target, const UChar* target_end, const UChar* text, const UChar* text_end, @@ -2900,8 +3088,8 @@ bm_search_notrev(regex_t* reg, const UChar* target, const UChar* target_end, ptrdiff_t skip, tlen1; #ifdef ONIG_DEBUG_SEARCH - fprintf(stderr, "bm_search_notrev: text: %"PRIuPTR", text_end: %"PRIuPTR", text_range: %"PRIuPTR"\n", - text, text_end, text_range); + fprintf(stderr, "bm_search_notrev: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", + text, text, text_end, text_end, text_range, text_range); #endif tail = target_end - 1; @@ -2946,6 +3134,7 @@ bm_search_notrev(regex_t* reg, const UChar* target, const UChar* target_end, return (UChar* )NULL; } +/* Boyer-Moore-Horspool search */ static UChar* bm_search(regex_t* reg, const UChar* target, const UChar* target_end, const UChar* text, const UChar* text_end, const UChar* text_range) @@ -2993,10 +3182,315 @@ bm_search(regex_t* reg, const UChar* target, const UChar* target_end, return (UChar* )NULL; } +/* Boyer-Moore-Horspool search applied to a multibyte string (ignore case) */ +static UChar* +bm_search_notrev_ic(regex_t* reg, const UChar* target, const UChar* target_end, + const UChar* text, const UChar* text_end, + const UChar* text_range) +{ + const UChar *s, *se, *t, *end; + const UChar *tail; + ptrdiff_t skip, tlen1; + OnigEncoding enc = reg->enc; + int case_fold_flag = reg->case_fold_flag; + +#ifdef ONIG_DEBUG_SEARCH + fprintf(stderr, "bm_search_notrev_ic: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", + (int )text, text, (int )text_end, text_end, (int )text_range, text_range); +#endif + + tail = target_end - 1; + tlen1 = tail - target; + end = text_range; + if (end + tlen1 > text_end) + end = text_end - tlen1; + + s = text; + + if (IS_NULL(reg->int_map)) { + while (s < end) { + se = s + tlen1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + s, se + 1)) + return (UChar* )s; + skip = reg->map[*se]; + t = s; + do { + s += enclen(reg->enc, s, end); + } while ((s - t) < skip && s < end); + } + } + else { + while (s < end) { + se = s + tlen1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + s, se + 1)) + return (UChar* )s; + skip = reg->int_map[*se]; + t = s; + do { + s += enclen(reg->enc, s, end); + } while ((s - t) < skip && s < end); + } + } + + return (UChar* )NULL; +} + +/* Boyer-Moore-Horspool search (ignore case) */ +static UChar* +bm_search_ic(regex_t* reg, const UChar* target, const UChar* target_end, + const UChar* text, const UChar* text_end, const UChar* text_range) +{ + const UChar *s, *p, *end; + const UChar *tail; + OnigEncoding enc = reg->enc; + int case_fold_flag = reg->case_fold_flag; + +#ifdef ONIG_DEBUG_SEARCH + fprintf(stderr, "bm_search_ic: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", + (int )text, text, (int )text_end, text_end, (int )text_range, text_range); +#endif + + end = text_range + (target_end - target) - 1; + if (end > text_end) + end = text_end; + + tail = target_end - 1; + s = text + (target_end - target) - 1; + if (IS_NULL(reg->int_map)) { + while (s < end) { + p = s - (target_end - target) + 1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + p, s + 1)) + return (UChar* )p; + s += reg->map[*s]; + } + } + else { /* see int_map[] */ + while (s < end) { + p = s - (target_end - target) + 1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + p, s + 1)) + return (UChar* )p; + s += reg->int_map[*s]; + } + } + return (UChar* )NULL; +} + +#else /* USE_SUNDAY_QUICK_SEARCH */ + +/* Sunday's quick search applied to a multibyte string */ +static UChar* +bm_search_notrev(regex_t* reg, const UChar* target, const UChar* target_end, + const UChar* text, const UChar* text_end, + const UChar* text_range) +{ + const UChar *s, *se, *t, *p, *end; + const UChar *tail; + ptrdiff_t skip, tlen1; + OnigEncoding enc = reg->enc; + +#ifdef ONIG_DEBUG_SEARCH + fprintf(stderr, "bm_search_notrev: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", + (int )text, text, (int )text_end, text_end, (int )text_range, text_range); +#endif + + tail = target_end - 1; + tlen1 = tail - target; + end = text_range; + if (end + tlen1 > text_end) + end = text_end - tlen1; + + s = text; + + if (IS_NULL(reg->int_map)) { + while (s < end) { + p = se = s + tlen1; + t = tail; + while (*p == *t) { + if (t == target) return (UChar* )s; + p--; t--; + } + if (s + 1 >= end) break; + skip = reg->map[se[1]]; + t = s; + do { + s += enclen(enc, s, end); + } while ((s - t) < skip && s < end); + } + } + else { + while (s < end) { + p = se = s + tlen1; + t = tail; + while (*p == *t) { + if (t == target) return (UChar* )s; + p--; t--; + } + if (s + 1 >= end) break; + skip = reg->int_map[se[1]]; + t = s; + do { + s += enclen(enc, s, end); + } while ((s - t) < skip && s < end); + } + } + + return (UChar* )NULL; +} + +/* Sunday's quick search */ +static UChar* +bm_search(regex_t* reg, const UChar* target, const UChar* target_end, + const UChar* text, const UChar* text_end, const UChar* text_range) +{ + const UChar *s, *t, *p, *end; + const UChar *tail; + ptrdiff_t tlen1; + + tail = target_end - 1; + tlen1 = tail - target; + end = text_range + tlen1; + if (end > text_end) + end = text_end; + + s = text + tlen1; + if (IS_NULL(reg->int_map)) { + while (s < end) { + p = s; + t = tail; + while (*p == *t) { + if (t == target) return (UChar* )p; + p--; t--; + } + if (s + 1 >= end) break; + s += reg->map[s[1]]; + } + } + else { /* see int_map[] */ + while (s < end) { + p = s; + t = tail; + while (*p == *t) { + if (t == target) return (UChar* )p; + p--; t--; + } + if (s + 1 >= end) break; + s += reg->int_map[s[1]]; + } + } + return (UChar* )NULL; +} + +/* Sunday's quick search applied to a multibyte string (ignore case) */ +static UChar* +bm_search_notrev_ic(regex_t* reg, const UChar* target, const UChar* target_end, + const UChar* text, const UChar* text_end, + const UChar* text_range) +{ + const UChar *s, *se, *t, *end; + const UChar *tail; + ptrdiff_t skip, tlen1; + OnigEncoding enc = reg->enc; + int case_fold_flag = reg->case_fold_flag; + +#ifdef ONIG_DEBUG_SEARCH + fprintf(stderr, "bm_search_notrev_ic: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", + (int )text, text, (int )text_end, text_end, (int )text_range, text_range); +#endif + + tail = target_end - 1; + tlen1 = tail - target; + end = text_range; + if (end + tlen1 > text_end) + end = text_end - tlen1; + + s = text; + + if (IS_NULL(reg->int_map)) { + while (s < end) { + se = s + tlen1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + s, se + 1)) + return (UChar* )s; + if (s + 1 >= end) break; + skip = reg->map[se[1]]; + t = s; + do { + s += enclen(enc, s, end); + } while ((s - t) < skip && s < end); + } + } + else { + while (s < end) { + se = s + tlen1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + s, se + 1)) + return (UChar* )s; + if (s + 1 >= end) break; + skip = reg->int_map[se[1]]; + t = s; + do { + s += enclen(enc, s, end); + } while ((s - t) < skip && s < end); + } + } + + return (UChar* )NULL; +} + +/* Sunday's quick search (ignore case) */ +static UChar* +bm_search_ic(regex_t* reg, const UChar* target, const UChar* target_end, + const UChar* text, const UChar* text_end, const UChar* text_range) +{ + const UChar *s, *p, *end; + const UChar *tail; + ptrdiff_t tlen1; + OnigEncoding enc = reg->enc; + int case_fold_flag = reg->case_fold_flag; + +#ifdef ONIG_DEBUG_SEARCH + fprintf(stderr, "bm_search_ic: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", + (int )text, text, (int )text_end, text_end, (int )text_range, text_range); +#endif + + tail = target_end - 1; + tlen1 = tail - target; + end = text_range + tlen1; + if (end > text_end) + end = text_end; + + s = text + tlen1; + if (IS_NULL(reg->int_map)) { + while (s < end) { + p = s - tlen1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + p, s + 1)) + return (UChar* )p; + if (s + 1 >= end) break; + s += reg->map[s[1]]; + } + } + else { /* see int_map[] */ + while (s < end) { + p = s - tlen1; + if (str_lower_case_match(enc, case_fold_flag, target, target_end, + p, s + 1)) + return (UChar* )p; + if (s + 1 >= end) break; + s += reg->int_map[s[1]]; + } + } + return (UChar* )NULL; +} +#endif /* USE_SUNDAY_QUICK_SEARCH */ + static int set_bm_backward_skip(UChar* s, UChar* end, OnigEncoding enc ARG_UNUSED, int** skip) - { int i, len; @@ -3005,7 +3499,7 @@ set_bm_backward_skip(UChar* s, UChar* end, OnigEncoding enc ARG_UNUSED, if (IS_NULL(*skip)) return ONIGERR_MEMORY; } - len = (int)(end - s); + len = (int )(end - s); for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) (*skip)[i] = len; @@ -3073,11 +3567,11 @@ map_search_backward(OnigEncoding enc, UChar map[], return (UChar* )NULL; } -extern long +extern OnigPosition onig_match(regex_t* reg, const UChar* str, const UChar* end, const UChar* at, OnigRegion* region, OnigOptionType option) { - long r; + ptrdiff_t r; UChar *prev; OnigMatchArg msa; @@ -3106,7 +3600,7 @@ onig_match(regex_t* reg, const UChar* str, const UChar* end, const UChar* at, On THREAD_ATOMIC_END; #endif /* USE_RECOMPILE_API && USE_MULTI_THREAD_SYSTEM */ - MATCH_ARG_INIT(msa, option, region, at); + MATCH_ARG_INIT(msa, option, region, at, at); #ifdef USE_COMBINATION_EXPLOSION_CHECK { int offset = at - str; @@ -3145,8 +3639,8 @@ forward_search_range(regex_t* reg, const UChar* str, const UChar* end, UChar* s, UChar *p, *pprev = (UChar* )NULL; #ifdef ONIG_DEBUG_SEARCH - fprintf(stderr, "forward_search_range: str: %"PRIuPTR", end: %"PRIuPTR", s: %"PRIuPTR", range: %"PRIuPTR"\n", - str, end, s, range); + fprintf(stderr, "forward_search_range: str: %"PRIuPTR" (%p), end: %"PRIuPTR" (%p), s: %"PRIuPTR" (%p), range: %"PRIuPTR" (%p)\n", + str, str, end, end, s, s, range, range); #endif p = s; @@ -3178,6 +3672,14 @@ forward_search_range(regex_t* reg, const UChar* str, const UChar* end, UChar* s, p = bm_search_notrev(reg, reg->exact, reg->exact_end, p, end, range); break; + case ONIG_OPTIMIZE_EXACT_BM_IC: + p = bm_search_ic(reg, reg->exact, reg->exact_end, p, end, range); + break; + + case ONIG_OPTIMIZE_EXACT_BM_NOT_REV_IC: + p = bm_search_notrev_ic(reg, reg->exact, reg->exact_end, p, end, range); + break; + case ONIG_OPTIMIZE_MAP: p = map_search(reg->enc, reg->map, p, range, end); break; @@ -3199,7 +3701,7 @@ forward_search_range(regex_t* reg, const UChar* str, const UChar* end, UChar* s, if (!ON_STR_BEGIN(p)) { prev = onigenc_get_prev_char_head(reg->enc, (pprev ? pprev : str), p, end); - if (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) + if (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0)) goto retry_gate; } break; @@ -3209,15 +3711,11 @@ forward_search_range(regex_t* reg, const UChar* str, const UChar* end, UChar* s, #ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE prev = (UChar* )onigenc_get_prev_char_head(reg->enc, (pprev ? pprev : str), p); - if (prev && ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) + if (prev && ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 1)) goto retry_gate; #endif } - else if (! ONIGENC_IS_MBC_NEWLINE(reg->enc, p, end) -#ifdef USE_CRNL_AS_LINE_TERMINATOR - && ! ONIGENC_IS_MBC_CRNL(reg->enc, p, end) -#endif - ) + else if (! ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, p, str, end, reg->options, 1)) goto retry_gate; break; } @@ -3269,7 +3767,7 @@ static int set_bm_backward_skip P_((UChar* s, UChar* end, OnigEncoding enc, #define BM_BACKWARD_SEARCH_LENGTH_THRESHOLD 100 -static long +static int backward_search_range(regex_t* reg, const UChar* str, const UChar* end, UChar* s, const UChar* range, UChar* adjrange, UChar** low, UChar** high) @@ -3289,6 +3787,8 @@ backward_search_range(regex_t* reg, const UChar* str, const UChar* end, break; case ONIG_OPTIMIZE_EXACT_IC: + case ONIG_OPTIMIZE_EXACT_BM_IC: + case ONIG_OPTIMIZE_EXACT_BM_NOT_REV_IC: p = slow_search_backward_ic(reg->enc, reg->case_fold_flag, reg->exact, reg->exact_end, range, adjrange, end, p); @@ -3321,7 +3821,7 @@ backward_search_range(regex_t* reg, const UChar* str, const UChar* end, case ANCHOR_BEGIN_LINE: if (!ON_STR_BEGIN(p)) { prev = onigenc_get_prev_char_head(reg->enc, str, p, end); - if (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) { + if (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0)) { p = prev; goto retry; } @@ -3333,17 +3833,13 @@ backward_search_range(regex_t* reg, const UChar* str, const UChar* end, #ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE prev = onigenc_get_prev_char_head(reg->enc, adjrange, p); if (IS_NULL(prev)) goto fail; - if (ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) { + if (ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 1)) { p = prev; goto retry; } #endif } - else if (! ONIGENC_IS_MBC_NEWLINE(reg->enc, p, end) -#ifdef USE_CRNL_AS_LINE_TERMINATOR - && ! ONIGENC_IS_MBC_CRNL(reg->enc, p, end) -#endif - ) { + else if (! ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, p, str, end, reg->options, 1)) { p = onigenc_get_prev_char_head(reg->enc, adjrange, p, end); if (IS_NULL(p)) goto fail; goto retry; @@ -3374,11 +3870,19 @@ backward_search_range(regex_t* reg, const UChar* str, const UChar* end, } -extern long +extern OnigPosition onig_search(regex_t* reg, const UChar* str, const UChar* end, const UChar* start, const UChar* range, OnigRegion* region, OnigOptionType option) { - long r; + return onig_search_gpos(reg, str, end, start, start, range, region, option); +} + +extern OnigPosition +onig_search_gpos(regex_t* reg, const UChar* str, const UChar* end, + const UChar* global_pos, + const UChar* start, const UChar* range, OnigRegion* region, OnigOptionType option) +{ + ptrdiff_t r; UChar *s, *prev; OnigMatchArg msa; const UChar *orig_start = start; @@ -3413,8 +3917,8 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end, #ifdef ONIG_DEBUG_SEARCH fprintf(stderr, - "onig_search (entry point): str: %"PRIuPTR", end: %"PRIuPTR", start: %"PRIuPTR", range: %"PRIuPTR"\n", - str, end - str, start - str, range - str); + "onig_search (entry point): str: %"PRIuPTR" (%p), end: %"PRIuPTR", start: %"PRIuPTR", range: %"PRIuPTR"\n", + str, str, end - str, start - str, range - str); #endif if (region @@ -3546,6 +4050,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end, #ifdef USE_CRNL_AS_LINE_TERMINATOR pre_end = ONIGENC_STEP_BACK(reg->enc, str, pre_end, end, 1); if (IS_NOT_NULL(pre_end) && + IS_NEWLINE_CRLF(reg->options) && ONIGENC_IS_MBC_CRNL(reg->enc, pre_end, end)) { min_semi_end = pre_end; } @@ -3575,7 +4080,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end, s = (UChar* )start; prev = (UChar* )NULL; - MATCH_ARG_INIT(msa, option, region, start); + MATCH_ARG_INIT(msa, option, region, start, start); #ifdef USE_COMBINATION_EXPLOSION_CHECK msa.state_check_buff = (void* )0; msa.state_check_buff_size = 0; /* NO NEED, for valgrind */ @@ -3591,7 +4096,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end, (int )(end - str), (int )(start - str), (int )(range - str)); #endif - MATCH_ARG_INIT(msa, option, region, orig_start); + MATCH_ARG_INIT(msa, option, region, start, global_pos); #ifdef USE_COMBINATION_EXPLOSION_CHECK { int offset = (MIN(start, range) - str); @@ -3644,9 +4149,19 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end, if ((reg->anchor & ANCHOR_ANYCHAR_STAR) != 0) { do { + if ((reg->anchor & ANCHOR_BEGIN_POSITION) == 0) + msa.gpos = s; /* move \G position */ MATCH_AND_RETURN_CHECK(orig_range); prev = s; s += enclen(reg->enc, s, end); + + if ((reg->anchor & ANCHOR_LOOK_BEHIND) == 0) { + while (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0) + && s < range) { + prev = s; + s += enclen(reg->enc, s, end); + } + } } while (s < range); goto mismatch; } @@ -3666,7 +4181,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end, else { /* backward search */ #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE if (orig_start < end) - orig_start += enclen(reg->enc, orig_start, end); /* is upper range */ + orig_start += enclen(reg->enc, orig_start, end); /* is upper range */ #endif if (reg->optimize != ONIG_OPTIMIZE_NONE) { diff --git a/regint.h b/regint.h index ca293edcc5..79d694d599 100644 --- a/regint.h +++ b/regint.h @@ -1,10 +1,11 @@ #ifndef ONIGURUMA_REGINT_H #define ONIGURUMA_REGINT_H /********************************************************************** - regint.h - Oniguruma (regular expression library) + regint.h - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011-2012 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -57,12 +58,15 @@ /* spec. config */ #define USE_NAMED_GROUP #define USE_SUBEXP_CALL +#define USE_PERL_SUBEXP_CALL +#define USE_CAPITAL_P_NAMED_GROUP #define USE_BACKREF_WITH_LEVEL /* \k, \k */ #define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT /* /(?:()|())*\2/ */ #define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE /* /\n$/ =~ "\n" */ #define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR /* #define USE_RECOMPILE_API */ /* !!! moved to regenc.h. */ /* #define USE_CRNL_AS_LINE_TERMINATOR */ +#define USE_NO_INVALID_QUANTIFIER /* internal config */ #define USE_PARSE_TREE_NODE_RECYCLE @@ -70,10 +74,18 @@ #define USE_QTFR_PEEK_NEXT #define USE_ST_LIBRARY #define USE_SHARED_CCLASS_TABLE +#define USE_SUNDAY_QUICK_SEARCH #define INIT_MATCH_STACK_SIZE 160 #define DEFAULT_MATCH_STACK_LIMIT_SIZE 0 /* unlimited */ +/* check config */ +#if defined(USE_PERL_SUBEXP_CALL) || defined(USE_CAPITAL_P_NAMED_GROUP) +#if !defined(USE_NAMED_GROUP) || !defined(USE_SUBEXP_CALL) +#error USE_NAMED_GROUP and USE_SUBEXP_CALL must be defined. +#endif +#endif + #if defined(__GNUC__) # define ARG_UNUSED __attribute__ ((unused)) #else @@ -92,13 +104,14 @@ #ifdef ONIG_ESCAPE_UCHAR_COLLISION #undef ONIG_ESCAPE_UCHAR_COLLISION #endif +#define USE_WORD_BEGIN_END /* "\<": word-begin, "\>": word-end */ #undef USE_MATCH_RANGE_IS_COMPLETE_RANGE #undef USE_CAPTURE_HISTORY #define USE_VARIABLE_META_CHARS -#define USE_WORD_BEGIN_END /* "\<": word-begin, "\>": word-end */ -#define USE_POSIX_REGION_OPTION /* needed for POSIX API support */ +#define USE_POSIX_API_REGION_OPTION /* needed for POSIX API support */ #define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE /* #define USE_COMBINATION_EXPLOSION_CHECK */ /* (X*)* */ + /* #define USE_MULTI_THREAD_SYSTEM */ #define THREAD_SYSTEM_INIT /* depend on thread system */ #define THREAD_SYSTEM_END /* depend on thread system */ @@ -218,10 +231,35 @@ #include #endif +#ifdef HAVE_STDINT_H +# include +#endif + +#ifdef STDC_HEADERS +# include +#endif + +#ifdef __BORLANDC__ +#include +#endif + #ifdef ONIG_DEBUG # include #endif +#ifdef _WIN32 +#if defined(_MSC_VER) && (_MSC_VER < 1300) +#ifndef _INTPTR_T_DEFINED +#define _INTPTR_T_DEFINED +typedef int intptr_t; +#endif +#ifndef _UINTPTR_T_DEFINED +#define _UINTPTR_T_DEFINED +typedef unsigned int uintptr_t; +#endif +#endif +#endif /* _WIN32 */ + #include "regenc.h" #if defined __GNUC__ && __GNUC__ >= 4 @@ -243,6 +281,8 @@ #define CHECK_NULL_RETURN_MEMERR(p) if (IS_NULL(p)) return ONIGERR_MEMORY #define NULL_UCHARP ((UChar* )0) +#define ONIG_LAST_CODE_POINT (~((OnigCodePoint )0)) + #ifdef PLATFORM_UNALIGNED_WORD_ACCESS #define PLATFORM_GET_INC(val,p,type) do{\ @@ -282,9 +322,11 @@ #define ONIG_OPTIMIZE_NONE 0 #define ONIG_OPTIMIZE_EXACT 1 /* Slow Search */ #define ONIG_OPTIMIZE_EXACT_BM 2 /* Boyer Moore Search */ -#define ONIG_OPTIMIZE_EXACT_BM_NOT_REV 3 /* BM (but not simple match) */ +#define ONIG_OPTIMIZE_EXACT_BM_NOT_REV 3 /* BM (applied to a multibyte string) */ #define ONIG_OPTIMIZE_EXACT_IC 4 /* Slow Search (ignore case) */ #define ONIG_OPTIMIZE_MAP 5 /* char map */ +#define ONIG_OPTIMIZE_EXACT_BM_IC 6 /* BM (ignore case) */ +#define ONIG_OPTIMIZE_EXACT_BM_NOT_REV_IC 7 /* BM (applied to a multibyte string) (ignore case) */ /* bit status */ typedef unsigned int BitStatusType; @@ -327,6 +369,10 @@ typedef unsigned int BitStatusType; #define IS_NOTBOL(option) ((option) & ONIG_OPTION_NOTBOL) #define IS_NOTEOL(option) ((option) & ONIG_OPTION_NOTEOL) #define IS_POSIX_REGION(option) ((option) & ONIG_OPTION_POSIX_REGION) +#define IS_ASCII_RANGE(option) ((option) & ONIG_OPTION_ASCII_RANGE) +#define IS_POSIX_BRACKET_ALL_RANGE(option) ((option) & ONIG_OPTION_POSIX_BRACKET_ALL_RANGE) +#define IS_WORD_BOUND_ALL_RANGE(option) ((option) & ONIG_OPTION_WORD_BOUND_ALL_RANGE) +#define IS_NEWLINE_CRLF(option) ((option) & ONIG_OPTION_NEWLINE_CRLF) /* OP_SET_OPTION is required for these options. #define IS_DYNAMIC_OPTION(option) \ @@ -355,7 +401,7 @@ typedef unsigned char Bits; typedef Bits BitSet[BITSET_SIZE]; typedef Bits* BitSetRef; -#define SIZE_BITSET (int)sizeof(BitSet) +#define SIZE_BITSET (int )sizeof(BitSet) #define BITSET_CLEAR(bs) do {\ int i;\ @@ -402,7 +448,7 @@ typedef struct _BBuf { } while (0) #define BBUF_WRITE(buf,pos,bytes,n) do{\ - int used = (pos) + (int)(n);\ + int used = (pos) + (int )(n);\ if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\ xmemcpy((buf)->p + (pos), (bytes), (n));\ if ((buf)->used < (unsigned int )used) (buf)->used = used;\ @@ -470,6 +516,8 @@ typedef struct _BBuf { #define ANCHOR_ANYCHAR_STAR (1<<14) /* ".*" optimize info */ #define ANCHOR_ANYCHAR_STAR_ML (1<<15) /* ".*" optimize info (multi-line) */ +#define ANCHOR_KEEP (1<<16) + /* operation code */ enum OpCode { OP_FINISH = 0, /* matching process terminator (no more alternative) */ @@ -513,12 +561,20 @@ enum OpCode { OP_WORD_BEGIN, OP_WORD_END, + OP_ASCII_WORD, + OP_NOT_ASCII_WORD, + OP_ASCII_WORD_BOUND, + OP_NOT_ASCII_WORD_BOUND, + OP_ASCII_WORD_BEGIN, + OP_ASCII_WORD_END, + OP_BEGIN_BUF, OP_END_BUF, OP_BEGIN_LINE, OP_END_LINE, OP_SEMI_END_BUF, OP_BEGIN_POSITION, + OP_BEGIN_POS_OR_LINE, /* used for implicit anchor optimization */ OP_BACKREF1, OP_BACKREF2, @@ -535,6 +591,8 @@ enum OpCode { OP_MEMORY_END, OP_MEMORY_END_REC, /* push marker to stack */ + OP_KEEP, + OP_FAIL, /* pop stack and move */ OP_JUMP, OP_PUSH, @@ -565,6 +623,8 @@ enum OpCode { OP_CALL, /* \g */ OP_RETURN, + OP_CONDITION, + OP_STATE_CHECK_PUSH, /* combination explosion check and push */ OP_STATE_CHECK_PUSH_OR_JUMP, /* check ok -> push, else jump */ OP_STATE_CHECK, /* check only */ @@ -585,15 +645,15 @@ typedef short int StateCheckNumType; typedef void* PointerType; #define SIZE_OPCODE 1 -#define SIZE_RELADDR (int)sizeof(RelAddrType) -#define SIZE_ABSADDR (int)sizeof(AbsAddrType) -#define SIZE_LENGTH (int)sizeof(LengthType) -#define SIZE_MEMNUM (int)sizeof(MemNumType) -#define SIZE_STATE_CHECK_NUM (int)sizeof(StateCheckNumType) -#define SIZE_REPEATNUM (int)sizeof(RepeatNumType) -#define SIZE_OPTION (int)sizeof(OnigOptionType) -#define SIZE_CODE_POINT (int)sizeof(OnigCodePoint) -#define SIZE_POINTER (int)sizeof(PointerType) +#define SIZE_RELADDR (int )sizeof(RelAddrType) +#define SIZE_ABSADDR (int )sizeof(AbsAddrType) +#define SIZE_LENGTH (int )sizeof(LengthType) +#define SIZE_MEMNUM (int )sizeof(MemNumType) +#define SIZE_STATE_CHECK_NUM (int )sizeof(StateCheckNumType) +#define SIZE_REPEATNUM (int )sizeof(RepeatNumType) +#define SIZE_OPTION (int )sizeof(OnigOptionType) +#define SIZE_CODE_POINT (int )sizeof(OnigCodePoint) +#define SIZE_POINTER (int )sizeof(PointerType) #define GET_RELADDR_INC(addr,p) PLATFORM_GET_INC(addr, p, RelAddrType) @@ -645,6 +705,7 @@ typedef void* PointerType; #define SIZE_OP_FAIL_LOOK_BEHIND_NOT SIZE_OPCODE #define SIZE_OP_CALL (SIZE_OPCODE + SIZE_ABSADDR) #define SIZE_OP_RETURN SIZE_OPCODE +#define SIZE_OP_CONDITION (SIZE_OPCODE + SIZE_MEMNUM + SIZE_RELADDR) #ifdef USE_COMBINATION_EXPLOSION_CHECK #define SIZE_OP_STATE_CHECK (SIZE_OPCODE + SIZE_STATE_CHECK_NUM) @@ -731,6 +792,7 @@ typedef struct _OnigStackType { #ifdef USE_COMBINATION_EXPLOSION_CHECK unsigned int state_check; #endif + UChar *pkeep; /* keep pattern position */ } state; struct { int count; /* for OP_REPEAT_INC, OP_REPEAT_INC_NG */ @@ -766,9 +828,10 @@ typedef struct { size_t stack_n; OnigOptionType options; OnigRegion* region; - const UChar* start; /* search start position (for \G: BEGIN_POSITION) */ + const UChar* start; /* search start position */ + const UChar* gpos; /* global position (for \G: BEGIN_POSITION) */ #ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE - int best_len; /* for ONIG_OPTION_FIND_LONGEST */ + OnigPosition best_len; /* for ONIG_OPTION_FIND_LONGEST */ UChar* best_s; #endif #ifdef USE_COMBINATION_EXPLOSION_CHECK @@ -799,7 +862,7 @@ extern void onig_print_statistics P_((FILE* f)); #endif #endif -extern UChar* onig_error_code_to_format P_((int code)); +extern UChar* onig_error_code_to_format P_((OnigPosition code)); extern void onig_snprintf_with_pattern PV_((UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, ...)); extern int onig_bbuf_init P_((BBuf* buf, OnigDistance size)); extern int onig_compile P_((regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo, const char *sourcefile, int sourceline)); @@ -815,7 +878,7 @@ typedef void hash_table_type; #include "ruby/st.h" typedef st_data_t hash_data_type; #else -typedef unsigned long hash_data_type; +typedef uintptr_t hash_data_type; #endif extern hash_table_type* onig_st_init_strend_table_with_size P_((st_index_t size)); diff --git a/regparse.c b/regparse.c index 7a58fe14c8..bc1343481d 100644 --- a/regparse.c +++ b/regparse.c @@ -1,9 +1,9 @@ -/* -*- mode:c; c-file-style:"gnu" -*- */ /********************************************************************** - regparse.c - Oniguruma (regular expression library) + regparse.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2008 K.Kosako + * Copyright (c) 2011-2012 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -50,7 +50,11 @@ const OnigSyntaxType OnigSyntaxRuby = { ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT | ONIG_SYN_OP2_CCLASS_SET_OP | ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL | ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META | ONIG_SYN_OP2_ESC_V_VTAB | - ONIG_SYN_OP2_ESC_H_XDIGIT ) + ONIG_SYN_OP2_ESC_H_XDIGIT | + ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER | + ONIG_SYN_OP2_QMARK_LPAREN_CONDITION | + ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK | + ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP ) , ( SYN_GNU_REGEX_BV | ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV | ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND | @@ -60,7 +64,8 @@ const OnigSyntaxType OnigSyntaxRuby = { ONIG_SYN_WARN_CC_OP_NOT_ESCAPED | ONIG_SYN_WARN_CC_DUP | ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT ) - , ONIG_OPTION_NONE + , ( ONIG_OPTION_ASCII_RANGE | ONIG_OPTION_POSIX_BRACKET_ALL_RANGE | + ONIG_OPTION_WORD_BOUND_ALL_RANGE ) , { (OnigCodePoint )'\\' /* esc */ @@ -133,7 +138,7 @@ bbuf_clone(BBuf** rto, BBuf* from) (OnigCodePoint )(ONIGENC_MBC_MINLEN(enc) > 1 ? 0 : 0x80) #define SET_ALL_MULTI_BYTE_RANGE(enc, pbuf) \ - add_code_range_to_buf(pbuf, env, MBCODE_START_POS(enc), ~((OnigCodePoint )0)) + add_code_range_to_buf(pbuf, env, MBCODE_START_POS(enc), ONIG_LAST_CODE_POINT) #define ADD_ALL_MULTI_BYTE_RANGE(enc, mbuf) do {\ if (! ONIGENC_IS_SINGLEBYTE(enc)) {\ @@ -677,7 +682,7 @@ onig_names_free(regex_t* reg) } static NameEntry* -name_find(regex_t* reg, UChar* name, UChar* name_end) +name_find(regex_t* reg, const UChar* name, const UChar* name_end) { int i, len; NameEntry* e; @@ -781,10 +786,12 @@ name_add(regex_t* reg, UChar* name, UChar* name_end, int backref, ScanEnv* env) } else if (t->num == t->alloc) { int i; + NameEntry* p; alloc = t->alloc * 2; - t->e = (NameEntry* )xrealloc(t->e, sizeof(NameEntry) * alloc); - CHECK_NULL_RETURN_MEMERR(t->e); + p = (NameEntry* )xrealloc(t->e, sizeof(NameEntry) * alloc); + CHECK_NULL_RETURN_MEMERR(p); + t->e = p; t->alloc = alloc; clear: @@ -826,9 +833,11 @@ name_add(regex_t* reg, UChar* name, UChar* name_end, int backref, ScanEnv* env) } else { if (e->back_num > e->back_alloc) { + int* p; alloc = e->back_alloc * 2; - e->back_refs = (int* )xrealloc(e->back_refs, sizeof(int) * alloc); - CHECK_NULL_RETURN_MEMERR(e->back_refs); + p = (int* )xrealloc(e->back_refs, sizeof(int) * alloc); + CHECK_NULL_RETURN_MEMERR(p); + e->back_refs = p; e->back_alloc = alloc; } e->back_refs[e->back_num - 1] = backref; @@ -1209,7 +1218,7 @@ node_new_cclass_by_codepoint_range(int not, OnigCodePoint sb_out, } static Node* -node_new_ctype(int type, int not) +node_new_ctype(int type, int not, int ascii_range) { Node* node = node_new(); CHECK_NULL_RETURN(node); @@ -1217,6 +1226,7 @@ node_new_ctype(int type, int not) SET_NTYPE(node, NT_CTYPE); NCTYPE(node)->ctype = type; NCTYPE(node)->not = not; + NCTYPE(node)->ascii_range = ascii_range; return node; } @@ -1288,6 +1298,7 @@ onig_node_new_anchor(int type) NANCHOR(node)->type = type; NANCHOR(node)->target = NULL; NANCHOR(node)->char_len = -1; + NANCHOR(node)->ascii_range = 0; return node; } @@ -1455,7 +1466,7 @@ onig_node_str_cat(Node* node, const UChar* s, const UChar* end) CHECK_NULL_RETURN_MEMERR(p); NSTR(node)->s = p; - NSTR(node)->capa = (int)capa; + NSTR(node)->capa = (int )capa; } } else { @@ -1483,6 +1494,15 @@ node_str_cat_char(Node* node, UChar c) return onig_node_str_cat(node, s, s + 1); } +static int +node_str_cat_codepoint(Node* node, OnigEncoding enc, OnigCodePoint c) +{ + UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN]; + int num = ONIGENC_CODE_TO_MBC(enc, c, buf); + if (num < 0) return num; + return onig_node_str_cat(node, buf, buf + num); +} + extern void onig_node_conv_to_str_node(Node* node, int flag) { @@ -1535,7 +1555,8 @@ static Node* node_new_str_raw(UChar* s, UChar* end) { Node* node = node_new_str(s, end); - NSTRING_SET_RAW(node); + if (IS_NOT_NULL(node)) + NSTRING_SET_RAW(node); return node; } @@ -1564,7 +1585,7 @@ str_node_split_last_char(StrNode* sn, OnigEncoding enc) p = onigenc_get_prev_char_head(enc, sn->s, sn->end, sn->end); if (p && p > sn->s) { /* can be splitted. */ n = node_new_str(p, sn->end); - if ((sn->flag & NSTR_RAW) != 0) + if (IS_NOT_NULL(n) && (sn->flag & NSTR_RAW) != 0) NSTRING_SET_RAW(n); sn->end = (UChar* )p; } @@ -1627,14 +1648,16 @@ onig_scan_unsigned_number(UChar** src, const UChar* end, OnigEncoding enc) } static int -scan_unsigned_hexadecimal_number(UChar** src, UChar* end, int maxlen, - OnigEncoding enc) +scan_unsigned_hexadecimal_number(UChar** src, UChar* end, int minlen, + int maxlen, OnigEncoding enc) { OnigCodePoint c; unsigned int num, val; + int restlen; UChar* p = *src; PFETCH_READY; + restlen = maxlen - minlen; num = 0; while (!PEND && maxlen-- != 0) { PFETCH(c); @@ -1650,6 +1673,8 @@ scan_unsigned_hexadecimal_number(UChar** src, UChar* end, int maxlen, break; } } + if (maxlen > restlen) + return -2; /* not enough digits */ *src = p; return num; } @@ -1734,17 +1759,19 @@ add_code_range_to_buf0(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePo data = (OnigCodePoint* )(bbuf->p); data++; - for (low = 0, bound = n; low < bound; ) { + bound = (from == 0) ? 0 : n; + for (low = 0; low < bound; ) { x = (low + bound) >> 1; - if (from > data[x*2 + 1]) + if (from - 1 > data[x*2 + 1]) low = x + 1; else bound = x; } - for (high = low, bound = n; high < bound; ) { + high = (to == ONIG_LAST_CODE_POINT) ? n : low; + for (bound = n; high < bound; ) { x = (high + bound) >> 1; - if (to >= data[x*2] - 1) + if (to + 1 >= data[x*2]) high = x + 1; else bound = x; @@ -1762,13 +1789,15 @@ add_code_range_to_buf0(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePo to = data[(high - 1)*2 + 1]; } - if (inc_n != 0 && (OnigCodePoint )high < n) { + if (inc_n != 0) { int from_pos = SIZE_CODE_POINT * (1 + high * 2); int to_pos = SIZE_CODE_POINT * (1 + (low + 1) * 2); - int size = (n - high) * 2 * SIZE_CODE_POINT; if (inc_n > 0) { - BBUF_MOVE_RIGHT(bbuf, from_pos, to_pos, size); + if ((OnigCodePoint )high < n) { + int size = (n - high) * 2 * SIZE_CODE_POINT; + BBUF_MOVE_RIGHT(bbuf, from_pos, to_pos, size); + } } else { BBUF_MOVE_LEFT_REDUCE(bbuf, from_pos, to_pos); @@ -1836,11 +1865,11 @@ not_code_range_buf(OnigEncoding enc, BBuf* bbuf, BBuf** pbuf, ScanEnv* env) r = add_code_range_to_buf(pbuf, env, pre, from - 1); if (r != 0) return r; } - if (to == ~((OnigCodePoint )0)) break; + if (to == ONIG_LAST_CODE_POINT) break; pre = to + 1; } - if (to < ~((OnigCodePoint )0)) { - r = add_code_range_to_buf(pbuf, env, to + 1, ~((OnigCodePoint )0)); + if (to < ONIG_LAST_CODE_POINT) { + r = add_code_range_to_buf(pbuf, env, to + 1, ONIG_LAST_CODE_POINT); } return r; } @@ -2053,8 +2082,8 @@ and_cclass(CClassNode* dest, CClassNode* cc, ScanEnv* env) } } if (r != 0) { - bbuf_free(pbuf); - return r; + bbuf_free(pbuf); + return r; } dest->mbuf = pbuf; @@ -2111,8 +2140,8 @@ or_cclass(CClassNode* dest, CClassNode* cc, ScanEnv* env) } } if (r != 0) { - bbuf_free(pbuf); - return r; + bbuf_free(pbuf); + return r; } dest->mbuf = pbuf; @@ -2151,7 +2180,9 @@ conv_backslash_value(int c, ScanEnv* env) return c; } -#if 0 /* no invalid quantifier */ +#ifdef USE_NO_INVALID_QUANTIFIER +#define is_invalid_quantifier_target(node) 0 +#else static int is_invalid_quantifier_target(Node* node) { @@ -2183,8 +2214,6 @@ is_invalid_quantifier_target(Node* node) } return 0; } -#else -#define is_invalid_quantifier_target(node) 0 #endif /* ?:0, *:1, +:2, ??:3, *?:4, +?:5 */ @@ -2303,6 +2332,9 @@ enum TokenSyms { TK_CC_OPEN, TK_QUOTE_OPEN, TK_CHAR_PROPERTY, /* \p{...}, \P{...} */ + TK_LINEBREAK, + TK_EXTENDED_GRAPHEME_CLUSTER, + TK_KEEP, /* in cc */ TK_CC_CLOSE, TK_CC_RANGE, @@ -2320,8 +2352,10 @@ typedef struct { UChar* s; int c; OnigCodePoint code; - int anchor; - int subtype; + struct { + int subtype; + int ascii_range; + } anchor; struct { int lower; int upper; @@ -2342,6 +2376,7 @@ typedef struct { UChar* name; UChar* name_end; int gnum; + int rel; } call; struct { int ctype; @@ -2523,6 +2558,8 @@ get_name_end_code_point(OnigCodePoint start) switch (start) { case '<': return (OnigCodePoint )'>'; break; case '\'': return (OnigCodePoint )'\''; break; + case '(': return (OnigCodePoint )')'; break; + case '{': return (OnigCodePoint )'}'; break; default: break; } @@ -2648,7 +2685,7 @@ fetch_name_with_level(OnigCodePoint start_code, UChar** src, UChar* end, #endif /* USE_BACKREF_WITH_LEVEL */ /* - def: 0 -> define name (don't allow number name) + ref: 0 -> define name (don't allow number name) 1 -> reference name (allow number name) */ static int @@ -2883,8 +2920,8 @@ CLOSE_BRACKET_WITHOUT_ESC_WARN(ScanEnv* env, UChar* c) { if (onig_warn == onig_null_warn) return ; - if (IS_SYNTAX_BV((env)->syntax, ONIG_SYN_WARN_CC_OP_NOT_ESCAPED)) { - onig_syntax_warn(env, "regular expression has '%s' without escape", c); + if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_CC_OP_NOT_ESCAPED)) { + onig_syntax_warn(env, "regular expression has '%s' without escape", c); } } @@ -2893,9 +2930,9 @@ CC_DUP_WARN(ScanEnv *env) { if (onig_warn == onig_null_warn || !RTEST(ruby_verbose)) return ; - if (IS_SYNTAX_BV((env)->syntax, ONIG_SYN_WARN_CC_DUP) && - !((env)->warnings_flag & ONIG_SYN_WARN_CC_DUP)) { - (env)->warnings_flag |= ONIG_SYN_WARN_CC_DUP; + if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_CC_DUP) && + !(env->warnings_flag & ONIG_SYN_WARN_CC_DUP)) { + env->warnings_flag |= ONIG_SYN_WARN_CC_DUP; onig_syntax_warn(env, "character class has duplicated range"); } } @@ -3014,32 +3051,32 @@ fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) switch (c) { case 'w': tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_W; + tok->u.prop.ctype = ONIGENC_CTYPE_WORD; tok->u.prop.not = 0; break; case 'W': tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_W; + tok->u.prop.ctype = ONIGENC_CTYPE_WORD; tok->u.prop.not = 1; break; case 'd': tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_D; + tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; tok->u.prop.not = 0; break; case 'D': tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_D; + tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; tok->u.prop.not = 1; break; case 's': tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_S; + tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; tok->u.prop.not = 0; break; case 'S': tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_S; + tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; tok->u.prop.not = 1; break; case 'h': @@ -3074,7 +3111,7 @@ fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) } } else { - onig_syntax_warn(env, "invalid Unicode Property \\%c", c); + onig_syntax_warn(env, "invalid Unicode Property \\%c", c); } break; @@ -3084,7 +3121,7 @@ fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) prev = p; if (PPEEK_IS('{') && IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_X_BRACE_HEX8)) { PINC; - num = scan_unsigned_hexadecimal_number(&p, end, 8, enc); + num = scan_unsigned_hexadecimal_number(&p, end, 0, 8, enc); if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; if (!PEND) { c2 = PPEEK; @@ -3104,7 +3141,7 @@ fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) } } else if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_X_HEX2)) { - num = scan_unsigned_hexadecimal_number(&p, end, 2, enc); + num = scan_unsigned_hexadecimal_number(&p, end, 0, 2, enc); if (num < 0) return ONIGERR_TOO_BIG_NUMBER; if (p == prev) { /* can't read nothing. */ num = 0; /* but, it's not error */ @@ -3120,8 +3157,9 @@ fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) prev = p; if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_U_HEX4)) { - num = scan_unsigned_hexadecimal_number(&p, end, 4, enc); - if (num < 0) return ONIGERR_TOO_BIG_NUMBER; + num = scan_unsigned_hexadecimal_number(&p, end, 4, 4, enc); + if (num < -1) return ONIGERR_TOO_SHORT_DIGITS; + else if (num < 0) return ONIGERR_TOO_BIG_NUMBER; if (p == prev) { /* can't read nothing. */ num = 0; /* but, it's not error */ } @@ -3195,6 +3233,82 @@ fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) return tok->type; } +#ifdef USE_NAMED_GROUP +static int +fetch_named_backref_token(OnigCodePoint c, OnigToken* tok, UChar** src, + UChar* end, ScanEnv* env) +{ + int r, num; + OnigEncoding enc = env->enc; + const OnigSyntaxType* syn = env->syntax; + UChar* prev; + UChar* p = *src; + UChar* name_end; + int* backs; + int back_num; + + prev = p; + +#ifdef USE_BACKREF_WITH_LEVEL + name_end = NULL_UCHARP; /* no need. escape gcc warning. */ + r = fetch_name_with_level(c, &p, end, &name_end, + env, &back_num, &tok->u.backref.level); + if (r == 1) tok->u.backref.exist_level = 1; + else tok->u.backref.exist_level = 0; +#else + r = fetch_name(&p, end, &name_end, env, &back_num, 1); +#endif + if (r < 0) return r; + + if (back_num != 0) { + if (back_num < 0) { + back_num = BACKREF_REL_TO_ABS(back_num, env); + if (back_num <= 0) + return ONIGERR_INVALID_BACKREF; + } + + if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) { + if (back_num > env->num_mem || + IS_NULL(SCANENV_MEM_NODES(env)[back_num])) + return ONIGERR_INVALID_BACKREF; + } + tok->type = TK_BACKREF; + tok->u.backref.by_name = 0; + tok->u.backref.num = 1; + tok->u.backref.ref1 = back_num; + } + else { + num = onig_name_to_group_numbers(env->reg, prev, name_end, &backs); + if (num <= 0) { + onig_scan_env_set_error_string(env, + ONIGERR_UNDEFINED_NAME_REFERENCE, prev, name_end); + return ONIGERR_UNDEFINED_NAME_REFERENCE; + } + if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) { + int i; + for (i = 0; i < num; i++) { + if (backs[i] > env->num_mem || + IS_NULL(SCANENV_MEM_NODES(env)[backs[i]])) + return ONIGERR_INVALID_BACKREF; + } + } + + tok->type = TK_BACKREF; + tok->u.backref.by_name = 1; + if (num == 1) { + tok->u.backref.num = 1; + tok->u.backref.ref1 = backs[0]; + } + else { + tok->u.backref.num = num; + tok->u.backref.refs = backs; + } + } + *src = p; + return 0; +} +#endif + static int fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) { @@ -3304,68 +3418,74 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) case 'w': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_W_WORD)) break; tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_W; + tok->u.prop.ctype = ONIGENC_CTYPE_WORD; tok->u.prop.not = 0; break; case 'W': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_W_WORD)) break; tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_W; + tok->u.prop.ctype = ONIGENC_CTYPE_WORD; tok->u.prop.not = 1; break; case 'b': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_B_WORD_BOUND)) break; tok->type = TK_ANCHOR; - tok->u.anchor = ANCHOR_WORD_BOUND; + tok->u.anchor.subtype = ANCHOR_WORD_BOUND; + tok->u.anchor.ascii_range = IS_ASCII_RANGE(env->option) + && ! IS_WORD_BOUND_ALL_RANGE(env->option); break; case 'B': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_B_WORD_BOUND)) break; tok->type = TK_ANCHOR; - tok->u.anchor = ANCHOR_NOT_WORD_BOUND; + tok->u.anchor.subtype = ANCHOR_NOT_WORD_BOUND; + tok->u.anchor.ascii_range = IS_ASCII_RANGE(env->option) + && ! IS_WORD_BOUND_ALL_RANGE(env->option); break; #ifdef USE_WORD_BEGIN_END case '<': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END)) break; tok->type = TK_ANCHOR; - tok->u.anchor = ANCHOR_WORD_BEGIN; + tok->u.anchor.subtype = ANCHOR_WORD_BEGIN; + tok->u.anchor.ascii_range = IS_ASCII_RANGE(env->option); break; case '>': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END)) break; tok->type = TK_ANCHOR; - tok->u.anchor = ANCHOR_WORD_END; + tok->u.anchor.subtype = ANCHOR_WORD_END; + tok->u.anchor.ascii_range = IS_ASCII_RANGE(env->option); break; #endif case 's': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_S_WHITE_SPACE)) break; tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_S; + tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; tok->u.prop.not = 0; break; case 'S': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_S_WHITE_SPACE)) break; tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_S; + tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; tok->u.prop.not = 1; break; case 'd': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_D_DIGIT)) break; tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_D; + tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; tok->u.prop.not = 0; break; case 'D': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_D_DIGIT)) break; tok->type = TK_CHAR_TYPE; - tok->u.prop.ctype = ONIGENC_CTYPE_D; + tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; tok->u.prop.not = 1; break; @@ -3387,26 +3507,26 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR)) break; begin_buf: tok->type = TK_ANCHOR; - tok->u.subtype = ANCHOR_BEGIN_BUF; + tok->u.anchor.subtype = ANCHOR_BEGIN_BUF; break; case 'Z': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR)) break; tok->type = TK_ANCHOR; - tok->u.subtype = ANCHOR_SEMI_END_BUF; + tok->u.anchor.subtype = ANCHOR_SEMI_END_BUF; break; case 'z': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR)) break; end_buf: tok->type = TK_ANCHOR; - tok->u.subtype = ANCHOR_END_BUF; + tok->u.anchor.subtype = ANCHOR_END_BUF; break; case 'G': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR)) break; tok->type = TK_ANCHOR; - tok->u.subtype = ANCHOR_BEGIN_POSITION; + tok->u.anchor.subtype = ANCHOR_BEGIN_POSITION; break; case '`': @@ -3425,7 +3545,7 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) prev = p; if (PPEEK_IS('{') && IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_X_BRACE_HEX8)) { PINC; - num = scan_unsigned_hexadecimal_number(&p, end, 8, enc); + num = scan_unsigned_hexadecimal_number(&p, end, 0, 8, enc); if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; if (!PEND) { if (ONIGENC_IS_CODE_XDIGIT(enc, PPEEK)) @@ -3443,7 +3563,7 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) } } else if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_X_HEX2)) { - num = scan_unsigned_hexadecimal_number(&p, end, 2, enc); + num = scan_unsigned_hexadecimal_number(&p, end, 0, 2, enc); if (num < 0) return ONIGERR_TOO_BIG_NUMBER; if (p == prev) { /* can't read nothing. */ num = 0; /* but, it's not error */ @@ -3459,8 +3579,9 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) prev = p; if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_U_HEX4)) { - num = scan_unsigned_hexadecimal_number(&p, end, 4, enc); - if (num < 0) return ONIGERR_TOO_BIG_NUMBER; + num = scan_unsigned_hexadecimal_number(&p, end, 4, 4, enc); + if (num < -1) return ONIGERR_TOO_SHORT_DIGITS; + else if (num < 0) return ONIGERR_TOO_BIG_NUMBER; if (p == prev) { /* can't read nothing. */ num = 0; /* but, it's not error */ } @@ -3527,98 +3648,69 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_K_NAMED_BACKREF)) { PFETCH(c); if (c == '<' || c == '\'') { - UChar* name_end; - int* backs; - int back_num; - - prev = p; - -#ifdef USE_BACKREF_WITH_LEVEL - name_end = NULL_UCHARP; /* no need. escape gcc warning. */ - r = fetch_name_with_level((OnigCodePoint )c, &p, end, &name_end, - env, &back_num, &tok->u.backref.level); - if (r == 1) tok->u.backref.exist_level = 1; - else tok->u.backref.exist_level = 0; -#else - r = fetch_name(&p, end, &name_end, env, &back_num, 1); -#endif + r = fetch_named_backref_token(c, tok, &p, end, env); if (r < 0) return r; - - if (back_num != 0) { - if (back_num < 0) { - back_num = BACKREF_REL_TO_ABS(back_num, env); - if (back_num <= 0) - return ONIGERR_INVALID_BACKREF; - } - - if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) { - if (back_num > env->num_mem || - IS_NULL(SCANENV_MEM_NODES(env)[back_num])) - return ONIGERR_INVALID_BACKREF; - } - tok->type = TK_BACKREF; - tok->u.backref.by_name = 0; - tok->u.backref.num = 1; - tok->u.backref.ref1 = back_num; - } - else { - num = onig_name_to_group_numbers(env->reg, prev, name_end, &backs); - if (num <= 0) { - onig_scan_env_set_error_string(env, - ONIGERR_UNDEFINED_NAME_REFERENCE, prev, name_end); - return ONIGERR_UNDEFINED_NAME_REFERENCE; - } - if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) { - int i; - for (i = 0; i < num; i++) { - if (backs[i] > env->num_mem || - IS_NULL(SCANENV_MEM_NODES(env)[backs[i]])) - return ONIGERR_INVALID_BACKREF; - } - } - - tok->type = TK_BACKREF; - tok->u.backref.by_name = 1; - if (num == 1) { - tok->u.backref.num = 1; - tok->u.backref.ref1 = backs[0]; - } - else { - tok->u.backref.num = num; - tok->u.backref.refs = backs; - } - } } else { - PUNFETCH; - onig_syntax_warn(env, "invalid back reference"); + PUNFETCH; + onig_syntax_warn(env, "invalid back reference"); } } break; #endif -#ifdef USE_SUBEXP_CALL +#if defined(USE_SUBEXP_CALL) || defined(USE_NAMED_GROUP) case 'g': +#ifdef USE_NAMED_GROUP + if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_G_BRACE_BACKREF)) { + PFETCH(c); + if (c == '{') { + r = fetch_named_backref_token(c, tok, &p, end, env); + if (r < 0) return r; + } + else + PUNFETCH; + } +#endif +#ifdef USE_SUBEXP_CALL if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_G_SUBEXP_CALL)) { PFETCH(c); if (c == '<' || c == '\'') { - int gnum; + int gnum = -1, rel = 0; UChar* name_end; - + OnigCodePoint cnext; + + cnext = PPEEK; + if (cnext == '0') { + PINC; + if (PPEEK_IS(get_name_end_code_point(c))) { // \g<0>, \g'0' + PINC; + name_end = p; + gnum = 0; + } + } + else if (cnext == '+') { + PINC; + rel = 1; + } prev = p; - r = fetch_name((OnigCodePoint )c, &p, end, &name_end, env, &gnum, 1); - if (r < 0) return r; + if (gnum < 0) { + r = fetch_name((OnigCodePoint )c, &p, end, &name_end, env, &gnum, 1); + if (r < 0) return r; + } tok->type = TK_CALL; tok->u.call.name = prev; tok->u.call.name_end = name_end; tok->u.call.gnum = gnum; + tok->u.call.rel = rel; } else { - onig_syntax_warn(env, "invalid subexp call"); - PUNFETCH; + onig_syntax_warn(env, "invalid subexp call"); + PUNFETCH; } } +#endif break; #endif @@ -3646,7 +3738,25 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) } } else { - onig_syntax_warn(env, "invalid Unicode Property \\%c", c); + onig_syntax_warn(env, "invalid Unicode Property \\%c", c); + } + break; + + case 'R': + if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK)) { + tok->type = TK_LINEBREAK; + } + break; + + case 'X': + if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER)) { + tok->type = TK_EXTENDED_GRAPHEME_CLUSTER; + } + break; + + case 'K': + if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP)) { + tok->type = TK_KEEP; } break; @@ -3766,6 +3876,97 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) } goto start; } +#ifdef USE_PERL_SUBEXP_CALL + /* (?&name), (?n), (?R), (?0), (?+n), (?-n) */ + c = PPEEK; + if ((c == '&' || c == 'R' || ONIGENC_IS_CODE_DIGIT(enc, c)) && + IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_SUBEXP_CALL)) { + /* (?&name), (?n), (?R), (?0) */ + int gnum; + UChar *name; + UChar *name_end; + + if (c == 'R' || c == '0') { + PINC; /* skip 'R' / '0' */ + if (!PPEEK_IS(')')) return ONIGERR_INVALID_GROUP_NAME; + PINC; /* skip ')' */ + name_end = name = p; + gnum = 0; + } + else { + int numref = 1; + if (c == '&') { /* (?&name) */ + PINC; + numref = 0; /* don't allow number name */ + } + name = p; + r = fetch_name((OnigCodePoint )'(', &p, end, &name_end, env, &gnum, numref); + if (r < 0) return r; + } + + tok->type = TK_CALL; + tok->u.call.name = name; + tok->u.call.name_end = name_end; + tok->u.call.gnum = gnum; + tok->u.call.rel = 0; + break; + } + else if ((c == '-' || c == '+') && + IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_SUBEXP_CALL)) { + /* (?+n), (?-n) */ + int gnum; + UChar *name; + UChar *name_end; + OnigCodePoint cnext; + PFETCH_READY; + + PINC; /* skip '-' / '+' */ + cnext = PPEEK; + if (ONIGENC_IS_CODE_DIGIT(enc, cnext)) { + if (c == '-') PUNFETCH; + name = p; + r = fetch_name((OnigCodePoint )'(', &p, end, &name_end, env, &gnum, 1); + if (r < 0) return r; + + tok->type = TK_CALL; + tok->u.call.name = name; + tok->u.call.name_end = name_end; + tok->u.call.gnum = gnum; + tok->u.call.rel = 1; + break; + } + } +#endif /* USE_PERL_SUBEXP_CALL */ +#ifdef USE_CAPITAL_P_NAMED_GROUP + if (PPEEK_IS('P') && + IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP)) { + int gnum; + UChar *name; + UChar *name_end; + PFETCH_READY; + + PINC; /* skip 'P' */ + PFETCH(c); + if (c == '=') { /* (?P=name): backref */ + r = fetch_named_backref_token((OnigCodePoint )'(', tok, &p, end, env); + if (r < 0) return r; + break; + } + else if (c == '>') { /* (?P>name): subexp call */ + name = p; + r = fetch_name((OnigCodePoint )'(', &p, end, &name_end, env, &gnum, 0); + if (r < 0) return r; + + tok->type = TK_CALL; + tok->u.call.name = name; + tok->u.call.name_end = name_end; + tok->u.call.gnum = gnum; + tok->u.call.rel = 0; + break; + } + PUNFETCH; + } +#endif /* USE_CAPITAL_P_NAMED_GROUP */ PUNFETCH; } @@ -3781,15 +3982,15 @@ fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) case '^': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_LINE_ANCHOR)) break; tok->type = TK_ANCHOR; - tok->u.subtype = (IS_SINGLELINE(env->option) - ? ANCHOR_BEGIN_BUF : ANCHOR_BEGIN_LINE); + tok->u.anchor.subtype = (IS_SINGLELINE(env->option) + ? ANCHOR_BEGIN_BUF : ANCHOR_BEGIN_LINE); break; case '$': if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_LINE_ANCHOR)) break; tok->type = TK_ANCHOR; - tok->u.subtype = (IS_SINGLELINE(env->option) - ? ANCHOR_SEMI_END_BUF : ANCHOR_END_LINE); + tok->u.anchor.subtype = (IS_SINGLELINE(env->option) + ? ANCHOR_SEMI_END_BUF : ANCHOR_END_LINE); break; case '[': @@ -3906,43 +4107,44 @@ add_ctype_to_cc_by_range(CClassNode* cc, int ctype ARG_UNUSED, int not, } static int -add_ctype_to_cc(CClassNode* cc, int ctype, int not, ScanEnv* env) +add_ctype_to_cc(CClassNode* cc, int ctype, int not, int char_prop, ScanEnv* env) { + int maxcode, ascii_range; int c, r; const OnigCodePoint *ranges; OnigCodePoint sb_out; OnigEncoding enc = env->enc; + OnigOptionType option = env->option; - switch (ctype) { - case ONIGENC_CTYPE_D: - case ONIGENC_CTYPE_S: - case ONIGENC_CTYPE_W: - ctype ^= ONIGENC_CTYPE_SPECIAL_MASK; - if (not != 0) { - for (c = 0; c < SINGLE_BYTE_SIZE; c++) { - if (! ONIGENC_IS_ASCII_CODE_CTYPE((OnigCodePoint )c, ctype)) - BITSET_SET_BIT_CHKDUP(cc->bs, c); - } - ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); - } - else { - for (c = 0; c < SINGLE_BYTE_SIZE; c++) { - if (ONIGENC_IS_ASCII_CODE_CTYPE((OnigCodePoint )c, ctype)) - BITSET_SET_BIT_CHKDUP(cc->bs, c); - } - } - return 0; - break; - } + ascii_range = IS_ASCII_RANGE(option) && (char_prop == 0); r = ONIGENC_GET_CTYPE_CODE_RANGE(enc, ctype, &sb_out, &ranges); if (r == 0) { - return add_ctype_to_cc_by_range(cc, ctype, not, env, sb_out, ranges); + r = add_ctype_to_cc_by_range(cc, ctype, not, env, sb_out, ranges); + if ((r == 0) && ascii_range) { + if (not != 0) { + r = add_code_range_to_buf(&(cc->mbuf), env, 0x80, ONIG_LAST_CODE_POINT); + } + else { + CClassNode ccascii; + initialize_cclass(&ccascii); + if (ONIGENC_MBC_MINLEN(env->enc) > 1) { + add_code_range(&(ccascii.mbuf), env, 0x00, 0x7F); + } + else { + bitset_set_range(env, ccascii.bs, 0x00, 0x7F); + } + r = and_cclass(cc, &ccascii, env); + if (IS_NOT_NULL(ccascii.mbuf)) bbuf_free(ccascii.mbuf); + } + } + return r; } else if (r != ONIG_NO_SUPPORT_CONFIG) { return r; } + maxcode = ascii_range ? 0x80 : SINGLE_BYTE_SIZE; r = 0; switch (ctype) { case ONIGENC_CTYPE_ALPHA: @@ -3975,32 +4177,39 @@ add_ctype_to_cc(CClassNode* cc, int ctype, int not, ScanEnv* env) case ONIGENC_CTYPE_PRINT: if (not != 0) { for (c = 0; c < SINGLE_BYTE_SIZE; c++) { - if (! ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype)) + if (! ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype) + || c >= maxcode) BITSET_SET_BIT_CHKDUP(cc->bs, c); } + if (ascii_range) + ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); } else { - for (c = 0; c < SINGLE_BYTE_SIZE; c++) { + for (c = 0; c < maxcode; c++) { if (ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype)) BITSET_SET_BIT_CHKDUP(cc->bs, c); } - ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); + if (! ascii_range) + ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); } break; case ONIGENC_CTYPE_WORD: if (not == 0) { - for (c = 0; c < SINGLE_BYTE_SIZE; c++) { - if (IS_CODE_SB_WORD(enc, c)) BITSET_SET_BIT_CHKDUP(cc->bs, c); + for (c = 0; c < maxcode; c++) { + if (ONIGENC_IS_CODE_WORD(enc, c)) BITSET_SET_BIT_CHKDUP(cc->bs, c); } - ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); + if (! ascii_range) + ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); } else { for (c = 0; c < SINGLE_BYTE_SIZE; c++) { if ((ONIGENC_CODE_TO_MBCLEN(enc, c) > 0) /* check invalid code point */ - && ! ONIGENC_IS_CODE_WORD(enc, c)) + && (! ONIGENC_IS_CODE_WORD(enc, c) || c >= maxcode)) BITSET_SET_BIT_CHKDUP(cc->bs, c); } + if (ascii_range) + ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); } break; @@ -4059,7 +4268,9 @@ parse_posix_bracket(CClassNode* cc, UChar** src, UChar* end, ScanEnv* env) if (onigenc_with_ascii_strncmp(enc, p, end, (UChar* )":]", 2) != 0) return ONIGERR_INVALID_POSIX_BRACKET_TYPE; - r = add_ctype_to_cc(cc, pb->ctype, not, env); + r = add_ctype_to_cc(cc, pb->ctype, not, + IS_POSIX_BRACKET_ALL_RANGE(env->option), + env); if (r != 0) return r; PINC; PINC; @@ -4132,7 +4343,7 @@ parse_char_property(Node** np, OnigToken* tok, UChar** src, UChar* end, *np = node_new_cclass(); CHECK_NULL_RETURN_MEMERR(*np); cc = NCCLASS(*np); - r = add_ctype_to_cc(cc, ctype, 0, env); + r = add_ctype_to_cc(cc, ctype, 0, 1, env); if (r != 0) return r; if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); @@ -4424,7 +4635,7 @@ parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, break; case TK_CHAR_TYPE: - r = add_ctype_to_cc(cc, tok->u.prop.ctype, tok->u.prop.not, env); + r = add_ctype_to_cc(cc, tok->u.prop.ctype, tok->u.prop.not, 0, env); if (r != 0) return r; next_class: @@ -4438,7 +4649,7 @@ parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, ctype = fetch_char_property_to_ctype(&p, end, env); if (ctype < 0) return ctype; - r = add_ctype_to_cc(cc, ctype, tok->u.prop.not, env); + r = add_ctype_to_cc(cc, ctype, tok->u.prop.not, 1, env); if (r != 0) return r; goto next_class; } @@ -4586,8 +4797,10 @@ parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, if (ONIGENC_IS_CODE_NEWLINE(env->enc, NEWLINE_CODE)) { if (ONIGENC_CODE_TO_MBCLEN(env->enc, NEWLINE_CODE) == 1) BITSET_SET_BIT_CHKDUP(cc->bs, NEWLINE_CODE); - else - add_code_range(&(cc->mbuf), env, NEWLINE_CODE, NEWLINE_CODE); + else { + r = add_code_range(&(cc->mbuf), env, NEWLINE_CODE, NEWLINE_CODE); + if (r < 0) goto err; + } } } } @@ -4607,8 +4820,8 @@ static int parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, ScanEnv* env) { - int r, num; - Node *target; + int r = 0, num; + Node *target, *work1 = NULL, *work2 = NULL; OnigOptionType option; OnigCodePoint c; OnigEncoding enc = env->enc; @@ -4644,10 +4857,10 @@ parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, case '=': *np = onig_node_new_anchor(ANCHOR_PREC_READ); break; - case '!': /* preceding read */ + case '!': /* preceding read */ *np = onig_node_new_anchor(ANCHOR_PREC_READ_NOT); break; - case '>': /* (?>...) stop backtrack */ + case '>': /* (?>...) stop backtrack */ *np = node_new_enclose(ENCLOSE_STOP_BACKTRACK); break; @@ -4659,6 +4872,16 @@ parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, else return ONIGERR_UNDEFINED_GROUP_OPTION; break; + +#ifdef USE_CAPITAL_P_NAMED_GROUP + case 'P': /* (?P...) */ + if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP)) { + PFETCH(c); + if (c == '<') goto named_group1; + } + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; +#endif #endif case '<': /* look behind (?<=...), (?...) */ if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP)) { UChar *name; UChar *name_end; @@ -4740,10 +4963,104 @@ parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, } break; + case '(': /* conditional expression: (?(cond)yes), (?(cond)yes|no) */ + if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_LPAREN_CONDITION)) { + UChar *name = NULL; + UChar *name_end; + PFETCH(c); + if (ONIGENC_IS_CODE_DIGIT(enc, c)) { /* (n) */ + PUNFETCH; + r = fetch_name((OnigCodePoint )'(', &p, end, &name_end, env, &num, 1); + if (r < 0) return r; + if (num < 0) { + num = BACKREF_REL_TO_ABS(num, env); + if (num <= 0) + return ONIGERR_INVALID_BACKREF; + } + if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_STRICT_CHECK_BACKREF)) { + if (num > env->num_mem || + IS_NULL(SCANENV_MEM_NODES(env)[num])) + return ONIGERR_INVALID_BACKREF; + } + } +#ifdef USE_NAMED_GROUP + else if (c == '<' || c == '\'') { /* (), ('name') */ + int nums; + int *backs; + + name = p; + r = fetch_name((OnigCodePoint )c, &p, end, &name_end, env, &num, 0); + if (r < 0) return r; + PFETCH(c); + if (c != ')') return ONIGERR_UNDEFINED_GROUP_OPTION; + + nums = onig_name_to_group_numbers(env->reg, name, name_end, &backs); + if (nums <= 0) { + onig_scan_env_set_error_string(env, + ONIGERR_UNDEFINED_NAME_REFERENCE, name, name_end); + return ONIGERR_UNDEFINED_NAME_REFERENCE; + } + if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_STRICT_CHECK_BACKREF)) { + int i; + for (i = 0; i < nums; i++) { + if (backs[i] > env->num_mem || + IS_NULL(SCANENV_MEM_NODES(env)[backs[i]])) + return ONIGERR_INVALID_BACKREF; + } + } + num = backs[0]; /* XXX: use left most named group as Perl */ + } +#endif + *np = node_new_enclose(ENCLOSE_CONDITION); + CHECK_NULL_RETURN_MEMERR(*np); + NENCLOSE(*np)->regnum = num; + if (IS_NOT_NULL(name)) NENCLOSE(*np)->state |= NST_NAME_REF; + } + else + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; + +#if 0 + case '|': /* branch reset: (?|...) */ + if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_VBAR_BRANCH_RESET)) { + /* TODO */ + } + else + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; +#endif + + case '^': /* loads default options */ + if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) { + /* d-imsx */ + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); + ONOFF(option, ONIG_OPTION_IGNORECASE, 1); + ONOFF(option, ONIG_OPTION_SINGLELINE, 0); + ONOFF(option, ONIG_OPTION_MULTILINE, 1); + ONOFF(option, ONIG_OPTION_EXTEND, 1); + PFETCH(c); + } +#if 0 + else if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) { + /* d-imx */ + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 0); + ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 0); + ONOFF(option, ONIG_OPTION_WORD_BOUND_ALL_RANGE, 0); + ONOFF(option, ONIG_OPTION_IGNORECASE, 1); + ONOFF(option, ONIG_OPTION_MULTILINE, 1); + ONOFF(option, ONIG_OPTION_EXTEND, 1); + PFETCH(c); + } +#endif + else { + return ONIGERR_UNDEFINED_GROUP_OPTION; + } + /* fall through */ #ifdef USE_POSIXLINE_OPTION case 'p': #endif case '-': case 'i': case 'm': case 's': case 'x': + case 'a': case 'd': case 'l': case 'u': { int neg = 0; @@ -4779,6 +5096,54 @@ parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, ONOFF(option, ONIG_OPTION_MULTILINE|ONIG_OPTION_SINGLELINE, neg); break; #endif + + case 'a': /* limits \d, \s, \w and POSIX brackets to ASCII range */ + if ((IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) || + IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) && + (neg == 0)) { + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 0); + ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 1); + ONOFF(option, ONIG_OPTION_WORD_BOUND_ALL_RANGE, 1); + } + else + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; + + case 'u': + if ((IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) || + IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) && + (neg == 0)) { + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); + ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 1); + ONOFF(option, ONIG_OPTION_WORD_BOUND_ALL_RANGE, 1); + } + else + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; + + case 'd': + if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) && + (neg == 0)) { + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); + } + else if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY) && + (neg == 0)) { + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 0); + ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 0); + ONOFF(option, ONIG_OPTION_WORD_BOUND_ALL_RANGE, 0); + } + else + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; + + case 'l': + if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) && (neg == 0)) { + ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); + } + else + return ONIGERR_UNDEFINED_GROUP_OPTION; + break; + default: return ONIGERR_UNDEFINED_GROUP_OPTION; } @@ -4844,10 +5209,29 @@ parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, r = scan_env_set_mem_node(env, NENCLOSE(*np)->regnum, *np); if (r != 0) return r; } + else if (NENCLOSE(*np)->type == ENCLOSE_CONDITION) { + if (NTYPE(target) != NT_ALT) { + /* convert (?(cond)yes) to (?(cond)yes|empty) */ + work1 = node_new_empty(); + if (IS_NULL(work1)) goto err; + work2 = onig_node_new_alt(work1, NULL_NODE); + if (IS_NULL(work2)) goto err; + work1 = onig_node_new_alt(target, work2); + if (IS_NULL(work1)) goto err; + NENCLOSE(*np)->target = work1; + } + } } *src = p; return 0; + + err: + onig_node_free(work1); + onig_node_free(work2); + onig_node_free(*np); + *np = NULL; + return ONIGERR_MEMORY; } static const char* const PopularQStr[] = { @@ -5140,6 +5524,209 @@ i_apply_case_fold(OnigCodePoint from, OnigCodePoint to[], return 0; } +static int +node_linebreak(Node** np, ScanEnv* env) +{ + /* same as (?>\x0D\x0A|[\x0A-\x0D\x{85}\x{2028}\x{2029}]) */ + Node* left = NULL; + Node* right = NULL; + Node* target1 = NULL; + Node* target2 = NULL; + CClassNode* cc; + int num1, num2; + UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN * 2]; + + /* \x0D\x0A */ + num1 = ONIGENC_CODE_TO_MBC(env->enc, 0x0D, buf); + if (num1 < 0) return num1; + num2 = ONIGENC_CODE_TO_MBC(env->enc, 0x0A, buf + num1); + if (num2 < 0) return num2; + left = node_new_str_raw(buf, buf + num1 + num2); + if (IS_NULL(left)) goto err; + + /* [\x0A-\x0D] or [\x0A-\x0D\x{85}\x{2028}\x{2029}] */ + right = node_new_cclass(); + if (IS_NULL(right)) goto err; + cc = NCCLASS(right); + if (ONIGENC_MBC_MINLEN(env->enc) > 1) { + add_code_range(&(cc->mbuf), env, 0x0A, 0x0D); + } + else { + bitset_set_range(env, cc->bs, 0x0A, 0x0D); + } + + /* TODO: move this block to enc/unicode.c */ + if (ONIGENC_IS_UNICODE(env->enc)) { + /* UTF-8, UTF-16BE/LE, UTF-32BE/LE */ + add_code_range(&(cc->mbuf), env, 0x85, 0x85); + add_code_range(&(cc->mbuf), env, 0x2028, 0x2029); + } + + /* ...|... */ + target1 = onig_node_new_alt(right, NULL_NODE); + if (IS_NULL(target1)) goto err; + right = NULL; + target2 = onig_node_new_alt(left, target1); + if (IS_NULL(target2)) goto err; + left = NULL; + target1 = NULL; + + /* (?>...) */ + *np = node_new_enclose(ENCLOSE_STOP_BACKTRACK); + if (IS_NULL(*np)) goto err; + NENCLOSE(*np)->target = target2; + return ONIG_NORMAL; + + err: + onig_node_free(left); + onig_node_free(right); + onig_node_free(target1); + onig_node_free(target2); + return ONIGERR_MEMORY; +} + +static int +node_extended_grapheme_cluster(Node** np, ScanEnv* env) +{ + /* same as (?>\P{M}\p{M}*) */ + Node* np1 = NULL; + Node* np2 = NULL; + Node* qn = NULL; + Node* list1 = NULL; + Node* list2 = NULL; + int r = 0; + +#ifdef USE_UNICODE_PROPERTIES + if (ONIGENC_IS_UNICODE(env->enc)) { + /* UTF-8, UTF-16BE/LE, UTF-32BE/LE */ + CClassNode* cc1; + CClassNode* cc2; + UChar* propname = (UChar* )"M"; + int ctype = env->enc->property_name_to_ctype(ONIG_ENCODING_ASCII, + propname, propname + 1); + if (ctype >= 0) { + /* \P{M} */ + np1 = node_new_cclass(); + if (IS_NULL(np1)) goto err; + cc1 = NCCLASS(np1); + r = add_ctype_to_cc(cc1, ctype, 0, 1, env); + if (r != 0) goto err; + NCCLASS_SET_NOT(cc1); + + /* \p{M}* */ + np2 = node_new_cclass(); + if (IS_NULL(np2)) goto err; + cc2 = NCCLASS(np2); + r = add_ctype_to_cc(cc2, ctype, 0, 1, env); + if (r != 0) goto err; + + qn = node_new_quantifier(0, REPEAT_INFINITE, 0); + if (IS_NULL(qn)) goto err; + NQTFR(qn)->target = np2; + np2 = NULL; + + /* \P{M}\p{M}* */ + list2 = node_new_list(qn, NULL_NODE); + if (IS_NULL(list2)) goto err; + qn = NULL; + list1 = node_new_list(np1, list2); + if (IS_NULL(list1)) goto err; + np1 = NULL; + list2 = NULL; + + /* (?>...) */ + *np = node_new_enclose(ENCLOSE_STOP_BACKTRACK); + if (IS_NULL(*np)) goto err; + NENCLOSE(*np)->target = list1; + return ONIG_NORMAL; + } + } +#endif /* USE_UNICODE_PROPERTIES */ + if (IS_NULL(*np)) { + /* PerlSyntax: (?s:.), RubySyntax: (?m:.) */ + OnigOptionType option; + np1 = node_new_anychar(); + if (IS_NULL(np1)) goto err; + + option = env->option; + ONOFF(option, ONIG_OPTION_MULTILINE, 0); + *np = node_new_option(option); + if (IS_NULL(*np)) goto err; + NENCLOSE(*np)->target = np1; + } + return ONIG_NORMAL; + + err: + onig_node_free(np1); + onig_node_free(np2); + onig_node_free(qn); + onig_node_free(list1); + onig_node_free(list2); + return (r == 0) ? ONIGERR_MEMORY : r; +} + +static int +countbits(unsigned int bits) { + bits = (bits & 0x55555555) + ((bits >> 1) & 0x55555555); + bits = (bits & 0x33333333) + ((bits >> 2) & 0x33333333); + bits = (bits & 0x0f0f0f0f) + ((bits >> 4) & 0x0f0f0f0f); + bits = (bits & 0x00ff00ff) + ((bits >> 8) & 0x00ff00ff); + return (bits & 0x0000ffff) + ((bits >>16) & 0x0000ffff); +} + +static int +is_onechar_cclass(CClassNode* cc, OnigCodePoint* code) +{ + OnigCodePoint c; + int found = 0; + int i, j = -1; + Bits b1, b2; + BBuf *bbuf = cc->mbuf; + + if (IS_NCCLASS_NOT(cc)) return 0; + + /* check bbuf */ + if (IS_NOT_NULL(bbuf)) { + OnigCodePoint n, *data; + GET_CODE_POINT(n, bbuf->p); + data = (OnigCodePoint* )(bbuf->p) + 1; + if ((n == 1) && (data[0] == data[1])) { + /* only one char found in the bbuf, save the code point. */ + found = 1; + c = data[0]; + } + else { + return 0; /* the bbuf contains multiple chars */ + } + } + + if (found && (c < SINGLE_BYTE_SIZE) && BITSET_AT(cc->bs, c)) { + /* c is included in the bitset, ignore the result of bbuf. */ + found = 0; + } + + /* check bitset */ + for (i = 0; i < (int )BITSET_SIZE; i++) { + b1 = cc->bs[i]; + if (b1 != 0) { + if (((b1 & (b1 - 1)) == 0) && (found == 0)) { + found = 1; + j = i; + b2 = b1; + } else { + return 0; /* the character class contains multiple chars */ + } + } + } + if (j >= 0) { + /* only one char found in the bitset, calculate the code point. */ + c = BITS_IN_ROOM * j + (countbits(b2 - 1) & 0x1f); + } + *code = c; + return 1; +} + + static int parse_exp(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, ScanEnv* env) @@ -5155,9 +5742,10 @@ parse_exp(Node** np, OnigToken* tok, int term, switch (tok->type) { case TK_ALT: case TK_EOT: - end_of_token: + end_of_token: *np = node_new_empty(); return tok->type; + break; case TK_SUBEXP_OPEN: r = parse_enclose(np, tok, TK_SUBEXP_CLOSE, src, end, env); @@ -5189,18 +5777,42 @@ parse_exp(Node** np, OnigToken* tok, int term, else goto tk_byte; break; + case TK_LINEBREAK: + r = node_linebreak(np, env); + if (r < 0) return r; + break; + + case TK_EXTENDED_GRAPHEME_CLUSTER: + r = node_extended_grapheme_cluster(np, env); + if (r < 0) return r; + break; + + case TK_KEEP: + *np = onig_node_new_anchor(ANCHOR_KEEP); + CHECK_NULL_RETURN_MEMERR(*np); + break; + case TK_STRING: tk_byte: { *np = node_new_str(tok->backp, *src); CHECK_NULL_RETURN_MEMERR(*np); + string_loop: while (1) { r = fetch_token(tok, src, end, env); if (r < 0) return r; - if (r != TK_STRING) break; - - r = onig_node_str_cat(*np, tok->backp, *src); + if (r == TK_STRING) { + r = onig_node_str_cat(*np, tok->backp, *src); + } +#ifndef NUMBERED_CHAR_IS_NOT_CASE_AMBIG + else if (r == TK_CODE_POINT) { + r = node_str_cat_codepoint(*np, env->enc, tok->u.code); + } +#endif + else { + break; + } if (r < 0) return r; } @@ -5253,15 +5865,15 @@ parse_exp(Node** np, OnigToken* tok, int term, case TK_CODE_POINT: { - UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN]; - int num = ONIGENC_CODE_TO_MBC(env->enc, tok->u.code, buf); - if (num < 0) return num; + *np = node_new_empty(); + CHECK_NULL_RETURN_MEMERR(*np); + r = node_str_cat_codepoint(*np, env->enc, tok->u.code); + if (r != 0) return r; #ifdef NUMBERED_CHAR_IS_NOT_CASE_AMBIG - *np = node_new_str_raw(buf, buf + num); + NSTRING_SET_RAW(*np); #else - *np = node_new_str(buf, buf + num); + goto string_loop; #endif - CHECK_NULL_RETURN_MEMERR(*np); } break; @@ -5286,21 +5898,9 @@ parse_exp(Node** np, OnigToken* tok, int term, case TK_CHAR_TYPE: { switch (tok->u.prop.ctype) { - case ONIGENC_CTYPE_D: - case ONIGENC_CTYPE_S: - case ONIGENC_CTYPE_W: - { - CClassNode* cc; - *np = node_new_cclass(); - CHECK_NULL_RETURN_MEMERR(*np); - cc = NCCLASS(*np); - add_ctype_to_cc(cc, tok->u.prop.ctype, 0, env); - if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); - } - break; - case ONIGENC_CTYPE_WORD: - *np = node_new_ctype(tok->u.prop.ctype, tok->u.prop.not); + *np = node_new_ctype(tok->u.prop.ctype, tok->u.prop.not, + IS_ASCII_RANGE(env->option)); CHECK_NULL_RETURN_MEMERR(*np); break; @@ -5317,6 +5917,7 @@ parse_exp(Node** np, OnigToken* tok, int term, r = ONIGENC_GET_CTYPE_CODE_RANGE(env->enc, tok->u.prop.ctype, &sb_out, &mbr); if (r == 0 && + ! IS_ASCII_RANGE(env->option) && ONIGENC_CODE_RANGE_NUM(mbr) >= THRESHOLD_RANGE_NUM_FOR_SHARE_CCLASS) { type_cclass_key key; @@ -5365,7 +5966,7 @@ parse_exp(Node** np, OnigToken* tok, int term, *np = node_new_cclass(); CHECK_NULL_RETURN_MEMERR(*np); cc = NCCLASS(*np); - add_ctype_to_cc(cc, tok->u.prop.ctype, 0, env); + add_ctype_to_cc(cc, tok->u.prop.ctype, 0, 0, env); if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); #ifdef USE_SHARED_CCLASS_TABLE } @@ -5388,11 +5989,19 @@ parse_exp(Node** np, OnigToken* tok, int term, case TK_CC_OPEN: { CClassNode* cc; + OnigCodePoint code; r = parse_char_class(np, tok, src, end, env); if (r != 0) return r; cc = NCCLASS(*np); + if (is_onechar_cclass(cc, &code)) { + *np = node_new_empty(); + CHECK_NULL_RETURN_MEMERR(*np); + r = node_str_cat_codepoint(*np, env->enc, code); + if (r != 0) return r; + goto string_loop; + } if (IS_IGNORECASE(env->option)) { IApplyCaseFoldArg iarg; @@ -5451,7 +6060,8 @@ parse_exp(Node** np, OnigToken* tok, int term, { int gnum = tok->u.call.gnum; - if (gnum < 0) { + if (gnum < 0 || tok->u.call.rel != 0) { + if (gnum > 0) gnum--; gnum = BACKREF_REL_TO_ABS(gnum, env); if (gnum <= 0) return ONIGERR_INVALID_BACKREF; @@ -5464,7 +6074,9 @@ parse_exp(Node** np, OnigToken* tok, int term, #endif case TK_ANCHOR: - *np = onig_node_new_anchor(tok->u.anchor); + *np = onig_node_new_anchor(tok->u.anchor.subtype); + CHECK_NULL_RETURN_MEMERR(*np); + NANCHOR(*np)->ascii_range = tok->u.anchor.ascii_range; break; case TK_OP_REPEAT: @@ -5522,7 +6134,7 @@ parse_exp(Node** np, OnigToken* tok, int term, *targetp = qn; } else if (r == 1) { - onig_node_free(qn); + onig_node_free(qn); } else if (r == 2) { /* split case: /abc+/ */ Node *tmp; @@ -5647,6 +6259,21 @@ parse_regexp(Node** top, UChar** src, UChar* end, ScanEnv* env) if (r < 0) return r; r = parse_subexp(top, &tok, TK_EOT, src, end, env); if (r < 0) return r; + +#ifdef USE_SUBEXP_CALL + if (env->num_call > 0) { + /* Capture the pattern itself. It is used for (?R), (?0) and \g<0>. */ + const int num = 0; + Node* np; + np = node_new_enclose_memory(env->option, 0); + CHECK_NULL_RETURN_MEMERR(np); + NENCLOSE(np)->regnum = num; + NENCLOSE(np)->target = *top; + r = scan_env_set_mem_node(env, num, np); + if (r != 0) return r; + *top = np; + } +#endif return 0; } diff --git a/regparse.h b/regparse.h index e1a00ddfda..4f45e2b72c 100644 --- a/regparse.h +++ b/regparse.h @@ -1,10 +1,11 @@ #ifndef ONIGURUMA_REGPARSE_H #define ONIGURUMA_REGPARSE_H /********************************************************************** - regparse.h - Oniguruma (regular expression library) + regparse.h - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2007 K.Kosako + * Copyright (c) 2011 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -91,6 +92,7 @@ #define ENCLOSE_MEMORY (1<<0) #define ENCLOSE_OPTION (1<<1) #define ENCLOSE_STOP_BACKTRACK (1<<2) +#define ENCLOSE_CONDITION (1<<3) #define NODE_STR_MARGIN 16 #define NODE_STR_BUF_SIZE 24 /* sizeof(CClassNode) - sizeof(int)*4 */ @@ -100,7 +102,7 @@ #define NSTR_AMBIG (1<<1) #define NSTR_DONT_GET_OPT_INFO (1<<2) -#define NSTRING_LEN(node) (OnigDistance)((node)->u.str.end - (node)->u.str.s) +#define NSTRING_LEN(node) (OnigDistance )((node)->u.str.end - (node)->u.str.s) #define NSTRING_SET_RAW(node) (node)->u.str.flag |= NSTR_RAW #define NSTRING_CLEAR_RAW(node) (node)->u.str.flag &= ~NSTR_RAW #define NSTRING_SET_AMBIG(node) (node)->u.str.flag |= NSTR_AMBIG @@ -150,6 +152,7 @@ #define IS_ENCLOSE_STOP_BT_SIMPLE_REPEAT(en) \ (((en)->state & NST_STOP_BT_SIMPLE_REPEAT) != 0) #define IS_ENCLOSE_NAMED_GROUP(en) (((en)->state & NST_NAMED_GROUP) != 0) +#define IS_ENCLOSE_NAME_REF(en) (((en)->state & NST_NAME_REF) != 0) #define SET_CALL_RECURSION(node) (node)->u.call.state |= NST_RECURSION #define IS_CALL_RECURSION(cn) (((cn)->state & NST_RECURSION) != 0) @@ -240,6 +243,7 @@ typedef struct { int type; struct _Node* target; int char_len; + int ascii_range; } AnchorNode; typedef struct { @@ -252,6 +256,7 @@ typedef struct { NodeBase base; int ctype; int not; + int ascii_range; } CtypeNode; typedef struct _Node { diff --git a/regsyntax.c b/regsyntax.c index fc639dfcdf..7cb98f2d46 100644 --- a/regsyntax.c +++ b/regsyntax.c @@ -1,8 +1,9 @@ /********************************************************************** - regsyntax.c - Oniguruma (regular expression library) + regsyntax.c - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- * Copyright (c) 2002-2006 K.Kosako + * Copyright (c) 2011-2012 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -153,7 +154,8 @@ const OnigSyntaxType OnigSyntaxJava = { ONIG_SYN_OP2_ESC_V_VTAB | ONIG_SYN_OP2_ESC_U_HEX4 | ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY ) , ( SYN_GNU_REGEX_BV | ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND ) - , ONIG_OPTION_SINGLELINE + , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_ASCII_RANGE | + ONIG_OPTION_WORD_BOUND_ALL_RANGE ) , { (OnigCodePoint )'\\' /* esc */ @@ -165,7 +167,8 @@ const OnigSyntaxType OnigSyntaxJava = { } }; -const OnigSyntaxType OnigSyntaxPerl = { +/* Perl 5.8 */ +const OnigSyntaxType OnigSyntaxPerl58 = { (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | ONIG_SYN_OP_ESC_X_BRACE_HEX8 | ONIG_SYN_OP_ESC_CONTROL_CHARS | @@ -174,7 +177,9 @@ const OnigSyntaxType OnigSyntaxPerl = { , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE | ONIG_SYN_OP2_QMARK_GROUP_EFFECT | ONIG_SYN_OP2_OPTION_PERL | ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY | - ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT ) + ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT | + ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER | + ONIG_SYN_OP2_QMARK_LPAREN_CONDITION) , SYN_GNU_REGEX_BV , ONIG_OPTION_SINGLELINE , @@ -188,8 +193,8 @@ const OnigSyntaxType OnigSyntaxPerl = { } }; -/* Perl + named group */ -const OnigSyntaxType OnigSyntaxPerl_NG = { +/* Perl 5.8 + named group */ +const OnigSyntaxType OnigSyntaxPerl58_NG = { (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | ONIG_SYN_OP_ESC_X_BRACE_HEX8 | ONIG_SYN_OP_ESC_CONTROL_CHARS | @@ -199,6 +204,8 @@ const OnigSyntaxType OnigSyntaxPerl_NG = { ONIG_SYN_OP2_QMARK_GROUP_EFFECT | ONIG_SYN_OP2_OPTION_PERL | ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY | ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT | + ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER | + ONIG_SYN_OP2_QMARK_LPAREN_CONDITION | ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP | ONIG_SYN_OP2_ESC_K_NAMED_BACKREF | ONIG_SYN_OP2_ESC_G_SUBEXP_CALL ) @@ -217,6 +224,71 @@ const OnigSyntaxType OnigSyntaxPerl_NG = { } }; +/* Perl 5.10+ */ +const OnigSyntaxType OnigSyntaxPerl = { + (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | + ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | + ONIG_SYN_OP_ESC_X_BRACE_HEX8 | ONIG_SYN_OP_ESC_CONTROL_CHARS | + ONIG_SYN_OP_ESC_C_CONTROL ) + & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END ) + , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE | + ONIG_SYN_OP2_QMARK_GROUP_EFFECT | ONIG_SYN_OP2_OPTION_PERL | + ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY | + ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT | + ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER | + ONIG_SYN_OP2_QMARK_LPAREN_CONDITION | + ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT | + ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL | + ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK | + ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP | + ONIG_SYN_OP2_QMARK_SUBEXP_CALL | + ONIG_SYN_OP2_ESC_G_BRACE_BACKREF | + ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP | + ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP | + ONIG_SYN_OP2_ESC_K_NAMED_BACKREF ) + , ( SYN_GNU_REGEX_BV | + ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME | + ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL ) + , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_CAPTURE_GROUP ) + , + { + (OnigCodePoint )'\\' /* esc */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time '?' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time '+' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime */ + } +}; + +const OnigSyntaxType OnigSyntaxPython = { + (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | + ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | + ONIG_SYN_OP_ESC_X_BRACE_HEX8 | ONIG_SYN_OP_ESC_CONTROL_CHARS | + ONIG_SYN_OP_ESC_C_CONTROL ) + & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END ) + , ( ONIG_SYN_OP2_QMARK_GROUP_EFFECT | ONIG_SYN_OP2_OPTION_PERL | + ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY | + ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT | + ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT | + ONIG_SYN_OP2_ESC_V_VTAB | + ONIG_SYN_OP2_ESC_U_HEX4 | + ONIG_SYN_OP2_QMARK_LPAREN_CONDITION | + ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP ) + , ( SYN_GNU_REGEX_BV | + ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV ) + , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_ASCII_RANGE ) + , + { + (OnigCodePoint )'\\' /* esc */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time '?' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time '+' */ + , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime */ + } +}; + extern int diff --git a/test/ruby/enc/test_euc_jp.rb b/test/ruby/enc/test_euc_jp.rb index 1ccc55ccb9..510ee4611e 100644 --- a/test/ruby/enc/test_euc_jp.rb +++ b/test/ruby/enc/test_euc_jp.rb @@ -5,7 +5,7 @@ require "test/unit" class TestEUC_JP < Test::Unit::TestCase def test_mbc_case_fold assert_match(/(£á)(a)\1\2/i, "£áa£áA") - assert_no_match(/(£á)(a)\1\2/i, "£áa£ÁA") + assert_match(/(£á)(a)\1\2/i, "£áa£ÁA") end def test_property diff --git a/test/ruby/enc/test_shift_jis.rb b/test/ruby/enc/test_shift_jis.rb index 54ef67dd44..1bd47fa859 100644 --- a/test/ruby/enc/test_shift_jis.rb +++ b/test/ruby/enc/test_shift_jis.rb @@ -5,7 +5,7 @@ require "test/unit" class TestShiftJIS < Test::Unit::TestCase def test_mbc_case_fold assert_match(/(‚)(a)\1\2/i, "‚a‚A") - assert_no_match(/(‚)(a)\1\2/i, "‚a‚`A") + assert_match(/(‚)(a)\1\2/i, "‚a‚`A") end def test_property diff --git a/tool/enc-unicode.rb b/tool/enc-unicode.rb index f7b2862dd7..cd57ba9387 100755 --- a/tool/enc-unicode.rb +++ b/tool/enc-unicode.rb @@ -5,7 +5,7 @@ # # To use this, get UnicodeData.txt, Scripts.txt, PropList.txt, # PropertyAliases.txt, PropertyValueAliases.txt, DerivedCoreProperties.txt, -# and DerivedAge.txt from unicode.org. +# DerivedAge.txt and Blocks.txt from unicode.org. # (http://unicode.org/Public/UNIDATA/) And run following command. # ruby1.9 tool/enc-unicode.rb data_dir > enc/unicode/name2ctype.kwd # You can get source file for gperf. After this, simply make ruby. @@ -90,7 +90,10 @@ def parse_unicode_data(file) # codepoints to Cn and C cn_remainder = (last_cp.next..0x10ffff).to_a data['Cn'] += cn_remainder - data['C'] += cn_remainder + data['C'] += data['Cn'] + + # Special case for LC (Cased_Letter). LC = Ll + Lt + Lu + data['LC'] = data['Ll'] + data['Lt'] + data['Lu'] # Define General Category properties gcps = data.keys.sort - POSIX_NAMES @@ -112,16 +115,15 @@ def define_posix_props(data) (0x0061..0x0066).to_a data['Alnum'] = data['Alpha'] + data['Digit'] data['Space'] = data['White_Space'] - data['Blank'] = data['White_Space'] - [0x0A, 0x0B, 0x0C, 0x0D, 0x85] - - data['Line_Separator'] - data['Paragraph_Separator'] + data['Blank'] = data['Space_Separator'] + [0x0009] data['Cntrl'] = data['Cc'] data['Word'] = data['Alpha'] + data['Mark'] + data['Digit'] + data['Connector_Punctuation'] data['Graph'] = data['Any'] - data['Space'] - data['Cntrl'] - data['Surrogate'] - data['Unassigned'] - data['Print'] = data['Graph'] + data['Blank'] - data['Cntrl'] + data['Print'] = data['Graph'] + data['Space_Separator'] end -def parse_scripts(data) +def parse_scripts(data, categories) files = [ {fn: 'DerivedCoreProperties.txt', title: 'Derived Property'}, {fn: 'Scripts.txt', title: 'Script'}, @@ -134,7 +136,7 @@ def parse_scripts(data) IO.foreach(get_file(file[:fn])) do |line| if /^# Total code points: / =~ line data[current] = cps - make_const(current, cps, file[:title]) + categories[current] = file[:title] (names[file[:title]] ||= []) << current cps = [] elsif /^([0-9a-fA-F]+)(?:..([0-9a-fA-F]+))?\s*;\s*(\w+)/ =~ line @@ -146,7 +148,7 @@ def parse_scripts(data) # All code points not explicitly listed for Script # have the value Unknown (Zzzz). data['Unknown'] = (0..0x10ffff).to_a - data.values_at(*names['Script']).flatten - make_const('Unknown', data['Unknown'], 'Script') + categories['Unknown'] = 'Script' names.values.flatten << 'Unknown' end @@ -200,6 +202,29 @@ def parse_age(data) ages end +def parse_block(data) + current = nil + last_constname = nil + cps = [] + blocks = [] + IO.foreach(get_file('Blocks.txt')) do |line| + if /^([0-9a-fA-F]+)\.\.([0-9a-fA-F]+);\s*(.*)/ =~ line + cps = ($1.to_i(16)..$2.to_i(16)).to_a + constname = constantize_blockname($3) + data[constname] = cps + make_const(constname, cps, "Block") + blocks << constname + end + end + + # All code points not belonging to any of the named blocks + # have the value No_Block. + no_block = (0..0x10ffff).to_a - data.values_at(*blocks).flatten + constname = constantize_blockname("No_Block") + make_const(constname, no_block, "Block") + blocks << constname +end + $const_cache = {} # make_const(property, pairs, name): Prints a 'static const' structure for a # given property, group of paired codepoints, and a human-friendly name for @@ -232,6 +257,10 @@ def constantize_agename(name) "Age_#{name.sub(/\./, '_')}" end +def constantize_blockname(name) + "In_#{name.gsub(/\W/, '_')}" +end + def get_file(name) File.join(ARGV[0], name) end @@ -241,9 +270,16 @@ end puts '%{' puts '#define long size_t' props, data = parse_unicode_data(get_file('UnicodeData.txt')) +categories = {} +props.concat parse_scripts(data, categories) +aliases = parse_aliases(data) +define_posix_props(data) +POSIX_NAMES.each do |name| + make_const(name, data[name], "[[:#{name}:]]") +end print "\n#ifdef USE_UNICODE_PROPERTIES" props.each do |name| - category = + category = categories[name] || case name.size when 1 then 'Major Category' when 2 then 'General Category' @@ -251,22 +287,18 @@ props.each do |name| end make_const(name, data[name], category) end -props.concat parse_scripts(data) -puts '#endif /* USE_UNICODE_PROPERTIES */' -aliases = parse_aliases(data) ages = parse_age(data) -define_posix_props(data) -POSIX_NAMES.each do |name| - make_const(name, data[name], "[[:#{name}:]]") -end +blocks = parse_block(data) +puts '#endif /* USE_UNICODE_PROPERTIES */' puts(<<'__HEREDOC') static const OnigCodePoint* const CodeRanges[] = { __HEREDOC POSIX_NAMES.each{|name|puts" CR_#{name},"} puts "#ifdef USE_UNICODE_PROPERTIES" -props.each{|name|puts" CR_#{name},"} -ages.each{|name| puts" CR_#{constantize_agename(name)},"} +props.each{|name| puts" CR_#{name},"} +ages.each{|name| puts" CR_#{constantize_agename(name)},"} +blocks.each{|name|puts" CR_#{name},"} puts(<<'__HEREDOC') #endif /* USE_UNICODE_PROPERTIES */ @@ -284,6 +316,7 @@ i = -1 name_to_index = {} POSIX_NAMES.each do |name| i += 1 + next if name == 'NEWLINE' name = normalize_propname(name) name_to_index[name] = i puts"%-40s %3d" % [name + ',', i] @@ -306,6 +339,12 @@ ages.each do |name| name_to_index[name] = i puts "%-40s %3d" % [name + ',', i] end +blocks.each do |name| + i += 1 + name = normalize_propname(name) + name_to_index[name] = i + puts "%-40s %3d" % [name + ',', i] +end puts(<<'__HEREDOC') #endif /* USE_UNICODE_PROPERTIES */ %% -- cgit v1.2.3