From b8f4479a17e1add06e1532a00ae913cc0f4e9567 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Mon, 29 Jan 2024 00:42:05 +0100 Subject: Bump librune --- vendor/librune/gen/gbrk | 2 - vendor/librune/gen/rtype | 106 - vendor/librune/gen/rtype-cat | 104 + vendor/librune/gen/rtype-prop | 116 + vendor/librune/gen/rtype-prop.awk | 61 + vendor/librune/include/internal/common.h | 6 + vendor/librune/include/internal/rtype/cat.h | 3295 +++++++++++++++++++ .../librune/include/internal/rtype/lookup-func.h | 47 + vendor/librune/include/internal/rtype_lookup.h | 3357 -------------------- vendor/librune/include/rtype.h | 138 +- vendor/librune/lib/rtype/risspace.c | 3 +- .../librune/lib/rtype/rune_has_prop_alphabetic.c | 763 +++++ .../lib/rtype/rune_has_prop_ascii_hex_digit.c | 33 + .../librune/lib/rtype/rune_has_prop_bidi_control.c | 34 + .../lib/rtype/rune_has_prop_case_ignorable.c | 467 +++ vendor/librune/lib/rtype/rune_has_prop_cased.c | 187 ++ .../rtype/rune_has_prop_changes_when_casefolded.c | 652 ++++ .../rtype/rune_has_prop_changes_when_casemapped.c | 161 + .../rtype/rune_has_prop_changes_when_lowercased.c | 639 ++++ .../rtype/rune_has_prop_changes_when_titlecased.c | 656 ++++ .../rtype/rune_has_prop_changes_when_uppercased.c | 657 ++++ vendor/librune/lib/rtype/rune_has_prop_dash.c | 53 + .../rune_has_prop_default_ignorable_code_point.c | 47 + .../librune/lib/rtype/rune_has_prop_deprecated.c | 38 + vendor/librune/lib/rtype/rune_has_prop_diacritic.c | 225 ++ vendor/librune/lib/rtype/rune_has_prop_extender.c | 63 + .../lib/rtype/rune_has_prop_grapheme_base.c | 905 ++++++ .../lib/rtype/rune_has_prop_grapheme_extend.c | 393 +++ vendor/librune/lib/rtype/rune_has_prop_hex_digit.c | 36 + .../rtype/rune_has_prop_id_compat_math_continue.c | 48 + .../lib/rtype/rune_has_prop_id_compat_math_start.c | 43 + .../librune/lib/rtype/rune_has_prop_id_continue.c | 799 +++++ vendor/librune/lib/rtype/rune_has_prop_id_start.c | 690 ++++ .../librune/lib/rtype/rune_has_prop_ideographic.c | 51 + .../lib/rtype/rune_has_prop_ids_binary_operator.c | 33 + .../lib/rtype/rune_has_prop_ids_trinary_operator.c | 31 + .../lib/rtype/rune_has_prop_ids_unary_operator.c | 31 + .../lib/rtype/rune_has_prop_indic_conjunct_break.c | 230 ++ .../librune/lib/rtype/rune_has_prop_join_control.c | 31 + .../rtype/rune_has_prop_logical_order_exception.c | 37 + vendor/librune/lib/rtype/rune_has_prop_lowercase.c | 701 ++++ vendor/librune/lib/rtype/rune_has_prop_math.c | 168 + .../rtype/rune_has_prop_noncharacter_code_point.c | 47 + .../lib/rtype/rune_has_prop_pattern_syntax.c | 58 + .../lib/rtype/rune_has_prop_pattern_white_space.c | 35 + .../rune_has_prop_prepended_concatenation_mark.c | 37 + .../lib/rtype/rune_has_prop_quotation_mark.c | 43 + vendor/librune/lib/rtype/rune_has_prop_radical.c | 33 + .../lib/rtype/rune_has_prop_regional_indicator.c | 31 + .../lib/rtype/rune_has_prop_sentence_terminal.c | 111 + .../librune/lib/rtype/rune_has_prop_soft_dotted.c | 64 + .../lib/rtype/rune_has_prop_terminal_punctuation.c | 138 + .../lib/rtype/rune_has_prop_unified_ideograph.c | 47 + vendor/librune/lib/rtype/rune_has_prop_uppercase.c | 681 ++++ .../lib/rtype/rune_has_prop_variation_selector.c | 34 + .../librune/lib/rtype/rune_has_prop_white_space.c | 40 + .../librune/lib/rtype/rune_has_prop_xid_continue.c | 806 +++++ vendor/librune/lib/rtype/rune_has_prop_xid_start.c | 697 ++++ vendor/librune/lib/rtype/runeis.c | 35 +- vendor/librune/make.c | 30 +- vendor/librune/test/tests | 3 +- 61 files changed, 15557 insertions(+), 3550 deletions(-) delete mode 100755 vendor/librune/gen/rtype create mode 100755 vendor/librune/gen/rtype-cat create mode 100755 vendor/librune/gen/rtype-prop create mode 100644 vendor/librune/gen/rtype-prop.awk create mode 100644 vendor/librune/include/internal/rtype/cat.h create mode 100644 vendor/librune/include/internal/rtype/lookup-func.h delete mode 100644 vendor/librune/include/internal/rtype_lookup.h create mode 100644 vendor/librune/lib/rtype/rune_has_prop_alphabetic.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_ascii_hex_digit.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_bidi_control.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_case_ignorable.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_cased.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_changes_when_casefolded.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_changes_when_casemapped.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_changes_when_lowercased.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_changes_when_titlecased.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_changes_when_uppercased.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_dash.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_default_ignorable_code_point.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_deprecated.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_diacritic.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_extender.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_grapheme_base.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_grapheme_extend.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_hex_digit.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_id_compat_math_continue.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_id_compat_math_start.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_id_continue.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_id_start.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_ideographic.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_ids_binary_operator.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_ids_trinary_operator.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_ids_unary_operator.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_indic_conjunct_break.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_join_control.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_logical_order_exception.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_lowercase.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_math.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_noncharacter_code_point.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_pattern_syntax.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_pattern_white_space.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_prepended_concatenation_mark.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_quotation_mark.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_radical.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_regional_indicator.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_sentence_terminal.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_soft_dotted.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_terminal_punctuation.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_unified_ideograph.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_uppercase.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_variation_selector.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_white_space.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_xid_continue.c create mode 100644 vendor/librune/lib/rtype/rune_has_prop_xid_start.c (limited to 'vendor') diff --git a/vendor/librune/gen/gbrk b/vendor/librune/gen/gbrk index 72ee2f7..1146327 100755 --- a/vendor/librune/gen/gbrk +++ b/vendor/librune/gen/gbrk @@ -26,8 +26,6 @@ wait cat <include/internal/rtype_lookup.h - -readonly URL='https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt' -cache "$URL" - -cat <include/internal/rtype/cat.h + +readonly URL='https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt' +cache "$URL" + +cat <&2 + + gawk -M -v prop=$prop -f gen/rtype-prop.awk \ + /tmp/librune/rtype/PropList.txt \ + >lib/rtype/rune_has_prop_$lprop.c + + echo "[[unsequenced]] bool rune_has_prop_$lprop(rune);" + echo ' DONE' >&2 + done + + for prop in $props2 + do + lprop=$(echo $prop | tr A-Z a-z) + + printf 'rune_has_prop_%s…' $lprop >&2 + + gawk -M -v prop=$prop -f gen/rtype-prop.awk \ + /tmp/librune/rtype/DerivedCoreProperties.txt \ + >lib/rtype/rune_has_prop_$lprop.c + + echo "[[unsequenced]] bool rune_has_prop_$lprop(rune);" + echo ' DONE' >&2 + done +} | gawk ' + /PROP PREDICATES END/ { no = 0 } + FILENAME != "-" && !no { print } + FILENAME == "-" { funcs[++i] = $0 } + + /PROP PREDICATES START/ { + no = 1 + asort(funcs) + for (i = 1; i <= length(funcs); i++) + print funcs[i] + } +' - include/rtype.h \ +| sponge include/rtype.h diff --git a/vendor/librune/gen/rtype-prop.awk b/vendor/librune/gen/rtype-prop.awk new file mode 100644 index 0000000..59b4a99 --- /dev/null +++ b/vendor/librune/gen/rtype-prop.awk @@ -0,0 +1,61 @@ +BEGIN { + FS = "( *#.*| +; +)" + + print "/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */" + print "" + print "#include \"rtype.h\"" + print "" + print "#include \"internal/common.h\"" + print "" +} + +$2 == prop || (prop == "Indic_Conjunct_Break" && $2 ~ /InCB;/) { + n = split($1, a, /\.\./) + lo = strtonum("0x" a[1]) + hi = strtonum("0x" a[n]) + + for (i = lo; i <= hi; i++) + xs[i] = 1 +} + +END { + for (i = 0; i <= 0xFF; i++) { + if (xs[i]) + mask = or(mask, lshift(1, i)) + } + print "#if BIT_LOOKUP" + printf "static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x%Xuwb;\n", \ + mask + print "#endif" + print "" + print "static const struct {" + print "\trune lo, hi;" + print "} lookup_tbl[] = {" + + for (i = 0; i <= 0x10FFFF; i++) { + if (!xs[i]) + continue + lo = i + while (xs[i + 1]) + i++ + printf "\t{0x%06X, 0x%06X},\n", lo, i + } + + print "};" + print "" + print "#define TYPE bool" + print "#define TABLE lookup_tbl" + print "#define DEFAULT false" + print "#define HAS_VALUE 0" + print "#include \"internal/rtype/lookup-func.h\"" + print "" + print "bool" + printf "rune_has_prop_%s(rune ch)\n", tolower(prop) + print "{" + print "\treturn" + print "#if BIT_LOOKUP" + print "\t\tch <= LATIN1_MAX ? (mask & ch) :" + print "#endif" + print "\t\tlookup(ch);" + print "}" +} diff --git a/vendor/librune/include/internal/common.h b/vendor/librune/include/internal/common.h index ace9e63..a05f33c 100644 --- a/vendor/librune/include/internal/common.h +++ b/vendor/librune/include/internal/common.h @@ -3,6 +3,8 @@ /* IWYU pragma: private */ +#include + #define lengthof(a) (sizeof(a) / sizeof(*(a))) #define U1(x) (((x)&0x80) == 0x00) @@ -20,4 +22,8 @@ #define LATIN1_MAX 0xFF +#if BITINT_MAXWIDTH >= LATIN1_MAX + 1 +# define BIT_LOOKUP 1 +#endif + #endif /* !RUNE_INTERNAL_COMMON_H */ diff --git a/vendor/librune/include/internal/rtype/cat.h b/vendor/librune/include/internal/rtype/cat.h new file mode 100644 index 0000000..d84082a --- /dev/null +++ b/vendor/librune/include/internal/rtype/cat.h @@ -0,0 +1,3295 @@ +/* This file is autogenerated by gen/rtype-cat; DO NOT EDIT. */ + +#ifndef RUNE_INTERNAL_RTYPE_CAT_H +#define RUNE_INTERNAL_RTYPE_CAT_H + +/* IWYU pragma: private */ +/* clang-format off */ + +#include "../types.h" +#include "../../rtype.h" + +static const enum unicat rtype_cat_lat1_tbl[] = { + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_ZS, UC_PO, UC_PO, UC_PO, UC_SC, UC_PO, UC_PO, UC_PO, + UC_PS, UC_PE, UC_PO, UC_SM, UC_PO, UC_PD, UC_PO, UC_PO, + UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, + UC_ND, UC_ND, UC_PO, UC_PO, UC_SM, UC_SM, UC_SM, UC_PO, + UC_PO, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, + UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, + UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, + UC_LU, UC_LU, UC_LU, UC_PS, UC_PO, UC_PE, UC_SK, UC_PC, + UC_SK, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, + UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, + UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, + UC_LL, UC_LL, UC_LL, UC_PS, UC_SM, UC_PE, UC_SM, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, + UC_ZS, UC_PO, UC_SC, UC_SC, UC_SC, UC_SC, UC_SO, UC_PO, + UC_SK, UC_SO, UC_LO, UC_PI, UC_SM, UC_CF, UC_SO, UC_SK, + UC_SO, UC_SM, UC_NO, UC_NO, UC_SK, UC_LL, UC_PO, UC_PO, + UC_SK, UC_NO, UC_LO, UC_PF, UC_NO, UC_NO, UC_NO, UC_PO, + UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, + UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, + UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_SM, + UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LL, + UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, + UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, + UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_SM, + UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, +}; + +static const struct { + rune lo, hi; + enum unicat val; +} rtype_cat_tbl[] = { + {0x000100, 0x000100, UC_LU}, + {0x000101, 0x000101, UC_LL}, + {0x000102, 0x000102, UC_LU}, + {0x000103, 0x000103, UC_LL}, + {0x000104, 0x000104, UC_LU}, + {0x000105, 0x000105, UC_LL}, + {0x000106, 0x000106, UC_LU}, + {0x000107, 0x000107, UC_LL}, + {0x000108, 0x000108, UC_LU}, + {0x000109, 0x000109, UC_LL}, + {0x00010A, 0x00010A, UC_LU}, + {0x00010B, 0x00010B, UC_LL}, + {0x00010C, 0x00010C, UC_LU}, + {0x00010D, 0x00010D, UC_LL}, + {0x00010E, 0x00010E, UC_LU}, + {0x00010F, 0x00010F, UC_LL}, + {0x000110, 0x000110, UC_LU}, + {0x000111, 0x000111, UC_LL}, + {0x000112, 0x000112, UC_LU}, + {0x000113, 0x000113, UC_LL}, + {0x000114, 0x000114, UC_LU}, + {0x000115, 0x000115, UC_LL}, + {0x000116, 0x000116, UC_LU}, + {0x000117, 0x000117, UC_LL}, + {0x000118, 0x000118, UC_LU}, + {0x000119, 0x000119, UC_LL}, + {0x00011A, 0x00011A, UC_LU}, + {0x00011B, 0x00011B, UC_LL}, + {0x00011C, 0x00011C, UC_LU}, + {0x00011D, 0x00011D, UC_LL}, + {0x00011E, 0x00011E, UC_LU}, + {0x00011F, 0x00011F, UC_LL}, + {0x000120, 0x000120, UC_LU}, + {0x000121, 0x000121, UC_LL}, + {0x000122, 0x000122, UC_LU}, + {0x000123, 0x000123, UC_LL}, + {0x000124, 0x000124, UC_LU}, + {0x000125, 0x000125, UC_LL}, + {0x000126, 0x000126, UC_LU}, + {0x000127, 0x000127, UC_LL}, + {0x000128, 0x000128, UC_LU}, + {0x000129, 0x000129, UC_LL}, + {0x00012A, 0x00012A, UC_LU}, + {0x00012B, 0x00012B, UC_LL}, + {0x00012C, 0x00012C, UC_LU}, + {0x00012D, 0x00012D, UC_LL}, + {0x00012E, 0x00012E, UC_LU}, + {0x00012F, 0x00012F, UC_LL}, + {0x000130, 0x000130, UC_LU}, + {0x000131, 0x000131, UC_LL}, + {0x000132, 0x000132, UC_LU}, + {0x000133, 0x000133, UC_LL}, + {0x000134, 0x000134, UC_LU}, + {0x000135, 0x000135, UC_LL}, + {0x000136, 0x000136, UC_LU}, + {0x000137, 0x000138, UC_LL}, + {0x000139, 0x000139, UC_LU}, + {0x00013A, 0x00013A, UC_LL}, + {0x00013B, 0x00013B, UC_LU}, + {0x00013C, 0x00013C, UC_LL}, + {0x00013D, 0x00013D, UC_LU}, + {0x00013E, 0x00013E, UC_LL}, + {0x00013F, 0x00013F, UC_LU}, + {0x000140, 0x000140, UC_LL}, + {0x000141, 0x000141, UC_LU}, + {0x000142, 0x000142, UC_LL}, + {0x000143, 0x000143, UC_LU}, + {0x000144, 0x000144, UC_LL}, + {0x000145, 0x000145, UC_LU}, + {0x000146, 0x000146, UC_LL}, + {0x000147, 0x000147, UC_LU}, + {0x000148, 0x000149, UC_LL}, + {0x00014A, 0x00014A, UC_LU}, + {0x00014B, 0x00014B, UC_LL}, + {0x00014C, 0x00014C, UC_LU}, + {0x00014D, 0x00014D, UC_LL}, + {0x00014E, 0x00014E, UC_LU}, + {0x00014F, 0x00014F, UC_LL}, + {0x000150, 0x000150, UC_LU}, + {0x000151, 0x000151, UC_LL}, + {0x000152, 0x000152, UC_LU}, + {0x000153, 0x000153, UC_LL}, + {0x000154, 0x000154, UC_LU}, + {0x000155, 0x000155, UC_LL}, + {0x000156, 0x000156, UC_LU}, + {0x000157, 0x000157, UC_LL}, + {0x000158, 0x000158, UC_LU}, + {0x000159, 0x000159, UC_LL}, + {0x00015A, 0x00015A, UC_LU}, + {0x00015B, 0x00015B, UC_LL}, + {0x00015C, 0x00015C, UC_LU}, + {0x00015D, 0x00015D, UC_LL}, + {0x00015E, 0x00015E, UC_LU}, + {0x00015F, 0x00015F, UC_LL}, + {0x000160, 0x000160, UC_LU}, + {0x000161, 0x000161, UC_LL}, + {0x000162, 0x000162, UC_LU}, + {0x000163, 0x000163, UC_LL}, + {0x000164, 0x000164, UC_LU}, + {0x000165, 0x000165, UC_LL}, + {0x000166, 0x000166, UC_LU}, + {0x000167, 0x000167, UC_LL}, + {0x000168, 0x000168, UC_LU}, + {0x000169, 0x000169, UC_LL}, + {0x00016A, 0x00016A, UC_LU}, + {0x00016B, 0x00016B, UC_LL}, + {0x00016C, 0x00016C, UC_LU}, + {0x00016D, 0x00016D, UC_LL}, + {0x00016E, 0x00016E, UC_LU}, + {0x00016F, 0x00016F, UC_LL}, + {0x000170, 0x000170, UC_LU}, + {0x000171, 0x000171, UC_LL}, + {0x000172, 0x000172, UC_LU}, + {0x000173, 0x000173, UC_LL}, + {0x000174, 0x000174, UC_LU}, + {0x000175, 0x000175, UC_LL}, + {0x000176, 0x000176, UC_LU}, + {0x000177, 0x000177, UC_LL}, + {0x000178, 0x000179, UC_LU}, + {0x00017A, 0x00017A, UC_LL}, + {0x00017B, 0x00017B, UC_LU}, + {0x00017C, 0x00017C, UC_LL}, + {0x00017D, 0x00017D, UC_LU}, + {0x00017E, 0x000180, UC_LL}, + {0x000181, 0x000182, UC_LU}, + {0x000183, 0x000183, UC_LL}, + {0x000184, 0x000184, UC_LU}, + {0x000185, 0x000185, UC_LL}, + {0x000186, 0x000187, UC_LU}, + {0x000188, 0x000188, UC_LL}, + {0x000189, 0x00018B, UC_LU}, + {0x00018C, 0x00018D, UC_LL}, + {0x00018E, 0x000191, UC_LU}, + {0x000192, 0x000192, UC_LL}, + {0x000193, 0x000194, UC_LU}, + {0x000195, 0x000195, UC_LL}, + {0x000196, 0x000198, UC_LU}, + {0x000199, 0x00019B, UC_LL}, + {0x00019C, 0x00019D, UC_LU}, + {0x00019E, 0x00019E, UC_LL}, + {0x00019F, 0x0001A0, UC_LU}, + {0x0001A1, 0x0001A1, UC_LL}, + {0x0001A2, 0x0001A2, UC_LU}, + {0x0001A3, 0x0001A3, UC_LL}, + {0x0001A4, 0x0001A4, UC_LU}, + {0x0001A5, 0x0001A5, UC_LL}, + {0x0001A6, 0x0001A7, UC_LU}, + {0x0001A8, 0x0001A8, UC_LL}, + {0x0001A9, 0x0001A9, UC_LU}, + {0x0001AA, 0x0001AB, UC_LL}, + {0x0001AC, 0x0001AC, UC_LU}, + {0x0001AD, 0x0001AD, UC_LL}, + {0x0001AE, 0x0001AF, UC_LU}, + {0x0001B0, 0x0001B0, UC_LL}, + {0x0001B1, 0x0001B3, UC_LU}, + {0x0001B4, 0x0001B4, UC_LL}, + {0x0001B5, 0x0001B5, UC_LU}, + {0x0001B6, 0x0001B6, UC_LL}, + {0x0001B7, 0x0001B8, UC_LU}, + {0x0001B9, 0x0001BA, UC_LL}, + {0x0001BB, 0x0001BB, UC_LO}, + {0x0001BC, 0x0001BC, UC_LU}, + {0x0001BD, 0x0001BF, UC_LL}, + {0x0001C0, 0x0001C3, UC_LO}, + {0x0001C4, 0x0001C4, UC_LU}, + {0x0001C5, 0x0001C5, UC_LT}, + {0x0001C6, 0x0001C6, UC_LL}, + {0x0001C7, 0x0001C7, UC_LU}, + {0x0001C8, 0x0001C8, UC_LT}, + {0x0001C9, 0x0001C9, UC_LL}, + {0x0001CA, 0x0001CA, UC_LU}, + {0x0001CB, 0x0001CB, UC_LT}, + {0x0001CC, 0x0001CC, UC_LL}, + {0x0001CD, 0x0001CD, UC_LU}, + {0x0001CE, 0x0001CE, UC_LL}, + {0x0001CF, 0x0001CF, UC_LU}, + {0x0001D0, 0x0001D0, UC_LL}, + {0x0001D1, 0x0001D1, UC_LU}, + {0x0001D2, 0x0001D2, UC_LL}, + {0x0001D3, 0x0001D3, UC_LU}, + {0x0001D4, 0x0001D4, UC_LL}, + {0x0001D5, 0x0001D5, UC_LU}, + {0x0001D6, 0x0001D6, UC_LL}, + {0x0001D7, 0x0001D7, UC_LU}, + {0x0001D8, 0x0001D8, UC_LL}, + {0x0001D9, 0x0001D9, UC_LU}, + {0x0001DA, 0x0001DA, UC_LL}, + {0x0001DB, 0x0001DB, UC_LU}, + {0x0001DC, 0x0001DD, UC_LL}, + {0x0001DE, 0x0001DE, UC_LU}, + {0x0001DF, 0x0001DF, UC_LL}, + {0x0001E0, 0x0001E0, UC_LU}, + {0x0001E1, 0x0001E1, UC_LL}, + {0x0001E2, 0x0001E2, UC_LU}, + {0x0001E3, 0x0001E3, UC_LL}, + {0x0001E4, 0x0001E4, UC_LU}, + {0x0001E5, 0x0001E5, UC_LL}, + {0x0001E6, 0x0001E6, UC_LU}, + {0x0001E7, 0x0001E7, UC_LL}, + {0x0001E8, 0x0001E8, UC_LU}, + {0x0001E9, 0x0001E9, UC_LL}, + {0x0001EA, 0x0001EA, UC_LU}, + {0x0001EB, 0x0001EB, UC_LL}, + {0x0001EC, 0x0001EC, UC_LU}, + {0x0001ED, 0x0001ED, UC_LL}, + {0x0001EE, 0x0001EE, UC_LU}, + {0x0001EF, 0x0001F0, UC_LL}, + {0x0001F1, 0x0001F1, UC_LU}, + {0x0001F2, 0x0001F2, UC_LT}, + {0x0001F3, 0x0001F3, UC_LL}, + {0x0001F4, 0x0001F4, UC_LU}, + {0x0001F5, 0x0001F5, UC_LL}, + {0x0001F6, 0x0001F8, UC_LU}, + {0x0001F9, 0x0001F9, UC_LL}, + {0x0001FA, 0x0001FA, UC_LU}, + {0x0001FB, 0x0001FB, UC_LL}, + {0x0001FC, 0x0001FC, UC_LU}, + {0x0001FD, 0x0001FD, UC_LL}, + {0x0001FE, 0x0001FE, UC_LU}, + {0x0001FF, 0x0001FF, UC_LL}, + {0x000200, 0x000200, UC_LU}, + {0x000201, 0x000201, UC_LL}, + {0x000202, 0x000202, UC_LU}, + {0x000203, 0x000203, UC_LL}, + {0x000204, 0x000204, UC_LU}, + {0x000205, 0x000205, UC_LL}, + {0x000206, 0x000206, UC_LU}, + {0x000207, 0x000207, UC_LL}, + {0x000208, 0x000208, UC_LU}, + {0x000209, 0x000209, UC_LL}, + {0x00020A, 0x00020A, UC_LU}, + {0x00020B, 0x00020B, UC_LL}, + {0x00020C, 0x00020C, UC_LU}, + {0x00020D, 0x00020D, UC_LL}, + {0x00020E, 0x00020E, UC_LU}, + {0x00020F, 0x00020F, UC_LL}, + {0x000210, 0x000210, UC_LU}, + {0x000211, 0x000211, UC_LL}, + {0x000212, 0x000212, UC_LU}, + {0x000213, 0x000213, UC_LL}, + {0x000214, 0x000214, UC_LU}, + {0x000215, 0x000215, UC_LL}, + {0x000216, 0x000216, UC_LU}, + {0x000217, 0x000217, UC_LL}, + {0x000218, 0x000218, UC_LU}, + {0x000219, 0x000219, UC_LL}, + {0x00021A, 0x00021A, UC_LU}, + {0x00021B, 0x00021B, UC_LL}, + {0x00021C, 0x00021C, UC_LU}, + {0x00021D, 0x00021D, UC_LL}, + {0x00021E, 0x00021E, UC_LU}, + {0x00021F, 0x00021F, UC_LL}, + {0x000220, 0x000220, UC_LU}, + {0x000221, 0x000221, UC_LL}, + {0x000222, 0x000222, UC_LU}, + {0x000223, 0x000223, UC_LL}, + {0x000224, 0x000224, UC_LU}, + {0x000225, 0x000225, UC_LL}, + {0x000226, 0x000226, UC_LU}, + {0x000227, 0x000227, UC_LL}, + {0x000228, 0x000228, UC_LU}, + {0x000229, 0x000229, UC_LL}, + {0x00022A, 0x00022A, UC_LU}, + {0x00022B, 0x00022B, UC_LL}, + {0x00022C, 0x00022C, UC_LU}, + {0x00022D, 0x00022D, UC_LL}, + {0x00022E, 0x00022E, UC_LU}, + {0x00022F, 0x00022F, UC_LL}, + {0x000230, 0x000230, UC_LU}, + {0x000231, 0x000231, UC_LL}, + {0x000232, 0x000232, UC_LU}, + {0x000233, 0x000239, UC_LL}, + {0x00023A, 0x00023B, UC_LU}, + {0x00023C, 0x00023C, UC_LL}, + {0x00023D, 0x00023E, UC_LU}, + {0x00023F, 0x000240, UC_LL}, + {0x000241, 0x000241, UC_LU}, + {0x000242, 0x000242, UC_LL}, + {0x000243, 0x000246, UC_LU}, + {0x000247, 0x000247, UC_LL}, + {0x000248, 0x000248, UC_LU}, + {0x000249, 0x000249, UC_LL}, + {0x00024A, 0x00024A, UC_LU}, + {0x00024B, 0x00024B, UC_LL}, + {0x00024C, 0x00024C, UC_LU}, + {0x00024D, 0x00024D, UC_LL}, + {0x00024E, 0x00024E, UC_LU}, + {0x00024F, 0x000293, UC_LL}, + {0x000294, 0x000294, UC_LO}, + {0x000295, 0x0002AF, UC_LL}, + {0x0002B0, 0x0002C1, UC_LM}, + {0x0002C2, 0x0002C5, UC_SK}, + {0x0002C6, 0x0002D1, UC_LM}, + {0x0002D2, 0x0002DF, UC_SK}, + {0x0002E0, 0x0002E4, UC_LM}, + {0x0002E5, 0x0002EB, UC_SK}, + {0x0002EC, 0x0002EC, UC_LM}, + {0x0002ED, 0x0002ED, UC_SK}, + {0x0002EE, 0x0002EE, UC_LM}, + {0x0002EF, 0x0002FF, UC_SK}, + {0x000300, 0x00036F, UC_MN}, + {0x000370, 0x000370, UC_LU}, + {0x000371, 0x000371, UC_LL}, + {0x000372, 0x000372, UC_LU}, + {0x000373, 0x000373, UC_LL}, + {0x000374, 0x000374, UC_LM}, + {0x000375, 0x000375, UC_SK}, + {0x000376, 0x000376, UC_LU}, + {0x000377, 0x000377, UC_LL}, + {0x00037A, 0x00037A, UC_LM}, + {0x00037B, 0x00037D, UC_LL}, + {0x00037E, 0x00037E, UC_PO}, + {0x00037F, 0x00037F, UC_LU}, + {0x000384, 0x000385, UC_SK}, + {0x000386, 0x000386, UC_LU}, + {0x000387, 0x000387, UC_PO}, + {0x000388, 0x00038A, UC_LU}, + {0x00038C, 0x00038C, UC_LU}, + {0x00038E, 0x00038F, UC_LU}, + {0x000390, 0x000390, UC_LL}, + {0x000391, 0x0003A1, UC_LU}, + {0x0003A3, 0x0003AB, UC_LU}, + {0x0003AC, 0x0003CE, UC_LL}, + {0x0003CF, 0x0003CF, UC_LU}, + {0x0003D0, 0x0003D1, UC_LL}, + {0x0003D2, 0x0003D4, UC_LU}, + {0x0003D5, 0x0003D7, UC_LL}, + {0x0003D8, 0x0003D8, UC_LU}, + {0x0003D9, 0x0003D9, UC_LL}, + {0x0003DA, 0x0003DA, UC_LU}, + {0x0003DB, 0x0003DB, UC_LL}, + {0x0003DC, 0x0003DC, UC_LU}, + {0x0003DD, 0x0003DD, UC_LL}, + {0x0003DE, 0x0003DE, UC_LU}, + {0x0003DF, 0x0003DF, UC_LL}, + {0x0003E0, 0x0003E0, UC_LU}, + {0x0003E1, 0x0003E1, UC_LL}, + {0x0003E2, 0x0003E2, UC_LU}, + {0x0003E3, 0x0003E3, UC_LL}, + {0x0003E4, 0x0003E4, UC_LU}, + {0x0003E5, 0x0003E5, UC_LL}, + {0x0003E6, 0x0003E6, UC_LU}, + {0x0003E7, 0x0003E7, UC_LL}, + {0x0003E8, 0x0003E8, UC_LU}, + {0x0003E9, 0x0003E9, UC_LL}, + {0x0003EA, 0x0003EA, UC_LU}, + {0x0003EB, 0x0003EB, UC_LL}, + {0x0003EC, 0x0003EC, UC_LU}, + {0x0003ED, 0x0003ED, UC_LL}, + {0x0003EE, 0x0003EE, UC_LU}, + {0x0003EF, 0x0003F3, UC_LL}, + {0x0003F4, 0x0003F4, UC_LU}, + {0x0003F5, 0x0003F5, UC_LL}, + {0x0003F6, 0x0003F6, UC_SM}, + {0x0003F7, 0x0003F7, UC_LU}, + {0x0003F8, 0x0003F8, UC_LL}, + {0x0003F9, 0x0003FA, UC_LU}, + {0x0003FB, 0x0003FC, UC_LL}, + {0x0003FD, 0x00042F, UC_LU}, + {0x000430, 0x00045F, UC_LL}, + {0x000460, 0x000460, UC_LU}, + {0x000461, 0x000461, UC_LL}, + {0x000462, 0x000462, UC_LU}, + {0x000463, 0x000463, UC_LL}, + {0x000464, 0x000464, UC_LU}, + {0x000465, 0x000465, UC_LL}, + {0x000466, 0x000466, UC_LU}, + {0x000467, 0x000467, UC_LL}, + {0x000468, 0x000468, UC_LU}, + {0x000469, 0x000469, UC_LL}, + {0x00046A, 0x00046A, UC_LU}, + {0x00046B, 0x00046B, UC_LL}, + {0x00046C, 0x00046C, UC_LU}, + {0x00046D, 0x00046D, UC_LL}, + {0x00046E, 0x00046E, UC_LU}, + {0x00046F, 0x00046F, UC_LL}, + {0x000470, 0x000470, UC_LU}, + {0x000471, 0x000471, UC_LL}, + {0x000472, 0x000472, UC_LU}, + {0x000473, 0x000473, UC_LL}, + {0x000474, 0x000474, UC_LU}, + {0x000475, 0x000475, UC_LL}, + {0x000476, 0x000476, UC_LU}, + {0x000477, 0x000477, UC_LL}, + {0x000478, 0x000478, UC_LU}, + {0x000479, 0x000479, UC_LL}, + {0x00047A, 0x00047A, UC_LU}, + {0x00047B, 0x00047B, UC_LL}, + {0x00047C, 0x00047C, UC_LU}, + {0x00047D, 0x00047D, UC_LL}, + {0x00047E, 0x00047E, UC_LU}, + {0x00047F, 0x00047F, UC_LL}, + {0x000480, 0x000480, UC_LU}, + {0x000481, 0x000481, UC_LL}, + {0x000482, 0x000482, UC_SO}, + {0x000483, 0x000487, UC_MN}, + {0x000488, 0x000489, UC_ME}, + {0x00048A, 0x00048A, UC_LU}, + {0x00048B, 0x00048B, UC_LL}, + {0x00048C, 0x00048C, UC_LU}, + {0x00048D, 0x00048D, UC_LL}, + {0x00048E, 0x00048E, UC_LU}, + {0x00048F, 0x00048F, UC_LL}, + {0x000490, 0x000490, UC_LU}, + {0x000491, 0x000491, UC_LL}, + {0x000492, 0x000492, UC_LU}, + {0x000493, 0x000493, UC_LL}, + {0x000494, 0x000494, UC_LU}, + {0x000495, 0x000495, UC_LL}, + {0x000496, 0x000496, UC_LU}, + {0x000497, 0x000497, UC_LL}, + {0x000498, 0x000498, UC_LU}, + {0x000499, 0x000499, UC_LL}, + {0x00049A, 0x00049A, UC_LU}, + {0x00049B, 0x00049B, UC_LL}, + {0x00049C, 0x00049C, UC_LU}, + {0x00049D, 0x00049D, UC_LL}, + {0x00049E, 0x00049E, UC_LU}, + {0x00049F, 0x00049F, UC_LL}, + {0x0004A0, 0x0004A0, UC_LU}, + {0x0004A1, 0x0004A1, UC_LL}, + {0x0004A2, 0x0004A2, UC_LU}, + {0x0004A3, 0x0004A3, UC_LL}, + {0x0004A4, 0x0004A4, UC_LU}, + {0x0004A5, 0x0004A5, UC_LL}, + {0x0004A6, 0x0004A6, UC_LU}, + {0x0004A7, 0x0004A7, UC_LL}, + {0x0004A8, 0x0004A8, UC_LU}, + {0x0004A9, 0x0004A9, UC_LL}, + {0x0004AA, 0x0004AA, UC_LU}, + {0x0004AB, 0x0004AB, UC_LL}, + {0x0004AC, 0x0004AC, UC_LU}, + {0x0004AD, 0x0004AD, UC_LL}, + {0x0004AE, 0x0004AE, UC_LU}, + {0x0004AF, 0x0004AF, UC_LL}, + {0x0004B0, 0x0004B0, UC_LU}, + {0x0004B1, 0x0004B1, UC_LL}, + {0x0004B2, 0x0004B2, UC_LU}, + {0x0004B3, 0x0004B3, UC_LL}, + {0x0004B4, 0x0004B4, UC_LU}, + {0x0004B5, 0x0004B5, UC_LL}, + {0x0004B6, 0x0004B6, UC_LU}, + {0x0004B7, 0x0004B7, UC_LL}, + {0x0004B8, 0x0004B8, UC_LU}, + {0x0004B9, 0x0004B9, UC_LL}, + {0x0004BA, 0x0004BA, UC_LU}, + {0x0004BB, 0x0004BB, UC_LL}, + {0x0004BC, 0x0004BC, UC_LU}, + {0x0004BD, 0x0004BD, UC_LL}, + {0x0004BE, 0x0004BE, UC_LU}, + {0x0004BF, 0x0004BF, UC_LL}, + {0x0004C0, 0x0004C1, UC_LU}, + {0x0004C2, 0x0004C2, UC_LL}, + {0x0004C3, 0x0004C3, UC_LU}, + {0x0004C4, 0x0004C4, UC_LL}, + {0x0004C5, 0x0004C5, UC_LU}, + {0x0004C6, 0x0004C6, UC_LL}, + {0x0004C7, 0x0004C7, UC_LU}, + {0x0004C8, 0x0004C8, UC_LL}, + {0x0004C9, 0x0004C9, UC_LU}, + {0x0004CA, 0x0004CA, UC_LL}, + {0x0004CB, 0x0004CB, UC_LU}, + {0x0004CC, 0x0004CC, UC_LL}, + {0x0004CD, 0x0004CD, UC_LU}, + {0x0004CE, 0x0004CF, UC_LL}, + {0x0004D0, 0x0004D0, UC_LU}, + {0x0004D1, 0x0004D1, UC_LL}, + {0x0004D2, 0x0004D2, UC_LU}, + {0x0004D3, 0x0004D3, UC_LL}, + {0x0004D4, 0x0004D4, UC_LU}, + {0x0004D5, 0x0004D5, UC_LL}, + {0x0004D6, 0x0004D6, UC_LU}, + {0x0004D7, 0x0004D7, UC_LL}, + {0x0004D8, 0x0004D8, UC_LU}, + {0x0004D9, 0x0004D9, UC_LL}, + {0x0004DA, 0x0004DA, UC_LU}, + {0x0004DB, 0x0004DB, UC_LL}, + {0x0004DC, 0x0004DC, UC_LU}, + {0x0004DD, 0x0004DD, UC_LL}, + {0x0004DE, 0x0004DE, UC_LU}, + {0x0004DF, 0x0004DF, UC_LL}, + {0x0004E0, 0x0004E0, UC_LU}, + {0x0004E1, 0x0004E1, UC_LL}, + {0x0004E2, 0x0004E2, UC_LU}, + {0x0004E3, 0x0004E3, UC_LL}, + {0x0004E4, 0x0004E4, UC_LU}, + {0x0004E5, 0x0004E5, UC_LL}, + {0x0004E6, 0x0004E6, UC_LU}, + {0x0004E7, 0x0004E7, UC_LL}, + {0x0004E8, 0x0004E8, UC_LU}, + {0x0004E9, 0x0004E9, UC_LL}, + {0x0004EA, 0x0004EA, UC_LU}, + {0x0004EB, 0x0004EB, UC_LL}, + {0x0004EC, 0x0004EC, UC_LU}, + {0x0004ED, 0x0004ED, UC_LL}, + {0x0004EE, 0x0004EE, UC_LU}, + {0x0004EF, 0x0004EF, UC_LL}, + {0x0004F0, 0x0004F0, UC_LU}, + {0x0004F1, 0x0004F1, UC_LL}, + {0x0004F2, 0x0004F2, UC_LU}, + {0x0004F3, 0x0004F3, UC_LL}, + {0x0004F4, 0x0004F4, UC_LU}, + {0x0004F5, 0x0004F5, UC_LL}, + {0x0004F6, 0x0004F6, UC_LU}, + {0x0004F7, 0x0004F7, UC_LL}, + {0x0004F8, 0x0004F8, UC_LU}, + {0x0004F9, 0x0004F9, UC_LL}, + {0x0004FA, 0x0004FA, UC_LU}, + {0x0004FB, 0x0004FB, UC_LL}, + {0x0004FC, 0x0004FC, UC_LU}, + {0x0004FD, 0x0004FD, UC_LL}, + {0x0004FE, 0x0004FE, UC_LU}, + {0x0004FF, 0x0004FF, UC_LL}, + {0x000500, 0x000500, UC_LU}, + {0x000501, 0x000501, UC_LL}, + {0x000502, 0x000502, UC_LU}, + {0x000503, 0x000503, UC_LL}, + {0x000504, 0x000504, UC_LU}, + {0x000505, 0x000505, UC_LL}, + {0x000506, 0x000506, UC_LU}, + {0x000507, 0x000507, UC_LL}, + {0x000508, 0x000508, UC_LU}, + {0x000509, 0x000509, UC_LL}, + {0x00050A, 0x00050A, UC_LU}, + {0x00050B, 0x00050B, UC_LL}, + {0x00050C, 0x00050C, UC_LU}, + {0x00050D, 0x00050D, UC_LL}, + {0x00050E, 0x00050E, UC_LU}, + {0x00050F, 0x00050F, UC_LL}, + {0x000510, 0x000510, UC_LU}, + {0x000511, 0x000511, UC_LL}, + {0x000512, 0x000512, UC_LU}, + {0x000513, 0x000513, UC_LL}, + {0x000514, 0x000514, UC_LU}, + {0x000515, 0x000515, UC_LL}, + {0x000516, 0x000516, UC_LU}, + {0x000517, 0x000517, UC_LL}, + {0x000518, 0x000518, UC_LU}, + {0x000519, 0x000519, UC_LL}, + {0x00051A, 0x00051A, UC_LU}, + {0x00051B, 0x00051B, UC_LL}, + {0x00051C, 0x00051C, UC_LU}, + {0x00051D, 0x00051D, UC_LL}, + {0x00051E, 0x00051E, UC_LU}, + {0x00051F, 0x00051F, UC_LL}, + {0x000520, 0x000520, UC_LU}, + {0x000521, 0x000521, UC_LL}, + {0x000522, 0x000522, UC_LU}, + {0x000523, 0x000523, UC_LL}, + {0x000524, 0x000524, UC_LU}, + {0x000525, 0x000525, UC_LL}, + {0x000526, 0x000526, UC_LU}, + {0x000527, 0x000527, UC_LL}, + {0x000528, 0x000528, UC_LU}, + {0x000529, 0x000529, UC_LL}, + {0x00052A, 0x00052A, UC_LU}, + {0x00052B, 0x00052B, UC_LL}, + {0x00052C, 0x00052C, UC_LU}, + {0x00052D, 0x00052D, UC_LL}, + {0x00052E, 0x00052E, UC_LU}, + {0x00052F, 0x00052F, UC_LL}, + {0x000531, 0x000556, UC_LU}, + {0x000559, 0x000559, UC_LM}, + {0x00055A, 0x00055F, UC_PO}, + {0x000560, 0x000588, UC_LL}, + {0x000589, 0x000589, UC_PO}, + {0x00058A, 0x00058A, UC_PD}, + {0x00058D, 0x00058E, UC_SO}, + {0x00058F, 0x00058F, UC_SC}, + {0x000591, 0x0005BD, UC_MN}, + {0x0005BE, 0x0005BE, UC_PD}, + {0x0005BF, 0x0005BF, UC_MN}, + {0x0005C0, 0x0005C0, UC_PO}, + {0x0005C1, 0x0005C2, UC_MN}, + {0x0005C3, 0x0005C3, UC_PO}, + {0x0005C4, 0x0005C5, UC_MN}, + {0x0005C6, 0x0005C6, UC_PO}, + {0x0005C7, 0x0005C7, UC_MN}, + {0x0005D0, 0x0005EA, UC_LO}, + {0x0005EF, 0x0005F2, UC_LO}, + {0x0005F3, 0x0005F4, UC_PO}, + {0x000600, 0x000605, UC_CF}, + {0x000606, 0x000608, UC_SM}, + {0x000609, 0x00060A, UC_PO}, + {0x00060B, 0x00060B, UC_SC}, + {0x00060C, 0x00060D, UC_PO}, + {0x00060E, 0x00060F, UC_SO}, + {0x000610, 0x00061A, UC_MN}, + {0x00061B, 0x00061B, UC_PO}, + {0x00061C, 0x00061C, UC_CF}, + {0x00061D, 0x00061F, UC_PO}, + {0x000620, 0x00063F, UC_LO}, + {0x000640, 0x000640, UC_LM}, + {0x000641, 0x00064A, UC_LO}, + {0x00064B, 0x00065F, UC_MN}, + {0x000660, 0x000669, UC_ND}, + {0x00066A, 0x00066D, UC_PO}, + {0x00066E, 0x00066F, UC_LO}, + {0x000670, 0x000670, UC_MN}, + {0x000671, 0x0006D3, UC_LO}, + {0x0006D4, 0x0006D4, UC_PO}, + {0x0006D5, 0x0006D5, UC_LO}, + {0x0006D6, 0x0006DC, UC_MN}, + {0x0006DD, 0x0006DD, UC_CF}, + {0x0006DE, 0x0006DE, UC_SO}, + {0x0006DF, 0x0006E4, UC_MN}, + {0x0006E5, 0x0006E6, UC_LM}, + {0x0006E7, 0x0006E8, UC_MN}, + {0x0006E9, 0x0006E9, UC_SO}, + {0x0006EA, 0x0006ED, UC_MN}, + {0x0006EE, 0x0006EF, UC_LO}, + {0x0006F0, 0x0006F9, UC_ND}, + {0x0006FA, 0x0006FC, UC_LO}, + {0x0006FD, 0x0006FE, UC_SO}, + {0x0006FF, 0x0006FF, UC_LO}, + {0x000700, 0x00070D, UC_PO}, + {0x00070F, 0x00070F, UC_CF}, + {0x000710, 0x000710, UC_LO}, + {0x000711, 0x000711, UC_MN}, + {0x000712, 0x00072F, UC_LO}, + {0x000730, 0x00074A, UC_MN}, + {0x00074D, 0x0007A5, UC_LO}, + {0x0007A6, 0x0007B0, UC_MN}, + {0x0007B1, 0x0007B1, UC_LO}, + {0x0007C0, 0x0007C9, UC_ND}, + {0x0007CA, 0x0007EA, UC_LO}, + {0x0007EB, 0x0007F3, UC_MN}, + {0x0007F4, 0x0007F5, UC_LM}, + {0x0007F6, 0x0007F6, UC_SO}, + {0x0007F7, 0x0007F9, UC_PO}, + {0x0007FA, 0x0007FA, UC_LM}, + {0x0007FD, 0x0007FD, UC_MN}, + {0x0007FE, 0x0007FF, UC_SC}, + {0x000800, 0x000815, UC_LO}, + {0x000816, 0x000819, UC_MN}, + {0x00081A, 0x00081A, UC_LM}, + {0x00081B, 0x000823, UC_MN}, + {0x000824, 0x000824, UC_LM}, + {0x000825, 0x000827, UC_MN}, + {0x000828, 0x000828, UC_LM}, + {0x000829, 0x00082D, UC_MN}, + {0x000830, 0x00083E, UC_PO}, + {0x000840, 0x000858, UC_LO}, + {0x000859, 0x00085B, UC_MN}, + {0x00085E, 0x00085E, UC_PO}, + {0x000860, 0x00086A, UC_LO}, + {0x000870, 0x000887, UC_LO}, + {0x000888, 0x000888, UC_SK}, + {0x000889, 0x00088E, UC_LO}, + {0x000890, 0x000891, UC_CF}, + {0x000898, 0x00089F, UC_MN}, + {0x0008A0, 0x0008C8, UC_LO}, + {0x0008C9, 0x0008C9, UC_LM}, + {0x0008CA, 0x0008E1, UC_MN}, + {0x0008E2, 0x0008E2, UC_CF}, + {0x0008E3, 0x000902, UC_MN}, + {0x000903, 0x000903, UC_MC}, + {0x000904, 0x000939, UC_LO}, + {0x00093A, 0x00093A, UC_MN}, + {0x00093B, 0x00093B, UC_MC}, + {0x00093C, 0x00093C, UC_MN}, + {0x00093D, 0x00093D, UC_LO}, + {0x00093E, 0x000940, UC_MC}, + {0x000941, 0x000948, UC_MN}, + {0x000949, 0x00094C, UC_MC}, + {0x00094D, 0x00094D, UC_MN}, + {0x00094E, 0x00094F, UC_MC}, + {0x000950, 0x000950, UC_LO}, + {0x000951, 0x000957, UC_MN}, + {0x000958, 0x000961, UC_LO}, + {0x000962, 0x000963, UC_MN}, + {0x000964, 0x000965, UC_PO}, + {0x000966, 0x00096F, UC_ND}, + {0x000970, 0x000970, UC_PO}, + {0x000971, 0x000971, UC_LM}, + {0x000972, 0x000980, UC_LO}, + {0x000981, 0x000981, UC_MN}, + {0x000982, 0x000983, UC_MC}, + {0x000985, 0x00098C, UC_LO}, + {0x00098F, 0x000990, UC_LO}, + {0x000993, 0x0009A8, UC_LO}, + {0x0009AA, 0x0009B0, UC_LO}, + {0x0009B2, 0x0009B2, UC_LO}, + {0x0009B6, 0x0009B9, UC_LO}, + {0x0009BC, 0x0009BC, UC_MN}, + {0x0009BD, 0x0009BD, UC_LO}, + {0x0009BE, 0x0009C0, UC_MC}, + {0x0009C1, 0x0009C4, UC_MN}, + {0x0009C7, 0x0009C8, UC_MC}, + {0x0009CB, 0x0009CC, UC_MC}, + {0x0009CD, 0x0009CD, UC_MN}, + {0x0009CE, 0x0009CE, UC_LO}, + {0x0009D7, 0x0009D7, UC_MC}, + {0x0009DC, 0x0009DD, UC_LO}, + {0x0009DF, 0x0009E1, UC_LO}, + {0x0009E2, 0x0009E3, UC_MN}, + {0x0009E6, 0x0009EF, UC_ND}, + {0x0009F0, 0x0009F1, UC_LO}, + {0x0009F2, 0x0009F3, UC_SC}, + {0x0009F4, 0x0009F9, UC_NO}, + {0x0009FA, 0x0009FA, UC_SO}, + {0x0009FB, 0x0009FB, UC_SC}, + {0x0009FC, 0x0009FC, UC_LO}, + {0x0009FD, 0x0009FD, UC_PO}, + {0x0009FE, 0x0009FE, UC_MN}, + {0x000A01, 0x000A02, UC_MN}, + {0x000A03, 0x000A03, UC_MC}, + {0x000A05, 0x000A0A, UC_LO}, + {0x000A0F, 0x000A10, UC_LO}, + {0x000A13, 0x000A28, UC_LO}, + {0x000A2A, 0x000A30, UC_LO}, + {0x000A32, 0x000A33, UC_LO}, + {0x000A35, 0x000A36, UC_LO}, + {0x000A38, 0x000A39, UC_LO}, + {0x000A3C, 0x000A3C, UC_MN}, + {0x000A3E, 0x000A40, UC_MC}, + {0x000A41, 0x000A42, UC_MN}, + {0x000A47, 0x000A48, UC_MN}, + {0x000A4B, 0x000A4D, UC_MN}, + {0x000A51, 0x000A51, UC_MN}, + {0x000A59, 0x000A5C, UC_LO}, + {0x000A5E, 0x000A5E, UC_LO}, + {0x000A66, 0x000A6F, UC_ND}, + {0x000A70, 0x000A71, UC_MN}, + {0x000A72, 0x000A74, UC_LO}, + {0x000A75, 0x000A75, UC_MN}, + {0x000A76, 0x000A76, UC_PO}, + {0x000A81, 0x000A82, UC_MN}, + {0x000A83, 0x000A83, UC_MC}, + {0x000A85, 0x000A8D, UC_LO}, + {0x000A8F, 0x000A91, UC_LO}, + {0x000A93, 0x000AA8, UC_LO}, + {0x000AAA, 0x000AB0, UC_LO}, + {0x000AB2, 0x000AB3, UC_LO}, + {0x000AB5, 0x000AB9, UC_LO}, + {0x000ABC, 0x000ABC, UC_MN}, + {0x000ABD, 0x000ABD, UC_LO}, + {0x000ABE, 0x000AC0, UC_MC}, + {0x000AC1, 0x000AC5, UC_MN}, + {0x000AC7, 0x000AC8, UC_MN}, + {0x000AC9, 0x000AC9, UC_MC}, + {0x000ACB, 0x000ACC, UC_MC}, + {0x000ACD, 0x000ACD, UC_MN}, + {0x000AD0, 0x000AD0, UC_LO}, + {0x000AE0, 0x000AE1, UC_LO}, + {0x000AE2, 0x000AE3, UC_MN}, + {0x000AE6, 0x000AEF, UC_ND}, + {0x000AF0, 0x000AF0, UC_PO}, + {0x000AF1, 0x000AF1, UC_SC}, + {0x000AF9, 0x000AF9, UC_LO}, + {0x000AFA, 0x000AFF, UC_MN}, + {0x000B01, 0x000B01, UC_MN}, + {0x000B02, 0x000B03, UC_MC}, + {0x000B05, 0x000B0C, UC_LO}, + {0x000B0F, 0x000B10, UC_LO}, + {0x000B13, 0x000B28, UC_LO}, + {0x000B2A, 0x000B30, UC_LO}, + {0x000B32, 0x000B33, UC_LO}, + {0x000B35, 0x000B39, UC_LO}, + {0x000B3C, 0x000B3C, UC_MN}, + {0x000B3D, 0x000B3D, UC_LO}, + {0x000B3E, 0x000B3E, UC_MC}, + {0x000B3F, 0x000B3F, UC_MN}, + {0x000B40, 0x000B40, UC_MC}, + {0x000B41, 0x000B44, UC_MN}, + {0x000B47, 0x000B48, UC_MC}, + {0x000B4B, 0x000B4C, UC_MC}, + {0x000B4D, 0x000B4D, UC_MN}, + {0x000B55, 0x000B56, UC_MN}, + {0x000B57, 0x000B57, UC_MC}, + {0x000B5C, 0x000B5D, UC_LO}, + {0x000B5F, 0x000B61, UC_LO}, + {0x000B62, 0x000B63, UC_MN}, + {0x000B66, 0x000B6F, UC_ND}, + {0x000B70, 0x000B70, UC_SO}, + {0x000B71, 0x000B71, UC_LO}, + {0x000B72, 0x000B77, UC_NO}, + {0x000B82, 0x000B82, UC_MN}, + {0x000B83, 0x000B83, UC_LO}, + {0x000B85, 0x000B8A, UC_LO}, + {0x000B8E, 0x000B90, UC_LO}, + {0x000B92, 0x000B95, UC_LO}, + {0x000B99, 0x000B9A, UC_LO}, + {0x000B9C, 0x000B9C, UC_LO}, + {0x000B9E, 0x000B9F, UC_LO}, + {0x000BA3, 0x000BA4, UC_LO}, + {0x000BA8, 0x000BAA, UC_LO}, + {0x000BAE, 0x000BB9, UC_LO}, + {0x000BBE, 0x000BBF, UC_MC}, + {0x000BC0, 0x000BC0, UC_MN}, + {0x000BC1, 0x000BC2, UC_MC}, + {0x000BC6, 0x000BC8, UC_MC}, + {0x000BCA, 0x000BCC, UC_MC}, + {0x000BCD, 0x000BCD, UC_MN}, + {0x000BD0, 0x000BD0, UC_LO}, + {0x000BD7, 0x000BD7, UC_MC}, + {0x000BE6, 0x000BEF, UC_ND}, + {0x000BF0, 0x000BF2, UC_NO}, + {0x000BF3, 0x000BF8, UC_SO}, + {0x000BF9, 0x000BF9, UC_SC}, + {0x000BFA, 0x000BFA, UC_SO}, + {0x000C00, 0x000C00, UC_MN}, + {0x000C01, 0x000C03, UC_MC}, + {0x000C04, 0x000C04, UC_MN}, + {0x000C05, 0x000C0C, UC_LO}, + {0x000C0E, 0x000C10, UC_LO}, + {0x000C12, 0x000C28, UC_LO}, + {0x000C2A, 0x000C39, UC_LO}, + {0x000C3C, 0x000C3C, UC_MN}, + {0x000C3D, 0x000C3D, UC_LO}, + {0x000C3E, 0x000C40, UC_MN}, + {0x000C41, 0x000C44, UC_MC}, + {0x000C46, 0x000C48, UC_MN}, + {0x000C4A, 0x000C4D, UC_MN}, + {0x000C55, 0x000C56, UC_MN}, + {0x000C58, 0x000C5A, UC_LO}, + {0x000C5D, 0x000C5D, UC_LO}, + {0x000C60, 0x000C61, UC_LO}, + {0x000C62, 0x000C63, UC_MN}, + {0x000C66, 0x000C6F, UC_ND}, + {0x000C77, 0x000C77, UC_PO}, + {0x000C78, 0x000C7E, UC_NO}, + {0x000C7F, 0x000C7F, UC_SO}, + {0x000C80, 0x000C80, UC_LO}, + {0x000C81, 0x000C81, UC_MN}, + {0x000C82, 0x000C83, UC_MC}, + {0x000C84, 0x000C84, UC_PO}, + {0x000C85, 0x000C8C, UC_LO}, + {0x000C8E, 0x000C90, UC_LO}, + {0x000C92, 0x000CA8, UC_LO}, + {0x000CAA, 0x000CB3, UC_LO}, + {0x000CB5, 0x000CB9, UC_LO}, + {0x000CBC, 0x000CBC, UC_MN}, + {0x000CBD, 0x000CBD, UC_LO}, + {0x000CBE, 0x000CBE, UC_MC}, + {0x000CBF, 0x000CBF, UC_MN}, + {0x000CC0, 0x000CC4, UC_MC}, + {0x000CC6, 0x000CC6, UC_MN}, + {0x000CC7, 0x000CC8, UC_MC}, + {0x000CCA, 0x000CCB, UC_MC}, + {0x000CCC, 0x000CCD, UC_MN}, + {0x000CD5, 0x000CD6, UC_MC}, + {0x000CDD, 0x000CDE, UC_LO}, + {0x000CE0, 0x000CE1, UC_LO}, + {0x000CE2, 0x000CE3, UC_MN}, + {0x000CE6, 0x000CEF, UC_ND}, + {0x000CF1, 0x000CF2, UC_LO}, + {0x000CF3, 0x000CF3, UC_MC}, + {0x000D00, 0x000D01, UC_MN}, + {0x000D02, 0x000D03, UC_MC}, + {0x000D04, 0x000D0C, UC_LO}, + {0x000D0E, 0x000D10, UC_LO}, + {0x000D12, 0x000D3A, UC_LO}, + {0x000D3B, 0x000D3C, UC_MN}, + {0x000D3D, 0x000D3D, UC_LO}, + {0x000D3E, 0x000D40, UC_MC}, + {0x000D41, 0x000D44, UC_MN}, + {0x000D46, 0x000D48, UC_MC}, + {0x000D4A, 0x000D4C, UC_MC}, + {0x000D4D, 0x000D4D, UC_MN}, + {0x000D4E, 0x000D4E, UC_LO}, + {0x000D4F, 0x000D4F, UC_SO}, + {0x000D54, 0x000D56, UC_LO}, + {0x000D57, 0x000D57, UC_MC}, + {0x000D58, 0x000D5E, UC_NO}, + {0x000D5F, 0x000D61, UC_LO}, + {0x000D62, 0x000D63, UC_MN}, + {0x000D66, 0x000D6F, UC_ND}, + {0x000D70, 0x000D78, UC_NO}, + {0x000D79, 0x000D79, UC_SO}, + {0x000D7A, 0x000D7F, UC_LO}, + {0x000D81, 0x000D81, UC_MN}, + {0x000D82, 0x000D83, UC_MC}, + {0x000D85, 0x000D96, UC_LO}, + {0x000D9A, 0x000DB1, UC_LO}, + {0x000DB3, 0x000DBB, UC_LO}, + {0x000DBD, 0x000DBD, UC_LO}, + {0x000DC0, 0x000DC6, UC_LO}, + {0x000DCA, 0x000DCA, UC_MN}, + {0x000DCF, 0x000DD1, UC_MC}, + {0x000DD2, 0x000DD4, UC_MN}, + {0x000DD6, 0x000DD6, UC_MN}, + {0x000DD8, 0x000DDF, UC_MC}, + {0x000DE6, 0x000DEF, UC_ND}, + {0x000DF2, 0x000DF3, UC_MC}, + {0x000DF4, 0x000DF4, UC_PO}, + {0x000E01, 0x000E30, UC_LO}, + {0x000E31, 0x000E31, UC_MN}, + {0x000E32, 0x000E33, UC_LO}, + {0x000E34, 0x000E3A, UC_MN}, + {0x000E3F, 0x000E3F, UC_SC}, + {0x000E40, 0x000E45, UC_LO}, + {0x000E46, 0x000E46, UC_LM}, + {0x000E47, 0x000E4E, UC_MN}, + {0x000E4F, 0x000E4F, UC_PO}, + {0x000E50, 0x000E59, UC_ND}, + {0x000E5A, 0x000E5B, UC_PO}, + {0x000E81, 0x000E82, UC_LO}, + {0x000E84, 0x000E84, UC_LO}, + {0x000E86, 0x000E8A, UC_LO}, + {0x000E8C, 0x000EA3, UC_LO}, + {0x000EA5, 0x000EA5, UC_LO}, + {0x000EA7, 0x000EB0, UC_LO}, + {0x000EB1, 0x000EB1, UC_MN}, + {0x000EB2, 0x000EB3, UC_LO}, + {0x000EB4, 0x000EBC, UC_MN}, + {0x000EBD, 0x000EBD, UC_LO}, + {0x000EC0, 0x000EC4, UC_LO}, + {0x000EC6, 0x000EC6, UC_LM}, + {0x000EC8, 0x000ECE, UC_MN}, + {0x000ED0, 0x000ED9, UC_ND}, + {0x000EDC, 0x000EDF, UC_LO}, + {0x000F00, 0x000F00, UC_LO}, + {0x000F01, 0x000F03, UC_SO}, + {0x000F04, 0x000F12, UC_PO}, + {0x000F13, 0x000F13, UC_SO}, + {0x000F14, 0x000F14, UC_PO}, + {0x000F15, 0x000F17, UC_SO}, + {0x000F18, 0x000F19, UC_MN}, + {0x000F1A, 0x000F1F, UC_SO}, + {0x000F20, 0x000F29, UC_ND}, + {0x000F2A, 0x000F33, UC_NO}, + {0x000F34, 0x000F34, UC_SO}, + {0x000F35, 0x000F35, UC_MN}, + {0x000F36, 0x000F36, UC_SO}, + {0x000F37, 0x000F37, UC_MN}, + {0x000F38, 0x000F38, UC_SO}, + {0x000F39, 0x000F39, UC_MN}, + {0x000F3A, 0x000F3A, UC_PS}, + {0x000F3B, 0x000F3B, UC_PE}, + {0x000F3C, 0x000F3C, UC_PS}, + {0x000F3D, 0x000F3D, UC_PE}, + {0x000F3E, 0x000F3F, UC_MC}, + {0x000F40, 0x000F47, UC_LO}, + {0x000F49, 0x000F6C, UC_LO}, + {0x000F71, 0x000F7E, UC_MN}, + {0x000F7F, 0x000F7F, UC_MC}, + {0x000F80, 0x000F84, UC_MN}, + {0x000F85, 0x000F85, UC_PO}, + {0x000F86, 0x000F87, UC_MN}, + {0x000F88, 0x000F8C, UC_LO}, + {0x000F8D, 0x000F97, UC_MN}, + {0x000F99, 0x000FBC, UC_MN}, + {0x000FBE, 0x000FC5, UC_SO}, + {0x000FC6, 0x000FC6, UC_MN}, + {0x000FC7, 0x000FCC, UC_SO}, + {0x000FCE, 0x000FCF, UC_SO}, + {0x000FD0, 0x000FD4, UC_PO}, + {0x000FD5, 0x000FD8, UC_SO}, + {0x000FD9, 0x000FDA, UC_PO}, + {0x001000, 0x00102A, UC_LO}, + {0x00102B, 0x00102C, UC_MC}, + {0x00102D, 0x001030, UC_MN}, + {0x001031, 0x001031, UC_MC}, + {0x001032, 0x001037, UC_MN}, + {0x001038, 0x001038, UC_MC}, + {0x001039, 0x00103A, UC_MN}, + {0x00103B, 0x00103C, UC_MC}, + {0x00103D, 0x00103E, UC_MN}, + {0x00103F, 0x00103F, UC_LO}, + {0x001040, 0x001049, UC_ND}, + {0x00104A, 0x00104F, UC_PO}, + {0x001050, 0x001055, UC_LO}, + {0x001056, 0x001057, UC_MC}, + {0x001058, 0x001059, UC_MN}, + {0x00105A, 0x00105D, UC_LO}, + {0x00105E, 0x001060, UC_MN}, + {0x001061, 0x001061, UC_LO}, + {0x001062, 0x001064, UC_MC}, + {0x001065, 0x001066, UC_LO}, + {0x001067, 0x00106D, UC_MC}, + {0x00106E, 0x001070, UC_LO}, + {0x001071, 0x001074, UC_MN}, + {0x001075, 0x001081, UC_LO}, + {0x001082, 0x001082, UC_MN}, + {0x001083, 0x001084, UC_MC}, + {0x001085, 0x001086, UC_MN}, + {0x001087, 0x00108C, UC_MC}, + {0x00108D, 0x00108D, UC_MN}, + {0x00108E, 0x00108E, UC_LO}, + {0x00108F, 0x00108F, UC_MC}, + {0x001090, 0x001099, UC_ND}, + {0x00109A, 0x00109C, UC_MC}, + {0x00109D, 0x00109D, UC_MN}, + {0x00109E, 0x00109F, UC_SO}, + {0x0010A0, 0x0010C5, UC_LU}, + {0x0010C7, 0x0010C7, UC_LU}, + {0x0010CD, 0x0010CD, UC_LU}, + {0x0010D0, 0x0010FA, UC_LL}, + {0x0010FB, 0x0010FB, UC_PO}, + {0x0010FC, 0x0010FC, UC_LM}, + {0x0010FD, 0x0010FF, UC_LL}, + {0x001100, 0x001248, UC_LO}, + {0x00124A, 0x00124D, UC_LO}, + {0x001250, 0x001256, UC_LO}, + {0x001258, 0x001258, UC_LO}, + {0x00125A, 0x00125D, UC_LO}, + {0x001260, 0x001288, UC_LO}, + {0x00128A, 0x00128D, UC_LO}, + {0x001290, 0x0012B0, UC_LO}, + {0x0012B2, 0x0012B5, UC_LO}, + {0x0012B8, 0x0012BE, UC_LO}, + {0x0012C0, 0x0012C0, UC_LO}, + {0x0012C2, 0x0012C5, UC_LO}, + {0x0012C8, 0x0012D6, UC_LO}, + {0x0012D8, 0x001310, UC_LO}, + {0x001312, 0x001315, UC_LO}, + {0x001318, 0x00135A, UC_LO}, + {0x00135D, 0x00135F, UC_MN}, + {0x001360, 0x001368, UC_PO}, + {0x001369, 0x00137C, UC_NO}, + {0x001380, 0x00138F, UC_LO}, + {0x001390, 0x001399, UC_SO}, + {0x0013A0, 0x0013F5, UC_LU}, + {0x0013F8, 0x0013FD, UC_LL}, + {0x001400, 0x001400, UC_PD}, + {0x001401, 0x00166C, UC_LO}, + {0x00166D, 0x00166D, UC_SO}, + {0x00166E, 0x00166E, UC_PO}, + {0x00166F, 0x00167F, UC_LO}, + {0x001680, 0x001680, UC_ZS}, + {0x001681, 0x00169A, UC_LO}, + {0x00169B, 0x00169B, UC_PS}, + {0x00169C, 0x00169C, UC_PE}, + {0x0016A0, 0x0016EA, UC_LO}, + {0x0016EB, 0x0016ED, UC_PO}, + {0x0016EE, 0x0016F0, UC_NL}, + {0x0016F1, 0x0016F8, UC_LO}, + {0x001700, 0x001711, UC_LO}, + {0x001712, 0x001714, UC_MN}, + {0x001715, 0x001715, UC_MC}, + {0x00171F, 0x001731, UC_LO}, + {0x001732, 0x001733, UC_MN}, + {0x001734, 0x001734, UC_MC}, + {0x001735, 0x001736, UC_PO}, + {0x001740, 0x001751, UC_LO}, + {0x001752, 0x001753, UC_MN}, + {0x001760, 0x00176C, UC_LO}, + {0x00176E, 0x001770, UC_LO}, + {0x001772, 0x001773, UC_MN}, + {0x001780, 0x0017B3, UC_LO}, + {0x0017B4, 0x0017B5, UC_MN}, + {0x0017B6, 0x0017B6, UC_MC}, + {0x0017B7, 0x0017BD, UC_MN}, + {0x0017BE, 0x0017C5, UC_MC}, + {0x0017C6, 0x0017C6, UC_MN}, + {0x0017C7, 0x0017C8, UC_MC}, + {0x0017C9, 0x0017D3, UC_MN}, + {0x0017D4, 0x0017D6, UC_PO}, + {0x0017D7, 0x0017D7, UC_LM}, + {0x0017D8, 0x0017DA, UC_PO}, + {0x0017DB, 0x0017DB, UC_SC}, + {0x0017DC, 0x0017DC, UC_LO}, + {0x0017DD, 0x0017DD, UC_MN}, + {0x0017E0, 0x0017E9, UC_ND}, + {0x0017F0, 0x0017F9, UC_NO}, + {0x001800, 0x001805, UC_PO}, + {0x001806, 0x001806, UC_PD}, + {0x001807, 0x00180A, UC_PO}, + {0x00180B, 0x00180D, UC_MN}, + {0x00180E, 0x00180E, UC_CF}, + {0x00180F, 0x00180F, UC_MN}, + {0x001810, 0x001819, UC_ND}, + {0x001820, 0x001842, UC_LO}, + {0x001843, 0x001843, UC_LM}, + {0x001844, 0x001878, UC_LO}, + {0x001880, 0x001884, UC_LO}, + {0x001885, 0x001886, UC_MN}, + {0x001887, 0x0018A8, UC_LO}, + {0x0018A9, 0x0018A9, UC_MN}, + {0x0018AA, 0x0018AA, UC_LO}, + {0x0018B0, 0x0018F5, UC_LO}, + {0x001900, 0x00191E, UC_LO}, + {0x001920, 0x001922, UC_MN}, + {0x001923, 0x001926, UC_MC}, + {0x001927, 0x001928, UC_MN}, + {0x001929, 0x00192B, UC_MC}, + {0x001930, 0x001931, UC_MC}, + {0x001932, 0x001932, UC_MN}, + {0x001933, 0x001938, UC_MC}, + {0x001939, 0x00193B, UC_MN}, + {0x001940, 0x001940, UC_SO}, + {0x001944, 0x001945, UC_PO}, + {0x001946, 0x00194F, UC_ND}, + {0x001950, 0x00196D, UC_LO}, + {0x001970, 0x001974, UC_LO}, + {0x001980, 0x0019AB, UC_LO}, + {0x0019B0, 0x0019C9, UC_LO}, + {0x0019D0, 0x0019D9, UC_ND}, + {0x0019DA, 0x0019DA, UC_NO}, + {0x0019DE, 0x0019FF, UC_SO}, + {0x001A00, 0x001A16, UC_LO}, + {0x001A17, 0x001A18, UC_MN}, + {0x001A19, 0x001A1A, UC_MC}, + {0x001A1B, 0x001A1B, UC_MN}, + {0x001A1E, 0x001A1F, UC_PO}, + {0x001A20, 0x001A54, UC_LO}, + {0x001A55, 0x001A55, UC_MC}, + {0x001A56, 0x001A56, UC_MN}, + {0x001A57, 0x001A57, UC_MC}, + {0x001A58, 0x001A5E, UC_MN}, + {0x001A60, 0x001A60, UC_MN}, + {0x001A61, 0x001A61, UC_MC}, + {0x001A62, 0x001A62, UC_MN}, + {0x001A63, 0x001A64, UC_MC}, + {0x001A65, 0x001A6C, UC_MN}, + {0x001A6D, 0x001A72, UC_MC}, + {0x001A73, 0x001A7C, UC_MN}, + {0x001A7F, 0x001A7F, UC_MN}, + {0x001A80, 0x001A89, UC_ND}, + {0x001A90, 0x001A99, UC_ND}, + {0x001AA0, 0x001AA6, UC_PO}, + {0x001AA7, 0x001AA7, UC_LM}, + {0x001AA8, 0x001AAD, UC_PO}, + {0x001AB0, 0x001ABD, UC_MN}, + {0x001ABE, 0x001ABE, UC_ME}, + {0x001ABF, 0x001ACE, UC_MN}, + {0x001B00, 0x001B03, UC_MN}, + {0x001B04, 0x001B04, UC_MC}, + {0x001B05, 0x001B33, UC_LO}, + {0x001B34, 0x001B34, UC_MN}, + {0x001B35, 0x001B35, UC_MC}, + {0x001B36, 0x001B3A, UC_MN}, + {0x001B3B, 0x001B3B, UC_MC}, + {0x001B3C, 0x001B3C, UC_MN}, + {0x001B3D, 0x001B41, UC_MC}, + {0x001B42, 0x001B42, UC_MN}, + {0x001B43, 0x001B44, UC_MC}, + {0x001B45, 0x001B4C, UC_LO}, + {0x001B50, 0x001B59, UC_ND}, + {0x001B5A, 0x001B60, UC_PO}, + {0x001B61, 0x001B6A, UC_SO}, + {0x001B6B, 0x001B73, UC_MN}, + {0x001B74, 0x001B7C, UC_SO}, + {0x001B7D, 0x001B7E, UC_PO}, + {0x001B80, 0x001B81, UC_MN}, + {0x001B82, 0x001B82, UC_MC}, + {0x001B83, 0x001BA0, UC_LO}, + {0x001BA1, 0x001BA1, UC_MC}, + {0x001BA2, 0x001BA5, UC_MN}, + {0x001BA6, 0x001BA7, UC_MC}, + {0x001BA8, 0x001BA9, UC_MN}, + {0x001BAA, 0x001BAA, UC_MC}, + {0x001BAB, 0x001BAD, UC_MN}, + {0x001BAE, 0x001BAF, UC_LO}, + {0x001BB0, 0x001BB9, UC_ND}, + {0x001BBA, 0x001BE5, UC_LO}, + {0x001BE6, 0x001BE6, UC_MN}, + {0x001BE7, 0x001BE7, UC_MC}, + {0x001BE8, 0x001BE9, UC_MN}, + {0x001BEA, 0x001BEC, UC_MC}, + {0x001BED, 0x001BED, UC_MN}, + {0x001BEE, 0x001BEE, UC_MC}, + {0x001BEF, 0x001BF1, UC_MN}, + {0x001BF2, 0x001BF3, UC_MC}, + {0x001BFC, 0x001BFF, UC_PO}, + {0x001C00, 0x001C23, UC_LO}, + {0x001C24, 0x001C2B, UC_MC}, + {0x001C2C, 0x001C33, UC_MN}, + {0x001C34, 0x001C35, UC_MC}, + {0x001C36, 0x001C37, UC_MN}, + {0x001C3B, 0x001C3F, UC_PO}, + {0x001C40, 0x001C49, UC_ND}, + {0x001C4D, 0x001C4F, UC_LO}, + {0x001C50, 0x001C59, UC_ND}, + {0x001C5A, 0x001C77, UC_LO}, + {0x001C78, 0x001C7D, UC_LM}, + {0x001C7E, 0x001C7F, UC_PO}, + {0x001C80, 0x001C88, UC_LL}, + {0x001C90, 0x001CBA, UC_LU}, + {0x001CBD, 0x001CBF, UC_LU}, + {0x001CC0, 0x001CC7, UC_PO}, + {0x001CD0, 0x001CD2, UC_MN}, + {0x001CD3, 0x001CD3, UC_PO}, + {0x001CD4, 0x001CE0, UC_MN}, + {0x001CE1, 0x001CE1, UC_MC}, + {0x001CE2, 0x001CE8, UC_MN}, + {0x001CE9, 0x001CEC, UC_LO}, + {0x001CED, 0x001CED, UC_MN}, + {0x001CEE, 0x001CF3, UC_LO}, + {0x001CF4, 0x001CF4, UC_MN}, + {0x001CF5, 0x001CF6, UC_LO}, + {0x001CF7, 0x001CF7, UC_MC}, + {0x001CF8, 0x001CF9, UC_MN}, + {0x001CFA, 0x001CFA, UC_LO}, + {0x001D00, 0x001D2B, UC_LL}, + {0x001D2C, 0x001D6A, UC_LM}, + {0x001D6B, 0x001D77, UC_LL}, + {0x001D78, 0x001D78, UC_LM}, + {0x001D79, 0x001D9A, UC_LL}, + {0x001D9B, 0x001DBF, UC_LM}, + {0x001DC0, 0x001DFF, UC_MN}, + {0x001E00, 0x001E00, UC_LU}, + {0x001E01, 0x001E01, UC_LL}, + {0x001E02, 0x001E02, UC_LU}, + {0x001E03, 0x001E03, UC_LL}, + {0x001E04, 0x001E04, UC_LU}, + {0x001E05, 0x001E05, UC_LL}, + {0x001E06, 0x001E06, UC_LU}, + {0x001E07, 0x001E07, UC_LL}, + {0x001E08, 0x001E08, UC_LU}, + {0x001E09, 0x001E09, UC_LL}, + {0x001E0A, 0x001E0A, UC_LU}, + {0x001E0B, 0x001E0B, UC_LL}, + {0x001E0C, 0x001E0C, UC_LU}, + {0x001E0D, 0x001E0D, UC_LL}, + {0x001E0E, 0x001E0E, UC_LU}, + {0x001E0F, 0x001E0F, UC_LL}, + {0x001E10, 0x001E10, UC_LU}, + {0x001E11, 0x001E11, UC_LL}, + {0x001E12, 0x001E12, UC_LU}, + {0x001E13, 0x001E13, UC_LL}, + {0x001E14, 0x001E14, UC_LU}, + {0x001E15, 0x001E15, UC_LL}, + {0x001E16, 0x001E16, UC_LU}, + {0x001E17, 0x001E17, UC_LL}, + {0x001E18, 0x001E18, UC_LU}, + {0x001E19, 0x001E19, UC_LL}, + {0x001E1A, 0x001E1A, UC_LU}, + {0x001E1B, 0x001E1B, UC_LL}, + {0x001E1C, 0x001E1C, UC_LU}, + {0x001E1D, 0x001E1D, UC_LL}, + {0x001E1E, 0x001E1E, UC_LU}, + {0x001E1F, 0x001E1F, UC_LL}, + {0x001E20, 0x001E20, UC_LU}, + {0x001E21, 0x001E21, UC_LL}, + {0x001E22, 0x001E22, UC_LU}, + {0x001E23, 0x001E23, UC_LL}, + {0x001E24, 0x001E24, UC_LU}, + {0x001E25, 0x001E25, UC_LL}, + {0x001E26, 0x001E26, UC_LU}, + {0x001E27, 0x001E27, UC_LL}, + {0x001E28, 0x001E28, UC_LU}, + {0x001E29, 0x001E29, UC_LL}, + {0x001E2A, 0x001E2A, UC_LU}, + {0x001E2B, 0x001E2B, UC_LL}, + {0x001E2C, 0x001E2C, UC_LU}, + {0x001E2D, 0x001E2D, UC_LL}, + {0x001E2E, 0x001E2E, UC_LU}, + {0x001E2F, 0x001E2F, UC_LL}, + {0x001E30, 0x001E30, UC_LU}, + {0x001E31, 0x001E31, UC_LL}, + {0x001E32, 0x001E32, UC_LU}, + {0x001E33, 0x001E33, UC_LL}, + {0x001E34, 0x001E34, UC_LU}, + {0x001E35, 0x001E35, UC_LL}, + {0x001E36, 0x001E36, UC_LU}, + {0x001E37, 0x001E37, UC_LL}, + {0x001E38, 0x001E38, UC_LU}, + {0x001E39, 0x001E39, UC_LL}, + {0x001E3A, 0x001E3A, UC_LU}, + {0x001E3B, 0x001E3B, UC_LL}, + {0x001E3C, 0x001E3C, UC_LU}, + {0x001E3D, 0x001E3D, UC_LL}, + {0x001E3E, 0x001E3E, UC_LU}, + {0x001E3F, 0x001E3F, UC_LL}, + {0x001E40, 0x001E40, UC_LU}, + {0x001E41, 0x001E41, UC_LL}, + {0x001E42, 0x001E42, UC_LU}, + {0x001E43, 0x001E43, UC_LL}, + {0x001E44, 0x001E44, UC_LU}, + {0x001E45, 0x001E45, UC_LL}, + {0x001E46, 0x001E46, UC_LU}, + {0x001E47, 0x001E47, UC_LL}, + {0x001E48, 0x001E48, UC_LU}, + {0x001E49, 0x001E49, UC_LL}, + {0x001E4A, 0x001E4A, UC_LU}, + {0x001E4B, 0x001E4B, UC_LL}, + {0x001E4C, 0x001E4C, UC_LU}, + {0x001E4D, 0x001E4D, UC_LL}, + {0x001E4E, 0x001E4E, UC_LU}, + {0x001E4F, 0x001E4F, UC_LL}, + {0x001E50, 0x001E50, UC_LU}, + {0x001E51, 0x001E51, UC_LL}, + {0x001E52, 0x001E52, UC_LU}, + {0x001E53, 0x001E53, UC_LL}, + {0x001E54, 0x001E54, UC_LU}, + {0x001E55, 0x001E55, UC_LL}, + {0x001E56, 0x001E56, UC_LU}, + {0x001E57, 0x001E57, UC_LL}, + {0x001E58, 0x001E58, UC_LU}, + {0x001E59, 0x001E59, UC_LL}, + {0x001E5A, 0x001E5A, UC_LU}, + {0x001E5B, 0x001E5B, UC_LL}, + {0x001E5C, 0x001E5C, UC_LU}, + {0x001E5D, 0x001E5D, UC_LL}, + {0x001E5E, 0x001E5E, UC_LU}, + {0x001E5F, 0x001E5F, UC_LL}, + {0x001E60, 0x001E60, UC_LU}, + {0x001E61, 0x001E61, UC_LL}, + {0x001E62, 0x001E62, UC_LU}, + {0x001E63, 0x001E63, UC_LL}, + {0x001E64, 0x001E64, UC_LU}, + {0x001E65, 0x001E65, UC_LL}, + {0x001E66, 0x001E66, UC_LU}, + {0x001E67, 0x001E67, UC_LL}, + {0x001E68, 0x001E68, UC_LU}, + {0x001E69, 0x001E69, UC_LL}, + {0x001E6A, 0x001E6A, UC_LU}, + {0x001E6B, 0x001E6B, UC_LL}, + {0x001E6C, 0x001E6C, UC_LU}, + {0x001E6D, 0x001E6D, UC_LL}, + {0x001E6E, 0x001E6E, UC_LU}, + {0x001E6F, 0x001E6F, UC_LL}, + {0x001E70, 0x001E70, UC_LU}, + {0x001E71, 0x001E71, UC_LL}, + {0x001E72, 0x001E72, UC_LU}, + {0x001E73, 0x001E73, UC_LL}, + {0x001E74, 0x001E74, UC_LU}, + {0x001E75, 0x001E75, UC_LL}, + {0x001E76, 0x001E76, UC_LU}, + {0x001E77, 0x001E77, UC_LL}, + {0x001E78, 0x001E78, UC_LU}, + {0x001E79, 0x001E79, UC_LL}, + {0x001E7A, 0x001E7A, UC_LU}, + {0x001E7B, 0x001E7B, UC_LL}, + {0x001E7C, 0x001E7C, UC_LU}, + {0x001E7D, 0x001E7D, UC_LL}, + {0x001E7E, 0x001E7E, UC_LU}, + {0x001E7F, 0x001E7F, UC_LL}, + {0x001E80, 0x001E80, UC_LU}, + {0x001E81, 0x001E81, UC_LL}, + {0x001E82, 0x001E82, UC_LU}, + {0x001E83, 0x001E83, UC_LL}, + {0x001E84, 0x001E84, UC_LU}, + {0x001E85, 0x001E85, UC_LL}, + {0x001E86, 0x001E86, UC_LU}, + {0x001E87, 0x001E87, UC_LL}, + {0x001E88, 0x001E88, UC_LU}, + {0x001E89, 0x001E89, UC_LL}, + {0x001E8A, 0x001E8A, UC_LU}, + {0x001E8B, 0x001E8B, UC_LL}, + {0x001E8C, 0x001E8C, UC_LU}, + {0x001E8D, 0x001E8D, UC_LL}, + {0x001E8E, 0x001E8E, UC_LU}, + {0x001E8F, 0x001E8F, UC_LL}, + {0x001E90, 0x001E90, UC_LU}, + {0x001E91, 0x001E91, UC_LL}, + {0x001E92, 0x001E92, UC_LU}, + {0x001E93, 0x001E93, UC_LL}, + {0x001E94, 0x001E94, UC_LU}, + {0x001E95, 0x001E9D, UC_LL}, + {0x001E9E, 0x001E9E, UC_LU}, + {0x001E9F, 0x001E9F, UC_LL}, + {0x001EA0, 0x001EA0, UC_LU}, + {0x001EA1, 0x001EA1, UC_LL}, + {0x001EA2, 0x001EA2, UC_LU}, + {0x001EA3, 0x001EA3, UC_LL}, + {0x001EA4, 0x001EA4, UC_LU}, + {0x001EA5, 0x001EA5, UC_LL}, + {0x001EA6, 0x001EA6, UC_LU}, + {0x001EA7, 0x001EA7, UC_LL}, + {0x001EA8, 0x001EA8, UC_LU}, + {0x001EA9, 0x001EA9, UC_LL}, + {0x001EAA, 0x001EAA, UC_LU}, + {0x001EAB, 0x001EAB, UC_LL}, + {0x001EAC, 0x001EAC, UC_LU}, + {0x001EAD, 0x001EAD, UC_LL}, + {0x001EAE, 0x001EAE, UC_LU}, + {0x001EAF, 0x001EAF, UC_LL}, + {0x001EB0, 0x001EB0, UC_LU}, + {0x001EB1, 0x001EB1, UC_LL}, + {0x001EB2, 0x001EB2, UC_LU}, + {0x001EB3, 0x001EB3, UC_LL}, + {0x001EB4, 0x001EB4, UC_LU}, + {0x001EB5, 0x001EB5, UC_LL}, + {0x001EB6, 0x001EB6, UC_LU}, + {0x001EB7, 0x001EB7, UC_LL}, + {0x001EB8, 0x001EB8, UC_LU}, + {0x001EB9, 0x001EB9, UC_LL}, + {0x001EBA, 0x001EBA, UC_LU}, + {0x001EBB, 0x001EBB, UC_LL}, + {0x001EBC, 0x001EBC, UC_LU}, + {0x001EBD, 0x001EBD, UC_LL}, + {0x001EBE, 0x001EBE, UC_LU}, + {0x001EBF, 0x001EBF, UC_LL}, + {0x001EC0, 0x001EC0, UC_LU}, + {0x001EC1, 0x001EC1, UC_LL}, + {0x001EC2, 0x001EC2, UC_LU}, + {0x001EC3, 0x001EC3, UC_LL}, + {0x001EC4, 0x001EC4, UC_LU}, + {0x001EC5, 0x001EC5, UC_LL}, + {0x001EC6, 0x001EC6, UC_LU}, + {0x001EC7, 0x001EC7, UC_LL}, + {0x001EC8, 0x001EC8, UC_LU}, + {0x001EC9, 0x001EC9, UC_LL}, + {0x001ECA, 0x001ECA, UC_LU}, + {0x001ECB, 0x001ECB, UC_LL}, + {0x001ECC, 0x001ECC, UC_LU}, + {0x001ECD, 0x001ECD, UC_LL}, + {0x001ECE, 0x001ECE, UC_LU}, + {0x001ECF, 0x001ECF, UC_LL}, + {0x001ED0, 0x001ED0, UC_LU}, + {0x001ED1, 0x001ED1, UC_LL}, + {0x001ED2, 0x001ED2, UC_LU}, + {0x001ED3, 0x001ED3, UC_LL}, + {0x001ED4, 0x001ED4, UC_LU}, + {0x001ED5, 0x001ED5, UC_LL}, + {0x001ED6, 0x001ED6, UC_LU}, + {0x001ED7, 0x001ED7, UC_LL}, + {0x001ED8, 0x001ED8, UC_LU}, + {0x001ED9, 0x001ED9, UC_LL}, + {0x001EDA, 0x001EDA, UC_LU}, + {0x001EDB, 0x001EDB, UC_LL}, + {0x001EDC, 0x001EDC, UC_LU}, + {0x001EDD, 0x001EDD, UC_LL}, + {0x001EDE, 0x001EDE, UC_LU}, + {0x001EDF, 0x001EDF, UC_LL}, + {0x001EE0, 0x001EE0, UC_LU}, + {0x001EE1, 0x001EE1, UC_LL}, + {0x001EE2, 0x001EE2, UC_LU}, + {0x001EE3, 0x001EE3, UC_LL}, + {0x001EE4, 0x001EE4, UC_LU}, + {0x001EE5, 0x001EE5, UC_LL}, + {0x001EE6, 0x001EE6, UC_LU}, + {0x001EE7, 0x001EE7, UC_LL}, + {0x001EE8, 0x001EE8, UC_LU}, + {0x001EE9, 0x001EE9, UC_LL}, + {0x001EEA, 0x001EEA, UC_LU}, + {0x001EEB, 0x001EEB, UC_LL}, + {0x001EEC, 0x001EEC, UC_LU}, + {0x001EED, 0x001EED, UC_LL}, + {0x001EEE, 0x001EEE, UC_LU}, + {0x001EEF, 0x001EEF, UC_LL}, + {0x001EF0, 0x001EF0, UC_LU}, + {0x001EF1, 0x001EF1, UC_LL}, + {0x001EF2, 0x001EF2, UC_LU}, + {0x001EF3, 0x001EF3, UC_LL}, + {0x001EF4, 0x001EF4, UC_LU}, + {0x001EF5, 0x001EF5, UC_LL}, + {0x001EF6, 0x001EF6, UC_LU}, + {0x001EF7, 0x001EF7, UC_LL}, + {0x001EF8, 0x001EF8, UC_LU}, + {0x001EF9, 0x001EF9, UC_LL}, + {0x001EFA, 0x001EFA, UC_LU}, + {0x001EFB, 0x001EFB, UC_LL}, + {0x001EFC, 0x001EFC, UC_LU}, + {0x001EFD, 0x001EFD, UC_LL}, + {0x001EFE, 0x001EFE, UC_LU}, + {0x001EFF, 0x001F07, UC_LL}, + {0x001F08, 0x001F0F, UC_LU}, + {0x001F10, 0x001F15, UC_LL}, + {0x001F18, 0x001F1D, UC_LU}, + {0x001F20, 0x001F27, UC_LL}, + {0x001F28, 0x001F2F, UC_LU}, + {0x001F30, 0x001F37, UC_LL}, + {0x001F38, 0x001F3F, UC_LU}, + {0x001F40, 0x001F45, UC_LL}, + {0x001F48, 0x001F4D, UC_LU}, + {0x001F50, 0x001F57, UC_LL}, + {0x001F59, 0x001F59, UC_LU}, + {0x001F5B, 0x001F5B, UC_LU}, + {0x001F5D, 0x001F5D, UC_LU}, + {0x001F5F, 0x001F5F, UC_LU}, + {0x001F60, 0x001F67, UC_LL}, + {0x001F68, 0x001F6F, UC_LU}, + {0x001F70, 0x001F7D, UC_LL}, + {0x001F80, 0x001F87, UC_LL}, + {0x001F88, 0x001F8F, UC_LT}, + {0x001F90, 0x001F97, UC_LL}, + {0x001F98, 0x001F9F, UC_LT}, + {0x001FA0, 0x001FA7, UC_LL}, + {0x001FA8, 0x001FAF, UC_LT}, + {0x001FB0, 0x001FB4, UC_LL}, + {0x001FB6, 0x001FB7, UC_LL}, + {0x001FB8, 0x001FBB, UC_LU}, + {0x001FBC, 0x001FBC, UC_LT}, + {0x001FBD, 0x001FBD, UC_SK}, + {0x001FBE, 0x001FBE, UC_LL}, + {0x001FBF, 0x001FC1, UC_SK}, + {0x001FC2, 0x001FC4, UC_LL}, + {0x001FC6, 0x001FC7, UC_LL}, + {0x001FC8, 0x001FCB, UC_LU}, + {0x001FCC, 0x001FCC, UC_LT}, + {0x001FCD, 0x001FCF, UC_SK}, + {0x001FD0, 0x001FD3, UC_LL}, + {0x001FD6, 0x001FD7, UC_LL}, + {0x001FD8, 0x001FDB, UC_LU}, + {0x001FDD, 0x001FDF, UC_SK}, + {0x001FE0, 0x001FE7, UC_LL}, + {0x001FE8, 0x001FEC, UC_LU}, + {0x001FED, 0x001FEF, UC_SK}, + {0x001FF2, 0x001FF4, UC_LL}, + {0x001FF6, 0x001FF7, UC_LL}, + {0x001FF8, 0x001FFB, UC_LU}, + {0x001FFC, 0x001FFC, UC_LT}, + {0x001FFD, 0x001FFE, UC_SK}, + {0x002000, 0x00200A, UC_ZS}, + {0x00200B, 0x00200F, UC_CF}, + {0x002010, 0x002015, UC_PD}, + {0x002016, 0x002017, UC_PO}, + {0x002018, 0x002018, UC_PI}, + {0x002019, 0x002019, UC_PF}, + {0x00201A, 0x00201A, UC_PS}, + {0x00201B, 0x00201C, UC_PI}, + {0x00201D, 0x00201D, UC_PF}, + {0x00201E, 0x00201E, UC_PS}, + {0x00201F, 0x00201F, UC_PI}, + {0x002020, 0x002027, UC_PO}, + {0x002028, 0x002028, UC_ZL}, + {0x002029, 0x002029, UC_ZP}, + {0x00202A, 0x00202E, UC_CF}, + {0x00202F, 0x00202F, UC_ZS}, + {0x002030, 0x002038, UC_PO}, + {0x002039, 0x002039, UC_PI}, + {0x00203A, 0x00203A, UC_PF}, + {0x00203B, 0x00203E, UC_PO}, + {0x00203F, 0x002040, UC_PC}, + {0x002041, 0x002043, UC_PO}, + {0x002044, 0x002044, UC_SM}, + {0x002045, 0x002045, UC_PS}, + {0x002046, 0x002046, UC_PE}, + {0x002047, 0x002051, UC_PO}, + {0x002052, 0x002052, UC_SM}, + {0x002053, 0x002053, UC_PO}, + {0x002054, 0x002054, UC_PC}, + {0x002055, 0x00205E, UC_PO}, + {0x00205F, 0x00205F, UC_ZS}, + {0x002060, 0x002064, UC_CF}, + {0x002066, 0x00206F, UC_CF}, + {0x002070, 0x002070, UC_NO}, + {0x002071, 0x002071, UC_LM}, + {0x002074, 0x002079, UC_NO}, + {0x00207A, 0x00207C, UC_SM}, + {0x00207D, 0x00207D, UC_PS}, + {0x00207E, 0x00207E, UC_PE}, + {0x00207F, 0x00207F, UC_LM}, + {0x002080, 0x002089, UC_NO}, + {0x00208A, 0x00208C, UC_SM}, + {0x00208D, 0x00208D, UC_PS}, + {0x00208E, 0x00208E, UC_PE}, + {0x002090, 0x00209C, UC_LM}, + {0x0020A0, 0x0020C0, UC_SC}, + {0x0020D0, 0x0020DC, UC_MN}, + {0x0020DD, 0x0020E0, UC_ME}, + {0x0020E1, 0x0020E1, UC_MN}, + {0x0020E2, 0x0020E4, UC_ME}, + {0x0020E5, 0x0020F0, UC_MN}, + {0x002100, 0x002101, UC_SO}, + {0x002102, 0x002102, UC_LU}, + {0x002103, 0x002106, UC_SO}, + {0x002107, 0x002107, UC_LU}, + {0x002108, 0x002109, UC_SO}, + {0x00210A, 0x00210A, UC_LL}, + {0x00210B, 0x00210D, UC_LU}, + {0x00210E, 0x00210F, UC_LL}, + {0x002110, 0x002112, UC_LU}, + {0x002113, 0x002113, UC_LL}, + {0x002114, 0x002114, UC_SO}, + {0x002115, 0x002115, UC_LU}, + {0x002116, 0x002117, UC_SO}, + {0x002118, 0x002118, UC_SM}, + {0x002119, 0x00211D, UC_LU}, + {0x00211E, 0x002123, UC_SO}, + {0x002124, 0x002124, UC_LU}, + {0x002125, 0x002125, UC_SO}, + {0x002126, 0x002126, UC_LU}, + {0x002127, 0x002127, UC_SO}, + {0x002128, 0x002128, UC_LU}, + {0x002129, 0x002129, UC_SO}, + {0x00212A, 0x00212D, UC_LU}, + {0x00212E, 0x00212E, UC_SO}, + {0x00212F, 0x00212F, UC_LL}, + {0x002130, 0x002133, UC_LU}, + {0x002134, 0x002134, UC_LL}, + {0x002135, 0x002138, UC_LO}, + {0x002139, 0x002139, UC_LL}, + {0x00213A, 0x00213B, UC_SO}, + {0x00213C, 0x00213D, UC_LL}, + {0x00213E, 0x00213F, UC_LU}, + {0x002140, 0x002144, UC_SM}, + {0x002145, 0x002145, UC_LU}, + {0x002146, 0x002149, UC_LL}, + {0x00214A, 0x00214A, UC_SO}, + {0x00214B, 0x00214B, UC_SM}, + {0x00214C, 0x00214D, UC_SO}, + {0x00214E, 0x00214E, UC_LL}, + {0x00214F, 0x00214F, UC_SO}, + {0x002150, 0x00215F, UC_NO}, + {0x002160, 0x002182, UC_NL}, + {0x002183, 0x002183, UC_LU}, + {0x002184, 0x002184, UC_LL}, + {0x002185, 0x002188, UC_NL}, + {0x002189, 0x002189, UC_NO}, + {0x00218A, 0x00218B, UC_SO}, + {0x002190, 0x002194, UC_SM}, + {0x002195, 0x002199, UC_SO}, + {0x00219A, 0x00219B, UC_SM}, + {0x00219C, 0x00219F, UC_SO}, + {0x0021A0, 0x0021A0, UC_SM}, + {0x0021A1, 0x0021A2, UC_SO}, + {0x0021A3, 0x0021A3, UC_SM}, + {0x0021A4, 0x0021A5, UC_SO}, + {0x0021A6, 0x0021A6, UC_SM}, + {0x0021A7, 0x0021AD, UC_SO}, + {0x0021AE, 0x0021AE, UC_SM}, + {0x0021AF, 0x0021CD, UC_SO}, + {0x0021CE, 0x0021CF, UC_SM}, + {0x0021D0, 0x0021D1, UC_SO}, + {0x0021D2, 0x0021D2, UC_SM}, + {0x0021D3, 0x0021D3, UC_SO}, + {0x0021D4, 0x0021D4, UC_SM}, + {0x0021D5, 0x0021F3, UC_SO}, + {0x0021F4, 0x0022FF, UC_SM}, + {0x002300, 0x002307, UC_SO}, + {0x002308, 0x002308, UC_PS}, + {0x002309, 0x002309, UC_PE}, + {0x00230A, 0x00230A, UC_PS}, + {0x00230B, 0x00230B, UC_PE}, + {0x00230C, 0x00231F, UC_SO}, + {0x002320, 0x002321, UC_SM}, + {0x002322, 0x002328, UC_SO}, + {0x002329, 0x002329, UC_PS}, + {0x00232A, 0x00232A, UC_PE}, + {0x00232B, 0x00237B, UC_SO}, + {0x00237C, 0x00237C, UC_SM}, + {0x00237D, 0x00239A, UC_SO}, + {0x00239B, 0x0023B3, UC_SM}, + {0x0023B4, 0x0023DB, UC_SO}, + {0x0023DC, 0x0023E1, UC_SM}, + {0x0023E2, 0x002426, UC_SO}, + {0x002440, 0x00244A, UC_SO}, + {0x002460, 0x00249B, UC_NO}, + {0x00249C, 0x0024E9, UC_SO}, + {0x0024EA, 0x0024FF, UC_NO}, + {0x002500, 0x0025B6, UC_SO}, + {0x0025B7, 0x0025B7, UC_SM}, + {0x0025B8, 0x0025C0, UC_SO}, + {0x0025C1, 0x0025C1, UC_SM}, + {0x0025C2, 0x0025F7, UC_SO}, + {0x0025F8, 0x0025FF, UC_SM}, + {0x002600, 0x00266E, UC_SO}, + {0x00266F, 0x00266F, UC_SM}, + {0x002670, 0x002767, UC_SO}, + {0x002768, 0x002768, UC_PS}, + {0x002769, 0x002769, UC_PE}, + {0x00276A, 0x00276A, UC_PS}, + {0x00276B, 0x00276B, UC_PE}, + {0x00276C, 0x00276C, UC_PS}, + {0x00276D, 0x00276D, UC_PE}, + {0x00276E, 0x00276E, UC_PS}, + {0x00276F, 0x00276F, UC_PE}, + {0x002770, 0x002770, UC_PS}, + {0x002771, 0x002771, UC_PE}, + {0x002772, 0x002772, UC_PS}, + {0x002773, 0x002773, UC_PE}, + {0x002774, 0x002774, UC_PS}, + {0x002775, 0x002775, UC_PE}, + {0x002776, 0x002793, UC_NO}, + {0x002794, 0x0027BF, UC_SO}, + {0x0027C0, 0x0027C4, UC_SM}, + {0x0027C5, 0x0027C5, UC_PS}, + {0x0027C6, 0x0027C6, UC_PE}, + {0x0027C7, 0x0027E5, UC_SM}, + {0x0027E6, 0x0027E6, UC_PS}, + {0x0027E7, 0x0027E7, UC_PE}, + {0x0027E8, 0x0027E8, UC_PS}, + {0x0027E9, 0x0027E9, UC_PE}, + {0x0027EA, 0x0027EA, UC_PS}, + {0x0027EB, 0x0027EB, UC_PE}, + {0x0027EC, 0x0027EC, UC_PS}, + {0x0027ED, 0x0027ED, UC_PE}, + {0x0027EE, 0x0027EE, UC_PS}, + {0x0027EF, 0x0027EF, UC_PE}, + {0x0027F0, 0x0027FF, UC_SM}, + {0x002800, 0x0028FF, UC_SO}, + {0x002900, 0x002982, UC_SM}, + {0x002983, 0x002983, UC_PS}, + {0x002984, 0x002984, UC_PE}, + {0x002985, 0x002985, UC_PS}, + {0x002986, 0x002986, UC_PE}, + {0x002987, 0x002987, UC_PS}, + {0x002988, 0x002988, UC_PE}, + {0x002989, 0x002989, UC_PS}, + {0x00298A, 0x00298A, UC_PE}, + {0x00298B, 0x00298B, UC_PS}, + {0x00298C, 0x00298C, UC_PE}, + {0x00298D, 0x00298D, UC_PS}, + {0x00298E, 0x00298E, UC_PE}, + {0x00298F, 0x00298F, UC_PS}, + {0x002990, 0x002990, UC_PE}, + {0x002991, 0x002991, UC_PS}, + {0x002992, 0x002992, UC_PE}, + {0x002993, 0x002993, UC_PS}, + {0x002994, 0x002994, UC_PE}, + {0x002995, 0x002995, UC_PS}, + {0x002996, 0x002996, UC_PE}, + {0x002997, 0x002997, UC_PS}, + {0x002998, 0x002998, UC_PE}, + {0x002999, 0x0029D7, UC_SM}, + {0x0029D8, 0x0029D8, UC_PS}, + {0x0029D9, 0x0029D9, UC_PE}, + {0x0029DA, 0x0029DA, UC_PS}, + {0x0029DB, 0x0029DB, UC_PE}, + {0x0029DC, 0x0029FB, UC_SM}, + {0x0029FC, 0x0029FC, UC_PS}, + {0x0029FD, 0x0029FD, UC_PE}, + {0x0029FE, 0x002AFF, UC_SM}, + {0x002B00, 0x002B2F, UC_SO}, + {0x002B30, 0x002B44, UC_SM}, + {0x002B45, 0x002B46, UC_SO}, + {0x002B47, 0x002B4C, UC_SM}, + {0x002B4D, 0x002B73, UC_SO}, + {0x002B76, 0x002B95, UC_SO}, + {0x002B97, 0x002BFF, UC_SO}, + {0x002C00, 0x002C2F, UC_LU}, + {0x002C30, 0x002C5F, UC_LL}, + {0x002C60, 0x002C60, UC_LU}, + {0x002C61, 0x002C61, UC_LL}, + {0x002C62, 0x002C64, UC_LU}, + {0x002C65, 0x002C66, UC_LL}, + {0x002C67, 0x002C67, UC_LU}, + {0x002C68, 0x002C68, UC_LL}, + {0x002C69, 0x002C69, UC_LU}, + {0x002C6A, 0x002C6A, UC_LL}, + {0x002C6B, 0x002C6B, UC_LU}, + {0x002C6C, 0x002C6C, UC_LL}, + {0x002C6D, 0x002C70, UC_LU}, + {0x002C71, 0x002C71, UC_LL}, + {0x002C72, 0x002C72, UC_LU}, + {0x002C73, 0x002C74, UC_LL}, + {0x002C75, 0x002C75, UC_LU}, + {0x002C76, 0x002C7B, UC_LL}, + {0x002C7C, 0x002C7D, UC_LM}, + {0x002C7E, 0x002C80, UC_LU}, + {0x002C81, 0x002C81, UC_LL}, + {0x002C82, 0x002C82, UC_LU}, + {0x002C83, 0x002C83, UC_LL}, + {0x002C84, 0x002C84, UC_LU}, + {0x002C85, 0x002C85, UC_LL}, + {0x002C86, 0x002C86, UC_LU}, + {0x002C87, 0x002C87, UC_LL}, + {0x002C88, 0x002C88, UC_LU}, + {0x002C89, 0x002C89, UC_LL}, + {0x002C8A, 0x002C8A, UC_LU}, + {0x002C8B, 0x002C8B, UC_LL}, + {0x002C8C, 0x002C8C, UC_LU}, + {0x002C8D, 0x002C8D, UC_LL}, + {0x002C8E, 0x002C8E, UC_LU}, + {0x002C8F, 0x002C8F, UC_LL}, + {0x002C90, 0x002C90, UC_LU}, + {0x002C91, 0x002C91, UC_LL}, + {0x002C92, 0x002C92, UC_LU}, + {0x002C93, 0x002C93, UC_LL}, + {0x002C94, 0x002C94, UC_LU}, + {0x002C95, 0x002C95, UC_LL}, + {0x002C96, 0x002C96, UC_LU}, + {0x002C97, 0x002C97, UC_LL}, + {0x002C98, 0x002C98, UC_LU}, + {0x002C99, 0x002C99, UC_LL}, + {0x002C9A, 0x002C9A, UC_LU}, + {0x002C9B, 0x002C9B, UC_LL}, + {0x002C9C, 0x002C9C, UC_LU}, + {0x002C9D, 0x002C9D, UC_LL}, + {0x002C9E, 0x002C9E, UC_LU}, + {0x002C9F, 0x002C9F, UC_LL}, + {0x002CA0, 0x002CA0, UC_LU}, + {0x002CA1, 0x002CA1, UC_LL}, + {0x002CA2, 0x002CA2, UC_LU}, + {0x002CA3, 0x002CA3, UC_LL}, + {0x002CA4, 0x002CA4, UC_LU}, + {0x002CA5, 0x002CA5, UC_LL}, + {0x002CA6, 0x002CA6, UC_LU}, + {0x002CA7, 0x002CA7, UC_LL}, + {0x002CA8, 0x002CA8, UC_LU}, + {0x002CA9, 0x002CA9, UC_LL}, + {0x002CAA, 0x002CAA, UC_LU}, + {0x002CAB, 0x002CAB, UC_LL}, + {0x002CAC, 0x002CAC, UC_LU}, + {0x002CAD, 0x002CAD, UC_LL}, + {0x002CAE, 0x002CAE, UC_LU}, + {0x002CAF, 0x002CAF, UC_LL}, + {0x002CB0, 0x002CB0, UC_LU}, + {0x002CB1, 0x002CB1, UC_LL}, + {0x002CB2, 0x002CB2, UC_LU}, + {0x002CB3, 0x002CB3, UC_LL}, + {0x002CB4, 0x002CB4, UC_LU}, + {0x002CB5, 0x002CB5, UC_LL}, + {0x002CB6, 0x002CB6, UC_LU}, + {0x002CB7, 0x002CB7, UC_LL}, + {0x002CB8, 0x002CB8, UC_LU}, + {0x002CB9, 0x002CB9, UC_LL}, + {0x002CBA, 0x002CBA, UC_LU}, + {0x002CBB, 0x002CBB, UC_LL}, + {0x002CBC, 0x002CBC, UC_LU}, + {0x002CBD, 0x002CBD, UC_LL}, + {0x002CBE, 0x002CBE, UC_LU}, + {0x002CBF, 0x002CBF, UC_LL}, + {0x002CC0, 0x002CC0, UC_LU}, + {0x002CC1, 0x002CC1, UC_LL}, + {0x002CC2, 0x002CC2, UC_LU}, + {0x002CC3, 0x002CC3, UC_LL}, + {0x002CC4, 0x002CC4, UC_LU}, + {0x002CC5, 0x002CC5, UC_LL}, + {0x002CC6, 0x002CC6, UC_LU}, + {0x002CC7, 0x002CC7, UC_LL}, + {0x002CC8, 0x002CC8, UC_LU}, + {0x002CC9, 0x002CC9, UC_LL}, + {0x002CCA, 0x002CCA, UC_LU}, + {0x002CCB, 0x002CCB, UC_LL}, + {0x002CCC, 0x002CCC, UC_LU}, + {0x002CCD, 0x002CCD, UC_LL}, + {0x002CCE, 0x002CCE, UC_LU}, + {0x002CCF, 0x002CCF, UC_LL}, + {0x002CD0, 0x002CD0, UC_LU}, + {0x002CD1, 0x002CD1, UC_LL}, + {0x002CD2, 0x002CD2, UC_LU}, + {0x002CD3, 0x002CD3, UC_LL}, + {0x002CD4, 0x002CD4, UC_LU}, + {0x002CD5, 0x002CD5, UC_LL}, + {0x002CD6, 0x002CD6, UC_LU}, + {0x002CD7, 0x002CD7, UC_LL}, + {0x002CD8, 0x002CD8, UC_LU}, + {0x002CD9, 0x002CD9, UC_LL}, + {0x002CDA, 0x002CDA, UC_LU}, + {0x002CDB, 0x002CDB, UC_LL}, + {0x002CDC, 0x002CDC, UC_LU}, + {0x002CDD, 0x002CDD, UC_LL}, + {0x002CDE, 0x002CDE, UC_LU}, + {0x002CDF, 0x002CDF, UC_LL}, + {0x002CE0, 0x002CE0, UC_LU}, + {0x002CE1, 0x002CE1, UC_LL}, + {0x002CE2, 0x002CE2, UC_LU}, + {0x002CE3, 0x002CE4, UC_LL}, + {0x002CE5, 0x002CEA, UC_SO}, + {0x002CEB, 0x002CEB, UC_LU}, + {0x002CEC, 0x002CEC, UC_LL}, + {0x002CED, 0x002CED, UC_LU}, + {0x002CEE, 0x002CEE, UC_LL}, + {0x002CEF, 0x002CF1, UC_MN}, + {0x002CF2, 0x002CF2, UC_LU}, + {0x002CF3, 0x002CF3, UC_LL}, + {0x002CF9, 0x002CFC, UC_PO}, + {0x002CFD, 0x002CFD, UC_NO}, + {0x002CFE, 0x002CFF, UC_PO}, + {0x002D00, 0x002D25, UC_LL}, + {0x002D27, 0x002D27, UC_LL}, + {0x002D2D, 0x002D2D, UC_LL}, + {0x002D30, 0x002D67, UC_LO}, + {0x002D6F, 0x002D6F, UC_LM}, + {0x002D70, 0x002D70, UC_PO}, + {0x002D7F, 0x002D7F, UC_MN}, + {0x002D80, 0x002D96, UC_LO}, + {0x002DA0, 0x002DA6, UC_LO}, + {0x002DA8, 0x002DAE, UC_LO}, + {0x002DB0, 0x002DB6, UC_LO}, + {0x002DB8, 0x002DBE, UC_LO}, + {0x002DC0, 0x002DC6, UC_LO}, + {0x002DC8, 0x002DCE, UC_LO}, + {0x002DD0, 0x002DD6, UC_LO}, + {0x002DD8, 0x002DDE, UC_LO}, + {0x002DE0, 0x002DFF, UC_MN}, + {0x002E00, 0x002E01, UC_PO}, + {0x002E02, 0x002E02, UC_PI}, + {0x002E03, 0x002E03, UC_PF}, + {0x002E04, 0x002E04, UC_PI}, + {0x002E05, 0x002E05, UC_PF}, + {0x002E06, 0x002E08, UC_PO}, + {0x002E09, 0x002E09, UC_PI}, + {0x002E0A, 0x002E0A, UC_PF}, + {0x002E0B, 0x002E0B, UC_PO}, + {0x002E0C, 0x002E0C, UC_PI}, + {0x002E0D, 0x002E0D, UC_PF}, + {0x002E0E, 0x002E16, UC_PO}, + {0x002E17, 0x002E17, UC_PD}, + {0x002E18, 0x002E19, UC_PO}, + {0x002E1A, 0x002E1A, UC_PD}, + {0x002E1B, 0x002E1B, UC_PO}, + {0x002E1C, 0x002E1C, UC_PI}, + {0x002E1D, 0x002E1D, UC_PF}, + {0x002E1E, 0x002E1F, UC_PO}, + {0x002E20, 0x002E20, UC_PI}, + {0x002E21, 0x002E21, UC_PF}, + {0x002E22, 0x002E22, UC_PS}, + {0x002E23, 0x002E23, UC_PE}, + {0x002E24, 0x002E24, UC_PS}, + {0x002E25, 0x002E25, UC_PE}, + {0x002E26, 0x002E26, UC_PS}, + {0x002E27, 0x002E27, UC_PE}, + {0x002E28, 0x002E28, UC_PS}, + {0x002E29, 0x002E29, UC_PE}, + {0x002E2A, 0x002E2E, UC_PO}, + {0x002E2F, 0x002E2F, UC_LM}, + {0x002E30, 0x002E39, UC_PO}, + {0x002E3A, 0x002E3B, UC_PD}, + {0x002E3C, 0x002E3F, UC_PO}, + {0x002E40, 0x002E40, UC_PD}, + {0x002E41, 0x002E41, UC_PO}, + {0x002E42, 0x002E42, UC_PS}, + {0x002E43, 0x002E4F, UC_PO}, + {0x002E50, 0x002E51, UC_SO}, + {0x002E52, 0x002E54, UC_PO}, + {0x002E55, 0x002E55, UC_PS}, + {0x002E56, 0x002E56, UC_PE}, + {0x002E57, 0x002E57, UC_PS}, + {0x002E58, 0x002E58, UC_PE}, + {0x002E59, 0x002E59, UC_PS}, + {0x002E5A, 0x002E5A, UC_PE}, + {0x002E5B, 0x002E5B, UC_PS}, + {0x002E5C, 0x002E5C, UC_PE}, + {0x002E5D, 0x002E5D, UC_PD}, + {0x002E80, 0x002E99, UC_SO}, + {0x002E9B, 0x002EF3, UC_SO}, + {0x002F00, 0x002FD5, UC_SO}, + {0x002FF0, 0x002FFF, UC_SO}, + {0x003000, 0x003000, UC_ZS}, + {0x003001, 0x003003, UC_PO}, + {0x003004, 0x003004, UC_SO}, + {0x003005, 0x003005, UC_LM}, + {0x003006, 0x003006, UC_LO}, + {0x003007, 0x003007, UC_NL}, + {0x003008, 0x003008, UC_PS}, + {0x003009, 0x003009, UC_PE}, + {0x00300A, 0x00300A, UC_PS}, + {0x00300B, 0x00300B, UC_PE}, + {0x00300C, 0x00300C, UC_PS}, + {0x00300D, 0x00300D, UC_PE}, + {0x00300E, 0x00300E, UC_PS}, + {0x00300F, 0x00300F, UC_PE}, + {0x003010, 0x003010, UC_PS}, + {0x003011, 0x003011, UC_PE}, + {0x003012, 0x003013, UC_SO}, + {0x003014, 0x003014, UC_PS}, + {0x003015, 0x003015, UC_PE}, + {0x003016, 0x003016, UC_PS}, + {0x003017, 0x003017, UC_PE}, + {0x003018, 0x003018, UC_PS}, + {0x003019, 0x003019, UC_PE}, + {0x00301A, 0x00301A, UC_PS}, + {0x00301B, 0x00301B, UC_PE}, + {0x00301C, 0x00301C, UC_PD}, + {0x00301D, 0x00301D, UC_PS}, + {0x00301E, 0x00301F, UC_PE}, + {0x003020, 0x003020, UC_SO}, + {0x003021, 0x003029, UC_NL}, + {0x00302A, 0x00302D, UC_MN}, + {0x00302E, 0x00302F, UC_MC}, + {0x003030, 0x003030, UC_PD}, + {0x003031, 0x003035, UC_LM}, + {0x003036, 0x003037, UC_SO}, + {0x003038, 0x00303A, UC_NL}, + {0x00303B, 0x00303B, UC_LM}, + {0x00303C, 0x00303C, UC_LO}, + {0x00303D, 0x00303D, UC_PO}, + {0x00303E, 0x00303F, UC_SO}, + {0x003041, 0x003096, UC_LO}, + {0x003099, 0x00309A, UC_MN}, + {0x00309B, 0x00309C, UC_SK}, + {0x00309D, 0x00309E, UC_LM}, + {0x00309F, 0x00309F, UC_LO}, + {0x0030A0, 0x0030A0, UC_PD}, + {0x0030A1, 0x0030FA, UC_LO}, + {0x0030FB, 0x0030FB, UC_PO}, + {0x0030FC, 0x0030FE, UC_LM}, + {0x0030FF, 0x0030FF, UC_LO}, + {0x003105, 0x00312F, UC_LO}, + {0x003131, 0x00318E, UC_LO}, + {0x003190, 0x003191, UC_SO}, + {0x003192, 0x003195, UC_NO}, + {0x003196, 0x00319F, UC_SO}, + {0x0031A0, 0x0031BF, UC_LO}, + {0x0031C0, 0x0031E3, UC_SO}, + {0x0031EF, 0x0031EF, UC_SO}, + {0x0031F0, 0x0031FF, UC_LO}, + {0x003200, 0x00321E, UC_SO}, + {0x003220, 0x003229, UC_NO}, + {0x00322A, 0x003247, UC_SO}, + {0x003248, 0x00324F, UC_NO}, + {0x003250, 0x003250, UC_SO}, + {0x003251, 0x00325F, UC_NO}, + {0x003260, 0x00327F, UC_SO}, + {0x003280, 0x003289, UC_NO}, + {0x00328A, 0x0032B0, UC_SO}, + {0x0032B1, 0x0032BF, UC_NO}, + {0x0032C0, 0x0033FF, UC_SO}, + {0x003400, 0x004DBF, UC_LO}, + {0x004DC0, 0x004DFF, UC_SO}, + {0x004E00, 0x00A014, UC_LO}, + {0x00A015, 0x00A015, UC_LM}, + {0x00A016, 0x00A48C, UC_LO}, + {0x00A490, 0x00A4C6, UC_SO}, + {0x00A4D0, 0x00A4F7, UC_LO}, + {0x00A4F8, 0x00A4FD, UC_LM}, + {0x00A4FE, 0x00A4FF, UC_PO}, + {0x00A500, 0x00A60B, UC_LO}, + {0x00A60C, 0x00A60C, UC_LM}, + {0x00A60D, 0x00A60F, UC_PO}, + {0x00A610, 0x00A61F, UC_LO}, + {0x00A620, 0x00A629, UC_ND}, + {0x00A62A, 0x00A62B, UC_LO}, + {0x00A640, 0x00A640, UC_LU}, + {0x00A641, 0x00A641, UC_LL}, + {0x00A642, 0x00A642, UC_LU}, + {0x00A643, 0x00A643, UC_LL}, + {0x00A644, 0x00A644, UC_LU}, + {0x00A645, 0x00A645, UC_LL}, + {0x00A646, 0x00A646, UC_LU}, + {0x00A647, 0x00A647, UC_LL}, + {0x00A648, 0x00A648, UC_LU}, + {0x00A649, 0x00A649, UC_LL}, + {0x00A64A, 0x00A64A, UC_LU}, + {0x00A64B, 0x00A64B, UC_LL}, + {0x00A64C, 0x00A64C, UC_LU}, + {0x00A64D, 0x00A64D, UC_LL}, + {0x00A64E, 0x00A64E, UC_LU}, + {0x00A64F, 0x00A64F, UC_LL}, + {0x00A650, 0x00A650, UC_LU}, + {0x00A651, 0x00A651, UC_LL}, + {0x00A652, 0x00A652, UC_LU}, + {0x00A653, 0x00A653, UC_LL}, + {0x00A654, 0x00A654, UC_LU}, + {0x00A655, 0x00A655, UC_LL}, + {0x00A656, 0x00A656, UC_LU}, + {0x00A657, 0x00A657, UC_LL}, + {0x00A658, 0x00A658, UC_LU}, + {0x00A659, 0x00A659, UC_LL}, + {0x00A65A, 0x00A65A, UC_LU}, + {0x00A65B, 0x00A65B, UC_LL}, + {0x00A65C, 0x00A65C, UC_LU}, + {0x00A65D, 0x00A65D, UC_LL}, + {0x00A65E, 0x00A65E, UC_LU}, + {0x00A65F, 0x00A65F, UC_LL}, + {0x00A660, 0x00A660, UC_LU}, + {0x00A661, 0x00A661, UC_LL}, + {0x00A662, 0x00A662, UC_LU}, + {0x00A663, 0x00A663, UC_LL}, + {0x00A664, 0x00A664, UC_LU}, + {0x00A665, 0x00A665, UC_LL}, + {0x00A666, 0x00A666, UC_LU}, + {0x00A667, 0x00A667, UC_LL}, + {0x00A668, 0x00A668, UC_LU}, + {0x00A669, 0x00A669, UC_LL}, + {0x00A66A, 0x00A66A, UC_LU}, + {0x00A66B, 0x00A66B, UC_LL}, + {0x00A66C, 0x00A66C, UC_LU}, + {0x00A66D, 0x00A66D, UC_LL}, + {0x00A66E, 0x00A66E, UC_LO}, + {0x00A66F, 0x00A66F, UC_MN}, + {0x00A670, 0x00A672, UC_ME}, + {0x00A673, 0x00A673, UC_PO}, + {0x00A674, 0x00A67D, UC_MN}, + {0x00A67E, 0x00A67E, UC_PO}, + {0x00A67F, 0x00A67F, UC_LM}, + {0x00A680, 0x00A680, UC_LU}, + {0x00A681, 0x00A681, UC_LL}, + {0x00A682, 0x00A682, UC_LU}, + {0x00A683, 0x00A683, UC_LL}, + {0x00A684, 0x00A684, UC_LU}, + {0x00A685, 0x00A685, UC_LL}, + {0x00A686, 0x00A686, UC_LU}, + {0x00A687, 0x00A687, UC_LL}, + {0x00A688, 0x00A688, UC_LU}, + {0x00A689, 0x00A689, UC_LL}, + {0x00A68A, 0x00A68A, UC_LU}, + {0x00A68B, 0x00A68B, UC_LL}, + {0x00A68C, 0x00A68C, UC_LU}, + {0x00A68D, 0x00A68D, UC_LL}, + {0x00A68E, 0x00A68E, UC_LU}, + {0x00A68F, 0x00A68F, UC_LL}, + {0x00A690, 0x00A690, UC_LU}, + {0x00A691, 0x00A691, UC_LL}, + {0x00A692, 0x00A692, UC_LU}, + {0x00A693, 0x00A693, UC_LL}, + {0x00A694, 0x00A694, UC_LU}, + {0x00A695, 0x00A695, UC_LL}, + {0x00A696, 0x00A696, UC_LU}, + {0x00A697, 0x00A697, UC_LL}, + {0x00A698, 0x00A698, UC_LU}, + {0x00A699, 0x00A699, UC_LL}, + {0x00A69A, 0x00A69A, UC_LU}, + {0x00A69B, 0x00A69B, UC_LL}, + {0x00A69C, 0x00A69D, UC_LM}, + {0x00A69E, 0x00A69F, UC_MN}, + {0x00A6A0, 0x00A6E5, UC_LO}, + {0x00A6E6, 0x00A6EF, UC_NL}, + {0x00A6F0, 0x00A6F1, UC_MN}, + {0x00A6F2, 0x00A6F7, UC_PO}, + {0x00A700, 0x00A716, UC_SK}, + {0x00A717, 0x00A71F, UC_LM}, + {0x00A720, 0x00A721, UC_SK}, + {0x00A722, 0x00A722, UC_LU}, + {0x00A723, 0x00A723, UC_LL}, + {0x00A724, 0x00A724, UC_LU}, + {0x00A725, 0x00A725, UC_LL}, + {0x00A726, 0x00A726, UC_LU}, + {0x00A727, 0x00A727, UC_LL}, + {0x00A728, 0x00A728, UC_LU}, + {0x00A729, 0x00A729, UC_LL}, + {0x00A72A, 0x00A72A, UC_LU}, + {0x00A72B, 0x00A72B, UC_LL}, + {0x00A72C, 0x00A72C, UC_LU}, + {0x00A72D, 0x00A72D, UC_LL}, + {0x00A72E, 0x00A72E, UC_LU}, + {0x00A72F, 0x00A731, UC_LL}, + {0x00A732, 0x00A732, UC_LU}, + {0x00A733, 0x00A733, UC_LL}, + {0x00A734, 0x00A734, UC_LU}, + {0x00A735, 0x00A735, UC_LL}, + {0x00A736, 0x00A736, UC_LU}, + {0x00A737, 0x00A737, UC_LL}, + {0x00A738, 0x00A738, UC_LU}, + {0x00A739, 0x00A739, UC_LL}, + {0x00A73A, 0x00A73A, UC_LU}, + {0x00A73B, 0x00A73B, UC_LL}, + {0x00A73C, 0x00A73C, UC_LU}, + {0x00A73D, 0x00A73D, UC_LL}, + {0x00A73E, 0x00A73E, UC_LU}, + {0x00A73F, 0x00A73F, UC_LL}, + {0x00A740, 0x00A740, UC_LU}, + {0x00A741, 0x00A741, UC_LL}, + {0x00A742, 0x00A742, UC_LU}, + {0x00A743, 0x00A743, UC_LL}, + {0x00A744, 0x00A744, UC_LU}, + {0x00A745, 0x00A745, UC_LL}, + {0x00A746, 0x00A746, UC_LU}, + {0x00A747, 0x00A747, UC_LL}, + {0x00A748, 0x00A748, UC_LU}, + {0x00A749, 0x00A749, UC_LL}, + {0x00A74A, 0x00A74A, UC_LU}, + {0x00A74B, 0x00A74B, UC_LL}, + {0x00A74C, 0x00A74C, UC_LU}, + {0x00A74D, 0x00A74D, UC_LL}, + {0x00A74E, 0x00A74E, UC_LU}, + {0x00A74F, 0x00A74F, UC_LL}, + {0x00A750, 0x00A750, UC_LU}, + {0x00A751, 0x00A751, UC_LL}, + {0x00A752, 0x00A752, UC_LU}, + {0x00A753, 0x00A753, UC_LL}, + {0x00A754, 0x00A754, UC_LU}, + {0x00A755, 0x00A755, UC_LL}, + {0x00A756, 0x00A756, UC_LU}, + {0x00A757, 0x00A757, UC_LL}, + {0x00A758, 0x00A758, UC_LU}, + {0x00A759, 0x00A759, UC_LL}, + {0x00A75A, 0x00A75A, UC_LU}, + {0x00A75B, 0x00A75B, UC_LL}, + {0x00A75C, 0x00A75C, UC_LU}, + {0x00A75D, 0x00A75D, UC_LL}, + {0x00A75E, 0x00A75E, UC_LU}, + {0x00A75F, 0x00A75F, UC_LL}, + {0x00A760, 0x00A760, UC_LU}, + {0x00A761, 0x00A761, UC_LL}, + {0x00A762, 0x00A762, UC_LU}, + {0x00A763, 0x00A763, UC_LL}, + {0x00A764, 0x00A764, UC_LU}, + {0x00A765, 0x00A765, UC_LL}, + {0x00A766, 0x00A766, UC_LU}, + {0x00A767, 0x00A767, UC_LL}, + {0x00A768, 0x00A768, UC_LU}, + {0x00A769, 0x00A769, UC_LL}, + {0x00A76A, 0x00A76A, UC_LU}, + {0x00A76B, 0x00A76B, UC_LL}, + {0x00A76C, 0x00A76C, UC_LU}, + {0x00A76D, 0x00A76D, UC_LL}, + {0x00A76E, 0x00A76E, UC_LU}, + {0x00A76F, 0x00A76F, UC_LL}, + {0x00A770, 0x00A770, UC_LM}, + {0x00A771, 0x00A778, UC_LL}, + {0x00A779, 0x00A779, UC_LU}, + {0x00A77A, 0x00A77A, UC_LL}, + {0x00A77B, 0x00A77B, UC_LU}, + {0x00A77C, 0x00A77C, UC_LL}, + {0x00A77D, 0x00A77E, UC_LU}, + {0x00A77F, 0x00A77F, UC_LL}, + {0x00A780, 0x00A780, UC_LU}, + {0x00A781, 0x00A781, UC_LL}, + {0x00A782, 0x00A782, UC_LU}, + {0x00A783, 0x00A783, UC_LL}, + {0x00A784, 0x00A784, UC_LU}, + {0x00A785, 0x00A785, UC_LL}, + {0x00A786, 0x00A786, UC_LU}, + {0x00A787, 0x00A787, UC_LL}, + {0x00A788, 0x00A788, UC_LM}, + {0x00A789, 0x00A78A, UC_SK}, + {0x00A78B, 0x00A78B, UC_LU}, + {0x00A78C, 0x00A78C, UC_LL}, + {0x00A78D, 0x00A78D, UC_LU}, + {0x00A78E, 0x00A78E, UC_LL}, + {0x00A78F, 0x00A78F, UC_LO}, + {0x00A790, 0x00A790, UC_LU}, + {0x00A791, 0x00A791, UC_LL}, + {0x00A792, 0x00A792, UC_LU}, + {0x00A793, 0x00A795, UC_LL}, + {0x00A796, 0x00A796, UC_LU}, + {0x00A797, 0x00A797, UC_LL}, + {0x00A798, 0x00A798, UC_LU}, + {0x00A799, 0x00A799, UC_LL}, + {0x00A79A, 0x00A79A, UC_LU}, + {0x00A79B, 0x00A79B, UC_LL}, + {0x00A79C, 0x00A79C, UC_LU}, + {0x00A79D, 0x00A79D, UC_LL}, + {0x00A79E, 0x00A79E, UC_LU}, + {0x00A79F, 0x00A79F, UC_LL}, + {0x00A7A0, 0x00A7A0, UC_LU}, + {0x00A7A1, 0x00A7A1, UC_LL}, + {0x00A7A2, 0x00A7A2, UC_LU}, + {0x00A7A3, 0x00A7A3, UC_LL}, + {0x00A7A4, 0x00A7A4, UC_LU}, + {0x00A7A5, 0x00A7A5, UC_LL}, + {0x00A7A6, 0x00A7A6, UC_LU}, + {0x00A7A7, 0x00A7A7, UC_LL}, + {0x00A7A8, 0x00A7A8, UC_LU}, + {0x00A7A9, 0x00A7A9, UC_LL}, + {0x00A7AA, 0x00A7AE, UC_LU}, + {0x00A7AF, 0x00A7AF, UC_LL}, + {0x00A7B0, 0x00A7B4, UC_LU}, + {0x00A7B5, 0x00A7B5, UC_LL}, + {0x00A7B6, 0x00A7B6, UC_LU}, + {0x00A7B7, 0x00A7B7, UC_LL}, + {0x00A7B8, 0x00A7B8, UC_LU}, + {0x00A7B9, 0x00A7B9, UC_LL}, + {0x00A7BA, 0x00A7BA, UC_LU}, + {0x00A7BB, 0x00A7BB, UC_LL}, + {0x00A7BC, 0x00A7BC, UC_LU}, + {0x00A7BD, 0x00A7BD, UC_LL}, + {0x00A7BE, 0x00A7BE, UC_LU}, + {0x00A7BF, 0x00A7BF, UC_LL}, + {0x00A7C0, 0x00A7C0, UC_LU}, + {0x00A7C1, 0x00A7C1, UC_LL}, + {0x00A7C2, 0x00A7C2, UC_LU}, + {0x00A7C3, 0x00A7C3, UC_LL}, + {0x00A7C4, 0x00A7C7, UC_LU}, + {0x00A7C8, 0x00A7C8, UC_LL}, + {0x00A7C9, 0x00A7C9, UC_LU}, + {0x00A7CA, 0x00A7CA, UC_LL}, + {0x00A7D0, 0x00A7D0, UC_LU}, + {0x00A7D1, 0x00A7D1, UC_LL}, + {0x00A7D3, 0x00A7D3, UC_LL}, + {0x00A7D5, 0x00A7D5, UC_LL}, + {0x00A7D6, 0x00A7D6, UC_LU}, + {0x00A7D7, 0x00A7D7, UC_LL}, + {0x00A7D8, 0x00A7D8, UC_LU}, + {0x00A7D9, 0x00A7D9, UC_LL}, + {0x00A7F2, 0x00A7F4, UC_LM}, + {0x00A7F5, 0x00A7F5, UC_LU}, + {0x00A7F6, 0x00A7F6, UC_LL}, + {0x00A7F7, 0x00A7F7, UC_LO}, + {0x00A7F8, 0x00A7F9, UC_LM}, + {0x00A7FA, 0x00A7FA, UC_LL}, + {0x00A7FB, 0x00A801, UC_LO}, + {0x00A802, 0x00A802, UC_MN}, + {0x00A803, 0x00A805, UC_LO}, + {0x00A806, 0x00A806, UC_MN}, + {0x00A807, 0x00A80A, UC_LO}, + {0x00A80B, 0x00A80B, UC_MN}, + {0x00A80C, 0x00A822, UC_LO}, + {0x00A823, 0x00A824, UC_MC}, + {0x00A825, 0x00A826, UC_MN}, + {0x00A827, 0x00A827, UC_MC}, + {0x00A828, 0x00A82B, UC_SO}, + {0x00A82C, 0x00A82C, UC_MN}, + {0x00A830, 0x00A835, UC_NO}, + {0x00A836, 0x00A837, UC_SO}, + {0x00A838, 0x00A838, UC_SC}, + {0x00A839, 0x00A839, UC_SO}, + {0x00A840, 0x00A873, UC_LO}, + {0x00A874, 0x00A877, UC_PO}, + {0x00A880, 0x00A881, UC_MC}, + {0x00A882, 0x00A8B3, UC_LO}, + {0x00A8B4, 0x00A8C3, UC_MC}, + {0x00A8C4, 0x00A8C5, UC_MN}, + {0x00A8CE, 0x00A8CF, UC_PO}, + {0x00A8D0, 0x00A8D9, UC_ND}, + {0x00A8E0, 0x00A8F1, UC_MN}, + {0x00A8F2, 0x00A8F7, UC_LO}, + {0x00A8F8, 0x00A8FA, UC_PO}, + {0x00A8FB, 0x00A8FB, UC_LO}, + {0x00A8FC, 0x00A8FC, UC_PO}, + {0x00A8FD, 0x00A8FE, UC_LO}, + {0x00A8FF, 0x00A8FF, UC_MN}, + {0x00A900, 0x00A909, UC_ND}, + {0x00A90A, 0x00A925, UC_LO}, + {0x00A926, 0x00A92D, UC_MN}, + {0x00A92E, 0x00A92F, UC_PO}, + {0x00A930, 0x00A946, UC_LO}, + {0x00A947, 0x00A951, UC_MN}, + {0x00A952, 0x00A953, UC_MC}, + {0x00A95F, 0x00A95F, UC_PO}, + {0x00A960, 0x00A97C, UC_LO}, + {0x00A980, 0x00A982, UC_MN}, + {0x00A983, 0x00A983, UC_MC}, + {0x00A984, 0x00A9B2, UC_LO}, + {0x00A9B3, 0x00A9B3, UC_MN}, + {0x00A9B4, 0x00A9B5, UC_MC}, + {0x00A9B6, 0x00A9B9, UC_MN}, + {0x00A9BA, 0x00A9BB, UC_MC}, + {0x00A9BC, 0x00A9BD, UC_MN}, + {0x00A9BE, 0x00A9C0, UC_MC}, + {0x00A9C1, 0x00A9CD, UC_PO}, + {0x00A9CF, 0x00A9CF, UC_LM}, + {0x00A9D0, 0x00A9D9, UC_ND}, + {0x00A9DE, 0x00A9DF, UC_PO}, + {0x00A9E0, 0x00A9E4, UC_LO}, + {0x00A9E5, 0x00A9E5, UC_MN}, + {0x00A9E6, 0x00A9E6, UC_LM}, + {0x00A9E7, 0x00A9EF, UC_LO}, + {0x00A9F0, 0x00A9F9, UC_ND}, + {0x00A9FA, 0x00A9FE, UC_LO}, + {0x00AA00, 0x00AA28, UC_LO}, + {0x00AA29, 0x00AA2E, UC_MN}, + {0x00AA2F, 0x00AA30, UC_MC}, + {0x00AA31, 0x00AA32, UC_MN}, + {0x00AA33, 0x00AA34, UC_MC}, + {0x00AA35, 0x00AA36, UC_MN}, + {0x00AA40, 0x00AA42, UC_LO}, + {0x00AA43, 0x00AA43, UC_MN}, + {0x00AA44, 0x00AA4B, UC_LO}, + {0x00AA4C, 0x00AA4C, UC_MN}, + {0x00AA4D, 0x00AA4D, UC_MC}, + {0x00AA50, 0x00AA59, UC_ND}, + {0x00AA5C, 0x00AA5F, UC_PO}, + {0x00AA60, 0x00AA6F, UC_LO}, + {0x00AA70, 0x00AA70, UC_LM}, + {0x00AA71, 0x00AA76, UC_LO}, + {0x00AA77, 0x00AA79, UC_SO}, + {0x00AA7A, 0x00AA7A, UC_LO}, + {0x00AA7B, 0x00AA7B, UC_MC}, + {0x00AA7C, 0x00AA7C, UC_MN}, + {0x00AA7D, 0x00AA7D, UC_MC}, + {0x00AA7E, 0x00AAAF, UC_LO}, + {0x00AAB0, 0x00AAB0, UC_MN}, + {0x00AAB1, 0x00AAB1, UC_LO}, + {0x00AAB2, 0x00AAB4, UC_MN}, + {0x00AAB5, 0x00AAB6, UC_LO}, + {0x00AAB7, 0x00AAB8, UC_MN}, + {0x00AAB9, 0x00AABD, UC_LO}, + {0x00AABE, 0x00AABF, UC_MN}, + {0x00AAC0, 0x00AAC0, UC_LO}, + {0x00AAC1, 0x00AAC1, UC_MN}, + {0x00AAC2, 0x00AAC2, UC_LO}, + {0x00AADB, 0x00AADC, UC_LO}, + {0x00AADD, 0x00AADD, UC_LM}, + {0x00AADE, 0x00AADF, UC_PO}, + {0x00AAE0, 0x00AAEA, UC_LO}, + {0x00AAEB, 0x00AAEB, UC_MC}, + {0x00AAEC, 0x00AAED, UC_MN}, + {0x00AAEE, 0x00AAEF, UC_MC}, + {0x00AAF0, 0x00AAF1, UC_PO}, + {0x00AAF2, 0x00AAF2, UC_LO}, + {0x00AAF3, 0x00AAF4, UC_LM}, + {0x00AAF5, 0x00AAF5, UC_MC}, + {0x00AAF6, 0x00AAF6, UC_MN}, + {0x00AB01, 0x00AB06, UC_LO}, + {0x00AB09, 0x00AB0E, UC_LO}, + {0x00AB11, 0x00AB16, UC_LO}, + {0x00AB20, 0x00AB26, UC_LO}, + {0x00AB28, 0x00AB2E, UC_LO}, + {0x00AB30, 0x00AB5A, UC_LL}, + {0x00AB5B, 0x00AB5B, UC_SK}, + {0x00AB5C, 0x00AB5F, UC_LM}, + {0x00AB60, 0x00AB68, UC_LL}, + {0x00AB69, 0x00AB69, UC_LM}, + {0x00AB6A, 0x00AB6B, UC_SK}, + {0x00AB70, 0x00ABBF, UC_LL}, + {0x00ABC0, 0x00ABE2, UC_LO}, + {0x00ABE3, 0x00ABE4, UC_MC}, + {0x00ABE5, 0x00ABE5, UC_MN}, + {0x00ABE6, 0x00ABE7, UC_MC}, + {0x00ABE8, 0x00ABE8, UC_MN}, + {0x00ABE9, 0x00ABEA, UC_MC}, + {0x00ABEB, 0x00ABEB, UC_PO}, + {0x00ABEC, 0x00ABEC, UC_MC}, + {0x00ABED, 0x00ABED, UC_MN}, + {0x00ABF0, 0x00ABF9, UC_ND}, + {0x00AC00, 0x00D7A3, UC_LO}, + {0x00D7B0, 0x00D7C6, UC_LO}, + {0x00D7CB, 0x00D7FB, UC_LO}, + {0x00D800, 0x00DFFF, UC_CS}, + {0x00E000, 0x00F8FF, UC_CO}, + {0x00F900, 0x00FA6D, UC_LO}, + {0x00FA70, 0x00FAD9, UC_LO}, + {0x00FB00, 0x00FB06, UC_LL}, + {0x00FB13, 0x00FB17, UC_LL}, + {0x00FB1D, 0x00FB1D, UC_LO}, + {0x00FB1E, 0x00FB1E, UC_MN}, + {0x00FB1F, 0x00FB28, UC_LO}, + {0x00FB29, 0x00FB29, UC_SM}, + {0x00FB2A, 0x00FB36, UC_LO}, + {0x00FB38, 0x00FB3C, UC_LO}, + {0x00FB3E, 0x00FB3E, UC_LO}, + {0x00FB40, 0x00FB41, UC_LO}, + {0x00FB43, 0x00FB44, UC_LO}, + {0x00FB46, 0x00FBB1, UC_LO}, + {0x00FBB2, 0x00FBC2, UC_SK}, + {0x00FBD3, 0x00FD3D, UC_LO}, + {0x00FD3E, 0x00FD3E, UC_PE}, + {0x00FD3F, 0x00FD3F, UC_PS}, + {0x00FD40, 0x00FD4F, UC_SO}, + {0x00FD50, 0x00FD8F, UC_LO}, + {0x00FD92, 0x00FDC7, UC_LO}, + {0x00FDCF, 0x00FDCF, UC_SO}, + {0x00FDF0, 0x00FDFB, UC_LO}, + {0x00FDFC, 0x00FDFC, UC_SC}, + {0x00FDFD, 0x00FDFF, UC_SO}, + {0x00FE00, 0x00FE0F, UC_MN}, + {0x00FE10, 0x00FE16, UC_PO}, + {0x00FE17, 0x00FE17, UC_PS}, + {0x00FE18, 0x00FE18, UC_PE}, + {0x00FE19, 0x00FE19, UC_PO}, + {0x00FE20, 0x00FE2F, UC_MN}, + {0x00FE30, 0x00FE30, UC_PO}, + {0x00FE31, 0x00FE32, UC_PD}, + {0x00FE33, 0x00FE34, UC_PC}, + {0x00FE35, 0x00FE35, UC_PS}, + {0x00FE36, 0x00FE36, UC_PE}, + {0x00FE37, 0x00FE37, UC_PS}, + {0x00FE38, 0x00FE38, UC_PE}, + {0x00FE39, 0x00FE39, UC_PS}, + {0x00FE3A, 0x00FE3A, UC_PE}, + {0x00FE3B, 0x00FE3B, UC_PS}, + {0x00FE3C, 0x00FE3C, UC_PE}, + {0x00FE3D, 0x00FE3D, UC_PS}, + {0x00FE3E, 0x00FE3E, UC_PE}, + {0x00FE3F, 0x00FE3F, UC_PS}, + {0x00FE40, 0x00FE40, UC_PE}, + {0x00FE41, 0x00FE41, UC_PS}, + {0x00FE42, 0x00FE42, UC_PE}, + {0x00FE43, 0x00FE43, UC_PS}, + {0x00FE44, 0x00FE44, UC_PE}, + {0x00FE45, 0x00FE46, UC_PO}, + {0x00FE47, 0x00FE47, UC_PS}, + {0x00FE48, 0x00FE48, UC_PE}, + {0x00FE49, 0x00FE4C, UC_PO}, + {0x00FE4D, 0x00FE4F, UC_PC}, + {0x00FE50, 0x00FE52, UC_PO}, + {0x00FE54, 0x00FE57, UC_PO}, + {0x00FE58, 0x00FE58, UC_PD}, + {0x00FE59, 0x00FE59, UC_PS}, + {0x00FE5A, 0x00FE5A, UC_PE}, + {0x00FE5B, 0x00FE5B, UC_PS}, + {0x00FE5C, 0x00FE5C, UC_PE}, + {0x00FE5D, 0x00FE5D, UC_PS}, + {0x00FE5E, 0x00FE5E, UC_PE}, + {0x00FE5F, 0x00FE61, UC_PO}, + {0x00FE62, 0x00FE62, UC_SM}, + {0x00FE63, 0x00FE63, UC_PD}, + {0x00FE64, 0x00FE66, UC_SM}, + {0x00FE68, 0x00FE68, UC_PO}, + {0x00FE69, 0x00FE69, UC_SC}, + {0x00FE6A, 0x00FE6B, UC_PO}, + {0x00FE70, 0x00FE74, UC_LO}, + {0x00FE76, 0x00FEFC, UC_LO}, + {0x00FEFF, 0x00FEFF, UC_CF}, + {0x00FF01, 0x00FF03, UC_PO}, + {0x00FF04, 0x00FF04, UC_SC}, + {0x00FF05, 0x00FF07, UC_PO}, + {0x00FF08, 0x00FF08, UC_PS}, + {0x00FF09, 0x00FF09, UC_PE}, + {0x00FF0A, 0x00FF0A, UC_PO}, + {0x00FF0B, 0x00FF0B, UC_SM}, + {0x00FF0C, 0x00FF0C, UC_PO}, + {0x00FF0D, 0x00FF0D, UC_PD}, + {0x00FF0E, 0x00FF0F, UC_PO}, + {0x00FF10, 0x00FF19, UC_ND}, + {0x00FF1A, 0x00FF1B, UC_PO}, + {0x00FF1C, 0x00FF1E, UC_SM}, + {0x00FF1F, 0x00FF20, UC_PO}, + {0x00FF21, 0x00FF3A, UC_LU}, + {0x00FF3B, 0x00FF3B, UC_PS}, + {0x00FF3C, 0x00FF3C, UC_PO}, + {0x00FF3D, 0x00FF3D, UC_PE}, + {0x00FF3E, 0x00FF3E, UC_SK}, + {0x00FF3F, 0x00FF3F, UC_PC}, + {0x00FF40, 0x00FF40, UC_SK}, + {0x00FF41, 0x00FF5A, UC_LL}, + {0x00FF5B, 0x00FF5B, UC_PS}, + {0x00FF5C, 0x00FF5C, UC_SM}, + {0x00FF5D, 0x00FF5D, UC_PE}, + {0x00FF5E, 0x00FF5E, UC_SM}, + {0x00FF5F, 0x00FF5F, UC_PS}, + {0x00FF60, 0x00FF60, UC_PE}, + {0x00FF61, 0x00FF61, UC_PO}, + {0x00FF62, 0x00FF62, UC_PS}, + {0x00FF63, 0x00FF63, UC_PE}, + {0x00FF64, 0x00FF65, UC_PO}, + {0x00FF66, 0x00FF6F, UC_LO}, + {0x00FF70, 0x00FF70, UC_LM}, + {0x00FF71, 0x00FF9D, UC_LO}, + {0x00FF9E, 0x00FF9F, UC_LM}, + {0x00FFA0, 0x00FFBE, UC_LO}, + {0x00FFC2, 0x00FFC7, UC_LO}, + {0x00FFCA, 0x00FFCF, UC_LO}, + {0x00FFD2, 0x00FFD7, UC_LO}, + {0x00FFDA, 0x00FFDC, UC_LO}, + {0x00FFE0, 0x00FFE1, UC_SC}, + {0x00FFE2, 0x00FFE2, UC_SM}, + {0x00FFE3, 0x00FFE3, UC_SK}, + {0x00FFE4, 0x00FFE4, UC_SO}, + {0x00FFE5, 0x00FFE6, UC_SC}, + {0x00FFE8, 0x00FFE8, UC_SO}, + {0x00FFE9, 0x00FFEC, UC_SM}, + {0x00FFED, 0x00FFEE, UC_SO}, + {0x00FFF9, 0x00FFFB, UC_CF}, + {0x00FFFC, 0x00FFFD, UC_SO}, + {0x010000, 0x01000B, UC_LO}, + {0x01000D, 0x010026, UC_LO}, + {0x010028, 0x01003A, UC_LO}, + {0x01003C, 0x01003D, UC_LO}, + {0x01003F, 0x01004D, UC_LO}, + {0x010050, 0x01005D, UC_LO}, + {0x010080, 0x0100FA, UC_LO}, + {0x010100, 0x010102, UC_PO}, + {0x010107, 0x010133, UC_NO}, + {0x010137, 0x01013F, UC_SO}, + {0x010140, 0x010174, UC_NL}, + {0x010175, 0x010178, UC_NO}, + {0x010179, 0x010189, UC_SO}, + {0x01018A, 0x01018B, UC_NO}, + {0x01018C, 0x01018E, UC_SO}, + {0x010190, 0x01019C, UC_SO}, + {0x0101A0, 0x0101A0, UC_SO}, + {0x0101D0, 0x0101FC, UC_SO}, + {0x0101FD, 0x0101FD, UC_MN}, + {0x010280, 0x01029C, UC_LO}, + {0x0102A0, 0x0102D0, UC_LO}, + {0x0102E0, 0x0102E0, UC_MN}, + {0x0102E1, 0x0102FB, UC_NO}, + {0x010300, 0x01031F, UC_LO}, + {0x010320, 0x010323, UC_NO}, + {0x01032D, 0x010340, UC_LO}, + {0x010341, 0x010341, UC_NL}, + {0x010342, 0x010349, UC_LO}, + {0x01034A, 0x01034A, UC_NL}, + {0x010350, 0x010375, UC_LO}, + {0x010376, 0x01037A, UC_MN}, + {0x010380, 0x01039D, UC_LO}, + {0x01039F, 0x01039F, UC_PO}, + {0x0103A0, 0x0103C3, UC_LO}, + {0x0103C8, 0x0103CF, UC_LO}, + {0x0103D0, 0x0103D0, UC_PO}, + {0x0103D1, 0x0103D5, UC_NL}, + {0x010400, 0x010427, UC_LU}, + {0x010428, 0x01044F, UC_LL}, + {0x010450, 0x01049D, UC_LO}, + {0x0104A0, 0x0104A9, UC_ND}, + {0x0104B0, 0x0104D3, UC_LU}, + {0x0104D8, 0x0104FB, UC_LL}, + {0x010500, 0x010527, UC_LO}, + {0x010530, 0x010563, UC_LO}, + {0x01056F, 0x01056F, UC_PO}, + {0x010570, 0x01057A, UC_LU}, + {0x01057C, 0x01058A, UC_LU}, + {0x01058C, 0x010592, UC_LU}, + {0x010594, 0x010595, UC_LU}, + {0x010597, 0x0105A1, UC_LL}, + {0x0105A3, 0x0105B1, UC_LL}, + {0x0105B3, 0x0105B9, UC_LL}, + {0x0105BB, 0x0105BC, UC_LL}, + {0x010600, 0x010736, UC_LO}, + {0x010740, 0x010755, UC_LO}, + {0x010760, 0x010767, UC_LO}, + {0x010780, 0x010785, UC_LM}, + {0x010787, 0x0107B0, UC_LM}, + {0x0107B2, 0x0107BA, UC_LM}, + {0x010800, 0x010805, UC_LO}, + {0x010808, 0x010808, UC_LO}, + {0x01080A, 0x010835, UC_LO}, + {0x010837, 0x010838, UC_LO}, + {0x01083C, 0x01083C, UC_LO}, + {0x01083F, 0x010855, UC_LO}, + {0x010857, 0x010857, UC_PO}, + {0x010858, 0x01085F, UC_NO}, + {0x010860, 0x010876, UC_LO}, + {0x010877, 0x010878, UC_SO}, + {0x010879, 0x01087F, UC_NO}, + {0x010880, 0x01089E, UC_LO}, + {0x0108A7, 0x0108AF, UC_NO}, + {0x0108E0, 0x0108F2, UC_LO}, + {0x0108F4, 0x0108F5, UC_LO}, + {0x0108FB, 0x0108FF, UC_NO}, + {0x010900, 0x010915, UC_LO}, + {0x010916, 0x01091B, UC_NO}, + {0x01091F, 0x01091F, UC_PO}, + {0x010920, 0x010939, UC_LO}, + {0x01093F, 0x01093F, UC_PO}, + {0x010980, 0x0109B7, UC_LO}, + {0x0109BC, 0x0109BD, UC_NO}, + {0x0109BE, 0x0109BF, UC_LO}, + {0x0109C0, 0x0109CF, UC_NO}, + {0x0109D2, 0x0109FF, UC_NO}, + {0x010A00, 0x010A00, UC_LO}, + {0x010A01, 0x010A03, UC_MN}, + {0x010A05, 0x010A06, UC_MN}, + {0x010A0C, 0x010A0F, UC_MN}, + {0x010A10, 0x010A13, UC_LO}, + {0x010A15, 0x010A17, UC_LO}, + {0x010A19, 0x010A35, UC_LO}, + {0x010A38, 0x010A3A, UC_MN}, + {0x010A3F, 0x010A3F, UC_MN}, + {0x010A40, 0x010A48, UC_NO}, + {0x010A50, 0x010A58, UC_PO}, + {0x010A60, 0x010A7C, UC_LO}, + {0x010A7D, 0x010A7E, UC_NO}, + {0x010A7F, 0x010A7F, UC_PO}, + {0x010A80, 0x010A9C, UC_LO}, + {0x010A9D, 0x010A9F, UC_NO}, + {0x010AC0, 0x010AC7, UC_LO}, + {0x010AC8, 0x010AC8, UC_SO}, + {0x010AC9, 0x010AE4, UC_LO}, + {0x010AE5, 0x010AE6, UC_MN}, + {0x010AEB, 0x010AEF, UC_NO}, + {0x010AF0, 0x010AF6, UC_PO}, + {0x010B00, 0x010B35, UC_LO}, + {0x010B39, 0x010B3F, UC_PO}, + {0x010B40, 0x010B55, UC_LO}, + {0x010B58, 0x010B5F, UC_NO}, + {0x010B60, 0x010B72, UC_LO}, + {0x010B78, 0x010B7F, UC_NO}, + {0x010B80, 0x010B91, UC_LO}, + {0x010B99, 0x010B9C, UC_PO}, + {0x010BA9, 0x010BAF, UC_NO}, + {0x010C00, 0x010C48, UC_LO}, + {0x010C80, 0x010CB2, UC_LU}, + {0x010CC0, 0x010CF2, UC_LL}, + {0x010CFA, 0x010CFF, UC_NO}, + {0x010D00, 0x010D23, UC_LO}, + {0x010D24, 0x010D27, UC_MN}, + {0x010D30, 0x010D39, UC_ND}, + {0x010E60, 0x010E7E, UC_NO}, + {0x010E80, 0x010EA9, UC_LO}, + {0x010EAB, 0x010EAC, UC_MN}, + {0x010EAD, 0x010EAD, UC_PD}, + {0x010EB0, 0x010EB1, UC_LO}, + {0x010EFD, 0x010EFF, UC_MN}, + {0x010F00, 0x010F1C, UC_LO}, + {0x010F1D, 0x010F26, UC_NO}, + {0x010F27, 0x010F27, UC_LO}, + {0x010F30, 0x010F45, UC_LO}, + {0x010F46, 0x010F50, UC_MN}, + {0x010F51, 0x010F54, UC_NO}, + {0x010F55, 0x010F59, UC_PO}, + {0x010F70, 0x010F81, UC_LO}, + {0x010F82, 0x010F85, UC_MN}, + {0x010F86, 0x010F89, UC_PO}, + {0x010FB0, 0x010FC4, UC_LO}, + {0x010FC5, 0x010FCB, UC_NO}, + {0x010FE0, 0x010FF6, UC_LO}, + {0x011000, 0x011000, UC_MC}, + {0x011001, 0x011001, UC_MN}, + {0x011002, 0x011002, UC_MC}, + {0x011003, 0x011037, UC_LO}, + {0x011038, 0x011046, UC_MN}, + {0x011047, 0x01104D, UC_PO}, + {0x011052, 0x011065, UC_NO}, + {0x011066, 0x01106F, UC_ND}, + {0x011070, 0x011070, UC_MN}, + {0x011071, 0x011072, UC_LO}, + {0x011073, 0x011074, UC_MN}, + {0x011075, 0x011075, UC_LO}, + {0x01107F, 0x011081, UC_MN}, + {0x011082, 0x011082, UC_MC}, + {0x011083, 0x0110AF, UC_LO}, + {0x0110B0, 0x0110B2, UC_MC}, + {0x0110B3, 0x0110B6, UC_MN}, + {0x0110B7, 0x0110B8, UC_MC}, + {0x0110B9, 0x0110BA, UC_MN}, + {0x0110BB, 0x0110BC, UC_PO}, + {0x0110BD, 0x0110BD, UC_CF}, + {0x0110BE, 0x0110C1, UC_PO}, + {0x0110C2, 0x0110C2, UC_MN}, + {0x0110CD, 0x0110CD, UC_CF}, + {0x0110D0, 0x0110E8, UC_LO}, + {0x0110F0, 0x0110F9, UC_ND}, + {0x011100, 0x011102, UC_MN}, + {0x011103, 0x011126, UC_LO}, + {0x011127, 0x01112B, UC_MN}, + {0x01112C, 0x01112C, UC_MC}, + {0x01112D, 0x011134, UC_MN}, + {0x011136, 0x01113F, UC_ND}, + {0x011140, 0x011143, UC_PO}, + {0x011144, 0x011144, UC_LO}, + {0x011145, 0x011146, UC_MC}, + {0x011147, 0x011147, UC_LO}, + {0x011150, 0x011172, UC_LO}, + {0x011173, 0x011173, UC_MN}, + {0x011174, 0x011175, UC_PO}, + {0x011176, 0x011176, UC_LO}, + {0x011180, 0x011181, UC_MN}, + {0x011182, 0x011182, UC_MC}, + {0x011183, 0x0111B2, UC_LO}, + {0x0111B3, 0x0111B5, UC_MC}, + {0x0111B6, 0x0111BE, UC_MN}, + {0x0111BF, 0x0111C0, UC_MC}, + {0x0111C1, 0x0111C4, UC_LO}, + {0x0111C5, 0x0111C8, UC_PO}, + {0x0111C9, 0x0111CC, UC_MN}, + {0x0111CD, 0x0111CD, UC_PO}, + {0x0111CE, 0x0111CE, UC_MC}, + {0x0111CF, 0x0111CF, UC_MN}, + {0x0111D0, 0x0111D9, UC_ND}, + {0x0111DA, 0x0111DA, UC_LO}, + {0x0111DB, 0x0111DB, UC_PO}, + {0x0111DC, 0x0111DC, UC_LO}, + {0x0111DD, 0x0111DF, UC_PO}, + {0x0111E1, 0x0111F4, UC_NO}, + {0x011200, 0x011211, UC_LO}, + {0x011213, 0x01122B, UC_LO}, + {0x01122C, 0x01122E, UC_MC}, + {0x01122F, 0x011231, UC_MN}, + {0x011232, 0x011233, UC_MC}, + {0x011234, 0x011234, UC_MN}, + {0x011235, 0x011235, UC_MC}, + {0x011236, 0x011237, UC_MN}, + {0x011238, 0x01123D, UC_PO}, + {0x01123E, 0x01123E, UC_MN}, + {0x01123F, 0x011240, UC_LO}, + {0x011241, 0x011241, UC_MN}, + {0x011280, 0x011286, UC_LO}, + {0x011288, 0x011288, UC_LO}, + {0x01128A, 0x01128D, UC_LO}, + {0x01128F, 0x01129D, UC_LO}, + {0x01129F, 0x0112A8, UC_LO}, + {0x0112A9, 0x0112A9, UC_PO}, + {0x0112B0, 0x0112DE, UC_LO}, + {0x0112DF, 0x0112DF, UC_MN}, + {0x0112E0, 0x0112E2, UC_MC}, + {0x0112E3, 0x0112EA, UC_MN}, + {0x0112F0, 0x0112F9, UC_ND}, + {0x011300, 0x011301, UC_MN}, + {0x011302, 0x011303, UC_MC}, + {0x011305, 0x01130C, UC_LO}, + {0x01130F, 0x011310, UC_LO}, + {0x011313, 0x011328, UC_LO}, + {0x01132A, 0x011330, UC_LO}, + {0x011332, 0x011333, UC_LO}, + {0x011335, 0x011339, UC_LO}, + {0x01133B, 0x01133C, UC_MN}, + {0x01133D, 0x01133D, UC_LO}, + {0x01133E, 0x01133F, UC_MC}, + {0x011340, 0x011340, UC_MN}, + {0x011341, 0x011344, UC_MC}, + {0x011347, 0x011348, UC_MC}, + {0x01134B, 0x01134D, UC_MC}, + {0x011350, 0x011350, UC_LO}, + {0x011357, 0x011357, UC_MC}, + {0x01135D, 0x011361, UC_LO}, + {0x011362, 0x011363, UC_MC}, + {0x011366, 0x01136C, UC_MN}, + {0x011370, 0x011374, UC_MN}, + {0x011400, 0x011434, UC_LO}, + {0x011435, 0x011437, UC_MC}, + {0x011438, 0x01143F, UC_MN}, + {0x011440, 0x011441, UC_MC}, + {0x011442, 0x011444, UC_MN}, + {0x011445, 0x011445, UC_MC}, + {0x011446, 0x011446, UC_MN}, + {0x011447, 0x01144A, UC_LO}, + {0x01144B, 0x01144F, UC_PO}, + {0x011450, 0x011459, UC_ND}, + {0x01145A, 0x01145B, UC_PO}, + {0x01145D, 0x01145D, UC_PO}, + {0x01145E, 0x01145E, UC_MN}, + {0x01145F, 0x011461, UC_LO}, + {0x011480, 0x0114AF, UC_LO}, + {0x0114B0, 0x0114B2, UC_MC}, + {0x0114B3, 0x0114B8, UC_MN}, + {0x0114B9, 0x0114B9, UC_MC}, + {0x0114BA, 0x0114BA, UC_MN}, + {0x0114BB, 0x0114BE, UC_MC}, + {0x0114BF, 0x0114C0, UC_MN}, + {0x0114C1, 0x0114C1, UC_MC}, + {0x0114C2, 0x0114C3, UC_MN}, + {0x0114C4, 0x0114C5, UC_LO}, + {0x0114C6, 0x0114C6, UC_PO}, + {0x0114C7, 0x0114C7, UC_LO}, + {0x0114D0, 0x0114D9, UC_ND}, + {0x011580, 0x0115AE, UC_LO}, + {0x0115AF, 0x0115B1, UC_MC}, + {0x0115B2, 0x0115B5, UC_MN}, + {0x0115B8, 0x0115BB, UC_MC}, + {0x0115BC, 0x0115BD, UC_MN}, + {0x0115BE, 0x0115BE, UC_MC}, + {0x0115BF, 0x0115C0, UC_MN}, + {0x0115C1, 0x0115D7, UC_PO}, + {0x0115D8, 0x0115DB, UC_LO}, + {0x0115DC, 0x0115DD, UC_MN}, + {0x011600, 0x01162F, UC_LO}, + {0x011630, 0x011632, UC_MC}, + {0x011633, 0x01163A, UC_MN}, + {0x01163B, 0x01163C, UC_MC}, + {0x01163D, 0x01163D, UC_MN}, + {0x01163E, 0x01163E, UC_MC}, + {0x01163F, 0x011640, UC_MN}, + {0x011641, 0x011643, UC_PO}, + {0x011644, 0x011644, UC_LO}, + {0x011650, 0x011659, UC_ND}, + {0x011660, 0x01166C, UC_PO}, + {0x011680, 0x0116AA, UC_LO}, + {0x0116AB, 0x0116AB, UC_MN}, + {0x0116AC, 0x0116AC, UC_MC}, + {0x0116AD, 0x0116AD, UC_MN}, + {0x0116AE, 0x0116AF, UC_MC}, + {0x0116B0, 0x0116B5, UC_MN}, + {0x0116B6, 0x0116B6, UC_MC}, + {0x0116B7, 0x0116B7, UC_MN}, + {0x0116B8, 0x0116B8, UC_LO}, + {0x0116B9, 0x0116B9, UC_PO}, + {0x0116C0, 0x0116C9, UC_ND}, + {0x011700, 0x01171A, UC_LO}, + {0x01171D, 0x01171F, UC_MN}, + {0x011720, 0x011721, UC_MC}, + {0x011722, 0x011725, UC_MN}, + {0x011726, 0x011726, UC_MC}, + {0x011727, 0x01172B, UC_MN}, + {0x011730, 0x011739, UC_ND}, + {0x01173A, 0x01173B, UC_NO}, + {0x01173C, 0x01173E, UC_PO}, + {0x01173F, 0x01173F, UC_SO}, + {0x011740, 0x011746, UC_LO}, + {0x011800, 0x01182B, UC_LO}, + {0x01182C, 0x01182E, UC_MC}, + {0x01182F, 0x011837, UC_MN}, + {0x011838, 0x011838, UC_MC}, + {0x011839, 0x01183A, UC_MN}, + {0x01183B, 0x01183B, UC_PO}, + {0x0118A0, 0x0118BF, UC_LU}, + {0x0118C0, 0x0118DF, UC_LL}, + {0x0118E0, 0x0118E9, UC_ND}, + {0x0118EA, 0x0118F2, UC_NO}, + {0x0118FF, 0x011906, UC_LO}, + {0x011909, 0x011909, UC_LO}, + {0x01190C, 0x011913, UC_LO}, + {0x011915, 0x011916, UC_LO}, + {0x011918, 0x01192F, UC_LO}, + {0x011930, 0x011935, UC_MC}, + {0x011937, 0x011938, UC_MC}, + {0x01193B, 0x01193C, UC_MN}, + {0x01193D, 0x01193D, UC_MC}, + {0x01193E, 0x01193E, UC_MN}, + {0x01193F, 0x01193F, UC_LO}, + {0x011940, 0x011940, UC_MC}, + {0x011941, 0x011941, UC_LO}, + {0x011942, 0x011942, UC_MC}, + {0x011943, 0x011943, UC_MN}, + {0x011944, 0x011946, UC_PO}, + {0x011950, 0x011959, UC_ND}, + {0x0119A0, 0x0119A7, UC_LO}, + {0x0119AA, 0x0119D0, UC_LO}, + {0x0119D1, 0x0119D3, UC_MC}, + {0x0119D4, 0x0119D7, UC_MN}, + {0x0119DA, 0x0119DB, UC_MN}, + {0x0119DC, 0x0119DF, UC_MC}, + {0x0119E0, 0x0119E0, UC_MN}, + {0x0119E1, 0x0119E1, UC_LO}, + {0x0119E2, 0x0119E2, UC_PO}, + {0x0119E3, 0x0119E3, UC_LO}, + {0x0119E4, 0x0119E4, UC_MC}, + {0x011A00, 0x011A00, UC_LO}, + {0x011A01, 0x011A0A, UC_MN}, + {0x011A0B, 0x011A32, UC_LO}, + {0x011A33, 0x011A38, UC_MN}, + {0x011A39, 0x011A39, UC_MC}, + {0x011A3A, 0x011A3A, UC_LO}, + {0x011A3B, 0x011A3E, UC_MN}, + {0x011A3F, 0x011A46, UC_PO}, + {0x011A47, 0x011A47, UC_MN}, + {0x011A50, 0x011A50, UC_LO}, + {0x011A51, 0x011A56, UC_MN}, + {0x011A57, 0x011A58, UC_MC}, + {0x011A59, 0x011A5B, UC_MN}, + {0x011A5C, 0x011A89, UC_LO}, + {0x011A8A, 0x011A96, UC_MN}, + {0x011A97, 0x011A97, UC_MC}, + {0x011A98, 0x011A99, UC_MN}, + {0x011A9A, 0x011A9C, UC_PO}, + {0x011A9D, 0x011A9D, UC_LO}, + {0x011A9E, 0x011AA2, UC_PO}, + {0x011AB0, 0x011AF8, UC_LO}, + {0x011B00, 0x011B09, UC_PO}, + {0x011C00, 0x011C08, UC_LO}, + {0x011C0A, 0x011C2E, UC_LO}, + {0x011C2F, 0x011C2F, UC_MC}, + {0x011C30, 0x011C36, UC_MN}, + {0x011C38, 0x011C3D, UC_MN}, + {0x011C3E, 0x011C3E, UC_MC}, + {0x011C3F, 0x011C3F, UC_MN}, + {0x011C40, 0x011C40, UC_LO}, + {0x011C41, 0x011C45, UC_PO}, + {0x011C50, 0x011C59, UC_ND}, + {0x011C5A, 0x011C6C, UC_NO}, + {0x011C70, 0x011C71, UC_PO}, + {0x011C72, 0x011C8F, UC_LO}, + {0x011C92, 0x011CA7, UC_MN}, + {0x011CA9, 0x011CA9, UC_MC}, + {0x011CAA, 0x011CB0, UC_MN}, + {0x011CB1, 0x011CB1, UC_MC}, + {0x011CB2, 0x011CB3, UC_MN}, + {0x011CB4, 0x011CB4, UC_MC}, + {0x011CB5, 0x011CB6, UC_MN}, + {0x011D00, 0x011D06, UC_LO}, + {0x011D08, 0x011D09, UC_LO}, + {0x011D0B, 0x011D30, UC_LO}, + {0x011D31, 0x011D36, UC_MN}, + {0x011D3A, 0x011D3A, UC_MN}, + {0x011D3C, 0x011D3D, UC_MN}, + {0x011D3F, 0x011D45, UC_MN}, + {0x011D46, 0x011D46, UC_LO}, + {0x011D47, 0x011D47, UC_MN}, + {0x011D50, 0x011D59, UC_ND}, + {0x011D60, 0x011D65, UC_LO}, + {0x011D67, 0x011D68, UC_LO}, + {0x011D6A, 0x011D89, UC_LO}, + {0x011D8A, 0x011D8E, UC_MC}, + {0x011D90, 0x011D91, UC_MN}, + {0x011D93, 0x011D94, UC_MC}, + {0x011D95, 0x011D95, UC_MN}, + {0x011D96, 0x011D96, UC_MC}, + {0x011D97, 0x011D97, UC_MN}, + {0x011D98, 0x011D98, UC_LO}, + {0x011DA0, 0x011DA9, UC_ND}, + {0x011EE0, 0x011EF2, UC_LO}, + {0x011EF3, 0x011EF4, UC_MN}, + {0x011EF5, 0x011EF6, UC_MC}, + {0x011EF7, 0x011EF8, UC_PO}, + {0x011F00, 0x011F01, UC_MN}, + {0x011F02, 0x011F02, UC_LO}, + {0x011F03, 0x011F03, UC_MC}, + {0x011F04, 0x011F10, UC_LO}, + {0x011F12, 0x011F33, UC_LO}, + {0x011F34, 0x011F35, UC_MC}, + {0x011F36, 0x011F3A, UC_MN}, + {0x011F3E, 0x011F3F, UC_MC}, + {0x011F40, 0x011F40, UC_MN}, + {0x011F41, 0x011F41, UC_MC}, + {0x011F42, 0x011F42, UC_MN}, + {0x011F43, 0x011F4F, UC_PO}, + {0x011F50, 0x011F59, UC_ND}, + {0x011FB0, 0x011FB0, UC_LO}, + {0x011FC0, 0x011FD4, UC_NO}, + {0x011FD5, 0x011FDC, UC_SO}, + {0x011FDD, 0x011FE0, UC_SC}, + {0x011FE1, 0x011FF1, UC_SO}, + {0x011FFF, 0x011FFF, UC_PO}, + {0x012000, 0x012399, UC_LO}, + {0x012400, 0x01246E, UC_NL}, + {0x012470, 0x012474, UC_PO}, + {0x012480, 0x012543, UC_LO}, + {0x012F90, 0x012FF0, UC_LO}, + {0x012FF1, 0x012FF2, UC_PO}, + {0x013000, 0x01342F, UC_LO}, + {0x013430, 0x01343F, UC_CF}, + {0x013440, 0x013440, UC_MN}, + {0x013441, 0x013446, UC_LO}, + {0x013447, 0x013455, UC_MN}, + {0x014400, 0x014646, UC_LO}, + {0x016800, 0x016A38, UC_LO}, + {0x016A40, 0x016A5E, UC_LO}, + {0x016A60, 0x016A69, UC_ND}, + {0x016A6E, 0x016A6F, UC_PO}, + {0x016A70, 0x016ABE, UC_LO}, + {0x016AC0, 0x016AC9, UC_ND}, + {0x016AD0, 0x016AED, UC_LO}, + {0x016AF0, 0x016AF4, UC_MN}, + {0x016AF5, 0x016AF5, UC_PO}, + {0x016B00, 0x016B2F, UC_LO}, + {0x016B30, 0x016B36, UC_MN}, + {0x016B37, 0x016B3B, UC_PO}, + {0x016B3C, 0x016B3F, UC_SO}, + {0x016B40, 0x016B43, UC_LM}, + {0x016B44, 0x016B44, UC_PO}, + {0x016B45, 0x016B45, UC_SO}, + {0x016B50, 0x016B59, UC_ND}, + {0x016B5B, 0x016B61, UC_NO}, + {0x016B63, 0x016B77, UC_LO}, + {0x016B7D, 0x016B8F, UC_LO}, + {0x016E40, 0x016E5F, UC_LU}, + {0x016E60, 0x016E7F, UC_LL}, + {0x016E80, 0x016E96, UC_NO}, + {0x016E97, 0x016E9A, UC_PO}, + {0x016F00, 0x016F4A, UC_LO}, + {0x016F4F, 0x016F4F, UC_MN}, + {0x016F50, 0x016F50, UC_LO}, + {0x016F51, 0x016F87, UC_MC}, + {0x016F8F, 0x016F92, UC_MN}, + {0x016F93, 0x016F9F, UC_LM}, + {0x016FE0, 0x016FE1, UC_LM}, + {0x016FE2, 0x016FE2, UC_PO}, + {0x016FE3, 0x016FE3, UC_LM}, + {0x016FE4, 0x016FE4, UC_MN}, + {0x016FF0, 0x016FF1, UC_MC}, + {0x017000, 0x0187F7, UC_LO}, + {0x018800, 0x018CD5, UC_LO}, + {0x018D00, 0x018D08, UC_LO}, + {0x01AFF0, 0x01AFF3, UC_LM}, + {0x01AFF5, 0x01AFFB, UC_LM}, + {0x01AFFD, 0x01AFFE, UC_LM}, + {0x01B000, 0x01B122, UC_LO}, + {0x01B132, 0x01B132, UC_LO}, + {0x01B150, 0x01B152, UC_LO}, + {0x01B155, 0x01B155, UC_LO}, + {0x01B164, 0x01B167, UC_LO}, + {0x01B170, 0x01B2FB, UC_LO}, + {0x01BC00, 0x01BC6A, UC_LO}, + {0x01BC70, 0x01BC7C, UC_LO}, + {0x01BC80, 0x01BC88, UC_LO}, + {0x01BC90, 0x01BC99, UC_LO}, + {0x01BC9C, 0x01BC9C, UC_SO}, + {0x01BC9D, 0x01BC9E, UC_MN}, + {0x01BC9F, 0x01BC9F, UC_PO}, + {0x01BCA0, 0x01BCA3, UC_CF}, + {0x01CF00, 0x01CF2D, UC_MN}, + {0x01CF30, 0x01CF46, UC_MN}, + {0x01CF50, 0x01CFC3, UC_SO}, + {0x01D000, 0x01D0F5, UC_SO}, + {0x01D100, 0x01D126, UC_SO}, + {0x01D129, 0x01D164, UC_SO}, + {0x01D165, 0x01D166, UC_MC}, + {0x01D167, 0x01D169, UC_MN}, + {0x01D16A, 0x01D16C, UC_SO}, + {0x01D16D, 0x01D172, UC_MC}, + {0x01D173, 0x01D17A, UC_CF}, + {0x01D17B, 0x01D182, UC_MN}, + {0x01D183, 0x01D184, UC_SO}, + {0x01D185, 0x01D18B, UC_MN}, + {0x01D18C, 0x01D1A9, UC_SO}, + {0x01D1AA, 0x01D1AD, UC_MN}, + {0x01D1AE, 0x01D1EA, UC_SO}, + {0x01D200, 0x01D241, UC_SO}, + {0x01D242, 0x01D244, UC_MN}, + {0x01D245, 0x01D245, UC_SO}, + {0x01D2C0, 0x01D2D3, UC_NO}, + {0x01D2E0, 0x01D2F3, UC_NO}, + {0x01D300, 0x01D356, UC_SO}, + {0x01D360, 0x01D378, UC_NO}, + {0x01D400, 0x01D419, UC_LU}, + {0x01D41A, 0x01D433, UC_LL}, + {0x01D434, 0x01D44D, UC_LU}, + {0x01D44E, 0x01D454, UC_LL}, + {0x01D456, 0x01D467, UC_LL}, + {0x01D468, 0x01D481, UC_LU}, + {0x01D482, 0x01D49B, UC_LL}, + {0x01D49C, 0x01D49C, UC_LU}, + {0x01D49E, 0x01D49F, UC_LU}, + {0x01D4A2, 0x01D4A2, UC_LU}, + {0x01D4A5, 0x01D4A6, UC_LU}, + {0x01D4A9, 0x01D4AC, UC_LU}, + {0x01D4AE, 0x01D4B5, UC_LU}, + {0x01D4B6, 0x01D4B9, UC_LL}, + {0x01D4BB, 0x01D4BB, UC_LL}, + {0x01D4BD, 0x01D4C3, UC_LL}, + {0x01D4C5, 0x01D4CF, UC_LL}, + {0x01D4D0, 0x01D4E9, UC_LU}, + {0x01D4EA, 0x01D503, UC_LL}, + {0x01D504, 0x01D505, UC_LU}, + {0x01D507, 0x01D50A, UC_LU}, + {0x01D50D, 0x01D514, UC_LU}, + {0x01D516, 0x01D51C, UC_LU}, + {0x01D51E, 0x01D537, UC_LL}, + {0x01D538, 0x01D539, UC_LU}, + {0x01D53B, 0x01D53E, UC_LU}, + {0x01D540, 0x01D544, UC_LU}, + {0x01D546, 0x01D546, UC_LU}, + {0x01D54A, 0x01D550, UC_LU}, + {0x01D552, 0x01D56B, UC_LL}, + {0x01D56C, 0x01D585, UC_LU}, + {0x01D586, 0x01D59F, UC_LL}, + {0x01D5A0, 0x01D5B9, UC_LU}, + {0x01D5BA, 0x01D5D3, UC_LL}, + {0x01D5D4, 0x01D5ED, UC_LU}, + {0x01D5EE, 0x01D607, UC_LL}, + {0x01D608, 0x01D621, UC_LU}, + {0x01D622, 0x01D63B, UC_LL}, + {0x01D63C, 0x01D655, UC_LU}, + {0x01D656, 0x01D66F, UC_LL}, + {0x01D670, 0x01D689, UC_LU}, + {0x01D68A, 0x01D6A5, UC_LL}, + {0x01D6A8, 0x01D6C0, UC_LU}, + {0x01D6C1, 0x01D6C1, UC_SM}, + {0x01D6C2, 0x01D6DA, UC_LL}, + {0x01D6DB, 0x01D6DB, UC_SM}, + {0x01D6DC, 0x01D6E1, UC_LL}, + {0x01D6E2, 0x01D6FA, UC_LU}, + {0x01D6FB, 0x01D6FB, UC_SM}, + {0x01D6FC, 0x01D714, UC_LL}, + {0x01D715, 0x01D715, UC_SM}, + {0x01D716, 0x01D71B, UC_LL}, + {0x01D71C, 0x01D734, UC_LU}, + {0x01D735, 0x01D735, UC_SM}, + {0x01D736, 0x01D74E, UC_LL}, + {0x01D74F, 0x01D74F, UC_SM}, + {0x01D750, 0x01D755, UC_LL}, + {0x01D756, 0x01D76E, UC_LU}, + {0x01D76F, 0x01D76F, UC_SM}, + {0x01D770, 0x01D788, UC_LL}, + {0x01D789, 0x01D789, UC_SM}, + {0x01D78A, 0x01D78F, UC_LL}, + {0x01D790, 0x01D7A8, UC_LU}, + {0x01D7A9, 0x01D7A9, UC_SM}, + {0x01D7AA, 0x01D7C2, UC_LL}, + {0x01D7C3, 0x01D7C3, UC_SM}, + {0x01D7C4, 0x01D7C9, UC_LL}, + {0x01D7CA, 0x01D7CA, UC_LU}, + {0x01D7CB, 0x01D7CB, UC_LL}, + {0x01D7CE, 0x01D7FF, UC_ND}, + {0x01D800, 0x01D9FF, UC_SO}, + {0x01DA00, 0x01DA36, UC_MN}, + {0x01DA37, 0x01DA3A, UC_SO}, + {0x01DA3B, 0x01DA6C, UC_MN}, + {0x01DA6D, 0x01DA74, UC_SO}, + {0x01DA75, 0x01DA75, UC_MN}, + {0x01DA76, 0x01DA83, UC_SO}, + {0x01DA84, 0x01DA84, UC_MN}, + {0x01DA85, 0x01DA86, UC_SO}, + {0x01DA87, 0x01DA8B, UC_PO}, + {0x01DA9B, 0x01DA9F, UC_MN}, + {0x01DAA1, 0x01DAAF, UC_MN}, + {0x01DF00, 0x01DF09, UC_LL}, + {0x01DF0A, 0x01DF0A, UC_LO}, + {0x01DF0B, 0x01DF1E, UC_LL}, + {0x01DF25, 0x01DF2A, UC_LL}, + {0x01E000, 0x01E006, UC_MN}, + {0x01E008, 0x01E018, UC_MN}, + {0x01E01B, 0x01E021, UC_MN}, + {0x01E023, 0x01E024, UC_MN}, + {0x01E026, 0x01E02A, UC_MN}, + {0x01E030, 0x01E06D, UC_LM}, + {0x01E08F, 0x01E08F, UC_MN}, + {0x01E100, 0x01E12C, UC_LO}, + {0x01E130, 0x01E136, UC_MN}, + {0x01E137, 0x01E13D, UC_LM}, + {0x01E140, 0x01E149, UC_ND}, + {0x01E14E, 0x01E14E, UC_LO}, + {0x01E14F, 0x01E14F, UC_SO}, + {0x01E290, 0x01E2AD, UC_LO}, + {0x01E2AE, 0x01E2AE, UC_MN}, + {0x01E2C0, 0x01E2EB, UC_LO}, + {0x01E2EC, 0x01E2EF, UC_MN}, + {0x01E2F0, 0x01E2F9, UC_ND}, + {0x01E2FF, 0x01E2FF, UC_SC}, + {0x01E4D0, 0x01E4EA, UC_LO}, + {0x01E4EB, 0x01E4EB, UC_LM}, + {0x01E4EC, 0x01E4EF, UC_MN}, + {0x01E4F0, 0x01E4F9, UC_ND}, + {0x01E7E0, 0x01E7E6, UC_LO}, + {0x01E7E8, 0x01E7EB, UC_LO}, + {0x01E7ED, 0x01E7EE, UC_LO}, + {0x01E7F0, 0x01E7FE, UC_LO}, + {0x01E800, 0x01E8C4, UC_LO}, + {0x01E8C7, 0x01E8CF, UC_NO}, + {0x01E8D0, 0x01E8D6, UC_MN}, + {0x01E900, 0x01E921, UC_LU}, + {0x01E922, 0x01E943, UC_LL}, + {0x01E944, 0x01E94A, UC_MN}, + {0x01E94B, 0x01E94B, UC_LM}, + {0x01E950, 0x01E959, UC_ND}, + {0x01E95E, 0x01E95F, UC_PO}, + {0x01EC71, 0x01ECAB, UC_NO}, + {0x01ECAC, 0x01ECAC, UC_SO}, + {0x01ECAD, 0x01ECAF, UC_NO}, + {0x01ECB0, 0x01ECB0, UC_SC}, + {0x01ECB1, 0x01ECB4, UC_NO}, + {0x01ED01, 0x01ED2D, UC_NO}, + {0x01ED2E, 0x01ED2E, UC_SO}, + {0x01ED2F, 0x01ED3D, UC_NO}, + {0x01EE00, 0x01EE03, UC_LO}, + {0x01EE05, 0x01EE1F, UC_LO}, + {0x01EE21, 0x01EE22, UC_LO}, + {0x01EE24, 0x01EE24, UC_LO}, + {0x01EE27, 0x01EE27, UC_LO}, + {0x01EE29, 0x01EE32, UC_LO}, + {0x01EE34, 0x01EE37, UC_LO}, + {0x01EE39, 0x01EE39, UC_LO}, + {0x01EE3B, 0x01EE3B, UC_LO}, + {0x01EE42, 0x01EE42, UC_LO}, + {0x01EE47, 0x01EE47, UC_LO}, + {0x01EE49, 0x01EE49, UC_LO}, + {0x01EE4B, 0x01EE4B, UC_LO}, + {0x01EE4D, 0x01EE4F, UC_LO}, + {0x01EE51, 0x01EE52, UC_LO}, + {0x01EE54, 0x01EE54, UC_LO}, + {0x01EE57, 0x01EE57, UC_LO}, + {0x01EE59, 0x01EE59, UC_LO}, + {0x01EE5B, 0x01EE5B, UC_LO}, + {0x01EE5D, 0x01EE5D, UC_LO}, + {0x01EE5F, 0x01EE5F, UC_LO}, + {0x01EE61, 0x01EE62, UC_LO}, + {0x01EE64, 0x01EE64, UC_LO}, + {0x01EE67, 0x01EE6A, UC_LO}, + {0x01EE6C, 0x01EE72, UC_LO}, + {0x01EE74, 0x01EE77, UC_LO}, + {0x01EE79, 0x01EE7C, UC_LO}, + {0x01EE7E, 0x01EE7E, UC_LO}, + {0x01EE80, 0x01EE89, UC_LO}, + {0x01EE8B, 0x01EE9B, UC_LO}, + {0x01EEA1, 0x01EEA3, UC_LO}, + {0x01EEA5, 0x01EEA9, UC_LO}, + {0x01EEAB, 0x01EEBB, UC_LO}, + {0x01EEF0, 0x01EEF1, UC_SM}, + {0x01F000, 0x01F02B, UC_SO}, + {0x01F030, 0x01F093, UC_SO}, + {0x01F0A0, 0x01F0AE, UC_SO}, + {0x01F0B1, 0x01F0BF, UC_SO}, + {0x01F0C1, 0x01F0CF, UC_SO}, + {0x01F0D1, 0x01F0F5, UC_SO}, + {0x01F100, 0x01F10C, UC_NO}, + {0x01F10D, 0x01F1AD, UC_SO}, + {0x01F1E6, 0x01F202, UC_SO}, + {0x01F210, 0x01F23B, UC_SO}, + {0x01F240, 0x01F248, UC_SO}, + {0x01F250, 0x01F251, UC_SO}, + {0x01F260, 0x01F265, UC_SO}, + {0x01F300, 0x01F3FA, UC_SO}, + {0x01F3FB, 0x01F3FF, UC_SK}, + {0x01F400, 0x01F6D7, UC_SO}, + {0x01F6DC, 0x01F6EC, UC_SO}, + {0x01F6F0, 0x01F6FC, UC_SO}, + {0x01F700, 0x01F776, UC_SO}, + {0x01F77B, 0x01F7D9, UC_SO}, + {0x01F7E0, 0x01F7EB, UC_SO}, + {0x01F7F0, 0x01F7F0, UC_SO}, + {0x01F800, 0x01F80B, UC_SO}, + {0x01F810, 0x01F847, UC_SO}, + {0x01F850, 0x01F859, UC_SO}, + {0x01F860, 0x01F887, UC_SO}, + {0x01F890, 0x01F8AD, UC_SO}, + {0x01F8B0, 0x01F8B1, UC_SO}, + {0x01F900, 0x01FA53, UC_SO}, + {0x01FA60, 0x01FA6D, UC_SO}, + {0x01FA70, 0x01FA7C, UC_SO}, + {0x01FA80, 0x01FA88, UC_SO}, + {0x01FA90, 0x01FABD, UC_SO}, + {0x01FABF, 0x01FAC5, UC_SO}, + {0x01FACE, 0x01FADB, UC_SO}, + {0x01FAE0, 0x01FAE8, UC_SO}, + {0x01FAF0, 0x01FAF8, UC_SO}, + {0x01FB00, 0x01FB92, UC_SO}, + {0x01FB94, 0x01FBCA, UC_SO}, + {0x01FBF0, 0x01FBF9, UC_ND}, + {0x020000, 0x02A6DF, UC_LO}, + {0x02A700, 0x02B739, UC_LO}, + {0x02B740, 0x02B81D, UC_LO}, + {0x02B820, 0x02CEA1, UC_LO}, + {0x02CEB0, 0x02EBE0, UC_LO}, + {0x02EBF0, 0x02EE5D, UC_LO}, + {0x02F800, 0x02FA1D, UC_LO}, + {0x030000, 0x03134A, UC_LO}, + {0x031350, 0x0323AF, UC_LO}, + {0x0E0001, 0x0E0001, UC_CF}, + {0x0E0020, 0x0E007F, UC_CF}, + {0x0E0100, 0x0E01EF, UC_MN}, + {0x0F0000, 0x0FFFFD, UC_CO}, + {0x100000, 0x10FFFD, UC_CO}, +}; + +#endif /* !RUNE_INTERNAL_RTYPE_CAT_H */ diff --git a/vendor/librune/include/internal/rtype/lookup-func.h b/vendor/librune/include/internal/rtype/lookup-func.h new file mode 100644 index 0000000..91bda8b --- /dev/null +++ b/vendor/librune/include/internal/rtype/lookup-func.h @@ -0,0 +1,47 @@ +#include + +#include "internal/common.h" + +#ifndef TYPE +# error "TYPE if not defined" +#endif +#ifndef DEFAULT +# error "DEFAULT is not defined" +#endif +#ifndef TABLE +# error "TABLE is not defined" +#endif +#ifndef HAS_VALUE +# error "HAS_VALUE is not defined" +#endif + +[[gnu::always_inline]] static TYPE +lookup(rune ch) +{ + ptrdiff_t lo, hi; + +#ifdef LATIN1_TABLE + if (ch <= LATIN1_MAX) + return LATIN1_TABLE[ch]; +#endif + + lo = 0; + hi = lengthof(TABLE) - 1; + + while (lo <= hi) { + ptrdiff_t i = (lo + hi) / 2; + + if (ch < TABLE[i].lo) + hi = i - 1; + else if (ch > TABLE[i].hi) + lo = i + 1; + else +#if HAS_VALUE + return TABLE[i].val; +#else + return true; +#endif + } + + return DEFAULT; +} diff --git a/vendor/librune/include/internal/rtype_lookup.h b/vendor/librune/include/internal/rtype_lookup.h deleted file mode 100644 index b4b41fd..0000000 --- a/vendor/librune/include/internal/rtype_lookup.h +++ /dev/null @@ -1,3357 +0,0 @@ -/* This file is autogenerated by gen/gbrk; DO NOT EDIT. */ - -/* TODO: Change tables to constexpr from const when Clangd gets better */ - -#ifndef RUNE_INTERNAL_RTYPE_LOOKUP_H -#define RUNE_INTERNAL_RTYPE_LOOKUP_H - -/* IWYU pragma: private */ -/* clang-format off */ - -#include "types.h" -#include "../rtype.h" - -static const unicat rtype_lat1_tbl[] = { - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_ZS, UC_PO, UC_PO, UC_PO, UC_SC, UC_PO, UC_PO, UC_PO, - UC_PS, UC_PE, UC_PO, UC_SM, UC_PO, UC_PD, UC_PO, UC_PO, - UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, UC_ND, - UC_ND, UC_ND, UC_PO, UC_PO, UC_SM, UC_SM, UC_SM, UC_PO, - UC_PO, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, - UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, - UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, - UC_LU, UC_LU, UC_LU, UC_PS, UC_PO, UC_PE, UC_SK, UC_PC, - UC_SK, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, - UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, - UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, - UC_LL, UC_LL, UC_LL, UC_PS, UC_SM, UC_PE, UC_SM, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, UC_CC, - UC_ZS, UC_PO, UC_SC, UC_SC, UC_SC, UC_SC, UC_SO, UC_PO, - UC_SK, UC_SO, UC_LO, UC_PI, UC_SM, UC_CF, UC_SO, UC_SK, - UC_SO, UC_SM, UC_NO, UC_NO, UC_SK, UC_LL, UC_PO, UC_PO, - UC_SK, UC_NO, UC_LO, UC_PF, UC_NO, UC_NO, UC_NO, UC_PO, - UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, - UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, - UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_SM, - UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LU, UC_LL, - UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, - UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, - UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_SM, - UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, UC_LL, -}; - -static const struct { - rune lo, hi; - unicat cat; -} rtype_cat_tbl[] = { - {0x000000, 0x00001F, UC_CC}, - {0x000020, 0x000020, UC_ZS}, - {0x000021, 0x000023, UC_PO}, - {0x000024, 0x000024, UC_SC}, - {0x000025, 0x000027, UC_PO}, - {0x000028, 0x000028, UC_PS}, - {0x000029, 0x000029, UC_PE}, - {0x00002A, 0x00002A, UC_PO}, - {0x00002B, 0x00002B, UC_SM}, - {0x00002C, 0x00002C, UC_PO}, - {0x00002D, 0x00002D, UC_PD}, - {0x00002E, 0x00002F, UC_PO}, - {0x000030, 0x000039, UC_ND}, - {0x00003A, 0x00003B, UC_PO}, - {0x00003C, 0x00003E, UC_SM}, - {0x00003F, 0x000040, UC_PO}, - {0x000041, 0x00005A, UC_LU}, - {0x00005B, 0x00005B, UC_PS}, - {0x00005C, 0x00005C, UC_PO}, - {0x00005D, 0x00005D, UC_PE}, - {0x00005E, 0x00005E, UC_SK}, - {0x00005F, 0x00005F, UC_PC}, - {0x000060, 0x000060, UC_SK}, - {0x000061, 0x00007A, UC_LL}, - {0x00007B, 0x00007B, UC_PS}, - {0x00007C, 0x00007C, UC_SM}, - {0x00007D, 0x00007D, UC_PE}, - {0x00007E, 0x00007E, UC_SM}, - {0x00007F, 0x00009F, UC_CC}, - {0x0000A0, 0x0000A0, UC_ZS}, - {0x0000A1, 0x0000A1, UC_PO}, - {0x0000A2, 0x0000A5, UC_SC}, - {0x0000A6, 0x0000A6, UC_SO}, - {0x0000A7, 0x0000A7, UC_PO}, - {0x0000A8, 0x0000A8, UC_SK}, - {0x0000A9, 0x0000A9, UC_SO}, - {0x0000AA, 0x0000AA, UC_LO}, - {0x0000AB, 0x0000AB, UC_PI}, - {0x0000AC, 0x0000AC, UC_SM}, - {0x0000AD, 0x0000AD, UC_CF}, - {0x0000AE, 0x0000AE, UC_SO}, - {0x0000AF, 0x0000AF, UC_SK}, - {0x0000B0, 0x0000B0, UC_SO}, - {0x0000B1, 0x0000B1, UC_SM}, - {0x0000B2, 0x0000B3, UC_NO}, - {0x0000B4, 0x0000B4, UC_SK}, - {0x0000B5, 0x0000B5, UC_LL}, - {0x0000B6, 0x0000B7, UC_PO}, - {0x0000B8, 0x0000B8, UC_SK}, - {0x0000B9, 0x0000B9, UC_NO}, - {0x0000BA, 0x0000BA, UC_LO}, - {0x0000BB, 0x0000BB, UC_PF}, - {0x0000BC, 0x0000BE, UC_NO}, - {0x0000BF, 0x0000BF, UC_PO}, - {0x0000C0, 0x0000D6, UC_LU}, - {0x0000D7, 0x0000D7, UC_SM}, - {0x0000D8, 0x0000DE, UC_LU}, - {0x0000DF, 0x0000F6, UC_LL}, - {0x0000F7, 0x0000F7, UC_SM}, - {0x0000F8, 0x0000FF, UC_LL}, - {0x000100, 0x000100, UC_LU}, - {0x000101, 0x000101, UC_LL}, - {0x000102, 0x000102, UC_LU}, - {0x000103, 0x000103, UC_LL}, - {0x000104, 0x000104, UC_LU}, - {0x000105, 0x000105, UC_LL}, - {0x000106, 0x000106, UC_LU}, - {0x000107, 0x000107, UC_LL}, - {0x000108, 0x000108, UC_LU}, - {0x000109, 0x000109, UC_LL}, - {0x00010A, 0x00010A, UC_LU}, - {0x00010B, 0x00010B, UC_LL}, - {0x00010C, 0x00010C, UC_LU}, - {0x00010D, 0x00010D, UC_LL}, - {0x00010E, 0x00010E, UC_LU}, - {0x00010F, 0x00010F, UC_LL}, - {0x000110, 0x000110, UC_LU}, - {0x000111, 0x000111, UC_LL}, - {0x000112, 0x000112, UC_LU}, - {0x000113, 0x000113, UC_LL}, - {0x000114, 0x000114, UC_LU}, - {0x000115, 0x000115, UC_LL}, - {0x000116, 0x000116, UC_LU}, - {0x000117, 0x000117, UC_LL}, - {0x000118, 0x000118, UC_LU}, - {0x000119, 0x000119, UC_LL}, - {0x00011A, 0x00011A, UC_LU}, - {0x00011B, 0x00011B, UC_LL}, - {0x00011C, 0x00011C, UC_LU}, - {0x00011D, 0x00011D, UC_LL}, - {0x00011E, 0x00011E, UC_LU}, - {0x00011F, 0x00011F, UC_LL}, - {0x000120, 0x000120, UC_LU}, - {0x000121, 0x000121, UC_LL}, - {0x000122, 0x000122, UC_LU}, - {0x000123, 0x000123, UC_LL}, - {0x000124, 0x000124, UC_LU}, - {0x000125, 0x000125, UC_LL}, - {0x000126, 0x000126, UC_LU}, - {0x000127, 0x000127, UC_LL}, - {0x000128, 0x000128, UC_LU}, - {0x000129, 0x000129, UC_LL}, - {0x00012A, 0x00012A, UC_LU}, - {0x00012B, 0x00012B, UC_LL}, - {0x00012C, 0x00012C, UC_LU}, - {0x00012D, 0x00012D, UC_LL}, - {0x00012E, 0x00012E, UC_LU}, - {0x00012F, 0x00012F, UC_LL}, - {0x000130, 0x000130, UC_LU}, - {0x000131, 0x000131, UC_LL}, - {0x000132, 0x000132, UC_LU}, - {0x000133, 0x000133, UC_LL}, - {0x000134, 0x000134, UC_LU}, - {0x000135, 0x000135, UC_LL}, - {0x000136, 0x000136, UC_LU}, - {0x000137, 0x000138, UC_LL}, - {0x000139, 0x000139, UC_LU}, - {0x00013A, 0x00013A, UC_LL}, - {0x00013B, 0x00013B, UC_LU}, - {0x00013C, 0x00013C, UC_LL}, - {0x00013D, 0x00013D, UC_LU}, - {0x00013E, 0x00013E, UC_LL}, - {0x00013F, 0x00013F, UC_LU}, - {0x000140, 0x000140, UC_LL}, - {0x000141, 0x000141, UC_LU}, - {0x000142, 0x000142, UC_LL}, - {0x000143, 0x000143, UC_LU}, - {0x000144, 0x000144, UC_LL}, - {0x000145, 0x000145, UC_LU}, - {0x000146, 0x000146, UC_LL}, - {0x000147, 0x000147, UC_LU}, - {0x000148, 0x000149, UC_LL}, - {0x00014A, 0x00014A, UC_LU}, - {0x00014B, 0x00014B, UC_LL}, - {0x00014C, 0x00014C, UC_LU}, - {0x00014D, 0x00014D, UC_LL}, - {0x00014E, 0x00014E, UC_LU}, - {0x00014F, 0x00014F, UC_LL}, - {0x000150, 0x000150, UC_LU}, - {0x000151, 0x000151, UC_LL}, - {0x000152, 0x000152, UC_LU}, - {0x000153, 0x000153, UC_LL}, - {0x000154, 0x000154, UC_LU}, - {0x000155, 0x000155, UC_LL}, - {0x000156, 0x000156, UC_LU}, - {0x000157, 0x000157, UC_LL}, - {0x000158, 0x000158, UC_LU}, - {0x000159, 0x000159, UC_LL}, - {0x00015A, 0x00015A, UC_LU}, - {0x00015B, 0x00015B, UC_LL}, - {0x00015C, 0x00015C, UC_LU}, - {0x00015D, 0x00015D, UC_LL}, - {0x00015E, 0x00015E, UC_LU}, - {0x00015F, 0x00015F, UC_LL}, - {0x000160, 0x000160, UC_LU}, - {0x000161, 0x000161, UC_LL}, - {0x000162, 0x000162, UC_LU}, - {0x000163, 0x000163, UC_LL}, - {0x000164, 0x000164, UC_LU}, - {0x000165, 0x000165, UC_LL}, - {0x000166, 0x000166, UC_LU}, - {0x000167, 0x000167, UC_LL}, - {0x000168, 0x000168, UC_LU}, - {0x000169, 0x000169, UC_LL}, - {0x00016A, 0x00016A, UC_LU}, - {0x00016B, 0x00016B, UC_LL}, - {0x00016C, 0x00016C, UC_LU}, - {0x00016D, 0x00016D, UC_LL}, - {0x00016E, 0x00016E, UC_LU}, - {0x00016F, 0x00016F, UC_LL}, - {0x000170, 0x000170, UC_LU}, - {0x000171, 0x000171, UC_LL}, - {0x000172, 0x000172, UC_LU}, - {0x000173, 0x000173, UC_LL}, - {0x000174, 0x000174, UC_LU}, - {0x000175, 0x000175, UC_LL}, - {0x000176, 0x000176, UC_LU}, - {0x000177, 0x000177, UC_LL}, - {0x000178, 0x000179, UC_LU}, - {0x00017A, 0x00017A, UC_LL}, - {0x00017B, 0x00017B, UC_LU}, - {0x00017C, 0x00017C, UC_LL}, - {0x00017D, 0x00017D, UC_LU}, - {0x00017E, 0x000180, UC_LL}, - {0x000181, 0x000182, UC_LU}, - {0x000183, 0x000183, UC_LL}, - {0x000184, 0x000184, UC_LU}, - {0x000185, 0x000185, UC_LL}, - {0x000186, 0x000187, UC_LU}, - {0x000188, 0x000188, UC_LL}, - {0x000189, 0x00018B, UC_LU}, - {0x00018C, 0x00018D, UC_LL}, - {0x00018E, 0x000191, UC_LU}, - {0x000192, 0x000192, UC_LL}, - {0x000193, 0x000194, UC_LU}, - {0x000195, 0x000195, UC_LL}, - {0x000196, 0x000198, UC_LU}, - {0x000199, 0x00019B, UC_LL}, - {0x00019C, 0x00019D, UC_LU}, - {0x00019E, 0x00019E, UC_LL}, - {0x00019F, 0x0001A0, UC_LU}, - {0x0001A1, 0x0001A1, UC_LL}, - {0x0001A2, 0x0001A2, UC_LU}, - {0x0001A3, 0x0001A3, UC_LL}, - {0x0001A4, 0x0001A4, UC_LU}, - {0x0001A5, 0x0001A5, UC_LL}, - {0x0001A6, 0x0001A7, UC_LU}, - {0x0001A8, 0x0001A8, UC_LL}, - {0x0001A9, 0x0001A9, UC_LU}, - {0x0001AA, 0x0001AB, UC_LL}, - {0x0001AC, 0x0001AC, UC_LU}, - {0x0001AD, 0x0001AD, UC_LL}, - {0x0001AE, 0x0001AF, UC_LU}, - {0x0001B0, 0x0001B0, UC_LL}, - {0x0001B1, 0x0001B3, UC_LU}, - {0x0001B4, 0x0001B4, UC_LL}, - {0x0001B5, 0x0001B5, UC_LU}, - {0x0001B6, 0x0001B6, UC_LL}, - {0x0001B7, 0x0001B8, UC_LU}, - {0x0001B9, 0x0001BA, UC_LL}, - {0x0001BB, 0x0001BB, UC_LO}, - {0x0001BC, 0x0001BC, UC_LU}, - {0x0001BD, 0x0001BF, UC_LL}, - {0x0001C0, 0x0001C3, UC_LO}, - {0x0001C4, 0x0001C4, UC_LU}, - {0x0001C5, 0x0001C5, UC_LT}, - {0x0001C6, 0x0001C6, UC_LL}, - {0x0001C7, 0x0001C7, UC_LU}, - {0x0001C8, 0x0001C8, UC_LT}, - {0x0001C9, 0x0001C9, UC_LL}, - {0x0001CA, 0x0001CA, UC_LU}, - {0x0001CB, 0x0001CB, UC_LT}, - {0x0001CC, 0x0001CC, UC_LL}, - {0x0001CD, 0x0001CD, UC_LU}, - {0x0001CE, 0x0001CE, UC_LL}, - {0x0001CF, 0x0001CF, UC_LU}, - {0x0001D0, 0x0001D0, UC_LL}, - {0x0001D1, 0x0001D1, UC_LU}, - {0x0001D2, 0x0001D2, UC_LL}, - {0x0001D3, 0x0001D3, UC_LU}, - {0x0001D4, 0x0001D4, UC_LL}, - {0x0001D5, 0x0001D5, UC_LU}, - {0x0001D6, 0x0001D6, UC_LL}, - {0x0001D7, 0x0001D7, UC_LU}, - {0x0001D8, 0x0001D8, UC_LL}, - {0x0001D9, 0x0001D9, UC_LU}, - {0x0001DA, 0x0001DA, UC_LL}, - {0x0001DB, 0x0001DB, UC_LU}, - {0x0001DC, 0x0001DD, UC_LL}, - {0x0001DE, 0x0001DE, UC_LU}, - {0x0001DF, 0x0001DF, UC_LL}, - {0x0001E0, 0x0001E0, UC_LU}, - {0x0001E1, 0x0001E1, UC_LL}, - {0x0001E2, 0x0001E2, UC_LU}, - {0x0001E3, 0x0001E3, UC_LL}, - {0x0001E4, 0x0001E4, UC_LU}, - {0x0001E5, 0x0001E5, UC_LL}, - {0x0001E6, 0x0001E6, UC_LU}, - {0x0001E7, 0x0001E7, UC_LL}, - {0x0001E8, 0x0001E8, UC_LU}, - {0x0001E9, 0x0001E9, UC_LL}, - {0x0001EA, 0x0001EA, UC_LU}, - {0x0001EB, 0x0001EB, UC_LL}, - {0x0001EC, 0x0001EC, UC_LU}, - {0x0001ED, 0x0001ED, UC_LL}, - {0x0001EE, 0x0001EE, UC_LU}, - {0x0001EF, 0x0001F0, UC_LL}, - {0x0001F1, 0x0001F1, UC_LU}, - {0x0001F2, 0x0001F2, UC_LT}, - {0x0001F3, 0x0001F3, UC_LL}, - {0x0001F4, 0x0001F4, UC_LU}, - {0x0001F5, 0x0001F5, UC_LL}, - {0x0001F6, 0x0001F8, UC_LU}, - {0x0001F9, 0x0001F9, UC_LL}, - {0x0001FA, 0x0001FA, UC_LU}, - {0x0001FB, 0x0001FB, UC_LL}, - {0x0001FC, 0x0001FC, UC_LU}, - {0x0001FD, 0x0001FD, UC_LL}, - {0x0001FE, 0x0001FE, UC_LU}, - {0x0001FF, 0x0001FF, UC_LL}, - {0x000200, 0x000200, UC_LU}, - {0x000201, 0x000201, UC_LL}, - {0x000202, 0x000202, UC_LU}, - {0x000203, 0x000203, UC_LL}, - {0x000204, 0x000204, UC_LU}, - {0x000205, 0x000205, UC_LL}, - {0x000206, 0x000206, UC_LU}, - {0x000207, 0x000207, UC_LL}, - {0x000208, 0x000208, UC_LU}, - {0x000209, 0x000209, UC_LL}, - {0x00020A, 0x00020A, UC_LU}, - {0x00020B, 0x00020B, UC_LL}, - {0x00020C, 0x00020C, UC_LU}, - {0x00020D, 0x00020D, UC_LL}, - {0x00020E, 0x00020E, UC_LU}, - {0x00020F, 0x00020F, UC_LL}, - {0x000210, 0x000210, UC_LU}, - {0x000211, 0x000211, UC_LL}, - {0x000212, 0x000212, UC_LU}, - {0x000213, 0x000213, UC_LL}, - {0x000214, 0x000214, UC_LU}, - {0x000215, 0x000215, UC_LL}, - {0x000216, 0x000216, UC_LU}, - {0x000217, 0x000217, UC_LL}, - {0x000218, 0x000218, UC_LU}, - {0x000219, 0x000219, UC_LL}, - {0x00021A, 0x00021A, UC_LU}, - {0x00021B, 0x00021B, UC_LL}, - {0x00021C, 0x00021C, UC_LU}, - {0x00021D, 0x00021D, UC_LL}, - {0x00021E, 0x00021E, UC_LU}, - {0x00021F, 0x00021F, UC_LL}, - {0x000220, 0x000220, UC_LU}, - {0x000221, 0x000221, UC_LL}, - {0x000222, 0x000222, UC_LU}, - {0x000223, 0x000223, UC_LL}, - {0x000224, 0x000224, UC_LU}, - {0x000225, 0x000225, UC_LL}, - {0x000226, 0x000226, UC_LU}, - {0x000227, 0x000227, UC_LL}, - {0x000228, 0x000228, UC_LU}, - {0x000229, 0x000229, UC_LL}, - {0x00022A, 0x00022A, UC_LU}, - {0x00022B, 0x00022B, UC_LL}, - {0x00022C, 0x00022C, UC_LU}, - {0x00022D, 0x00022D, UC_LL}, - {0x00022E, 0x00022E, UC_LU}, - {0x00022F, 0x00022F, UC_LL}, - {0x000230, 0x000230, UC_LU}, - {0x000231, 0x000231, UC_LL}, - {0x000232, 0x000232, UC_LU}, - {0x000233, 0x000239, UC_LL}, - {0x00023A, 0x00023B, UC_LU}, - {0x00023C, 0x00023C, UC_LL}, - {0x00023D, 0x00023E, UC_LU}, - {0x00023F, 0x000240, UC_LL}, - {0x000241, 0x000241, UC_LU}, - {0x000242, 0x000242, UC_LL}, - {0x000243, 0x000246, UC_LU}, - {0x000247, 0x000247, UC_LL}, - {0x000248, 0x000248, UC_LU}, - {0x000249, 0x000249, UC_LL}, - {0x00024A, 0x00024A, UC_LU}, - {0x00024B, 0x00024B, UC_LL}, - {0x00024C, 0x00024C, UC_LU}, - {0x00024D, 0x00024D, UC_LL}, - {0x00024E, 0x00024E, UC_LU}, - {0x00024F, 0x000293, UC_LL}, - {0x000294, 0x000294, UC_LO}, - {0x000295, 0x0002AF, UC_LL}, - {0x0002B0, 0x0002C1, UC_LM}, - {0x0002C2, 0x0002C5, UC_SK}, - {0x0002C6, 0x0002D1, UC_LM}, - {0x0002D2, 0x0002DF, UC_SK}, - {0x0002E0, 0x0002E4, UC_LM}, - {0x0002E5, 0x0002EB, UC_SK}, - {0x0002EC, 0x0002EC, UC_LM}, - {0x0002ED, 0x0002ED, UC_SK}, - {0x0002EE, 0x0002EE, UC_LM}, - {0x0002EF, 0x0002FF, UC_SK}, - {0x000300, 0x00036F, UC_MN}, - {0x000370, 0x000370, UC_LU}, - {0x000371, 0x000371, UC_LL}, - {0x000372, 0x000372, UC_LU}, - {0x000373, 0x000373, UC_LL}, - {0x000374, 0x000374, UC_LM}, - {0x000375, 0x000375, UC_SK}, - {0x000376, 0x000376, UC_LU}, - {0x000377, 0x000377, UC_LL}, - {0x00037A, 0x00037A, UC_LM}, - {0x00037B, 0x00037D, UC_LL}, - {0x00037E, 0x00037E, UC_PO}, - {0x00037F, 0x00037F, UC_LU}, - {0x000384, 0x000385, UC_SK}, - {0x000386, 0x000386, UC_LU}, - {0x000387, 0x000387, UC_PO}, - {0x000388, 0x00038A, UC_LU}, - {0x00038C, 0x00038C, UC_LU}, - {0x00038E, 0x00038F, UC_LU}, - {0x000390, 0x000390, UC_LL}, - {0x000391, 0x0003A1, UC_LU}, - {0x0003A3, 0x0003AB, UC_LU}, - {0x0003AC, 0x0003CE, UC_LL}, - {0x0003CF, 0x0003CF, UC_LU}, - {0x0003D0, 0x0003D1, UC_LL}, - {0x0003D2, 0x0003D4, UC_LU}, - {0x0003D5, 0x0003D7, UC_LL}, - {0x0003D8, 0x0003D8, UC_LU}, - {0x0003D9, 0x0003D9, UC_LL}, - {0x0003DA, 0x0003DA, UC_LU}, - {0x0003DB, 0x0003DB, UC_LL}, - {0x0003DC, 0x0003DC, UC_LU}, - {0x0003DD, 0x0003DD, UC_LL}, - {0x0003DE, 0x0003DE, UC_LU}, - {0x0003DF, 0x0003DF, UC_LL}, - {0x0003E0, 0x0003E0, UC_LU}, - {0x0003E1, 0x0003E1, UC_LL}, - {0x0003E2, 0x0003E2, UC_LU}, - {0x0003E3, 0x0003E3, UC_LL}, - {0x0003E4, 0x0003E4, UC_LU}, - {0x0003E5, 0x0003E5, UC_LL}, - {0x0003E6, 0x0003E6, UC_LU}, - {0x0003E7, 0x0003E7, UC_LL}, - {0x0003E8, 0x0003E8, UC_LU}, - {0x0003E9, 0x0003E9, UC_LL}, - {0x0003EA, 0x0003EA, UC_LU}, - {0x0003EB, 0x0003EB, UC_LL}, - {0x0003EC, 0x0003EC, UC_LU}, - {0x0003ED, 0x0003ED, UC_LL}, - {0x0003EE, 0x0003EE, UC_LU}, - {0x0003EF, 0x0003F3, UC_LL}, - {0x0003F4, 0x0003F4, UC_LU}, - {0x0003F5, 0x0003F5, UC_LL}, - {0x0003F6, 0x0003F6, UC_SM}, - {0x0003F7, 0x0003F7, UC_LU}, - {0x0003F8, 0x0003F8, UC_LL}, - {0x0003F9, 0x0003FA, UC_LU}, - {0x0003FB, 0x0003FC, UC_LL}, - {0x0003FD, 0x00042F, UC_LU}, - {0x000430, 0x00045F, UC_LL}, - {0x000460, 0x000460, UC_LU}, - {0x000461, 0x000461, UC_LL}, - {0x000462, 0x000462, UC_LU}, - {0x000463, 0x000463, UC_LL}, - {0x000464, 0x000464, UC_LU}, - {0x000465, 0x000465, UC_LL}, - {0x000466, 0x000466, UC_LU}, - {0x000467, 0x000467, UC_LL}, - {0x000468, 0x000468, UC_LU}, - {0x000469, 0x000469, UC_LL}, - {0x00046A, 0x00046A, UC_LU}, - {0x00046B, 0x00046B, UC_LL}, - {0x00046C, 0x00046C, UC_LU}, - {0x00046D, 0x00046D, UC_LL}, - {0x00046E, 0x00046E, UC_LU}, - {0x00046F, 0x00046F, UC_LL}, - {0x000470, 0x000470, UC_LU}, - {0x000471, 0x000471, UC_LL}, - {0x000472, 0x000472, UC_LU}, - {0x000473, 0x000473, UC_LL}, - {0x000474, 0x000474, UC_LU}, - {0x000475, 0x000475, UC_LL}, - {0x000476, 0x000476, UC_LU}, - {0x000477, 0x000477, UC_LL}, - {0x000478, 0x000478, UC_LU}, - {0x000479, 0x000479, UC_LL}, - {0x00047A, 0x00047A, UC_LU}, - {0x00047B, 0x00047B, UC_LL}, - {0x00047C, 0x00047C, UC_LU}, - {0x00047D, 0x00047D, UC_LL}, - {0x00047E, 0x00047E, UC_LU}, - {0x00047F, 0x00047F, UC_LL}, - {0x000480, 0x000480, UC_LU}, - {0x000481, 0x000481, UC_LL}, - {0x000482, 0x000482, UC_SO}, - {0x000483, 0x000487, UC_MN}, - {0x000488, 0x000489, UC_ME}, - {0x00048A, 0x00048A, UC_LU}, - {0x00048B, 0x00048B, UC_LL}, - {0x00048C, 0x00048C, UC_LU}, - {0x00048D, 0x00048D, UC_LL}, - {0x00048E, 0x00048E, UC_LU}, - {0x00048F, 0x00048F, UC_LL}, - {0x000490, 0x000490, UC_LU}, - {0x000491, 0x000491, UC_LL}, - {0x000492, 0x000492, UC_LU}, - {0x000493, 0x000493, UC_LL}, - {0x000494, 0x000494, UC_LU}, - {0x000495, 0x000495, UC_LL}, - {0x000496, 0x000496, UC_LU}, - {0x000497, 0x000497, UC_LL}, - {0x000498, 0x000498, UC_LU}, - {0x000499, 0x000499, UC_LL}, - {0x00049A, 0x00049A, UC_LU}, - {0x00049B, 0x00049B, UC_LL}, - {0x00049C, 0x00049C, UC_LU}, - {0x00049D, 0x00049D, UC_LL}, - {0x00049E, 0x00049E, UC_LU}, - {0x00049F, 0x00049F, UC_LL}, - {0x0004A0, 0x0004A0, UC_LU}, - {0x0004A1, 0x0004A1, UC_LL}, - {0x0004A2, 0x0004A2, UC_LU}, - {0x0004A3, 0x0004A3, UC_LL}, - {0x0004A4, 0x0004A4, UC_LU}, - {0x0004A5, 0x0004A5, UC_LL}, - {0x0004A6, 0x0004A6, UC_LU}, - {0x0004A7, 0x0004A7, UC_LL}, - {0x0004A8, 0x0004A8, UC_LU}, - {0x0004A9, 0x0004A9, UC_LL}, - {0x0004AA, 0x0004AA, UC_LU}, - {0x0004AB, 0x0004AB, UC_LL}, - {0x0004AC, 0x0004AC, UC_LU}, - {0x0004AD, 0x0004AD, UC_LL}, - {0x0004AE, 0x0004AE, UC_LU}, - {0x0004AF, 0x0004AF, UC_LL}, - {0x0004B0, 0x0004B0, UC_LU}, - {0x0004B1, 0x0004B1, UC_LL}, - {0x0004B2, 0x0004B2, UC_LU}, - {0x0004B3, 0x0004B3, UC_LL}, - {0x0004B4, 0x0004B4, UC_LU}, - {0x0004B5, 0x0004B5, UC_LL}, - {0x0004B6, 0x0004B6, UC_LU}, - {0x0004B7, 0x0004B7, UC_LL}, - {0x0004B8, 0x0004B8, UC_LU}, - {0x0004B9, 0x0004B9, UC_LL}, - {0x0004BA, 0x0004BA, UC_LU}, - {0x0004BB, 0x0004BB, UC_LL}, - {0x0004BC, 0x0004BC, UC_LU}, - {0x0004BD, 0x0004BD, UC_LL}, - {0x0004BE, 0x0004BE, UC_LU}, - {0x0004BF, 0x0004BF, UC_LL}, - {0x0004C0, 0x0004C1, UC_LU}, - {0x0004C2, 0x0004C2, UC_LL}, - {0x0004C3, 0x0004C3, UC_LU}, - {0x0004C4, 0x0004C4, UC_LL}, - {0x0004C5, 0x0004C5, UC_LU}, - {0x0004C6, 0x0004C6, UC_LL}, - {0x0004C7, 0x0004C7, UC_LU}, - {0x0004C8, 0x0004C8, UC_LL}, - {0x0004C9, 0x0004C9, UC_LU}, - {0x0004CA, 0x0004CA, UC_LL}, - {0x0004CB, 0x0004CB, UC_LU}, - {0x0004CC, 0x0004CC, UC_LL}, - {0x0004CD, 0x0004CD, UC_LU}, - {0x0004CE, 0x0004CF, UC_LL}, - {0x0004D0, 0x0004D0, UC_LU}, - {0x0004D1, 0x0004D1, UC_LL}, - {0x0004D2, 0x0004D2, UC_LU}, - {0x0004D3, 0x0004D3, UC_LL}, - {0x0004D4, 0x0004D4, UC_LU}, - {0x0004D5, 0x0004D5, UC_LL}, - {0x0004D6, 0x0004D6, UC_LU}, - {0x0004D7, 0x0004D7, UC_LL}, - {0x0004D8, 0x0004D8, UC_LU}, - {0x0004D9, 0x0004D9, UC_LL}, - {0x0004DA, 0x0004DA, UC_LU}, - {0x0004DB, 0x0004DB, UC_LL}, - {0x0004DC, 0x0004DC, UC_LU}, - {0x0004DD, 0x0004DD, UC_LL}, - {0x0004DE, 0x0004DE, UC_LU}, - {0x0004DF, 0x0004DF, UC_LL}, - {0x0004E0, 0x0004E0, UC_LU}, - {0x0004E1, 0x0004E1, UC_LL}, - {0x0004E2, 0x0004E2, UC_LU}, - {0x0004E3, 0x0004E3, UC_LL}, - {0x0004E4, 0x0004E4, UC_LU}, - {0x0004E5, 0x0004E5, UC_LL}, - {0x0004E6, 0x0004E6, UC_LU}, - {0x0004E7, 0x0004E7, UC_LL}, - {0x0004E8, 0x0004E8, UC_LU}, - {0x0004E9, 0x0004E9, UC_LL}, - {0x0004EA, 0x0004EA, UC_LU}, - {0x0004EB, 0x0004EB, UC_LL}, - {0x0004EC, 0x0004EC, UC_LU}, - {0x0004ED, 0x0004ED, UC_LL}, - {0x0004EE, 0x0004EE, UC_LU}, - {0x0004EF, 0x0004EF, UC_LL}, - {0x0004F0, 0x0004F0, UC_LU}, - {0x0004F1, 0x0004F1, UC_LL}, - {0x0004F2, 0x0004F2, UC_LU}, - {0x0004F3, 0x0004F3, UC_LL}, - {0x0004F4, 0x0004F4, UC_LU}, - {0x0004F5, 0x0004F5, UC_LL}, - {0x0004F6, 0x0004F6, UC_LU}, - {0x0004F7, 0x0004F7, UC_LL}, - {0x0004F8, 0x0004F8, UC_LU}, - {0x0004F9, 0x0004F9, UC_LL}, - {0x0004FA, 0x0004FA, UC_LU}, - {0x0004FB, 0x0004FB, UC_LL}, - {0x0004FC, 0x0004FC, UC_LU}, - {0x0004FD, 0x0004FD, UC_LL}, - {0x0004FE, 0x0004FE, UC_LU}, - {0x0004FF, 0x0004FF, UC_LL}, - {0x000500, 0x000500, UC_LU}, - {0x000501, 0x000501, UC_LL}, - {0x000502, 0x000502, UC_LU}, - {0x000503, 0x000503, UC_LL}, - {0x000504, 0x000504, UC_LU}, - {0x000505, 0x000505, UC_LL}, - {0x000506, 0x000506, UC_LU}, - {0x000507, 0x000507, UC_LL}, - {0x000508, 0x000508, UC_LU}, - {0x000509, 0x000509, UC_LL}, - {0x00050A, 0x00050A, UC_LU}, - {0x00050B, 0x00050B, UC_LL}, - {0x00050C, 0x00050C, UC_LU}, - {0x00050D, 0x00050D, UC_LL}, - {0x00050E, 0x00050E, UC_LU}, - {0x00050F, 0x00050F, UC_LL}, - {0x000510, 0x000510, UC_LU}, - {0x000511, 0x000511, UC_LL}, - {0x000512, 0x000512, UC_LU}, - {0x000513, 0x000513, UC_LL}, - {0x000514, 0x000514, UC_LU}, - {0x000515, 0x000515, UC_LL}, - {0x000516, 0x000516, UC_LU}, - {0x000517, 0x000517, UC_LL}, - {0x000518, 0x000518, UC_LU}, - {0x000519, 0x000519, UC_LL}, - {0x00051A, 0x00051A, UC_LU}, - {0x00051B, 0x00051B, UC_LL}, - {0x00051C, 0x00051C, UC_LU}, - {0x00051D, 0x00051D, UC_LL}, - {0x00051E, 0x00051E, UC_LU}, - {0x00051F, 0x00051F, UC_LL}, - {0x000520, 0x000520, UC_LU}, - {0x000521, 0x000521, UC_LL}, - {0x000522, 0x000522, UC_LU}, - {0x000523, 0x000523, UC_LL}, - {0x000524, 0x000524, UC_LU}, - {0x000525, 0x000525, UC_LL}, - {0x000526, 0x000526, UC_LU}, - {0x000527, 0x000527, UC_LL}, - {0x000528, 0x000528, UC_LU}, - {0x000529, 0x000529, UC_LL}, - {0x00052A, 0x00052A, UC_LU}, - {0x00052B, 0x00052B, UC_LL}, - {0x00052C, 0x00052C, UC_LU}, - {0x00052D, 0x00052D, UC_LL}, - {0x00052E, 0x00052E, UC_LU}, - {0x00052F, 0x00052F, UC_LL}, - {0x000531, 0x000556, UC_LU}, - {0x000559, 0x000559, UC_LM}, - {0x00055A, 0x00055F, UC_PO}, - {0x000560, 0x000588, UC_LL}, - {0x000589, 0x000589, UC_PO}, - {0x00058A, 0x00058A, UC_PD}, - {0x00058D, 0x00058E, UC_SO}, - {0x00058F, 0x00058F, UC_SC}, - {0x000591, 0x0005BD, UC_MN}, - {0x0005BE, 0x0005BE, UC_PD}, - {0x0005BF, 0x0005BF, UC_MN}, - {0x0005C0, 0x0005C0, UC_PO}, - {0x0005C1, 0x0005C2, UC_MN}, - {0x0005C3, 0x0005C3, UC_PO}, - {0x0005C4, 0x0005C5, UC_MN}, - {0x0005C6, 0x0005C6, UC_PO}, - {0x0005C7, 0x0005C7, UC_MN}, - {0x0005D0, 0x0005EA, UC_LO}, - {0x0005EF, 0x0005F2, UC_LO}, - {0x0005F3, 0x0005F4, UC_PO}, - {0x000600, 0x000605, UC_CF}, - {0x000606, 0x000608, UC_SM}, - {0x000609, 0x00060A, UC_PO}, - {0x00060B, 0x00060B, UC_SC}, - {0x00060C, 0x00060D, UC_PO}, - {0x00060E, 0x00060F, UC_SO}, - {0x000610, 0x00061A, UC_MN}, - {0x00061B, 0x00061B, UC_PO}, - {0x00061C, 0x00061C, UC_CF}, - {0x00061D, 0x00061F, UC_PO}, - {0x000620, 0x00063F, UC_LO}, - {0x000640, 0x000640, UC_LM}, - {0x000641, 0x00064A, UC_LO}, - {0x00064B, 0x00065F, UC_MN}, - {0x000660, 0x000669, UC_ND}, - {0x00066A, 0x00066D, UC_PO}, - {0x00066E, 0x00066F, UC_LO}, - {0x000670, 0x000670, UC_MN}, - {0x000671, 0x0006D3, UC_LO}, - {0x0006D4, 0x0006D4, UC_PO}, - {0x0006D5, 0x0006D5, UC_LO}, - {0x0006D6, 0x0006DC, UC_MN}, - {0x0006DD, 0x0006DD, UC_CF}, - {0x0006DE, 0x0006DE, UC_SO}, - {0x0006DF, 0x0006E4, UC_MN}, - {0x0006E5, 0x0006E6, UC_LM}, - {0x0006E7, 0x0006E8, UC_MN}, - {0x0006E9, 0x0006E9, UC_SO}, - {0x0006EA, 0x0006ED, UC_MN}, - {0x0006EE, 0x0006EF, UC_LO}, - {0x0006F0, 0x0006F9, UC_ND}, - {0x0006FA, 0x0006FC, UC_LO}, - {0x0006FD, 0x0006FE, UC_SO}, - {0x0006FF, 0x0006FF, UC_LO}, - {0x000700, 0x00070D, UC_PO}, - {0x00070F, 0x00070F, UC_CF}, - {0x000710, 0x000710, UC_LO}, - {0x000711, 0x000711, UC_MN}, - {0x000712, 0x00072F, UC_LO}, - {0x000730, 0x00074A, UC_MN}, - {0x00074D, 0x0007A5, UC_LO}, - {0x0007A6, 0x0007B0, UC_MN}, - {0x0007B1, 0x0007B1, UC_LO}, - {0x0007C0, 0x0007C9, UC_ND}, - {0x0007CA, 0x0007EA, UC_LO}, - {0x0007EB, 0x0007F3, UC_MN}, - {0x0007F4, 0x0007F5, UC_LM}, - {0x0007F6, 0x0007F6, UC_SO}, - {0x0007F7, 0x0007F9, UC_PO}, - {0x0007FA, 0x0007FA, UC_LM}, - {0x0007FD, 0x0007FD, UC_MN}, - {0x0007FE, 0x0007FF, UC_SC}, - {0x000800, 0x000815, UC_LO}, - {0x000816, 0x000819, UC_MN}, - {0x00081A, 0x00081A, UC_LM}, - {0x00081B, 0x000823, UC_MN}, - {0x000824, 0x000824, UC_LM}, - {0x000825, 0x000827, UC_MN}, - {0x000828, 0x000828, UC_LM}, - {0x000829, 0x00082D, UC_MN}, - {0x000830, 0x00083E, UC_PO}, - {0x000840, 0x000858, UC_LO}, - {0x000859, 0x00085B, UC_MN}, - {0x00085E, 0x00085E, UC_PO}, - {0x000860, 0x00086A, UC_LO}, - {0x000870, 0x000887, UC_LO}, - {0x000888, 0x000888, UC_SK}, - {0x000889, 0x00088E, UC_LO}, - {0x000890, 0x000891, UC_CF}, - {0x000898, 0x00089F, UC_MN}, - {0x0008A0, 0x0008C8, UC_LO}, - {0x0008C9, 0x0008C9, UC_LM}, - {0x0008CA, 0x0008E1, UC_MN}, - {0x0008E2, 0x0008E2, UC_CF}, - {0x0008E3, 0x000902, UC_MN}, - {0x000903, 0x000903, UC_MC}, - {0x000904, 0x000939, UC_LO}, - {0x00093A, 0x00093A, UC_MN}, - {0x00093B, 0x00093B, UC_MC}, - {0x00093C, 0x00093C, UC_MN}, - {0x00093D, 0x00093D, UC_LO}, - {0x00093E, 0x000940, UC_MC}, - {0x000941, 0x000948, UC_MN}, - {0x000949, 0x00094C, UC_MC}, - {0x00094D, 0x00094D, UC_MN}, - {0x00094E, 0x00094F, UC_MC}, - {0x000950, 0x000950, UC_LO}, - {0x000951, 0x000957, UC_MN}, - {0x000958, 0x000961, UC_LO}, - {0x000962, 0x000963, UC_MN}, - {0x000964, 0x000965, UC_PO}, - {0x000966, 0x00096F, UC_ND}, - {0x000970, 0x000970, UC_PO}, - {0x000971, 0x000971, UC_LM}, - {0x000972, 0x000980, UC_LO}, - {0x000981, 0x000981, UC_MN}, - {0x000982, 0x000983, UC_MC}, - {0x000985, 0x00098C, UC_LO}, - {0x00098F, 0x000990, UC_LO}, - {0x000993, 0x0009A8, UC_LO}, - {0x0009AA, 0x0009B0, UC_LO}, - {0x0009B2, 0x0009B2, UC_LO}, - {0x0009B6, 0x0009B9, UC_LO}, - {0x0009BC, 0x0009BC, UC_MN}, - {0x0009BD, 0x0009BD, UC_LO}, - {0x0009BE, 0x0009C0, UC_MC}, - {0x0009C1, 0x0009C4, UC_MN}, - {0x0009C7, 0x0009C8, UC_MC}, - {0x0009CB, 0x0009CC, UC_MC}, - {0x0009CD, 0x0009CD, UC_MN}, - {0x0009CE, 0x0009CE, UC_LO}, - {0x0009D7, 0x0009D7, UC_MC}, - {0x0009DC, 0x0009DD, UC_LO}, - {0x0009DF, 0x0009E1, UC_LO}, - {0x0009E2, 0x0009E3, UC_MN}, - {0x0009E6, 0x0009EF, UC_ND}, - {0x0009F0, 0x0009F1, UC_LO}, - {0x0009F2, 0x0009F3, UC_SC}, - {0x0009F4, 0x0009F9, UC_NO}, - {0x0009FA, 0x0009FA, UC_SO}, - {0x0009FB, 0x0009FB, UC_SC}, - {0x0009FC, 0x0009FC, UC_LO}, - {0x0009FD, 0x0009FD, UC_PO}, - {0x0009FE, 0x0009FE, UC_MN}, - {0x000A01, 0x000A02, UC_MN}, - {0x000A03, 0x000A03, UC_MC}, - {0x000A05, 0x000A0A, UC_LO}, - {0x000A0F, 0x000A10, UC_LO}, - {0x000A13, 0x000A28, UC_LO}, - {0x000A2A, 0x000A30, UC_LO}, - {0x000A32, 0x000A33, UC_LO}, - {0x000A35, 0x000A36, UC_LO}, - {0x000A38, 0x000A39, UC_LO}, - {0x000A3C, 0x000A3C, UC_MN}, - {0x000A3E, 0x000A40, UC_MC}, - {0x000A41, 0x000A42, UC_MN}, - {0x000A47, 0x000A48, UC_MN}, - {0x000A4B, 0x000A4D, UC_MN}, - {0x000A51, 0x000A51, UC_MN}, - {0x000A59, 0x000A5C, UC_LO}, - {0x000A5E, 0x000A5E, UC_LO}, - {0x000A66, 0x000A6F, UC_ND}, - {0x000A70, 0x000A71, UC_MN}, - {0x000A72, 0x000A74, UC_LO}, - {0x000A75, 0x000A75, UC_MN}, - {0x000A76, 0x000A76, UC_PO}, - {0x000A81, 0x000A82, UC_MN}, - {0x000A83, 0x000A83, UC_MC}, - {0x000A85, 0x000A8D, UC_LO}, - {0x000A8F, 0x000A91, UC_LO}, - {0x000A93, 0x000AA8, UC_LO}, - {0x000AAA, 0x000AB0, UC_LO}, - {0x000AB2, 0x000AB3, UC_LO}, - {0x000AB5, 0x000AB9, UC_LO}, - {0x000ABC, 0x000ABC, UC_MN}, - {0x000ABD, 0x000ABD, UC_LO}, - {0x000ABE, 0x000AC0, UC_MC}, - {0x000AC1, 0x000AC5, UC_MN}, - {0x000AC7, 0x000AC8, UC_MN}, - {0x000AC9, 0x000AC9, UC_MC}, - {0x000ACB, 0x000ACC, UC_MC}, - {0x000ACD, 0x000ACD, UC_MN}, - {0x000AD0, 0x000AD0, UC_LO}, - {0x000AE0, 0x000AE1, UC_LO}, - {0x000AE2, 0x000AE3, UC_MN}, - {0x000AE6, 0x000AEF, UC_ND}, - {0x000AF0, 0x000AF0, UC_PO}, - {0x000AF1, 0x000AF1, UC_SC}, - {0x000AF9, 0x000AF9, UC_LO}, - {0x000AFA, 0x000AFF, UC_MN}, - {0x000B01, 0x000B01, UC_MN}, - {0x000B02, 0x000B03, UC_MC}, - {0x000B05, 0x000B0C, UC_LO}, - {0x000B0F, 0x000B10, UC_LO}, - {0x000B13, 0x000B28, UC_LO}, - {0x000B2A, 0x000B30, UC_LO}, - {0x000B32, 0x000B33, UC_LO}, - {0x000B35, 0x000B39, UC_LO}, - {0x000B3C, 0x000B3C, UC_MN}, - {0x000B3D, 0x000B3D, UC_LO}, - {0x000B3E, 0x000B3E, UC_MC}, - {0x000B3F, 0x000B3F, UC_MN}, - {0x000B40, 0x000B40, UC_MC}, - {0x000B41, 0x000B44, UC_MN}, - {0x000B47, 0x000B48, UC_MC}, - {0x000B4B, 0x000B4C, UC_MC}, - {0x000B4D, 0x000B4D, UC_MN}, - {0x000B55, 0x000B56, UC_MN}, - {0x000B57, 0x000B57, UC_MC}, - {0x000B5C, 0x000B5D, UC_LO}, - {0x000B5F, 0x000B61, UC_LO}, - {0x000B62, 0x000B63, UC_MN}, - {0x000B66, 0x000B6F, UC_ND}, - {0x000B70, 0x000B70, UC_SO}, - {0x000B71, 0x000B71, UC_LO}, - {0x000B72, 0x000B77, UC_NO}, - {0x000B82, 0x000B82, UC_MN}, - {0x000B83, 0x000B83, UC_LO}, - {0x000B85, 0x000B8A, UC_LO}, - {0x000B8E, 0x000B90, UC_LO}, - {0x000B92, 0x000B95, UC_LO}, - {0x000B99, 0x000B9A, UC_LO}, - {0x000B9C, 0x000B9C, UC_LO}, - {0x000B9E, 0x000B9F, UC_LO}, - {0x000BA3, 0x000BA4, UC_LO}, - {0x000BA8, 0x000BAA, UC_LO}, - {0x000BAE, 0x000BB9, UC_LO}, - {0x000BBE, 0x000BBF, UC_MC}, - {0x000BC0, 0x000BC0, UC_MN}, - {0x000BC1, 0x000BC2, UC_MC}, - {0x000BC6, 0x000BC8, UC_MC}, - {0x000BCA, 0x000BCC, UC_MC}, - {0x000BCD, 0x000BCD, UC_MN}, - {0x000BD0, 0x000BD0, UC_LO}, - {0x000BD7, 0x000BD7, UC_MC}, - {0x000BE6, 0x000BEF, UC_ND}, - {0x000BF0, 0x000BF2, UC_NO}, - {0x000BF3, 0x000BF8, UC_SO}, - {0x000BF9, 0x000BF9, UC_SC}, - {0x000BFA, 0x000BFA, UC_SO}, - {0x000C00, 0x000C00, UC_MN}, - {0x000C01, 0x000C03, UC_MC}, - {0x000C04, 0x000C04, UC_MN}, - {0x000C05, 0x000C0C, UC_LO}, - {0x000C0E, 0x000C10, UC_LO}, - {0x000C12, 0x000C28, UC_LO}, - {0x000C2A, 0x000C39, UC_LO}, - {0x000C3C, 0x000C3C, UC_MN}, - {0x000C3D, 0x000C3D, UC_LO}, - {0x000C3E, 0x000C40, UC_MN}, - {0x000C41, 0x000C44, UC_MC}, - {0x000C46, 0x000C48, UC_MN}, - {0x000C4A, 0x000C4D, UC_MN}, - {0x000C55, 0x000C56, UC_MN}, - {0x000C58, 0x000C5A, UC_LO}, - {0x000C5D, 0x000C5D, UC_LO}, - {0x000C60, 0x000C61, UC_LO}, - {0x000C62, 0x000C63, UC_MN}, - {0x000C66, 0x000C6F, UC_ND}, - {0x000C77, 0x000C77, UC_PO}, - {0x000C78, 0x000C7E, UC_NO}, - {0x000C7F, 0x000C7F, UC_SO}, - {0x000C80, 0x000C80, UC_LO}, - {0x000C81, 0x000C81, UC_MN}, - {0x000C82, 0x000C83, UC_MC}, - {0x000C84, 0x000C84, UC_PO}, - {0x000C85, 0x000C8C, UC_LO}, - {0x000C8E, 0x000C90, UC_LO}, - {0x000C92, 0x000CA8, UC_LO}, - {0x000CAA, 0x000CB3, UC_LO}, - {0x000CB5, 0x000CB9, UC_LO}, - {0x000CBC, 0x000CBC, UC_MN}, - {0x000CBD, 0x000CBD, UC_LO}, - {0x000CBE, 0x000CBE, UC_MC}, - {0x000CBF, 0x000CBF, UC_MN}, - {0x000CC0, 0x000CC4, UC_MC}, - {0x000CC6, 0x000CC6, UC_MN}, - {0x000CC7, 0x000CC8, UC_MC}, - {0x000CCA, 0x000CCB, UC_MC}, - {0x000CCC, 0x000CCD, UC_MN}, - {0x000CD5, 0x000CD6, UC_MC}, - {0x000CDD, 0x000CDE, UC_LO}, - {0x000CE0, 0x000CE1, UC_LO}, - {0x000CE2, 0x000CE3, UC_MN}, - {0x000CE6, 0x000CEF, UC_ND}, - {0x000CF1, 0x000CF2, UC_LO}, - {0x000CF3, 0x000CF3, UC_MC}, - {0x000D00, 0x000D01, UC_MN}, - {0x000D02, 0x000D03, UC_MC}, - {0x000D04, 0x000D0C, UC_LO}, - {0x000D0E, 0x000D10, UC_LO}, - {0x000D12, 0x000D3A, UC_LO}, - {0x000D3B, 0x000D3C, UC_MN}, - {0x000D3D, 0x000D3D, UC_LO}, - {0x000D3E, 0x000D40, UC_MC}, - {0x000D41, 0x000D44, UC_MN}, - {0x000D46, 0x000D48, UC_MC}, - {0x000D4A, 0x000D4C, UC_MC}, - {0x000D4D, 0x000D4D, UC_MN}, - {0x000D4E, 0x000D4E, UC_LO}, - {0x000D4F, 0x000D4F, UC_SO}, - {0x000D54, 0x000D56, UC_LO}, - {0x000D57, 0x000D57, UC_MC}, - {0x000D58, 0x000D5E, UC_NO}, - {0x000D5F, 0x000D61, UC_LO}, - {0x000D62, 0x000D63, UC_MN}, - {0x000D66, 0x000D6F, UC_ND}, - {0x000D70, 0x000D78, UC_NO}, - {0x000D79, 0x000D79, UC_SO}, - {0x000D7A, 0x000D7F, UC_LO}, - {0x000D81, 0x000D81, UC_MN}, - {0x000D82, 0x000D83, UC_MC}, - {0x000D85, 0x000D96, UC_LO}, - {0x000D9A, 0x000DB1, UC_LO}, - {0x000DB3, 0x000DBB, UC_LO}, - {0x000DBD, 0x000DBD, UC_LO}, - {0x000DC0, 0x000DC6, UC_LO}, - {0x000DCA, 0x000DCA, UC_MN}, - {0x000DCF, 0x000DD1, UC_MC}, - {0x000DD2, 0x000DD4, UC_MN}, - {0x000DD6, 0x000DD6, UC_MN}, - {0x000DD8, 0x000DDF, UC_MC}, - {0x000DE6, 0x000DEF, UC_ND}, - {0x000DF2, 0x000DF3, UC_MC}, - {0x000DF4, 0x000DF4, UC_PO}, - {0x000E01, 0x000E30, UC_LO}, - {0x000E31, 0x000E31, UC_MN}, - {0x000E32, 0x000E33, UC_LO}, - {0x000E34, 0x000E3A, UC_MN}, - {0x000E3F, 0x000E3F, UC_SC}, - {0x000E40, 0x000E45, UC_LO}, - {0x000E46, 0x000E46, UC_LM}, - {0x000E47, 0x000E4E, UC_MN}, - {0x000E4F, 0x000E4F, UC_PO}, - {0x000E50, 0x000E59, UC_ND}, - {0x000E5A, 0x000E5B, UC_PO}, - {0x000E81, 0x000E82, UC_LO}, - {0x000E84, 0x000E84, UC_LO}, - {0x000E86, 0x000E8A, UC_LO}, - {0x000E8C, 0x000EA3, UC_LO}, - {0x000EA5, 0x000EA5, UC_LO}, - {0x000EA7, 0x000EB0, UC_LO}, - {0x000EB1, 0x000EB1, UC_MN}, - {0x000EB2, 0x000EB3, UC_LO}, - {0x000EB4, 0x000EBC, UC_MN}, - {0x000EBD, 0x000EBD, UC_LO}, - {0x000EC0, 0x000EC4, UC_LO}, - {0x000EC6, 0x000EC6, UC_LM}, - {0x000EC8, 0x000ECE, UC_MN}, - {0x000ED0, 0x000ED9, UC_ND}, - {0x000EDC, 0x000EDF, UC_LO}, - {0x000F00, 0x000F00, UC_LO}, - {0x000F01, 0x000F03, UC_SO}, - {0x000F04, 0x000F12, UC_PO}, - {0x000F13, 0x000F13, UC_SO}, - {0x000F14, 0x000F14, UC_PO}, - {0x000F15, 0x000F17, UC_SO}, - {0x000F18, 0x000F19, UC_MN}, - {0x000F1A, 0x000F1F, UC_SO}, - {0x000F20, 0x000F29, UC_ND}, - {0x000F2A, 0x000F33, UC_NO}, - {0x000F34, 0x000F34, UC_SO}, - {0x000F35, 0x000F35, UC_MN}, - {0x000F36, 0x000F36, UC_SO}, - {0x000F37, 0x000F37, UC_MN}, - {0x000F38, 0x000F38, UC_SO}, - {0x000F39, 0x000F39, UC_MN}, - {0x000F3A, 0x000F3A, UC_PS}, - {0x000F3B, 0x000F3B, UC_PE}, - {0x000F3C, 0x000F3C, UC_PS}, - {0x000F3D, 0x000F3D, UC_PE}, - {0x000F3E, 0x000F3F, UC_MC}, - {0x000F40, 0x000F47, UC_LO}, - {0x000F49, 0x000F6C, UC_LO}, - {0x000F71, 0x000F7E, UC_MN}, - {0x000F7F, 0x000F7F, UC_MC}, - {0x000F80, 0x000F84, UC_MN}, - {0x000F85, 0x000F85, UC_PO}, - {0x000F86, 0x000F87, UC_MN}, - {0x000F88, 0x000F8C, UC_LO}, - {0x000F8D, 0x000F97, UC_MN}, - {0x000F99, 0x000FBC, UC_MN}, - {0x000FBE, 0x000FC5, UC_SO}, - {0x000FC6, 0x000FC6, UC_MN}, - {0x000FC7, 0x000FCC, UC_SO}, - {0x000FCE, 0x000FCF, UC_SO}, - {0x000FD0, 0x000FD4, UC_PO}, - {0x000FD5, 0x000FD8, UC_SO}, - {0x000FD9, 0x000FDA, UC_PO}, - {0x001000, 0x00102A, UC_LO}, - {0x00102B, 0x00102C, UC_MC}, - {0x00102D, 0x001030, UC_MN}, - {0x001031, 0x001031, UC_MC}, - {0x001032, 0x001037, UC_MN}, - {0x001038, 0x001038, UC_MC}, - {0x001039, 0x00103A, UC_MN}, - {0x00103B, 0x00103C, UC_MC}, - {0x00103D, 0x00103E, UC_MN}, - {0x00103F, 0x00103F, UC_LO}, - {0x001040, 0x001049, UC_ND}, - {0x00104A, 0x00104F, UC_PO}, - {0x001050, 0x001055, UC_LO}, - {0x001056, 0x001057, UC_MC}, - {0x001058, 0x001059, UC_MN}, - {0x00105A, 0x00105D, UC_LO}, - {0x00105E, 0x001060, UC_MN}, - {0x001061, 0x001061, UC_LO}, - {0x001062, 0x001064, UC_MC}, - {0x001065, 0x001066, UC_LO}, - {0x001067, 0x00106D, UC_MC}, - {0x00106E, 0x001070, UC_LO}, - {0x001071, 0x001074, UC_MN}, - {0x001075, 0x001081, UC_LO}, - {0x001082, 0x001082, UC_MN}, - {0x001083, 0x001084, UC_MC}, - {0x001085, 0x001086, UC_MN}, - {0x001087, 0x00108C, UC_MC}, - {0x00108D, 0x00108D, UC_MN}, - {0x00108E, 0x00108E, UC_LO}, - {0x00108F, 0x00108F, UC_MC}, - {0x001090, 0x001099, UC_ND}, - {0x00109A, 0x00109C, UC_MC}, - {0x00109D, 0x00109D, UC_MN}, - {0x00109E, 0x00109F, UC_SO}, - {0x0010A0, 0x0010C5, UC_LU}, - {0x0010C7, 0x0010C7, UC_LU}, - {0x0010CD, 0x0010CD, UC_LU}, - {0x0010D0, 0x0010FA, UC_LL}, - {0x0010FB, 0x0010FB, UC_PO}, - {0x0010FC, 0x0010FC, UC_LM}, - {0x0010FD, 0x0010FF, UC_LL}, - {0x001100, 0x001248, UC_LO}, - {0x00124A, 0x00124D, UC_LO}, - {0x001250, 0x001256, UC_LO}, - {0x001258, 0x001258, UC_LO}, - {0x00125A, 0x00125D, UC_LO}, - {0x001260, 0x001288, UC_LO}, - {0x00128A, 0x00128D, UC_LO}, - {0x001290, 0x0012B0, UC_LO}, - {0x0012B2, 0x0012B5, UC_LO}, - {0x0012B8, 0x0012BE, UC_LO}, - {0x0012C0, 0x0012C0, UC_LO}, - {0x0012C2, 0x0012C5, UC_LO}, - {0x0012C8, 0x0012D6, UC_LO}, - {0x0012D8, 0x001310, UC_LO}, - {0x001312, 0x001315, UC_LO}, - {0x001318, 0x00135A, UC_LO}, - {0x00135D, 0x00135F, UC_MN}, - {0x001360, 0x001368, UC_PO}, - {0x001369, 0x00137C, UC_NO}, - {0x001380, 0x00138F, UC_LO}, - {0x001390, 0x001399, UC_SO}, - {0x0013A0, 0x0013F5, UC_LU}, - {0x0013F8, 0x0013FD, UC_LL}, - {0x001400, 0x001400, UC_PD}, - {0x001401, 0x00166C, UC_LO}, - {0x00166D, 0x00166D, UC_SO}, - {0x00166E, 0x00166E, UC_PO}, - {0x00166F, 0x00167F, UC_LO}, - {0x001680, 0x001680, UC_ZS}, - {0x001681, 0x00169A, UC_LO}, - {0x00169B, 0x00169B, UC_PS}, - {0x00169C, 0x00169C, UC_PE}, - {0x0016A0, 0x0016EA, UC_LO}, - {0x0016EB, 0x0016ED, UC_PO}, - {0x0016EE, 0x0016F0, UC_NL}, - {0x0016F1, 0x0016F8, UC_LO}, - {0x001700, 0x001711, UC_LO}, - {0x001712, 0x001714, UC_MN}, - {0x001715, 0x001715, UC_MC}, - {0x00171F, 0x001731, UC_LO}, - {0x001732, 0x001733, UC_MN}, - {0x001734, 0x001734, UC_MC}, - {0x001735, 0x001736, UC_PO}, - {0x001740, 0x001751, UC_LO}, - {0x001752, 0x001753, UC_MN}, - {0x001760, 0x00176C, UC_LO}, - {0x00176E, 0x001770, UC_LO}, - {0x001772, 0x001773, UC_MN}, - {0x001780, 0x0017B3, UC_LO}, - {0x0017B4, 0x0017B5, UC_MN}, - {0x0017B6, 0x0017B6, UC_MC}, - {0x0017B7, 0x0017BD, UC_MN}, - {0x0017BE, 0x0017C5, UC_MC}, - {0x0017C6, 0x0017C6, UC_MN}, - {0x0017C7, 0x0017C8, UC_MC}, - {0x0017C9, 0x0017D3, UC_MN}, - {0x0017D4, 0x0017D6, UC_PO}, - {0x0017D7, 0x0017D7, UC_LM}, - {0x0017D8, 0x0017DA, UC_PO}, - {0x0017DB, 0x0017DB, UC_SC}, - {0x0017DC, 0x0017DC, UC_LO}, - {0x0017DD, 0x0017DD, UC_MN}, - {0x0017E0, 0x0017E9, UC_ND}, - {0x0017F0, 0x0017F9, UC_NO}, - {0x001800, 0x001805, UC_PO}, - {0x001806, 0x001806, UC_PD}, - {0x001807, 0x00180A, UC_PO}, - {0x00180B, 0x00180D, UC_MN}, - {0x00180E, 0x00180E, UC_CF}, - {0x00180F, 0x00180F, UC_MN}, - {0x001810, 0x001819, UC_ND}, - {0x001820, 0x001842, UC_LO}, - {0x001843, 0x001843, UC_LM}, - {0x001844, 0x001878, UC_LO}, - {0x001880, 0x001884, UC_LO}, - {0x001885, 0x001886, UC_MN}, - {0x001887, 0x0018A8, UC_LO}, - {0x0018A9, 0x0018A9, UC_MN}, - {0x0018AA, 0x0018AA, UC_LO}, - {0x0018B0, 0x0018F5, UC_LO}, - {0x001900, 0x00191E, UC_LO}, - {0x001920, 0x001922, UC_MN}, - {0x001923, 0x001926, UC_MC}, - {0x001927, 0x001928, UC_MN}, - {0x001929, 0x00192B, UC_MC}, - {0x001930, 0x001931, UC_MC}, - {0x001932, 0x001932, UC_MN}, - {0x001933, 0x001938, UC_MC}, - {0x001939, 0x00193B, UC_MN}, - {0x001940, 0x001940, UC_SO}, - {0x001944, 0x001945, UC_PO}, - {0x001946, 0x00194F, UC_ND}, - {0x001950, 0x00196D, UC_LO}, - {0x001970, 0x001974, UC_LO}, - {0x001980, 0x0019AB, UC_LO}, - {0x0019B0, 0x0019C9, UC_LO}, - {0x0019D0, 0x0019D9, UC_ND}, - {0x0019DA, 0x0019DA, UC_NO}, - {0x0019DE, 0x0019FF, UC_SO}, - {0x001A00, 0x001A16, UC_LO}, - {0x001A17, 0x001A18, UC_MN}, - {0x001A19, 0x001A1A, UC_MC}, - {0x001A1B, 0x001A1B, UC_MN}, - {0x001A1E, 0x001A1F, UC_PO}, - {0x001A20, 0x001A54, UC_LO}, - {0x001A55, 0x001A55, UC_MC}, - {0x001A56, 0x001A56, UC_MN}, - {0x001A57, 0x001A57, UC_MC}, - {0x001A58, 0x001A5E, UC_MN}, - {0x001A60, 0x001A60, UC_MN}, - {0x001A61, 0x001A61, UC_MC}, - {0x001A62, 0x001A62, UC_MN}, - {0x001A63, 0x001A64, UC_MC}, - {0x001A65, 0x001A6C, UC_MN}, - {0x001A6D, 0x001A72, UC_MC}, - {0x001A73, 0x001A7C, UC_MN}, - {0x001A7F, 0x001A7F, UC_MN}, - {0x001A80, 0x001A89, UC_ND}, - {0x001A90, 0x001A99, UC_ND}, - {0x001AA0, 0x001AA6, UC_PO}, - {0x001AA7, 0x001AA7, UC_LM}, - {0x001AA8, 0x001AAD, UC_PO}, - {0x001AB0, 0x001ABD, UC_MN}, - {0x001ABE, 0x001ABE, UC_ME}, - {0x001ABF, 0x001ACE, UC_MN}, - {0x001B00, 0x001B03, UC_MN}, - {0x001B04, 0x001B04, UC_MC}, - {0x001B05, 0x001B33, UC_LO}, - {0x001B34, 0x001B34, UC_MN}, - {0x001B35, 0x001B35, UC_MC}, - {0x001B36, 0x001B3A, UC_MN}, - {0x001B3B, 0x001B3B, UC_MC}, - {0x001B3C, 0x001B3C, UC_MN}, - {0x001B3D, 0x001B41, UC_MC}, - {0x001B42, 0x001B42, UC_MN}, - {0x001B43, 0x001B44, UC_MC}, - {0x001B45, 0x001B4C, UC_LO}, - {0x001B50, 0x001B59, UC_ND}, - {0x001B5A, 0x001B60, UC_PO}, - {0x001B61, 0x001B6A, UC_SO}, - {0x001B6B, 0x001B73, UC_MN}, - {0x001B74, 0x001B7C, UC_SO}, - {0x001B7D, 0x001B7E, UC_PO}, - {0x001B80, 0x001B81, UC_MN}, - {0x001B82, 0x001B82, UC_MC}, - {0x001B83, 0x001BA0, UC_LO}, - {0x001BA1, 0x001BA1, UC_MC}, - {0x001BA2, 0x001BA5, UC_MN}, - {0x001BA6, 0x001BA7, UC_MC}, - {0x001BA8, 0x001BA9, UC_MN}, - {0x001BAA, 0x001BAA, UC_MC}, - {0x001BAB, 0x001BAD, UC_MN}, - {0x001BAE, 0x001BAF, UC_LO}, - {0x001BB0, 0x001BB9, UC_ND}, - {0x001BBA, 0x001BE5, UC_LO}, - {0x001BE6, 0x001BE6, UC_MN}, - {0x001BE7, 0x001BE7, UC_MC}, - {0x001BE8, 0x001BE9, UC_MN}, - {0x001BEA, 0x001BEC, UC_MC}, - {0x001BED, 0x001BED, UC_MN}, - {0x001BEE, 0x001BEE, UC_MC}, - {0x001BEF, 0x001BF1, UC_MN}, - {0x001BF2, 0x001BF3, UC_MC}, - {0x001BFC, 0x001BFF, UC_PO}, - {0x001C00, 0x001C23, UC_LO}, - {0x001C24, 0x001C2B, UC_MC}, - {0x001C2C, 0x001C33, UC_MN}, - {0x001C34, 0x001C35, UC_MC}, - {0x001C36, 0x001C37, UC_MN}, - {0x001C3B, 0x001C3F, UC_PO}, - {0x001C40, 0x001C49, UC_ND}, - {0x001C4D, 0x001C4F, UC_LO}, - {0x001C50, 0x001C59, UC_ND}, - {0x001C5A, 0x001C77, UC_LO}, - {0x001C78, 0x001C7D, UC_LM}, - {0x001C7E, 0x001C7F, UC_PO}, - {0x001C80, 0x001C88, UC_LL}, - {0x001C90, 0x001CBA, UC_LU}, - {0x001CBD, 0x001CBF, UC_LU}, - {0x001CC0, 0x001CC7, UC_PO}, - {0x001CD0, 0x001CD2, UC_MN}, - {0x001CD3, 0x001CD3, UC_PO}, - {0x001CD4, 0x001CE0, UC_MN}, - {0x001CE1, 0x001CE1, UC_MC}, - {0x001CE2, 0x001CE8, UC_MN}, - {0x001CE9, 0x001CEC, UC_LO}, - {0x001CED, 0x001CED, UC_MN}, - {0x001CEE, 0x001CF3, UC_LO}, - {0x001CF4, 0x001CF4, UC_MN}, - {0x001CF5, 0x001CF6, UC_LO}, - {0x001CF7, 0x001CF7, UC_MC}, - {0x001CF8, 0x001CF9, UC_MN}, - {0x001CFA, 0x001CFA, UC_LO}, - {0x001D00, 0x001D2B, UC_LL}, - {0x001D2C, 0x001D6A, UC_LM}, - {0x001D6B, 0x001D77, UC_LL}, - {0x001D78, 0x001D78, UC_LM}, - {0x001D79, 0x001D9A, UC_LL}, - {0x001D9B, 0x001DBF, UC_LM}, - {0x001DC0, 0x001DFF, UC_MN}, - {0x001E00, 0x001E00, UC_LU}, - {0x001E01, 0x001E01, UC_LL}, - {0x001E02, 0x001E02, UC_LU}, - {0x001E03, 0x001E03, UC_LL}, - {0x001E04, 0x001E04, UC_LU}, - {0x001E05, 0x001E05, UC_LL}, - {0x001E06, 0x001E06, UC_LU}, - {0x001E07, 0x001E07, UC_LL}, - {0x001E08, 0x001E08, UC_LU}, - {0x001E09, 0x001E09, UC_LL}, - {0x001E0A, 0x001E0A, UC_LU}, - {0x001E0B, 0x001E0B, UC_LL}, - {0x001E0C, 0x001E0C, UC_LU}, - {0x001E0D, 0x001E0D, UC_LL}, - {0x001E0E, 0x001E0E, UC_LU}, - {0x001E0F, 0x001E0F, UC_LL}, - {0x001E10, 0x001E10, UC_LU}, - {0x001E11, 0x001E11, UC_LL}, - {0x001E12, 0x001E12, UC_LU}, - {0x001E13, 0x001E13, UC_LL}, - {0x001E14, 0x001E14, UC_LU}, - {0x001E15, 0x001E15, UC_LL}, - {0x001E16, 0x001E16, UC_LU}, - {0x001E17, 0x001E17, UC_LL}, - {0x001E18, 0x001E18, UC_LU}, - {0x001E19, 0x001E19, UC_LL}, - {0x001E1A, 0x001E1A, UC_LU}, - {0x001E1B, 0x001E1B, UC_LL}, - {0x001E1C, 0x001E1C, UC_LU}, - {0x001E1D, 0x001E1D, UC_LL}, - {0x001E1E, 0x001E1E, UC_LU}, - {0x001E1F, 0x001E1F, UC_LL}, - {0x001E20, 0x001E20, UC_LU}, - {0x001E21, 0x001E21, UC_LL}, - {0x001E22, 0x001E22, UC_LU}, - {0x001E23, 0x001E23, UC_LL}, - {0x001E24, 0x001E24, UC_LU}, - {0x001E25, 0x001E25, UC_LL}, - {0x001E26, 0x001E26, UC_LU}, - {0x001E27, 0x001E27, UC_LL}, - {0x001E28, 0x001E28, UC_LU}, - {0x001E29, 0x001E29, UC_LL}, - {0x001E2A, 0x001E2A, UC_LU}, - {0x001E2B, 0x001E2B, UC_LL}, - {0x001E2C, 0x001E2C, UC_LU}, - {0x001E2D, 0x001E2D, UC_LL}, - {0x001E2E, 0x001E2E, UC_LU}, - {0x001E2F, 0x001E2F, UC_LL}, - {0x001E30, 0x001E30, UC_LU}, - {0x001E31, 0x001E31, UC_LL}, - {0x001E32, 0x001E32, UC_LU}, - {0x001E33, 0x001E33, UC_LL}, - {0x001E34, 0x001E34, UC_LU}, - {0x001E35, 0x001E35, UC_LL}, - {0x001E36, 0x001E36, UC_LU}, - {0x001E37, 0x001E37, UC_LL}, - {0x001E38, 0x001E38, UC_LU}, - {0x001E39, 0x001E39, UC_LL}, - {0x001E3A, 0x001E3A, UC_LU}, - {0x001E3B, 0x001E3B, UC_LL}, - {0x001E3C, 0x001E3C, UC_LU}, - {0x001E3D, 0x001E3D, UC_LL}, - {0x001E3E, 0x001E3E, UC_LU}, - {0x001E3F, 0x001E3F, UC_LL}, - {0x001E40, 0x001E40, UC_LU}, - {0x001E41, 0x001E41, UC_LL}, - {0x001E42, 0x001E42, UC_LU}, - {0x001E43, 0x001E43, UC_LL}, - {0x001E44, 0x001E44, UC_LU}, - {0x001E45, 0x001E45, UC_LL}, - {0x001E46, 0x001E46, UC_LU}, - {0x001E47, 0x001E47, UC_LL}, - {0x001E48, 0x001E48, UC_LU}, - {0x001E49, 0x001E49, UC_LL}, - {0x001E4A, 0x001E4A, UC_LU}, - {0x001E4B, 0x001E4B, UC_LL}, - {0x001E4C, 0x001E4C, UC_LU}, - {0x001E4D, 0x001E4D, UC_LL}, - {0x001E4E, 0x001E4E, UC_LU}, - {0x001E4F, 0x001E4F, UC_LL}, - {0x001E50, 0x001E50, UC_LU}, - {0x001E51, 0x001E51, UC_LL}, - {0x001E52, 0x001E52, UC_LU}, - {0x001E53, 0x001E53, UC_LL}, - {0x001E54, 0x001E54, UC_LU}, - {0x001E55, 0x001E55, UC_LL}, - {0x001E56, 0x001E56, UC_LU}, - {0x001E57, 0x001E57, UC_LL}, - {0x001E58, 0x001E58, UC_LU}, - {0x001E59, 0x001E59, UC_LL}, - {0x001E5A, 0x001E5A, UC_LU}, - {0x001E5B, 0x001E5B, UC_LL}, - {0x001E5C, 0x001E5C, UC_LU}, - {0x001E5D, 0x001E5D, UC_LL}, - {0x001E5E, 0x001E5E, UC_LU}, - {0x001E5F, 0x001E5F, UC_LL}, - {0x001E60, 0x001E60, UC_LU}, - {0x001E61, 0x001E61, UC_LL}, - {0x001E62, 0x001E62, UC_LU}, - {0x001E63, 0x001E63, UC_LL}, - {0x001E64, 0x001E64, UC_LU}, - {0x001E65, 0x001E65, UC_LL}, - {0x001E66, 0x001E66, UC_LU}, - {0x001E67, 0x001E67, UC_LL}, - {0x001E68, 0x001E68, UC_LU}, - {0x001E69, 0x001E69, UC_LL}, - {0x001E6A, 0x001E6A, UC_LU}, - {0x001E6B, 0x001E6B, UC_LL}, - {0x001E6C, 0x001E6C, UC_LU}, - {0x001E6D, 0x001E6D, UC_LL}, - {0x001E6E, 0x001E6E, UC_LU}, - {0x001E6F, 0x001E6F, UC_LL}, - {0x001E70, 0x001E70, UC_LU}, - {0x001E71, 0x001E71, UC_LL}, - {0x001E72, 0x001E72, UC_LU}, - {0x001E73, 0x001E73, UC_LL}, - {0x001E74, 0x001E74, UC_LU}, - {0x001E75, 0x001E75, UC_LL}, - {0x001E76, 0x001E76, UC_LU}, - {0x001E77, 0x001E77, UC_LL}, - {0x001E78, 0x001E78, UC_LU}, - {0x001E79, 0x001E79, UC_LL}, - {0x001E7A, 0x001E7A, UC_LU}, - {0x001E7B, 0x001E7B, UC_LL}, - {0x001E7C, 0x001E7C, UC_LU}, - {0x001E7D, 0x001E7D, UC_LL}, - {0x001E7E, 0x001E7E, UC_LU}, - {0x001E7F, 0x001E7F, UC_LL}, - {0x001E80, 0x001E80, UC_LU}, - {0x001E81, 0x001E81, UC_LL}, - {0x001E82, 0x001E82, UC_LU}, - {0x001E83, 0x001E83, UC_LL}, - {0x001E84, 0x001E84, UC_LU}, - {0x001E85, 0x001E85, UC_LL}, - {0x001E86, 0x001E86, UC_LU}, - {0x001E87, 0x001E87, UC_LL}, - {0x001E88, 0x001E88, UC_LU}, - {0x001E89, 0x001E89, UC_LL}, - {0x001E8A, 0x001E8A, UC_LU}, - {0x001E8B, 0x001E8B, UC_LL}, - {0x001E8C, 0x001E8C, UC_LU}, - {0x001E8D, 0x001E8D, UC_LL}, - {0x001E8E, 0x001E8E, UC_LU}, - {0x001E8F, 0x001E8F, UC_LL}, - {0x001E90, 0x001E90, UC_LU}, - {0x001E91, 0x001E91, UC_LL}, - {0x001E92, 0x001E92, UC_LU}, - {0x001E93, 0x001E93, UC_LL}, - {0x001E94, 0x001E94, UC_LU}, - {0x001E95, 0x001E9D, UC_LL}, - {0x001E9E, 0x001E9E, UC_LU}, - {0x001E9F, 0x001E9F, UC_LL}, - {0x001EA0, 0x001EA0, UC_LU}, - {0x001EA1, 0x001EA1, UC_LL}, - {0x001EA2, 0x001EA2, UC_LU}, - {0x001EA3, 0x001EA3, UC_LL}, - {0x001EA4, 0x001EA4, UC_LU}, - {0x001EA5, 0x001EA5, UC_LL}, - {0x001EA6, 0x001EA6, UC_LU}, - {0x001EA7, 0x001EA7, UC_LL}, - {0x001EA8, 0x001EA8, UC_LU}, - {0x001EA9, 0x001EA9, UC_LL}, - {0x001EAA, 0x001EAA, UC_LU}, - {0x001EAB, 0x001EAB, UC_LL}, - {0x001EAC, 0x001EAC, UC_LU}, - {0x001EAD, 0x001EAD, UC_LL}, - {0x001EAE, 0x001EAE, UC_LU}, - {0x001EAF, 0x001EAF, UC_LL}, - {0x001EB0, 0x001EB0, UC_LU}, - {0x001EB1, 0x001EB1, UC_LL}, - {0x001EB2, 0x001EB2, UC_LU}, - {0x001EB3, 0x001EB3, UC_LL}, - {0x001EB4, 0x001EB4, UC_LU}, - {0x001EB5, 0x001EB5, UC_LL}, - {0x001EB6, 0x001EB6, UC_LU}, - {0x001EB7, 0x001EB7, UC_LL}, - {0x001EB8, 0x001EB8, UC_LU}, - {0x001EB9, 0x001EB9, UC_LL}, - {0x001EBA, 0x001EBA, UC_LU}, - {0x001EBB, 0x001EBB, UC_LL}, - {0x001EBC, 0x001EBC, UC_LU}, - {0x001EBD, 0x001EBD, UC_LL}, - {0x001EBE, 0x001EBE, UC_LU}, - {0x001EBF, 0x001EBF, UC_LL}, - {0x001EC0, 0x001EC0, UC_LU}, - {0x001EC1, 0x001EC1, UC_LL}, - {0x001EC2, 0x001EC2, UC_LU}, - {0x001EC3, 0x001EC3, UC_LL}, - {0x001EC4, 0x001EC4, UC_LU}, - {0x001EC5, 0x001EC5, UC_LL}, - {0x001EC6, 0x001EC6, UC_LU}, - {0x001EC7, 0x001EC7, UC_LL}, - {0x001EC8, 0x001EC8, UC_LU}, - {0x001EC9, 0x001EC9, UC_LL}, - {0x001ECA, 0x001ECA, UC_LU}, - {0x001ECB, 0x001ECB, UC_LL}, - {0x001ECC, 0x001ECC, UC_LU}, - {0x001ECD, 0x001ECD, UC_LL}, - {0x001ECE, 0x001ECE, UC_LU}, - {0x001ECF, 0x001ECF, UC_LL}, - {0x001ED0, 0x001ED0, UC_LU}, - {0x001ED1, 0x001ED1, UC_LL}, - {0x001ED2, 0x001ED2, UC_LU}, - {0x001ED3, 0x001ED3, UC_LL}, - {0x001ED4, 0x001ED4, UC_LU}, - {0x001ED5, 0x001ED5, UC_LL}, - {0x001ED6, 0x001ED6, UC_LU}, - {0x001ED7, 0x001ED7, UC_LL}, - {0x001ED8, 0x001ED8, UC_LU}, - {0x001ED9, 0x001ED9, UC_LL}, - {0x001EDA, 0x001EDA, UC_LU}, - {0x001EDB, 0x001EDB, UC_LL}, - {0x001EDC, 0x001EDC, UC_LU}, - {0x001EDD, 0x001EDD, UC_LL}, - {0x001EDE, 0x001EDE, UC_LU}, - {0x001EDF, 0x001EDF, UC_LL}, - {0x001EE0, 0x001EE0, UC_LU}, - {0x001EE1, 0x001EE1, UC_LL}, - {0x001EE2, 0x001EE2, UC_LU}, - {0x001EE3, 0x001EE3, UC_LL}, - {0x001EE4, 0x001EE4, UC_LU}, - {0x001EE5, 0x001EE5, UC_LL}, - {0x001EE6, 0x001EE6, UC_LU}, - {0x001EE7, 0x001EE7, UC_LL}, - {0x001EE8, 0x001EE8, UC_LU}, - {0x001EE9, 0x001EE9, UC_LL}, - {0x001EEA, 0x001EEA, UC_LU}, - {0x001EEB, 0x001EEB, UC_LL}, - {0x001EEC, 0x001EEC, UC_LU}, - {0x001EED, 0x001EED, UC_LL}, - {0x001EEE, 0x001EEE, UC_LU}, - {0x001EEF, 0x001EEF, UC_LL}, - {0x001EF0, 0x001EF0, UC_LU}, - {0x001EF1, 0x001EF1, UC_LL}, - {0x001EF2, 0x001EF2, UC_LU}, - {0x001EF3, 0x001EF3, UC_LL}, - {0x001EF4, 0x001EF4, UC_LU}, - {0x001EF5, 0x001EF5, UC_LL}, - {0x001EF6, 0x001EF6, UC_LU}, - {0x001EF7, 0x001EF7, UC_LL}, - {0x001EF8, 0x001EF8, UC_LU}, - {0x001EF9, 0x001EF9, UC_LL}, - {0x001EFA, 0x001EFA, UC_LU}, - {0x001EFB, 0x001EFB, UC_LL}, - {0x001EFC, 0x001EFC, UC_LU}, - {0x001EFD, 0x001EFD, UC_LL}, - {0x001EFE, 0x001EFE, UC_LU}, - {0x001EFF, 0x001F07, UC_LL}, - {0x001F08, 0x001F0F, UC_LU}, - {0x001F10, 0x001F15, UC_LL}, - {0x001F18, 0x001F1D, UC_LU}, - {0x001F20, 0x001F27, UC_LL}, - {0x001F28, 0x001F2F, UC_LU}, - {0x001F30, 0x001F37, UC_LL}, - {0x001F38, 0x001F3F, UC_LU}, - {0x001F40, 0x001F45, UC_LL}, - {0x001F48, 0x001F4D, UC_LU}, - {0x001F50, 0x001F57, UC_LL}, - {0x001F59, 0x001F59, UC_LU}, - {0x001F5B, 0x001F5B, UC_LU}, - {0x001F5D, 0x001F5D, UC_LU}, - {0x001F5F, 0x001F5F, UC_LU}, - {0x001F60, 0x001F67, UC_LL}, - {0x001F68, 0x001F6F, UC_LU}, - {0x001F70, 0x001F7D, UC_LL}, - {0x001F80, 0x001F87, UC_LL}, - {0x001F88, 0x001F8F, UC_LT}, - {0x001F90, 0x001F97, UC_LL}, - {0x001F98, 0x001F9F, UC_LT}, - {0x001FA0, 0x001FA7, UC_LL}, - {0x001FA8, 0x001FAF, UC_LT}, - {0x001FB0, 0x001FB4, UC_LL}, - {0x001FB6, 0x001FB7, UC_LL}, - {0x001FB8, 0x001FBB, UC_LU}, - {0x001FBC, 0x001FBC, UC_LT}, - {0x001FBD, 0x001FBD, UC_SK}, - {0x001FBE, 0x001FBE, UC_LL}, - {0x001FBF, 0x001FC1, UC_SK}, - {0x001FC2, 0x001FC4, UC_LL}, - {0x001FC6, 0x001FC7, UC_LL}, - {0x001FC8, 0x001FCB, UC_LU}, - {0x001FCC, 0x001FCC, UC_LT}, - {0x001FCD, 0x001FCF, UC_SK}, - {0x001FD0, 0x001FD3, UC_LL}, - {0x001FD6, 0x001FD7, UC_LL}, - {0x001FD8, 0x001FDB, UC_LU}, - {0x001FDD, 0x001FDF, UC_SK}, - {0x001FE0, 0x001FE7, UC_LL}, - {0x001FE8, 0x001FEC, UC_LU}, - {0x001FED, 0x001FEF, UC_SK}, - {0x001FF2, 0x001FF4, UC_LL}, - {0x001FF6, 0x001FF7, UC_LL}, - {0x001FF8, 0x001FFB, UC_LU}, - {0x001FFC, 0x001FFC, UC_LT}, - {0x001FFD, 0x001FFE, UC_SK}, - {0x002000, 0x00200A, UC_ZS}, - {0x00200B, 0x00200F, UC_CF}, - {0x002010, 0x002015, UC_PD}, - {0x002016, 0x002017, UC_PO}, - {0x002018, 0x002018, UC_PI}, - {0x002019, 0x002019, UC_PF}, - {0x00201A, 0x00201A, UC_PS}, - {0x00201B, 0x00201C, UC_PI}, - {0x00201D, 0x00201D, UC_PF}, - {0x00201E, 0x00201E, UC_PS}, - {0x00201F, 0x00201F, UC_PI}, - {0x002020, 0x002027, UC_PO}, - {0x002028, 0x002028, UC_ZL}, - {0x002029, 0x002029, UC_ZP}, - {0x00202A, 0x00202E, UC_CF}, - {0x00202F, 0x00202F, UC_ZS}, - {0x002030, 0x002038, UC_PO}, - {0x002039, 0x002039, UC_PI}, - {0x00203A, 0x00203A, UC_PF}, - {0x00203B, 0x00203E, UC_PO}, - {0x00203F, 0x002040, UC_PC}, - {0x002041, 0x002043, UC_PO}, - {0x002044, 0x002044, UC_SM}, - {0x002045, 0x002045, UC_PS}, - {0x002046, 0x002046, UC_PE}, - {0x002047, 0x002051, UC_PO}, - {0x002052, 0x002052, UC_SM}, - {0x002053, 0x002053, UC_PO}, - {0x002054, 0x002054, UC_PC}, - {0x002055, 0x00205E, UC_PO}, - {0x00205F, 0x00205F, UC_ZS}, - {0x002060, 0x002064, UC_CF}, - {0x002066, 0x00206F, UC_CF}, - {0x002070, 0x002070, UC_NO}, - {0x002071, 0x002071, UC_LM}, - {0x002074, 0x002079, UC_NO}, - {0x00207A, 0x00207C, UC_SM}, - {0x00207D, 0x00207D, UC_PS}, - {0x00207E, 0x00207E, UC_PE}, - {0x00207F, 0x00207F, UC_LM}, - {0x002080, 0x002089, UC_NO}, - {0x00208A, 0x00208C, UC_SM}, - {0x00208D, 0x00208D, UC_PS}, - {0x00208E, 0x00208E, UC_PE}, - {0x002090, 0x00209C, UC_LM}, - {0x0020A0, 0x0020C0, UC_SC}, - {0x0020D0, 0x0020DC, UC_MN}, - {0x0020DD, 0x0020E0, UC_ME}, - {0x0020E1, 0x0020E1, UC_MN}, - {0x0020E2, 0x0020E4, UC_ME}, - {0x0020E5, 0x0020F0, UC_MN}, - {0x002100, 0x002101, UC_SO}, - {0x002102, 0x002102, UC_LU}, - {0x002103, 0x002106, UC_SO}, - {0x002107, 0x002107, UC_LU}, - {0x002108, 0x002109, UC_SO}, - {0x00210A, 0x00210A, UC_LL}, - {0x00210B, 0x00210D, UC_LU}, - {0x00210E, 0x00210F, UC_LL}, - {0x002110, 0x002112, UC_LU}, - {0x002113, 0x002113, UC_LL}, - {0x002114, 0x002114, UC_SO}, - {0x002115, 0x002115, UC_LU}, - {0x002116, 0x002117, UC_SO}, - {0x002118, 0x002118, UC_SM}, - {0x002119, 0x00211D, UC_LU}, - {0x00211E, 0x002123, UC_SO}, - {0x002124, 0x002124, UC_LU}, - {0x002125, 0x002125, UC_SO}, - {0x002126, 0x002126, UC_LU}, - {0x002127, 0x002127, UC_SO}, - {0x002128, 0x002128, UC_LU}, - {0x002129, 0x002129, UC_SO}, - {0x00212A, 0x00212D, UC_LU}, - {0x00212E, 0x00212E, UC_SO}, - {0x00212F, 0x00212F, UC_LL}, - {0x002130, 0x002133, UC_LU}, - {0x002134, 0x002134, UC_LL}, - {0x002135, 0x002138, UC_LO}, - {0x002139, 0x002139, UC_LL}, - {0x00213A, 0x00213B, UC_SO}, - {0x00213C, 0x00213D, UC_LL}, - {0x00213E, 0x00213F, UC_LU}, - {0x002140, 0x002144, UC_SM}, - {0x002145, 0x002145, UC_LU}, - {0x002146, 0x002149, UC_LL}, - {0x00214A, 0x00214A, UC_SO}, - {0x00214B, 0x00214B, UC_SM}, - {0x00214C, 0x00214D, UC_SO}, - {0x00214E, 0x00214E, UC_LL}, - {0x00214F, 0x00214F, UC_SO}, - {0x002150, 0x00215F, UC_NO}, - {0x002160, 0x002182, UC_NL}, - {0x002183, 0x002183, UC_LU}, - {0x002184, 0x002184, UC_LL}, - {0x002185, 0x002188, UC_NL}, - {0x002189, 0x002189, UC_NO}, - {0x00218A, 0x00218B, UC_SO}, - {0x002190, 0x002194, UC_SM}, - {0x002195, 0x002199, UC_SO}, - {0x00219A, 0x00219B, UC_SM}, - {0x00219C, 0x00219F, UC_SO}, - {0x0021A0, 0x0021A0, UC_SM}, - {0x0021A1, 0x0021A2, UC_SO}, - {0x0021A3, 0x0021A3, UC_SM}, - {0x0021A4, 0x0021A5, UC_SO}, - {0x0021A6, 0x0021A6, UC_SM}, - {0x0021A7, 0x0021AD, UC_SO}, - {0x0021AE, 0x0021AE, UC_SM}, - {0x0021AF, 0x0021CD, UC_SO}, - {0x0021CE, 0x0021CF, UC_SM}, - {0x0021D0, 0x0021D1, UC_SO}, - {0x0021D2, 0x0021D2, UC_SM}, - {0x0021D3, 0x0021D3, UC_SO}, - {0x0021D4, 0x0021D4, UC_SM}, - {0x0021D5, 0x0021F3, UC_SO}, - {0x0021F4, 0x0022FF, UC_SM}, - {0x002300, 0x002307, UC_SO}, - {0x002308, 0x002308, UC_PS}, - {0x002309, 0x002309, UC_PE}, - {0x00230A, 0x00230A, UC_PS}, - {0x00230B, 0x00230B, UC_PE}, - {0x00230C, 0x00231F, UC_SO}, - {0x002320, 0x002321, UC_SM}, - {0x002322, 0x002328, UC_SO}, - {0x002329, 0x002329, UC_PS}, - {0x00232A, 0x00232A, UC_PE}, - {0x00232B, 0x00237B, UC_SO}, - {0x00237C, 0x00237C, UC_SM}, - {0x00237D, 0x00239A, UC_SO}, - {0x00239B, 0x0023B3, UC_SM}, - {0x0023B4, 0x0023DB, UC_SO}, - {0x0023DC, 0x0023E1, UC_SM}, - {0x0023E2, 0x002426, UC_SO}, - {0x002440, 0x00244A, UC_SO}, - {0x002460, 0x00249B, UC_NO}, - {0x00249C, 0x0024E9, UC_SO}, - {0x0024EA, 0x0024FF, UC_NO}, - {0x002500, 0x0025B6, UC_SO}, - {0x0025B7, 0x0025B7, UC_SM}, - {0x0025B8, 0x0025C0, UC_SO}, - {0x0025C1, 0x0025C1, UC_SM}, - {0x0025C2, 0x0025F7, UC_SO}, - {0x0025F8, 0x0025FF, UC_SM}, - {0x002600, 0x00266E, UC_SO}, - {0x00266F, 0x00266F, UC_SM}, - {0x002670, 0x002767, UC_SO}, - {0x002768, 0x002768, UC_PS}, - {0x002769, 0x002769, UC_PE}, - {0x00276A, 0x00276A, UC_PS}, - {0x00276B, 0x00276B, UC_PE}, - {0x00276C, 0x00276C, UC_PS}, - {0x00276D, 0x00276D, UC_PE}, - {0x00276E, 0x00276E, UC_PS}, - {0x00276F, 0x00276F, UC_PE}, - {0x002770, 0x002770, UC_PS}, - {0x002771, 0x002771, UC_PE}, - {0x002772, 0x002772, UC_PS}, - {0x002773, 0x002773, UC_PE}, - {0x002774, 0x002774, UC_PS}, - {0x002775, 0x002775, UC_PE}, - {0x002776, 0x002793, UC_NO}, - {0x002794, 0x0027BF, UC_SO}, - {0x0027C0, 0x0027C4, UC_SM}, - {0x0027C5, 0x0027C5, UC_PS}, - {0x0027C6, 0x0027C6, UC_PE}, - {0x0027C7, 0x0027E5, UC_SM}, - {0x0027E6, 0x0027E6, UC_PS}, - {0x0027E7, 0x0027E7, UC_PE}, - {0x0027E8, 0x0027E8, UC_PS}, - {0x0027E9, 0x0027E9, UC_PE}, - {0x0027EA, 0x0027EA, UC_PS}, - {0x0027EB, 0x0027EB, UC_PE}, - {0x0027EC, 0x0027EC, UC_PS}, - {0x0027ED, 0x0027ED, UC_PE}, - {0x0027EE, 0x0027EE, UC_PS}, - {0x0027EF, 0x0027EF, UC_PE}, - {0x0027F0, 0x0027FF, UC_SM}, - {0x002800, 0x0028FF, UC_SO}, - {0x002900, 0x002982, UC_SM}, - {0x002983, 0x002983, UC_PS}, - {0x002984, 0x002984, UC_PE}, - {0x002985, 0x002985, UC_PS}, - {0x002986, 0x002986, UC_PE}, - {0x002987, 0x002987, UC_PS}, - {0x002988, 0x002988, UC_PE}, - {0x002989, 0x002989, UC_PS}, - {0x00298A, 0x00298A, UC_PE}, - {0x00298B, 0x00298B, UC_PS}, - {0x00298C, 0x00298C, UC_PE}, - {0x00298D, 0x00298D, UC_PS}, - {0x00298E, 0x00298E, UC_PE}, - {0x00298F, 0x00298F, UC_PS}, - {0x002990, 0x002990, UC_PE}, - {0x002991, 0x002991, UC_PS}, - {0x002992, 0x002992, UC_PE}, - {0x002993, 0x002993, UC_PS}, - {0x002994, 0x002994, UC_PE}, - {0x002995, 0x002995, UC_PS}, - {0x002996, 0x002996, UC_PE}, - {0x002997, 0x002997, UC_PS}, - {0x002998, 0x002998, UC_PE}, - {0x002999, 0x0029D7, UC_SM}, - {0x0029D8, 0x0029D8, UC_PS}, - {0x0029D9, 0x0029D9, UC_PE}, - {0x0029DA, 0x0029DA, UC_PS}, - {0x0029DB, 0x0029DB, UC_PE}, - {0x0029DC, 0x0029FB, UC_SM}, - {0x0029FC, 0x0029FC, UC_PS}, - {0x0029FD, 0x0029FD, UC_PE}, - {0x0029FE, 0x002AFF, UC_SM}, - {0x002B00, 0x002B2F, UC_SO}, - {0x002B30, 0x002B44, UC_SM}, - {0x002B45, 0x002B46, UC_SO}, - {0x002B47, 0x002B4C, UC_SM}, - {0x002B4D, 0x002B73, UC_SO}, - {0x002B76, 0x002B95, UC_SO}, - {0x002B97, 0x002BFF, UC_SO}, - {0x002C00, 0x002C2F, UC_LU}, - {0x002C30, 0x002C5F, UC_LL}, - {0x002C60, 0x002C60, UC_LU}, - {0x002C61, 0x002C61, UC_LL}, - {0x002C62, 0x002C64, UC_LU}, - {0x002C65, 0x002C66, UC_LL}, - {0x002C67, 0x002C67, UC_LU}, - {0x002C68, 0x002C68, UC_LL}, - {0x002C69, 0x002C69, UC_LU}, - {0x002C6A, 0x002C6A, UC_LL}, - {0x002C6B, 0x002C6B, UC_LU}, - {0x002C6C, 0x002C6C, UC_LL}, - {0x002C6D, 0x002C70, UC_LU}, - {0x002C71, 0x002C71, UC_LL}, - {0x002C72, 0x002C72, UC_LU}, - {0x002C73, 0x002C74, UC_LL}, - {0x002C75, 0x002C75, UC_LU}, - {0x002C76, 0x002C7B, UC_LL}, - {0x002C7C, 0x002C7D, UC_LM}, - {0x002C7E, 0x002C80, UC_LU}, - {0x002C81, 0x002C81, UC_LL}, - {0x002C82, 0x002C82, UC_LU}, - {0x002C83, 0x002C83, UC_LL}, - {0x002C84, 0x002C84, UC_LU}, - {0x002C85, 0x002C85, UC_LL}, - {0x002C86, 0x002C86, UC_LU}, - {0x002C87, 0x002C87, UC_LL}, - {0x002C88, 0x002C88, UC_LU}, - {0x002C89, 0x002C89, UC_LL}, - {0x002C8A, 0x002C8A, UC_LU}, - {0x002C8B, 0x002C8B, UC_LL}, - {0x002C8C, 0x002C8C, UC_LU}, - {0x002C8D, 0x002C8D, UC_LL}, - {0x002C8E, 0x002C8E, UC_LU}, - {0x002C8F, 0x002C8F, UC_LL}, - {0x002C90, 0x002C90, UC_LU}, - {0x002C91, 0x002C91, UC_LL}, - {0x002C92, 0x002C92, UC_LU}, - {0x002C93, 0x002C93, UC_LL}, - {0x002C94, 0x002C94, UC_LU}, - {0x002C95, 0x002C95, UC_LL}, - {0x002C96, 0x002C96, UC_LU}, - {0x002C97, 0x002C97, UC_LL}, - {0x002C98, 0x002C98, UC_LU}, - {0x002C99, 0x002C99, UC_LL}, - {0x002C9A, 0x002C9A, UC_LU}, - {0x002C9B, 0x002C9B, UC_LL}, - {0x002C9C, 0x002C9C, UC_LU}, - {0x002C9D, 0x002C9D, UC_LL}, - {0x002C9E, 0x002C9E, UC_LU}, - {0x002C9F, 0x002C9F, UC_LL}, - {0x002CA0, 0x002CA0, UC_LU}, - {0x002CA1, 0x002CA1, UC_LL}, - {0x002CA2, 0x002CA2, UC_LU}, - {0x002CA3, 0x002CA3, UC_LL}, - {0x002CA4, 0x002CA4, UC_LU}, - {0x002CA5, 0x002CA5, UC_LL}, - {0x002CA6, 0x002CA6, UC_LU}, - {0x002CA7, 0x002CA7, UC_LL}, - {0x002CA8, 0x002CA8, UC_LU}, - {0x002CA9, 0x002CA9, UC_LL}, - {0x002CAA, 0x002CAA, UC_LU}, - {0x002CAB, 0x002CAB, UC_LL}, - {0x002CAC, 0x002CAC, UC_LU}, - {0x002CAD, 0x002CAD, UC_LL}, - {0x002CAE, 0x002CAE, UC_LU}, - {0x002CAF, 0x002CAF, UC_LL}, - {0x002CB0, 0x002CB0, UC_LU}, - {0x002CB1, 0x002CB1, UC_LL}, - {0x002CB2, 0x002CB2, UC_LU}, - {0x002CB3, 0x002CB3, UC_LL}, - {0x002CB4, 0x002CB4, UC_LU}, - {0x002CB5, 0x002CB5, UC_LL}, - {0x002CB6, 0x002CB6, UC_LU}, - {0x002CB7, 0x002CB7, UC_LL}, - {0x002CB8, 0x002CB8, UC_LU}, - {0x002CB9, 0x002CB9, UC_LL}, - {0x002CBA, 0x002CBA, UC_LU}, - {0x002CBB, 0x002CBB, UC_LL}, - {0x002CBC, 0x002CBC, UC_LU}, - {0x002CBD, 0x002CBD, UC_LL}, - {0x002CBE, 0x002CBE, UC_LU}, - {0x002CBF, 0x002CBF, UC_LL}, - {0x002CC0, 0x002CC0, UC_LU}, - {0x002CC1, 0x002CC1, UC_LL}, - {0x002CC2, 0x002CC2, UC_LU}, - {0x002CC3, 0x002CC3, UC_LL}, - {0x002CC4, 0x002CC4, UC_LU}, - {0x002CC5, 0x002CC5, UC_LL}, - {0x002CC6, 0x002CC6, UC_LU}, - {0x002CC7, 0x002CC7, UC_LL}, - {0x002CC8, 0x002CC8, UC_LU}, - {0x002CC9, 0x002CC9, UC_LL}, - {0x002CCA, 0x002CCA, UC_LU}, - {0x002CCB, 0x002CCB, UC_LL}, - {0x002CCC, 0x002CCC, UC_LU}, - {0x002CCD, 0x002CCD, UC_LL}, - {0x002CCE, 0x002CCE, UC_LU}, - {0x002CCF, 0x002CCF, UC_LL}, - {0x002CD0, 0x002CD0, UC_LU}, - {0x002CD1, 0x002CD1, UC_LL}, - {0x002CD2, 0x002CD2, UC_LU}, - {0x002CD3, 0x002CD3, UC_LL}, - {0x002CD4, 0x002CD4, UC_LU}, - {0x002CD5, 0x002CD5, UC_LL}, - {0x002CD6, 0x002CD6, UC_LU}, - {0x002CD7, 0x002CD7, UC_LL}, - {0x002CD8, 0x002CD8, UC_LU}, - {0x002CD9, 0x002CD9, UC_LL}, - {0x002CDA, 0x002CDA, UC_LU}, - {0x002CDB, 0x002CDB, UC_LL}, - {0x002CDC, 0x002CDC, UC_LU}, - {0x002CDD, 0x002CDD, UC_LL}, - {0x002CDE, 0x002CDE, UC_LU}, - {0x002CDF, 0x002CDF, UC_LL}, - {0x002CE0, 0x002CE0, UC_LU}, - {0x002CE1, 0x002CE1, UC_LL}, - {0x002CE2, 0x002CE2, UC_LU}, - {0x002CE3, 0x002CE4, UC_LL}, - {0x002CE5, 0x002CEA, UC_SO}, - {0x002CEB, 0x002CEB, UC_LU}, - {0x002CEC, 0x002CEC, UC_LL}, - {0x002CED, 0x002CED, UC_LU}, - {0x002CEE, 0x002CEE, UC_LL}, - {0x002CEF, 0x002CF1, UC_MN}, - {0x002CF2, 0x002CF2, UC_LU}, - {0x002CF3, 0x002CF3, UC_LL}, - {0x002CF9, 0x002CFC, UC_PO}, - {0x002CFD, 0x002CFD, UC_NO}, - {0x002CFE, 0x002CFF, UC_PO}, - {0x002D00, 0x002D25, UC_LL}, - {0x002D27, 0x002D27, UC_LL}, - {0x002D2D, 0x002D2D, UC_LL}, - {0x002D30, 0x002D67, UC_LO}, - {0x002D6F, 0x002D6F, UC_LM}, - {0x002D70, 0x002D70, UC_PO}, - {0x002D7F, 0x002D7F, UC_MN}, - {0x002D80, 0x002D96, UC_LO}, - {0x002DA0, 0x002DA6, UC_LO}, - {0x002DA8, 0x002DAE, UC_LO}, - {0x002DB0, 0x002DB6, UC_LO}, - {0x002DB8, 0x002DBE, UC_LO}, - {0x002DC0, 0x002DC6, UC_LO}, - {0x002DC8, 0x002DCE, UC_LO}, - {0x002DD0, 0x002DD6, UC_LO}, - {0x002DD8, 0x002DDE, UC_LO}, - {0x002DE0, 0x002DFF, UC_MN}, - {0x002E00, 0x002E01, UC_PO}, - {0x002E02, 0x002E02, UC_PI}, - {0x002E03, 0x002E03, UC_PF}, - {0x002E04, 0x002E04, UC_PI}, - {0x002E05, 0x002E05, UC_PF}, - {0x002E06, 0x002E08, UC_PO}, - {0x002E09, 0x002E09, UC_PI}, - {0x002E0A, 0x002E0A, UC_PF}, - {0x002E0B, 0x002E0B, UC_PO}, - {0x002E0C, 0x002E0C, UC_PI}, - {0x002E0D, 0x002E0D, UC_PF}, - {0x002E0E, 0x002E16, UC_PO}, - {0x002E17, 0x002E17, UC_PD}, - {0x002E18, 0x002E19, UC_PO}, - {0x002E1A, 0x002E1A, UC_PD}, - {0x002E1B, 0x002E1B, UC_PO}, - {0x002E1C, 0x002E1C, UC_PI}, - {0x002E1D, 0x002E1D, UC_PF}, - {0x002E1E, 0x002E1F, UC_PO}, - {0x002E20, 0x002E20, UC_PI}, - {0x002E21, 0x002E21, UC_PF}, - {0x002E22, 0x002E22, UC_PS}, - {0x002E23, 0x002E23, UC_PE}, - {0x002E24, 0x002E24, UC_PS}, - {0x002E25, 0x002E25, UC_PE}, - {0x002E26, 0x002E26, UC_PS}, - {0x002E27, 0x002E27, UC_PE}, - {0x002E28, 0x002E28, UC_PS}, - {0x002E29, 0x002E29, UC_PE}, - {0x002E2A, 0x002E2E, UC_PO}, - {0x002E2F, 0x002E2F, UC_LM}, - {0x002E30, 0x002E39, UC_PO}, - {0x002E3A, 0x002E3B, UC_PD}, - {0x002E3C, 0x002E3F, UC_PO}, - {0x002E40, 0x002E40, UC_PD}, - {0x002E41, 0x002E41, UC_PO}, - {0x002E42, 0x002E42, UC_PS}, - {0x002E43, 0x002E4F, UC_PO}, - {0x002E50, 0x002E51, UC_SO}, - {0x002E52, 0x002E54, UC_PO}, - {0x002E55, 0x002E55, UC_PS}, - {0x002E56, 0x002E56, UC_PE}, - {0x002E57, 0x002E57, UC_PS}, - {0x002E58, 0x002E58, UC_PE}, - {0x002E59, 0x002E59, UC_PS}, - {0x002E5A, 0x002E5A, UC_PE}, - {0x002E5B, 0x002E5B, UC_PS}, - {0x002E5C, 0x002E5C, UC_PE}, - {0x002E5D, 0x002E5D, UC_PD}, - {0x002E80, 0x002E99, UC_SO}, - {0x002E9B, 0x002EF3, UC_SO}, - {0x002F00, 0x002FD5, UC_SO}, - {0x002FF0, 0x002FFF, UC_SO}, - {0x003000, 0x003000, UC_ZS}, - {0x003001, 0x003003, UC_PO}, - {0x003004, 0x003004, UC_SO}, - {0x003005, 0x003005, UC_LM}, - {0x003006, 0x003006, UC_LO}, - {0x003007, 0x003007, UC_NL}, - {0x003008, 0x003008, UC_PS}, - {0x003009, 0x003009, UC_PE}, - {0x00300A, 0x00300A, UC_PS}, - {0x00300B, 0x00300B, UC_PE}, - {0x00300C, 0x00300C, UC_PS}, - {0x00300D, 0x00300D, UC_PE}, - {0x00300E, 0x00300E, UC_PS}, - {0x00300F, 0x00300F, UC_PE}, - {0x003010, 0x003010, UC_PS}, - {0x003011, 0x003011, UC_PE}, - {0x003012, 0x003013, UC_SO}, - {0x003014, 0x003014, UC_PS}, - {0x003015, 0x003015, UC_PE}, - {0x003016, 0x003016, UC_PS}, - {0x003017, 0x003017, UC_PE}, - {0x003018, 0x003018, UC_PS}, - {0x003019, 0x003019, UC_PE}, - {0x00301A, 0x00301A, UC_PS}, - {0x00301B, 0x00301B, UC_PE}, - {0x00301C, 0x00301C, UC_PD}, - {0x00301D, 0x00301D, UC_PS}, - {0x00301E, 0x00301F, UC_PE}, - {0x003020, 0x003020, UC_SO}, - {0x003021, 0x003029, UC_NL}, - {0x00302A, 0x00302D, UC_MN}, - {0x00302E, 0x00302F, UC_MC}, - {0x003030, 0x003030, UC_PD}, - {0x003031, 0x003035, UC_LM}, - {0x003036, 0x003037, UC_SO}, - {0x003038, 0x00303A, UC_NL}, - {0x00303B, 0x00303B, UC_LM}, - {0x00303C, 0x00303C, UC_LO}, - {0x00303D, 0x00303D, UC_PO}, - {0x00303E, 0x00303F, UC_SO}, - {0x003041, 0x003096, UC_LO}, - {0x003099, 0x00309A, UC_MN}, - {0x00309B, 0x00309C, UC_SK}, - {0x00309D, 0x00309E, UC_LM}, - {0x00309F, 0x00309F, UC_LO}, - {0x0030A0, 0x0030A0, UC_PD}, - {0x0030A1, 0x0030FA, UC_LO}, - {0x0030FB, 0x0030FB, UC_PO}, - {0x0030FC, 0x0030FE, UC_LM}, - {0x0030FF, 0x0030FF, UC_LO}, - {0x003105, 0x00312F, UC_LO}, - {0x003131, 0x00318E, UC_LO}, - {0x003190, 0x003191, UC_SO}, - {0x003192, 0x003195, UC_NO}, - {0x003196, 0x00319F, UC_SO}, - {0x0031A0, 0x0031BF, UC_LO}, - {0x0031C0, 0x0031E3, UC_SO}, - {0x0031EF, 0x0031EF, UC_SO}, - {0x0031F0, 0x0031FF, UC_LO}, - {0x003200, 0x00321E, UC_SO}, - {0x003220, 0x003229, UC_NO}, - {0x00322A, 0x003247, UC_SO}, - {0x003248, 0x00324F, UC_NO}, - {0x003250, 0x003250, UC_SO}, - {0x003251, 0x00325F, UC_NO}, - {0x003260, 0x00327F, UC_SO}, - {0x003280, 0x003289, UC_NO}, - {0x00328A, 0x0032B0, UC_SO}, - {0x0032B1, 0x0032BF, UC_NO}, - {0x0032C0, 0x0033FF, UC_SO}, - {0x003400, 0x004DBF, UC_LO}, - {0x004DC0, 0x004DFF, UC_SO}, - {0x004E00, 0x00A014, UC_LO}, - {0x00A015, 0x00A015, UC_LM}, - {0x00A016, 0x00A48C, UC_LO}, - {0x00A490, 0x00A4C6, UC_SO}, - {0x00A4D0, 0x00A4F7, UC_LO}, - {0x00A4F8, 0x00A4FD, UC_LM}, - {0x00A4FE, 0x00A4FF, UC_PO}, - {0x00A500, 0x00A60B, UC_LO}, - {0x00A60C, 0x00A60C, UC_LM}, - {0x00A60D, 0x00A60F, UC_PO}, - {0x00A610, 0x00A61F, UC_LO}, - {0x00A620, 0x00A629, UC_ND}, - {0x00A62A, 0x00A62B, UC_LO}, - {0x00A640, 0x00A640, UC_LU}, - {0x00A641, 0x00A641, UC_LL}, - {0x00A642, 0x00A642, UC_LU}, - {0x00A643, 0x00A643, UC_LL}, - {0x00A644, 0x00A644, UC_LU}, - {0x00A645, 0x00A645, UC_LL}, - {0x00A646, 0x00A646, UC_LU}, - {0x00A647, 0x00A647, UC_LL}, - {0x00A648, 0x00A648, UC_LU}, - {0x00A649, 0x00A649, UC_LL}, - {0x00A64A, 0x00A64A, UC_LU}, - {0x00A64B, 0x00A64B, UC_LL}, - {0x00A64C, 0x00A64C, UC_LU}, - {0x00A64D, 0x00A64D, UC_LL}, - {0x00A64E, 0x00A64E, UC_LU}, - {0x00A64F, 0x00A64F, UC_LL}, - {0x00A650, 0x00A650, UC_LU}, - {0x00A651, 0x00A651, UC_LL}, - {0x00A652, 0x00A652, UC_LU}, - {0x00A653, 0x00A653, UC_LL}, - {0x00A654, 0x00A654, UC_LU}, - {0x00A655, 0x00A655, UC_LL}, - {0x00A656, 0x00A656, UC_LU}, - {0x00A657, 0x00A657, UC_LL}, - {0x00A658, 0x00A658, UC_LU}, - {0x00A659, 0x00A659, UC_LL}, - {0x00A65A, 0x00A65A, UC_LU}, - {0x00A65B, 0x00A65B, UC_LL}, - {0x00A65C, 0x00A65C, UC_LU}, - {0x00A65D, 0x00A65D, UC_LL}, - {0x00A65E, 0x00A65E, UC_LU}, - {0x00A65F, 0x00A65F, UC_LL}, - {0x00A660, 0x00A660, UC_LU}, - {0x00A661, 0x00A661, UC_LL}, - {0x00A662, 0x00A662, UC_LU}, - {0x00A663, 0x00A663, UC_LL}, - {0x00A664, 0x00A664, UC_LU}, - {0x00A665, 0x00A665, UC_LL}, - {0x00A666, 0x00A666, UC_LU}, - {0x00A667, 0x00A667, UC_LL}, - {0x00A668, 0x00A668, UC_LU}, - {0x00A669, 0x00A669, UC_LL}, - {0x00A66A, 0x00A66A, UC_LU}, - {0x00A66B, 0x00A66B, UC_LL}, - {0x00A66C, 0x00A66C, UC_LU}, - {0x00A66D, 0x00A66D, UC_LL}, - {0x00A66E, 0x00A66E, UC_LO}, - {0x00A66F, 0x00A66F, UC_MN}, - {0x00A670, 0x00A672, UC_ME}, - {0x00A673, 0x00A673, UC_PO}, - {0x00A674, 0x00A67D, UC_MN}, - {0x00A67E, 0x00A67E, UC_PO}, - {0x00A67F, 0x00A67F, UC_LM}, - {0x00A680, 0x00A680, UC_LU}, - {0x00A681, 0x00A681, UC_LL}, - {0x00A682, 0x00A682, UC_LU}, - {0x00A683, 0x00A683, UC_LL}, - {0x00A684, 0x00A684, UC_LU}, - {0x00A685, 0x00A685, UC_LL}, - {0x00A686, 0x00A686, UC_LU}, - {0x00A687, 0x00A687, UC_LL}, - {0x00A688, 0x00A688, UC_LU}, - {0x00A689, 0x00A689, UC_LL}, - {0x00A68A, 0x00A68A, UC_LU}, - {0x00A68B, 0x00A68B, UC_LL}, - {0x00A68C, 0x00A68C, UC_LU}, - {0x00A68D, 0x00A68D, UC_LL}, - {0x00A68E, 0x00A68E, UC_LU}, - {0x00A68F, 0x00A68F, UC_LL}, - {0x00A690, 0x00A690, UC_LU}, - {0x00A691, 0x00A691, UC_LL}, - {0x00A692, 0x00A692, UC_LU}, - {0x00A693, 0x00A693, UC_LL}, - {0x00A694, 0x00A694, UC_LU}, - {0x00A695, 0x00A695, UC_LL}, - {0x00A696, 0x00A696, UC_LU}, - {0x00A697, 0x00A697, UC_LL}, - {0x00A698, 0x00A698, UC_LU}, - {0x00A699, 0x00A699, UC_LL}, - {0x00A69A, 0x00A69A, UC_LU}, - {0x00A69B, 0x00A69B, UC_LL}, - {0x00A69C, 0x00A69D, UC_LM}, - {0x00A69E, 0x00A69F, UC_MN}, - {0x00A6A0, 0x00A6E5, UC_LO}, - {0x00A6E6, 0x00A6EF, UC_NL}, - {0x00A6F0, 0x00A6F1, UC_MN}, - {0x00A6F2, 0x00A6F7, UC_PO}, - {0x00A700, 0x00A716, UC_SK}, - {0x00A717, 0x00A71F, UC_LM}, - {0x00A720, 0x00A721, UC_SK}, - {0x00A722, 0x00A722, UC_LU}, - {0x00A723, 0x00A723, UC_LL}, - {0x00A724, 0x00A724, UC_LU}, - {0x00A725, 0x00A725, UC_LL}, - {0x00A726, 0x00A726, UC_LU}, - {0x00A727, 0x00A727, UC_LL}, - {0x00A728, 0x00A728, UC_LU}, - {0x00A729, 0x00A729, UC_LL}, - {0x00A72A, 0x00A72A, UC_LU}, - {0x00A72B, 0x00A72B, UC_LL}, - {0x00A72C, 0x00A72C, UC_LU}, - {0x00A72D, 0x00A72D, UC_LL}, - {0x00A72E, 0x00A72E, UC_LU}, - {0x00A72F, 0x00A731, UC_LL}, - {0x00A732, 0x00A732, UC_LU}, - {0x00A733, 0x00A733, UC_LL}, - {0x00A734, 0x00A734, UC_LU}, - {0x00A735, 0x00A735, UC_LL}, - {0x00A736, 0x00A736, UC_LU}, - {0x00A737, 0x00A737, UC_LL}, - {0x00A738, 0x00A738, UC_LU}, - {0x00A739, 0x00A739, UC_LL}, - {0x00A73A, 0x00A73A, UC_LU}, - {0x00A73B, 0x00A73B, UC_LL}, - {0x00A73C, 0x00A73C, UC_LU}, - {0x00A73D, 0x00A73D, UC_LL}, - {0x00A73E, 0x00A73E, UC_LU}, - {0x00A73F, 0x00A73F, UC_LL}, - {0x00A740, 0x00A740, UC_LU}, - {0x00A741, 0x00A741, UC_LL}, - {0x00A742, 0x00A742, UC_LU}, - {0x00A743, 0x00A743, UC_LL}, - {0x00A744, 0x00A744, UC_LU}, - {0x00A745, 0x00A745, UC_LL}, - {0x00A746, 0x00A746, UC_LU}, - {0x00A747, 0x00A747, UC_LL}, - {0x00A748, 0x00A748, UC_LU}, - {0x00A749, 0x00A749, UC_LL}, - {0x00A74A, 0x00A74A, UC_LU}, - {0x00A74B, 0x00A74B, UC_LL}, - {0x00A74C, 0x00A74C, UC_LU}, - {0x00A74D, 0x00A74D, UC_LL}, - {0x00A74E, 0x00A74E, UC_LU}, - {0x00A74F, 0x00A74F, UC_LL}, - {0x00A750, 0x00A750, UC_LU}, - {0x00A751, 0x00A751, UC_LL}, - {0x00A752, 0x00A752, UC_LU}, - {0x00A753, 0x00A753, UC_LL}, - {0x00A754, 0x00A754, UC_LU}, - {0x00A755, 0x00A755, UC_LL}, - {0x00A756, 0x00A756, UC_LU}, - {0x00A757, 0x00A757, UC_LL}, - {0x00A758, 0x00A758, UC_LU}, - {0x00A759, 0x00A759, UC_LL}, - {0x00A75A, 0x00A75A, UC_LU}, - {0x00A75B, 0x00A75B, UC_LL}, - {0x00A75C, 0x00A75C, UC_LU}, - {0x00A75D, 0x00A75D, UC_LL}, - {0x00A75E, 0x00A75E, UC_LU}, - {0x00A75F, 0x00A75F, UC_LL}, - {0x00A760, 0x00A760, UC_LU}, - {0x00A761, 0x00A761, UC_LL}, - {0x00A762, 0x00A762, UC_LU}, - {0x00A763, 0x00A763, UC_LL}, - {0x00A764, 0x00A764, UC_LU}, - {0x00A765, 0x00A765, UC_LL}, - {0x00A766, 0x00A766, UC_LU}, - {0x00A767, 0x00A767, UC_LL}, - {0x00A768, 0x00A768, UC_LU}, - {0x00A769, 0x00A769, UC_LL}, - {0x00A76A, 0x00A76A, UC_LU}, - {0x00A76B, 0x00A76B, UC_LL}, - {0x00A76C, 0x00A76C, UC_LU}, - {0x00A76D, 0x00A76D, UC_LL}, - {0x00A76E, 0x00A76E, UC_LU}, - {0x00A76F, 0x00A76F, UC_LL}, - {0x00A770, 0x00A770, UC_LM}, - {0x00A771, 0x00A778, UC_LL}, - {0x00A779, 0x00A779, UC_LU}, - {0x00A77A, 0x00A77A, UC_LL}, - {0x00A77B, 0x00A77B, UC_LU}, - {0x00A77C, 0x00A77C, UC_LL}, - {0x00A77D, 0x00A77E, UC_LU}, - {0x00A77F, 0x00A77F, UC_LL}, - {0x00A780, 0x00A780, UC_LU}, - {0x00A781, 0x00A781, UC_LL}, - {0x00A782, 0x00A782, UC_LU}, - {0x00A783, 0x00A783, UC_LL}, - {0x00A784, 0x00A784, UC_LU}, - {0x00A785, 0x00A785, UC_LL}, - {0x00A786, 0x00A786, UC_LU}, - {0x00A787, 0x00A787, UC_LL}, - {0x00A788, 0x00A788, UC_LM}, - {0x00A789, 0x00A78A, UC_SK}, - {0x00A78B, 0x00A78B, UC_LU}, - {0x00A78C, 0x00A78C, UC_LL}, - {0x00A78D, 0x00A78D, UC_LU}, - {0x00A78E, 0x00A78E, UC_LL}, - {0x00A78F, 0x00A78F, UC_LO}, - {0x00A790, 0x00A790, UC_LU}, - {0x00A791, 0x00A791, UC_LL}, - {0x00A792, 0x00A792, UC_LU}, - {0x00A793, 0x00A795, UC_LL}, - {0x00A796, 0x00A796, UC_LU}, - {0x00A797, 0x00A797, UC_LL}, - {0x00A798, 0x00A798, UC_LU}, - {0x00A799, 0x00A799, UC_LL}, - {0x00A79A, 0x00A79A, UC_LU}, - {0x00A79B, 0x00A79B, UC_LL}, - {0x00A79C, 0x00A79C, UC_LU}, - {0x00A79D, 0x00A79D, UC_LL}, - {0x00A79E, 0x00A79E, UC_LU}, - {0x00A79F, 0x00A79F, UC_LL}, - {0x00A7A0, 0x00A7A0, UC_LU}, - {0x00A7A1, 0x00A7A1, UC_LL}, - {0x00A7A2, 0x00A7A2, UC_LU}, - {0x00A7A3, 0x00A7A3, UC_LL}, - {0x00A7A4, 0x00A7A4, UC_LU}, - {0x00A7A5, 0x00A7A5, UC_LL}, - {0x00A7A6, 0x00A7A6, UC_LU}, - {0x00A7A7, 0x00A7A7, UC_LL}, - {0x00A7A8, 0x00A7A8, UC_LU}, - {0x00A7A9, 0x00A7A9, UC_LL}, - {0x00A7AA, 0x00A7AE, UC_LU}, - {0x00A7AF, 0x00A7AF, UC_LL}, - {0x00A7B0, 0x00A7B4, UC_LU}, - {0x00A7B5, 0x00A7B5, UC_LL}, - {0x00A7B6, 0x00A7B6, UC_LU}, - {0x00A7B7, 0x00A7B7, UC_LL}, - {0x00A7B8, 0x00A7B8, UC_LU}, - {0x00A7B9, 0x00A7B9, UC_LL}, - {0x00A7BA, 0x00A7BA, UC_LU}, - {0x00A7BB, 0x00A7BB, UC_LL}, - {0x00A7BC, 0x00A7BC, UC_LU}, - {0x00A7BD, 0x00A7BD, UC_LL}, - {0x00A7BE, 0x00A7BE, UC_LU}, - {0x00A7BF, 0x00A7BF, UC_LL}, - {0x00A7C0, 0x00A7C0, UC_LU}, - {0x00A7C1, 0x00A7C1, UC_LL}, - {0x00A7C2, 0x00A7C2, UC_LU}, - {0x00A7C3, 0x00A7C3, UC_LL}, - {0x00A7C4, 0x00A7C7, UC_LU}, - {0x00A7C8, 0x00A7C8, UC_LL}, - {0x00A7C9, 0x00A7C9, UC_LU}, - {0x00A7CA, 0x00A7CA, UC_LL}, - {0x00A7D0, 0x00A7D0, UC_LU}, - {0x00A7D1, 0x00A7D1, UC_LL}, - {0x00A7D3, 0x00A7D3, UC_LL}, - {0x00A7D5, 0x00A7D5, UC_LL}, - {0x00A7D6, 0x00A7D6, UC_LU}, - {0x00A7D7, 0x00A7D7, UC_LL}, - {0x00A7D8, 0x00A7D8, UC_LU}, - {0x00A7D9, 0x00A7D9, UC_LL}, - {0x00A7F2, 0x00A7F4, UC_LM}, - {0x00A7F5, 0x00A7F5, UC_LU}, - {0x00A7F6, 0x00A7F6, UC_LL}, - {0x00A7F7, 0x00A7F7, UC_LO}, - {0x00A7F8, 0x00A7F9, UC_LM}, - {0x00A7FA, 0x00A7FA, UC_LL}, - {0x00A7FB, 0x00A801, UC_LO}, - {0x00A802, 0x00A802, UC_MN}, - {0x00A803, 0x00A805, UC_LO}, - {0x00A806, 0x00A806, UC_MN}, - {0x00A807, 0x00A80A, UC_LO}, - {0x00A80B, 0x00A80B, UC_MN}, - {0x00A80C, 0x00A822, UC_LO}, - {0x00A823, 0x00A824, UC_MC}, - {0x00A825, 0x00A826, UC_MN}, - {0x00A827, 0x00A827, UC_MC}, - {0x00A828, 0x00A82B, UC_SO}, - {0x00A82C, 0x00A82C, UC_MN}, - {0x00A830, 0x00A835, UC_NO}, - {0x00A836, 0x00A837, UC_SO}, - {0x00A838, 0x00A838, UC_SC}, - {0x00A839, 0x00A839, UC_SO}, - {0x00A840, 0x00A873, UC_LO}, - {0x00A874, 0x00A877, UC_PO}, - {0x00A880, 0x00A881, UC_MC}, - {0x00A882, 0x00A8B3, UC_LO}, - {0x00A8B4, 0x00A8C3, UC_MC}, - {0x00A8C4, 0x00A8C5, UC_MN}, - {0x00A8CE, 0x00A8CF, UC_PO}, - {0x00A8D0, 0x00A8D9, UC_ND}, - {0x00A8E0, 0x00A8F1, UC_MN}, - {0x00A8F2, 0x00A8F7, UC_LO}, - {0x00A8F8, 0x00A8FA, UC_PO}, - {0x00A8FB, 0x00A8FB, UC_LO}, - {0x00A8FC, 0x00A8FC, UC_PO}, - {0x00A8FD, 0x00A8FE, UC_LO}, - {0x00A8FF, 0x00A8FF, UC_MN}, - {0x00A900, 0x00A909, UC_ND}, - {0x00A90A, 0x00A925, UC_LO}, - {0x00A926, 0x00A92D, UC_MN}, - {0x00A92E, 0x00A92F, UC_PO}, - {0x00A930, 0x00A946, UC_LO}, - {0x00A947, 0x00A951, UC_MN}, - {0x00A952, 0x00A953, UC_MC}, - {0x00A95F, 0x00A95F, UC_PO}, - {0x00A960, 0x00A97C, UC_LO}, - {0x00A980, 0x00A982, UC_MN}, - {0x00A983, 0x00A983, UC_MC}, - {0x00A984, 0x00A9B2, UC_LO}, - {0x00A9B3, 0x00A9B3, UC_MN}, - {0x00A9B4, 0x00A9B5, UC_MC}, - {0x00A9B6, 0x00A9B9, UC_MN}, - {0x00A9BA, 0x00A9BB, UC_MC}, - {0x00A9BC, 0x00A9BD, UC_MN}, - {0x00A9BE, 0x00A9C0, UC_MC}, - {0x00A9C1, 0x00A9CD, UC_PO}, - {0x00A9CF, 0x00A9CF, UC_LM}, - {0x00A9D0, 0x00A9D9, UC_ND}, - {0x00A9DE, 0x00A9DF, UC_PO}, - {0x00A9E0, 0x00A9E4, UC_LO}, - {0x00A9E5, 0x00A9E5, UC_MN}, - {0x00A9E6, 0x00A9E6, UC_LM}, - {0x00A9E7, 0x00A9EF, UC_LO}, - {0x00A9F0, 0x00A9F9, UC_ND}, - {0x00A9FA, 0x00A9FE, UC_LO}, - {0x00AA00, 0x00AA28, UC_LO}, - {0x00AA29, 0x00AA2E, UC_MN}, - {0x00AA2F, 0x00AA30, UC_MC}, - {0x00AA31, 0x00AA32, UC_MN}, - {0x00AA33, 0x00AA34, UC_MC}, - {0x00AA35, 0x00AA36, UC_MN}, - {0x00AA40, 0x00AA42, UC_LO}, - {0x00AA43, 0x00AA43, UC_MN}, - {0x00AA44, 0x00AA4B, UC_LO}, - {0x00AA4C, 0x00AA4C, UC_MN}, - {0x00AA4D, 0x00AA4D, UC_MC}, - {0x00AA50, 0x00AA59, UC_ND}, - {0x00AA5C, 0x00AA5F, UC_PO}, - {0x00AA60, 0x00AA6F, UC_LO}, - {0x00AA70, 0x00AA70, UC_LM}, - {0x00AA71, 0x00AA76, UC_LO}, - {0x00AA77, 0x00AA79, UC_SO}, - {0x00AA7A, 0x00AA7A, UC_LO}, - {0x00AA7B, 0x00AA7B, UC_MC}, - {0x00AA7C, 0x00AA7C, UC_MN}, - {0x00AA7D, 0x00AA7D, UC_MC}, - {0x00AA7E, 0x00AAAF, UC_LO}, - {0x00AAB0, 0x00AAB0, UC_MN}, - {0x00AAB1, 0x00AAB1, UC_LO}, - {0x00AAB2, 0x00AAB4, UC_MN}, - {0x00AAB5, 0x00AAB6, UC_LO}, - {0x00AAB7, 0x00AAB8, UC_MN}, - {0x00AAB9, 0x00AABD, UC_LO}, - {0x00AABE, 0x00AABF, UC_MN}, - {0x00AAC0, 0x00AAC0, UC_LO}, - {0x00AAC1, 0x00AAC1, UC_MN}, - {0x00AAC2, 0x00AAC2, UC_LO}, - {0x00AADB, 0x00AADC, UC_LO}, - {0x00AADD, 0x00AADD, UC_LM}, - {0x00AADE, 0x00AADF, UC_PO}, - {0x00AAE0, 0x00AAEA, UC_LO}, - {0x00AAEB, 0x00AAEB, UC_MC}, - {0x00AAEC, 0x00AAED, UC_MN}, - {0x00AAEE, 0x00AAEF, UC_MC}, - {0x00AAF0, 0x00AAF1, UC_PO}, - {0x00AAF2, 0x00AAF2, UC_LO}, - {0x00AAF3, 0x00AAF4, UC_LM}, - {0x00AAF5, 0x00AAF5, UC_MC}, - {0x00AAF6, 0x00AAF6, UC_MN}, - {0x00AB01, 0x00AB06, UC_LO}, - {0x00AB09, 0x00AB0E, UC_LO}, - {0x00AB11, 0x00AB16, UC_LO}, - {0x00AB20, 0x00AB26, UC_LO}, - {0x00AB28, 0x00AB2E, UC_LO}, - {0x00AB30, 0x00AB5A, UC_LL}, - {0x00AB5B, 0x00AB5B, UC_SK}, - {0x00AB5C, 0x00AB5F, UC_LM}, - {0x00AB60, 0x00AB68, UC_LL}, - {0x00AB69, 0x00AB69, UC_LM}, - {0x00AB6A, 0x00AB6B, UC_SK}, - {0x00AB70, 0x00ABBF, UC_LL}, - {0x00ABC0, 0x00ABE2, UC_LO}, - {0x00ABE3, 0x00ABE4, UC_MC}, - {0x00ABE5, 0x00ABE5, UC_MN}, - {0x00ABE6, 0x00ABE7, UC_MC}, - {0x00ABE8, 0x00ABE8, UC_MN}, - {0x00ABE9, 0x00ABEA, UC_MC}, - {0x00ABEB, 0x00ABEB, UC_PO}, - {0x00ABEC, 0x00ABEC, UC_MC}, - {0x00ABED, 0x00ABED, UC_MN}, - {0x00ABF0, 0x00ABF9, UC_ND}, - {0x00AC00, 0x00D7A3, UC_LO}, - {0x00D7B0, 0x00D7C6, UC_LO}, - {0x00D7CB, 0x00D7FB, UC_LO}, - {0x00D800, 0x00DFFF, UC_CS}, - {0x00E000, 0x00F8FF, UC_CO}, - {0x00F900, 0x00FA6D, UC_LO}, - {0x00FA70, 0x00FAD9, UC_LO}, - {0x00FB00, 0x00FB06, UC_LL}, - {0x00FB13, 0x00FB17, UC_LL}, - {0x00FB1D, 0x00FB1D, UC_LO}, - {0x00FB1E, 0x00FB1E, UC_MN}, - {0x00FB1F, 0x00FB28, UC_LO}, - {0x00FB29, 0x00FB29, UC_SM}, - {0x00FB2A, 0x00FB36, UC_LO}, - {0x00FB38, 0x00FB3C, UC_LO}, - {0x00FB3E, 0x00FB3E, UC_LO}, - {0x00FB40, 0x00FB41, UC_LO}, - {0x00FB43, 0x00FB44, UC_LO}, - {0x00FB46, 0x00FBB1, UC_LO}, - {0x00FBB2, 0x00FBC2, UC_SK}, - {0x00FBD3, 0x00FD3D, UC_LO}, - {0x00FD3E, 0x00FD3E, UC_PE}, - {0x00FD3F, 0x00FD3F, UC_PS}, - {0x00FD40, 0x00FD4F, UC_SO}, - {0x00FD50, 0x00FD8F, UC_LO}, - {0x00FD92, 0x00FDC7, UC_LO}, - {0x00FDCF, 0x00FDCF, UC_SO}, - {0x00FDF0, 0x00FDFB, UC_LO}, - {0x00FDFC, 0x00FDFC, UC_SC}, - {0x00FDFD, 0x00FDFF, UC_SO}, - {0x00FE00, 0x00FE0F, UC_MN}, - {0x00FE10, 0x00FE16, UC_PO}, - {0x00FE17, 0x00FE17, UC_PS}, - {0x00FE18, 0x00FE18, UC_PE}, - {0x00FE19, 0x00FE19, UC_PO}, - {0x00FE20, 0x00FE2F, UC_MN}, - {0x00FE30, 0x00FE30, UC_PO}, - {0x00FE31, 0x00FE32, UC_PD}, - {0x00FE33, 0x00FE34, UC_PC}, - {0x00FE35, 0x00FE35, UC_PS}, - {0x00FE36, 0x00FE36, UC_PE}, - {0x00FE37, 0x00FE37, UC_PS}, - {0x00FE38, 0x00FE38, UC_PE}, - {0x00FE39, 0x00FE39, UC_PS}, - {0x00FE3A, 0x00FE3A, UC_PE}, - {0x00FE3B, 0x00FE3B, UC_PS}, - {0x00FE3C, 0x00FE3C, UC_PE}, - {0x00FE3D, 0x00FE3D, UC_PS}, - {0x00FE3E, 0x00FE3E, UC_PE}, - {0x00FE3F, 0x00FE3F, UC_PS}, - {0x00FE40, 0x00FE40, UC_PE}, - {0x00FE41, 0x00FE41, UC_PS}, - {0x00FE42, 0x00FE42, UC_PE}, - {0x00FE43, 0x00FE43, UC_PS}, - {0x00FE44, 0x00FE44, UC_PE}, - {0x00FE45, 0x00FE46, UC_PO}, - {0x00FE47, 0x00FE47, UC_PS}, - {0x00FE48, 0x00FE48, UC_PE}, - {0x00FE49, 0x00FE4C, UC_PO}, - {0x00FE4D, 0x00FE4F, UC_PC}, - {0x00FE50, 0x00FE52, UC_PO}, - {0x00FE54, 0x00FE57, UC_PO}, - {0x00FE58, 0x00FE58, UC_PD}, - {0x00FE59, 0x00FE59, UC_PS}, - {0x00FE5A, 0x00FE5A, UC_PE}, - {0x00FE5B, 0x00FE5B, UC_PS}, - {0x00FE5C, 0x00FE5C, UC_PE}, - {0x00FE5D, 0x00FE5D, UC_PS}, - {0x00FE5E, 0x00FE5E, UC_PE}, - {0x00FE5F, 0x00FE61, UC_PO}, - {0x00FE62, 0x00FE62, UC_SM}, - {0x00FE63, 0x00FE63, UC_PD}, - {0x00FE64, 0x00FE66, UC_SM}, - {0x00FE68, 0x00FE68, UC_PO}, - {0x00FE69, 0x00FE69, UC_SC}, - {0x00FE6A, 0x00FE6B, UC_PO}, - {0x00FE70, 0x00FE74, UC_LO}, - {0x00FE76, 0x00FEFC, UC_LO}, - {0x00FEFF, 0x00FEFF, UC_CF}, - {0x00FF01, 0x00FF03, UC_PO}, - {0x00FF04, 0x00FF04, UC_SC}, - {0x00FF05, 0x00FF07, UC_PO}, - {0x00FF08, 0x00FF08, UC_PS}, - {0x00FF09, 0x00FF09, UC_PE}, - {0x00FF0A, 0x00FF0A, UC_PO}, - {0x00FF0B, 0x00FF0B, UC_SM}, - {0x00FF0C, 0x00FF0C, UC_PO}, - {0x00FF0D, 0x00FF0D, UC_PD}, - {0x00FF0E, 0x00FF0F, UC_PO}, - {0x00FF10, 0x00FF19, UC_ND}, - {0x00FF1A, 0x00FF1B, UC_PO}, - {0x00FF1C, 0x00FF1E, UC_SM}, - {0x00FF1F, 0x00FF20, UC_PO}, - {0x00FF21, 0x00FF3A, UC_LU}, - {0x00FF3B, 0x00FF3B, UC_PS}, - {0x00FF3C, 0x00FF3C, UC_PO}, - {0x00FF3D, 0x00FF3D, UC_PE}, - {0x00FF3E, 0x00FF3E, UC_SK}, - {0x00FF3F, 0x00FF3F, UC_PC}, - {0x00FF40, 0x00FF40, UC_SK}, - {0x00FF41, 0x00FF5A, UC_LL}, - {0x00FF5B, 0x00FF5B, UC_PS}, - {0x00FF5C, 0x00FF5C, UC_SM}, - {0x00FF5D, 0x00FF5D, UC_PE}, - {0x00FF5E, 0x00FF5E, UC_SM}, - {0x00FF5F, 0x00FF5F, UC_PS}, - {0x00FF60, 0x00FF60, UC_PE}, - {0x00FF61, 0x00FF61, UC_PO}, - {0x00FF62, 0x00FF62, UC_PS}, - {0x00FF63, 0x00FF63, UC_PE}, - {0x00FF64, 0x00FF65, UC_PO}, - {0x00FF66, 0x00FF6F, UC_LO}, - {0x00FF70, 0x00FF70, UC_LM}, - {0x00FF71, 0x00FF9D, UC_LO}, - {0x00FF9E, 0x00FF9F, UC_LM}, - {0x00FFA0, 0x00FFBE, UC_LO}, - {0x00FFC2, 0x00FFC7, UC_LO}, - {0x00FFCA, 0x00FFCF, UC_LO}, - {0x00FFD2, 0x00FFD7, UC_LO}, - {0x00FFDA, 0x00FFDC, UC_LO}, - {0x00FFE0, 0x00FFE1, UC_SC}, - {0x00FFE2, 0x00FFE2, UC_SM}, - {0x00FFE3, 0x00FFE3, UC_SK}, - {0x00FFE4, 0x00FFE4, UC_SO}, - {0x00FFE5, 0x00FFE6, UC_SC}, - {0x00FFE8, 0x00FFE8, UC_SO}, - {0x00FFE9, 0x00FFEC, UC_SM}, - {0x00FFED, 0x00FFEE, UC_SO}, - {0x00FFF9, 0x00FFFB, UC_CF}, - {0x00FFFC, 0x00FFFD, UC_SO}, - {0x010000, 0x01000B, UC_LO}, - {0x01000D, 0x010026, UC_LO}, - {0x010028, 0x01003A, UC_LO}, - {0x01003C, 0x01003D, UC_LO}, - {0x01003F, 0x01004D, UC_LO}, - {0x010050, 0x01005D, UC_LO}, - {0x010080, 0x0100FA, UC_LO}, - {0x010100, 0x010102, UC_PO}, - {0x010107, 0x010133, UC_NO}, - {0x010137, 0x01013F, UC_SO}, - {0x010140, 0x010174, UC_NL}, - {0x010175, 0x010178, UC_NO}, - {0x010179, 0x010189, UC_SO}, - {0x01018A, 0x01018B, UC_NO}, - {0x01018C, 0x01018E, UC_SO}, - {0x010190, 0x01019C, UC_SO}, - {0x0101A0, 0x0101A0, UC_SO}, - {0x0101D0, 0x0101FC, UC_SO}, - {0x0101FD, 0x0101FD, UC_MN}, - {0x010280, 0x01029C, UC_LO}, - {0x0102A0, 0x0102D0, UC_LO}, - {0x0102E0, 0x0102E0, UC_MN}, - {0x0102E1, 0x0102FB, UC_NO}, - {0x010300, 0x01031F, UC_LO}, - {0x010320, 0x010323, UC_NO}, - {0x01032D, 0x010340, UC_LO}, - {0x010341, 0x010341, UC_NL}, - {0x010342, 0x010349, UC_LO}, - {0x01034A, 0x01034A, UC_NL}, - {0x010350, 0x010375, UC_LO}, - {0x010376, 0x01037A, UC_MN}, - {0x010380, 0x01039D, UC_LO}, - {0x01039F, 0x01039F, UC_PO}, - {0x0103A0, 0x0103C3, UC_LO}, - {0x0103C8, 0x0103CF, UC_LO}, - {0x0103D0, 0x0103D0, UC_PO}, - {0x0103D1, 0x0103D5, UC_NL}, - {0x010400, 0x010427, UC_LU}, - {0x010428, 0x01044F, UC_LL}, - {0x010450, 0x01049D, UC_LO}, - {0x0104A0, 0x0104A9, UC_ND}, - {0x0104B0, 0x0104D3, UC_LU}, - {0x0104D8, 0x0104FB, UC_LL}, - {0x010500, 0x010527, UC_LO}, - {0x010530, 0x010563, UC_LO}, - {0x01056F, 0x01056F, UC_PO}, - {0x010570, 0x01057A, UC_LU}, - {0x01057C, 0x01058A, UC_LU}, - {0x01058C, 0x010592, UC_LU}, - {0x010594, 0x010595, UC_LU}, - {0x010597, 0x0105A1, UC_LL}, - {0x0105A3, 0x0105B1, UC_LL}, - {0x0105B3, 0x0105B9, UC_LL}, - {0x0105BB, 0x0105BC, UC_LL}, - {0x010600, 0x010736, UC_LO}, - {0x010740, 0x010755, UC_LO}, - {0x010760, 0x010767, UC_LO}, - {0x010780, 0x010785, UC_LM}, - {0x010787, 0x0107B0, UC_LM}, - {0x0107B2, 0x0107BA, UC_LM}, - {0x010800, 0x010805, UC_LO}, - {0x010808, 0x010808, UC_LO}, - {0x01080A, 0x010835, UC_LO}, - {0x010837, 0x010838, UC_LO}, - {0x01083C, 0x01083C, UC_LO}, - {0x01083F, 0x010855, UC_LO}, - {0x010857, 0x010857, UC_PO}, - {0x010858, 0x01085F, UC_NO}, - {0x010860, 0x010876, UC_LO}, - {0x010877, 0x010878, UC_SO}, - {0x010879, 0x01087F, UC_NO}, - {0x010880, 0x01089E, UC_LO}, - {0x0108A7, 0x0108AF, UC_NO}, - {0x0108E0, 0x0108F2, UC_LO}, - {0x0108F4, 0x0108F5, UC_LO}, - {0x0108FB, 0x0108FF, UC_NO}, - {0x010900, 0x010915, UC_LO}, - {0x010916, 0x01091B, UC_NO}, - {0x01091F, 0x01091F, UC_PO}, - {0x010920, 0x010939, UC_LO}, - {0x01093F, 0x01093F, UC_PO}, - {0x010980, 0x0109B7, UC_LO}, - {0x0109BC, 0x0109BD, UC_NO}, - {0x0109BE, 0x0109BF, UC_LO}, - {0x0109C0, 0x0109CF, UC_NO}, - {0x0109D2, 0x0109FF, UC_NO}, - {0x010A00, 0x010A00, UC_LO}, - {0x010A01, 0x010A03, UC_MN}, - {0x010A05, 0x010A06, UC_MN}, - {0x010A0C, 0x010A0F, UC_MN}, - {0x010A10, 0x010A13, UC_LO}, - {0x010A15, 0x010A17, UC_LO}, - {0x010A19, 0x010A35, UC_LO}, - {0x010A38, 0x010A3A, UC_MN}, - {0x010A3F, 0x010A3F, UC_MN}, - {0x010A40, 0x010A48, UC_NO}, - {0x010A50, 0x010A58, UC_PO}, - {0x010A60, 0x010A7C, UC_LO}, - {0x010A7D, 0x010A7E, UC_NO}, - {0x010A7F, 0x010A7F, UC_PO}, - {0x010A80, 0x010A9C, UC_LO}, - {0x010A9D, 0x010A9F, UC_NO}, - {0x010AC0, 0x010AC7, UC_LO}, - {0x010AC8, 0x010AC8, UC_SO}, - {0x010AC9, 0x010AE4, UC_LO}, - {0x010AE5, 0x010AE6, UC_MN}, - {0x010AEB, 0x010AEF, UC_NO}, - {0x010AF0, 0x010AF6, UC_PO}, - {0x010B00, 0x010B35, UC_LO}, - {0x010B39, 0x010B3F, UC_PO}, - {0x010B40, 0x010B55, UC_LO}, - {0x010B58, 0x010B5F, UC_NO}, - {0x010B60, 0x010B72, UC_LO}, - {0x010B78, 0x010B7F, UC_NO}, - {0x010B80, 0x010B91, UC_LO}, - {0x010B99, 0x010B9C, UC_PO}, - {0x010BA9, 0x010BAF, UC_NO}, - {0x010C00, 0x010C48, UC_LO}, - {0x010C80, 0x010CB2, UC_LU}, - {0x010CC0, 0x010CF2, UC_LL}, - {0x010CFA, 0x010CFF, UC_NO}, - {0x010D00, 0x010D23, UC_LO}, - {0x010D24, 0x010D27, UC_MN}, - {0x010D30, 0x010D39, UC_ND}, - {0x010E60, 0x010E7E, UC_NO}, - {0x010E80, 0x010EA9, UC_LO}, - {0x010EAB, 0x010EAC, UC_MN}, - {0x010EAD, 0x010EAD, UC_PD}, - {0x010EB0, 0x010EB1, UC_LO}, - {0x010EFD, 0x010EFF, UC_MN}, - {0x010F00, 0x010F1C, UC_LO}, - {0x010F1D, 0x010F26, UC_NO}, - {0x010F27, 0x010F27, UC_LO}, - {0x010F30, 0x010F45, UC_LO}, - {0x010F46, 0x010F50, UC_MN}, - {0x010F51, 0x010F54, UC_NO}, - {0x010F55, 0x010F59, UC_PO}, - {0x010F70, 0x010F81, UC_LO}, - {0x010F82, 0x010F85, UC_MN}, - {0x010F86, 0x010F89, UC_PO}, - {0x010FB0, 0x010FC4, UC_LO}, - {0x010FC5, 0x010FCB, UC_NO}, - {0x010FE0, 0x010FF6, UC_LO}, - {0x011000, 0x011000, UC_MC}, - {0x011001, 0x011001, UC_MN}, - {0x011002, 0x011002, UC_MC}, - {0x011003, 0x011037, UC_LO}, - {0x011038, 0x011046, UC_MN}, - {0x011047, 0x01104D, UC_PO}, - {0x011052, 0x011065, UC_NO}, - {0x011066, 0x01106F, UC_ND}, - {0x011070, 0x011070, UC_MN}, - {0x011071, 0x011072, UC_LO}, - {0x011073, 0x011074, UC_MN}, - {0x011075, 0x011075, UC_LO}, - {0x01107F, 0x011081, UC_MN}, - {0x011082, 0x011082, UC_MC}, - {0x011083, 0x0110AF, UC_LO}, - {0x0110B0, 0x0110B2, UC_MC}, - {0x0110B3, 0x0110B6, UC_MN}, - {0x0110B7, 0x0110B8, UC_MC}, - {0x0110B9, 0x0110BA, UC_MN}, - {0x0110BB, 0x0110BC, UC_PO}, - {0x0110BD, 0x0110BD, UC_CF}, - {0x0110BE, 0x0110C1, UC_PO}, - {0x0110C2, 0x0110C2, UC_MN}, - {0x0110CD, 0x0110CD, UC_CF}, - {0x0110D0, 0x0110E8, UC_LO}, - {0x0110F0, 0x0110F9, UC_ND}, - {0x011100, 0x011102, UC_MN}, - {0x011103, 0x011126, UC_LO}, - {0x011127, 0x01112B, UC_MN}, - {0x01112C, 0x01112C, UC_MC}, - {0x01112D, 0x011134, UC_MN}, - {0x011136, 0x01113F, UC_ND}, - {0x011140, 0x011143, UC_PO}, - {0x011144, 0x011144, UC_LO}, - {0x011145, 0x011146, UC_MC}, - {0x011147, 0x011147, UC_LO}, - {0x011150, 0x011172, UC_LO}, - {0x011173, 0x011173, UC_MN}, - {0x011174, 0x011175, UC_PO}, - {0x011176, 0x011176, UC_LO}, - {0x011180, 0x011181, UC_MN}, - {0x011182, 0x011182, UC_MC}, - {0x011183, 0x0111B2, UC_LO}, - {0x0111B3, 0x0111B5, UC_MC}, - {0x0111B6, 0x0111BE, UC_MN}, - {0x0111BF, 0x0111C0, UC_MC}, - {0x0111C1, 0x0111C4, UC_LO}, - {0x0111C5, 0x0111C8, UC_PO}, - {0x0111C9, 0x0111CC, UC_MN}, - {0x0111CD, 0x0111CD, UC_PO}, - {0x0111CE, 0x0111CE, UC_MC}, - {0x0111CF, 0x0111CF, UC_MN}, - {0x0111D0, 0x0111D9, UC_ND}, - {0x0111DA, 0x0111DA, UC_LO}, - {0x0111DB, 0x0111DB, UC_PO}, - {0x0111DC, 0x0111DC, UC_LO}, - {0x0111DD, 0x0111DF, UC_PO}, - {0x0111E1, 0x0111F4, UC_NO}, - {0x011200, 0x011211, UC_LO}, - {0x011213, 0x01122B, UC_LO}, - {0x01122C, 0x01122E, UC_MC}, - {0x01122F, 0x011231, UC_MN}, - {0x011232, 0x011233, UC_MC}, - {0x011234, 0x011234, UC_MN}, - {0x011235, 0x011235, UC_MC}, - {0x011236, 0x011237, UC_MN}, - {0x011238, 0x01123D, UC_PO}, - {0x01123E, 0x01123E, UC_MN}, - {0x01123F, 0x011240, UC_LO}, - {0x011241, 0x011241, UC_MN}, - {0x011280, 0x011286, UC_LO}, - {0x011288, 0x011288, UC_LO}, - {0x01128A, 0x01128D, UC_LO}, - {0x01128F, 0x01129D, UC_LO}, - {0x01129F, 0x0112A8, UC_LO}, - {0x0112A9, 0x0112A9, UC_PO}, - {0x0112B0, 0x0112DE, UC_LO}, - {0x0112DF, 0x0112DF, UC_MN}, - {0x0112E0, 0x0112E2, UC_MC}, - {0x0112E3, 0x0112EA, UC_MN}, - {0x0112F0, 0x0112F9, UC_ND}, - {0x011300, 0x011301, UC_MN}, - {0x011302, 0x011303, UC_MC}, - {0x011305, 0x01130C, UC_LO}, - {0x01130F, 0x011310, UC_LO}, - {0x011313, 0x011328, UC_LO}, - {0x01132A, 0x011330, UC_LO}, - {0x011332, 0x011333, UC_LO}, - {0x011335, 0x011339, UC_LO}, - {0x01133B, 0x01133C, UC_MN}, - {0x01133D, 0x01133D, UC_LO}, - {0x01133E, 0x01133F, UC_MC}, - {0x011340, 0x011340, UC_MN}, - {0x011341, 0x011344, UC_MC}, - {0x011347, 0x011348, UC_MC}, - {0x01134B, 0x01134D, UC_MC}, - {0x011350, 0x011350, UC_LO}, - {0x011357, 0x011357, UC_MC}, - {0x01135D, 0x011361, UC_LO}, - {0x011362, 0x011363, UC_MC}, - {0x011366, 0x01136C, UC_MN}, - {0x011370, 0x011374, UC_MN}, - {0x011400, 0x011434, UC_LO}, - {0x011435, 0x011437, UC_MC}, - {0x011438, 0x01143F, UC_MN}, - {0x011440, 0x011441, UC_MC}, - {0x011442, 0x011444, UC_MN}, - {0x011445, 0x011445, UC_MC}, - {0x011446, 0x011446, UC_MN}, - {0x011447, 0x01144A, UC_LO}, - {0x01144B, 0x01144F, UC_PO}, - {0x011450, 0x011459, UC_ND}, - {0x01145A, 0x01145B, UC_PO}, - {0x01145D, 0x01145D, UC_PO}, - {0x01145E, 0x01145E, UC_MN}, - {0x01145F, 0x011461, UC_LO}, - {0x011480, 0x0114AF, UC_LO}, - {0x0114B0, 0x0114B2, UC_MC}, - {0x0114B3, 0x0114B8, UC_MN}, - {0x0114B9, 0x0114B9, UC_MC}, - {0x0114BA, 0x0114BA, UC_MN}, - {0x0114BB, 0x0114BE, UC_MC}, - {0x0114BF, 0x0114C0, UC_MN}, - {0x0114C1, 0x0114C1, UC_MC}, - {0x0114C2, 0x0114C3, UC_MN}, - {0x0114C4, 0x0114C5, UC_LO}, - {0x0114C6, 0x0114C6, UC_PO}, - {0x0114C7, 0x0114C7, UC_LO}, - {0x0114D0, 0x0114D9, UC_ND}, - {0x011580, 0x0115AE, UC_LO}, - {0x0115AF, 0x0115B1, UC_MC}, - {0x0115B2, 0x0115B5, UC_MN}, - {0x0115B8, 0x0115BB, UC_MC}, - {0x0115BC, 0x0115BD, UC_MN}, - {0x0115BE, 0x0115BE, UC_MC}, - {0x0115BF, 0x0115C0, UC_MN}, - {0x0115C1, 0x0115D7, UC_PO}, - {0x0115D8, 0x0115DB, UC_LO}, - {0x0115DC, 0x0115DD, UC_MN}, - {0x011600, 0x01162F, UC_LO}, - {0x011630, 0x011632, UC_MC}, - {0x011633, 0x01163A, UC_MN}, - {0x01163B, 0x01163C, UC_MC}, - {0x01163D, 0x01163D, UC_MN}, - {0x01163E, 0x01163E, UC_MC}, - {0x01163F, 0x011640, UC_MN}, - {0x011641, 0x011643, UC_PO}, - {0x011644, 0x011644, UC_LO}, - {0x011650, 0x011659, UC_ND}, - {0x011660, 0x01166C, UC_PO}, - {0x011680, 0x0116AA, UC_LO}, - {0x0116AB, 0x0116AB, UC_MN}, - {0x0116AC, 0x0116AC, UC_MC}, - {0x0116AD, 0x0116AD, UC_MN}, - {0x0116AE, 0x0116AF, UC_MC}, - {0x0116B0, 0x0116B5, UC_MN}, - {0x0116B6, 0x0116B6, UC_MC}, - {0x0116B7, 0x0116B7, UC_MN}, - {0x0116B8, 0x0116B8, UC_LO}, - {0x0116B9, 0x0116B9, UC_PO}, - {0x0116C0, 0x0116C9, UC_ND}, - {0x011700, 0x01171A, UC_LO}, - {0x01171D, 0x01171F, UC_MN}, - {0x011720, 0x011721, UC_MC}, - {0x011722, 0x011725, UC_MN}, - {0x011726, 0x011726, UC_MC}, - {0x011727, 0x01172B, UC_MN}, - {0x011730, 0x011739, UC_ND}, - {0x01173A, 0x01173B, UC_NO}, - {0x01173C, 0x01173E, UC_PO}, - {0x01173F, 0x01173F, UC_SO}, - {0x011740, 0x011746, UC_LO}, - {0x011800, 0x01182B, UC_LO}, - {0x01182C, 0x01182E, UC_MC}, - {0x01182F, 0x011837, UC_MN}, - {0x011838, 0x011838, UC_MC}, - {0x011839, 0x01183A, UC_MN}, - {0x01183B, 0x01183B, UC_PO}, - {0x0118A0, 0x0118BF, UC_LU}, - {0x0118C0, 0x0118DF, UC_LL}, - {0x0118E0, 0x0118E9, UC_ND}, - {0x0118EA, 0x0118F2, UC_NO}, - {0x0118FF, 0x011906, UC_LO}, - {0x011909, 0x011909, UC_LO}, - {0x01190C, 0x011913, UC_LO}, - {0x011915, 0x011916, UC_LO}, - {0x011918, 0x01192F, UC_LO}, - {0x011930, 0x011935, UC_MC}, - {0x011937, 0x011938, UC_MC}, - {0x01193B, 0x01193C, UC_MN}, - {0x01193D, 0x01193D, UC_MC}, - {0x01193E, 0x01193E, UC_MN}, - {0x01193F, 0x01193F, UC_LO}, - {0x011940, 0x011940, UC_MC}, - {0x011941, 0x011941, UC_LO}, - {0x011942, 0x011942, UC_MC}, - {0x011943, 0x011943, UC_MN}, - {0x011944, 0x011946, UC_PO}, - {0x011950, 0x011959, UC_ND}, - {0x0119A0, 0x0119A7, UC_LO}, - {0x0119AA, 0x0119D0, UC_LO}, - {0x0119D1, 0x0119D3, UC_MC}, - {0x0119D4, 0x0119D7, UC_MN}, - {0x0119DA, 0x0119DB, UC_MN}, - {0x0119DC, 0x0119DF, UC_MC}, - {0x0119E0, 0x0119E0, UC_MN}, - {0x0119E1, 0x0119E1, UC_LO}, - {0x0119E2, 0x0119E2, UC_PO}, - {0x0119E3, 0x0119E3, UC_LO}, - {0x0119E4, 0x0119E4, UC_MC}, - {0x011A00, 0x011A00, UC_LO}, - {0x011A01, 0x011A0A, UC_MN}, - {0x011A0B, 0x011A32, UC_LO}, - {0x011A33, 0x011A38, UC_MN}, - {0x011A39, 0x011A39, UC_MC}, - {0x011A3A, 0x011A3A, UC_LO}, - {0x011A3B, 0x011A3E, UC_MN}, - {0x011A3F, 0x011A46, UC_PO}, - {0x011A47, 0x011A47, UC_MN}, - {0x011A50, 0x011A50, UC_LO}, - {0x011A51, 0x011A56, UC_MN}, - {0x011A57, 0x011A58, UC_MC}, - {0x011A59, 0x011A5B, UC_MN}, - {0x011A5C, 0x011A89, UC_LO}, - {0x011A8A, 0x011A96, UC_MN}, - {0x011A97, 0x011A97, UC_MC}, - {0x011A98, 0x011A99, UC_MN}, - {0x011A9A, 0x011A9C, UC_PO}, - {0x011A9D, 0x011A9D, UC_LO}, - {0x011A9E, 0x011AA2, UC_PO}, - {0x011AB0, 0x011AF8, UC_LO}, - {0x011B00, 0x011B09, UC_PO}, - {0x011C00, 0x011C08, UC_LO}, - {0x011C0A, 0x011C2E, UC_LO}, - {0x011C2F, 0x011C2F, UC_MC}, - {0x011C30, 0x011C36, UC_MN}, - {0x011C38, 0x011C3D, UC_MN}, - {0x011C3E, 0x011C3E, UC_MC}, - {0x011C3F, 0x011C3F, UC_MN}, - {0x011C40, 0x011C40, UC_LO}, - {0x011C41, 0x011C45, UC_PO}, - {0x011C50, 0x011C59, UC_ND}, - {0x011C5A, 0x011C6C, UC_NO}, - {0x011C70, 0x011C71, UC_PO}, - {0x011C72, 0x011C8F, UC_LO}, - {0x011C92, 0x011CA7, UC_MN}, - {0x011CA9, 0x011CA9, UC_MC}, - {0x011CAA, 0x011CB0, UC_MN}, - {0x011CB1, 0x011CB1, UC_MC}, - {0x011CB2, 0x011CB3, UC_MN}, - {0x011CB4, 0x011CB4, UC_MC}, - {0x011CB5, 0x011CB6, UC_MN}, - {0x011D00, 0x011D06, UC_LO}, - {0x011D08, 0x011D09, UC_LO}, - {0x011D0B, 0x011D30, UC_LO}, - {0x011D31, 0x011D36, UC_MN}, - {0x011D3A, 0x011D3A, UC_MN}, - {0x011D3C, 0x011D3D, UC_MN}, - {0x011D3F, 0x011D45, UC_MN}, - {0x011D46, 0x011D46, UC_LO}, - {0x011D47, 0x011D47, UC_MN}, - {0x011D50, 0x011D59, UC_ND}, - {0x011D60, 0x011D65, UC_LO}, - {0x011D67, 0x011D68, UC_LO}, - {0x011D6A, 0x011D89, UC_LO}, - {0x011D8A, 0x011D8E, UC_MC}, - {0x011D90, 0x011D91, UC_MN}, - {0x011D93, 0x011D94, UC_MC}, - {0x011D95, 0x011D95, UC_MN}, - {0x011D96, 0x011D96, UC_MC}, - {0x011D97, 0x011D97, UC_MN}, - {0x011D98, 0x011D98, UC_LO}, - {0x011DA0, 0x011DA9, UC_ND}, - {0x011EE0, 0x011EF2, UC_LO}, - {0x011EF3, 0x011EF4, UC_MN}, - {0x011EF5, 0x011EF6, UC_MC}, - {0x011EF7, 0x011EF8, UC_PO}, - {0x011F00, 0x011F01, UC_MN}, - {0x011F02, 0x011F02, UC_LO}, - {0x011F03, 0x011F03, UC_MC}, - {0x011F04, 0x011F10, UC_LO}, - {0x011F12, 0x011F33, UC_LO}, - {0x011F34, 0x011F35, UC_MC}, - {0x011F36, 0x011F3A, UC_MN}, - {0x011F3E, 0x011F3F, UC_MC}, - {0x011F40, 0x011F40, UC_MN}, - {0x011F41, 0x011F41, UC_MC}, - {0x011F42, 0x011F42, UC_MN}, - {0x011F43, 0x011F4F, UC_PO}, - {0x011F50, 0x011F59, UC_ND}, - {0x011FB0, 0x011FB0, UC_LO}, - {0x011FC0, 0x011FD4, UC_NO}, - {0x011FD5, 0x011FDC, UC_SO}, - {0x011FDD, 0x011FE0, UC_SC}, - {0x011FE1, 0x011FF1, UC_SO}, - {0x011FFF, 0x011FFF, UC_PO}, - {0x012000, 0x012399, UC_LO}, - {0x012400, 0x01246E, UC_NL}, - {0x012470, 0x012474, UC_PO}, - {0x012480, 0x012543, UC_LO}, - {0x012F90, 0x012FF0, UC_LO}, - {0x012FF1, 0x012FF2, UC_PO}, - {0x013000, 0x01342F, UC_LO}, - {0x013430, 0x01343F, UC_CF}, - {0x013440, 0x013440, UC_MN}, - {0x013441, 0x013446, UC_LO}, - {0x013447, 0x013455, UC_MN}, - {0x014400, 0x014646, UC_LO}, - {0x016800, 0x016A38, UC_LO}, - {0x016A40, 0x016A5E, UC_LO}, - {0x016A60, 0x016A69, UC_ND}, - {0x016A6E, 0x016A6F, UC_PO}, - {0x016A70, 0x016ABE, UC_LO}, - {0x016AC0, 0x016AC9, UC_ND}, - {0x016AD0, 0x016AED, UC_LO}, - {0x016AF0, 0x016AF4, UC_MN}, - {0x016AF5, 0x016AF5, UC_PO}, - {0x016B00, 0x016B2F, UC_LO}, - {0x016B30, 0x016B36, UC_MN}, - {0x016B37, 0x016B3B, UC_PO}, - {0x016B3C, 0x016B3F, UC_SO}, - {0x016B40, 0x016B43, UC_LM}, - {0x016B44, 0x016B44, UC_PO}, - {0x016B45, 0x016B45, UC_SO}, - {0x016B50, 0x016B59, UC_ND}, - {0x016B5B, 0x016B61, UC_NO}, - {0x016B63, 0x016B77, UC_LO}, - {0x016B7D, 0x016B8F, UC_LO}, - {0x016E40, 0x016E5F, UC_LU}, - {0x016E60, 0x016E7F, UC_LL}, - {0x016E80, 0x016E96, UC_NO}, - {0x016E97, 0x016E9A, UC_PO}, - {0x016F00, 0x016F4A, UC_LO}, - {0x016F4F, 0x016F4F, UC_MN}, - {0x016F50, 0x016F50, UC_LO}, - {0x016F51, 0x016F87, UC_MC}, - {0x016F8F, 0x016F92, UC_MN}, - {0x016F93, 0x016F9F, UC_LM}, - {0x016FE0, 0x016FE1, UC_LM}, - {0x016FE2, 0x016FE2, UC_PO}, - {0x016FE3, 0x016FE3, UC_LM}, - {0x016FE4, 0x016FE4, UC_MN}, - {0x016FF0, 0x016FF1, UC_MC}, - {0x017000, 0x0187F7, UC_LO}, - {0x018800, 0x018CD5, UC_LO}, - {0x018D00, 0x018D08, UC_LO}, - {0x01AFF0, 0x01AFF3, UC_LM}, - {0x01AFF5, 0x01AFFB, UC_LM}, - {0x01AFFD, 0x01AFFE, UC_LM}, - {0x01B000, 0x01B122, UC_LO}, - {0x01B132, 0x01B132, UC_LO}, - {0x01B150, 0x01B152, UC_LO}, - {0x01B155, 0x01B155, UC_LO}, - {0x01B164, 0x01B167, UC_LO}, - {0x01B170, 0x01B2FB, UC_LO}, - {0x01BC00, 0x01BC6A, UC_LO}, - {0x01BC70, 0x01BC7C, UC_LO}, - {0x01BC80, 0x01BC88, UC_LO}, - {0x01BC90, 0x01BC99, UC_LO}, - {0x01BC9C, 0x01BC9C, UC_SO}, - {0x01BC9D, 0x01BC9E, UC_MN}, - {0x01BC9F, 0x01BC9F, UC_PO}, - {0x01BCA0, 0x01BCA3, UC_CF}, - {0x01CF00, 0x01CF2D, UC_MN}, - {0x01CF30, 0x01CF46, UC_MN}, - {0x01CF50, 0x01CFC3, UC_SO}, - {0x01D000, 0x01D0F5, UC_SO}, - {0x01D100, 0x01D126, UC_SO}, - {0x01D129, 0x01D164, UC_SO}, - {0x01D165, 0x01D166, UC_MC}, - {0x01D167, 0x01D169, UC_MN}, - {0x01D16A, 0x01D16C, UC_SO}, - {0x01D16D, 0x01D172, UC_MC}, - {0x01D173, 0x01D17A, UC_CF}, - {0x01D17B, 0x01D182, UC_MN}, - {0x01D183, 0x01D184, UC_SO}, - {0x01D185, 0x01D18B, UC_MN}, - {0x01D18C, 0x01D1A9, UC_SO}, - {0x01D1AA, 0x01D1AD, UC_MN}, - {0x01D1AE, 0x01D1EA, UC_SO}, - {0x01D200, 0x01D241, UC_SO}, - {0x01D242, 0x01D244, UC_MN}, - {0x01D245, 0x01D245, UC_SO}, - {0x01D2C0, 0x01D2D3, UC_NO}, - {0x01D2E0, 0x01D2F3, UC_NO}, - {0x01D300, 0x01D356, UC_SO}, - {0x01D360, 0x01D378, UC_NO}, - {0x01D400, 0x01D419, UC_LU}, - {0x01D41A, 0x01D433, UC_LL}, - {0x01D434, 0x01D44D, UC_LU}, - {0x01D44E, 0x01D454, UC_LL}, - {0x01D456, 0x01D467, UC_LL}, - {0x01D468, 0x01D481, UC_LU}, - {0x01D482, 0x01D49B, UC_LL}, - {0x01D49C, 0x01D49C, UC_LU}, - {0x01D49E, 0x01D49F, UC_LU}, - {0x01D4A2, 0x01D4A2, UC_LU}, - {0x01D4A5, 0x01D4A6, UC_LU}, - {0x01D4A9, 0x01D4AC, UC_LU}, - {0x01D4AE, 0x01D4B5, UC_LU}, - {0x01D4B6, 0x01D4B9, UC_LL}, - {0x01D4BB, 0x01D4BB, UC_LL}, - {0x01D4BD, 0x01D4C3, UC_LL}, - {0x01D4C5, 0x01D4CF, UC_LL}, - {0x01D4D0, 0x01D4E9, UC_LU}, - {0x01D4EA, 0x01D503, UC_LL}, - {0x01D504, 0x01D505, UC_LU}, - {0x01D507, 0x01D50A, UC_LU}, - {0x01D50D, 0x01D514, UC_LU}, - {0x01D516, 0x01D51C, UC_LU}, - {0x01D51E, 0x01D537, UC_LL}, - {0x01D538, 0x01D539, UC_LU}, - {0x01D53B, 0x01D53E, UC_LU}, - {0x01D540, 0x01D544, UC_LU}, - {0x01D546, 0x01D546, UC_LU}, - {0x01D54A, 0x01D550, UC_LU}, - {0x01D552, 0x01D56B, UC_LL}, - {0x01D56C, 0x01D585, UC_LU}, - {0x01D586, 0x01D59F, UC_LL}, - {0x01D5A0, 0x01D5B9, UC_LU}, - {0x01D5BA, 0x01D5D3, UC_LL}, - {0x01D5D4, 0x01D5ED, UC_LU}, - {0x01D5EE, 0x01D607, UC_LL}, - {0x01D608, 0x01D621, UC_LU}, - {0x01D622, 0x01D63B, UC_LL}, - {0x01D63C, 0x01D655, UC_LU}, - {0x01D656, 0x01D66F, UC_LL}, - {0x01D670, 0x01D689, UC_LU}, - {0x01D68A, 0x01D6A5, UC_LL}, - {0x01D6A8, 0x01D6C0, UC_LU}, - {0x01D6C1, 0x01D6C1, UC_SM}, - {0x01D6C2, 0x01D6DA, UC_LL}, - {0x01D6DB, 0x01D6DB, UC_SM}, - {0x01D6DC, 0x01D6E1, UC_LL}, - {0x01D6E2, 0x01D6FA, UC_LU}, - {0x01D6FB, 0x01D6FB, UC_SM}, - {0x01D6FC, 0x01D714, UC_LL}, - {0x01D715, 0x01D715, UC_SM}, - {0x01D716, 0x01D71B, UC_LL}, - {0x01D71C, 0x01D734, UC_LU}, - {0x01D735, 0x01D735, UC_SM}, - {0x01D736, 0x01D74E, UC_LL}, - {0x01D74F, 0x01D74F, UC_SM}, - {0x01D750, 0x01D755, UC_LL}, - {0x01D756, 0x01D76E, UC_LU}, - {0x01D76F, 0x01D76F, UC_SM}, - {0x01D770, 0x01D788, UC_LL}, - {0x01D789, 0x01D789, UC_SM}, - {0x01D78A, 0x01D78F, UC_LL}, - {0x01D790, 0x01D7A8, UC_LU}, - {0x01D7A9, 0x01D7A9, UC_SM}, - {0x01D7AA, 0x01D7C2, UC_LL}, - {0x01D7C3, 0x01D7C3, UC_SM}, - {0x01D7C4, 0x01D7C9, UC_LL}, - {0x01D7CA, 0x01D7CA, UC_LU}, - {0x01D7CB, 0x01D7CB, UC_LL}, - {0x01D7CE, 0x01D7FF, UC_ND}, - {0x01D800, 0x01D9FF, UC_SO}, - {0x01DA00, 0x01DA36, UC_MN}, - {0x01DA37, 0x01DA3A, UC_SO}, - {0x01DA3B, 0x01DA6C, UC_MN}, - {0x01DA6D, 0x01DA74, UC_SO}, - {0x01DA75, 0x01DA75, UC_MN}, - {0x01DA76, 0x01DA83, UC_SO}, - {0x01DA84, 0x01DA84, UC_MN}, - {0x01DA85, 0x01DA86, UC_SO}, - {0x01DA87, 0x01DA8B, UC_PO}, - {0x01DA9B, 0x01DA9F, UC_MN}, - {0x01DAA1, 0x01DAAF, UC_MN}, - {0x01DF00, 0x01DF09, UC_LL}, - {0x01DF0A, 0x01DF0A, UC_LO}, - {0x01DF0B, 0x01DF1E, UC_LL}, - {0x01DF25, 0x01DF2A, UC_LL}, - {0x01E000, 0x01E006, UC_MN}, - {0x01E008, 0x01E018, UC_MN}, - {0x01E01B, 0x01E021, UC_MN}, - {0x01E023, 0x01E024, UC_MN}, - {0x01E026, 0x01E02A, UC_MN}, - {0x01E030, 0x01E06D, UC_LM}, - {0x01E08F, 0x01E08F, UC_MN}, - {0x01E100, 0x01E12C, UC_LO}, - {0x01E130, 0x01E136, UC_MN}, - {0x01E137, 0x01E13D, UC_LM}, - {0x01E140, 0x01E149, UC_ND}, - {0x01E14E, 0x01E14E, UC_LO}, - {0x01E14F, 0x01E14F, UC_SO}, - {0x01E290, 0x01E2AD, UC_LO}, - {0x01E2AE, 0x01E2AE, UC_MN}, - {0x01E2C0, 0x01E2EB, UC_LO}, - {0x01E2EC, 0x01E2EF, UC_MN}, - {0x01E2F0, 0x01E2F9, UC_ND}, - {0x01E2FF, 0x01E2FF, UC_SC}, - {0x01E4D0, 0x01E4EA, UC_LO}, - {0x01E4EB, 0x01E4EB, UC_LM}, - {0x01E4EC, 0x01E4EF, UC_MN}, - {0x01E4F0, 0x01E4F9, UC_ND}, - {0x01E7E0, 0x01E7E6, UC_LO}, - {0x01E7E8, 0x01E7EB, UC_LO}, - {0x01E7ED, 0x01E7EE, UC_LO}, - {0x01E7F0, 0x01E7FE, UC_LO}, - {0x01E800, 0x01E8C4, UC_LO}, - {0x01E8C7, 0x01E8CF, UC_NO}, - {0x01E8D0, 0x01E8D6, UC_MN}, - {0x01E900, 0x01E921, UC_LU}, - {0x01E922, 0x01E943, UC_LL}, - {0x01E944, 0x01E94A, UC_MN}, - {0x01E94B, 0x01E94B, UC_LM}, - {0x01E950, 0x01E959, UC_ND}, - {0x01E95E, 0x01E95F, UC_PO}, - {0x01EC71, 0x01ECAB, UC_NO}, - {0x01ECAC, 0x01ECAC, UC_SO}, - {0x01ECAD, 0x01ECAF, UC_NO}, - {0x01ECB0, 0x01ECB0, UC_SC}, - {0x01ECB1, 0x01ECB4, UC_NO}, - {0x01ED01, 0x01ED2D, UC_NO}, - {0x01ED2E, 0x01ED2E, UC_SO}, - {0x01ED2F, 0x01ED3D, UC_NO}, - {0x01EE00, 0x01EE03, UC_LO}, - {0x01EE05, 0x01EE1F, UC_LO}, - {0x01EE21, 0x01EE22, UC_LO}, - {0x01EE24, 0x01EE24, UC_LO}, - {0x01EE27, 0x01EE27, UC_LO}, - {0x01EE29, 0x01EE32, UC_LO}, - {0x01EE34, 0x01EE37, UC_LO}, - {0x01EE39, 0x01EE39, UC_LO}, - {0x01EE3B, 0x01EE3B, UC_LO}, - {0x01EE42, 0x01EE42, UC_LO}, - {0x01EE47, 0x01EE47, UC_LO}, - {0x01EE49, 0x01EE49, UC_LO}, - {0x01EE4B, 0x01EE4B, UC_LO}, - {0x01EE4D, 0x01EE4F, UC_LO}, - {0x01EE51, 0x01EE52, UC_LO}, - {0x01EE54, 0x01EE54, UC_LO}, - {0x01EE57, 0x01EE57, UC_LO}, - {0x01EE59, 0x01EE59, UC_LO}, - {0x01EE5B, 0x01EE5B, UC_LO}, - {0x01EE5D, 0x01EE5D, UC_LO}, - {0x01EE5F, 0x01EE5F, UC_LO}, - {0x01EE61, 0x01EE62, UC_LO}, - {0x01EE64, 0x01EE64, UC_LO}, - {0x01EE67, 0x01EE6A, UC_LO}, - {0x01EE6C, 0x01EE72, UC_LO}, - {0x01EE74, 0x01EE77, UC_LO}, - {0x01EE79, 0x01EE7C, UC_LO}, - {0x01EE7E, 0x01EE7E, UC_LO}, - {0x01EE80, 0x01EE89, UC_LO}, - {0x01EE8B, 0x01EE9B, UC_LO}, - {0x01EEA1, 0x01EEA3, UC_LO}, - {0x01EEA5, 0x01EEA9, UC_LO}, - {0x01EEAB, 0x01EEBB, UC_LO}, - {0x01EEF0, 0x01EEF1, UC_SM}, - {0x01F000, 0x01F02B, UC_SO}, - {0x01F030, 0x01F093, UC_SO}, - {0x01F0A0, 0x01F0AE, UC_SO}, - {0x01F0B1, 0x01F0BF, UC_SO}, - {0x01F0C1, 0x01F0CF, UC_SO}, - {0x01F0D1, 0x01F0F5, UC_SO}, - {0x01F100, 0x01F10C, UC_NO}, - {0x01F10D, 0x01F1AD, UC_SO}, - {0x01F1E6, 0x01F202, UC_SO}, - {0x01F210, 0x01F23B, UC_SO}, - {0x01F240, 0x01F248, UC_SO}, - {0x01F250, 0x01F251, UC_SO}, - {0x01F260, 0x01F265, UC_SO}, - {0x01F300, 0x01F3FA, UC_SO}, - {0x01F3FB, 0x01F3FF, UC_SK}, - {0x01F400, 0x01F6D7, UC_SO}, - {0x01F6DC, 0x01F6EC, UC_SO}, - {0x01F6F0, 0x01F6FC, UC_SO}, - {0x01F700, 0x01F776, UC_SO}, - {0x01F77B, 0x01F7D9, UC_SO}, - {0x01F7E0, 0x01F7EB, UC_SO}, - {0x01F7F0, 0x01F7F0, UC_SO}, - {0x01F800, 0x01F80B, UC_SO}, - {0x01F810, 0x01F847, UC_SO}, - {0x01F850, 0x01F859, UC_SO}, - {0x01F860, 0x01F887, UC_SO}, - {0x01F890, 0x01F8AD, UC_SO}, - {0x01F8B0, 0x01F8B1, UC_SO}, - {0x01F900, 0x01FA53, UC_SO}, - {0x01FA60, 0x01FA6D, UC_SO}, - {0x01FA70, 0x01FA7C, UC_SO}, - {0x01FA80, 0x01FA88, UC_SO}, - {0x01FA90, 0x01FABD, UC_SO}, - {0x01FABF, 0x01FAC5, UC_SO}, - {0x01FACE, 0x01FADB, UC_SO}, - {0x01FAE0, 0x01FAE8, UC_SO}, - {0x01FAF0, 0x01FAF8, UC_SO}, - {0x01FB00, 0x01FB92, UC_SO}, - {0x01FB94, 0x01FBCA, UC_SO}, - {0x01FBF0, 0x01FBF9, UC_ND}, - {0x020000, 0x02A6DF, UC_LO}, - {0x02A700, 0x02B739, UC_LO}, - {0x02B740, 0x02B81D, UC_LO}, - {0x02B820, 0x02CEA1, UC_LO}, - {0x02CEB0, 0x02EBE0, UC_LO}, - {0x02EBF0, 0x02EE5D, UC_LO}, - {0x02F800, 0x02FA1D, UC_LO}, - {0x030000, 0x03134A, UC_LO}, - {0x031350, 0x0323AF, UC_LO}, - {0x0E0001, 0x0E0001, UC_CF}, - {0x0E0020, 0x0E007F, UC_CF}, - {0x0E0100, 0x0E01EF, UC_MN}, - {0x0F0000, 0x0FFFFD, UC_CO}, - {0x100000, 0x10FFFD, UC_CO}, -}; - -#endif /* !RUNE_INTERNAL_RTYPE_LOOKUP_H */ diff --git a/vendor/librune/include/rtype.h b/vendor/librune/include/rtype.h index 6c3e8e3..72f054c 100644 --- a/vendor/librune/include/rtype.h +++ b/vendor/librune/include/rtype.h @@ -5,50 +5,52 @@ #include "internal/types.h" -typedef enum [[clang::flag_enum]] : uint_fast32_t { - UC_CN = 0, /* Not Assigned */ - UC_CC = 1 << 0, /* Control */ - UC_CF = 1 << 1, /* Format */ - UC_CO = 1 << 2, /* Private Use */ - UC_CS = 1 << 3, /* Surrogate */ - UC_LL = 1 << 4, /* Lowercase Letter */ - UC_LM = 1 << 5, /* Modifier Letter */ - UC_LO = 1 << 6, /* Other Letter */ - UC_LT = 1 << 7, /* Titlecase Letter */ - UC_LU = 1 << 8, /* Uppercase Letter */ - UC_MC = 1 << 9, /* Spacing Mark */ - UC_ME = 1 << 10, /* Enclosing Mark */ - UC_MN = 1 << 11, /* Nonspacing Mark */ - UC_ND = 1 << 12, /* Decimal Number */ - UC_NL = 1 << 13, /* Letter Number */ - UC_NO = 1 << 14, /* Other Number */ - UC_PC = 1 << 15, /* Connector Punctuation */ - UC_PD = 1 << 16, /* Dash Punctuation */ - UC_PE = 1 << 17, /* Close Punctuation */ - UC_PF = 1 << 18, /* Final Punctuation */ - UC_PI = 1 << 19, /* Initial Punctuation */ - UC_PO = 1 << 20, /* Other Punctuation */ - UC_PS = 1 << 21, /* Open Punctuation */ - UC_SC = 1 << 22, /* Currency Symbol */ - UC_SK = 1 << 23, /* Modifier Symbol */ - UC_SM = 1 << 24, /* Math Symbol */ - UC_SO = 1 << 25, /* Other Symbol */ - UC_ZL = 1 << 26, /* Line Separator */ - UC_ZP = 1 << 27, /* Paragraph Separator */ - UC_ZS = 1 << 28, /* Space Separator */ +/* clang-format off */ +enum [[clang::flag_enum]] unicat : uint_fast32_t { + UC_CN = 0, /* Not Assigned */ + UC_CC = UINT32_C(1) << 0, /* Control */ + UC_CF = UINT32_C(1) << 1, /* Format */ + UC_CO = UINT32_C(1) << 2, /* Private Use */ + UC_CS = UINT32_C(1) << 3, /* Surrogate */ + UC_LL = UINT32_C(1) << 4, /* Lowercase Letter */ + UC_LM = UINT32_C(1) << 5, /* Modifier Letter */ + UC_LO = UINT32_C(1) << 6, /* Other Letter */ + UC_LT = UINT32_C(1) << 7, /* Titlecase Letter */ + UC_LU = UINT32_C(1) << 8, /* Uppercase Letter */ + UC_MC = UINT32_C(1) << 9, /* Spacing Mark */ + UC_ME = UINT32_C(1) << 10, /* Enclosing Mark */ + UC_MN = UINT32_C(1) << 11, /* Nonspacing Mark */ + UC_ND = UINT32_C(1) << 12, /* Decimal Number */ + UC_NL = UINT32_C(1) << 13, /* Letter Number */ + UC_NO = UINT32_C(1) << 14, /* Other Number */ + UC_PC = UINT32_C(1) << 15, /* Connector Punctuation */ + UC_PD = UINT32_C(1) << 16, /* Dash Punctuation */ + UC_PE = UINT32_C(1) << 17, /* Close Punctuation */ + UC_PF = UINT32_C(1) << 18, /* Final Punctuation */ + UC_PI = UINT32_C(1) << 19, /* Initial Punctuation */ + UC_PO = UINT32_C(1) << 20, /* Other Punctuation */ + UC_PS = UINT32_C(1) << 21, /* Open Punctuation */ + UC_SC = UINT32_C(1) << 22, /* Currency Symbol */ + UC_SK = UINT32_C(1) << 23, /* Modifier Symbol */ + UC_SM = UINT32_C(1) << 24, /* Math Symbol */ + UC_SO = UINT32_C(1) << 25, /* Other Symbol */ + UC_ZL = UINT32_C(1) << 26, /* Line Separator */ + UC_ZP = UINT32_C(1) << 27, /* Paragraph Separator */ + UC_ZS = UINT32_C(1) << 28, /* Space Separator */ - UC_C = UC_CC | UC_CF | UC_CN | UC_CO | UC_CS, /* Other */ - UC_L = UC_LL | UC_LM | UC_LO | UC_LT | UC_LU, /* Letter */ - UC_M = UC_MC | UC_ME | UC_MN, /* Mark */ - UC_N = UC_ND | UC_NL | UC_NO, /* Number */ - UC_S = UC_SC | UC_SK | UC_SM | UC_SO, /* Symbol */ - UC_Z = UC_ZL | UC_ZP | UC_ZS, /* Separator */ - UC_P = UC_PC | UC_PD | UC_PE | UC_PF | UC_PI /* Punctuation */ - | UC_PO | UC_PS, -} unicat; - -[[unsequenced]] bool runeis(rune, unicat); + UC_C = UC_CC | UC_CF | UC_CN | UC_CO | UC_CS, /* Other */ + UC_L = UC_LL | UC_LM | UC_LO | UC_LT | UC_LU, /* Letter */ + UC_LC = UC_LU | UC_LL | UC_LT, /* Cased Letter */ + UC_M = UC_MC | UC_ME | UC_MN, /* Mark */ + UC_N = UC_ND | UC_NL | UC_NO, /* Number */ + UC_P = UC_PC | UC_PD | UC_PE | UC_PF | UC_PI /* Punctuation */ + | UC_PO | UC_PS, + UC_S = UC_SC | UC_SK | UC_SM | UC_SO, /* Symbol */ + UC_Z = UC_ZL | UC_ZP | UC_ZS, /* Separator */ +}; +/* clang-format on */ +[[unsequenced]] bool runeis(rune, enum unicat); [[unsequenced]] bool riscntrl(rune); [[unsequenced]] bool risdigit(rune); [[unsequenced]] bool risgraph(rune); @@ -61,4 +63,54 @@ typedef enum [[clang::flag_enum]] : uint_fast32_t { [[unsequenced]] bool ristitle(rune); [[unsequenced]] bool risupper(rune); -#endif /* !RUNE_RTYPE_H */ +/* PROP PREDICATES START */ +[[unsequenced]] bool rune_has_prop_alphabetic(rune); +[[unsequenced]] bool rune_has_prop_ascii_hex_digit(rune); +[[unsequenced]] bool rune_has_prop_bidi_control(rune); +[[unsequenced]] bool rune_has_prop_case_ignorable(rune); +[[unsequenced]] bool rune_has_prop_cased(rune); +[[unsequenced]] bool rune_has_prop_changes_when_casefolded(rune); +[[unsequenced]] bool rune_has_prop_changes_when_casemapped(rune); +[[unsequenced]] bool rune_has_prop_changes_when_lowercased(rune); +[[unsequenced]] bool rune_has_prop_changes_when_titlecased(rune); +[[unsequenced]] bool rune_has_prop_changes_when_uppercased(rune); +[[unsequenced]] bool rune_has_prop_dash(rune); +[[unsequenced]] bool rune_has_prop_default_ignorable_code_point(rune); +[[unsequenced]] bool rune_has_prop_deprecated(rune); +[[unsequenced]] bool rune_has_prop_diacritic(rune); +[[unsequenced]] bool rune_has_prop_extender(rune); +[[unsequenced]] bool rune_has_prop_grapheme_base(rune); +[[unsequenced]] bool rune_has_prop_grapheme_extend(rune); +[[unsequenced]] bool rune_has_prop_hex_digit(rune); +[[unsequenced]] bool rune_has_prop_id_compat_math_continue(rune); +[[unsequenced]] bool rune_has_prop_id_compat_math_start(rune); +[[unsequenced]] bool rune_has_prop_id_continue(rune); +[[unsequenced]] bool rune_has_prop_id_start(rune); +[[unsequenced]] bool rune_has_prop_ideographic(rune); +[[unsequenced]] bool rune_has_prop_ids_binary_operator(rune); +[[unsequenced]] bool rune_has_prop_ids_trinary_operator(rune); +[[unsequenced]] bool rune_has_prop_ids_unary_operator(rune); +[[unsequenced]] bool rune_has_prop_indic_conjunct_break(rune); +[[unsequenced]] bool rune_has_prop_join_control(rune); +[[unsequenced]] bool rune_has_prop_logical_order_exception(rune); +[[unsequenced]] bool rune_has_prop_lowercase(rune); +[[unsequenced]] bool rune_has_prop_math(rune); +[[unsequenced]] bool rune_has_prop_noncharacter_code_point(rune); +[[unsequenced]] bool rune_has_prop_pattern_syntax(rune); +[[unsequenced]] bool rune_has_prop_pattern_white_space(rune); +[[unsequenced]] bool rune_has_prop_prepended_concatenation_mark(rune); +[[unsequenced]] bool rune_has_prop_quotation_mark(rune); +[[unsequenced]] bool rune_has_prop_radical(rune); +[[unsequenced]] bool rune_has_prop_regional_indicator(rune); +[[unsequenced]] bool rune_has_prop_sentence_terminal(rune); +[[unsequenced]] bool rune_has_prop_soft_dotted(rune); +[[unsequenced]] bool rune_has_prop_terminal_punctuation(rune); +[[unsequenced]] bool rune_has_prop_unified_ideograph(rune); +[[unsequenced]] bool rune_has_prop_uppercase(rune); +[[unsequenced]] bool rune_has_prop_variation_selector(rune); +[[unsequenced]] bool rune_has_prop_white_space(rune); +[[unsequenced]] bool rune_has_prop_xid_continue(rune); +[[unsequenced]] bool rune_has_prop_xid_start(rune); +/* PROP PREDICATES END */ + +#endif diff --git a/vendor/librune/lib/rtype/risspace.c b/vendor/librune/lib/rtype/risspace.c index 992c13b..7cc5689 100644 --- a/vendor/librune/lib/rtype/risspace.c +++ b/vendor/librune/lib/rtype/risspace.c @@ -2,8 +2,7 @@ #include "internal/common.h" -/* TODO: Make constexpr */ -static const bool latin1_space_tbl[LATIN1_MAX + 1] = { +static constexpr bool latin1_space_tbl[LATIN1_MAX + 1] = { ['\t'] = true, ['\n'] = true, ['\v'] = true, ['\f'] = true, ['\r'] = true, [' '] = true, [0x85] = true, [0xA0] = true, }; diff --git a/vendor/librune/lib/rtype/rune_has_prop_alphabetic.c b/vendor/librune/lib/rtype/rune_has_prop_alphabetic.c new file mode 100644 index 0000000..4469505 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_alphabetic.c @@ -0,0 +1,763 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF042004000000000007FFFFFE07FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000BA, 0x0000BA}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x0002C1}, + {0x0002C6, 0x0002D1}, + {0x0002E0, 0x0002E4}, + {0x0002EC, 0x0002EC}, + {0x0002EE, 0x0002EE}, + {0x000345, 0x000345}, + {0x000370, 0x000374}, + {0x000376, 0x000377}, + {0x00037A, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003F5}, + {0x0003F7, 0x000481}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000559, 0x000559}, + {0x000560, 0x000588}, + {0x0005B0, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C5}, + {0x0005C7, 0x0005C7}, + {0x0005D0, 0x0005EA}, + {0x0005EF, 0x0005F2}, + {0x000610, 0x00061A}, + {0x000620, 0x000657}, + {0x000659, 0x00065F}, + {0x00066E, 0x0006D3}, + {0x0006D5, 0x0006DC}, + {0x0006E1, 0x0006E8}, + {0x0006ED, 0x0006EF}, + {0x0006FA, 0x0006FC}, + {0x0006FF, 0x0006FF}, + {0x000710, 0x00073F}, + {0x00074D, 0x0007B1}, + {0x0007CA, 0x0007EA}, + {0x0007F4, 0x0007F5}, + {0x0007FA, 0x0007FA}, + {0x000800, 0x000817}, + {0x00081A, 0x00082C}, + {0x000840, 0x000858}, + {0x000860, 0x00086A}, + {0x000870, 0x000887}, + {0x000889, 0x00088E}, + {0x0008A0, 0x0008C9}, + {0x0008D4, 0x0008DF}, + {0x0008E3, 0x0008E9}, + {0x0008F0, 0x00093B}, + {0x00093D, 0x00094C}, + {0x00094E, 0x000950}, + {0x000955, 0x000963}, + {0x000971, 0x000983}, + {0x000985, 0x00098C}, + {0x00098F, 0x000990}, + {0x000993, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BD, 0x0009C4}, + {0x0009C7, 0x0009C8}, + {0x0009CB, 0x0009CC}, + {0x0009CE, 0x0009CE}, + {0x0009D7, 0x0009D7}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009E3}, + {0x0009F0, 0x0009F1}, + {0x0009FC, 0x0009FC}, + {0x000A01, 0x000A03}, + {0x000A05, 0x000A0A}, + {0x000A0F, 0x000A10}, + {0x000A13, 0x000A28}, + {0x000A2A, 0x000A30}, + {0x000A32, 0x000A33}, + {0x000A35, 0x000A36}, + {0x000A38, 0x000A39}, + {0x000A3E, 0x000A42}, + {0x000A47, 0x000A48}, + {0x000A4B, 0x000A4C}, + {0x000A51, 0x000A51}, + {0x000A59, 0x000A5C}, + {0x000A5E, 0x000A5E}, + {0x000A70, 0x000A75}, + {0x000A81, 0x000A83}, + {0x000A85, 0x000A8D}, + {0x000A8F, 0x000A91}, + {0x000A93, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABD, 0x000AC5}, + {0x000AC7, 0x000AC9}, + {0x000ACB, 0x000ACC}, + {0x000AD0, 0x000AD0}, + {0x000AE0, 0x000AE3}, + {0x000AF9, 0x000AFC}, + {0x000B01, 0x000B03}, + {0x000B05, 0x000B0C}, + {0x000B0F, 0x000B10}, + {0x000B13, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3D, 0x000B44}, + {0x000B47, 0x000B48}, + {0x000B4B, 0x000B4C}, + {0x000B56, 0x000B57}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B63}, + {0x000B71, 0x000B71}, + {0x000B82, 0x000B83}, + {0x000B85, 0x000B8A}, + {0x000B8E, 0x000B90}, + {0x000B92, 0x000B95}, + {0x000B99, 0x000B9A}, + {0x000B9C, 0x000B9C}, + {0x000B9E, 0x000B9F}, + {0x000BA3, 0x000BA4}, + {0x000BA8, 0x000BAA}, + {0x000BAE, 0x000BB9}, + {0x000BBE, 0x000BC2}, + {0x000BC6, 0x000BC8}, + {0x000BCA, 0x000BCC}, + {0x000BD0, 0x000BD0}, + {0x000BD7, 0x000BD7}, + {0x000C00, 0x000C0C}, + {0x000C0E, 0x000C10}, + {0x000C12, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3D, 0x000C44}, + {0x000C46, 0x000C48}, + {0x000C4A, 0x000C4C}, + {0x000C55, 0x000C56}, + {0x000C58, 0x000C5A}, + {0x000C5D, 0x000C5D}, + {0x000C60, 0x000C63}, + {0x000C80, 0x000C83}, + {0x000C85, 0x000C8C}, + {0x000C8E, 0x000C90}, + {0x000C92, 0x000CA8}, + {0x000CAA, 0x000CB3}, + {0x000CB5, 0x000CB9}, + {0x000CBD, 0x000CC4}, + {0x000CC6, 0x000CC8}, + {0x000CCA, 0x000CCC}, + {0x000CD5, 0x000CD6}, + {0x000CDD, 0x000CDE}, + {0x000CE0, 0x000CE3}, + {0x000CF1, 0x000CF3}, + {0x000D00, 0x000D0C}, + {0x000D0E, 0x000D10}, + {0x000D12, 0x000D3A}, + {0x000D3D, 0x000D44}, + {0x000D46, 0x000D48}, + {0x000D4A, 0x000D4C}, + {0x000D4E, 0x000D4E}, + {0x000D54, 0x000D57}, + {0x000D5F, 0x000D63}, + {0x000D7A, 0x000D7F}, + {0x000D81, 0x000D83}, + {0x000D85, 0x000D96}, + {0x000D9A, 0x000DB1}, + {0x000DB3, 0x000DBB}, + {0x000DBD, 0x000DBD}, + {0x000DC0, 0x000DC6}, + {0x000DCF, 0x000DD4}, + {0x000DD6, 0x000DD6}, + {0x000DD8, 0x000DDF}, + {0x000DF2, 0x000DF3}, + {0x000E01, 0x000E3A}, + {0x000E40, 0x000E46}, + {0x000E4D, 0x000E4D}, + {0x000E81, 0x000E82}, + {0x000E84, 0x000E84}, + {0x000E86, 0x000E8A}, + {0x000E8C, 0x000EA3}, + {0x000EA5, 0x000EA5}, + {0x000EA7, 0x000EB9}, + {0x000EBB, 0x000EBD}, + {0x000EC0, 0x000EC4}, + {0x000EC6, 0x000EC6}, + {0x000ECD, 0x000ECD}, + {0x000EDC, 0x000EDF}, + {0x000F00, 0x000F00}, + {0x000F40, 0x000F47}, + {0x000F49, 0x000F6C}, + {0x000F71, 0x000F83}, + {0x000F88, 0x000F97}, + {0x000F99, 0x000FBC}, + {0x001000, 0x001036}, + {0x001038, 0x001038}, + {0x00103B, 0x00103F}, + {0x001050, 0x00108F}, + {0x00109A, 0x00109D}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x001248}, + {0x00124A, 0x00124D}, + {0x001250, 0x001256}, + {0x001258, 0x001258}, + {0x00125A, 0x00125D}, + {0x001260, 0x001288}, + {0x00128A, 0x00128D}, + {0x001290, 0x0012B0}, + {0x0012B2, 0x0012B5}, + {0x0012B8, 0x0012BE}, + {0x0012C0, 0x0012C0}, + {0x0012C2, 0x0012C5}, + {0x0012C8, 0x0012D6}, + {0x0012D8, 0x001310}, + {0x001312, 0x001315}, + {0x001318, 0x00135A}, + {0x001380, 0x00138F}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001401, 0x00166C}, + {0x00166F, 0x00167F}, + {0x001681, 0x00169A}, + {0x0016A0, 0x0016EA}, + {0x0016EE, 0x0016F8}, + {0x001700, 0x001713}, + {0x00171F, 0x001733}, + {0x001740, 0x001753}, + {0x001760, 0x00176C}, + {0x00176E, 0x001770}, + {0x001772, 0x001773}, + {0x001780, 0x0017B3}, + {0x0017B6, 0x0017C8}, + {0x0017D7, 0x0017D7}, + {0x0017DC, 0x0017DC}, + {0x001820, 0x001878}, + {0x001880, 0x0018AA}, + {0x0018B0, 0x0018F5}, + {0x001900, 0x00191E}, + {0x001920, 0x00192B}, + {0x001930, 0x001938}, + {0x001950, 0x00196D}, + {0x001970, 0x001974}, + {0x001980, 0x0019AB}, + {0x0019B0, 0x0019C9}, + {0x001A00, 0x001A1B}, + {0x001A20, 0x001A5E}, + {0x001A61, 0x001A74}, + {0x001AA7, 0x001AA7}, + {0x001ABF, 0x001AC0}, + {0x001ACC, 0x001ACE}, + {0x001B00, 0x001B33}, + {0x001B35, 0x001B43}, + {0x001B45, 0x001B4C}, + {0x001B80, 0x001BA9}, + {0x001BAC, 0x001BAF}, + {0x001BBA, 0x001BE5}, + {0x001BE7, 0x001BF1}, + {0x001C00, 0x001C36}, + {0x001C4D, 0x001C4F}, + {0x001C5A, 0x001C7D}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001CE9, 0x001CEC}, + {0x001CEE, 0x001CF3}, + {0x001CF5, 0x001CF6}, + {0x001CFA, 0x001CFA}, + {0x001D00, 0x001DBF}, + {0x001DE7, 0x001DF4}, + {0x001E00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002119, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x00212D}, + {0x00212F, 0x002139}, + {0x00213C, 0x00213F}, + {0x002145, 0x002149}, + {0x00214E, 0x00214E}, + {0x002160, 0x002188}, + {0x0024B6, 0x0024E9}, + {0x002C00, 0x002CE4}, + {0x002CEB, 0x002CEE}, + {0x002CF2, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x002D30, 0x002D67}, + {0x002D6F, 0x002D6F}, + {0x002D80, 0x002D96}, + {0x002DA0, 0x002DA6}, + {0x002DA8, 0x002DAE}, + {0x002DB0, 0x002DB6}, + {0x002DB8, 0x002DBE}, + {0x002DC0, 0x002DC6}, + {0x002DC8, 0x002DCE}, + {0x002DD0, 0x002DD6}, + {0x002DD8, 0x002DDE}, + {0x002DE0, 0x002DFF}, + {0x002E2F, 0x002E2F}, + {0x003005, 0x003007}, + {0x003021, 0x003029}, + {0x003031, 0x003035}, + {0x003038, 0x00303C}, + {0x003041, 0x003096}, + {0x00309D, 0x00309F}, + {0x0030A1, 0x0030FA}, + {0x0030FC, 0x0030FF}, + {0x003105, 0x00312F}, + {0x003131, 0x00318E}, + {0x0031A0, 0x0031BF}, + {0x0031F0, 0x0031FF}, + {0x003400, 0x004DBF}, + {0x004E00, 0x00A48C}, + {0x00A4D0, 0x00A4FD}, + {0x00A500, 0x00A60C}, + {0x00A610, 0x00A61F}, + {0x00A62A, 0x00A62B}, + {0x00A640, 0x00A66E}, + {0x00A674, 0x00A67B}, + {0x00A67F, 0x00A6EF}, + {0x00A717, 0x00A71F}, + {0x00A722, 0x00A788}, + {0x00A78B, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A805}, + {0x00A807, 0x00A827}, + {0x00A840, 0x00A873}, + {0x00A880, 0x00A8C3}, + {0x00A8C5, 0x00A8C5}, + {0x00A8F2, 0x00A8F7}, + {0x00A8FB, 0x00A8FB}, + {0x00A8FD, 0x00A8FF}, + {0x00A90A, 0x00A92A}, + {0x00A930, 0x00A952}, + {0x00A960, 0x00A97C}, + {0x00A980, 0x00A9B2}, + {0x00A9B4, 0x00A9BF}, + {0x00A9CF, 0x00A9CF}, + {0x00A9E0, 0x00A9EF}, + {0x00A9FA, 0x00A9FE}, + {0x00AA00, 0x00AA36}, + {0x00AA40, 0x00AA4D}, + {0x00AA60, 0x00AA76}, + {0x00AA7A, 0x00AABE}, + {0x00AAC0, 0x00AAC0}, + {0x00AAC2, 0x00AAC2}, + {0x00AADB, 0x00AADD}, + {0x00AAE0, 0x00AAEF}, + {0x00AAF2, 0x00AAF5}, + {0x00AB01, 0x00AB06}, + {0x00AB09, 0x00AB0E}, + {0x00AB11, 0x00AB16}, + {0x00AB20, 0x00AB26}, + {0x00AB28, 0x00AB2E}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABEA}, + {0x00AC00, 0x00D7A3}, + {0x00D7B0, 0x00D7C6}, + {0x00D7CB, 0x00D7FB}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FB1D, 0x00FB28}, + {0x00FB2A, 0x00FB36}, + {0x00FB38, 0x00FB3C}, + {0x00FB3E, 0x00FB3E}, + {0x00FB40, 0x00FB41}, + {0x00FB43, 0x00FB44}, + {0x00FB46, 0x00FBB1}, + {0x00FBD3, 0x00FD3D}, + {0x00FD50, 0x00FD8F}, + {0x00FD92, 0x00FDC7}, + {0x00FDF0, 0x00FDFB}, + {0x00FE70, 0x00FE74}, + {0x00FE76, 0x00FEFC}, + {0x00FF21, 0x00FF3A}, + {0x00FF41, 0x00FF5A}, + {0x00FF66, 0x00FFBE}, + {0x00FFC2, 0x00FFC7}, + {0x00FFCA, 0x00FFCF}, + {0x00FFD2, 0x00FFD7}, + {0x00FFDA, 0x00FFDC}, + {0x010000, 0x01000B}, + {0x01000D, 0x010026}, + {0x010028, 0x01003A}, + {0x01003C, 0x01003D}, + {0x01003F, 0x01004D}, + {0x010050, 0x01005D}, + {0x010080, 0x0100FA}, + {0x010140, 0x010174}, + {0x010280, 0x01029C}, + {0x0102A0, 0x0102D0}, + {0x010300, 0x01031F}, + {0x01032D, 0x01034A}, + {0x010350, 0x01037A}, + {0x010380, 0x01039D}, + {0x0103A0, 0x0103C3}, + {0x0103C8, 0x0103CF}, + {0x0103D1, 0x0103D5}, + {0x010400, 0x01049D}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010500, 0x010527}, + {0x010530, 0x010563}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010600, 0x010736}, + {0x010740, 0x010755}, + {0x010760, 0x010767}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010800, 0x010805}, + {0x010808, 0x010808}, + {0x01080A, 0x010835}, + {0x010837, 0x010838}, + {0x01083C, 0x01083C}, + {0x01083F, 0x010855}, + {0x010860, 0x010876}, + {0x010880, 0x01089E}, + {0x0108E0, 0x0108F2}, + {0x0108F4, 0x0108F5}, + {0x010900, 0x010915}, + {0x010920, 0x010939}, + {0x010980, 0x0109B7}, + {0x0109BE, 0x0109BF}, + {0x010A00, 0x010A03}, + {0x010A05, 0x010A06}, + {0x010A0C, 0x010A13}, + {0x010A15, 0x010A17}, + {0x010A19, 0x010A35}, + {0x010A60, 0x010A7C}, + {0x010A80, 0x010A9C}, + {0x010AC0, 0x010AC7}, + {0x010AC9, 0x010AE4}, + {0x010B00, 0x010B35}, + {0x010B40, 0x010B55}, + {0x010B60, 0x010B72}, + {0x010B80, 0x010B91}, + {0x010C00, 0x010C48}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x010D00, 0x010D27}, + {0x010E80, 0x010EA9}, + {0x010EAB, 0x010EAC}, + {0x010EB0, 0x010EB1}, + {0x010F00, 0x010F1C}, + {0x010F27, 0x010F27}, + {0x010F30, 0x010F45}, + {0x010F70, 0x010F81}, + {0x010FB0, 0x010FC4}, + {0x010FE0, 0x010FF6}, + {0x011000, 0x011045}, + {0x011071, 0x011075}, + {0x011080, 0x0110B8}, + {0x0110C2, 0x0110C2}, + {0x0110D0, 0x0110E8}, + {0x011100, 0x011132}, + {0x011144, 0x011147}, + {0x011150, 0x011172}, + {0x011176, 0x011176}, + {0x011180, 0x0111BF}, + {0x0111C1, 0x0111C4}, + {0x0111CE, 0x0111CF}, + {0x0111DA, 0x0111DA}, + {0x0111DC, 0x0111DC}, + {0x011200, 0x011211}, + {0x011213, 0x011234}, + {0x011237, 0x011237}, + {0x01123E, 0x011241}, + {0x011280, 0x011286}, + {0x011288, 0x011288}, + {0x01128A, 0x01128D}, + {0x01128F, 0x01129D}, + {0x01129F, 0x0112A8}, + {0x0112B0, 0x0112E8}, + {0x011300, 0x011303}, + {0x011305, 0x01130C}, + {0x01130F, 0x011310}, + {0x011313, 0x011328}, + {0x01132A, 0x011330}, + {0x011332, 0x011333}, + {0x011335, 0x011339}, + {0x01133D, 0x011344}, + {0x011347, 0x011348}, + {0x01134B, 0x01134C}, + {0x011350, 0x011350}, + {0x011357, 0x011357}, + {0x01135D, 0x011363}, + {0x011400, 0x011441}, + {0x011443, 0x011445}, + {0x011447, 0x01144A}, + {0x01145F, 0x011461}, + {0x011480, 0x0114C1}, + {0x0114C4, 0x0114C5}, + {0x0114C7, 0x0114C7}, + {0x011580, 0x0115B5}, + {0x0115B8, 0x0115BE}, + {0x0115D8, 0x0115DD}, + {0x011600, 0x01163E}, + {0x011640, 0x011640}, + {0x011644, 0x011644}, + {0x011680, 0x0116B5}, + {0x0116B8, 0x0116B8}, + {0x011700, 0x01171A}, + {0x01171D, 0x01172A}, + {0x011740, 0x011746}, + {0x011800, 0x011838}, + {0x0118A0, 0x0118DF}, + {0x0118FF, 0x011906}, + {0x011909, 0x011909}, + {0x01190C, 0x011913}, + {0x011915, 0x011916}, + {0x011918, 0x011935}, + {0x011937, 0x011938}, + {0x01193B, 0x01193C}, + {0x01193F, 0x011942}, + {0x0119A0, 0x0119A7}, + {0x0119AA, 0x0119D7}, + {0x0119DA, 0x0119DF}, + {0x0119E1, 0x0119E1}, + {0x0119E3, 0x0119E4}, + {0x011A00, 0x011A32}, + {0x011A35, 0x011A3E}, + {0x011A50, 0x011A97}, + {0x011A9D, 0x011A9D}, + {0x011AB0, 0x011AF8}, + {0x011C00, 0x011C08}, + {0x011C0A, 0x011C36}, + {0x011C38, 0x011C3E}, + {0x011C40, 0x011C40}, + {0x011C72, 0x011C8F}, + {0x011C92, 0x011CA7}, + {0x011CA9, 0x011CB6}, + {0x011D00, 0x011D06}, + {0x011D08, 0x011D09}, + {0x011D0B, 0x011D36}, + {0x011D3A, 0x011D3A}, + {0x011D3C, 0x011D3D}, + {0x011D3F, 0x011D41}, + {0x011D43, 0x011D43}, + {0x011D46, 0x011D47}, + {0x011D60, 0x011D65}, + {0x011D67, 0x011D68}, + {0x011D6A, 0x011D8E}, + {0x011D90, 0x011D91}, + {0x011D93, 0x011D96}, + {0x011D98, 0x011D98}, + {0x011EE0, 0x011EF6}, + {0x011F00, 0x011F10}, + {0x011F12, 0x011F3A}, + {0x011F3E, 0x011F40}, + {0x011FB0, 0x011FB0}, + {0x012000, 0x012399}, + {0x012400, 0x01246E}, + {0x012480, 0x012543}, + {0x012F90, 0x012FF0}, + {0x013000, 0x01342F}, + {0x013441, 0x013446}, + {0x014400, 0x014646}, + {0x016800, 0x016A38}, + {0x016A40, 0x016A5E}, + {0x016A70, 0x016ABE}, + {0x016AD0, 0x016AED}, + {0x016B00, 0x016B2F}, + {0x016B40, 0x016B43}, + {0x016B63, 0x016B77}, + {0x016B7D, 0x016B8F}, + {0x016E40, 0x016E7F}, + {0x016F00, 0x016F4A}, + {0x016F4F, 0x016F87}, + {0x016F8F, 0x016F9F}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE3}, + {0x016FF0, 0x016FF1}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01B000, 0x01B122}, + {0x01B132, 0x01B132}, + {0x01B150, 0x01B152}, + {0x01B155, 0x01B155}, + {0x01B164, 0x01B167}, + {0x01B170, 0x01B2FB}, + {0x01BC00, 0x01BC6A}, + {0x01BC70, 0x01BC7C}, + {0x01BC80, 0x01BC88}, + {0x01BC90, 0x01BC99}, + {0x01BC9E, 0x01BC9E}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D6C0}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6FA}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D734}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D76E}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D7A8}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7CB}, + {0x01DF00, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E000, 0x01E006}, + {0x01E008, 0x01E018}, + {0x01E01B, 0x01E021}, + {0x01E023, 0x01E024}, + {0x01E026, 0x01E02A}, + {0x01E030, 0x01E06D}, + {0x01E08F, 0x01E08F}, + {0x01E100, 0x01E12C}, + {0x01E137, 0x01E13D}, + {0x01E14E, 0x01E14E}, + {0x01E290, 0x01E2AD}, + {0x01E2C0, 0x01E2EB}, + {0x01E4D0, 0x01E4EB}, + {0x01E7E0, 0x01E7E6}, + {0x01E7E8, 0x01E7EB}, + {0x01E7ED, 0x01E7EE}, + {0x01E7F0, 0x01E7FE}, + {0x01E800, 0x01E8C4}, + {0x01E900, 0x01E943}, + {0x01E947, 0x01E947}, + {0x01E94B, 0x01E94B}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x01F130, 0x01F149}, + {0x01F150, 0x01F169}, + {0x01F170, 0x01F189}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_alphabetic(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_ascii_hex_digit.c b/vendor/librune/lib/rtype/rune_has_prop_ascii_hex_digit.c new file mode 100644 index 0000000..a94f13f --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_ascii_hex_digit.c @@ -0,0 +1,33 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x7E0000007E03FF000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000030, 0x000039}, + {0x000041, 0x000046}, + {0x000061, 0x000066}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_ascii_hex_digit(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_bidi_control.c b/vendor/librune/lib/rtype/rune_has_prop_bidi_control.c new file mode 100644 index 0000000..1f83e24 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_bidi_control.c @@ -0,0 +1,34 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00061C, 0x00061C}, + {0x00200E, 0x00200F}, + {0x00202A, 0x00202E}, + {0x002066, 0x002069}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_bidi_control(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_case_ignorable.c b/vendor/librune/lib/rtype/rune_has_prop_case_ignorable.c new file mode 100644 index 0000000..9950380 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_case_ignorable.c @@ -0,0 +1,467 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x190A1000000000000000001400000000400408000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000027, 0x000027}, + {0x00002E, 0x00002E}, + {0x00003A, 0x00003A}, + {0x00005E, 0x00005E}, + {0x000060, 0x000060}, + {0x0000A8, 0x0000A8}, + {0x0000AD, 0x0000AD}, + {0x0000AF, 0x0000AF}, + {0x0000B4, 0x0000B4}, + {0x0000B7, 0x0000B8}, + {0x0002B0, 0x00036F}, + {0x000374, 0x000375}, + {0x00037A, 0x00037A}, + {0x000384, 0x000385}, + {0x000387, 0x000387}, + {0x000483, 0x000489}, + {0x000559, 0x000559}, + {0x00055F, 0x00055F}, + {0x000591, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C5}, + {0x0005C7, 0x0005C7}, + {0x0005F4, 0x0005F4}, + {0x000600, 0x000605}, + {0x000610, 0x00061A}, + {0x00061C, 0x00061C}, + {0x000640, 0x000640}, + {0x00064B, 0x00065F}, + {0x000670, 0x000670}, + {0x0006D6, 0x0006DD}, + {0x0006DF, 0x0006E8}, + {0x0006EA, 0x0006ED}, + {0x00070F, 0x00070F}, + {0x000711, 0x000711}, + {0x000730, 0x00074A}, + {0x0007A6, 0x0007B0}, + {0x0007EB, 0x0007F5}, + {0x0007FA, 0x0007FA}, + {0x0007FD, 0x0007FD}, + {0x000816, 0x00082D}, + {0x000859, 0x00085B}, + {0x000888, 0x000888}, + {0x000890, 0x000891}, + {0x000898, 0x00089F}, + {0x0008C9, 0x000902}, + {0x00093A, 0x00093A}, + {0x00093C, 0x00093C}, + {0x000941, 0x000948}, + {0x00094D, 0x00094D}, + {0x000951, 0x000957}, + {0x000962, 0x000963}, + {0x000971, 0x000971}, + {0x000981, 0x000981}, + {0x0009BC, 0x0009BC}, + {0x0009C1, 0x0009C4}, + {0x0009CD, 0x0009CD}, + {0x0009E2, 0x0009E3}, + {0x0009FE, 0x0009FE}, + {0x000A01, 0x000A02}, + {0x000A3C, 0x000A3C}, + {0x000A41, 0x000A42}, + {0x000A47, 0x000A48}, + {0x000A4B, 0x000A4D}, + {0x000A51, 0x000A51}, + {0x000A70, 0x000A71}, + {0x000A75, 0x000A75}, + {0x000A81, 0x000A82}, + {0x000ABC, 0x000ABC}, + {0x000AC1, 0x000AC5}, + {0x000AC7, 0x000AC8}, + {0x000ACD, 0x000ACD}, + {0x000AE2, 0x000AE3}, + {0x000AFA, 0x000AFF}, + {0x000B01, 0x000B01}, + {0x000B3C, 0x000B3C}, + {0x000B3F, 0x000B3F}, + {0x000B41, 0x000B44}, + {0x000B4D, 0x000B4D}, + {0x000B55, 0x000B56}, + {0x000B62, 0x000B63}, + {0x000B82, 0x000B82}, + {0x000BC0, 0x000BC0}, + {0x000BCD, 0x000BCD}, + {0x000C00, 0x000C00}, + {0x000C04, 0x000C04}, + {0x000C3C, 0x000C3C}, + {0x000C3E, 0x000C40}, + {0x000C46, 0x000C48}, + {0x000C4A, 0x000C4D}, + {0x000C55, 0x000C56}, + {0x000C62, 0x000C63}, + {0x000C81, 0x000C81}, + {0x000CBC, 0x000CBC}, + {0x000CBF, 0x000CBF}, + {0x000CC6, 0x000CC6}, + {0x000CCC, 0x000CCD}, + {0x000CE2, 0x000CE3}, + {0x000D00, 0x000D01}, + {0x000D3B, 0x000D3C}, + {0x000D41, 0x000D44}, + {0x000D4D, 0x000D4D}, + {0x000D62, 0x000D63}, + {0x000D81, 0x000D81}, + {0x000DCA, 0x000DCA}, + {0x000DD2, 0x000DD4}, + {0x000DD6, 0x000DD6}, + {0x000E31, 0x000E31}, + {0x000E34, 0x000E3A}, + {0x000E46, 0x000E4E}, + {0x000EB1, 0x000EB1}, + {0x000EB4, 0x000EBC}, + {0x000EC6, 0x000EC6}, + {0x000EC8, 0x000ECE}, + {0x000F18, 0x000F19}, + {0x000F35, 0x000F35}, + {0x000F37, 0x000F37}, + {0x000F39, 0x000F39}, + {0x000F71, 0x000F7E}, + {0x000F80, 0x000F84}, + {0x000F86, 0x000F87}, + {0x000F8D, 0x000F97}, + {0x000F99, 0x000FBC}, + {0x000FC6, 0x000FC6}, + {0x00102D, 0x001030}, + {0x001032, 0x001037}, + {0x001039, 0x00103A}, + {0x00103D, 0x00103E}, + {0x001058, 0x001059}, + {0x00105E, 0x001060}, + {0x001071, 0x001074}, + {0x001082, 0x001082}, + {0x001085, 0x001086}, + {0x00108D, 0x00108D}, + {0x00109D, 0x00109D}, + {0x0010FC, 0x0010FC}, + {0x00135D, 0x00135F}, + {0x001712, 0x001714}, + {0x001732, 0x001733}, + {0x001752, 0x001753}, + {0x001772, 0x001773}, + {0x0017B4, 0x0017B5}, + {0x0017B7, 0x0017BD}, + {0x0017C6, 0x0017C6}, + {0x0017C9, 0x0017D3}, + {0x0017D7, 0x0017D7}, + {0x0017DD, 0x0017DD}, + {0x00180B, 0x00180F}, + {0x001843, 0x001843}, + {0x001885, 0x001886}, + {0x0018A9, 0x0018A9}, + {0x001920, 0x001922}, + {0x001927, 0x001928}, + {0x001932, 0x001932}, + {0x001939, 0x00193B}, + {0x001A17, 0x001A18}, + {0x001A1B, 0x001A1B}, + {0x001A56, 0x001A56}, + {0x001A58, 0x001A5E}, + {0x001A60, 0x001A60}, + {0x001A62, 0x001A62}, + {0x001A65, 0x001A6C}, + {0x001A73, 0x001A7C}, + {0x001A7F, 0x001A7F}, + {0x001AA7, 0x001AA7}, + {0x001AB0, 0x001ACE}, + {0x001B00, 0x001B03}, + {0x001B34, 0x001B34}, + {0x001B36, 0x001B3A}, + {0x001B3C, 0x001B3C}, + {0x001B42, 0x001B42}, + {0x001B6B, 0x001B73}, + {0x001B80, 0x001B81}, + {0x001BA2, 0x001BA5}, + {0x001BA8, 0x001BA9}, + {0x001BAB, 0x001BAD}, + {0x001BE6, 0x001BE6}, + {0x001BE8, 0x001BE9}, + {0x001BED, 0x001BED}, + {0x001BEF, 0x001BF1}, + {0x001C2C, 0x001C33}, + {0x001C36, 0x001C37}, + {0x001C78, 0x001C7D}, + {0x001CD0, 0x001CD2}, + {0x001CD4, 0x001CE0}, + {0x001CE2, 0x001CE8}, + {0x001CED, 0x001CED}, + {0x001CF4, 0x001CF4}, + {0x001CF8, 0x001CF9}, + {0x001D2C, 0x001D6A}, + {0x001D78, 0x001D78}, + {0x001D9B, 0x001DFF}, + {0x001FBD, 0x001FBD}, + {0x001FBF, 0x001FC1}, + {0x001FCD, 0x001FCF}, + {0x001FDD, 0x001FDF}, + {0x001FED, 0x001FEF}, + {0x001FFD, 0x001FFE}, + {0x00200B, 0x00200F}, + {0x002018, 0x002019}, + {0x002024, 0x002024}, + {0x002027, 0x002027}, + {0x00202A, 0x00202E}, + {0x002060, 0x002064}, + {0x002066, 0x00206F}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x0020D0, 0x0020F0}, + {0x002C7C, 0x002C7D}, + {0x002CEF, 0x002CF1}, + {0x002D6F, 0x002D6F}, + {0x002D7F, 0x002D7F}, + {0x002DE0, 0x002DFF}, + {0x002E2F, 0x002E2F}, + {0x003005, 0x003005}, + {0x00302A, 0x00302D}, + {0x003031, 0x003035}, + {0x00303B, 0x00303B}, + {0x003099, 0x00309E}, + {0x0030FC, 0x0030FE}, + {0x00A015, 0x00A015}, + {0x00A4F8, 0x00A4FD}, + {0x00A60C, 0x00A60C}, + {0x00A66F, 0x00A672}, + {0x00A674, 0x00A67D}, + {0x00A67F, 0x00A67F}, + {0x00A69C, 0x00A69F}, + {0x00A6F0, 0x00A6F1}, + {0x00A700, 0x00A721}, + {0x00A770, 0x00A770}, + {0x00A788, 0x00A78A}, + {0x00A7F2, 0x00A7F4}, + {0x00A7F8, 0x00A7F9}, + {0x00A802, 0x00A802}, + {0x00A806, 0x00A806}, + {0x00A80B, 0x00A80B}, + {0x00A825, 0x00A826}, + {0x00A82C, 0x00A82C}, + {0x00A8C4, 0x00A8C5}, + {0x00A8E0, 0x00A8F1}, + {0x00A8FF, 0x00A8FF}, + {0x00A926, 0x00A92D}, + {0x00A947, 0x00A951}, + {0x00A980, 0x00A982}, + {0x00A9B3, 0x00A9B3}, + {0x00A9B6, 0x00A9B9}, + {0x00A9BC, 0x00A9BD}, + {0x00A9CF, 0x00A9CF}, + {0x00A9E5, 0x00A9E6}, + {0x00AA29, 0x00AA2E}, + {0x00AA31, 0x00AA32}, + {0x00AA35, 0x00AA36}, + {0x00AA43, 0x00AA43}, + {0x00AA4C, 0x00AA4C}, + {0x00AA70, 0x00AA70}, + {0x00AA7C, 0x00AA7C}, + {0x00AAB0, 0x00AAB0}, + {0x00AAB2, 0x00AAB4}, + {0x00AAB7, 0x00AAB8}, + {0x00AABE, 0x00AABF}, + {0x00AAC1, 0x00AAC1}, + {0x00AADD, 0x00AADD}, + {0x00AAEC, 0x00AAED}, + {0x00AAF3, 0x00AAF4}, + {0x00AAF6, 0x00AAF6}, + {0x00AB5B, 0x00AB5F}, + {0x00AB69, 0x00AB6B}, + {0x00ABE5, 0x00ABE5}, + {0x00ABE8, 0x00ABE8}, + {0x00ABED, 0x00ABED}, + {0x00FB1E, 0x00FB1E}, + {0x00FBB2, 0x00FBC2}, + {0x00FE00, 0x00FE0F}, + {0x00FE13, 0x00FE13}, + {0x00FE20, 0x00FE2F}, + {0x00FE52, 0x00FE52}, + {0x00FE55, 0x00FE55}, + {0x00FEFF, 0x00FEFF}, + {0x00FF07, 0x00FF07}, + {0x00FF0E, 0x00FF0E}, + {0x00FF1A, 0x00FF1A}, + {0x00FF3E, 0x00FF3E}, + {0x00FF40, 0x00FF40}, + {0x00FF70, 0x00FF70}, + {0x00FF9E, 0x00FF9F}, + {0x00FFE3, 0x00FFE3}, + {0x00FFF9, 0x00FFFB}, + {0x0101FD, 0x0101FD}, + {0x0102E0, 0x0102E0}, + {0x010376, 0x01037A}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010A01, 0x010A03}, + {0x010A05, 0x010A06}, + {0x010A0C, 0x010A0F}, + {0x010A38, 0x010A3A}, + {0x010A3F, 0x010A3F}, + {0x010AE5, 0x010AE6}, + {0x010D24, 0x010D27}, + {0x010EAB, 0x010EAC}, + {0x010EFD, 0x010EFF}, + {0x010F46, 0x010F50}, + {0x010F82, 0x010F85}, + {0x011001, 0x011001}, + {0x011038, 0x011046}, + {0x011070, 0x011070}, + {0x011073, 0x011074}, + {0x01107F, 0x011081}, + {0x0110B3, 0x0110B6}, + {0x0110B9, 0x0110BA}, + {0x0110BD, 0x0110BD}, + {0x0110C2, 0x0110C2}, + {0x0110CD, 0x0110CD}, + {0x011100, 0x011102}, + {0x011127, 0x01112B}, + {0x01112D, 0x011134}, + {0x011173, 0x011173}, + {0x011180, 0x011181}, + {0x0111B6, 0x0111BE}, + {0x0111C9, 0x0111CC}, + {0x0111CF, 0x0111CF}, + {0x01122F, 0x011231}, + {0x011234, 0x011234}, + {0x011236, 0x011237}, + {0x01123E, 0x01123E}, + {0x011241, 0x011241}, + {0x0112DF, 0x0112DF}, + {0x0112E3, 0x0112EA}, + {0x011300, 0x011301}, + {0x01133B, 0x01133C}, + {0x011340, 0x011340}, + {0x011366, 0x01136C}, + {0x011370, 0x011374}, + {0x011438, 0x01143F}, + {0x011442, 0x011444}, + {0x011446, 0x011446}, + {0x01145E, 0x01145E}, + {0x0114B3, 0x0114B8}, + {0x0114BA, 0x0114BA}, + {0x0114BF, 0x0114C0}, + {0x0114C2, 0x0114C3}, + {0x0115B2, 0x0115B5}, + {0x0115BC, 0x0115BD}, + {0x0115BF, 0x0115C0}, + {0x0115DC, 0x0115DD}, + {0x011633, 0x01163A}, + {0x01163D, 0x01163D}, + {0x01163F, 0x011640}, + {0x0116AB, 0x0116AB}, + {0x0116AD, 0x0116AD}, + {0x0116B0, 0x0116B5}, + {0x0116B7, 0x0116B7}, + {0x01171D, 0x01171F}, + {0x011722, 0x011725}, + {0x011727, 0x01172B}, + {0x01182F, 0x011837}, + {0x011839, 0x01183A}, + {0x01193B, 0x01193C}, + {0x01193E, 0x01193E}, + {0x011943, 0x011943}, + {0x0119D4, 0x0119D7}, + {0x0119DA, 0x0119DB}, + {0x0119E0, 0x0119E0}, + {0x011A01, 0x011A0A}, + {0x011A33, 0x011A38}, + {0x011A3B, 0x011A3E}, + {0x011A47, 0x011A47}, + {0x011A51, 0x011A56}, + {0x011A59, 0x011A5B}, + {0x011A8A, 0x011A96}, + {0x011A98, 0x011A99}, + {0x011C30, 0x011C36}, + {0x011C38, 0x011C3D}, + {0x011C3F, 0x011C3F}, + {0x011C92, 0x011CA7}, + {0x011CAA, 0x011CB0}, + {0x011CB2, 0x011CB3}, + {0x011CB5, 0x011CB6}, + {0x011D31, 0x011D36}, + {0x011D3A, 0x011D3A}, + {0x011D3C, 0x011D3D}, + {0x011D3F, 0x011D45}, + {0x011D47, 0x011D47}, + {0x011D90, 0x011D91}, + {0x011D95, 0x011D95}, + {0x011D97, 0x011D97}, + {0x011EF3, 0x011EF4}, + {0x011F00, 0x011F01}, + {0x011F36, 0x011F3A}, + {0x011F40, 0x011F40}, + {0x011F42, 0x011F42}, + {0x013430, 0x013440}, + {0x013447, 0x013455}, + {0x016AF0, 0x016AF4}, + {0x016B30, 0x016B36}, + {0x016B40, 0x016B43}, + {0x016F4F, 0x016F4F}, + {0x016F8F, 0x016F9F}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE4}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01BC9D, 0x01BC9E}, + {0x01BCA0, 0x01BCA3}, + {0x01CF00, 0x01CF2D}, + {0x01CF30, 0x01CF46}, + {0x01D167, 0x01D169}, + {0x01D173, 0x01D182}, + {0x01D185, 0x01D18B}, + {0x01D1AA, 0x01D1AD}, + {0x01D242, 0x01D244}, + {0x01DA00, 0x01DA36}, + {0x01DA3B, 0x01DA6C}, + {0x01DA75, 0x01DA75}, + {0x01DA84, 0x01DA84}, + {0x01DA9B, 0x01DA9F}, + {0x01DAA1, 0x01DAAF}, + {0x01E000, 0x01E006}, + {0x01E008, 0x01E018}, + {0x01E01B, 0x01E021}, + {0x01E023, 0x01E024}, + {0x01E026, 0x01E02A}, + {0x01E030, 0x01E06D}, + {0x01E08F, 0x01E08F}, + {0x01E130, 0x01E13D}, + {0x01E2AE, 0x01E2AE}, + {0x01E2EC, 0x01E2EF}, + {0x01E4EB, 0x01E4EF}, + {0x01E8D0, 0x01E8D6}, + {0x01E944, 0x01E94B}, + {0x01F3FB, 0x01F3FF}, + {0x0E0001, 0x0E0001}, + {0x0E0020, 0x0E007F}, + {0x0E0100, 0x0E01EF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_case_ignorable(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_cased.c b/vendor/librune/lib/rtype/rune_has_prop_cased.c new file mode 100644 index 0000000..3d1fb30 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_cased.c @@ -0,0 +1,187 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF042004000000000007FFFFFE07FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000BA, 0x0000BA}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x0001BA}, + {0x0001BC, 0x0001BF}, + {0x0001C4, 0x000293}, + {0x000295, 0x0002B8}, + {0x0002C0, 0x0002C1}, + {0x0002E0, 0x0002E4}, + {0x000345, 0x000345}, + {0x000370, 0x000373}, + {0x000376, 0x000377}, + {0x00037A, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003F5}, + {0x0003F7, 0x000481}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000560, 0x000588}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x0010FF}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001D00, 0x001DBF}, + {0x001E00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002119, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x00212D}, + {0x00212F, 0x002134}, + {0x002139, 0x002139}, + {0x00213C, 0x00213F}, + {0x002145, 0x002149}, + {0x00214E, 0x00214E}, + {0x002160, 0x00217F}, + {0x002183, 0x002184}, + {0x0024B6, 0x0024E9}, + {0x002C00, 0x002CE4}, + {0x002CEB, 0x002CEE}, + {0x002CF2, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x00A640, 0x00A66D}, + {0x00A680, 0x00A69D}, + {0x00A722, 0x00A787}, + {0x00A78B, 0x00A78E}, + {0x00A790, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A7F6}, + {0x00A7F8, 0x00A7FA}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABBF}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FF21, 0x00FF3A}, + {0x00FF41, 0x00FF5A}, + {0x010400, 0x01044F}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010780, 0x010780}, + {0x010783, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x0118A0, 0x0118DF}, + {0x016E40, 0x016E7F}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D6C0}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6FA}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D734}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D76E}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D7A8}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7CB}, + {0x01DF00, 0x01DF09}, + {0x01DF0B, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E030, 0x01E06D}, + {0x01E900, 0x01E943}, + {0x01F130, 0x01F149}, + {0x01F150, 0x01F169}, + {0x01F170, 0x01F189}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_cased(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_changes_when_casefolded.c b/vendor/librune/lib/rtype/rune_has_prop_changes_when_casefolded.c new file mode 100644 index 0000000..52c30a4 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_changes_when_casefolded.c @@ -0,0 +1,652 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFF00200000000000000000000007FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x0000B5, 0x0000B5}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000DF}, + {0x000100, 0x000100}, + {0x000102, 0x000102}, + {0x000104, 0x000104}, + {0x000106, 0x000106}, + {0x000108, 0x000108}, + {0x00010A, 0x00010A}, + {0x00010C, 0x00010C}, + {0x00010E, 0x00010E}, + {0x000110, 0x000110}, + {0x000112, 0x000112}, + {0x000114, 0x000114}, + {0x000116, 0x000116}, + {0x000118, 0x000118}, + {0x00011A, 0x00011A}, + {0x00011C, 0x00011C}, + {0x00011E, 0x00011E}, + {0x000120, 0x000120}, + {0x000122, 0x000122}, + {0x000124, 0x000124}, + {0x000126, 0x000126}, + {0x000128, 0x000128}, + {0x00012A, 0x00012A}, + {0x00012C, 0x00012C}, + {0x00012E, 0x00012E}, + {0x000130, 0x000130}, + {0x000132, 0x000132}, + {0x000134, 0x000134}, + {0x000136, 0x000136}, + {0x000139, 0x000139}, + {0x00013B, 0x00013B}, + {0x00013D, 0x00013D}, + {0x00013F, 0x00013F}, + {0x000141, 0x000141}, + {0x000143, 0x000143}, + {0x000145, 0x000145}, + {0x000147, 0x000147}, + {0x000149, 0x00014A}, + {0x00014C, 0x00014C}, + {0x00014E, 0x00014E}, + {0x000150, 0x000150}, + {0x000152, 0x000152}, + {0x000154, 0x000154}, + {0x000156, 0x000156}, + {0x000158, 0x000158}, + {0x00015A, 0x00015A}, + {0x00015C, 0x00015C}, + {0x00015E, 0x00015E}, + {0x000160, 0x000160}, + {0x000162, 0x000162}, + {0x000164, 0x000164}, + {0x000166, 0x000166}, + {0x000168, 0x000168}, + {0x00016A, 0x00016A}, + {0x00016C, 0x00016C}, + {0x00016E, 0x00016E}, + {0x000170, 0x000170}, + {0x000172, 0x000172}, + {0x000174, 0x000174}, + {0x000176, 0x000176}, + {0x000178, 0x000179}, + {0x00017B, 0x00017B}, + {0x00017D, 0x00017D}, + {0x00017F, 0x00017F}, + {0x000181, 0x000182}, + {0x000184, 0x000184}, + {0x000186, 0x000187}, + {0x000189, 0x00018B}, + {0x00018E, 0x000191}, + {0x000193, 0x000194}, + {0x000196, 0x000198}, + {0x00019C, 0x00019D}, + {0x00019F, 0x0001A0}, + {0x0001A2, 0x0001A2}, + {0x0001A4, 0x0001A4}, + {0x0001A6, 0x0001A7}, + {0x0001A9, 0x0001A9}, + {0x0001AC, 0x0001AC}, + {0x0001AE, 0x0001AF}, + {0x0001B1, 0x0001B3}, + {0x0001B5, 0x0001B5}, + {0x0001B7, 0x0001B8}, + {0x0001BC, 0x0001BC}, + {0x0001C4, 0x0001C5}, + {0x0001C7, 0x0001C8}, + {0x0001CA, 0x0001CB}, + {0x0001CD, 0x0001CD}, + {0x0001CF, 0x0001CF}, + {0x0001D1, 0x0001D1}, + {0x0001D3, 0x0001D3}, + {0x0001D5, 0x0001D5}, + {0x0001D7, 0x0001D7}, + {0x0001D9, 0x0001D9}, + {0x0001DB, 0x0001DB}, + {0x0001DE, 0x0001DE}, + {0x0001E0, 0x0001E0}, + {0x0001E2, 0x0001E2}, + {0x0001E4, 0x0001E4}, + {0x0001E6, 0x0001E6}, + {0x0001E8, 0x0001E8}, + {0x0001EA, 0x0001EA}, + {0x0001EC, 0x0001EC}, + {0x0001EE, 0x0001EE}, + {0x0001F1, 0x0001F2}, + {0x0001F4, 0x0001F4}, + {0x0001F6, 0x0001F8}, + {0x0001FA, 0x0001FA}, + {0x0001FC, 0x0001FC}, + {0x0001FE, 0x0001FE}, + {0x000200, 0x000200}, + {0x000202, 0x000202}, + {0x000204, 0x000204}, + {0x000206, 0x000206}, + {0x000208, 0x000208}, + {0x00020A, 0x00020A}, + {0x00020C, 0x00020C}, + {0x00020E, 0x00020E}, + {0x000210, 0x000210}, + {0x000212, 0x000212}, + {0x000214, 0x000214}, + {0x000216, 0x000216}, + {0x000218, 0x000218}, + {0x00021A, 0x00021A}, + {0x00021C, 0x00021C}, + {0x00021E, 0x00021E}, + {0x000220, 0x000220}, + {0x000222, 0x000222}, + {0x000224, 0x000224}, + {0x000226, 0x000226}, + {0x000228, 0x000228}, + {0x00022A, 0x00022A}, + {0x00022C, 0x00022C}, + {0x00022E, 0x00022E}, + {0x000230, 0x000230}, + {0x000232, 0x000232}, + {0x00023A, 0x00023B}, + {0x00023D, 0x00023E}, + {0x000241, 0x000241}, + {0x000243, 0x000246}, + {0x000248, 0x000248}, + {0x00024A, 0x00024A}, + {0x00024C, 0x00024C}, + {0x00024E, 0x00024E}, + {0x000345, 0x000345}, + {0x000370, 0x000370}, + {0x000372, 0x000372}, + {0x000376, 0x000376}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x00038F}, + {0x000391, 0x0003A1}, + {0x0003A3, 0x0003AB}, + {0x0003C2, 0x0003C2}, + {0x0003CF, 0x0003D1}, + {0x0003D5, 0x0003D6}, + {0x0003D8, 0x0003D8}, + {0x0003DA, 0x0003DA}, + {0x0003DC, 0x0003DC}, + {0x0003DE, 0x0003DE}, + {0x0003E0, 0x0003E0}, + {0x0003E2, 0x0003E2}, + {0x0003E4, 0x0003E4}, + {0x0003E6, 0x0003E6}, + {0x0003E8, 0x0003E8}, + {0x0003EA, 0x0003EA}, + {0x0003EC, 0x0003EC}, + {0x0003EE, 0x0003EE}, + {0x0003F0, 0x0003F1}, + {0x0003F4, 0x0003F5}, + {0x0003F7, 0x0003F7}, + {0x0003F9, 0x0003FA}, + {0x0003FD, 0x00042F}, + {0x000460, 0x000460}, + {0x000462, 0x000462}, + {0x000464, 0x000464}, + {0x000466, 0x000466}, + {0x000468, 0x000468}, + {0x00046A, 0x00046A}, + {0x00046C, 0x00046C}, + {0x00046E, 0x00046E}, + {0x000470, 0x000470}, + {0x000472, 0x000472}, + {0x000474, 0x000474}, + {0x000476, 0x000476}, + {0x000478, 0x000478}, + {0x00047A, 0x00047A}, + {0x00047C, 0x00047C}, + {0x00047E, 0x00047E}, + {0x000480, 0x000480}, + {0x00048A, 0x00048A}, + {0x00048C, 0x00048C}, + {0x00048E, 0x00048E}, + {0x000490, 0x000490}, + {0x000492, 0x000492}, + {0x000494, 0x000494}, + {0x000496, 0x000496}, + {0x000498, 0x000498}, + {0x00049A, 0x00049A}, + {0x00049C, 0x00049C}, + {0x00049E, 0x00049E}, + {0x0004A0, 0x0004A0}, + {0x0004A2, 0x0004A2}, + {0x0004A4, 0x0004A4}, + {0x0004A6, 0x0004A6}, + {0x0004A8, 0x0004A8}, + {0x0004AA, 0x0004AA}, + {0x0004AC, 0x0004AC}, + {0x0004AE, 0x0004AE}, + {0x0004B0, 0x0004B0}, + {0x0004B2, 0x0004B2}, + {0x0004B4, 0x0004B4}, + {0x0004B6, 0x0004B6}, + {0x0004B8, 0x0004B8}, + {0x0004BA, 0x0004BA}, + {0x0004BC, 0x0004BC}, + {0x0004BE, 0x0004BE}, + {0x0004C0, 0x0004C1}, + {0x0004C3, 0x0004C3}, + {0x0004C5, 0x0004C5}, + {0x0004C7, 0x0004C7}, + {0x0004C9, 0x0004C9}, + {0x0004CB, 0x0004CB}, + {0x0004CD, 0x0004CD}, + {0x0004D0, 0x0004D0}, + {0x0004D2, 0x0004D2}, + {0x0004D4, 0x0004D4}, + {0x0004D6, 0x0004D6}, + {0x0004D8, 0x0004D8}, + {0x0004DA, 0x0004DA}, + {0x0004DC, 0x0004DC}, + {0x0004DE, 0x0004DE}, + {0x0004E0, 0x0004E0}, + {0x0004E2, 0x0004E2}, + {0x0004E4, 0x0004E4}, + {0x0004E6, 0x0004E6}, + {0x0004E8, 0x0004E8}, + {0x0004EA, 0x0004EA}, + {0x0004EC, 0x0004EC}, + {0x0004EE, 0x0004EE}, + {0x0004F0, 0x0004F0}, + {0x0004F2, 0x0004F2}, + {0x0004F4, 0x0004F4}, + {0x0004F6, 0x0004F6}, + {0x0004F8, 0x0004F8}, + {0x0004FA, 0x0004FA}, + {0x0004FC, 0x0004FC}, + {0x0004FE, 0x0004FE}, + {0x000500, 0x000500}, + {0x000502, 0x000502}, + {0x000504, 0x000504}, + {0x000506, 0x000506}, + {0x000508, 0x000508}, + {0x00050A, 0x00050A}, + {0x00050C, 0x00050C}, + {0x00050E, 0x00050E}, + {0x000510, 0x000510}, + {0x000512, 0x000512}, + {0x000514, 0x000514}, + {0x000516, 0x000516}, + {0x000518, 0x000518}, + {0x00051A, 0x00051A}, + {0x00051C, 0x00051C}, + {0x00051E, 0x00051E}, + {0x000520, 0x000520}, + {0x000522, 0x000522}, + {0x000524, 0x000524}, + {0x000526, 0x000526}, + {0x000528, 0x000528}, + {0x00052A, 0x00052A}, + {0x00052C, 0x00052C}, + {0x00052E, 0x00052E}, + {0x000531, 0x000556}, + {0x000587, 0x000587}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0013F8, 0x0013FD}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001E00, 0x001E00}, + {0x001E02, 0x001E02}, + {0x001E04, 0x001E04}, + {0x001E06, 0x001E06}, + {0x001E08, 0x001E08}, + {0x001E0A, 0x001E0A}, + {0x001E0C, 0x001E0C}, + {0x001E0E, 0x001E0E}, + {0x001E10, 0x001E10}, + {0x001E12, 0x001E12}, + {0x001E14, 0x001E14}, + {0x001E16, 0x001E16}, + {0x001E18, 0x001E18}, + {0x001E1A, 0x001E1A}, + {0x001E1C, 0x001E1C}, + {0x001E1E, 0x001E1E}, + {0x001E20, 0x001E20}, + {0x001E22, 0x001E22}, + {0x001E24, 0x001E24}, + {0x001E26, 0x001E26}, + {0x001E28, 0x001E28}, + {0x001E2A, 0x001E2A}, + {0x001E2C, 0x001E2C}, + {0x001E2E, 0x001E2E}, + {0x001E30, 0x001E30}, + {0x001E32, 0x001E32}, + {0x001E34, 0x001E34}, + {0x001E36, 0x001E36}, + {0x001E38, 0x001E38}, + {0x001E3A, 0x001E3A}, + {0x001E3C, 0x001E3C}, + {0x001E3E, 0x001E3E}, + {0x001E40, 0x001E40}, + {0x001E42, 0x001E42}, + {0x001E44, 0x001E44}, + {0x001E46, 0x001E46}, + {0x001E48, 0x001E48}, + {0x001E4A, 0x001E4A}, + {0x001E4C, 0x001E4C}, + {0x001E4E, 0x001E4E}, + {0x001E50, 0x001E50}, + {0x001E52, 0x001E52}, + {0x001E54, 0x001E54}, + {0x001E56, 0x001E56}, + {0x001E58, 0x001E58}, + {0x001E5A, 0x001E5A}, + {0x001E5C, 0x001E5C}, + {0x001E5E, 0x001E5E}, + {0x001E60, 0x001E60}, + {0x001E62, 0x001E62}, + {0x001E64, 0x001E64}, + {0x001E66, 0x001E66}, + {0x001E68, 0x001E68}, + {0x001E6A, 0x001E6A}, + {0x001E6C, 0x001E6C}, + {0x001E6E, 0x001E6E}, + {0x001E70, 0x001E70}, + {0x001E72, 0x001E72}, + {0x001E74, 0x001E74}, + {0x001E76, 0x001E76}, + {0x001E78, 0x001E78}, + {0x001E7A, 0x001E7A}, + {0x001E7C, 0x001E7C}, + {0x001E7E, 0x001E7E}, + {0x001E80, 0x001E80}, + {0x001E82, 0x001E82}, + {0x001E84, 0x001E84}, + {0x001E86, 0x001E86}, + {0x001E88, 0x001E88}, + {0x001E8A, 0x001E8A}, + {0x001E8C, 0x001E8C}, + {0x001E8E, 0x001E8E}, + {0x001E90, 0x001E90}, + {0x001E92, 0x001E92}, + {0x001E94, 0x001E94}, + {0x001E9A, 0x001E9B}, + {0x001E9E, 0x001E9E}, + {0x001EA0, 0x001EA0}, + {0x001EA2, 0x001EA2}, + {0x001EA4, 0x001EA4}, + {0x001EA6, 0x001EA6}, + {0x001EA8, 0x001EA8}, + {0x001EAA, 0x001EAA}, + {0x001EAC, 0x001EAC}, + {0x001EAE, 0x001EAE}, + {0x001EB0, 0x001EB0}, + {0x001EB2, 0x001EB2}, + {0x001EB4, 0x001EB4}, + {0x001EB6, 0x001EB6}, + {0x001EB8, 0x001EB8}, + {0x001EBA, 0x001EBA}, + {0x001EBC, 0x001EBC}, + {0x001EBE, 0x001EBE}, + {0x001EC0, 0x001EC0}, + {0x001EC2, 0x001EC2}, + {0x001EC4, 0x001EC4}, + {0x001EC6, 0x001EC6}, + {0x001EC8, 0x001EC8}, + {0x001ECA, 0x001ECA}, + {0x001ECC, 0x001ECC}, + {0x001ECE, 0x001ECE}, + {0x001ED0, 0x001ED0}, + {0x001ED2, 0x001ED2}, + {0x001ED4, 0x001ED4}, + {0x001ED6, 0x001ED6}, + {0x001ED8, 0x001ED8}, + {0x001EDA, 0x001EDA}, + {0x001EDC, 0x001EDC}, + {0x001EDE, 0x001EDE}, + {0x001EE0, 0x001EE0}, + {0x001EE2, 0x001EE2}, + {0x001EE4, 0x001EE4}, + {0x001EE6, 0x001EE6}, + {0x001EE8, 0x001EE8}, + {0x001EEA, 0x001EEA}, + {0x001EEC, 0x001EEC}, + {0x001EEE, 0x001EEE}, + {0x001EF0, 0x001EF0}, + {0x001EF2, 0x001EF2}, + {0x001EF4, 0x001EF4}, + {0x001EF6, 0x001EF6}, + {0x001EF8, 0x001EF8}, + {0x001EFA, 0x001EFA}, + {0x001EFC, 0x001EFC}, + {0x001EFE, 0x001EFE}, + {0x001F08, 0x001F0F}, + {0x001F18, 0x001F1D}, + {0x001F28, 0x001F2F}, + {0x001F38, 0x001F3F}, + {0x001F48, 0x001F4D}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F5F}, + {0x001F68, 0x001F6F}, + {0x001F80, 0x001FAF}, + {0x001FB2, 0x001FB4}, + {0x001FB7, 0x001FBC}, + {0x001FC2, 0x001FC4}, + {0x001FC7, 0x001FCC}, + {0x001FD8, 0x001FDB}, + {0x001FE8, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF7, 0x001FFC}, + {0x002126, 0x002126}, + {0x00212A, 0x00212B}, + {0x002132, 0x002132}, + {0x002160, 0x00216F}, + {0x002183, 0x002183}, + {0x0024B6, 0x0024CF}, + {0x002C00, 0x002C2F}, + {0x002C60, 0x002C60}, + {0x002C62, 0x002C64}, + {0x002C67, 0x002C67}, + {0x002C69, 0x002C69}, + {0x002C6B, 0x002C6B}, + {0x002C6D, 0x002C70}, + {0x002C72, 0x002C72}, + {0x002C75, 0x002C75}, + {0x002C7E, 0x002C80}, + {0x002C82, 0x002C82}, + {0x002C84, 0x002C84}, + {0x002C86, 0x002C86}, + {0x002C88, 0x002C88}, + {0x002C8A, 0x002C8A}, + {0x002C8C, 0x002C8C}, + {0x002C8E, 0x002C8E}, + {0x002C90, 0x002C90}, + {0x002C92, 0x002C92}, + {0x002C94, 0x002C94}, + {0x002C96, 0x002C96}, + {0x002C98, 0x002C98}, + {0x002C9A, 0x002C9A}, + {0x002C9C, 0x002C9C}, + {0x002C9E, 0x002C9E}, + {0x002CA0, 0x002CA0}, + {0x002CA2, 0x002CA2}, + {0x002CA4, 0x002CA4}, + {0x002CA6, 0x002CA6}, + {0x002CA8, 0x002CA8}, + {0x002CAA, 0x002CAA}, + {0x002CAC, 0x002CAC}, + {0x002CAE, 0x002CAE}, + {0x002CB0, 0x002CB0}, + {0x002CB2, 0x002CB2}, + {0x002CB4, 0x002CB4}, + {0x002CB6, 0x002CB6}, + {0x002CB8, 0x002CB8}, + {0x002CBA, 0x002CBA}, + {0x002CBC, 0x002CBC}, + {0x002CBE, 0x002CBE}, + {0x002CC0, 0x002CC0}, + {0x002CC2, 0x002CC2}, + {0x002CC4, 0x002CC4}, + {0x002CC6, 0x002CC6}, + {0x002CC8, 0x002CC8}, + {0x002CCA, 0x002CCA}, + {0x002CCC, 0x002CCC}, + {0x002CCE, 0x002CCE}, + {0x002CD0, 0x002CD0}, + {0x002CD2, 0x002CD2}, + {0x002CD4, 0x002CD4}, + {0x002CD6, 0x002CD6}, + {0x002CD8, 0x002CD8}, + {0x002CDA, 0x002CDA}, + {0x002CDC, 0x002CDC}, + {0x002CDE, 0x002CDE}, + {0x002CE0, 0x002CE0}, + {0x002CE2, 0x002CE2}, + {0x002CEB, 0x002CEB}, + {0x002CED, 0x002CED}, + {0x002CF2, 0x002CF2}, + {0x00A640, 0x00A640}, + {0x00A642, 0x00A642}, + {0x00A644, 0x00A644}, + {0x00A646, 0x00A646}, + {0x00A648, 0x00A648}, + {0x00A64A, 0x00A64A}, + {0x00A64C, 0x00A64C}, + {0x00A64E, 0x00A64E}, + {0x00A650, 0x00A650}, + {0x00A652, 0x00A652}, + {0x00A654, 0x00A654}, + {0x00A656, 0x00A656}, + {0x00A658, 0x00A658}, + {0x00A65A, 0x00A65A}, + {0x00A65C, 0x00A65C}, + {0x00A65E, 0x00A65E}, + {0x00A660, 0x00A660}, + {0x00A662, 0x00A662}, + {0x00A664, 0x00A664}, + {0x00A666, 0x00A666}, + {0x00A668, 0x00A668}, + {0x00A66A, 0x00A66A}, + {0x00A66C, 0x00A66C}, + {0x00A680, 0x00A680}, + {0x00A682, 0x00A682}, + {0x00A684, 0x00A684}, + {0x00A686, 0x00A686}, + {0x00A688, 0x00A688}, + {0x00A68A, 0x00A68A}, + {0x00A68C, 0x00A68C}, + {0x00A68E, 0x00A68E}, + {0x00A690, 0x00A690}, + {0x00A692, 0x00A692}, + {0x00A694, 0x00A694}, + {0x00A696, 0x00A696}, + {0x00A698, 0x00A698}, + {0x00A69A, 0x00A69A}, + {0x00A722, 0x00A722}, + {0x00A724, 0x00A724}, + {0x00A726, 0x00A726}, + {0x00A728, 0x00A728}, + {0x00A72A, 0x00A72A}, + {0x00A72C, 0x00A72C}, + {0x00A72E, 0x00A72E}, + {0x00A732, 0x00A732}, + {0x00A734, 0x00A734}, + {0x00A736, 0x00A736}, + {0x00A738, 0x00A738}, + {0x00A73A, 0x00A73A}, + {0x00A73C, 0x00A73C}, + {0x00A73E, 0x00A73E}, + {0x00A740, 0x00A740}, + {0x00A742, 0x00A742}, + {0x00A744, 0x00A744}, + {0x00A746, 0x00A746}, + {0x00A748, 0x00A748}, + {0x00A74A, 0x00A74A}, + {0x00A74C, 0x00A74C}, + {0x00A74E, 0x00A74E}, + {0x00A750, 0x00A750}, + {0x00A752, 0x00A752}, + {0x00A754, 0x00A754}, + {0x00A756, 0x00A756}, + {0x00A758, 0x00A758}, + {0x00A75A, 0x00A75A}, + {0x00A75C, 0x00A75C}, + {0x00A75E, 0x00A75E}, + {0x00A760, 0x00A760}, + {0x00A762, 0x00A762}, + {0x00A764, 0x00A764}, + {0x00A766, 0x00A766}, + {0x00A768, 0x00A768}, + {0x00A76A, 0x00A76A}, + {0x00A76C, 0x00A76C}, + {0x00A76E, 0x00A76E}, + {0x00A779, 0x00A779}, + {0x00A77B, 0x00A77B}, + {0x00A77D, 0x00A77E}, + {0x00A780, 0x00A780}, + {0x00A782, 0x00A782}, + {0x00A784, 0x00A784}, + {0x00A786, 0x00A786}, + {0x00A78B, 0x00A78B}, + {0x00A78D, 0x00A78D}, + {0x00A790, 0x00A790}, + {0x00A792, 0x00A792}, + {0x00A796, 0x00A796}, + {0x00A798, 0x00A798}, + {0x00A79A, 0x00A79A}, + {0x00A79C, 0x00A79C}, + {0x00A79E, 0x00A79E}, + {0x00A7A0, 0x00A7A0}, + {0x00A7A2, 0x00A7A2}, + {0x00A7A4, 0x00A7A4}, + {0x00A7A6, 0x00A7A6}, + {0x00A7A8, 0x00A7A8}, + {0x00A7AA, 0x00A7AE}, + {0x00A7B0, 0x00A7B4}, + {0x00A7B6, 0x00A7B6}, + {0x00A7B8, 0x00A7B8}, + {0x00A7BA, 0x00A7BA}, + {0x00A7BC, 0x00A7BC}, + {0x00A7BE, 0x00A7BE}, + {0x00A7C0, 0x00A7C0}, + {0x00A7C2, 0x00A7C2}, + {0x00A7C4, 0x00A7C7}, + {0x00A7C9, 0x00A7C9}, + {0x00A7D0, 0x00A7D0}, + {0x00A7D6, 0x00A7D6}, + {0x00A7D8, 0x00A7D8}, + {0x00A7F5, 0x00A7F5}, + {0x00AB70, 0x00ABBF}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FF21, 0x00FF3A}, + {0x010400, 0x010427}, + {0x0104B0, 0x0104D3}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010C80, 0x010CB2}, + {0x0118A0, 0x0118BF}, + {0x016E40, 0x016E5F}, + {0x01E900, 0x01E921}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_changes_when_casefolded(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_changes_when_casemapped.c b/vendor/librune/lib/rtype/rune_has_prop_changes_when_casemapped.c new file mode 100644 index 0000000..5b40d20 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_changes_when_casemapped.c @@ -0,0 +1,161 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF002000000000000007FFFFFE07FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x000061, 0x00007A}, + {0x0000B5, 0x0000B5}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x000137}, + {0x000139, 0x00018C}, + {0x00018E, 0x00019A}, + {0x00019C, 0x0001A9}, + {0x0001AC, 0x0001B9}, + {0x0001BC, 0x0001BD}, + {0x0001BF, 0x0001BF}, + {0x0001C4, 0x000220}, + {0x000222, 0x000233}, + {0x00023A, 0x000254}, + {0x000256, 0x000257}, + {0x000259, 0x000259}, + {0x00025B, 0x00025C}, + {0x000260, 0x000261}, + {0x000263, 0x000263}, + {0x000265, 0x000266}, + {0x000268, 0x00026C}, + {0x00026F, 0x00026F}, + {0x000271, 0x000272}, + {0x000275, 0x000275}, + {0x00027D, 0x00027D}, + {0x000280, 0x000280}, + {0x000282, 0x000283}, + {0x000287, 0x00028C}, + {0x000292, 0x000292}, + {0x00029D, 0x00029E}, + {0x000345, 0x000345}, + {0x000370, 0x000373}, + {0x000376, 0x000377}, + {0x00037B, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003D1}, + {0x0003D5, 0x0003F5}, + {0x0003F7, 0x0003FB}, + {0x0003FD, 0x000481}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000561, 0x000587}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FD, 0x0010FF}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001D79, 0x001D79}, + {0x001D7D, 0x001D7D}, + {0x001D8E, 0x001D8E}, + {0x001E00, 0x001E9B}, + {0x001E9E, 0x001E9E}, + {0x001EA0, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x002126, 0x002126}, + {0x00212A, 0x00212B}, + {0x002132, 0x002132}, + {0x00214E, 0x00214E}, + {0x002160, 0x00217F}, + {0x002183, 0x002184}, + {0x0024B6, 0x0024E9}, + {0x002C00, 0x002C70}, + {0x002C72, 0x002C73}, + {0x002C75, 0x002C76}, + {0x002C7E, 0x002CE3}, + {0x002CEB, 0x002CEE}, + {0x002CF2, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x00A640, 0x00A66D}, + {0x00A680, 0x00A69B}, + {0x00A722, 0x00A72F}, + {0x00A732, 0x00A76F}, + {0x00A779, 0x00A787}, + {0x00A78B, 0x00A78D}, + {0x00A790, 0x00A794}, + {0x00A796, 0x00A7AE}, + {0x00A7B0, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D6, 0x00A7D9}, + {0x00A7F5, 0x00A7F6}, + {0x00AB53, 0x00AB53}, + {0x00AB70, 0x00ABBF}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FF21, 0x00FF3A}, + {0x00FF41, 0x00FF5A}, + {0x010400, 0x01044F}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x0118A0, 0x0118DF}, + {0x016E40, 0x016E7F}, + {0x01E900, 0x01E943}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_changes_when_casemapped(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_changes_when_lowercased.c b/vendor/librune/lib/rtype/rune_has_prop_changes_when_lowercased.c new file mode 100644 index 0000000..dd7575d --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_changes_when_lowercased.c @@ -0,0 +1,639 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x7F7FFFFF00000000000000000000000007FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000DE}, + {0x000100, 0x000100}, + {0x000102, 0x000102}, + {0x000104, 0x000104}, + {0x000106, 0x000106}, + {0x000108, 0x000108}, + {0x00010A, 0x00010A}, + {0x00010C, 0x00010C}, + {0x00010E, 0x00010E}, + {0x000110, 0x000110}, + {0x000112, 0x000112}, + {0x000114, 0x000114}, + {0x000116, 0x000116}, + {0x000118, 0x000118}, + {0x00011A, 0x00011A}, + {0x00011C, 0x00011C}, + {0x00011E, 0x00011E}, + {0x000120, 0x000120}, + {0x000122, 0x000122}, + {0x000124, 0x000124}, + {0x000126, 0x000126}, + {0x000128, 0x000128}, + {0x00012A, 0x00012A}, + {0x00012C, 0x00012C}, + {0x00012E, 0x00012E}, + {0x000130, 0x000130}, + {0x000132, 0x000132}, + {0x000134, 0x000134}, + {0x000136, 0x000136}, + {0x000139, 0x000139}, + {0x00013B, 0x00013B}, + {0x00013D, 0x00013D}, + {0x00013F, 0x00013F}, + {0x000141, 0x000141}, + {0x000143, 0x000143}, + {0x000145, 0x000145}, + {0x000147, 0x000147}, + {0x00014A, 0x00014A}, + {0x00014C, 0x00014C}, + {0x00014E, 0x00014E}, + {0x000150, 0x000150}, + {0x000152, 0x000152}, + {0x000154, 0x000154}, + {0x000156, 0x000156}, + {0x000158, 0x000158}, + {0x00015A, 0x00015A}, + {0x00015C, 0x00015C}, + {0x00015E, 0x00015E}, + {0x000160, 0x000160}, + {0x000162, 0x000162}, + {0x000164, 0x000164}, + {0x000166, 0x000166}, + {0x000168, 0x000168}, + {0x00016A, 0x00016A}, + {0x00016C, 0x00016C}, + {0x00016E, 0x00016E}, + {0x000170, 0x000170}, + {0x000172, 0x000172}, + {0x000174, 0x000174}, + {0x000176, 0x000176}, + {0x000178, 0x000179}, + {0x00017B, 0x00017B}, + {0x00017D, 0x00017D}, + {0x000181, 0x000182}, + {0x000184, 0x000184}, + {0x000186, 0x000187}, + {0x000189, 0x00018B}, + {0x00018E, 0x000191}, + {0x000193, 0x000194}, + {0x000196, 0x000198}, + {0x00019C, 0x00019D}, + {0x00019F, 0x0001A0}, + {0x0001A2, 0x0001A2}, + {0x0001A4, 0x0001A4}, + {0x0001A6, 0x0001A7}, + {0x0001A9, 0x0001A9}, + {0x0001AC, 0x0001AC}, + {0x0001AE, 0x0001AF}, + {0x0001B1, 0x0001B3}, + {0x0001B5, 0x0001B5}, + {0x0001B7, 0x0001B8}, + {0x0001BC, 0x0001BC}, + {0x0001C4, 0x0001C5}, + {0x0001C7, 0x0001C8}, + {0x0001CA, 0x0001CB}, + {0x0001CD, 0x0001CD}, + {0x0001CF, 0x0001CF}, + {0x0001D1, 0x0001D1}, + {0x0001D3, 0x0001D3}, + {0x0001D5, 0x0001D5}, + {0x0001D7, 0x0001D7}, + {0x0001D9, 0x0001D9}, + {0x0001DB, 0x0001DB}, + {0x0001DE, 0x0001DE}, + {0x0001E0, 0x0001E0}, + {0x0001E2, 0x0001E2}, + {0x0001E4, 0x0001E4}, + {0x0001E6, 0x0001E6}, + {0x0001E8, 0x0001E8}, + {0x0001EA, 0x0001EA}, + {0x0001EC, 0x0001EC}, + {0x0001EE, 0x0001EE}, + {0x0001F1, 0x0001F2}, + {0x0001F4, 0x0001F4}, + {0x0001F6, 0x0001F8}, + {0x0001FA, 0x0001FA}, + {0x0001FC, 0x0001FC}, + {0x0001FE, 0x0001FE}, + {0x000200, 0x000200}, + {0x000202, 0x000202}, + {0x000204, 0x000204}, + {0x000206, 0x000206}, + {0x000208, 0x000208}, + {0x00020A, 0x00020A}, + {0x00020C, 0x00020C}, + {0x00020E, 0x00020E}, + {0x000210, 0x000210}, + {0x000212, 0x000212}, + {0x000214, 0x000214}, + {0x000216, 0x000216}, + {0x000218, 0x000218}, + {0x00021A, 0x00021A}, + {0x00021C, 0x00021C}, + {0x00021E, 0x00021E}, + {0x000220, 0x000220}, + {0x000222, 0x000222}, + {0x000224, 0x000224}, + {0x000226, 0x000226}, + {0x000228, 0x000228}, + {0x00022A, 0x00022A}, + {0x00022C, 0x00022C}, + {0x00022E, 0x00022E}, + {0x000230, 0x000230}, + {0x000232, 0x000232}, + {0x00023A, 0x00023B}, + {0x00023D, 0x00023E}, + {0x000241, 0x000241}, + {0x000243, 0x000246}, + {0x000248, 0x000248}, + {0x00024A, 0x00024A}, + {0x00024C, 0x00024C}, + {0x00024E, 0x00024E}, + {0x000370, 0x000370}, + {0x000372, 0x000372}, + {0x000376, 0x000376}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x00038F}, + {0x000391, 0x0003A1}, + {0x0003A3, 0x0003AB}, + {0x0003CF, 0x0003CF}, + {0x0003D8, 0x0003D8}, + {0x0003DA, 0x0003DA}, + {0x0003DC, 0x0003DC}, + {0x0003DE, 0x0003DE}, + {0x0003E0, 0x0003E0}, + {0x0003E2, 0x0003E2}, + {0x0003E4, 0x0003E4}, + {0x0003E6, 0x0003E6}, + {0x0003E8, 0x0003E8}, + {0x0003EA, 0x0003EA}, + {0x0003EC, 0x0003EC}, + {0x0003EE, 0x0003EE}, + {0x0003F4, 0x0003F4}, + {0x0003F7, 0x0003F7}, + {0x0003F9, 0x0003FA}, + {0x0003FD, 0x00042F}, + {0x000460, 0x000460}, + {0x000462, 0x000462}, + {0x000464, 0x000464}, + {0x000466, 0x000466}, + {0x000468, 0x000468}, + {0x00046A, 0x00046A}, + {0x00046C, 0x00046C}, + {0x00046E, 0x00046E}, + {0x000470, 0x000470}, + {0x000472, 0x000472}, + {0x000474, 0x000474}, + {0x000476, 0x000476}, + {0x000478, 0x000478}, + {0x00047A, 0x00047A}, + {0x00047C, 0x00047C}, + {0x00047E, 0x00047E}, + {0x000480, 0x000480}, + {0x00048A, 0x00048A}, + {0x00048C, 0x00048C}, + {0x00048E, 0x00048E}, + {0x000490, 0x000490}, + {0x000492, 0x000492}, + {0x000494, 0x000494}, + {0x000496, 0x000496}, + {0x000498, 0x000498}, + {0x00049A, 0x00049A}, + {0x00049C, 0x00049C}, + {0x00049E, 0x00049E}, + {0x0004A0, 0x0004A0}, + {0x0004A2, 0x0004A2}, + {0x0004A4, 0x0004A4}, + {0x0004A6, 0x0004A6}, + {0x0004A8, 0x0004A8}, + {0x0004AA, 0x0004AA}, + {0x0004AC, 0x0004AC}, + {0x0004AE, 0x0004AE}, + {0x0004B0, 0x0004B0}, + {0x0004B2, 0x0004B2}, + {0x0004B4, 0x0004B4}, + {0x0004B6, 0x0004B6}, + {0x0004B8, 0x0004B8}, + {0x0004BA, 0x0004BA}, + {0x0004BC, 0x0004BC}, + {0x0004BE, 0x0004BE}, + {0x0004C0, 0x0004C1}, + {0x0004C3, 0x0004C3}, + {0x0004C5, 0x0004C5}, + {0x0004C7, 0x0004C7}, + {0x0004C9, 0x0004C9}, + {0x0004CB, 0x0004CB}, + {0x0004CD, 0x0004CD}, + {0x0004D0, 0x0004D0}, + {0x0004D2, 0x0004D2}, + {0x0004D4, 0x0004D4}, + {0x0004D6, 0x0004D6}, + {0x0004D8, 0x0004D8}, + {0x0004DA, 0x0004DA}, + {0x0004DC, 0x0004DC}, + {0x0004DE, 0x0004DE}, + {0x0004E0, 0x0004E0}, + {0x0004E2, 0x0004E2}, + {0x0004E4, 0x0004E4}, + {0x0004E6, 0x0004E6}, + {0x0004E8, 0x0004E8}, + {0x0004EA, 0x0004EA}, + {0x0004EC, 0x0004EC}, + {0x0004EE, 0x0004EE}, + {0x0004F0, 0x0004F0}, + {0x0004F2, 0x0004F2}, + {0x0004F4, 0x0004F4}, + {0x0004F6, 0x0004F6}, + {0x0004F8, 0x0004F8}, + {0x0004FA, 0x0004FA}, + {0x0004FC, 0x0004FC}, + {0x0004FE, 0x0004FE}, + {0x000500, 0x000500}, + {0x000502, 0x000502}, + {0x000504, 0x000504}, + {0x000506, 0x000506}, + {0x000508, 0x000508}, + {0x00050A, 0x00050A}, + {0x00050C, 0x00050C}, + {0x00050E, 0x00050E}, + {0x000510, 0x000510}, + {0x000512, 0x000512}, + {0x000514, 0x000514}, + {0x000516, 0x000516}, + {0x000518, 0x000518}, + {0x00051A, 0x00051A}, + {0x00051C, 0x00051C}, + {0x00051E, 0x00051E}, + {0x000520, 0x000520}, + {0x000522, 0x000522}, + {0x000524, 0x000524}, + {0x000526, 0x000526}, + {0x000528, 0x000528}, + {0x00052A, 0x00052A}, + {0x00052C, 0x00052C}, + {0x00052E, 0x00052E}, + {0x000531, 0x000556}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0013A0, 0x0013F5}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001E00, 0x001E00}, + {0x001E02, 0x001E02}, + {0x001E04, 0x001E04}, + {0x001E06, 0x001E06}, + {0x001E08, 0x001E08}, + {0x001E0A, 0x001E0A}, + {0x001E0C, 0x001E0C}, + {0x001E0E, 0x001E0E}, + {0x001E10, 0x001E10}, + {0x001E12, 0x001E12}, + {0x001E14, 0x001E14}, + {0x001E16, 0x001E16}, + {0x001E18, 0x001E18}, + {0x001E1A, 0x001E1A}, + {0x001E1C, 0x001E1C}, + {0x001E1E, 0x001E1E}, + {0x001E20, 0x001E20}, + {0x001E22, 0x001E22}, + {0x001E24, 0x001E24}, + {0x001E26, 0x001E26}, + {0x001E28, 0x001E28}, + {0x001E2A, 0x001E2A}, + {0x001E2C, 0x001E2C}, + {0x001E2E, 0x001E2E}, + {0x001E30, 0x001E30}, + {0x001E32, 0x001E32}, + {0x001E34, 0x001E34}, + {0x001E36, 0x001E36}, + {0x001E38, 0x001E38}, + {0x001E3A, 0x001E3A}, + {0x001E3C, 0x001E3C}, + {0x001E3E, 0x001E3E}, + {0x001E40, 0x001E40}, + {0x001E42, 0x001E42}, + {0x001E44, 0x001E44}, + {0x001E46, 0x001E46}, + {0x001E48, 0x001E48}, + {0x001E4A, 0x001E4A}, + {0x001E4C, 0x001E4C}, + {0x001E4E, 0x001E4E}, + {0x001E50, 0x001E50}, + {0x001E52, 0x001E52}, + {0x001E54, 0x001E54}, + {0x001E56, 0x001E56}, + {0x001E58, 0x001E58}, + {0x001E5A, 0x001E5A}, + {0x001E5C, 0x001E5C}, + {0x001E5E, 0x001E5E}, + {0x001E60, 0x001E60}, + {0x001E62, 0x001E62}, + {0x001E64, 0x001E64}, + {0x001E66, 0x001E66}, + {0x001E68, 0x001E68}, + {0x001E6A, 0x001E6A}, + {0x001E6C, 0x001E6C}, + {0x001E6E, 0x001E6E}, + {0x001E70, 0x001E70}, + {0x001E72, 0x001E72}, + {0x001E74, 0x001E74}, + {0x001E76, 0x001E76}, + {0x001E78, 0x001E78}, + {0x001E7A, 0x001E7A}, + {0x001E7C, 0x001E7C}, + {0x001E7E, 0x001E7E}, + {0x001E80, 0x001E80}, + {0x001E82, 0x001E82}, + {0x001E84, 0x001E84}, + {0x001E86, 0x001E86}, + {0x001E88, 0x001E88}, + {0x001E8A, 0x001E8A}, + {0x001E8C, 0x001E8C}, + {0x001E8E, 0x001E8E}, + {0x001E90, 0x001E90}, + {0x001E92, 0x001E92}, + {0x001E94, 0x001E94}, + {0x001E9E, 0x001E9E}, + {0x001EA0, 0x001EA0}, + {0x001EA2, 0x001EA2}, + {0x001EA4, 0x001EA4}, + {0x001EA6, 0x001EA6}, + {0x001EA8, 0x001EA8}, + {0x001EAA, 0x001EAA}, + {0x001EAC, 0x001EAC}, + {0x001EAE, 0x001EAE}, + {0x001EB0, 0x001EB0}, + {0x001EB2, 0x001EB2}, + {0x001EB4, 0x001EB4}, + {0x001EB6, 0x001EB6}, + {0x001EB8, 0x001EB8}, + {0x001EBA, 0x001EBA}, + {0x001EBC, 0x001EBC}, + {0x001EBE, 0x001EBE}, + {0x001EC0, 0x001EC0}, + {0x001EC2, 0x001EC2}, + {0x001EC4, 0x001EC4}, + {0x001EC6, 0x001EC6}, + {0x001EC8, 0x001EC8}, + {0x001ECA, 0x001ECA}, + {0x001ECC, 0x001ECC}, + {0x001ECE, 0x001ECE}, + {0x001ED0, 0x001ED0}, + {0x001ED2, 0x001ED2}, + {0x001ED4, 0x001ED4}, + {0x001ED6, 0x001ED6}, + {0x001ED8, 0x001ED8}, + {0x001EDA, 0x001EDA}, + {0x001EDC, 0x001EDC}, + {0x001EDE, 0x001EDE}, + {0x001EE0, 0x001EE0}, + {0x001EE2, 0x001EE2}, + {0x001EE4, 0x001EE4}, + {0x001EE6, 0x001EE6}, + {0x001EE8, 0x001EE8}, + {0x001EEA, 0x001EEA}, + {0x001EEC, 0x001EEC}, + {0x001EEE, 0x001EEE}, + {0x001EF0, 0x001EF0}, + {0x001EF2, 0x001EF2}, + {0x001EF4, 0x001EF4}, + {0x001EF6, 0x001EF6}, + {0x001EF8, 0x001EF8}, + {0x001EFA, 0x001EFA}, + {0x001EFC, 0x001EFC}, + {0x001EFE, 0x001EFE}, + {0x001F08, 0x001F0F}, + {0x001F18, 0x001F1D}, + {0x001F28, 0x001F2F}, + {0x001F38, 0x001F3F}, + {0x001F48, 0x001F4D}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F5F}, + {0x001F68, 0x001F6F}, + {0x001F88, 0x001F8F}, + {0x001F98, 0x001F9F}, + {0x001FA8, 0x001FAF}, + {0x001FB8, 0x001FBC}, + {0x001FC8, 0x001FCC}, + {0x001FD8, 0x001FDB}, + {0x001FE8, 0x001FEC}, + {0x001FF8, 0x001FFC}, + {0x002126, 0x002126}, + {0x00212A, 0x00212B}, + {0x002132, 0x002132}, + {0x002160, 0x00216F}, + {0x002183, 0x002183}, + {0x0024B6, 0x0024CF}, + {0x002C00, 0x002C2F}, + {0x002C60, 0x002C60}, + {0x002C62, 0x002C64}, + {0x002C67, 0x002C67}, + {0x002C69, 0x002C69}, + {0x002C6B, 0x002C6B}, + {0x002C6D, 0x002C70}, + {0x002C72, 0x002C72}, + {0x002C75, 0x002C75}, + {0x002C7E, 0x002C80}, + {0x002C82, 0x002C82}, + {0x002C84, 0x002C84}, + {0x002C86, 0x002C86}, + {0x002C88, 0x002C88}, + {0x002C8A, 0x002C8A}, + {0x002C8C, 0x002C8C}, + {0x002C8E, 0x002C8E}, + {0x002C90, 0x002C90}, + {0x002C92, 0x002C92}, + {0x002C94, 0x002C94}, + {0x002C96, 0x002C96}, + {0x002C98, 0x002C98}, + {0x002C9A, 0x002C9A}, + {0x002C9C, 0x002C9C}, + {0x002C9E, 0x002C9E}, + {0x002CA0, 0x002CA0}, + {0x002CA2, 0x002CA2}, + {0x002CA4, 0x002CA4}, + {0x002CA6, 0x002CA6}, + {0x002CA8, 0x002CA8}, + {0x002CAA, 0x002CAA}, + {0x002CAC, 0x002CAC}, + {0x002CAE, 0x002CAE}, + {0x002CB0, 0x002CB0}, + {0x002CB2, 0x002CB2}, + {0x002CB4, 0x002CB4}, + {0x002CB6, 0x002CB6}, + {0x002CB8, 0x002CB8}, + {0x002CBA, 0x002CBA}, + {0x002CBC, 0x002CBC}, + {0x002CBE, 0x002CBE}, + {0x002CC0, 0x002CC0}, + {0x002CC2, 0x002CC2}, + {0x002CC4, 0x002CC4}, + {0x002CC6, 0x002CC6}, + {0x002CC8, 0x002CC8}, + {0x002CCA, 0x002CCA}, + {0x002CCC, 0x002CCC}, + {0x002CCE, 0x002CCE}, + {0x002CD0, 0x002CD0}, + {0x002CD2, 0x002CD2}, + {0x002CD4, 0x002CD4}, + {0x002CD6, 0x002CD6}, + {0x002CD8, 0x002CD8}, + {0x002CDA, 0x002CDA}, + {0x002CDC, 0x002CDC}, + {0x002CDE, 0x002CDE}, + {0x002CE0, 0x002CE0}, + {0x002CE2, 0x002CE2}, + {0x002CEB, 0x002CEB}, + {0x002CED, 0x002CED}, + {0x002CF2, 0x002CF2}, + {0x00A640, 0x00A640}, + {0x00A642, 0x00A642}, + {0x00A644, 0x00A644}, + {0x00A646, 0x00A646}, + {0x00A648, 0x00A648}, + {0x00A64A, 0x00A64A}, + {0x00A64C, 0x00A64C}, + {0x00A64E, 0x00A64E}, + {0x00A650, 0x00A650}, + {0x00A652, 0x00A652}, + {0x00A654, 0x00A654}, + {0x00A656, 0x00A656}, + {0x00A658, 0x00A658}, + {0x00A65A, 0x00A65A}, + {0x00A65C, 0x00A65C}, + {0x00A65E, 0x00A65E}, + {0x00A660, 0x00A660}, + {0x00A662, 0x00A662}, + {0x00A664, 0x00A664}, + {0x00A666, 0x00A666}, + {0x00A668, 0x00A668}, + {0x00A66A, 0x00A66A}, + {0x00A66C, 0x00A66C}, + {0x00A680, 0x00A680}, + {0x00A682, 0x00A682}, + {0x00A684, 0x00A684}, + {0x00A686, 0x00A686}, + {0x00A688, 0x00A688}, + {0x00A68A, 0x00A68A}, + {0x00A68C, 0x00A68C}, + {0x00A68E, 0x00A68E}, + {0x00A690, 0x00A690}, + {0x00A692, 0x00A692}, + {0x00A694, 0x00A694}, + {0x00A696, 0x00A696}, + {0x00A698, 0x00A698}, + {0x00A69A, 0x00A69A}, + {0x00A722, 0x00A722}, + {0x00A724, 0x00A724}, + {0x00A726, 0x00A726}, + {0x00A728, 0x00A728}, + {0x00A72A, 0x00A72A}, + {0x00A72C, 0x00A72C}, + {0x00A72E, 0x00A72E}, + {0x00A732, 0x00A732}, + {0x00A734, 0x00A734}, + {0x00A736, 0x00A736}, + {0x00A738, 0x00A738}, + {0x00A73A, 0x00A73A}, + {0x00A73C, 0x00A73C}, + {0x00A73E, 0x00A73E}, + {0x00A740, 0x00A740}, + {0x00A742, 0x00A742}, + {0x00A744, 0x00A744}, + {0x00A746, 0x00A746}, + {0x00A748, 0x00A748}, + {0x00A74A, 0x00A74A}, + {0x00A74C, 0x00A74C}, + {0x00A74E, 0x00A74E}, + {0x00A750, 0x00A750}, + {0x00A752, 0x00A752}, + {0x00A754, 0x00A754}, + {0x00A756, 0x00A756}, + {0x00A758, 0x00A758}, + {0x00A75A, 0x00A75A}, + {0x00A75C, 0x00A75C}, + {0x00A75E, 0x00A75E}, + {0x00A760, 0x00A760}, + {0x00A762, 0x00A762}, + {0x00A764, 0x00A764}, + {0x00A766, 0x00A766}, + {0x00A768, 0x00A768}, + {0x00A76A, 0x00A76A}, + {0x00A76C, 0x00A76C}, + {0x00A76E, 0x00A76E}, + {0x00A779, 0x00A779}, + {0x00A77B, 0x00A77B}, + {0x00A77D, 0x00A77E}, + {0x00A780, 0x00A780}, + {0x00A782, 0x00A782}, + {0x00A784, 0x00A784}, + {0x00A786, 0x00A786}, + {0x00A78B, 0x00A78B}, + {0x00A78D, 0x00A78D}, + {0x00A790, 0x00A790}, + {0x00A792, 0x00A792}, + {0x00A796, 0x00A796}, + {0x00A798, 0x00A798}, + {0x00A79A, 0x00A79A}, + {0x00A79C, 0x00A79C}, + {0x00A79E, 0x00A79E}, + {0x00A7A0, 0x00A7A0}, + {0x00A7A2, 0x00A7A2}, + {0x00A7A4, 0x00A7A4}, + {0x00A7A6, 0x00A7A6}, + {0x00A7A8, 0x00A7A8}, + {0x00A7AA, 0x00A7AE}, + {0x00A7B0, 0x00A7B4}, + {0x00A7B6, 0x00A7B6}, + {0x00A7B8, 0x00A7B8}, + {0x00A7BA, 0x00A7BA}, + {0x00A7BC, 0x00A7BC}, + {0x00A7BE, 0x00A7BE}, + {0x00A7C0, 0x00A7C0}, + {0x00A7C2, 0x00A7C2}, + {0x00A7C4, 0x00A7C7}, + {0x00A7C9, 0x00A7C9}, + {0x00A7D0, 0x00A7D0}, + {0x00A7D6, 0x00A7D6}, + {0x00A7D8, 0x00A7D8}, + {0x00A7F5, 0x00A7F5}, + {0x00FF21, 0x00FF3A}, + {0x010400, 0x010427}, + {0x0104B0, 0x0104D3}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010C80, 0x010CB2}, + {0x0118A0, 0x0118BF}, + {0x016E40, 0x016E5F}, + {0x01E900, 0x01E921}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_changes_when_lowercased(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_changes_when_titlecased.c b/vendor/librune/lib/rtype/rune_has_prop_changes_when_titlecased.c new file mode 100644 index 0000000..c136a0d --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_changes_when_titlecased.c @@ -0,0 +1,656 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFF80000000002000000000000007FFFFFE000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000061, 0x00007A}, + {0x0000B5, 0x0000B5}, + {0x0000DF, 0x0000F6}, + {0x0000F8, 0x0000FF}, + {0x000101, 0x000101}, + {0x000103, 0x000103}, + {0x000105, 0x000105}, + {0x000107, 0x000107}, + {0x000109, 0x000109}, + {0x00010B, 0x00010B}, + {0x00010D, 0x00010D}, + {0x00010F, 0x00010F}, + {0x000111, 0x000111}, + {0x000113, 0x000113}, + {0x000115, 0x000115}, + {0x000117, 0x000117}, + {0x000119, 0x000119}, + {0x00011B, 0x00011B}, + {0x00011D, 0x00011D}, + {0x00011F, 0x00011F}, + {0x000121, 0x000121}, + {0x000123, 0x000123}, + {0x000125, 0x000125}, + {0x000127, 0x000127}, + {0x000129, 0x000129}, + {0x00012B, 0x00012B}, + {0x00012D, 0x00012D}, + {0x00012F, 0x00012F}, + {0x000131, 0x000131}, + {0x000133, 0x000133}, + {0x000135, 0x000135}, + {0x000137, 0x000137}, + {0x00013A, 0x00013A}, + {0x00013C, 0x00013C}, + {0x00013E, 0x00013E}, + {0x000140, 0x000140}, + {0x000142, 0x000142}, + {0x000144, 0x000144}, + {0x000146, 0x000146}, + {0x000148, 0x000149}, + {0x00014B, 0x00014B}, + {0x00014D, 0x00014D}, + {0x00014F, 0x00014F}, + {0x000151, 0x000151}, + {0x000153, 0x000153}, + {0x000155, 0x000155}, + {0x000157, 0x000157}, + {0x000159, 0x000159}, + {0x00015B, 0x00015B}, + {0x00015D, 0x00015D}, + {0x00015F, 0x00015F}, + {0x000161, 0x000161}, + {0x000163, 0x000163}, + {0x000165, 0x000165}, + {0x000167, 0x000167}, + {0x000169, 0x000169}, + {0x00016B, 0x00016B}, + {0x00016D, 0x00016D}, + {0x00016F, 0x00016F}, + {0x000171, 0x000171}, + {0x000173, 0x000173}, + {0x000175, 0x000175}, + {0x000177, 0x000177}, + {0x00017A, 0x00017A}, + {0x00017C, 0x00017C}, + {0x00017E, 0x000180}, + {0x000183, 0x000183}, + {0x000185, 0x000185}, + {0x000188, 0x000188}, + {0x00018C, 0x00018C}, + {0x000192, 0x000192}, + {0x000195, 0x000195}, + {0x000199, 0x00019A}, + {0x00019E, 0x00019E}, + {0x0001A1, 0x0001A1}, + {0x0001A3, 0x0001A3}, + {0x0001A5, 0x0001A5}, + {0x0001A8, 0x0001A8}, + {0x0001AD, 0x0001AD}, + {0x0001B0, 0x0001B0}, + {0x0001B4, 0x0001B4}, + {0x0001B6, 0x0001B6}, + {0x0001B9, 0x0001B9}, + {0x0001BD, 0x0001BD}, + {0x0001BF, 0x0001BF}, + {0x0001C4, 0x0001C4}, + {0x0001C6, 0x0001C7}, + {0x0001C9, 0x0001CA}, + {0x0001CC, 0x0001CC}, + {0x0001CE, 0x0001CE}, + {0x0001D0, 0x0001D0}, + {0x0001D2, 0x0001D2}, + {0x0001D4, 0x0001D4}, + {0x0001D6, 0x0001D6}, + {0x0001D8, 0x0001D8}, + {0x0001DA, 0x0001DA}, + {0x0001DC, 0x0001DD}, + {0x0001DF, 0x0001DF}, + {0x0001E1, 0x0001E1}, + {0x0001E3, 0x0001E3}, + {0x0001E5, 0x0001E5}, + {0x0001E7, 0x0001E7}, + {0x0001E9, 0x0001E9}, + {0x0001EB, 0x0001EB}, + {0x0001ED, 0x0001ED}, + {0x0001EF, 0x0001F1}, + {0x0001F3, 0x0001F3}, + {0x0001F5, 0x0001F5}, + {0x0001F9, 0x0001F9}, + {0x0001FB, 0x0001FB}, + {0x0001FD, 0x0001FD}, + {0x0001FF, 0x0001FF}, + {0x000201, 0x000201}, + {0x000203, 0x000203}, + {0x000205, 0x000205}, + {0x000207, 0x000207}, + {0x000209, 0x000209}, + {0x00020B, 0x00020B}, + {0x00020D, 0x00020D}, + {0x00020F, 0x00020F}, + {0x000211, 0x000211}, + {0x000213, 0x000213}, + {0x000215, 0x000215}, + {0x000217, 0x000217}, + {0x000219, 0x000219}, + {0x00021B, 0x00021B}, + {0x00021D, 0x00021D}, + {0x00021F, 0x00021F}, + {0x000223, 0x000223}, + {0x000225, 0x000225}, + {0x000227, 0x000227}, + {0x000229, 0x000229}, + {0x00022B, 0x00022B}, + {0x00022D, 0x00022D}, + {0x00022F, 0x00022F}, + {0x000231, 0x000231}, + {0x000233, 0x000233}, + {0x00023C, 0x00023C}, + {0x00023F, 0x000240}, + {0x000242, 0x000242}, + {0x000247, 0x000247}, + {0x000249, 0x000249}, + {0x00024B, 0x00024B}, + {0x00024D, 0x00024D}, + {0x00024F, 0x000254}, + {0x000256, 0x000257}, + {0x000259, 0x000259}, + {0x00025B, 0x00025C}, + {0x000260, 0x000261}, + {0x000263, 0x000263}, + {0x000265, 0x000266}, + {0x000268, 0x00026C}, + {0x00026F, 0x00026F}, + {0x000271, 0x000272}, + {0x000275, 0x000275}, + {0x00027D, 0x00027D}, + {0x000280, 0x000280}, + {0x000282, 0x000283}, + {0x000287, 0x00028C}, + {0x000292, 0x000292}, + {0x00029D, 0x00029E}, + {0x000345, 0x000345}, + {0x000371, 0x000371}, + {0x000373, 0x000373}, + {0x000377, 0x000377}, + {0x00037B, 0x00037D}, + {0x000390, 0x000390}, + {0x0003AC, 0x0003CE}, + {0x0003D0, 0x0003D1}, + {0x0003D5, 0x0003D7}, + {0x0003D9, 0x0003D9}, + {0x0003DB, 0x0003DB}, + {0x0003DD, 0x0003DD}, + {0x0003DF, 0x0003DF}, + {0x0003E1, 0x0003E1}, + {0x0003E3, 0x0003E3}, + {0x0003E5, 0x0003E5}, + {0x0003E7, 0x0003E7}, + {0x0003E9, 0x0003E9}, + {0x0003EB, 0x0003EB}, + {0x0003ED, 0x0003ED}, + {0x0003EF, 0x0003F3}, + {0x0003F5, 0x0003F5}, + {0x0003F8, 0x0003F8}, + {0x0003FB, 0x0003FB}, + {0x000430, 0x00045F}, + {0x000461, 0x000461}, + {0x000463, 0x000463}, + {0x000465, 0x000465}, + {0x000467, 0x000467}, + {0x000469, 0x000469}, + {0x00046B, 0x00046B}, + {0x00046D, 0x00046D}, + {0x00046F, 0x00046F}, + {0x000471, 0x000471}, + {0x000473, 0x000473}, + {0x000475, 0x000475}, + {0x000477, 0x000477}, + {0x000479, 0x000479}, + {0x00047B, 0x00047B}, + {0x00047D, 0x00047D}, + {0x00047F, 0x00047F}, + {0x000481, 0x000481}, + {0x00048B, 0x00048B}, + {0x00048D, 0x00048D}, + {0x00048F, 0x00048F}, + {0x000491, 0x000491}, + {0x000493, 0x000493}, + {0x000495, 0x000495}, + {0x000497, 0x000497}, + {0x000499, 0x000499}, + {0x00049B, 0x00049B}, + {0x00049D, 0x00049D}, + {0x00049F, 0x00049F}, + {0x0004A1, 0x0004A1}, + {0x0004A3, 0x0004A3}, + {0x0004A5, 0x0004A5}, + {0x0004A7, 0x0004A7}, + {0x0004A9, 0x0004A9}, + {0x0004AB, 0x0004AB}, + {0x0004AD, 0x0004AD}, + {0x0004AF, 0x0004AF}, + {0x0004B1, 0x0004B1}, + {0x0004B3, 0x0004B3}, + {0x0004B5, 0x0004B5}, + {0x0004B7, 0x0004B7}, + {0x0004B9, 0x0004B9}, + {0x0004BB, 0x0004BB}, + {0x0004BD, 0x0004BD}, + {0x0004BF, 0x0004BF}, + {0x0004C2, 0x0004C2}, + {0x0004C4, 0x0004C4}, + {0x0004C6, 0x0004C6}, + {0x0004C8, 0x0004C8}, + {0x0004CA, 0x0004CA}, + {0x0004CC, 0x0004CC}, + {0x0004CE, 0x0004CF}, + {0x0004D1, 0x0004D1}, + {0x0004D3, 0x0004D3}, + {0x0004D5, 0x0004D5}, + {0x0004D7, 0x0004D7}, + {0x0004D9, 0x0004D9}, + {0x0004DB, 0x0004DB}, + {0x0004DD, 0x0004DD}, + {0x0004DF, 0x0004DF}, + {0x0004E1, 0x0004E1}, + {0x0004E3, 0x0004E3}, + {0x0004E5, 0x0004E5}, + {0x0004E7, 0x0004E7}, + {0x0004E9, 0x0004E9}, + {0x0004EB, 0x0004EB}, + {0x0004ED, 0x0004ED}, + {0x0004EF, 0x0004EF}, + {0x0004F1, 0x0004F1}, + {0x0004F3, 0x0004F3}, + {0x0004F5, 0x0004F5}, + {0x0004F7, 0x0004F7}, + {0x0004F9, 0x0004F9}, + {0x0004FB, 0x0004FB}, + {0x0004FD, 0x0004FD}, + {0x0004FF, 0x0004FF}, + {0x000501, 0x000501}, + {0x000503, 0x000503}, + {0x000505, 0x000505}, + {0x000507, 0x000507}, + {0x000509, 0x000509}, + {0x00050B, 0x00050B}, + {0x00050D, 0x00050D}, + {0x00050F, 0x00050F}, + {0x000511, 0x000511}, + {0x000513, 0x000513}, + {0x000515, 0x000515}, + {0x000517, 0x000517}, + {0x000519, 0x000519}, + {0x00051B, 0x00051B}, + {0x00051D, 0x00051D}, + {0x00051F, 0x00051F}, + {0x000521, 0x000521}, + {0x000523, 0x000523}, + {0x000525, 0x000525}, + {0x000527, 0x000527}, + {0x000529, 0x000529}, + {0x00052B, 0x00052B}, + {0x00052D, 0x00052D}, + {0x00052F, 0x00052F}, + {0x000561, 0x000587}, + {0x0013F8, 0x0013FD}, + {0x001C80, 0x001C88}, + {0x001D79, 0x001D79}, + {0x001D7D, 0x001D7D}, + {0x001D8E, 0x001D8E}, + {0x001E01, 0x001E01}, + {0x001E03, 0x001E03}, + {0x001E05, 0x001E05}, + {0x001E07, 0x001E07}, + {0x001E09, 0x001E09}, + {0x001E0B, 0x001E0B}, + {0x001E0D, 0x001E0D}, + {0x001E0F, 0x001E0F}, + {0x001E11, 0x001E11}, + {0x001E13, 0x001E13}, + {0x001E15, 0x001E15}, + {0x001E17, 0x001E17}, + {0x001E19, 0x001E19}, + {0x001E1B, 0x001E1B}, + {0x001E1D, 0x001E1D}, + {0x001E1F, 0x001E1F}, + {0x001E21, 0x001E21}, + {0x001E23, 0x001E23}, + {0x001E25, 0x001E25}, + {0x001E27, 0x001E27}, + {0x001E29, 0x001E29}, + {0x001E2B, 0x001E2B}, + {0x001E2D, 0x001E2D}, + {0x001E2F, 0x001E2F}, + {0x001E31, 0x001E31}, + {0x001E33, 0x001E33}, + {0x001E35, 0x001E35}, + {0x001E37, 0x001E37}, + {0x001E39, 0x001E39}, + {0x001E3B, 0x001E3B}, + {0x001E3D, 0x001E3D}, + {0x001E3F, 0x001E3F}, + {0x001E41, 0x001E41}, + {0x001E43, 0x001E43}, + {0x001E45, 0x001E45}, + {0x001E47, 0x001E47}, + {0x001E49, 0x001E49}, + {0x001E4B, 0x001E4B}, + {0x001E4D, 0x001E4D}, + {0x001E4F, 0x001E4F}, + {0x001E51, 0x001E51}, + {0x001E53, 0x001E53}, + {0x001E55, 0x001E55}, + {0x001E57, 0x001E57}, + {0x001E59, 0x001E59}, + {0x001E5B, 0x001E5B}, + {0x001E5D, 0x001E5D}, + {0x001E5F, 0x001E5F}, + {0x001E61, 0x001E61}, + {0x001E63, 0x001E63}, + {0x001E65, 0x001E65}, + {0x001E67, 0x001E67}, + {0x001E69, 0x001E69}, + {0x001E6B, 0x001E6B}, + {0x001E6D, 0x001E6D}, + {0x001E6F, 0x001E6F}, + {0x001E71, 0x001E71}, + {0x001E73, 0x001E73}, + {0x001E75, 0x001E75}, + {0x001E77, 0x001E77}, + {0x001E79, 0x001E79}, + {0x001E7B, 0x001E7B}, + {0x001E7D, 0x001E7D}, + {0x001E7F, 0x001E7F}, + {0x001E81, 0x001E81}, + {0x001E83, 0x001E83}, + {0x001E85, 0x001E85}, + {0x001E87, 0x001E87}, + {0x001E89, 0x001E89}, + {0x001E8B, 0x001E8B}, + {0x001E8D, 0x001E8D}, + {0x001E8F, 0x001E8F}, + {0x001E91, 0x001E91}, + {0x001E93, 0x001E93}, + {0x001E95, 0x001E9B}, + {0x001EA1, 0x001EA1}, + {0x001EA3, 0x001EA3}, + {0x001EA5, 0x001EA5}, + {0x001EA7, 0x001EA7}, + {0x001EA9, 0x001EA9}, + {0x001EAB, 0x001EAB}, + {0x001EAD, 0x001EAD}, + {0x001EAF, 0x001EAF}, + {0x001EB1, 0x001EB1}, + {0x001EB3, 0x001EB3}, + {0x001EB5, 0x001EB5}, + {0x001EB7, 0x001EB7}, + {0x001EB9, 0x001EB9}, + {0x001EBB, 0x001EBB}, + {0x001EBD, 0x001EBD}, + {0x001EBF, 0x001EBF}, + {0x001EC1, 0x001EC1}, + {0x001EC3, 0x001EC3}, + {0x001EC5, 0x001EC5}, + {0x001EC7, 0x001EC7}, + {0x001EC9, 0x001EC9}, + {0x001ECB, 0x001ECB}, + {0x001ECD, 0x001ECD}, + {0x001ECF, 0x001ECF}, + {0x001ED1, 0x001ED1}, + {0x001ED3, 0x001ED3}, + {0x001ED5, 0x001ED5}, + {0x001ED7, 0x001ED7}, + {0x001ED9, 0x001ED9}, + {0x001EDB, 0x001EDB}, + {0x001EDD, 0x001EDD}, + {0x001EDF, 0x001EDF}, + {0x001EE1, 0x001EE1}, + {0x001EE3, 0x001EE3}, + {0x001EE5, 0x001EE5}, + {0x001EE7, 0x001EE7}, + {0x001EE9, 0x001EE9}, + {0x001EEB, 0x001EEB}, + {0x001EED, 0x001EED}, + {0x001EEF, 0x001EEF}, + {0x001EF1, 0x001EF1}, + {0x001EF3, 0x001EF3}, + {0x001EF5, 0x001EF5}, + {0x001EF7, 0x001EF7}, + {0x001EF9, 0x001EF9}, + {0x001EFB, 0x001EFB}, + {0x001EFD, 0x001EFD}, + {0x001EFF, 0x001F07}, + {0x001F10, 0x001F15}, + {0x001F20, 0x001F27}, + {0x001F30, 0x001F37}, + {0x001F40, 0x001F45}, + {0x001F50, 0x001F57}, + {0x001F60, 0x001F67}, + {0x001F70, 0x001F7D}, + {0x001F80, 0x001F87}, + {0x001F90, 0x001F97}, + {0x001FA0, 0x001FA7}, + {0x001FB0, 0x001FB4}, + {0x001FB6, 0x001FB7}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FC7}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FD7}, + {0x001FE0, 0x001FE7}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FF7}, + {0x00214E, 0x00214E}, + {0x002170, 0x00217F}, + {0x002184, 0x002184}, + {0x0024D0, 0x0024E9}, + {0x002C30, 0x002C5F}, + {0x002C61, 0x002C61}, + {0x002C65, 0x002C66}, + {0x002C68, 0x002C68}, + {0x002C6A, 0x002C6A}, + {0x002C6C, 0x002C6C}, + {0x002C73, 0x002C73}, + {0x002C76, 0x002C76}, + {0x002C81, 0x002C81}, + {0x002C83, 0x002C83}, + {0x002C85, 0x002C85}, + {0x002C87, 0x002C87}, + {0x002C89, 0x002C89}, + {0x002C8B, 0x002C8B}, + {0x002C8D, 0x002C8D}, + {0x002C8F, 0x002C8F}, + {0x002C91, 0x002C91}, + {0x002C93, 0x002C93}, + {0x002C95, 0x002C95}, + {0x002C97, 0x002C97}, + {0x002C99, 0x002C99}, + {0x002C9B, 0x002C9B}, + {0x002C9D, 0x002C9D}, + {0x002C9F, 0x002C9F}, + {0x002CA1, 0x002CA1}, + {0x002CA3, 0x002CA3}, + {0x002CA5, 0x002CA5}, + {0x002CA7, 0x002CA7}, + {0x002CA9, 0x002CA9}, + {0x002CAB, 0x002CAB}, + {0x002CAD, 0x002CAD}, + {0x002CAF, 0x002CAF}, + {0x002CB1, 0x002CB1}, + {0x002CB3, 0x002CB3}, + {0x002CB5, 0x002CB5}, + {0x002CB7, 0x002CB7}, + {0x002CB9, 0x002CB9}, + {0x002CBB, 0x002CBB}, + {0x002CBD, 0x002CBD}, + {0x002CBF, 0x002CBF}, + {0x002CC1, 0x002CC1}, + {0x002CC3, 0x002CC3}, + {0x002CC5, 0x002CC5}, + {0x002CC7, 0x002CC7}, + {0x002CC9, 0x002CC9}, + {0x002CCB, 0x002CCB}, + {0x002CCD, 0x002CCD}, + {0x002CCF, 0x002CCF}, + {0x002CD1, 0x002CD1}, + {0x002CD3, 0x002CD3}, + {0x002CD5, 0x002CD5}, + {0x002CD7, 0x002CD7}, + {0x002CD9, 0x002CD9}, + {0x002CDB, 0x002CDB}, + {0x002CDD, 0x002CDD}, + {0x002CDF, 0x002CDF}, + {0x002CE1, 0x002CE1}, + {0x002CE3, 0x002CE3}, + {0x002CEC, 0x002CEC}, + {0x002CEE, 0x002CEE}, + {0x002CF3, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x00A641, 0x00A641}, + {0x00A643, 0x00A643}, + {0x00A645, 0x00A645}, + {0x00A647, 0x00A647}, + {0x00A649, 0x00A649}, + {0x00A64B, 0x00A64B}, + {0x00A64D, 0x00A64D}, + {0x00A64F, 0x00A64F}, + {0x00A651, 0x00A651}, + {0x00A653, 0x00A653}, + {0x00A655, 0x00A655}, + {0x00A657, 0x00A657}, + {0x00A659, 0x00A659}, + {0x00A65B, 0x00A65B}, + {0x00A65D, 0x00A65D}, + {0x00A65F, 0x00A65F}, + {0x00A661, 0x00A661}, + {0x00A663, 0x00A663}, + {0x00A665, 0x00A665}, + {0x00A667, 0x00A667}, + {0x00A669, 0x00A669}, + {0x00A66B, 0x00A66B}, + {0x00A66D, 0x00A66D}, + {0x00A681, 0x00A681}, + {0x00A683, 0x00A683}, + {0x00A685, 0x00A685}, + {0x00A687, 0x00A687}, + {0x00A689, 0x00A689}, + {0x00A68B, 0x00A68B}, + {0x00A68D, 0x00A68D}, + {0x00A68F, 0x00A68F}, + {0x00A691, 0x00A691}, + {0x00A693, 0x00A693}, + {0x00A695, 0x00A695}, + {0x00A697, 0x00A697}, + {0x00A699, 0x00A699}, + {0x00A69B, 0x00A69B}, + {0x00A723, 0x00A723}, + {0x00A725, 0x00A725}, + {0x00A727, 0x00A727}, + {0x00A729, 0x00A729}, + {0x00A72B, 0x00A72B}, + {0x00A72D, 0x00A72D}, + {0x00A72F, 0x00A72F}, + {0x00A733, 0x00A733}, + {0x00A735, 0x00A735}, + {0x00A737, 0x00A737}, + {0x00A739, 0x00A739}, + {0x00A73B, 0x00A73B}, + {0x00A73D, 0x00A73D}, + {0x00A73F, 0x00A73F}, + {0x00A741, 0x00A741}, + {0x00A743, 0x00A743}, + {0x00A745, 0x00A745}, + {0x00A747, 0x00A747}, + {0x00A749, 0x00A749}, + {0x00A74B, 0x00A74B}, + {0x00A74D, 0x00A74D}, + {0x00A74F, 0x00A74F}, + {0x00A751, 0x00A751}, + {0x00A753, 0x00A753}, + {0x00A755, 0x00A755}, + {0x00A757, 0x00A757}, + {0x00A759, 0x00A759}, + {0x00A75B, 0x00A75B}, + {0x00A75D, 0x00A75D}, + {0x00A75F, 0x00A75F}, + {0x00A761, 0x00A761}, + {0x00A763, 0x00A763}, + {0x00A765, 0x00A765}, + {0x00A767, 0x00A767}, + {0x00A769, 0x00A769}, + {0x00A76B, 0x00A76B}, + {0x00A76D, 0x00A76D}, + {0x00A76F, 0x00A76F}, + {0x00A77A, 0x00A77A}, + {0x00A77C, 0x00A77C}, + {0x00A77F, 0x00A77F}, + {0x00A781, 0x00A781}, + {0x00A783, 0x00A783}, + {0x00A785, 0x00A785}, + {0x00A787, 0x00A787}, + {0x00A78C, 0x00A78C}, + {0x00A791, 0x00A791}, + {0x00A793, 0x00A794}, + {0x00A797, 0x00A797}, + {0x00A799, 0x00A799}, + {0x00A79B, 0x00A79B}, + {0x00A79D, 0x00A79D}, + {0x00A79F, 0x00A79F}, + {0x00A7A1, 0x00A7A1}, + {0x00A7A3, 0x00A7A3}, + {0x00A7A5, 0x00A7A5}, + {0x00A7A7, 0x00A7A7}, + {0x00A7A9, 0x00A7A9}, + {0x00A7B5, 0x00A7B5}, + {0x00A7B7, 0x00A7B7}, + {0x00A7B9, 0x00A7B9}, + {0x00A7BB, 0x00A7BB}, + {0x00A7BD, 0x00A7BD}, + {0x00A7BF, 0x00A7BF}, + {0x00A7C1, 0x00A7C1}, + {0x00A7C3, 0x00A7C3}, + {0x00A7C8, 0x00A7C8}, + {0x00A7CA, 0x00A7CA}, + {0x00A7D1, 0x00A7D1}, + {0x00A7D7, 0x00A7D7}, + {0x00A7D9, 0x00A7D9}, + {0x00A7F6, 0x00A7F6}, + {0x00AB53, 0x00AB53}, + {0x00AB70, 0x00ABBF}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FF41, 0x00FF5A}, + {0x010428, 0x01044F}, + {0x0104D8, 0x0104FB}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010CC0, 0x010CF2}, + {0x0118C0, 0x0118DF}, + {0x016E60, 0x016E7F}, + {0x01E922, 0x01E943}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_changes_when_titlecased(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_changes_when_uppercased.c b/vendor/librune/lib/rtype/rune_has_prop_changes_when_uppercased.c new file mode 100644 index 0000000..993cbca --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_changes_when_uppercased.c @@ -0,0 +1,657 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFF80000000002000000000000007FFFFFE000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000061, 0x00007A}, + {0x0000B5, 0x0000B5}, + {0x0000DF, 0x0000F6}, + {0x0000F8, 0x0000FF}, + {0x000101, 0x000101}, + {0x000103, 0x000103}, + {0x000105, 0x000105}, + {0x000107, 0x000107}, + {0x000109, 0x000109}, + {0x00010B, 0x00010B}, + {0x00010D, 0x00010D}, + {0x00010F, 0x00010F}, + {0x000111, 0x000111}, + {0x000113, 0x000113}, + {0x000115, 0x000115}, + {0x000117, 0x000117}, + {0x000119, 0x000119}, + {0x00011B, 0x00011B}, + {0x00011D, 0x00011D}, + {0x00011F, 0x00011F}, + {0x000121, 0x000121}, + {0x000123, 0x000123}, + {0x000125, 0x000125}, + {0x000127, 0x000127}, + {0x000129, 0x000129}, + {0x00012B, 0x00012B}, + {0x00012D, 0x00012D}, + {0x00012F, 0x00012F}, + {0x000131, 0x000131}, + {0x000133, 0x000133}, + {0x000135, 0x000135}, + {0x000137, 0x000137}, + {0x00013A, 0x00013A}, + {0x00013C, 0x00013C}, + {0x00013E, 0x00013E}, + {0x000140, 0x000140}, + {0x000142, 0x000142}, + {0x000144, 0x000144}, + {0x000146, 0x000146}, + {0x000148, 0x000149}, + {0x00014B, 0x00014B}, + {0x00014D, 0x00014D}, + {0x00014F, 0x00014F}, + {0x000151, 0x000151}, + {0x000153, 0x000153}, + {0x000155, 0x000155}, + {0x000157, 0x000157}, + {0x000159, 0x000159}, + {0x00015B, 0x00015B}, + {0x00015D, 0x00015D}, + {0x00015F, 0x00015F}, + {0x000161, 0x000161}, + {0x000163, 0x000163}, + {0x000165, 0x000165}, + {0x000167, 0x000167}, + {0x000169, 0x000169}, + {0x00016B, 0x00016B}, + {0x00016D, 0x00016D}, + {0x00016F, 0x00016F}, + {0x000171, 0x000171}, + {0x000173, 0x000173}, + {0x000175, 0x000175}, + {0x000177, 0x000177}, + {0x00017A, 0x00017A}, + {0x00017C, 0x00017C}, + {0x00017E, 0x000180}, + {0x000183, 0x000183}, + {0x000185, 0x000185}, + {0x000188, 0x000188}, + {0x00018C, 0x00018C}, + {0x000192, 0x000192}, + {0x000195, 0x000195}, + {0x000199, 0x00019A}, + {0x00019E, 0x00019E}, + {0x0001A1, 0x0001A1}, + {0x0001A3, 0x0001A3}, + {0x0001A5, 0x0001A5}, + {0x0001A8, 0x0001A8}, + {0x0001AD, 0x0001AD}, + {0x0001B0, 0x0001B0}, + {0x0001B4, 0x0001B4}, + {0x0001B6, 0x0001B6}, + {0x0001B9, 0x0001B9}, + {0x0001BD, 0x0001BD}, + {0x0001BF, 0x0001BF}, + {0x0001C5, 0x0001C6}, + {0x0001C8, 0x0001C9}, + {0x0001CB, 0x0001CC}, + {0x0001CE, 0x0001CE}, + {0x0001D0, 0x0001D0}, + {0x0001D2, 0x0001D2}, + {0x0001D4, 0x0001D4}, + {0x0001D6, 0x0001D6}, + {0x0001D8, 0x0001D8}, + {0x0001DA, 0x0001DA}, + {0x0001DC, 0x0001DD}, + {0x0001DF, 0x0001DF}, + {0x0001E1, 0x0001E1}, + {0x0001E3, 0x0001E3}, + {0x0001E5, 0x0001E5}, + {0x0001E7, 0x0001E7}, + {0x0001E9, 0x0001E9}, + {0x0001EB, 0x0001EB}, + {0x0001ED, 0x0001ED}, + {0x0001EF, 0x0001F0}, + {0x0001F2, 0x0001F3}, + {0x0001F5, 0x0001F5}, + {0x0001F9, 0x0001F9}, + {0x0001FB, 0x0001FB}, + {0x0001FD, 0x0001FD}, + {0x0001FF, 0x0001FF}, + {0x000201, 0x000201}, + {0x000203, 0x000203}, + {0x000205, 0x000205}, + {0x000207, 0x000207}, + {0x000209, 0x000209}, + {0x00020B, 0x00020B}, + {0x00020D, 0x00020D}, + {0x00020F, 0x00020F}, + {0x000211, 0x000211}, + {0x000213, 0x000213}, + {0x000215, 0x000215}, + {0x000217, 0x000217}, + {0x000219, 0x000219}, + {0x00021B, 0x00021B}, + {0x00021D, 0x00021D}, + {0x00021F, 0x00021F}, + {0x000223, 0x000223}, + {0x000225, 0x000225}, + {0x000227, 0x000227}, + {0x000229, 0x000229}, + {0x00022B, 0x00022B}, + {0x00022D, 0x00022D}, + {0x00022F, 0x00022F}, + {0x000231, 0x000231}, + {0x000233, 0x000233}, + {0x00023C, 0x00023C}, + {0x00023F, 0x000240}, + {0x000242, 0x000242}, + {0x000247, 0x000247}, + {0x000249, 0x000249}, + {0x00024B, 0x00024B}, + {0x00024D, 0x00024D}, + {0x00024F, 0x000254}, + {0x000256, 0x000257}, + {0x000259, 0x000259}, + {0x00025B, 0x00025C}, + {0x000260, 0x000261}, + {0x000263, 0x000263}, + {0x000265, 0x000266}, + {0x000268, 0x00026C}, + {0x00026F, 0x00026F}, + {0x000271, 0x000272}, + {0x000275, 0x000275}, + {0x00027D, 0x00027D}, + {0x000280, 0x000280}, + {0x000282, 0x000283}, + {0x000287, 0x00028C}, + {0x000292, 0x000292}, + {0x00029D, 0x00029E}, + {0x000345, 0x000345}, + {0x000371, 0x000371}, + {0x000373, 0x000373}, + {0x000377, 0x000377}, + {0x00037B, 0x00037D}, + {0x000390, 0x000390}, + {0x0003AC, 0x0003CE}, + {0x0003D0, 0x0003D1}, + {0x0003D5, 0x0003D7}, + {0x0003D9, 0x0003D9}, + {0x0003DB, 0x0003DB}, + {0x0003DD, 0x0003DD}, + {0x0003DF, 0x0003DF}, + {0x0003E1, 0x0003E1}, + {0x0003E3, 0x0003E3}, + {0x0003E5, 0x0003E5}, + {0x0003E7, 0x0003E7}, + {0x0003E9, 0x0003E9}, + {0x0003EB, 0x0003EB}, + {0x0003ED, 0x0003ED}, + {0x0003EF, 0x0003F3}, + {0x0003F5, 0x0003F5}, + {0x0003F8, 0x0003F8}, + {0x0003FB, 0x0003FB}, + {0x000430, 0x00045F}, + {0x000461, 0x000461}, + {0x000463, 0x000463}, + {0x000465, 0x000465}, + {0x000467, 0x000467}, + {0x000469, 0x000469}, + {0x00046B, 0x00046B}, + {0x00046D, 0x00046D}, + {0x00046F, 0x00046F}, + {0x000471, 0x000471}, + {0x000473, 0x000473}, + {0x000475, 0x000475}, + {0x000477, 0x000477}, + {0x000479, 0x000479}, + {0x00047B, 0x00047B}, + {0x00047D, 0x00047D}, + {0x00047F, 0x00047F}, + {0x000481, 0x000481}, + {0x00048B, 0x00048B}, + {0x00048D, 0x00048D}, + {0x00048F, 0x00048F}, + {0x000491, 0x000491}, + {0x000493, 0x000493}, + {0x000495, 0x000495}, + {0x000497, 0x000497}, + {0x000499, 0x000499}, + {0x00049B, 0x00049B}, + {0x00049D, 0x00049D}, + {0x00049F, 0x00049F}, + {0x0004A1, 0x0004A1}, + {0x0004A3, 0x0004A3}, + {0x0004A5, 0x0004A5}, + {0x0004A7, 0x0004A7}, + {0x0004A9, 0x0004A9}, + {0x0004AB, 0x0004AB}, + {0x0004AD, 0x0004AD}, + {0x0004AF, 0x0004AF}, + {0x0004B1, 0x0004B1}, + {0x0004B3, 0x0004B3}, + {0x0004B5, 0x0004B5}, + {0x0004B7, 0x0004B7}, + {0x0004B9, 0x0004B9}, + {0x0004BB, 0x0004BB}, + {0x0004BD, 0x0004BD}, + {0x0004BF, 0x0004BF}, + {0x0004C2, 0x0004C2}, + {0x0004C4, 0x0004C4}, + {0x0004C6, 0x0004C6}, + {0x0004C8, 0x0004C8}, + {0x0004CA, 0x0004CA}, + {0x0004CC, 0x0004CC}, + {0x0004CE, 0x0004CF}, + {0x0004D1, 0x0004D1}, + {0x0004D3, 0x0004D3}, + {0x0004D5, 0x0004D5}, + {0x0004D7, 0x0004D7}, + {0x0004D9, 0x0004D9}, + {0x0004DB, 0x0004DB}, + {0x0004DD, 0x0004DD}, + {0x0004DF, 0x0004DF}, + {0x0004E1, 0x0004E1}, + {0x0004E3, 0x0004E3}, + {0x0004E5, 0x0004E5}, + {0x0004E7, 0x0004E7}, + {0x0004E9, 0x0004E9}, + {0x0004EB, 0x0004EB}, + {0x0004ED, 0x0004ED}, + {0x0004EF, 0x0004EF}, + {0x0004F1, 0x0004F1}, + {0x0004F3, 0x0004F3}, + {0x0004F5, 0x0004F5}, + {0x0004F7, 0x0004F7}, + {0x0004F9, 0x0004F9}, + {0x0004FB, 0x0004FB}, + {0x0004FD, 0x0004FD}, + {0x0004FF, 0x0004FF}, + {0x000501, 0x000501}, + {0x000503, 0x000503}, + {0x000505, 0x000505}, + {0x000507, 0x000507}, + {0x000509, 0x000509}, + {0x00050B, 0x00050B}, + {0x00050D, 0x00050D}, + {0x00050F, 0x00050F}, + {0x000511, 0x000511}, + {0x000513, 0x000513}, + {0x000515, 0x000515}, + {0x000517, 0x000517}, + {0x000519, 0x000519}, + {0x00051B, 0x00051B}, + {0x00051D, 0x00051D}, + {0x00051F, 0x00051F}, + {0x000521, 0x000521}, + {0x000523, 0x000523}, + {0x000525, 0x000525}, + {0x000527, 0x000527}, + {0x000529, 0x000529}, + {0x00052B, 0x00052B}, + {0x00052D, 0x00052D}, + {0x00052F, 0x00052F}, + {0x000561, 0x000587}, + {0x0010D0, 0x0010FA}, + {0x0010FD, 0x0010FF}, + {0x0013F8, 0x0013FD}, + {0x001C80, 0x001C88}, + {0x001D79, 0x001D79}, + {0x001D7D, 0x001D7D}, + {0x001D8E, 0x001D8E}, + {0x001E01, 0x001E01}, + {0x001E03, 0x001E03}, + {0x001E05, 0x001E05}, + {0x001E07, 0x001E07}, + {0x001E09, 0x001E09}, + {0x001E0B, 0x001E0B}, + {0x001E0D, 0x001E0D}, + {0x001E0F, 0x001E0F}, + {0x001E11, 0x001E11}, + {0x001E13, 0x001E13}, + {0x001E15, 0x001E15}, + {0x001E17, 0x001E17}, + {0x001E19, 0x001E19}, + {0x001E1B, 0x001E1B}, + {0x001E1D, 0x001E1D}, + {0x001E1F, 0x001E1F}, + {0x001E21, 0x001E21}, + {0x001E23, 0x001E23}, + {0x001E25, 0x001E25}, + {0x001E27, 0x001E27}, + {0x001E29, 0x001E29}, + {0x001E2B, 0x001E2B}, + {0x001E2D, 0x001E2D}, + {0x001E2F, 0x001E2F}, + {0x001E31, 0x001E31}, + {0x001E33, 0x001E33}, + {0x001E35, 0x001E35}, + {0x001E37, 0x001E37}, + {0x001E39, 0x001E39}, + {0x001E3B, 0x001E3B}, + {0x001E3D, 0x001E3D}, + {0x001E3F, 0x001E3F}, + {0x001E41, 0x001E41}, + {0x001E43, 0x001E43}, + {0x001E45, 0x001E45}, + {0x001E47, 0x001E47}, + {0x001E49, 0x001E49}, + {0x001E4B, 0x001E4B}, + {0x001E4D, 0x001E4D}, + {0x001E4F, 0x001E4F}, + {0x001E51, 0x001E51}, + {0x001E53, 0x001E53}, + {0x001E55, 0x001E55}, + {0x001E57, 0x001E57}, + {0x001E59, 0x001E59}, + {0x001E5B, 0x001E5B}, + {0x001E5D, 0x001E5D}, + {0x001E5F, 0x001E5F}, + {0x001E61, 0x001E61}, + {0x001E63, 0x001E63}, + {0x001E65, 0x001E65}, + {0x001E67, 0x001E67}, + {0x001E69, 0x001E69}, + {0x001E6B, 0x001E6B}, + {0x001E6D, 0x001E6D}, + {0x001E6F, 0x001E6F}, + {0x001E71, 0x001E71}, + {0x001E73, 0x001E73}, + {0x001E75, 0x001E75}, + {0x001E77, 0x001E77}, + {0x001E79, 0x001E79}, + {0x001E7B, 0x001E7B}, + {0x001E7D, 0x001E7D}, + {0x001E7F, 0x001E7F}, + {0x001E81, 0x001E81}, + {0x001E83, 0x001E83}, + {0x001E85, 0x001E85}, + {0x001E87, 0x001E87}, + {0x001E89, 0x001E89}, + {0x001E8B, 0x001E8B}, + {0x001E8D, 0x001E8D}, + {0x001E8F, 0x001E8F}, + {0x001E91, 0x001E91}, + {0x001E93, 0x001E93}, + {0x001E95, 0x001E9B}, + {0x001EA1, 0x001EA1}, + {0x001EA3, 0x001EA3}, + {0x001EA5, 0x001EA5}, + {0x001EA7, 0x001EA7}, + {0x001EA9, 0x001EA9}, + {0x001EAB, 0x001EAB}, + {0x001EAD, 0x001EAD}, + {0x001EAF, 0x001EAF}, + {0x001EB1, 0x001EB1}, + {0x001EB3, 0x001EB3}, + {0x001EB5, 0x001EB5}, + {0x001EB7, 0x001EB7}, + {0x001EB9, 0x001EB9}, + {0x001EBB, 0x001EBB}, + {0x001EBD, 0x001EBD}, + {0x001EBF, 0x001EBF}, + {0x001EC1, 0x001EC1}, + {0x001EC3, 0x001EC3}, + {0x001EC5, 0x001EC5}, + {0x001EC7, 0x001EC7}, + {0x001EC9, 0x001EC9}, + {0x001ECB, 0x001ECB}, + {0x001ECD, 0x001ECD}, + {0x001ECF, 0x001ECF}, + {0x001ED1, 0x001ED1}, + {0x001ED3, 0x001ED3}, + {0x001ED5, 0x001ED5}, + {0x001ED7, 0x001ED7}, + {0x001ED9, 0x001ED9}, + {0x001EDB, 0x001EDB}, + {0x001EDD, 0x001EDD}, + {0x001EDF, 0x001EDF}, + {0x001EE1, 0x001EE1}, + {0x001EE3, 0x001EE3}, + {0x001EE5, 0x001EE5}, + {0x001EE7, 0x001EE7}, + {0x001EE9, 0x001EE9}, + {0x001EEB, 0x001EEB}, + {0x001EED, 0x001EED}, + {0x001EEF, 0x001EEF}, + {0x001EF1, 0x001EF1}, + {0x001EF3, 0x001EF3}, + {0x001EF5, 0x001EF5}, + {0x001EF7, 0x001EF7}, + {0x001EF9, 0x001EF9}, + {0x001EFB, 0x001EFB}, + {0x001EFD, 0x001EFD}, + {0x001EFF, 0x001F07}, + {0x001F10, 0x001F15}, + {0x001F20, 0x001F27}, + {0x001F30, 0x001F37}, + {0x001F40, 0x001F45}, + {0x001F50, 0x001F57}, + {0x001F60, 0x001F67}, + {0x001F70, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FB7}, + {0x001FBC, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FC7}, + {0x001FCC, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FD7}, + {0x001FE0, 0x001FE7}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FF7}, + {0x001FFC, 0x001FFC}, + {0x00214E, 0x00214E}, + {0x002170, 0x00217F}, + {0x002184, 0x002184}, + {0x0024D0, 0x0024E9}, + {0x002C30, 0x002C5F}, + {0x002C61, 0x002C61}, + {0x002C65, 0x002C66}, + {0x002C68, 0x002C68}, + {0x002C6A, 0x002C6A}, + {0x002C6C, 0x002C6C}, + {0x002C73, 0x002C73}, + {0x002C76, 0x002C76}, + {0x002C81, 0x002C81}, + {0x002C83, 0x002C83}, + {0x002C85, 0x002C85}, + {0x002C87, 0x002C87}, + {0x002C89, 0x002C89}, + {0x002C8B, 0x002C8B}, + {0x002C8D, 0x002C8D}, + {0x002C8F, 0x002C8F}, + {0x002C91, 0x002C91}, + {0x002C93, 0x002C93}, + {0x002C95, 0x002C95}, + {0x002C97, 0x002C97}, + {0x002C99, 0x002C99}, + {0x002C9B, 0x002C9B}, + {0x002C9D, 0x002C9D}, + {0x002C9F, 0x002C9F}, + {0x002CA1, 0x002CA1}, + {0x002CA3, 0x002CA3}, + {0x002CA5, 0x002CA5}, + {0x002CA7, 0x002CA7}, + {0x002CA9, 0x002CA9}, + {0x002CAB, 0x002CAB}, + {0x002CAD, 0x002CAD}, + {0x002CAF, 0x002CAF}, + {0x002CB1, 0x002CB1}, + {0x002CB3, 0x002CB3}, + {0x002CB5, 0x002CB5}, + {0x002CB7, 0x002CB7}, + {0x002CB9, 0x002CB9}, + {0x002CBB, 0x002CBB}, + {0x002CBD, 0x002CBD}, + {0x002CBF, 0x002CBF}, + {0x002CC1, 0x002CC1}, + {0x002CC3, 0x002CC3}, + {0x002CC5, 0x002CC5}, + {0x002CC7, 0x002CC7}, + {0x002CC9, 0x002CC9}, + {0x002CCB, 0x002CCB}, + {0x002CCD, 0x002CCD}, + {0x002CCF, 0x002CCF}, + {0x002CD1, 0x002CD1}, + {0x002CD3, 0x002CD3}, + {0x002CD5, 0x002CD5}, + {0x002CD7, 0x002CD7}, + {0x002CD9, 0x002CD9}, + {0x002CDB, 0x002CDB}, + {0x002CDD, 0x002CDD}, + {0x002CDF, 0x002CDF}, + {0x002CE1, 0x002CE1}, + {0x002CE3, 0x002CE3}, + {0x002CEC, 0x002CEC}, + {0x002CEE, 0x002CEE}, + {0x002CF3, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x00A641, 0x00A641}, + {0x00A643, 0x00A643}, + {0x00A645, 0x00A645}, + {0x00A647, 0x00A647}, + {0x00A649, 0x00A649}, + {0x00A64B, 0x00A64B}, + {0x00A64D, 0x00A64D}, + {0x00A64F, 0x00A64F}, + {0x00A651, 0x00A651}, + {0x00A653, 0x00A653}, + {0x00A655, 0x00A655}, + {0x00A657, 0x00A657}, + {0x00A659, 0x00A659}, + {0x00A65B, 0x00A65B}, + {0x00A65D, 0x00A65D}, + {0x00A65F, 0x00A65F}, + {0x00A661, 0x00A661}, + {0x00A663, 0x00A663}, + {0x00A665, 0x00A665}, + {0x00A667, 0x00A667}, + {0x00A669, 0x00A669}, + {0x00A66B, 0x00A66B}, + {0x00A66D, 0x00A66D}, + {0x00A681, 0x00A681}, + {0x00A683, 0x00A683}, + {0x00A685, 0x00A685}, + {0x00A687, 0x00A687}, + {0x00A689, 0x00A689}, + {0x00A68B, 0x00A68B}, + {0x00A68D, 0x00A68D}, + {0x00A68F, 0x00A68F}, + {0x00A691, 0x00A691}, + {0x00A693, 0x00A693}, + {0x00A695, 0x00A695}, + {0x00A697, 0x00A697}, + {0x00A699, 0x00A699}, + {0x00A69B, 0x00A69B}, + {0x00A723, 0x00A723}, + {0x00A725, 0x00A725}, + {0x00A727, 0x00A727}, + {0x00A729, 0x00A729}, + {0x00A72B, 0x00A72B}, + {0x00A72D, 0x00A72D}, + {0x00A72F, 0x00A72F}, + {0x00A733, 0x00A733}, + {0x00A735, 0x00A735}, + {0x00A737, 0x00A737}, + {0x00A739, 0x00A739}, + {0x00A73B, 0x00A73B}, + {0x00A73D, 0x00A73D}, + {0x00A73F, 0x00A73F}, + {0x00A741, 0x00A741}, + {0x00A743, 0x00A743}, + {0x00A745, 0x00A745}, + {0x00A747, 0x00A747}, + {0x00A749, 0x00A749}, + {0x00A74B, 0x00A74B}, + {0x00A74D, 0x00A74D}, + {0x00A74F, 0x00A74F}, + {0x00A751, 0x00A751}, + {0x00A753, 0x00A753}, + {0x00A755, 0x00A755}, + {0x00A757, 0x00A757}, + {0x00A759, 0x00A759}, + {0x00A75B, 0x00A75B}, + {0x00A75D, 0x00A75D}, + {0x00A75F, 0x00A75F}, + {0x00A761, 0x00A761}, + {0x00A763, 0x00A763}, + {0x00A765, 0x00A765}, + {0x00A767, 0x00A767}, + {0x00A769, 0x00A769}, + {0x00A76B, 0x00A76B}, + {0x00A76D, 0x00A76D}, + {0x00A76F, 0x00A76F}, + {0x00A77A, 0x00A77A}, + {0x00A77C, 0x00A77C}, + {0x00A77F, 0x00A77F}, + {0x00A781, 0x00A781}, + {0x00A783, 0x00A783}, + {0x00A785, 0x00A785}, + {0x00A787, 0x00A787}, + {0x00A78C, 0x00A78C}, + {0x00A791, 0x00A791}, + {0x00A793, 0x00A794}, + {0x00A797, 0x00A797}, + {0x00A799, 0x00A799}, + {0x00A79B, 0x00A79B}, + {0x00A79D, 0x00A79D}, + {0x00A79F, 0x00A79F}, + {0x00A7A1, 0x00A7A1}, + {0x00A7A3, 0x00A7A3}, + {0x00A7A5, 0x00A7A5}, + {0x00A7A7, 0x00A7A7}, + {0x00A7A9, 0x00A7A9}, + {0x00A7B5, 0x00A7B5}, + {0x00A7B7, 0x00A7B7}, + {0x00A7B9, 0x00A7B9}, + {0x00A7BB, 0x00A7BB}, + {0x00A7BD, 0x00A7BD}, + {0x00A7BF, 0x00A7BF}, + {0x00A7C1, 0x00A7C1}, + {0x00A7C3, 0x00A7C3}, + {0x00A7C8, 0x00A7C8}, + {0x00A7CA, 0x00A7CA}, + {0x00A7D1, 0x00A7D1}, + {0x00A7D7, 0x00A7D7}, + {0x00A7D9, 0x00A7D9}, + {0x00A7F6, 0x00A7F6}, + {0x00AB53, 0x00AB53}, + {0x00AB70, 0x00ABBF}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FF41, 0x00FF5A}, + {0x010428, 0x01044F}, + {0x0104D8, 0x0104FB}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010CC0, 0x010CF2}, + {0x0118C0, 0x0118DF}, + {0x016E60, 0x016E7F}, + {0x01E922, 0x01E943}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_changes_when_uppercased(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_dash.c b/vendor/librune/lib/rtype/rune_has_prop_dash.c new file mode 100644 index 0000000..248eb00 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_dash.c @@ -0,0 +1,53 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x200000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00002D, 0x00002D}, + {0x00058A, 0x00058A}, + {0x0005BE, 0x0005BE}, + {0x001400, 0x001400}, + {0x001806, 0x001806}, + {0x002010, 0x002015}, + {0x002053, 0x002053}, + {0x00207B, 0x00207B}, + {0x00208B, 0x00208B}, + {0x002212, 0x002212}, + {0x002E17, 0x002E17}, + {0x002E1A, 0x002E1A}, + {0x002E3A, 0x002E3B}, + {0x002E40, 0x002E40}, + {0x002E5D, 0x002E5D}, + {0x00301C, 0x00301C}, + {0x003030, 0x003030}, + {0x0030A0, 0x0030A0}, + {0x00FE31, 0x00FE32}, + {0x00FE58, 0x00FE58}, + {0x00FE63, 0x00FE63}, + {0x00FF0D, 0x00FF0D}, + {0x010EAD, 0x010EAD}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_dash(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_default_ignorable_code_point.c b/vendor/librune/lib/rtype/rune_has_prop_default_ignorable_code_point.c new file mode 100644 index 0000000..bf0f850 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_default_ignorable_code_point.c @@ -0,0 +1,47 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x20000000000000000000000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x0000AD, 0x0000AD}, + {0x00034F, 0x00034F}, + {0x00061C, 0x00061C}, + {0x00115F, 0x001160}, + {0x0017B4, 0x0017B5}, + {0x00180B, 0x00180F}, + {0x00200B, 0x00200F}, + {0x00202A, 0x00202E}, + {0x002060, 0x00206F}, + {0x003164, 0x003164}, + {0x00FE00, 0x00FE0F}, + {0x00FEFF, 0x00FEFF}, + {0x00FFA0, 0x00FFA0}, + {0x00FFF0, 0x00FFF8}, + {0x01BCA0, 0x01BCA3}, + {0x01D173, 0x01D17A}, + {0x0E0000, 0x0E0FFF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_default_ignorable_code_point(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_deprecated.c b/vendor/librune/lib/rtype/rune_has_prop_deprecated.c new file mode 100644 index 0000000..fe70ddc --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_deprecated.c @@ -0,0 +1,38 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000149, 0x000149}, + {0x000673, 0x000673}, + {0x000F77, 0x000F77}, + {0x000F79, 0x000F79}, + {0x0017A3, 0x0017A4}, + {0x00206A, 0x00206F}, + {0x002329, 0x00232A}, + {0x0E0001, 0x0E0001}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_deprecated(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_diacritic.c b/vendor/librune/lib/rtype/rune_has_prop_diacritic.c new file mode 100644 index 0000000..5d423a1 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_diacritic.c @@ -0,0 +1,225 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x19081000000000000000001400000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00005E, 0x00005E}, + {0x000060, 0x000060}, + {0x0000A8, 0x0000A8}, + {0x0000AF, 0x0000AF}, + {0x0000B4, 0x0000B4}, + {0x0000B7, 0x0000B8}, + {0x0002B0, 0x00034E}, + {0x000350, 0x000357}, + {0x00035D, 0x000362}, + {0x000374, 0x000375}, + {0x00037A, 0x00037A}, + {0x000384, 0x000385}, + {0x000483, 0x000487}, + {0x000559, 0x000559}, + {0x000591, 0x0005A1}, + {0x0005A3, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C4}, + {0x00064B, 0x000652}, + {0x000657, 0x000658}, + {0x0006DF, 0x0006E0}, + {0x0006E5, 0x0006E6}, + {0x0006EA, 0x0006EC}, + {0x000730, 0x00074A}, + {0x0007A6, 0x0007B0}, + {0x0007EB, 0x0007F5}, + {0x000818, 0x000819}, + {0x000898, 0x00089F}, + {0x0008C9, 0x0008D2}, + {0x0008E3, 0x0008FE}, + {0x00093C, 0x00093C}, + {0x00094D, 0x00094D}, + {0x000951, 0x000954}, + {0x000971, 0x000971}, + {0x0009BC, 0x0009BC}, + {0x0009CD, 0x0009CD}, + {0x000A3C, 0x000A3C}, + {0x000A4D, 0x000A4D}, + {0x000ABC, 0x000ABC}, + {0x000ACD, 0x000ACD}, + {0x000AFD, 0x000AFF}, + {0x000B3C, 0x000B3C}, + {0x000B4D, 0x000B4D}, + {0x000B55, 0x000B55}, + {0x000BCD, 0x000BCD}, + {0x000C3C, 0x000C3C}, + {0x000C4D, 0x000C4D}, + {0x000CBC, 0x000CBC}, + {0x000CCD, 0x000CCD}, + {0x000D3B, 0x000D3C}, + {0x000D4D, 0x000D4D}, + {0x000DCA, 0x000DCA}, + {0x000E47, 0x000E4C}, + {0x000E4E, 0x000E4E}, + {0x000EBA, 0x000EBA}, + {0x000EC8, 0x000ECC}, + {0x000F18, 0x000F19}, + {0x000F35, 0x000F35}, + {0x000F37, 0x000F37}, + {0x000F39, 0x000F39}, + {0x000F3E, 0x000F3F}, + {0x000F82, 0x000F84}, + {0x000F86, 0x000F87}, + {0x000FC6, 0x000FC6}, + {0x001037, 0x001037}, + {0x001039, 0x00103A}, + {0x001063, 0x001064}, + {0x001069, 0x00106D}, + {0x001087, 0x00108D}, + {0x00108F, 0x00108F}, + {0x00109A, 0x00109B}, + {0x00135D, 0x00135F}, + {0x001714, 0x001715}, + {0x0017C9, 0x0017D3}, + {0x0017DD, 0x0017DD}, + {0x001939, 0x00193B}, + {0x001A75, 0x001A7C}, + {0x001A7F, 0x001A7F}, + {0x001AB0, 0x001ABE}, + {0x001AC1, 0x001ACB}, + {0x001B34, 0x001B34}, + {0x001B44, 0x001B44}, + {0x001B6B, 0x001B73}, + {0x001BAA, 0x001BAB}, + {0x001C36, 0x001C37}, + {0x001C78, 0x001C7D}, + {0x001CD0, 0x001CE8}, + {0x001CED, 0x001CED}, + {0x001CF4, 0x001CF4}, + {0x001CF7, 0x001CF9}, + {0x001D2C, 0x001D6A}, + {0x001DC4, 0x001DCF}, + {0x001DF5, 0x001DFF}, + {0x001FBD, 0x001FBD}, + {0x001FBF, 0x001FC1}, + {0x001FCD, 0x001FCF}, + {0x001FDD, 0x001FDF}, + {0x001FED, 0x001FEF}, + {0x001FFD, 0x001FFE}, + {0x002CEF, 0x002CF1}, + {0x002E2F, 0x002E2F}, + {0x00302A, 0x00302F}, + {0x003099, 0x00309C}, + {0x0030FC, 0x0030FC}, + {0x00A66F, 0x00A66F}, + {0x00A67C, 0x00A67D}, + {0x00A67F, 0x00A67F}, + {0x00A69C, 0x00A69D}, + {0x00A6F0, 0x00A6F1}, + {0x00A700, 0x00A721}, + {0x00A788, 0x00A78A}, + {0x00A7F8, 0x00A7F9}, + {0x00A8C4, 0x00A8C4}, + {0x00A8E0, 0x00A8F1}, + {0x00A92B, 0x00A92E}, + {0x00A953, 0x00A953}, + {0x00A9B3, 0x00A9B3}, + {0x00A9C0, 0x00A9C0}, + {0x00A9E5, 0x00A9E5}, + {0x00AA7B, 0x00AA7D}, + {0x00AABF, 0x00AAC2}, + {0x00AAF6, 0x00AAF6}, + {0x00AB5B, 0x00AB5F}, + {0x00AB69, 0x00AB6B}, + {0x00ABEC, 0x00ABED}, + {0x00FB1E, 0x00FB1E}, + {0x00FE20, 0x00FE2F}, + {0x00FF3E, 0x00FF3E}, + {0x00FF40, 0x00FF40}, + {0x00FF70, 0x00FF70}, + {0x00FF9E, 0x00FF9F}, + {0x00FFE3, 0x00FFE3}, + {0x0102E0, 0x0102E0}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010AE5, 0x010AE6}, + {0x010D22, 0x010D27}, + {0x010EFD, 0x010EFF}, + {0x010F46, 0x010F50}, + {0x010F82, 0x010F85}, + {0x011046, 0x011046}, + {0x011070, 0x011070}, + {0x0110B9, 0x0110BA}, + {0x011133, 0x011134}, + {0x011173, 0x011173}, + {0x0111C0, 0x0111C0}, + {0x0111CA, 0x0111CC}, + {0x011235, 0x011236}, + {0x0112E9, 0x0112EA}, + {0x01133C, 0x01133C}, + {0x01134D, 0x01134D}, + {0x011366, 0x01136C}, + {0x011370, 0x011374}, + {0x011442, 0x011442}, + {0x011446, 0x011446}, + {0x0114C2, 0x0114C3}, + {0x0115BF, 0x0115C0}, + {0x01163F, 0x01163F}, + {0x0116B6, 0x0116B7}, + {0x01172B, 0x01172B}, + {0x011839, 0x01183A}, + {0x01193D, 0x01193E}, + {0x011943, 0x011943}, + {0x0119E0, 0x0119E0}, + {0x011A34, 0x011A34}, + {0x011A47, 0x011A47}, + {0x011A99, 0x011A99}, + {0x011C3F, 0x011C3F}, + {0x011D42, 0x011D42}, + {0x011D44, 0x011D45}, + {0x011D97, 0x011D97}, + {0x013447, 0x013455}, + {0x016AF0, 0x016AF4}, + {0x016B30, 0x016B36}, + {0x016F8F, 0x016F9F}, + {0x016FF0, 0x016FF1}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01CF00, 0x01CF2D}, + {0x01CF30, 0x01CF46}, + {0x01D167, 0x01D169}, + {0x01D16D, 0x01D172}, + {0x01D17B, 0x01D182}, + {0x01D185, 0x01D18B}, + {0x01D1AA, 0x01D1AD}, + {0x01E030, 0x01E06D}, + {0x01E130, 0x01E136}, + {0x01E2AE, 0x01E2AE}, + {0x01E2EC, 0x01E2EF}, + {0x01E8D0, 0x01E8D6}, + {0x01E944, 0x01E946}, + {0x01E948, 0x01E94A}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_diacritic(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_extender.c b/vendor/librune/lib/rtype/rune_has_prop_extender.c new file mode 100644 index 0000000..961fd2e --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_extender.c @@ -0,0 +1,63 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x8000000000000000000000000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x0000B7, 0x0000B7}, + {0x0002D0, 0x0002D1}, + {0x000640, 0x000640}, + {0x0007FA, 0x0007FA}, + {0x000B55, 0x000B55}, + {0x000E46, 0x000E46}, + {0x000EC6, 0x000EC6}, + {0x00180A, 0x00180A}, + {0x001843, 0x001843}, + {0x001AA7, 0x001AA7}, + {0x001C36, 0x001C36}, + {0x001C7B, 0x001C7B}, + {0x003005, 0x003005}, + {0x003031, 0x003035}, + {0x00309D, 0x00309E}, + {0x0030FC, 0x0030FE}, + {0x00A015, 0x00A015}, + {0x00A60C, 0x00A60C}, + {0x00A9CF, 0x00A9CF}, + {0x00A9E6, 0x00A9E6}, + {0x00AA70, 0x00AA70}, + {0x00AADD, 0x00AADD}, + {0x00AAF3, 0x00AAF4}, + {0x00FF70, 0x00FF70}, + {0x010781, 0x010782}, + {0x01135D, 0x01135D}, + {0x0115C6, 0x0115C8}, + {0x011A98, 0x011A98}, + {0x016B42, 0x016B43}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE3}, + {0x01E13C, 0x01E13D}, + {0x01E944, 0x01E946}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_extender(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_grapheme_base.c b/vendor/librune/lib/rtype/rune_has_prop_grapheme_base.c new file mode 100644 index 0000000..0de7ba6 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_grapheme_base.c @@ -0,0 +1,905 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFFFFFFFFFFFFFFFFFFFFDFFF000000007FFFFFFFFFFFFFFFFFFFFFFF00000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000020, 0x00007E}, + {0x0000A0, 0x0000AC}, + {0x0000AE, 0x0002FF}, + {0x000370, 0x000377}, + {0x00037A, 0x00037F}, + {0x000384, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x000482}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000559, 0x00058A}, + {0x00058D, 0x00058F}, + {0x0005BE, 0x0005BE}, + {0x0005C0, 0x0005C0}, + {0x0005C3, 0x0005C3}, + {0x0005C6, 0x0005C6}, + {0x0005D0, 0x0005EA}, + {0x0005EF, 0x0005F4}, + {0x000606, 0x00060F}, + {0x00061B, 0x00061B}, + {0x00061D, 0x00064A}, + {0x000660, 0x00066F}, + {0x000671, 0x0006D5}, + {0x0006DE, 0x0006DE}, + {0x0006E5, 0x0006E6}, + {0x0006E9, 0x0006E9}, + {0x0006EE, 0x00070D}, + {0x000710, 0x000710}, + {0x000712, 0x00072F}, + {0x00074D, 0x0007A5}, + {0x0007B1, 0x0007B1}, + {0x0007C0, 0x0007EA}, + {0x0007F4, 0x0007FA}, + {0x0007FE, 0x000815}, + {0x00081A, 0x00081A}, + {0x000824, 0x000824}, + {0x000828, 0x000828}, + {0x000830, 0x00083E}, + {0x000840, 0x000858}, + {0x00085E, 0x00085E}, + {0x000860, 0x00086A}, + {0x000870, 0x00088E}, + {0x0008A0, 0x0008C9}, + {0x000903, 0x000939}, + {0x00093B, 0x00093B}, + {0x00093D, 0x000940}, + {0x000949, 0x00094C}, + {0x00094E, 0x000950}, + {0x000958, 0x000961}, + {0x000964, 0x000980}, + {0x000982, 0x000983}, + {0x000985, 0x00098C}, + {0x00098F, 0x000990}, + {0x000993, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BD, 0x0009BD}, + {0x0009BF, 0x0009C0}, + {0x0009C7, 0x0009C8}, + {0x0009CB, 0x0009CC}, + {0x0009CE, 0x0009CE}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009E1}, + {0x0009E6, 0x0009FD}, + {0x000A03, 0x000A03}, + {0x000A05, 0x000A0A}, + {0x000A0F, 0x000A10}, + {0x000A13, 0x000A28}, + {0x000A2A, 0x000A30}, + {0x000A32, 0x000A33}, + {0x000A35, 0x000A36}, + {0x000A38, 0x000A39}, + {0x000A3E, 0x000A40}, + {0x000A59, 0x000A5C}, + {0x000A5E, 0x000A5E}, + {0x000A66, 0x000A6F}, + {0x000A72, 0x000A74}, + {0x000A76, 0x000A76}, + {0x000A83, 0x000A83}, + {0x000A85, 0x000A8D}, + {0x000A8F, 0x000A91}, + {0x000A93, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABD, 0x000AC0}, + {0x000AC9, 0x000AC9}, + {0x000ACB, 0x000ACC}, + {0x000AD0, 0x000AD0}, + {0x000AE0, 0x000AE1}, + {0x000AE6, 0x000AF1}, + {0x000AF9, 0x000AF9}, + {0x000B02, 0x000B03}, + {0x000B05, 0x000B0C}, + {0x000B0F, 0x000B10}, + {0x000B13, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3D, 0x000B3D}, + {0x000B40, 0x000B40}, + {0x000B47, 0x000B48}, + {0x000B4B, 0x000B4C}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B61}, + {0x000B66, 0x000B77}, + {0x000B83, 0x000B83}, + {0x000B85, 0x000B8A}, + {0x000B8E, 0x000B90}, + {0x000B92, 0x000B95}, + {0x000B99, 0x000B9A}, + {0x000B9C, 0x000B9C}, + {0x000B9E, 0x000B9F}, + {0x000BA3, 0x000BA4}, + {0x000BA8, 0x000BAA}, + {0x000BAE, 0x000BB9}, + {0x000BBF, 0x000BBF}, + {0x000BC1, 0x000BC2}, + {0x000BC6, 0x000BC8}, + {0x000BCA, 0x000BCC}, + {0x000BD0, 0x000BD0}, + {0x000BE6, 0x000BFA}, + {0x000C01, 0x000C03}, + {0x000C05, 0x000C0C}, + {0x000C0E, 0x000C10}, + {0x000C12, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3D, 0x000C3D}, + {0x000C41, 0x000C44}, + {0x000C58, 0x000C5A}, + {0x000C5D, 0x000C5D}, + {0x000C60, 0x000C61}, + {0x000C66, 0x000C6F}, + {0x000C77, 0x000C80}, + {0x000C82, 0x000C8C}, + {0x000C8E, 0x000C90}, + {0x000C92, 0x000CA8}, + {0x000CAA, 0x000CB3}, + {0x000CB5, 0x000CB9}, + {0x000CBD, 0x000CBE}, + {0x000CC0, 0x000CC1}, + {0x000CC3, 0x000CC4}, + {0x000CC7, 0x000CC8}, + {0x000CCA, 0x000CCB}, + {0x000CDD, 0x000CDE}, + {0x000CE0, 0x000CE1}, + {0x000CE6, 0x000CEF}, + {0x000CF1, 0x000CF3}, + {0x000D02, 0x000D0C}, + {0x000D0E, 0x000D10}, + {0x000D12, 0x000D3A}, + {0x000D3D, 0x000D3D}, + {0x000D3F, 0x000D40}, + {0x000D46, 0x000D48}, + {0x000D4A, 0x000D4C}, + {0x000D4E, 0x000D4F}, + {0x000D54, 0x000D56}, + {0x000D58, 0x000D61}, + {0x000D66, 0x000D7F}, + {0x000D82, 0x000D83}, + {0x000D85, 0x000D96}, + {0x000D9A, 0x000DB1}, + {0x000DB3, 0x000DBB}, + {0x000DBD, 0x000DBD}, + {0x000DC0, 0x000DC6}, + {0x000DD0, 0x000DD1}, + {0x000DD8, 0x000DDE}, + {0x000DE6, 0x000DEF}, + {0x000DF2, 0x000DF4}, + {0x000E01, 0x000E30}, + {0x000E32, 0x000E33}, + {0x000E3F, 0x000E46}, + {0x000E4F, 0x000E5B}, + {0x000E81, 0x000E82}, + {0x000E84, 0x000E84}, + {0x000E86, 0x000E8A}, + {0x000E8C, 0x000EA3}, + {0x000EA5, 0x000EA5}, + {0x000EA7, 0x000EB0}, + {0x000EB2, 0x000EB3}, + {0x000EBD, 0x000EBD}, + {0x000EC0, 0x000EC4}, + {0x000EC6, 0x000EC6}, + {0x000ED0, 0x000ED9}, + {0x000EDC, 0x000EDF}, + {0x000F00, 0x000F17}, + {0x000F1A, 0x000F34}, + {0x000F36, 0x000F36}, + {0x000F38, 0x000F38}, + {0x000F3A, 0x000F47}, + {0x000F49, 0x000F6C}, + {0x000F7F, 0x000F7F}, + {0x000F85, 0x000F85}, + {0x000F88, 0x000F8C}, + {0x000FBE, 0x000FC5}, + {0x000FC7, 0x000FCC}, + {0x000FCE, 0x000FDA}, + {0x001000, 0x00102C}, + {0x001031, 0x001031}, + {0x001038, 0x001038}, + {0x00103B, 0x00103C}, + {0x00103F, 0x001057}, + {0x00105A, 0x00105D}, + {0x001061, 0x001070}, + {0x001075, 0x001081}, + {0x001083, 0x001084}, + {0x001087, 0x00108C}, + {0x00108E, 0x00109C}, + {0x00109E, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x001248}, + {0x00124A, 0x00124D}, + {0x001250, 0x001256}, + {0x001258, 0x001258}, + {0x00125A, 0x00125D}, + {0x001260, 0x001288}, + {0x00128A, 0x00128D}, + {0x001290, 0x0012B0}, + {0x0012B2, 0x0012B5}, + {0x0012B8, 0x0012BE}, + {0x0012C0, 0x0012C0}, + {0x0012C2, 0x0012C5}, + {0x0012C8, 0x0012D6}, + {0x0012D8, 0x001310}, + {0x001312, 0x001315}, + {0x001318, 0x00135A}, + {0x001360, 0x00137C}, + {0x001380, 0x001399}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001400, 0x00169C}, + {0x0016A0, 0x0016F8}, + {0x001700, 0x001711}, + {0x001715, 0x001715}, + {0x00171F, 0x001731}, + {0x001734, 0x001736}, + {0x001740, 0x001751}, + {0x001760, 0x00176C}, + {0x00176E, 0x001770}, + {0x001780, 0x0017B3}, + {0x0017B6, 0x0017B6}, + {0x0017BE, 0x0017C5}, + {0x0017C7, 0x0017C8}, + {0x0017D4, 0x0017DC}, + {0x0017E0, 0x0017E9}, + {0x0017F0, 0x0017F9}, + {0x001800, 0x00180A}, + {0x001810, 0x001819}, + {0x001820, 0x001878}, + {0x001880, 0x001884}, + {0x001887, 0x0018A8}, + {0x0018AA, 0x0018AA}, + {0x0018B0, 0x0018F5}, + {0x001900, 0x00191E}, + {0x001923, 0x001926}, + {0x001929, 0x00192B}, + {0x001930, 0x001931}, + {0x001933, 0x001938}, + {0x001940, 0x001940}, + {0x001944, 0x00196D}, + {0x001970, 0x001974}, + {0x001980, 0x0019AB}, + {0x0019B0, 0x0019C9}, + {0x0019D0, 0x0019DA}, + {0x0019DE, 0x001A16}, + {0x001A19, 0x001A1A}, + {0x001A1E, 0x001A55}, + {0x001A57, 0x001A57}, + {0x001A61, 0x001A61}, + {0x001A63, 0x001A64}, + {0x001A6D, 0x001A72}, + {0x001A80, 0x001A89}, + {0x001A90, 0x001A99}, + {0x001AA0, 0x001AAD}, + {0x001B04, 0x001B33}, + {0x001B3B, 0x001B3B}, + {0x001B3D, 0x001B41}, + {0x001B43, 0x001B4C}, + {0x001B50, 0x001B6A}, + {0x001B74, 0x001B7E}, + {0x001B82, 0x001BA1}, + {0x001BA6, 0x001BA7}, + {0x001BAA, 0x001BAA}, + {0x001BAE, 0x001BE5}, + {0x001BE7, 0x001BE7}, + {0x001BEA, 0x001BEC}, + {0x001BEE, 0x001BEE}, + {0x001BF2, 0x001BF3}, + {0x001BFC, 0x001C2B}, + {0x001C34, 0x001C35}, + {0x001C3B, 0x001C49}, + {0x001C4D, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CC7}, + {0x001CD3, 0x001CD3}, + {0x001CE1, 0x001CE1}, + {0x001CE9, 0x001CEC}, + {0x001CEE, 0x001CF3}, + {0x001CF5, 0x001CF7}, + {0x001CFA, 0x001CFA}, + {0x001D00, 0x001DBF}, + {0x001E00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FC4}, + {0x001FC6, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FDD, 0x001FEF}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFE}, + {0x002000, 0x00200A}, + {0x002010, 0x002027}, + {0x00202F, 0x00205F}, + {0x002070, 0x002071}, + {0x002074, 0x00208E}, + {0x002090, 0x00209C}, + {0x0020A0, 0x0020C0}, + {0x002100, 0x00218B}, + {0x002190, 0x002426}, + {0x002440, 0x00244A}, + {0x002460, 0x002B73}, + {0x002B76, 0x002B95}, + {0x002B97, 0x002CEE}, + {0x002CF2, 0x002CF3}, + {0x002CF9, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x002D30, 0x002D67}, + {0x002D6F, 0x002D70}, + {0x002D80, 0x002D96}, + {0x002DA0, 0x002DA6}, + {0x002DA8, 0x002DAE}, + {0x002DB0, 0x002DB6}, + {0x002DB8, 0x002DBE}, + {0x002DC0, 0x002DC6}, + {0x002DC8, 0x002DCE}, + {0x002DD0, 0x002DD6}, + {0x002DD8, 0x002DDE}, + {0x002E00, 0x002E5D}, + {0x002E80, 0x002E99}, + {0x002E9B, 0x002EF3}, + {0x002F00, 0x002FD5}, + {0x002FF0, 0x003029}, + {0x003030, 0x00303F}, + {0x003041, 0x003096}, + {0x00309B, 0x0030FF}, + {0x003105, 0x00312F}, + {0x003131, 0x00318E}, + {0x003190, 0x0031E3}, + {0x0031EF, 0x00321E}, + {0x003220, 0x00A48C}, + {0x00A490, 0x00A4C6}, + {0x00A4D0, 0x00A62B}, + {0x00A640, 0x00A66E}, + {0x00A673, 0x00A673}, + {0x00A67E, 0x00A69D}, + {0x00A6A0, 0x00A6EF}, + {0x00A6F2, 0x00A6F7}, + {0x00A700, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A801}, + {0x00A803, 0x00A805}, + {0x00A807, 0x00A80A}, + {0x00A80C, 0x00A824}, + {0x00A827, 0x00A82B}, + {0x00A830, 0x00A839}, + {0x00A840, 0x00A877}, + {0x00A880, 0x00A8C3}, + {0x00A8CE, 0x00A8D9}, + {0x00A8F2, 0x00A8FE}, + {0x00A900, 0x00A925}, + {0x00A92E, 0x00A946}, + {0x00A952, 0x00A953}, + {0x00A95F, 0x00A97C}, + {0x00A983, 0x00A9B2}, + {0x00A9B4, 0x00A9B5}, + {0x00A9BA, 0x00A9BB}, + {0x00A9BE, 0x00A9CD}, + {0x00A9CF, 0x00A9D9}, + {0x00A9DE, 0x00A9E4}, + {0x00A9E6, 0x00A9FE}, + {0x00AA00, 0x00AA28}, + {0x00AA2F, 0x00AA30}, + {0x00AA33, 0x00AA34}, + {0x00AA40, 0x00AA42}, + {0x00AA44, 0x00AA4B}, + {0x00AA4D, 0x00AA4D}, + {0x00AA50, 0x00AA59}, + {0x00AA5C, 0x00AA7B}, + {0x00AA7D, 0x00AAAF}, + {0x00AAB1, 0x00AAB1}, + {0x00AAB5, 0x00AAB6}, + {0x00AAB9, 0x00AABD}, + {0x00AAC0, 0x00AAC0}, + {0x00AAC2, 0x00AAC2}, + {0x00AADB, 0x00AAEB}, + {0x00AAEE, 0x00AAF5}, + {0x00AB01, 0x00AB06}, + {0x00AB09, 0x00AB0E}, + {0x00AB11, 0x00AB16}, + {0x00AB20, 0x00AB26}, + {0x00AB28, 0x00AB2E}, + {0x00AB30, 0x00AB6B}, + {0x00AB70, 0x00ABE4}, + {0x00ABE6, 0x00ABE7}, + {0x00ABE9, 0x00ABEC}, + {0x00ABF0, 0x00ABF9}, + {0x00AC00, 0x00D7A3}, + {0x00D7B0, 0x00D7C6}, + {0x00D7CB, 0x00D7FB}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FB1D, 0x00FB1D}, + {0x00FB1F, 0x00FB36}, + {0x00FB38, 0x00FB3C}, + {0x00FB3E, 0x00FB3E}, + {0x00FB40, 0x00FB41}, + {0x00FB43, 0x00FB44}, + {0x00FB46, 0x00FBC2}, + {0x00FBD3, 0x00FD8F}, + {0x00FD92, 0x00FDC7}, + {0x00FDCF, 0x00FDCF}, + {0x00FDF0, 0x00FDFF}, + {0x00FE10, 0x00FE19}, + {0x00FE30, 0x00FE52}, + {0x00FE54, 0x00FE66}, + {0x00FE68, 0x00FE6B}, + {0x00FE70, 0x00FE74}, + {0x00FE76, 0x00FEFC}, + {0x00FF01, 0x00FF9D}, + {0x00FFA0, 0x00FFBE}, + {0x00FFC2, 0x00FFC7}, + {0x00FFCA, 0x00FFCF}, + {0x00FFD2, 0x00FFD7}, + {0x00FFDA, 0x00FFDC}, + {0x00FFE0, 0x00FFE6}, + {0x00FFE8, 0x00FFEE}, + {0x00FFFC, 0x00FFFD}, + {0x010000, 0x01000B}, + {0x01000D, 0x010026}, + {0x010028, 0x01003A}, + {0x01003C, 0x01003D}, + {0x01003F, 0x01004D}, + {0x010050, 0x01005D}, + {0x010080, 0x0100FA}, + {0x010100, 0x010102}, + {0x010107, 0x010133}, + {0x010137, 0x01018E}, + {0x010190, 0x01019C}, + {0x0101A0, 0x0101A0}, + {0x0101D0, 0x0101FC}, + {0x010280, 0x01029C}, + {0x0102A0, 0x0102D0}, + {0x0102E1, 0x0102FB}, + {0x010300, 0x010323}, + {0x01032D, 0x01034A}, + {0x010350, 0x010375}, + {0x010380, 0x01039D}, + {0x01039F, 0x0103C3}, + {0x0103C8, 0x0103D5}, + {0x010400, 0x01049D}, + {0x0104A0, 0x0104A9}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010500, 0x010527}, + {0x010530, 0x010563}, + {0x01056F, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010600, 0x010736}, + {0x010740, 0x010755}, + {0x010760, 0x010767}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010800, 0x010805}, + {0x010808, 0x010808}, + {0x01080A, 0x010835}, + {0x010837, 0x010838}, + {0x01083C, 0x01083C}, + {0x01083F, 0x010855}, + {0x010857, 0x01089E}, + {0x0108A7, 0x0108AF}, + {0x0108E0, 0x0108F2}, + {0x0108F4, 0x0108F5}, + {0x0108FB, 0x01091B}, + {0x01091F, 0x010939}, + {0x01093F, 0x01093F}, + {0x010980, 0x0109B7}, + {0x0109BC, 0x0109CF}, + {0x0109D2, 0x010A00}, + {0x010A10, 0x010A13}, + {0x010A15, 0x010A17}, + {0x010A19, 0x010A35}, + {0x010A40, 0x010A48}, + {0x010A50, 0x010A58}, + {0x010A60, 0x010A9F}, + {0x010AC0, 0x010AE4}, + {0x010AEB, 0x010AF6}, + {0x010B00, 0x010B35}, + {0x010B39, 0x010B55}, + {0x010B58, 0x010B72}, + {0x010B78, 0x010B91}, + {0x010B99, 0x010B9C}, + {0x010BA9, 0x010BAF}, + {0x010C00, 0x010C48}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x010CFA, 0x010D23}, + {0x010D30, 0x010D39}, + {0x010E60, 0x010E7E}, + {0x010E80, 0x010EA9}, + {0x010EAD, 0x010EAD}, + {0x010EB0, 0x010EB1}, + {0x010F00, 0x010F27}, + {0x010F30, 0x010F45}, + {0x010F51, 0x010F59}, + {0x010F70, 0x010F81}, + {0x010F86, 0x010F89}, + {0x010FB0, 0x010FCB}, + {0x010FE0, 0x010FF6}, + {0x011000, 0x011000}, + {0x011002, 0x011037}, + {0x011047, 0x01104D}, + {0x011052, 0x01106F}, + {0x011071, 0x011072}, + {0x011075, 0x011075}, + {0x011082, 0x0110B2}, + {0x0110B7, 0x0110B8}, + {0x0110BB, 0x0110BC}, + {0x0110BE, 0x0110C1}, + {0x0110D0, 0x0110E8}, + {0x0110F0, 0x0110F9}, + {0x011103, 0x011126}, + {0x01112C, 0x01112C}, + {0x011136, 0x011147}, + {0x011150, 0x011172}, + {0x011174, 0x011176}, + {0x011182, 0x0111B5}, + {0x0111BF, 0x0111C8}, + {0x0111CD, 0x0111CE}, + {0x0111D0, 0x0111DF}, + {0x0111E1, 0x0111F4}, + {0x011200, 0x011211}, + {0x011213, 0x01122E}, + {0x011232, 0x011233}, + {0x011235, 0x011235}, + {0x011238, 0x01123D}, + {0x01123F, 0x011240}, + {0x011280, 0x011286}, + {0x011288, 0x011288}, + {0x01128A, 0x01128D}, + {0x01128F, 0x01129D}, + {0x01129F, 0x0112A9}, + {0x0112B0, 0x0112DE}, + {0x0112E0, 0x0112E2}, + {0x0112F0, 0x0112F9}, + {0x011302, 0x011303}, + {0x011305, 0x01130C}, + {0x01130F, 0x011310}, + {0x011313, 0x011328}, + {0x01132A, 0x011330}, + {0x011332, 0x011333}, + {0x011335, 0x011339}, + {0x01133D, 0x01133D}, + {0x01133F, 0x01133F}, + {0x011341, 0x011344}, + {0x011347, 0x011348}, + {0x01134B, 0x01134D}, + {0x011350, 0x011350}, + {0x01135D, 0x011363}, + {0x011400, 0x011437}, + {0x011440, 0x011441}, + {0x011445, 0x011445}, + {0x011447, 0x01145B}, + {0x01145D, 0x01145D}, + {0x01145F, 0x011461}, + {0x011480, 0x0114AF}, + {0x0114B1, 0x0114B2}, + {0x0114B9, 0x0114B9}, + {0x0114BB, 0x0114BC}, + {0x0114BE, 0x0114BE}, + {0x0114C1, 0x0114C1}, + {0x0114C4, 0x0114C7}, + {0x0114D0, 0x0114D9}, + {0x011580, 0x0115AE}, + {0x0115B0, 0x0115B1}, + {0x0115B8, 0x0115BB}, + {0x0115BE, 0x0115BE}, + {0x0115C1, 0x0115DB}, + {0x011600, 0x011632}, + {0x01163B, 0x01163C}, + {0x01163E, 0x01163E}, + {0x011641, 0x011644}, + {0x011650, 0x011659}, + {0x011660, 0x01166C}, + {0x011680, 0x0116AA}, + {0x0116AC, 0x0116AC}, + {0x0116AE, 0x0116AF}, + {0x0116B6, 0x0116B6}, + {0x0116B8, 0x0116B9}, + {0x0116C0, 0x0116C9}, + {0x011700, 0x01171A}, + {0x011720, 0x011721}, + {0x011726, 0x011726}, + {0x011730, 0x011746}, + {0x011800, 0x01182E}, + {0x011838, 0x011838}, + {0x01183B, 0x01183B}, + {0x0118A0, 0x0118F2}, + {0x0118FF, 0x011906}, + {0x011909, 0x011909}, + {0x01190C, 0x011913}, + {0x011915, 0x011916}, + {0x011918, 0x01192F}, + {0x011931, 0x011935}, + {0x011937, 0x011938}, + {0x01193D, 0x01193D}, + {0x01193F, 0x011942}, + {0x011944, 0x011946}, + {0x011950, 0x011959}, + {0x0119A0, 0x0119A7}, + {0x0119AA, 0x0119D3}, + {0x0119DC, 0x0119DF}, + {0x0119E1, 0x0119E4}, + {0x011A00, 0x011A00}, + {0x011A0B, 0x011A32}, + {0x011A39, 0x011A3A}, + {0x011A3F, 0x011A46}, + {0x011A50, 0x011A50}, + {0x011A57, 0x011A58}, + {0x011A5C, 0x011A89}, + {0x011A97, 0x011A97}, + {0x011A9A, 0x011AA2}, + {0x011AB0, 0x011AF8}, + {0x011B00, 0x011B09}, + {0x011C00, 0x011C08}, + {0x011C0A, 0x011C2F}, + {0x011C3E, 0x011C3E}, + {0x011C40, 0x011C45}, + {0x011C50, 0x011C6C}, + {0x011C70, 0x011C8F}, + {0x011CA9, 0x011CA9}, + {0x011CB1, 0x011CB1}, + {0x011CB4, 0x011CB4}, + {0x011D00, 0x011D06}, + {0x011D08, 0x011D09}, + {0x011D0B, 0x011D30}, + {0x011D46, 0x011D46}, + {0x011D50, 0x011D59}, + {0x011D60, 0x011D65}, + {0x011D67, 0x011D68}, + {0x011D6A, 0x011D8E}, + {0x011D93, 0x011D94}, + {0x011D96, 0x011D96}, + {0x011D98, 0x011D98}, + {0x011DA0, 0x011DA9}, + {0x011EE0, 0x011EF2}, + {0x011EF5, 0x011EF8}, + {0x011F02, 0x011F10}, + {0x011F12, 0x011F35}, + {0x011F3E, 0x011F3F}, + {0x011F41, 0x011F41}, + {0x011F43, 0x011F59}, + {0x011FB0, 0x011FB0}, + {0x011FC0, 0x011FF1}, + {0x011FFF, 0x012399}, + {0x012400, 0x01246E}, + {0x012470, 0x012474}, + {0x012480, 0x012543}, + {0x012F90, 0x012FF2}, + {0x013000, 0x01342F}, + {0x013441, 0x013446}, + {0x014400, 0x014646}, + {0x016800, 0x016A38}, + {0x016A40, 0x016A5E}, + {0x016A60, 0x016A69}, + {0x016A6E, 0x016ABE}, + {0x016AC0, 0x016AC9}, + {0x016AD0, 0x016AED}, + {0x016AF5, 0x016AF5}, + {0x016B00, 0x016B2F}, + {0x016B37, 0x016B45}, + {0x016B50, 0x016B59}, + {0x016B5B, 0x016B61}, + {0x016B63, 0x016B77}, + {0x016B7D, 0x016B8F}, + {0x016E40, 0x016E9A}, + {0x016F00, 0x016F4A}, + {0x016F50, 0x016F87}, + {0x016F93, 0x016F9F}, + {0x016FE0, 0x016FE3}, + {0x016FF0, 0x016FF1}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01B000, 0x01B122}, + {0x01B132, 0x01B132}, + {0x01B150, 0x01B152}, + {0x01B155, 0x01B155}, + {0x01B164, 0x01B167}, + {0x01B170, 0x01B2FB}, + {0x01BC00, 0x01BC6A}, + {0x01BC70, 0x01BC7C}, + {0x01BC80, 0x01BC88}, + {0x01BC90, 0x01BC99}, + {0x01BC9C, 0x01BC9C}, + {0x01BC9F, 0x01BC9F}, + {0x01CF50, 0x01CFC3}, + {0x01D000, 0x01D0F5}, + {0x01D100, 0x01D126}, + {0x01D129, 0x01D164}, + {0x01D166, 0x01D166}, + {0x01D16A, 0x01D16D}, + {0x01D183, 0x01D184}, + {0x01D18C, 0x01D1A9}, + {0x01D1AE, 0x01D1EA}, + {0x01D200, 0x01D241}, + {0x01D245, 0x01D245}, + {0x01D2C0, 0x01D2D3}, + {0x01D2E0, 0x01D2F3}, + {0x01D300, 0x01D356}, + {0x01D360, 0x01D378}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D7CB}, + {0x01D7CE, 0x01D9FF}, + {0x01DA37, 0x01DA3A}, + {0x01DA6D, 0x01DA74}, + {0x01DA76, 0x01DA83}, + {0x01DA85, 0x01DA8B}, + {0x01DF00, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E030, 0x01E06D}, + {0x01E100, 0x01E12C}, + {0x01E137, 0x01E13D}, + {0x01E140, 0x01E149}, + {0x01E14E, 0x01E14F}, + {0x01E290, 0x01E2AD}, + {0x01E2C0, 0x01E2EB}, + {0x01E2F0, 0x01E2F9}, + {0x01E2FF, 0x01E2FF}, + {0x01E4D0, 0x01E4EB}, + {0x01E4F0, 0x01E4F9}, + {0x01E7E0, 0x01E7E6}, + {0x01E7E8, 0x01E7EB}, + {0x01E7ED, 0x01E7EE}, + {0x01E7F0, 0x01E7FE}, + {0x01E800, 0x01E8C4}, + {0x01E8C7, 0x01E8CF}, + {0x01E900, 0x01E943}, + {0x01E94B, 0x01E94B}, + {0x01E950, 0x01E959}, + {0x01E95E, 0x01E95F}, + {0x01EC71, 0x01ECB4}, + {0x01ED01, 0x01ED3D}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x01EEF0, 0x01EEF1}, + {0x01F000, 0x01F02B}, + {0x01F030, 0x01F093}, + {0x01F0A0, 0x01F0AE}, + {0x01F0B1, 0x01F0BF}, + {0x01F0C1, 0x01F0CF}, + {0x01F0D1, 0x01F0F5}, + {0x01F100, 0x01F1AD}, + {0x01F1E6, 0x01F202}, + {0x01F210, 0x01F23B}, + {0x01F240, 0x01F248}, + {0x01F250, 0x01F251}, + {0x01F260, 0x01F265}, + {0x01F300, 0x01F6D7}, + {0x01F6DC, 0x01F6EC}, + {0x01F6F0, 0x01F6FC}, + {0x01F700, 0x01F776}, + {0x01F77B, 0x01F7D9}, + {0x01F7E0, 0x01F7EB}, + {0x01F7F0, 0x01F7F0}, + {0x01F800, 0x01F80B}, + {0x01F810, 0x01F847}, + {0x01F850, 0x01F859}, + {0x01F860, 0x01F887}, + {0x01F890, 0x01F8AD}, + {0x01F8B0, 0x01F8B1}, + {0x01F900, 0x01FA53}, + {0x01FA60, 0x01FA6D}, + {0x01FA70, 0x01FA7C}, + {0x01FA80, 0x01FA88}, + {0x01FA90, 0x01FABD}, + {0x01FABF, 0x01FAC5}, + {0x01FACE, 0x01FADB}, + {0x01FAE0, 0x01FAE8}, + {0x01FAF0, 0x01FAF8}, + {0x01FB00, 0x01FB92}, + {0x01FB94, 0x01FBCA}, + {0x01FBF0, 0x01FBF9}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_grapheme_base(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_grapheme_extend.c b/vendor/librune/lib/rtype/rune_has_prop_grapheme_extend.c new file mode 100644 index 0000000..041c74b --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_grapheme_extend.c @@ -0,0 +1,393 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000300, 0x00036F}, + {0x000483, 0x000489}, + {0x000591, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C5}, + {0x0005C7, 0x0005C7}, + {0x000610, 0x00061A}, + {0x00064B, 0x00065F}, + {0x000670, 0x000670}, + {0x0006D6, 0x0006DC}, + {0x0006DF, 0x0006E4}, + {0x0006E7, 0x0006E8}, + {0x0006EA, 0x0006ED}, + {0x000711, 0x000711}, + {0x000730, 0x00074A}, + {0x0007A6, 0x0007B0}, + {0x0007EB, 0x0007F3}, + {0x0007FD, 0x0007FD}, + {0x000816, 0x000819}, + {0x00081B, 0x000823}, + {0x000825, 0x000827}, + {0x000829, 0x00082D}, + {0x000859, 0x00085B}, + {0x000898, 0x00089F}, + {0x0008CA, 0x0008E1}, + {0x0008E3, 0x000902}, + {0x00093A, 0x00093A}, + {0x00093C, 0x00093C}, + {0x000941, 0x000948}, + {0x00094D, 0x00094D}, + {0x000951, 0x000957}, + {0x000962, 0x000963}, + {0x000981, 0x000981}, + {0x0009BC, 0x0009BC}, + {0x0009BE, 0x0009BE}, + {0x0009C1, 0x0009C4}, + {0x0009CD, 0x0009CD}, + {0x0009D7, 0x0009D7}, + {0x0009E2, 0x0009E3}, + {0x0009FE, 0x0009FE}, + {0x000A01, 0x000A02}, + {0x000A3C, 0x000A3C}, + {0x000A41, 0x000A42}, + {0x000A47, 0x000A48}, + {0x000A4B, 0x000A4D}, + {0x000A51, 0x000A51}, + {0x000A70, 0x000A71}, + {0x000A75, 0x000A75}, + {0x000A81, 0x000A82}, + {0x000ABC, 0x000ABC}, + {0x000AC1, 0x000AC5}, + {0x000AC7, 0x000AC8}, + {0x000ACD, 0x000ACD}, + {0x000AE2, 0x000AE3}, + {0x000AFA, 0x000AFF}, + {0x000B01, 0x000B01}, + {0x000B3C, 0x000B3C}, + {0x000B3E, 0x000B3F}, + {0x000B41, 0x000B44}, + {0x000B4D, 0x000B4D}, + {0x000B55, 0x000B57}, + {0x000B62, 0x000B63}, + {0x000B82, 0x000B82}, + {0x000BBE, 0x000BBE}, + {0x000BC0, 0x000BC0}, + {0x000BCD, 0x000BCD}, + {0x000BD7, 0x000BD7}, + {0x000C00, 0x000C00}, + {0x000C04, 0x000C04}, + {0x000C3C, 0x000C3C}, + {0x000C3E, 0x000C40}, + {0x000C46, 0x000C48}, + {0x000C4A, 0x000C4D}, + {0x000C55, 0x000C56}, + {0x000C62, 0x000C63}, + {0x000C81, 0x000C81}, + {0x000CBC, 0x000CBC}, + {0x000CBF, 0x000CBF}, + {0x000CC2, 0x000CC2}, + {0x000CC6, 0x000CC6}, + {0x000CCC, 0x000CCD}, + {0x000CD5, 0x000CD6}, + {0x000CE2, 0x000CE3}, + {0x000D00, 0x000D01}, + {0x000D3B, 0x000D3C}, + {0x000D3E, 0x000D3E}, + {0x000D41, 0x000D44}, + {0x000D4D, 0x000D4D}, + {0x000D57, 0x000D57}, + {0x000D62, 0x000D63}, + {0x000D81, 0x000D81}, + {0x000DCA, 0x000DCA}, + {0x000DCF, 0x000DCF}, + {0x000DD2, 0x000DD4}, + {0x000DD6, 0x000DD6}, + {0x000DDF, 0x000DDF}, + {0x000E31, 0x000E31}, + {0x000E34, 0x000E3A}, + {0x000E47, 0x000E4E}, + {0x000EB1, 0x000EB1}, + {0x000EB4, 0x000EBC}, + {0x000EC8, 0x000ECE}, + {0x000F18, 0x000F19}, + {0x000F35, 0x000F35}, + {0x000F37, 0x000F37}, + {0x000F39, 0x000F39}, + {0x000F71, 0x000F7E}, + {0x000F80, 0x000F84}, + {0x000F86, 0x000F87}, + {0x000F8D, 0x000F97}, + {0x000F99, 0x000FBC}, + {0x000FC6, 0x000FC6}, + {0x00102D, 0x001030}, + {0x001032, 0x001037}, + {0x001039, 0x00103A}, + {0x00103D, 0x00103E}, + {0x001058, 0x001059}, + {0x00105E, 0x001060}, + {0x001071, 0x001074}, + {0x001082, 0x001082}, + {0x001085, 0x001086}, + {0x00108D, 0x00108D}, + {0x00109D, 0x00109D}, + {0x00135D, 0x00135F}, + {0x001712, 0x001714}, + {0x001732, 0x001733}, + {0x001752, 0x001753}, + {0x001772, 0x001773}, + {0x0017B4, 0x0017B5}, + {0x0017B7, 0x0017BD}, + {0x0017C6, 0x0017C6}, + {0x0017C9, 0x0017D3}, + {0x0017DD, 0x0017DD}, + {0x00180B, 0x00180D}, + {0x00180F, 0x00180F}, + {0x001885, 0x001886}, + {0x0018A9, 0x0018A9}, + {0x001920, 0x001922}, + {0x001927, 0x001928}, + {0x001932, 0x001932}, + {0x001939, 0x00193B}, + {0x001A17, 0x001A18}, + {0x001A1B, 0x001A1B}, + {0x001A56, 0x001A56}, + {0x001A58, 0x001A5E}, + {0x001A60, 0x001A60}, + {0x001A62, 0x001A62}, + {0x001A65, 0x001A6C}, + {0x001A73, 0x001A7C}, + {0x001A7F, 0x001A7F}, + {0x001AB0, 0x001ACE}, + {0x001B00, 0x001B03}, + {0x001B34, 0x001B3A}, + {0x001B3C, 0x001B3C}, + {0x001B42, 0x001B42}, + {0x001B6B, 0x001B73}, + {0x001B80, 0x001B81}, + {0x001BA2, 0x001BA5}, + {0x001BA8, 0x001BA9}, + {0x001BAB, 0x001BAD}, + {0x001BE6, 0x001BE6}, + {0x001BE8, 0x001BE9}, + {0x001BED, 0x001BED}, + {0x001BEF, 0x001BF1}, + {0x001C2C, 0x001C33}, + {0x001C36, 0x001C37}, + {0x001CD0, 0x001CD2}, + {0x001CD4, 0x001CE0}, + {0x001CE2, 0x001CE8}, + {0x001CED, 0x001CED}, + {0x001CF4, 0x001CF4}, + {0x001CF8, 0x001CF9}, + {0x001DC0, 0x001DFF}, + {0x00200C, 0x00200C}, + {0x0020D0, 0x0020F0}, + {0x002CEF, 0x002CF1}, + {0x002D7F, 0x002D7F}, + {0x002DE0, 0x002DFF}, + {0x00302A, 0x00302F}, + {0x003099, 0x00309A}, + {0x00A66F, 0x00A672}, + {0x00A674, 0x00A67D}, + {0x00A69E, 0x00A69F}, + {0x00A6F0, 0x00A6F1}, + {0x00A802, 0x00A802}, + {0x00A806, 0x00A806}, + {0x00A80B, 0x00A80B}, + {0x00A825, 0x00A826}, + {0x00A82C, 0x00A82C}, + {0x00A8C4, 0x00A8C5}, + {0x00A8E0, 0x00A8F1}, + {0x00A8FF, 0x00A8FF}, + {0x00A926, 0x00A92D}, + {0x00A947, 0x00A951}, + {0x00A980, 0x00A982}, + {0x00A9B3, 0x00A9B3}, + {0x00A9B6, 0x00A9B9}, + {0x00A9BC, 0x00A9BD}, + {0x00A9E5, 0x00A9E5}, + {0x00AA29, 0x00AA2E}, + {0x00AA31, 0x00AA32}, + {0x00AA35, 0x00AA36}, + {0x00AA43, 0x00AA43}, + {0x00AA4C, 0x00AA4C}, + {0x00AA7C, 0x00AA7C}, + {0x00AAB0, 0x00AAB0}, + {0x00AAB2, 0x00AAB4}, + {0x00AAB7, 0x00AAB8}, + {0x00AABE, 0x00AABF}, + {0x00AAC1, 0x00AAC1}, + {0x00AAEC, 0x00AAED}, + {0x00AAF6, 0x00AAF6}, + {0x00ABE5, 0x00ABE5}, + {0x00ABE8, 0x00ABE8}, + {0x00ABED, 0x00ABED}, + {0x00FB1E, 0x00FB1E}, + {0x00FE00, 0x00FE0F}, + {0x00FE20, 0x00FE2F}, + {0x00FF9E, 0x00FF9F}, + {0x0101FD, 0x0101FD}, + {0x0102E0, 0x0102E0}, + {0x010376, 0x01037A}, + {0x010A01, 0x010A03}, + {0x010A05, 0x010A06}, + {0x010A0C, 0x010A0F}, + {0x010A38, 0x010A3A}, + {0x010A3F, 0x010A3F}, + {0x010AE5, 0x010AE6}, + {0x010D24, 0x010D27}, + {0x010EAB, 0x010EAC}, + {0x010EFD, 0x010EFF}, + {0x010F46, 0x010F50}, + {0x010F82, 0x010F85}, + {0x011001, 0x011001}, + {0x011038, 0x011046}, + {0x011070, 0x011070}, + {0x011073, 0x011074}, + {0x01107F, 0x011081}, + {0x0110B3, 0x0110B6}, + {0x0110B9, 0x0110BA}, + {0x0110C2, 0x0110C2}, + {0x011100, 0x011102}, + {0x011127, 0x01112B}, + {0x01112D, 0x011134}, + {0x011173, 0x011173}, + {0x011180, 0x011181}, + {0x0111B6, 0x0111BE}, + {0x0111C9, 0x0111CC}, + {0x0111CF, 0x0111CF}, + {0x01122F, 0x011231}, + {0x011234, 0x011234}, + {0x011236, 0x011237}, + {0x01123E, 0x01123E}, + {0x011241, 0x011241}, + {0x0112DF, 0x0112DF}, + {0x0112E3, 0x0112EA}, + {0x011300, 0x011301}, + {0x01133B, 0x01133C}, + {0x01133E, 0x01133E}, + {0x011340, 0x011340}, + {0x011357, 0x011357}, + {0x011366, 0x01136C}, + {0x011370, 0x011374}, + {0x011438, 0x01143F}, + {0x011442, 0x011444}, + {0x011446, 0x011446}, + {0x01145E, 0x01145E}, + {0x0114B0, 0x0114B0}, + {0x0114B3, 0x0114B8}, + {0x0114BA, 0x0114BA}, + {0x0114BD, 0x0114BD}, + {0x0114BF, 0x0114C0}, + {0x0114C2, 0x0114C3}, + {0x0115AF, 0x0115AF}, + {0x0115B2, 0x0115B5}, + {0x0115BC, 0x0115BD}, + {0x0115BF, 0x0115C0}, + {0x0115DC, 0x0115DD}, + {0x011633, 0x01163A}, + {0x01163D, 0x01163D}, + {0x01163F, 0x011640}, + {0x0116AB, 0x0116AB}, + {0x0116AD, 0x0116AD}, + {0x0116B0, 0x0116B5}, + {0x0116B7, 0x0116B7}, + {0x01171D, 0x01171F}, + {0x011722, 0x011725}, + {0x011727, 0x01172B}, + {0x01182F, 0x011837}, + {0x011839, 0x01183A}, + {0x011930, 0x011930}, + {0x01193B, 0x01193C}, + {0x01193E, 0x01193E}, + {0x011943, 0x011943}, + {0x0119D4, 0x0119D7}, + {0x0119DA, 0x0119DB}, + {0x0119E0, 0x0119E0}, + {0x011A01, 0x011A0A}, + {0x011A33, 0x011A38}, + {0x011A3B, 0x011A3E}, + {0x011A47, 0x011A47}, + {0x011A51, 0x011A56}, + {0x011A59, 0x011A5B}, + {0x011A8A, 0x011A96}, + {0x011A98, 0x011A99}, + {0x011C30, 0x011C36}, + {0x011C38, 0x011C3D}, + {0x011C3F, 0x011C3F}, + {0x011C92, 0x011CA7}, + {0x011CAA, 0x011CB0}, + {0x011CB2, 0x011CB3}, + {0x011CB5, 0x011CB6}, + {0x011D31, 0x011D36}, + {0x011D3A, 0x011D3A}, + {0x011D3C, 0x011D3D}, + {0x011D3F, 0x011D45}, + {0x011D47, 0x011D47}, + {0x011D90, 0x011D91}, + {0x011D95, 0x011D95}, + {0x011D97, 0x011D97}, + {0x011EF3, 0x011EF4}, + {0x011F00, 0x011F01}, + {0x011F36, 0x011F3A}, + {0x011F40, 0x011F40}, + {0x011F42, 0x011F42}, + {0x013440, 0x013440}, + {0x013447, 0x013455}, + {0x016AF0, 0x016AF4}, + {0x016B30, 0x016B36}, + {0x016F4F, 0x016F4F}, + {0x016F8F, 0x016F92}, + {0x016FE4, 0x016FE4}, + {0x01BC9D, 0x01BC9E}, + {0x01CF00, 0x01CF2D}, + {0x01CF30, 0x01CF46}, + {0x01D165, 0x01D165}, + {0x01D167, 0x01D169}, + {0x01D16E, 0x01D172}, + {0x01D17B, 0x01D182}, + {0x01D185, 0x01D18B}, + {0x01D1AA, 0x01D1AD}, + {0x01D242, 0x01D244}, + {0x01DA00, 0x01DA36}, + {0x01DA3B, 0x01DA6C}, + {0x01DA75, 0x01DA75}, + {0x01DA84, 0x01DA84}, + {0x01DA9B, 0x01DA9F}, + {0x01DAA1, 0x01DAAF}, + {0x01E000, 0x01E006}, + {0x01E008, 0x01E018}, + {0x01E01B, 0x01E021}, + {0x01E023, 0x01E024}, + {0x01E026, 0x01E02A}, + {0x01E08F, 0x01E08F}, + {0x01E130, 0x01E136}, + {0x01E2AE, 0x01E2AE}, + {0x01E2EC, 0x01E2EF}, + {0x01E4EC, 0x01E4EF}, + {0x01E8D0, 0x01E8D6}, + {0x01E944, 0x01E94A}, + {0x0E0020, 0x0E007F}, + {0x0E0100, 0x0E01EF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_grapheme_extend(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_hex_digit.c b/vendor/librune/lib/rtype/rune_has_prop_hex_digit.c new file mode 100644 index 0000000..471f6c3 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_hex_digit.c @@ -0,0 +1,36 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x7E0000007E03FF000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000030, 0x000039}, + {0x000041, 0x000046}, + {0x000061, 0x000066}, + {0x00FF10, 0x00FF19}, + {0x00FF21, 0x00FF26}, + {0x00FF41, 0x00FF46}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_hex_digit(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_id_compat_math_continue.c b/vendor/librune/lib/rtype/rune_has_prop_id_compat_math_continue.c new file mode 100644 index 0000000..eb842bd --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_id_compat_math_continue.c @@ -0,0 +1,48 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x20C00000000000000000000000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x0000B2, 0x0000B3}, + {0x0000B9, 0x0000B9}, + {0x002070, 0x002070}, + {0x002074, 0x00207E}, + {0x002080, 0x00208E}, + {0x002202, 0x002202}, + {0x002207, 0x002207}, + {0x00221E, 0x00221E}, + {0x01D6C1, 0x01D6C1}, + {0x01D6DB, 0x01D6DB}, + {0x01D6FB, 0x01D6FB}, + {0x01D715, 0x01D715}, + {0x01D735, 0x01D735}, + {0x01D74F, 0x01D74F}, + {0x01D76F, 0x01D76F}, + {0x01D789, 0x01D789}, + {0x01D7A9, 0x01D7A9}, + {0x01D7C3, 0x01D7C3}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_id_compat_math_continue(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_id_compat_math_start.c b/vendor/librune/lib/rtype/rune_has_prop_id_compat_math_start.c new file mode 100644 index 0000000..ee09cba --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_id_compat_math_start.c @@ -0,0 +1,43 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x002202, 0x002202}, + {0x002207, 0x002207}, + {0x00221E, 0x00221E}, + {0x01D6C1, 0x01D6C1}, + {0x01D6DB, 0x01D6DB}, + {0x01D6FB, 0x01D6FB}, + {0x01D715, 0x01D715}, + {0x01D735, 0x01D735}, + {0x01D74F, 0x01D74F}, + {0x01D76F, 0x01D76F}, + {0x01D789, 0x01D789}, + {0x01D7A9, 0x01D7A9}, + {0x01D7C3, 0x01D7C3}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_id_compat_math_start(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_id_continue.c b/vendor/librune/lib/rtype/rune_has_prop_id_continue.c new file mode 100644 index 0000000..2bbf130 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_id_continue.c @@ -0,0 +1,799 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF04A004000000000007FFFFFE87FFFFFE03FF000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000030, 0x000039}, + {0x000041, 0x00005A}, + {0x00005F, 0x00005F}, + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000B7, 0x0000B7}, + {0x0000BA, 0x0000BA}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x0002C1}, + {0x0002C6, 0x0002D1}, + {0x0002E0, 0x0002E4}, + {0x0002EC, 0x0002EC}, + {0x0002EE, 0x0002EE}, + {0x000300, 0x000374}, + {0x000376, 0x000377}, + {0x00037A, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003F5}, + {0x0003F7, 0x000481}, + {0x000483, 0x000487}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000559, 0x000559}, + {0x000560, 0x000588}, + {0x000591, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C5}, + {0x0005C7, 0x0005C7}, + {0x0005D0, 0x0005EA}, + {0x0005EF, 0x0005F2}, + {0x000610, 0x00061A}, + {0x000620, 0x000669}, + {0x00066E, 0x0006D3}, + {0x0006D5, 0x0006DC}, + {0x0006DF, 0x0006E8}, + {0x0006EA, 0x0006FC}, + {0x0006FF, 0x0006FF}, + {0x000710, 0x00074A}, + {0x00074D, 0x0007B1}, + {0x0007C0, 0x0007F5}, + {0x0007FA, 0x0007FA}, + {0x0007FD, 0x0007FD}, + {0x000800, 0x00082D}, + {0x000840, 0x00085B}, + {0x000860, 0x00086A}, + {0x000870, 0x000887}, + {0x000889, 0x00088E}, + {0x000898, 0x0008E1}, + {0x0008E3, 0x000963}, + {0x000966, 0x00096F}, + {0x000971, 0x000983}, + {0x000985, 0x00098C}, + {0x00098F, 0x000990}, + {0x000993, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BC, 0x0009C4}, + {0x0009C7, 0x0009C8}, + {0x0009CB, 0x0009CE}, + {0x0009D7, 0x0009D7}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009E3}, + {0x0009E6, 0x0009F1}, + {0x0009FC, 0x0009FC}, + {0x0009FE, 0x0009FE}, + {0x000A01, 0x000A03}, + {0x000A05, 0x000A0A}, + {0x000A0F, 0x000A10}, + {0x000A13, 0x000A28}, + {0x000A2A, 0x000A30}, + {0x000A32, 0x000A33}, + {0x000A35, 0x000A36}, + {0x000A38, 0x000A39}, + {0x000A3C, 0x000A3C}, + {0x000A3E, 0x000A42}, + {0x000A47, 0x000A48}, + {0x000A4B, 0x000A4D}, + {0x000A51, 0x000A51}, + {0x000A59, 0x000A5C}, + {0x000A5E, 0x000A5E}, + {0x000A66, 0x000A75}, + {0x000A81, 0x000A83}, + {0x000A85, 0x000A8D}, + {0x000A8F, 0x000A91}, + {0x000A93, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABC, 0x000AC5}, + {0x000AC7, 0x000AC9}, + {0x000ACB, 0x000ACD}, + {0x000AD0, 0x000AD0}, + {0x000AE0, 0x000AE3}, + {0x000AE6, 0x000AEF}, + {0x000AF9, 0x000AFF}, + {0x000B01, 0x000B03}, + {0x000B05, 0x000B0C}, + {0x000B0F, 0x000B10}, + {0x000B13, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3C, 0x000B44}, + {0x000B47, 0x000B48}, + {0x000B4B, 0x000B4D}, + {0x000B55, 0x000B57}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B63}, + {0x000B66, 0x000B6F}, + {0x000B71, 0x000B71}, + {0x000B82, 0x000B83}, + {0x000B85, 0x000B8A}, + {0x000B8E, 0x000B90}, + {0x000B92, 0x000B95}, + {0x000B99, 0x000B9A}, + {0x000B9C, 0x000B9C}, + {0x000B9E, 0x000B9F}, + {0x000BA3, 0x000BA4}, + {0x000BA8, 0x000BAA}, + {0x000BAE, 0x000BB9}, + {0x000BBE, 0x000BC2}, + {0x000BC6, 0x000BC8}, + {0x000BCA, 0x000BCD}, + {0x000BD0, 0x000BD0}, + {0x000BD7, 0x000BD7}, + {0x000BE6, 0x000BEF}, + {0x000C00, 0x000C0C}, + {0x000C0E, 0x000C10}, + {0x000C12, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3C, 0x000C44}, + {0x000C46, 0x000C48}, + {0x000C4A, 0x000C4D}, + {0x000C55, 0x000C56}, + {0x000C58, 0x000C5A}, + {0x000C5D, 0x000C5D}, + {0x000C60, 0x000C63}, + {0x000C66, 0x000C6F}, + {0x000C80, 0x000C83}, + {0x000C85, 0x000C8C}, + {0x000C8E, 0x000C90}, + {0x000C92, 0x000CA8}, + {0x000CAA, 0x000CB3}, + {0x000CB5, 0x000CB9}, + {0x000CBC, 0x000CC4}, + {0x000CC6, 0x000CC8}, + {0x000CCA, 0x000CCD}, + {0x000CD5, 0x000CD6}, + {0x000CDD, 0x000CDE}, + {0x000CE0, 0x000CE3}, + {0x000CE6, 0x000CEF}, + {0x000CF1, 0x000CF3}, + {0x000D00, 0x000D0C}, + {0x000D0E, 0x000D10}, + {0x000D12, 0x000D44}, + {0x000D46, 0x000D48}, + {0x000D4A, 0x000D4E}, + {0x000D54, 0x000D57}, + {0x000D5F, 0x000D63}, + {0x000D66, 0x000D6F}, + {0x000D7A, 0x000D7F}, + {0x000D81, 0x000D83}, + {0x000D85, 0x000D96}, + {0x000D9A, 0x000DB1}, + {0x000DB3, 0x000DBB}, + {0x000DBD, 0x000DBD}, + {0x000DC0, 0x000DC6}, + {0x000DCA, 0x000DCA}, + {0x000DCF, 0x000DD4}, + {0x000DD6, 0x000DD6}, + {0x000DD8, 0x000DDF}, + {0x000DE6, 0x000DEF}, + {0x000DF2, 0x000DF3}, + {0x000E01, 0x000E3A}, + {0x000E40, 0x000E4E}, + {0x000E50, 0x000E59}, + {0x000E81, 0x000E82}, + {0x000E84, 0x000E84}, + {0x000E86, 0x000E8A}, + {0x000E8C, 0x000EA3}, + {0x000EA5, 0x000EA5}, + {0x000EA7, 0x000EBD}, + {0x000EC0, 0x000EC4}, + {0x000EC6, 0x000EC6}, + {0x000EC8, 0x000ECE}, + {0x000ED0, 0x000ED9}, + {0x000EDC, 0x000EDF}, + {0x000F00, 0x000F00}, + {0x000F18, 0x000F19}, + {0x000F20, 0x000F29}, + {0x000F35, 0x000F35}, + {0x000F37, 0x000F37}, + {0x000F39, 0x000F39}, + {0x000F3E, 0x000F47}, + {0x000F49, 0x000F6C}, + {0x000F71, 0x000F84}, + {0x000F86, 0x000F97}, + {0x000F99, 0x000FBC}, + {0x000FC6, 0x000FC6}, + {0x001000, 0x001049}, + {0x001050, 0x00109D}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x001248}, + {0x00124A, 0x00124D}, + {0x001250, 0x001256}, + {0x001258, 0x001258}, + {0x00125A, 0x00125D}, + {0x001260, 0x001288}, + {0x00128A, 0x00128D}, + {0x001290, 0x0012B0}, + {0x0012B2, 0x0012B5}, + {0x0012B8, 0x0012BE}, + {0x0012C0, 0x0012C0}, + {0x0012C2, 0x0012C5}, + {0x0012C8, 0x0012D6}, + {0x0012D8, 0x001310}, + {0x001312, 0x001315}, + {0x001318, 0x00135A}, + {0x00135D, 0x00135F}, + {0x001369, 0x001371}, + {0x001380, 0x00138F}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001401, 0x00166C}, + {0x00166F, 0x00167F}, + {0x001681, 0x00169A}, + {0x0016A0, 0x0016EA}, + {0x0016EE, 0x0016F8}, + {0x001700, 0x001715}, + {0x00171F, 0x001734}, + {0x001740, 0x001753}, + {0x001760, 0x00176C}, + {0x00176E, 0x001770}, + {0x001772, 0x001773}, + {0x001780, 0x0017D3}, + {0x0017D7, 0x0017D7}, + {0x0017DC, 0x0017DD}, + {0x0017E0, 0x0017E9}, + {0x00180B, 0x00180D}, + {0x00180F, 0x001819}, + {0x001820, 0x001878}, + {0x001880, 0x0018AA}, + {0x0018B0, 0x0018F5}, + {0x001900, 0x00191E}, + {0x001920, 0x00192B}, + {0x001930, 0x00193B}, + {0x001946, 0x00196D}, + {0x001970, 0x001974}, + {0x001980, 0x0019AB}, + {0x0019B0, 0x0019C9}, + {0x0019D0, 0x0019DA}, + {0x001A00, 0x001A1B}, + {0x001A20, 0x001A5E}, + {0x001A60, 0x001A7C}, + {0x001A7F, 0x001A89}, + {0x001A90, 0x001A99}, + {0x001AA7, 0x001AA7}, + {0x001AB0, 0x001ABD}, + {0x001ABF, 0x001ACE}, + {0x001B00, 0x001B4C}, + {0x001B50, 0x001B59}, + {0x001B6B, 0x001B73}, + {0x001B80, 0x001BF3}, + {0x001C00, 0x001C37}, + {0x001C40, 0x001C49}, + {0x001C4D, 0x001C7D}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001CD0, 0x001CD2}, + {0x001CD4, 0x001CFA}, + {0x001D00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x00200C, 0x00200D}, + {0x00203F, 0x002040}, + {0x002054, 0x002054}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x0020D0, 0x0020DC}, + {0x0020E1, 0x0020E1}, + {0x0020E5, 0x0020F0}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002118, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x002139}, + {0x00213C, 0x00213F}, + {0x002145, 0x002149}, + {0x00214E, 0x00214E}, + {0x002160, 0x002188}, + {0x002C00, 0x002CE4}, + {0x002CEB, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x002D30, 0x002D67}, + {0x002D6F, 0x002D6F}, + {0x002D7F, 0x002D96}, + {0x002DA0, 0x002DA6}, + {0x002DA8, 0x002DAE}, + {0x002DB0, 0x002DB6}, + {0x002DB8, 0x002DBE}, + {0x002DC0, 0x002DC6}, + {0x002DC8, 0x002DCE}, + {0x002DD0, 0x002DD6}, + {0x002DD8, 0x002DDE}, + {0x002DE0, 0x002DFF}, + {0x003005, 0x003007}, + {0x003021, 0x00302F}, + {0x003031, 0x003035}, + {0x003038, 0x00303C}, + {0x003041, 0x003096}, + {0x003099, 0x00309F}, + {0x0030A1, 0x0030FF}, + {0x003105, 0x00312F}, + {0x003131, 0x00318E}, + {0x0031A0, 0x0031BF}, + {0x0031F0, 0x0031FF}, + {0x003400, 0x004DBF}, + {0x004E00, 0x00A48C}, + {0x00A4D0, 0x00A4FD}, + {0x00A500, 0x00A60C}, + {0x00A610, 0x00A62B}, + {0x00A640, 0x00A66F}, + {0x00A674, 0x00A67D}, + {0x00A67F, 0x00A6F1}, + {0x00A717, 0x00A71F}, + {0x00A722, 0x00A788}, + {0x00A78B, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A827}, + {0x00A82C, 0x00A82C}, + {0x00A840, 0x00A873}, + {0x00A880, 0x00A8C5}, + {0x00A8D0, 0x00A8D9}, + {0x00A8E0, 0x00A8F7}, + {0x00A8FB, 0x00A8FB}, + {0x00A8FD, 0x00A92D}, + {0x00A930, 0x00A953}, + {0x00A960, 0x00A97C}, + {0x00A980, 0x00A9C0}, + {0x00A9CF, 0x00A9D9}, + {0x00A9E0, 0x00A9FE}, + {0x00AA00, 0x00AA36}, + {0x00AA40, 0x00AA4D}, + {0x00AA50, 0x00AA59}, + {0x00AA60, 0x00AA76}, + {0x00AA7A, 0x00AAC2}, + {0x00AADB, 0x00AADD}, + {0x00AAE0, 0x00AAEF}, + {0x00AAF2, 0x00AAF6}, + {0x00AB01, 0x00AB06}, + {0x00AB09, 0x00AB0E}, + {0x00AB11, 0x00AB16}, + {0x00AB20, 0x00AB26}, + {0x00AB28, 0x00AB2E}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABEA}, + {0x00ABEC, 0x00ABED}, + {0x00ABF0, 0x00ABF9}, + {0x00AC00, 0x00D7A3}, + {0x00D7B0, 0x00D7C6}, + {0x00D7CB, 0x00D7FB}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FB1D, 0x00FB28}, + {0x00FB2A, 0x00FB36}, + {0x00FB38, 0x00FB3C}, + {0x00FB3E, 0x00FB3E}, + {0x00FB40, 0x00FB41}, + {0x00FB43, 0x00FB44}, + {0x00FB46, 0x00FBB1}, + {0x00FBD3, 0x00FD3D}, + {0x00FD50, 0x00FD8F}, + {0x00FD92, 0x00FDC7}, + {0x00FDF0, 0x00FDFB}, + {0x00FE00, 0x00FE0F}, + {0x00FE20, 0x00FE2F}, + {0x00FE33, 0x00FE34}, + {0x00FE4D, 0x00FE4F}, + {0x00FE70, 0x00FE74}, + {0x00FE76, 0x00FEFC}, + {0x00FF10, 0x00FF19}, + {0x00FF21, 0x00FF3A}, + {0x00FF3F, 0x00FF3F}, + {0x00FF41, 0x00FF5A}, + {0x00FF65, 0x00FFBE}, + {0x00FFC2, 0x00FFC7}, + {0x00FFCA, 0x00FFCF}, + {0x00FFD2, 0x00FFD7}, + {0x00FFDA, 0x00FFDC}, + {0x010000, 0x01000B}, + {0x01000D, 0x010026}, + {0x010028, 0x01003A}, + {0x01003C, 0x01003D}, + {0x01003F, 0x01004D}, + {0x010050, 0x01005D}, + {0x010080, 0x0100FA}, + {0x010140, 0x010174}, + {0x0101FD, 0x0101FD}, + {0x010280, 0x01029C}, + {0x0102A0, 0x0102D0}, + {0x0102E0, 0x0102E0}, + {0x010300, 0x01031F}, + {0x01032D, 0x01034A}, + {0x010350, 0x01037A}, + {0x010380, 0x01039D}, + {0x0103A0, 0x0103C3}, + {0x0103C8, 0x0103CF}, + {0x0103D1, 0x0103D5}, + {0x010400, 0x01049D}, + {0x0104A0, 0x0104A9}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010500, 0x010527}, + {0x010530, 0x010563}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010600, 0x010736}, + {0x010740, 0x010755}, + {0x010760, 0x010767}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010800, 0x010805}, + {0x010808, 0x010808}, + {0x01080A, 0x010835}, + {0x010837, 0x010838}, + {0x01083C, 0x01083C}, + {0x01083F, 0x010855}, + {0x010860, 0x010876}, + {0x010880, 0x01089E}, + {0x0108E0, 0x0108F2}, + {0x0108F4, 0x0108F5}, + {0x010900, 0x010915}, + {0x010920, 0x010939}, + {0x010980, 0x0109B7}, + {0x0109BE, 0x0109BF}, + {0x010A00, 0x010A03}, + {0x010A05, 0x010A06}, + {0x010A0C, 0x010A13}, + {0x010A15, 0x010A17}, + {0x010A19, 0x010A35}, + {0x010A38, 0x010A3A}, + {0x010A3F, 0x010A3F}, + {0x010A60, 0x010A7C}, + {0x010A80, 0x010A9C}, + {0x010AC0, 0x010AC7}, + {0x010AC9, 0x010AE6}, + {0x010B00, 0x010B35}, + {0x010B40, 0x010B55}, + {0x010B60, 0x010B72}, + {0x010B80, 0x010B91}, + {0x010C00, 0x010C48}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x010D00, 0x010D27}, + {0x010D30, 0x010D39}, + {0x010E80, 0x010EA9}, + {0x010EAB, 0x010EAC}, + {0x010EB0, 0x010EB1}, + {0x010EFD, 0x010F1C}, + {0x010F27, 0x010F27}, + {0x010F30, 0x010F50}, + {0x010F70, 0x010F85}, + {0x010FB0, 0x010FC4}, + {0x010FE0, 0x010FF6}, + {0x011000, 0x011046}, + {0x011066, 0x011075}, + {0x01107F, 0x0110BA}, + {0x0110C2, 0x0110C2}, + {0x0110D0, 0x0110E8}, + {0x0110F0, 0x0110F9}, + {0x011100, 0x011134}, + {0x011136, 0x01113F}, + {0x011144, 0x011147}, + {0x011150, 0x011173}, + {0x011176, 0x011176}, + {0x011180, 0x0111C4}, + {0x0111C9, 0x0111CC}, + {0x0111CE, 0x0111DA}, + {0x0111DC, 0x0111DC}, + {0x011200, 0x011211}, + {0x011213, 0x011237}, + {0x01123E, 0x011241}, + {0x011280, 0x011286}, + {0x011288, 0x011288}, + {0x01128A, 0x01128D}, + {0x01128F, 0x01129D}, + {0x01129F, 0x0112A8}, + {0x0112B0, 0x0112EA}, + {0x0112F0, 0x0112F9}, + {0x011300, 0x011303}, + {0x011305, 0x01130C}, + {0x01130F, 0x011310}, + {0x011313, 0x011328}, + {0x01132A, 0x011330}, + {0x011332, 0x011333}, + {0x011335, 0x011339}, + {0x01133B, 0x011344}, + {0x011347, 0x011348}, + {0x01134B, 0x01134D}, + {0x011350, 0x011350}, + {0x011357, 0x011357}, + {0x01135D, 0x011363}, + {0x011366, 0x01136C}, + {0x011370, 0x011374}, + {0x011400, 0x01144A}, + {0x011450, 0x011459}, + {0x01145E, 0x011461}, + {0x011480, 0x0114C5}, + {0x0114C7, 0x0114C7}, + {0x0114D0, 0x0114D9}, + {0x011580, 0x0115B5}, + {0x0115B8, 0x0115C0}, + {0x0115D8, 0x0115DD}, + {0x011600, 0x011640}, + {0x011644, 0x011644}, + {0x011650, 0x011659}, + {0x011680, 0x0116B8}, + {0x0116C0, 0x0116C9}, + {0x011700, 0x01171A}, + {0x01171D, 0x01172B}, + {0x011730, 0x011739}, + {0x011740, 0x011746}, + {0x011800, 0x01183A}, + {0x0118A0, 0x0118E9}, + {0x0118FF, 0x011906}, + {0x011909, 0x011909}, + {0x01190C, 0x011913}, + {0x011915, 0x011916}, + {0x011918, 0x011935}, + {0x011937, 0x011938}, + {0x01193B, 0x011943}, + {0x011950, 0x011959}, + {0x0119A0, 0x0119A7}, + {0x0119AA, 0x0119D7}, + {0x0119DA, 0x0119E1}, + {0x0119E3, 0x0119E4}, + {0x011A00, 0x011A3E}, + {0x011A47, 0x011A47}, + {0x011A50, 0x011A99}, + {0x011A9D, 0x011A9D}, + {0x011AB0, 0x011AF8}, + {0x011C00, 0x011C08}, + {0x011C0A, 0x011C36}, + {0x011C38, 0x011C40}, + {0x011C50, 0x011C59}, + {0x011C72, 0x011C8F}, + {0x011C92, 0x011CA7}, + {0x011CA9, 0x011CB6}, + {0x011D00, 0x011D06}, + {0x011D08, 0x011D09}, + {0x011D0B, 0x011D36}, + {0x011D3A, 0x011D3A}, + {0x011D3C, 0x011D3D}, + {0x011D3F, 0x011D47}, + {0x011D50, 0x011D59}, + {0x011D60, 0x011D65}, + {0x011D67, 0x011D68}, + {0x011D6A, 0x011D8E}, + {0x011D90, 0x011D91}, + {0x011D93, 0x011D98}, + {0x011DA0, 0x011DA9}, + {0x011EE0, 0x011EF6}, + {0x011F00, 0x011F10}, + {0x011F12, 0x011F3A}, + {0x011F3E, 0x011F42}, + {0x011F50, 0x011F59}, + {0x011FB0, 0x011FB0}, + {0x012000, 0x012399}, + {0x012400, 0x01246E}, + {0x012480, 0x012543}, + {0x012F90, 0x012FF0}, + {0x013000, 0x01342F}, + {0x013440, 0x013455}, + {0x014400, 0x014646}, + {0x016800, 0x016A38}, + {0x016A40, 0x016A5E}, + {0x016A60, 0x016A69}, + {0x016A70, 0x016ABE}, + {0x016AC0, 0x016AC9}, + {0x016AD0, 0x016AED}, + {0x016AF0, 0x016AF4}, + {0x016B00, 0x016B36}, + {0x016B40, 0x016B43}, + {0x016B50, 0x016B59}, + {0x016B63, 0x016B77}, + {0x016B7D, 0x016B8F}, + {0x016E40, 0x016E7F}, + {0x016F00, 0x016F4A}, + {0x016F4F, 0x016F87}, + {0x016F8F, 0x016F9F}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE4}, + {0x016FF0, 0x016FF1}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01B000, 0x01B122}, + {0x01B132, 0x01B132}, + {0x01B150, 0x01B152}, + {0x01B155, 0x01B155}, + {0x01B164, 0x01B167}, + {0x01B170, 0x01B2FB}, + {0x01BC00, 0x01BC6A}, + {0x01BC70, 0x01BC7C}, + {0x01BC80, 0x01BC88}, + {0x01BC90, 0x01BC99}, + {0x01BC9D, 0x01BC9E}, + {0x01CF00, 0x01CF2D}, + {0x01CF30, 0x01CF46}, + {0x01D165, 0x01D169}, + {0x01D16D, 0x01D172}, + {0x01D17B, 0x01D182}, + {0x01D185, 0x01D18B}, + {0x01D1AA, 0x01D1AD}, + {0x01D242, 0x01D244}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D6C0}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6FA}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D734}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D76E}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D7A8}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7CB}, + {0x01D7CE, 0x01D7FF}, + {0x01DA00, 0x01DA36}, + {0x01DA3B, 0x01DA6C}, + {0x01DA75, 0x01DA75}, + {0x01DA84, 0x01DA84}, + {0x01DA9B, 0x01DA9F}, + {0x01DAA1, 0x01DAAF}, + {0x01DF00, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E000, 0x01E006}, + {0x01E008, 0x01E018}, + {0x01E01B, 0x01E021}, + {0x01E023, 0x01E024}, + {0x01E026, 0x01E02A}, + {0x01E030, 0x01E06D}, + {0x01E08F, 0x01E08F}, + {0x01E100, 0x01E12C}, + {0x01E130, 0x01E13D}, + {0x01E140, 0x01E149}, + {0x01E14E, 0x01E14E}, + {0x01E290, 0x01E2AE}, + {0x01E2C0, 0x01E2F9}, + {0x01E4D0, 0x01E4F9}, + {0x01E7E0, 0x01E7E6}, + {0x01E7E8, 0x01E7EB}, + {0x01E7ED, 0x01E7EE}, + {0x01E7F0, 0x01E7FE}, + {0x01E800, 0x01E8C4}, + {0x01E8D0, 0x01E8D6}, + {0x01E900, 0x01E94B}, + {0x01E950, 0x01E959}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x01FBF0, 0x01FBF9}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, + {0x0E0100, 0x0E01EF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_id_continue(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_id_start.c b/vendor/librune/lib/rtype/rune_has_prop_id_start.c new file mode 100644 index 0000000..da8ee30 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_id_start.c @@ -0,0 +1,690 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF042004000000000007FFFFFE07FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000BA, 0x0000BA}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x0002C1}, + {0x0002C6, 0x0002D1}, + {0x0002E0, 0x0002E4}, + {0x0002EC, 0x0002EC}, + {0x0002EE, 0x0002EE}, + {0x000370, 0x000374}, + {0x000376, 0x000377}, + {0x00037A, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003F5}, + {0x0003F7, 0x000481}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000559, 0x000559}, + {0x000560, 0x000588}, + {0x0005D0, 0x0005EA}, + {0x0005EF, 0x0005F2}, + {0x000620, 0x00064A}, + {0x00066E, 0x00066F}, + {0x000671, 0x0006D3}, + {0x0006D5, 0x0006D5}, + {0x0006E5, 0x0006E6}, + {0x0006EE, 0x0006EF}, + {0x0006FA, 0x0006FC}, + {0x0006FF, 0x0006FF}, + {0x000710, 0x000710}, + {0x000712, 0x00072F}, + {0x00074D, 0x0007A5}, + {0x0007B1, 0x0007B1}, + {0x0007CA, 0x0007EA}, + {0x0007F4, 0x0007F5}, + {0x0007FA, 0x0007FA}, + {0x000800, 0x000815}, + {0x00081A, 0x00081A}, + {0x000824, 0x000824}, + {0x000828, 0x000828}, + {0x000840, 0x000858}, + {0x000860, 0x00086A}, + {0x000870, 0x000887}, + {0x000889, 0x00088E}, + {0x0008A0, 0x0008C9}, + {0x000904, 0x000939}, + {0x00093D, 0x00093D}, + {0x000950, 0x000950}, + {0x000958, 0x000961}, + {0x000971, 0x000980}, + {0x000985, 0x00098C}, + {0x00098F, 0x000990}, + {0x000993, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BD, 0x0009BD}, + {0x0009CE, 0x0009CE}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009E1}, + {0x0009F0, 0x0009F1}, + {0x0009FC, 0x0009FC}, + {0x000A05, 0x000A0A}, + {0x000A0F, 0x000A10}, + {0x000A13, 0x000A28}, + {0x000A2A, 0x000A30}, + {0x000A32, 0x000A33}, + {0x000A35, 0x000A36}, + {0x000A38, 0x000A39}, + {0x000A59, 0x000A5C}, + {0x000A5E, 0x000A5E}, + {0x000A72, 0x000A74}, + {0x000A85, 0x000A8D}, + {0x000A8F, 0x000A91}, + {0x000A93, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABD, 0x000ABD}, + {0x000AD0, 0x000AD0}, + {0x000AE0, 0x000AE1}, + {0x000AF9, 0x000AF9}, + {0x000B05, 0x000B0C}, + {0x000B0F, 0x000B10}, + {0x000B13, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3D, 0x000B3D}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B61}, + {0x000B71, 0x000B71}, + {0x000B83, 0x000B83}, + {0x000B85, 0x000B8A}, + {0x000B8E, 0x000B90}, + {0x000B92, 0x000B95}, + {0x000B99, 0x000B9A}, + {0x000B9C, 0x000B9C}, + {0x000B9E, 0x000B9F}, + {0x000BA3, 0x000BA4}, + {0x000BA8, 0x000BAA}, + {0x000BAE, 0x000BB9}, + {0x000BD0, 0x000BD0}, + {0x000C05, 0x000C0C}, + {0x000C0E, 0x000C10}, + {0x000C12, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3D, 0x000C3D}, + {0x000C58, 0x000C5A}, + {0x000C5D, 0x000C5D}, + {0x000C60, 0x000C61}, + {0x000C80, 0x000C80}, + {0x000C85, 0x000C8C}, + {0x000C8E, 0x000C90}, + {0x000C92, 0x000CA8}, + {0x000CAA, 0x000CB3}, + {0x000CB5, 0x000CB9}, + {0x000CBD, 0x000CBD}, + {0x000CDD, 0x000CDE}, + {0x000CE0, 0x000CE1}, + {0x000CF1, 0x000CF2}, + {0x000D04, 0x000D0C}, + {0x000D0E, 0x000D10}, + {0x000D12, 0x000D3A}, + {0x000D3D, 0x000D3D}, + {0x000D4E, 0x000D4E}, + {0x000D54, 0x000D56}, + {0x000D5F, 0x000D61}, + {0x000D7A, 0x000D7F}, + {0x000D85, 0x000D96}, + {0x000D9A, 0x000DB1}, + {0x000DB3, 0x000DBB}, + {0x000DBD, 0x000DBD}, + {0x000DC0, 0x000DC6}, + {0x000E01, 0x000E30}, + {0x000E32, 0x000E33}, + {0x000E40, 0x000E46}, + {0x000E81, 0x000E82}, + {0x000E84, 0x000E84}, + {0x000E86, 0x000E8A}, + {0x000E8C, 0x000EA3}, + {0x000EA5, 0x000EA5}, + {0x000EA7, 0x000EB0}, + {0x000EB2, 0x000EB3}, + {0x000EBD, 0x000EBD}, + {0x000EC0, 0x000EC4}, + {0x000EC6, 0x000EC6}, + {0x000EDC, 0x000EDF}, + {0x000F00, 0x000F00}, + {0x000F40, 0x000F47}, + {0x000F49, 0x000F6C}, + {0x000F88, 0x000F8C}, + {0x001000, 0x00102A}, + {0x00103F, 0x00103F}, + {0x001050, 0x001055}, + {0x00105A, 0x00105D}, + {0x001061, 0x001061}, + {0x001065, 0x001066}, + {0x00106E, 0x001070}, + {0x001075, 0x001081}, + {0x00108E, 0x00108E}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x001248}, + {0x00124A, 0x00124D}, + {0x001250, 0x001256}, + {0x001258, 0x001258}, + {0x00125A, 0x00125D}, + {0x001260, 0x001288}, + {0x00128A, 0x00128D}, + {0x001290, 0x0012B0}, + {0x0012B2, 0x0012B5}, + {0x0012B8, 0x0012BE}, + {0x0012C0, 0x0012C0}, + {0x0012C2, 0x0012C5}, + {0x0012C8, 0x0012D6}, + {0x0012D8, 0x001310}, + {0x001312, 0x001315}, + {0x001318, 0x00135A}, + {0x001380, 0x00138F}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001401, 0x00166C}, + {0x00166F, 0x00167F}, + {0x001681, 0x00169A}, + {0x0016A0, 0x0016EA}, + {0x0016EE, 0x0016F8}, + {0x001700, 0x001711}, + {0x00171F, 0x001731}, + {0x001740, 0x001751}, + {0x001760, 0x00176C}, + {0x00176E, 0x001770}, + {0x001780, 0x0017B3}, + {0x0017D7, 0x0017D7}, + {0x0017DC, 0x0017DC}, + {0x001820, 0x001878}, + {0x001880, 0x0018A8}, + {0x0018AA, 0x0018AA}, + {0x0018B0, 0x0018F5}, + {0x001900, 0x00191E}, + {0x001950, 0x00196D}, + {0x001970, 0x001974}, + {0x001980, 0x0019AB}, + {0x0019B0, 0x0019C9}, + {0x001A00, 0x001A16}, + {0x001A20, 0x001A54}, + {0x001AA7, 0x001AA7}, + {0x001B05, 0x001B33}, + {0x001B45, 0x001B4C}, + {0x001B83, 0x001BA0}, + {0x001BAE, 0x001BAF}, + {0x001BBA, 0x001BE5}, + {0x001C00, 0x001C23}, + {0x001C4D, 0x001C4F}, + {0x001C5A, 0x001C7D}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001CE9, 0x001CEC}, + {0x001CEE, 0x001CF3}, + {0x001CF5, 0x001CF6}, + {0x001CFA, 0x001CFA}, + {0x001D00, 0x001DBF}, + {0x001E00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002118, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x002139}, + {0x00213C, 0x00213F}, + {0x002145, 0x002149}, + {0x00214E, 0x00214E}, + {0x002160, 0x002188}, + {0x002C00, 0x002CE4}, + {0x002CEB, 0x002CEE}, + {0x002CF2, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x002D30, 0x002D67}, + {0x002D6F, 0x002D6F}, + {0x002D80, 0x002D96}, + {0x002DA0, 0x002DA6}, + {0x002DA8, 0x002DAE}, + {0x002DB0, 0x002DB6}, + {0x002DB8, 0x002DBE}, + {0x002DC0, 0x002DC6}, + {0x002DC8, 0x002DCE}, + {0x002DD0, 0x002DD6}, + {0x002DD8, 0x002DDE}, + {0x003005, 0x003007}, + {0x003021, 0x003029}, + {0x003031, 0x003035}, + {0x003038, 0x00303C}, + {0x003041, 0x003096}, + {0x00309B, 0x00309F}, + {0x0030A1, 0x0030FA}, + {0x0030FC, 0x0030FF}, + {0x003105, 0x00312F}, + {0x003131, 0x00318E}, + {0x0031A0, 0x0031BF}, + {0x0031F0, 0x0031FF}, + {0x003400, 0x004DBF}, + {0x004E00, 0x00A48C}, + {0x00A4D0, 0x00A4FD}, + {0x00A500, 0x00A60C}, + {0x00A610, 0x00A61F}, + {0x00A62A, 0x00A62B}, + {0x00A640, 0x00A66E}, + {0x00A67F, 0x00A69D}, + {0x00A6A0, 0x00A6EF}, + {0x00A717, 0x00A71F}, + {0x00A722, 0x00A788}, + {0x00A78B, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A801}, + {0x00A803, 0x00A805}, + {0x00A807, 0x00A80A}, + {0x00A80C, 0x00A822}, + {0x00A840, 0x00A873}, + {0x00A882, 0x00A8B3}, + {0x00A8F2, 0x00A8F7}, + {0x00A8FB, 0x00A8FB}, + {0x00A8FD, 0x00A8FE}, + {0x00A90A, 0x00A925}, + {0x00A930, 0x00A946}, + {0x00A960, 0x00A97C}, + {0x00A984, 0x00A9B2}, + {0x00A9CF, 0x00A9CF}, + {0x00A9E0, 0x00A9E4}, + {0x00A9E6, 0x00A9EF}, + {0x00A9FA, 0x00A9FE}, + {0x00AA00, 0x00AA28}, + {0x00AA40, 0x00AA42}, + {0x00AA44, 0x00AA4B}, + {0x00AA60, 0x00AA76}, + {0x00AA7A, 0x00AA7A}, + {0x00AA7E, 0x00AAAF}, + {0x00AAB1, 0x00AAB1}, + {0x00AAB5, 0x00AAB6}, + {0x00AAB9, 0x00AABD}, + {0x00AAC0, 0x00AAC0}, + {0x00AAC2, 0x00AAC2}, + {0x00AADB, 0x00AADD}, + {0x00AAE0, 0x00AAEA}, + {0x00AAF2, 0x00AAF4}, + {0x00AB01, 0x00AB06}, + {0x00AB09, 0x00AB0E}, + {0x00AB11, 0x00AB16}, + {0x00AB20, 0x00AB26}, + {0x00AB28, 0x00AB2E}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABE2}, + {0x00AC00, 0x00D7A3}, + {0x00D7B0, 0x00D7C6}, + {0x00D7CB, 0x00D7FB}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FB1D, 0x00FB1D}, + {0x00FB1F, 0x00FB28}, + {0x00FB2A, 0x00FB36}, + {0x00FB38, 0x00FB3C}, + {0x00FB3E, 0x00FB3E}, + {0x00FB40, 0x00FB41}, + {0x00FB43, 0x00FB44}, + {0x00FB46, 0x00FBB1}, + {0x00FBD3, 0x00FD3D}, + {0x00FD50, 0x00FD8F}, + {0x00FD92, 0x00FDC7}, + {0x00FDF0, 0x00FDFB}, + {0x00FE70, 0x00FE74}, + {0x00FE76, 0x00FEFC}, + {0x00FF21, 0x00FF3A}, + {0x00FF41, 0x00FF5A}, + {0x00FF66, 0x00FFBE}, + {0x00FFC2, 0x00FFC7}, + {0x00FFCA, 0x00FFCF}, + {0x00FFD2, 0x00FFD7}, + {0x00FFDA, 0x00FFDC}, + {0x010000, 0x01000B}, + {0x01000D, 0x010026}, + {0x010028, 0x01003A}, + {0x01003C, 0x01003D}, + {0x01003F, 0x01004D}, + {0x010050, 0x01005D}, + {0x010080, 0x0100FA}, + {0x010140, 0x010174}, + {0x010280, 0x01029C}, + {0x0102A0, 0x0102D0}, + {0x010300, 0x01031F}, + {0x01032D, 0x01034A}, + {0x010350, 0x010375}, + {0x010380, 0x01039D}, + {0x0103A0, 0x0103C3}, + {0x0103C8, 0x0103CF}, + {0x0103D1, 0x0103D5}, + {0x010400, 0x01049D}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010500, 0x010527}, + {0x010530, 0x010563}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010600, 0x010736}, + {0x010740, 0x010755}, + {0x010760, 0x010767}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010800, 0x010805}, + {0x010808, 0x010808}, + {0x01080A, 0x010835}, + {0x010837, 0x010838}, + {0x01083C, 0x01083C}, + {0x01083F, 0x010855}, + {0x010860, 0x010876}, + {0x010880, 0x01089E}, + {0x0108E0, 0x0108F2}, + {0x0108F4, 0x0108F5}, + {0x010900, 0x010915}, + {0x010920, 0x010939}, + {0x010980, 0x0109B7}, + {0x0109BE, 0x0109BF}, + {0x010A00, 0x010A00}, + {0x010A10, 0x010A13}, + {0x010A15, 0x010A17}, + {0x010A19, 0x010A35}, + {0x010A60, 0x010A7C}, + {0x010A80, 0x010A9C}, + {0x010AC0, 0x010AC7}, + {0x010AC9, 0x010AE4}, + {0x010B00, 0x010B35}, + {0x010B40, 0x010B55}, + {0x010B60, 0x010B72}, + {0x010B80, 0x010B91}, + {0x010C00, 0x010C48}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x010D00, 0x010D23}, + {0x010E80, 0x010EA9}, + {0x010EB0, 0x010EB1}, + {0x010F00, 0x010F1C}, + {0x010F27, 0x010F27}, + {0x010F30, 0x010F45}, + {0x010F70, 0x010F81}, + {0x010FB0, 0x010FC4}, + {0x010FE0, 0x010FF6}, + {0x011003, 0x011037}, + {0x011071, 0x011072}, + {0x011075, 0x011075}, + {0x011083, 0x0110AF}, + {0x0110D0, 0x0110E8}, + {0x011103, 0x011126}, + {0x011144, 0x011144}, + {0x011147, 0x011147}, + {0x011150, 0x011172}, + {0x011176, 0x011176}, + {0x011183, 0x0111B2}, + {0x0111C1, 0x0111C4}, + {0x0111DA, 0x0111DA}, + {0x0111DC, 0x0111DC}, + {0x011200, 0x011211}, + {0x011213, 0x01122B}, + {0x01123F, 0x011240}, + {0x011280, 0x011286}, + {0x011288, 0x011288}, + {0x01128A, 0x01128D}, + {0x01128F, 0x01129D}, + {0x01129F, 0x0112A8}, + {0x0112B0, 0x0112DE}, + {0x011305, 0x01130C}, + {0x01130F, 0x011310}, + {0x011313, 0x011328}, + {0x01132A, 0x011330}, + {0x011332, 0x011333}, + {0x011335, 0x011339}, + {0x01133D, 0x01133D}, + {0x011350, 0x011350}, + {0x01135D, 0x011361}, + {0x011400, 0x011434}, + {0x011447, 0x01144A}, + {0x01145F, 0x011461}, + {0x011480, 0x0114AF}, + {0x0114C4, 0x0114C5}, + {0x0114C7, 0x0114C7}, + {0x011580, 0x0115AE}, + {0x0115D8, 0x0115DB}, + {0x011600, 0x01162F}, + {0x011644, 0x011644}, + {0x011680, 0x0116AA}, + {0x0116B8, 0x0116B8}, + {0x011700, 0x01171A}, + {0x011740, 0x011746}, + {0x011800, 0x01182B}, + {0x0118A0, 0x0118DF}, + {0x0118FF, 0x011906}, + {0x011909, 0x011909}, + {0x01190C, 0x011913}, + {0x011915, 0x011916}, + {0x011918, 0x01192F}, + {0x01193F, 0x01193F}, + {0x011941, 0x011941}, + {0x0119A0, 0x0119A7}, + {0x0119AA, 0x0119D0}, + {0x0119E1, 0x0119E1}, + {0x0119E3, 0x0119E3}, + {0x011A00, 0x011A00}, + {0x011A0B, 0x011A32}, + {0x011A3A, 0x011A3A}, + {0x011A50, 0x011A50}, + {0x011A5C, 0x011A89}, + {0x011A9D, 0x011A9D}, + {0x011AB0, 0x011AF8}, + {0x011C00, 0x011C08}, + {0x011C0A, 0x011C2E}, + {0x011C40, 0x011C40}, + {0x011C72, 0x011C8F}, + {0x011D00, 0x011D06}, + {0x011D08, 0x011D09}, + {0x011D0B, 0x011D30}, + {0x011D46, 0x011D46}, + {0x011D60, 0x011D65}, + {0x011D67, 0x011D68}, + {0x011D6A, 0x011D89}, + {0x011D98, 0x011D98}, + {0x011EE0, 0x011EF2}, + {0x011F02, 0x011F02}, + {0x011F04, 0x011F10}, + {0x011F12, 0x011F33}, + {0x011FB0, 0x011FB0}, + {0x012000, 0x012399}, + {0x012400, 0x01246E}, + {0x012480, 0x012543}, + {0x012F90, 0x012FF0}, + {0x013000, 0x01342F}, + {0x013441, 0x013446}, + {0x014400, 0x014646}, + {0x016800, 0x016A38}, + {0x016A40, 0x016A5E}, + {0x016A70, 0x016ABE}, + {0x016AD0, 0x016AED}, + {0x016B00, 0x016B2F}, + {0x016B40, 0x016B43}, + {0x016B63, 0x016B77}, + {0x016B7D, 0x016B8F}, + {0x016E40, 0x016E7F}, + {0x016F00, 0x016F4A}, + {0x016F50, 0x016F50}, + {0x016F93, 0x016F9F}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE3}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01B000, 0x01B122}, + {0x01B132, 0x01B132}, + {0x01B150, 0x01B152}, + {0x01B155, 0x01B155}, + {0x01B164, 0x01B167}, + {0x01B170, 0x01B2FB}, + {0x01BC00, 0x01BC6A}, + {0x01BC70, 0x01BC7C}, + {0x01BC80, 0x01BC88}, + {0x01BC90, 0x01BC99}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D6C0}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6FA}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D734}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D76E}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D7A8}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7CB}, + {0x01DF00, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E030, 0x01E06D}, + {0x01E100, 0x01E12C}, + {0x01E137, 0x01E13D}, + {0x01E14E, 0x01E14E}, + {0x01E290, 0x01E2AD}, + {0x01E2C0, 0x01E2EB}, + {0x01E4D0, 0x01E4EB}, + {0x01E7E0, 0x01E7E6}, + {0x01E7E8, 0x01E7EB}, + {0x01E7ED, 0x01E7EE}, + {0x01E7F0, 0x01E7FE}, + {0x01E800, 0x01E8C4}, + {0x01E900, 0x01E943}, + {0x01E94B, 0x01E94B}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_id_start(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_ideographic.c b/vendor/librune/lib/rtype/rune_has_prop_ideographic.c new file mode 100644 index 0000000..ddc7bda --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_ideographic.c @@ -0,0 +1,51 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x003006, 0x003007}, + {0x003021, 0x003029}, + {0x003038, 0x00303A}, + {0x003400, 0x004DBF}, + {0x004E00, 0x009FFF}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x016FE4, 0x016FE4}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01B170, 0x01B2FB}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_ideographic(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_ids_binary_operator.c b/vendor/librune/lib/rtype/rune_has_prop_ids_binary_operator.c new file mode 100644 index 0000000..b558b1b --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_ids_binary_operator.c @@ -0,0 +1,33 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x002FF0, 0x002FF1}, + {0x002FF4, 0x002FFD}, + {0x0031EF, 0x0031EF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_ids_binary_operator(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_ids_trinary_operator.c b/vendor/librune/lib/rtype/rune_has_prop_ids_trinary_operator.c new file mode 100644 index 0000000..f9dd547 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_ids_trinary_operator.c @@ -0,0 +1,31 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x002FF2, 0x002FF3}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_ids_trinary_operator(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_ids_unary_operator.c b/vendor/librune/lib/rtype/rune_has_prop_ids_unary_operator.c new file mode 100644 index 0000000..59a4d3d --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_ids_unary_operator.c @@ -0,0 +1,31 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x002FFE, 0x002FFF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_ids_unary_operator(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_indic_conjunct_break.c b/vendor/librune/lib/rtype/rune_has_prop_indic_conjunct_break.c new file mode 100644 index 0000000..a1af4a6 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_indic_conjunct_break.c @@ -0,0 +1,230 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000300, 0x00034E}, + {0x000350, 0x00036F}, + {0x000483, 0x000487}, + {0x000591, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C5}, + {0x0005C7, 0x0005C7}, + {0x000610, 0x00061A}, + {0x00064B, 0x00065F}, + {0x000670, 0x000670}, + {0x0006D6, 0x0006DC}, + {0x0006DF, 0x0006E4}, + {0x0006E7, 0x0006E8}, + {0x0006EA, 0x0006ED}, + {0x000711, 0x000711}, + {0x000730, 0x00074A}, + {0x0007EB, 0x0007F3}, + {0x0007FD, 0x0007FD}, + {0x000816, 0x000819}, + {0x00081B, 0x000823}, + {0x000825, 0x000827}, + {0x000829, 0x00082D}, + {0x000859, 0x00085B}, + {0x000898, 0x00089F}, + {0x0008CA, 0x0008E1}, + {0x0008E3, 0x0008FF}, + {0x000915, 0x000939}, + {0x00093C, 0x00093C}, + {0x00094D, 0x00094D}, + {0x000951, 0x000954}, + {0x000958, 0x00095F}, + {0x000978, 0x00097F}, + {0x000995, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BC, 0x0009BC}, + {0x0009CD, 0x0009CD}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009DF}, + {0x0009F0, 0x0009F1}, + {0x0009FE, 0x0009FE}, + {0x000A3C, 0x000A3C}, + {0x000A95, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABC, 0x000ABC}, + {0x000ACD, 0x000ACD}, + {0x000AF9, 0x000AF9}, + {0x000B15, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3C, 0x000B3C}, + {0x000B4D, 0x000B4D}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B5F}, + {0x000B71, 0x000B71}, + {0x000C15, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3C, 0x000C3C}, + {0x000C4D, 0x000C4D}, + {0x000C55, 0x000C56}, + {0x000C58, 0x000C5A}, + {0x000CBC, 0x000CBC}, + {0x000D15, 0x000D3C}, + {0x000D4D, 0x000D4D}, + {0x000E38, 0x000E3A}, + {0x000E48, 0x000E4B}, + {0x000EB8, 0x000EBA}, + {0x000EC8, 0x000ECB}, + {0x000F18, 0x000F19}, + {0x000F35, 0x000F35}, + {0x000F37, 0x000F37}, + {0x000F39, 0x000F39}, + {0x000F71, 0x000F72}, + {0x000F74, 0x000F74}, + {0x000F7A, 0x000F7D}, + {0x000F80, 0x000F80}, + {0x000F82, 0x000F84}, + {0x000F86, 0x000F87}, + {0x000FC6, 0x000FC6}, + {0x001037, 0x001037}, + {0x001039, 0x00103A}, + {0x00108D, 0x00108D}, + {0x00135D, 0x00135F}, + {0x001714, 0x001714}, + {0x0017D2, 0x0017D2}, + {0x0017DD, 0x0017DD}, + {0x0018A9, 0x0018A9}, + {0x001939, 0x00193B}, + {0x001A17, 0x001A18}, + {0x001A60, 0x001A60}, + {0x001A75, 0x001A7C}, + {0x001A7F, 0x001A7F}, + {0x001AB0, 0x001ABD}, + {0x001ABF, 0x001ACE}, + {0x001B34, 0x001B34}, + {0x001B6B, 0x001B73}, + {0x001BAB, 0x001BAB}, + {0x001BE6, 0x001BE6}, + {0x001C37, 0x001C37}, + {0x001CD0, 0x001CD2}, + {0x001CD4, 0x001CE0}, + {0x001CE2, 0x001CE8}, + {0x001CED, 0x001CED}, + {0x001CF4, 0x001CF4}, + {0x001CF8, 0x001CF9}, + {0x001DC0, 0x001DFF}, + {0x00200D, 0x00200D}, + {0x0020D0, 0x0020DC}, + {0x0020E1, 0x0020E1}, + {0x0020E5, 0x0020F0}, + {0x002CEF, 0x002CF1}, + {0x002D7F, 0x002D7F}, + {0x002DE0, 0x002DFF}, + {0x00302A, 0x00302F}, + {0x003099, 0x00309A}, + {0x00A66F, 0x00A66F}, + {0x00A674, 0x00A67D}, + {0x00A69E, 0x00A69F}, + {0x00A6F0, 0x00A6F1}, + {0x00A82C, 0x00A82C}, + {0x00A8E0, 0x00A8F1}, + {0x00A92B, 0x00A92D}, + {0x00A9B3, 0x00A9B3}, + {0x00AAB0, 0x00AAB0}, + {0x00AAB2, 0x00AAB4}, + {0x00AAB7, 0x00AAB8}, + {0x00AABE, 0x00AABF}, + {0x00AAC1, 0x00AAC1}, + {0x00AAF6, 0x00AAF6}, + {0x00ABED, 0x00ABED}, + {0x00FB1E, 0x00FB1E}, + {0x00FE20, 0x00FE2F}, + {0x0101FD, 0x0101FD}, + {0x0102E0, 0x0102E0}, + {0x010376, 0x01037A}, + {0x010A0D, 0x010A0D}, + {0x010A0F, 0x010A0F}, + {0x010A38, 0x010A3A}, + {0x010A3F, 0x010A3F}, + {0x010AE5, 0x010AE6}, + {0x010D24, 0x010D27}, + {0x010EAB, 0x010EAC}, + {0x010EFD, 0x010EFF}, + {0x010F46, 0x010F50}, + {0x010F82, 0x010F85}, + {0x011070, 0x011070}, + {0x01107F, 0x01107F}, + {0x0110BA, 0x0110BA}, + {0x011100, 0x011102}, + {0x011133, 0x011134}, + {0x011173, 0x011173}, + {0x0111CA, 0x0111CA}, + {0x011236, 0x011236}, + {0x0112E9, 0x0112EA}, + {0x01133B, 0x01133C}, + {0x011366, 0x01136C}, + {0x011370, 0x011374}, + {0x011446, 0x011446}, + {0x01145E, 0x01145E}, + {0x0114C3, 0x0114C3}, + {0x0115C0, 0x0115C0}, + {0x0116B7, 0x0116B7}, + {0x01172B, 0x01172B}, + {0x01183A, 0x01183A}, + {0x01193E, 0x01193E}, + {0x011943, 0x011943}, + {0x011A34, 0x011A34}, + {0x011A47, 0x011A47}, + {0x011A99, 0x011A99}, + {0x011D42, 0x011D42}, + {0x011D44, 0x011D45}, + {0x011D97, 0x011D97}, + {0x011F42, 0x011F42}, + {0x016AF0, 0x016AF4}, + {0x016B30, 0x016B36}, + {0x01BC9E, 0x01BC9E}, + {0x01D165, 0x01D165}, + {0x01D167, 0x01D169}, + {0x01D16E, 0x01D172}, + {0x01D17B, 0x01D182}, + {0x01D185, 0x01D18B}, + {0x01D1AA, 0x01D1AD}, + {0x01D242, 0x01D244}, + {0x01E000, 0x01E006}, + {0x01E008, 0x01E018}, + {0x01E01B, 0x01E021}, + {0x01E023, 0x01E024}, + {0x01E026, 0x01E02A}, + {0x01E08F, 0x01E08F}, + {0x01E130, 0x01E136}, + {0x01E2AE, 0x01E2AE}, + {0x01E2EC, 0x01E2EF}, + {0x01E4EC, 0x01E4EF}, + {0x01E8D0, 0x01E8D6}, + {0x01E944, 0x01E94A}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_indic_conjunct_break(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_join_control.c b/vendor/librune/lib/rtype/rune_has_prop_join_control.c new file mode 100644 index 0000000..a26fc37 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_join_control.c @@ -0,0 +1,31 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00200C, 0x00200D}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_join_control(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_logical_order_exception.c b/vendor/librune/lib/rtype/rune_has_prop_logical_order_exception.c new file mode 100644 index 0000000..6af7d9d --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_logical_order_exception.c @@ -0,0 +1,37 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000E40, 0x000E44}, + {0x000EC0, 0x000EC4}, + {0x0019B5, 0x0019B7}, + {0x0019BA, 0x0019BA}, + {0x00AAB5, 0x00AAB6}, + {0x00AAB9, 0x00AAB9}, + {0x00AABB, 0x00AABC}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_logical_order_exception(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_lowercase.c b/vendor/librune/lib/rtype/rune_has_prop_lowercase.c new file mode 100644 index 0000000..e6308cd --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_lowercase.c @@ -0,0 +1,701 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFF80000000042004000000000007FFFFFE000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000BA, 0x0000BA}, + {0x0000DF, 0x0000F6}, + {0x0000F8, 0x0000FF}, + {0x000101, 0x000101}, + {0x000103, 0x000103}, + {0x000105, 0x000105}, + {0x000107, 0x000107}, + {0x000109, 0x000109}, + {0x00010B, 0x00010B}, + {0x00010D, 0x00010D}, + {0x00010F, 0x00010F}, + {0x000111, 0x000111}, + {0x000113, 0x000113}, + {0x000115, 0x000115}, + {0x000117, 0x000117}, + {0x000119, 0x000119}, + {0x00011B, 0x00011B}, + {0x00011D, 0x00011D}, + {0x00011F, 0x00011F}, + {0x000121, 0x000121}, + {0x000123, 0x000123}, + {0x000125, 0x000125}, + {0x000127, 0x000127}, + {0x000129, 0x000129}, + {0x00012B, 0x00012B}, + {0x00012D, 0x00012D}, + {0x00012F, 0x00012F}, + {0x000131, 0x000131}, + {0x000133, 0x000133}, + {0x000135, 0x000135}, + {0x000137, 0x000138}, + {0x00013A, 0x00013A}, + {0x00013C, 0x00013C}, + {0x00013E, 0x00013E}, + {0x000140, 0x000140}, + {0x000142, 0x000142}, + {0x000144, 0x000144}, + {0x000146, 0x000146}, + {0x000148, 0x000149}, + {0x00014B, 0x00014B}, + {0x00014D, 0x00014D}, + {0x00014F, 0x00014F}, + {0x000151, 0x000151}, + {0x000153, 0x000153}, + {0x000155, 0x000155}, + {0x000157, 0x000157}, + {0x000159, 0x000159}, + {0x00015B, 0x00015B}, + {0x00015D, 0x00015D}, + {0x00015F, 0x00015F}, + {0x000161, 0x000161}, + {0x000163, 0x000163}, + {0x000165, 0x000165}, + {0x000167, 0x000167}, + {0x000169, 0x000169}, + {0x00016B, 0x00016B}, + {0x00016D, 0x00016D}, + {0x00016F, 0x00016F}, + {0x000171, 0x000171}, + {0x000173, 0x000173}, + {0x000175, 0x000175}, + {0x000177, 0x000177}, + {0x00017A, 0x00017A}, + {0x00017C, 0x00017C}, + {0x00017E, 0x000180}, + {0x000183, 0x000183}, + {0x000185, 0x000185}, + {0x000188, 0x000188}, + {0x00018C, 0x00018D}, + {0x000192, 0x000192}, + {0x000195, 0x000195}, + {0x000199, 0x00019B}, + {0x00019E, 0x00019E}, + {0x0001A1, 0x0001A1}, + {0x0001A3, 0x0001A3}, + {0x0001A5, 0x0001A5}, + {0x0001A8, 0x0001A8}, + {0x0001AA, 0x0001AB}, + {0x0001AD, 0x0001AD}, + {0x0001B0, 0x0001B0}, + {0x0001B4, 0x0001B4}, + {0x0001B6, 0x0001B6}, + {0x0001B9, 0x0001BA}, + {0x0001BD, 0x0001BF}, + {0x0001C6, 0x0001C6}, + {0x0001C9, 0x0001C9}, + {0x0001CC, 0x0001CC}, + {0x0001CE, 0x0001CE}, + {0x0001D0, 0x0001D0}, + {0x0001D2, 0x0001D2}, + {0x0001D4, 0x0001D4}, + {0x0001D6, 0x0001D6}, + {0x0001D8, 0x0001D8}, + {0x0001DA, 0x0001DA}, + {0x0001DC, 0x0001DD}, + {0x0001DF, 0x0001DF}, + {0x0001E1, 0x0001E1}, + {0x0001E3, 0x0001E3}, + {0x0001E5, 0x0001E5}, + {0x0001E7, 0x0001E7}, + {0x0001E9, 0x0001E9}, + {0x0001EB, 0x0001EB}, + {0x0001ED, 0x0001ED}, + {0x0001EF, 0x0001F0}, + {0x0001F3, 0x0001F3}, + {0x0001F5, 0x0001F5}, + {0x0001F9, 0x0001F9}, + {0x0001FB, 0x0001FB}, + {0x0001FD, 0x0001FD}, + {0x0001FF, 0x0001FF}, + {0x000201, 0x000201}, + {0x000203, 0x000203}, + {0x000205, 0x000205}, + {0x000207, 0x000207}, + {0x000209, 0x000209}, + {0x00020B, 0x00020B}, + {0x00020D, 0x00020D}, + {0x00020F, 0x00020F}, + {0x000211, 0x000211}, + {0x000213, 0x000213}, + {0x000215, 0x000215}, + {0x000217, 0x000217}, + {0x000219, 0x000219}, + {0x00021B, 0x00021B}, + {0x00021D, 0x00021D}, + {0x00021F, 0x00021F}, + {0x000221, 0x000221}, + {0x000223, 0x000223}, + {0x000225, 0x000225}, + {0x000227, 0x000227}, + {0x000229, 0x000229}, + {0x00022B, 0x00022B}, + {0x00022D, 0x00022D}, + {0x00022F, 0x00022F}, + {0x000231, 0x000231}, + {0x000233, 0x000239}, + {0x00023C, 0x00023C}, + {0x00023F, 0x000240}, + {0x000242, 0x000242}, + {0x000247, 0x000247}, + {0x000249, 0x000249}, + {0x00024B, 0x00024B}, + {0x00024D, 0x00024D}, + {0x00024F, 0x000293}, + {0x000295, 0x0002B8}, + {0x0002C0, 0x0002C1}, + {0x0002E0, 0x0002E4}, + {0x000345, 0x000345}, + {0x000371, 0x000371}, + {0x000373, 0x000373}, + {0x000377, 0x000377}, + {0x00037A, 0x00037D}, + {0x000390, 0x000390}, + {0x0003AC, 0x0003CE}, + {0x0003D0, 0x0003D1}, + {0x0003D5, 0x0003D7}, + {0x0003D9, 0x0003D9}, + {0x0003DB, 0x0003DB}, + {0x0003DD, 0x0003DD}, + {0x0003DF, 0x0003DF}, + {0x0003E1, 0x0003E1}, + {0x0003E3, 0x0003E3}, + {0x0003E5, 0x0003E5}, + {0x0003E7, 0x0003E7}, + {0x0003E9, 0x0003E9}, + {0x0003EB, 0x0003EB}, + {0x0003ED, 0x0003ED}, + {0x0003EF, 0x0003F3}, + {0x0003F5, 0x0003F5}, + {0x0003F8, 0x0003F8}, + {0x0003FB, 0x0003FC}, + {0x000430, 0x00045F}, + {0x000461, 0x000461}, + {0x000463, 0x000463}, + {0x000465, 0x000465}, + {0x000467, 0x000467}, + {0x000469, 0x000469}, + {0x00046B, 0x00046B}, + {0x00046D, 0x00046D}, + {0x00046F, 0x00046F}, + {0x000471, 0x000471}, + {0x000473, 0x000473}, + {0x000475, 0x000475}, + {0x000477, 0x000477}, + {0x000479, 0x000479}, + {0x00047B, 0x00047B}, + {0x00047D, 0x00047D}, + {0x00047F, 0x00047F}, + {0x000481, 0x000481}, + {0x00048B, 0x00048B}, + {0x00048D, 0x00048D}, + {0x00048F, 0x00048F}, + {0x000491, 0x000491}, + {0x000493, 0x000493}, + {0x000495, 0x000495}, + {0x000497, 0x000497}, + {0x000499, 0x000499}, + {0x00049B, 0x00049B}, + {0x00049D, 0x00049D}, + {0x00049F, 0x00049F}, + {0x0004A1, 0x0004A1}, + {0x0004A3, 0x0004A3}, + {0x0004A5, 0x0004A5}, + {0x0004A7, 0x0004A7}, + {0x0004A9, 0x0004A9}, + {0x0004AB, 0x0004AB}, + {0x0004AD, 0x0004AD}, + {0x0004AF, 0x0004AF}, + {0x0004B1, 0x0004B1}, + {0x0004B3, 0x0004B3}, + {0x0004B5, 0x0004B5}, + {0x0004B7, 0x0004B7}, + {0x0004B9, 0x0004B9}, + {0x0004BB, 0x0004BB}, + {0x0004BD, 0x0004BD}, + {0x0004BF, 0x0004BF}, + {0x0004C2, 0x0004C2}, + {0x0004C4, 0x0004C4}, + {0x0004C6, 0x0004C6}, + {0x0004C8, 0x0004C8}, + {0x0004CA, 0x0004CA}, + {0x0004CC, 0x0004CC}, + {0x0004CE, 0x0004CF}, + {0x0004D1, 0x0004D1}, + {0x0004D3, 0x0004D3}, + {0x0004D5, 0x0004D5}, + {0x0004D7, 0x0004D7}, + {0x0004D9, 0x0004D9}, + {0x0004DB, 0x0004DB}, + {0x0004DD, 0x0004DD}, + {0x0004DF, 0x0004DF}, + {0x0004E1, 0x0004E1}, + {0x0004E3, 0x0004E3}, + {0x0004E5, 0x0004E5}, + {0x0004E7, 0x0004E7}, + {0x0004E9, 0x0004E9}, + {0x0004EB, 0x0004EB}, + {0x0004ED, 0x0004ED}, + {0x0004EF, 0x0004EF}, + {0x0004F1, 0x0004F1}, + {0x0004F3, 0x0004F3}, + {0x0004F5, 0x0004F5}, + {0x0004F7, 0x0004F7}, + {0x0004F9, 0x0004F9}, + {0x0004FB, 0x0004FB}, + {0x0004FD, 0x0004FD}, + {0x0004FF, 0x0004FF}, + {0x000501, 0x000501}, + {0x000503, 0x000503}, + {0x000505, 0x000505}, + {0x000507, 0x000507}, + {0x000509, 0x000509}, + {0x00050B, 0x00050B}, + {0x00050D, 0x00050D}, + {0x00050F, 0x00050F}, + {0x000511, 0x000511}, + {0x000513, 0x000513}, + {0x000515, 0x000515}, + {0x000517, 0x000517}, + {0x000519, 0x000519}, + {0x00051B, 0x00051B}, + {0x00051D, 0x00051D}, + {0x00051F, 0x00051F}, + {0x000521, 0x000521}, + {0x000523, 0x000523}, + {0x000525, 0x000525}, + {0x000527, 0x000527}, + {0x000529, 0x000529}, + {0x00052B, 0x00052B}, + {0x00052D, 0x00052D}, + {0x00052F, 0x00052F}, + {0x000560, 0x000588}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x0010FF}, + {0x0013F8, 0x0013FD}, + {0x001C80, 0x001C88}, + {0x001D00, 0x001DBF}, + {0x001E01, 0x001E01}, + {0x001E03, 0x001E03}, + {0x001E05, 0x001E05}, + {0x001E07, 0x001E07}, + {0x001E09, 0x001E09}, + {0x001E0B, 0x001E0B}, + {0x001E0D, 0x001E0D}, + {0x001E0F, 0x001E0F}, + {0x001E11, 0x001E11}, + {0x001E13, 0x001E13}, + {0x001E15, 0x001E15}, + {0x001E17, 0x001E17}, + {0x001E19, 0x001E19}, + {0x001E1B, 0x001E1B}, + {0x001E1D, 0x001E1D}, + {0x001E1F, 0x001E1F}, + {0x001E21, 0x001E21}, + {0x001E23, 0x001E23}, + {0x001E25, 0x001E25}, + {0x001E27, 0x001E27}, + {0x001E29, 0x001E29}, + {0x001E2B, 0x001E2B}, + {0x001E2D, 0x001E2D}, + {0x001E2F, 0x001E2F}, + {0x001E31, 0x001E31}, + {0x001E33, 0x001E33}, + {0x001E35, 0x001E35}, + {0x001E37, 0x001E37}, + {0x001E39, 0x001E39}, + {0x001E3B, 0x001E3B}, + {0x001E3D, 0x001E3D}, + {0x001E3F, 0x001E3F}, + {0x001E41, 0x001E41}, + {0x001E43, 0x001E43}, + {0x001E45, 0x001E45}, + {0x001E47, 0x001E47}, + {0x001E49, 0x001E49}, + {0x001E4B, 0x001E4B}, + {0x001E4D, 0x001E4D}, + {0x001E4F, 0x001E4F}, + {0x001E51, 0x001E51}, + {0x001E53, 0x001E53}, + {0x001E55, 0x001E55}, + {0x001E57, 0x001E57}, + {0x001E59, 0x001E59}, + {0x001E5B, 0x001E5B}, + {0x001E5D, 0x001E5D}, + {0x001E5F, 0x001E5F}, + {0x001E61, 0x001E61}, + {0x001E63, 0x001E63}, + {0x001E65, 0x001E65}, + {0x001E67, 0x001E67}, + {0x001E69, 0x001E69}, + {0x001E6B, 0x001E6B}, + {0x001E6D, 0x001E6D}, + {0x001E6F, 0x001E6F}, + {0x001E71, 0x001E71}, + {0x001E73, 0x001E73}, + {0x001E75, 0x001E75}, + {0x001E77, 0x001E77}, + {0x001E79, 0x001E79}, + {0x001E7B, 0x001E7B}, + {0x001E7D, 0x001E7D}, + {0x001E7F, 0x001E7F}, + {0x001E81, 0x001E81}, + {0x001E83, 0x001E83}, + {0x001E85, 0x001E85}, + {0x001E87, 0x001E87}, + {0x001E89, 0x001E89}, + {0x001E8B, 0x001E8B}, + {0x001E8D, 0x001E8D}, + {0x001E8F, 0x001E8F}, + {0x001E91, 0x001E91}, + {0x001E93, 0x001E93}, + {0x001E95, 0x001E9D}, + {0x001E9F, 0x001E9F}, + {0x001EA1, 0x001EA1}, + {0x001EA3, 0x001EA3}, + {0x001EA5, 0x001EA5}, + {0x001EA7, 0x001EA7}, + {0x001EA9, 0x001EA9}, + {0x001EAB, 0x001EAB}, + {0x001EAD, 0x001EAD}, + {0x001EAF, 0x001EAF}, + {0x001EB1, 0x001EB1}, + {0x001EB3, 0x001EB3}, + {0x001EB5, 0x001EB5}, + {0x001EB7, 0x001EB7}, + {0x001EB9, 0x001EB9}, + {0x001EBB, 0x001EBB}, + {0x001EBD, 0x001EBD}, + {0x001EBF, 0x001EBF}, + {0x001EC1, 0x001EC1}, + {0x001EC3, 0x001EC3}, + {0x001EC5, 0x001EC5}, + {0x001EC7, 0x001EC7}, + {0x001EC9, 0x001EC9}, + {0x001ECB, 0x001ECB}, + {0x001ECD, 0x001ECD}, + {0x001ECF, 0x001ECF}, + {0x001ED1, 0x001ED1}, + {0x001ED3, 0x001ED3}, + {0x001ED5, 0x001ED5}, + {0x001ED7, 0x001ED7}, + {0x001ED9, 0x001ED9}, + {0x001EDB, 0x001EDB}, + {0x001EDD, 0x001EDD}, + {0x001EDF, 0x001EDF}, + {0x001EE1, 0x001EE1}, + {0x001EE3, 0x001EE3}, + {0x001EE5, 0x001EE5}, + {0x001EE7, 0x001EE7}, + {0x001EE9, 0x001EE9}, + {0x001EEB, 0x001EEB}, + {0x001EED, 0x001EED}, + {0x001EEF, 0x001EEF}, + {0x001EF1, 0x001EF1}, + {0x001EF3, 0x001EF3}, + {0x001EF5, 0x001EF5}, + {0x001EF7, 0x001EF7}, + {0x001EF9, 0x001EF9}, + {0x001EFB, 0x001EFB}, + {0x001EFD, 0x001EFD}, + {0x001EFF, 0x001F07}, + {0x001F10, 0x001F15}, + {0x001F20, 0x001F27}, + {0x001F30, 0x001F37}, + {0x001F40, 0x001F45}, + {0x001F50, 0x001F57}, + {0x001F60, 0x001F67}, + {0x001F70, 0x001F7D}, + {0x001F80, 0x001F87}, + {0x001F90, 0x001F97}, + {0x001FA0, 0x001FA7}, + {0x001FB0, 0x001FB4}, + {0x001FB6, 0x001FB7}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FC7}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FD7}, + {0x001FE0, 0x001FE7}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FF7}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x00210A, 0x00210A}, + {0x00210E, 0x00210F}, + {0x002113, 0x002113}, + {0x00212F, 0x00212F}, + {0x002134, 0x002134}, + {0x002139, 0x002139}, + {0x00213C, 0x00213D}, + {0x002146, 0x002149}, + {0x00214E, 0x00214E}, + {0x002170, 0x00217F}, + {0x002184, 0x002184}, + {0x0024D0, 0x0024E9}, + {0x002C30, 0x002C5F}, + {0x002C61, 0x002C61}, + {0x002C65, 0x002C66}, + {0x002C68, 0x002C68}, + {0x002C6A, 0x002C6A}, + {0x002C6C, 0x002C6C}, + {0x002C71, 0x002C71}, + {0x002C73, 0x002C74}, + {0x002C76, 0x002C7D}, + {0x002C81, 0x002C81}, + {0x002C83, 0x002C83}, + {0x002C85, 0x002C85}, + {0x002C87, 0x002C87}, + {0x002C89, 0x002C89}, + {0x002C8B, 0x002C8B}, + {0x002C8D, 0x002C8D}, + {0x002C8F, 0x002C8F}, + {0x002C91, 0x002C91}, + {0x002C93, 0x002C93}, + {0x002C95, 0x002C95}, + {0x002C97, 0x002C97}, + {0x002C99, 0x002C99}, + {0x002C9B, 0x002C9B}, + {0x002C9D, 0x002C9D}, + {0x002C9F, 0x002C9F}, + {0x002CA1, 0x002CA1}, + {0x002CA3, 0x002CA3}, + {0x002CA5, 0x002CA5}, + {0x002CA7, 0x002CA7}, + {0x002CA9, 0x002CA9}, + {0x002CAB, 0x002CAB}, + {0x002CAD, 0x002CAD}, + {0x002CAF, 0x002CAF}, + {0x002CB1, 0x002CB1}, + {0x002CB3, 0x002CB3}, + {0x002CB5, 0x002CB5}, + {0x002CB7, 0x002CB7}, + {0x002CB9, 0x002CB9}, + {0x002CBB, 0x002CBB}, + {0x002CBD, 0x002CBD}, + {0x002CBF, 0x002CBF}, + {0x002CC1, 0x002CC1}, + {0x002CC3, 0x002CC3}, + {0x002CC5, 0x002CC5}, + {0x002CC7, 0x002CC7}, + {0x002CC9, 0x002CC9}, + {0x002CCB, 0x002CCB}, + {0x002CCD, 0x002CCD}, + {0x002CCF, 0x002CCF}, + {0x002CD1, 0x002CD1}, + {0x002CD3, 0x002CD3}, + {0x002CD5, 0x002CD5}, + {0x002CD7, 0x002CD7}, + {0x002CD9, 0x002CD9}, + {0x002CDB, 0x002CDB}, + {0x002CDD, 0x002CDD}, + {0x002CDF, 0x002CDF}, + {0x002CE1, 0x002CE1}, + {0x002CE3, 0x002CE4}, + {0x002CEC, 0x002CEC}, + {0x002CEE, 0x002CEE}, + {0x002CF3, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x00A641, 0x00A641}, + {0x00A643, 0x00A643}, + {0x00A645, 0x00A645}, + {0x00A647, 0x00A647}, + {0x00A649, 0x00A649}, + {0x00A64B, 0x00A64B}, + {0x00A64D, 0x00A64D}, + {0x00A64F, 0x00A64F}, + {0x00A651, 0x00A651}, + {0x00A653, 0x00A653}, + {0x00A655, 0x00A655}, + {0x00A657, 0x00A657}, + {0x00A659, 0x00A659}, + {0x00A65B, 0x00A65B}, + {0x00A65D, 0x00A65D}, + {0x00A65F, 0x00A65F}, + {0x00A661, 0x00A661}, + {0x00A663, 0x00A663}, + {0x00A665, 0x00A665}, + {0x00A667, 0x00A667}, + {0x00A669, 0x00A669}, + {0x00A66B, 0x00A66B}, + {0x00A66D, 0x00A66D}, + {0x00A681, 0x00A681}, + {0x00A683, 0x00A683}, + {0x00A685, 0x00A685}, + {0x00A687, 0x00A687}, + {0x00A689, 0x00A689}, + {0x00A68B, 0x00A68B}, + {0x00A68D, 0x00A68D}, + {0x00A68F, 0x00A68F}, + {0x00A691, 0x00A691}, + {0x00A693, 0x00A693}, + {0x00A695, 0x00A695}, + {0x00A697, 0x00A697}, + {0x00A699, 0x00A699}, + {0x00A69B, 0x00A69D}, + {0x00A723, 0x00A723}, + {0x00A725, 0x00A725}, + {0x00A727, 0x00A727}, + {0x00A729, 0x00A729}, + {0x00A72B, 0x00A72B}, + {0x00A72D, 0x00A72D}, + {0x00A72F, 0x00A731}, + {0x00A733, 0x00A733}, + {0x00A735, 0x00A735}, + {0x00A737, 0x00A737}, + {0x00A739, 0x00A739}, + {0x00A73B, 0x00A73B}, + {0x00A73D, 0x00A73D}, + {0x00A73F, 0x00A73F}, + {0x00A741, 0x00A741}, + {0x00A743, 0x00A743}, + {0x00A745, 0x00A745}, + {0x00A747, 0x00A747}, + {0x00A749, 0x00A749}, + {0x00A74B, 0x00A74B}, + {0x00A74D, 0x00A74D}, + {0x00A74F, 0x00A74F}, + {0x00A751, 0x00A751}, + {0x00A753, 0x00A753}, + {0x00A755, 0x00A755}, + {0x00A757, 0x00A757}, + {0x00A759, 0x00A759}, + {0x00A75B, 0x00A75B}, + {0x00A75D, 0x00A75D}, + {0x00A75F, 0x00A75F}, + {0x00A761, 0x00A761}, + {0x00A763, 0x00A763}, + {0x00A765, 0x00A765}, + {0x00A767, 0x00A767}, + {0x00A769, 0x00A769}, + {0x00A76B, 0x00A76B}, + {0x00A76D, 0x00A76D}, + {0x00A76F, 0x00A778}, + {0x00A77A, 0x00A77A}, + {0x00A77C, 0x00A77C}, + {0x00A77F, 0x00A77F}, + {0x00A781, 0x00A781}, + {0x00A783, 0x00A783}, + {0x00A785, 0x00A785}, + {0x00A787, 0x00A787}, + {0x00A78C, 0x00A78C}, + {0x00A78E, 0x00A78E}, + {0x00A791, 0x00A791}, + {0x00A793, 0x00A795}, + {0x00A797, 0x00A797}, + {0x00A799, 0x00A799}, + {0x00A79B, 0x00A79B}, + {0x00A79D, 0x00A79D}, + {0x00A79F, 0x00A79F}, + {0x00A7A1, 0x00A7A1}, + {0x00A7A3, 0x00A7A3}, + {0x00A7A5, 0x00A7A5}, + {0x00A7A7, 0x00A7A7}, + {0x00A7A9, 0x00A7A9}, + {0x00A7AF, 0x00A7AF}, + {0x00A7B5, 0x00A7B5}, + {0x00A7B7, 0x00A7B7}, + {0x00A7B9, 0x00A7B9}, + {0x00A7BB, 0x00A7BB}, + {0x00A7BD, 0x00A7BD}, + {0x00A7BF, 0x00A7BF}, + {0x00A7C1, 0x00A7C1}, + {0x00A7C3, 0x00A7C3}, + {0x00A7C8, 0x00A7C8}, + {0x00A7CA, 0x00A7CA}, + {0x00A7D1, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D5}, + {0x00A7D7, 0x00A7D7}, + {0x00A7D9, 0x00A7D9}, + {0x00A7F2, 0x00A7F4}, + {0x00A7F6, 0x00A7F6}, + {0x00A7F8, 0x00A7FA}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABBF}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FF41, 0x00FF5A}, + {0x010428, 0x01044F}, + {0x0104D8, 0x0104FB}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010780, 0x010780}, + {0x010783, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010CC0, 0x010CF2}, + {0x0118C0, 0x0118DF}, + {0x016E60, 0x016E7F}, + {0x01D41A, 0x01D433}, + {0x01D44E, 0x01D454}, + {0x01D456, 0x01D467}, + {0x01D482, 0x01D49B}, + {0x01D4B6, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D4CF}, + {0x01D4EA, 0x01D503}, + {0x01D51E, 0x01D537}, + {0x01D552, 0x01D56B}, + {0x01D586, 0x01D59F}, + {0x01D5BA, 0x01D5D3}, + {0x01D5EE, 0x01D607}, + {0x01D622, 0x01D63B}, + {0x01D656, 0x01D66F}, + {0x01D68A, 0x01D6A5}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6E1}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D71B}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D755}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D78F}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7C9}, + {0x01D7CB, 0x01D7CB}, + {0x01DF00, 0x01DF09}, + {0x01DF0B, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E030, 0x01E06D}, + {0x01E922, 0x01E943}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_lowercase(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_math.c b/vendor/librune/lib/rtype/rune_has_prop_math.c new file mode 100644 index 0000000..54858ba --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_math.c @@ -0,0 +1,168 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x80000000800000000210000000000050000000400000007000080000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00002B, 0x00002B}, + {0x00003C, 0x00003E}, + {0x00005E, 0x00005E}, + {0x00007C, 0x00007C}, + {0x00007E, 0x00007E}, + {0x0000AC, 0x0000AC}, + {0x0000B1, 0x0000B1}, + {0x0000D7, 0x0000D7}, + {0x0000F7, 0x0000F7}, + {0x0003D0, 0x0003D2}, + {0x0003D5, 0x0003D5}, + {0x0003F0, 0x0003F1}, + {0x0003F4, 0x0003F6}, + {0x000606, 0x000608}, + {0x002016, 0x002016}, + {0x002032, 0x002034}, + {0x002040, 0x002040}, + {0x002044, 0x002044}, + {0x002052, 0x002052}, + {0x002061, 0x002064}, + {0x00207A, 0x00207E}, + {0x00208A, 0x00208E}, + {0x0020D0, 0x0020DC}, + {0x0020E1, 0x0020E1}, + {0x0020E5, 0x0020E6}, + {0x0020EB, 0x0020EF}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002118, 0x00211D}, + {0x002124, 0x002124}, + {0x002128, 0x002129}, + {0x00212C, 0x00212D}, + {0x00212F, 0x002131}, + {0x002133, 0x002138}, + {0x00213C, 0x002149}, + {0x00214B, 0x00214B}, + {0x002190, 0x0021A7}, + {0x0021A9, 0x0021AE}, + {0x0021B0, 0x0021B1}, + {0x0021B6, 0x0021B7}, + {0x0021BC, 0x0021DB}, + {0x0021DD, 0x0021DD}, + {0x0021E4, 0x0021E5}, + {0x0021F4, 0x0022FF}, + {0x002308, 0x00230B}, + {0x002320, 0x002321}, + {0x00237C, 0x00237C}, + {0x00239B, 0x0023B5}, + {0x0023B7, 0x0023B7}, + {0x0023D0, 0x0023D0}, + {0x0023DC, 0x0023E2}, + {0x0025A0, 0x0025A1}, + {0x0025AE, 0x0025B7}, + {0x0025BC, 0x0025C1}, + {0x0025C6, 0x0025C7}, + {0x0025CA, 0x0025CB}, + {0x0025CF, 0x0025D3}, + {0x0025E2, 0x0025E2}, + {0x0025E4, 0x0025E4}, + {0x0025E7, 0x0025EC}, + {0x0025F8, 0x0025FF}, + {0x002605, 0x002606}, + {0x002640, 0x002640}, + {0x002642, 0x002642}, + {0x002660, 0x002663}, + {0x00266D, 0x00266F}, + {0x0027C0, 0x0027FF}, + {0x002900, 0x002AFF}, + {0x002B30, 0x002B44}, + {0x002B47, 0x002B4C}, + {0x00FB29, 0x00FB29}, + {0x00FE61, 0x00FE66}, + {0x00FE68, 0x00FE68}, + {0x00FF0B, 0x00FF0B}, + {0x00FF1C, 0x00FF1E}, + {0x00FF3C, 0x00FF3C}, + {0x00FF3E, 0x00FF3E}, + {0x00FF5C, 0x00FF5C}, + {0x00FF5E, 0x00FF5E}, + {0x00FFE2, 0x00FFE2}, + {0x00FFE9, 0x00FFEC}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D7CB}, + {0x01D7CE, 0x01D7FF}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x01EEF0, 0x01EEF1}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_math(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_noncharacter_code_point.c b/vendor/librune/lib/rtype/rune_has_prop_noncharacter_code_point.c new file mode 100644 index 0000000..64fe613 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_noncharacter_code_point.c @@ -0,0 +1,47 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00FDD0, 0x00FDEF}, + {0x00FFFE, 0x00FFFF}, + {0x01FFFE, 0x01FFFF}, + {0x02FFFE, 0x02FFFF}, + {0x03FFFE, 0x03FFFF}, + {0x04FFFE, 0x04FFFF}, + {0x05FFFE, 0x05FFFF}, + {0x06FFFE, 0x06FFFF}, + {0x07FFFE, 0x07FFFF}, + {0x08FFFE, 0x08FFFF}, + {0x09FFFE, 0x09FFFF}, + {0x0AFFFE, 0x0AFFFF}, + {0x0BFFFE, 0x0BFFFF}, + {0x0CFFFE, 0x0CFFFF}, + {0x0DFFFE, 0x0DFFFF}, + {0x0EFFFE, 0x0EFFFF}, + {0x0FFFFE, 0x0FFFFF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_noncharacter_code_point(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_pattern_syntax.c b/vendor/librune/lib/rtype/rune_has_prop_pattern_syntax.c new file mode 100644 index 0000000..bb25abd --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_pattern_syntax.c @@ -0,0 +1,58 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x8000000080000088435AFE000000007800000178000001FC00FFFE00000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000021, 0x00002F}, + {0x00003A, 0x000040}, + {0x00005B, 0x00005E}, + {0x000060, 0x000060}, + {0x00007B, 0x00007E}, + {0x0000A1, 0x0000A7}, + {0x0000A9, 0x0000A9}, + {0x0000AB, 0x0000AC}, + {0x0000AE, 0x0000AE}, + {0x0000B0, 0x0000B1}, + {0x0000B6, 0x0000B6}, + {0x0000BB, 0x0000BB}, + {0x0000BF, 0x0000BF}, + {0x0000D7, 0x0000D7}, + {0x0000F7, 0x0000F7}, + {0x002010, 0x002027}, + {0x002030, 0x00203E}, + {0x002041, 0x002053}, + {0x002055, 0x00205E}, + {0x002190, 0x00245F}, + {0x002500, 0x002775}, + {0x002794, 0x002BFF}, + {0x002E00, 0x002E7F}, + {0x003001, 0x003003}, + {0x003008, 0x003020}, + {0x003030, 0x003030}, + {0x00FD3E, 0x00FD3F}, + {0x00FE45, 0x00FE46}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_pattern_syntax(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_pattern_white_space.c b/vendor/librune/lib/rtype/rune_has_prop_pattern_white_space.c new file mode 100644 index 0000000..aa76d28 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_pattern_white_space.c @@ -0,0 +1,35 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x2000000000000000000000000100003E00uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000009, 0x00000D}, + {0x000020, 0x000020}, + {0x000085, 0x000085}, + {0x00200E, 0x00200F}, + {0x002028, 0x002029}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_pattern_white_space(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_prepended_concatenation_mark.c b/vendor/librune/lib/rtype/rune_has_prop_prepended_concatenation_mark.c new file mode 100644 index 0000000..ee5e1d5 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_prepended_concatenation_mark.c @@ -0,0 +1,37 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000600, 0x000605}, + {0x0006DD, 0x0006DD}, + {0x00070F, 0x00070F}, + {0x000890, 0x000891}, + {0x0008E2, 0x0008E2}, + {0x0110BD, 0x0110BD}, + {0x0110CD, 0x0110CD}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_prepended_concatenation_mark(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_quotation_mark.c b/vendor/librune/lib/rtype/rune_has_prop_quotation_mark.c new file mode 100644 index 0000000..78c693c --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_quotation_mark.c @@ -0,0 +1,43 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x80008000000000000000000000000000000008400000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000022, 0x000022}, + {0x000027, 0x000027}, + {0x0000AB, 0x0000AB}, + {0x0000BB, 0x0000BB}, + {0x002018, 0x00201F}, + {0x002039, 0x00203A}, + {0x002E42, 0x002E42}, + {0x00300C, 0x00300F}, + {0x00301D, 0x00301F}, + {0x00FE41, 0x00FE44}, + {0x00FF02, 0x00FF02}, + {0x00FF07, 0x00FF07}, + {0x00FF62, 0x00FF63}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_quotation_mark(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_radical.c b/vendor/librune/lib/rtype/rune_has_prop_radical.c new file mode 100644 index 0000000..a6c3587 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_radical.c @@ -0,0 +1,33 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x002E80, 0x002E99}, + {0x002E9B, 0x002EF3}, + {0x002F00, 0x002FD5}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_radical(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_regional_indicator.c b/vendor/librune/lib/rtype/rune_has_prop_regional_indicator.c new file mode 100644 index 0000000..87c6771 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_regional_indicator.c @@ -0,0 +1,31 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x01F1E6, 0x01F1FF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_regional_indicator(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_sentence_terminal.c b/vendor/librune/lib/rtype/rune_has_prop_sentence_terminal.c new file mode 100644 index 0000000..0e359fa --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_sentence_terminal.c @@ -0,0 +1,111 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x8000400200000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000021, 0x000021}, + {0x00002E, 0x00002E}, + {0x00003F, 0x00003F}, + {0x000589, 0x000589}, + {0x00061D, 0x00061F}, + {0x0006D4, 0x0006D4}, + {0x000700, 0x000702}, + {0x0007F9, 0x0007F9}, + {0x000837, 0x000837}, + {0x000839, 0x000839}, + {0x00083D, 0x00083E}, + {0x000964, 0x000965}, + {0x00104A, 0x00104B}, + {0x001362, 0x001362}, + {0x001367, 0x001368}, + {0x00166E, 0x00166E}, + {0x001735, 0x001736}, + {0x0017D4, 0x0017D5}, + {0x001803, 0x001803}, + {0x001809, 0x001809}, + {0x001944, 0x001945}, + {0x001AA8, 0x001AAB}, + {0x001B5A, 0x001B5B}, + {0x001B5E, 0x001B5F}, + {0x001B7D, 0x001B7E}, + {0x001C3B, 0x001C3C}, + {0x001C7E, 0x001C7F}, + {0x00203C, 0x00203D}, + {0x002047, 0x002049}, + {0x002E2E, 0x002E2E}, + {0x002E3C, 0x002E3C}, + {0x002E53, 0x002E54}, + {0x003002, 0x003002}, + {0x00A4FF, 0x00A4FF}, + {0x00A60E, 0x00A60F}, + {0x00A6F3, 0x00A6F3}, + {0x00A6F7, 0x00A6F7}, + {0x00A876, 0x00A877}, + {0x00A8CE, 0x00A8CF}, + {0x00A92F, 0x00A92F}, + {0x00A9C8, 0x00A9C9}, + {0x00AA5D, 0x00AA5F}, + {0x00AAF0, 0x00AAF1}, + {0x00ABEB, 0x00ABEB}, + {0x00FE52, 0x00FE52}, + {0x00FE56, 0x00FE57}, + {0x00FF01, 0x00FF01}, + {0x00FF0E, 0x00FF0E}, + {0x00FF1F, 0x00FF1F}, + {0x00FF61, 0x00FF61}, + {0x010A56, 0x010A57}, + {0x010F55, 0x010F59}, + {0x010F86, 0x010F89}, + {0x011047, 0x011048}, + {0x0110BE, 0x0110C1}, + {0x011141, 0x011143}, + {0x0111C5, 0x0111C6}, + {0x0111CD, 0x0111CD}, + {0x0111DE, 0x0111DF}, + {0x011238, 0x011239}, + {0x01123B, 0x01123C}, + {0x0112A9, 0x0112A9}, + {0x01144B, 0x01144C}, + {0x0115C2, 0x0115C3}, + {0x0115C9, 0x0115D7}, + {0x011641, 0x011642}, + {0x01173C, 0x01173E}, + {0x011944, 0x011944}, + {0x011946, 0x011946}, + {0x011A42, 0x011A43}, + {0x011A9B, 0x011A9C}, + {0x011C41, 0x011C42}, + {0x011EF7, 0x011EF8}, + {0x011F43, 0x011F44}, + {0x016A6E, 0x016A6F}, + {0x016AF5, 0x016AF5}, + {0x016B37, 0x016B38}, + {0x016B44, 0x016B44}, + {0x016E98, 0x016E98}, + {0x01BC9F, 0x01BC9F}, + {0x01DA88, 0x01DA88}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_sentence_terminal(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_soft_dotted.c b/vendor/librune/lib/rtype/rune_has_prop_soft_dotted.c new file mode 100644 index 0000000..0d522d1 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_soft_dotted.c @@ -0,0 +1,64 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x600000000000000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000069, 0x00006A}, + {0x00012F, 0x00012F}, + {0x000249, 0x000249}, + {0x000268, 0x000268}, + {0x00029D, 0x00029D}, + {0x0002B2, 0x0002B2}, + {0x0003F3, 0x0003F3}, + {0x000456, 0x000456}, + {0x000458, 0x000458}, + {0x001D62, 0x001D62}, + {0x001D96, 0x001D96}, + {0x001DA4, 0x001DA4}, + {0x001DA8, 0x001DA8}, + {0x001E2D, 0x001E2D}, + {0x001ECB, 0x001ECB}, + {0x002071, 0x002071}, + {0x002148, 0x002149}, + {0x002C7C, 0x002C7C}, + {0x01D422, 0x01D423}, + {0x01D456, 0x01D457}, + {0x01D48A, 0x01D48B}, + {0x01D4BE, 0x01D4BF}, + {0x01D4F2, 0x01D4F3}, + {0x01D526, 0x01D527}, + {0x01D55A, 0x01D55B}, + {0x01D58E, 0x01D58F}, + {0x01D5C2, 0x01D5C3}, + {0x01D5F6, 0x01D5F7}, + {0x01D62A, 0x01D62B}, + {0x01D65E, 0x01D65F}, + {0x01D692, 0x01D693}, + {0x01DF1A, 0x01DF1A}, + {0x01E04C, 0x01E04D}, + {0x01E068, 0x01E068}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_soft_dotted(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_terminal_punctuation.c b/vendor/librune/lib/rtype/rune_has_prop_terminal_punctuation.c new file mode 100644 index 0000000..9e73405 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_terminal_punctuation.c @@ -0,0 +1,138 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x8C00500200000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000021, 0x000021}, + {0x00002C, 0x00002C}, + {0x00002E, 0x00002E}, + {0x00003A, 0x00003B}, + {0x00003F, 0x00003F}, + {0x00037E, 0x00037E}, + {0x000387, 0x000387}, + {0x000589, 0x000589}, + {0x0005C3, 0x0005C3}, + {0x00060C, 0x00060C}, + {0x00061B, 0x00061B}, + {0x00061D, 0x00061F}, + {0x0006D4, 0x0006D4}, + {0x000700, 0x00070A}, + {0x00070C, 0x00070C}, + {0x0007F8, 0x0007F9}, + {0x000830, 0x00083E}, + {0x00085E, 0x00085E}, + {0x000964, 0x000965}, + {0x000E5A, 0x000E5B}, + {0x000F08, 0x000F08}, + {0x000F0D, 0x000F12}, + {0x00104A, 0x00104B}, + {0x001361, 0x001368}, + {0x00166E, 0x00166E}, + {0x0016EB, 0x0016ED}, + {0x001735, 0x001736}, + {0x0017D4, 0x0017D6}, + {0x0017DA, 0x0017DA}, + {0x001802, 0x001805}, + {0x001808, 0x001809}, + {0x001944, 0x001945}, + {0x001AA8, 0x001AAB}, + {0x001B5A, 0x001B5B}, + {0x001B5D, 0x001B5F}, + {0x001B7D, 0x001B7E}, + {0x001C3B, 0x001C3F}, + {0x001C7E, 0x001C7F}, + {0x00203C, 0x00203D}, + {0x002047, 0x002049}, + {0x002E2E, 0x002E2E}, + {0x002E3C, 0x002E3C}, + {0x002E41, 0x002E41}, + {0x002E4C, 0x002E4C}, + {0x002E4E, 0x002E4F}, + {0x002E53, 0x002E54}, + {0x003001, 0x003002}, + {0x00A4FE, 0x00A4FF}, + {0x00A60D, 0x00A60F}, + {0x00A6F3, 0x00A6F7}, + {0x00A876, 0x00A877}, + {0x00A8CE, 0x00A8CF}, + {0x00A92F, 0x00A92F}, + {0x00A9C7, 0x00A9C9}, + {0x00AA5D, 0x00AA5F}, + {0x00AADF, 0x00AADF}, + {0x00AAF0, 0x00AAF1}, + {0x00ABEB, 0x00ABEB}, + {0x00FE50, 0x00FE52}, + {0x00FE54, 0x00FE57}, + {0x00FF01, 0x00FF01}, + {0x00FF0C, 0x00FF0C}, + {0x00FF0E, 0x00FF0E}, + {0x00FF1A, 0x00FF1B}, + {0x00FF1F, 0x00FF1F}, + {0x00FF61, 0x00FF61}, + {0x00FF64, 0x00FF64}, + {0x01039F, 0x01039F}, + {0x0103D0, 0x0103D0}, + {0x010857, 0x010857}, + {0x01091F, 0x01091F}, + {0x010A56, 0x010A57}, + {0x010AF0, 0x010AF5}, + {0x010B3A, 0x010B3F}, + {0x010B99, 0x010B9C}, + {0x010F55, 0x010F59}, + {0x010F86, 0x010F89}, + {0x011047, 0x01104D}, + {0x0110BE, 0x0110C1}, + {0x011141, 0x011143}, + {0x0111C5, 0x0111C6}, + {0x0111CD, 0x0111CD}, + {0x0111DE, 0x0111DF}, + {0x011238, 0x01123C}, + {0x0112A9, 0x0112A9}, + {0x01144B, 0x01144D}, + {0x01145A, 0x01145B}, + {0x0115C2, 0x0115C5}, + {0x0115C9, 0x0115D7}, + {0x011641, 0x011642}, + {0x01173C, 0x01173E}, + {0x011944, 0x011944}, + {0x011946, 0x011946}, + {0x011A42, 0x011A43}, + {0x011A9B, 0x011A9C}, + {0x011AA1, 0x011AA2}, + {0x011C41, 0x011C43}, + {0x011C71, 0x011C71}, + {0x011EF7, 0x011EF8}, + {0x011F43, 0x011F44}, + {0x012470, 0x012474}, + {0x016A6E, 0x016A6F}, + {0x016AF5, 0x016AF5}, + {0x016B37, 0x016B39}, + {0x016B44, 0x016B44}, + {0x016E97, 0x016E98}, + {0x01BC9F, 0x01BC9F}, + {0x01DA87, 0x01DA8A}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_terminal_punctuation(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_unified_ideograph.c b/vendor/librune/lib/rtype/rune_has_prop_unified_ideograph.c new file mode 100644 index 0000000..b7bc92c --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_unified_ideograph.c @@ -0,0 +1,47 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x003400, 0x004DBF}, + {0x004E00, 0x009FFF}, + {0x00FA0E, 0x00FA0F}, + {0x00FA11, 0x00FA11}, + {0x00FA13, 0x00FA14}, + {0x00FA1F, 0x00FA1F}, + {0x00FA21, 0x00FA21}, + {0x00FA23, 0x00FA24}, + {0x00FA27, 0x00FA29}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_unified_ideograph(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_uppercase.c b/vendor/librune/lib/rtype/rune_has_prop_uppercase.c new file mode 100644 index 0000000..c828733 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_uppercase.c @@ -0,0 +1,681 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x7F7FFFFF00000000000000000000000007FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000DE}, + {0x000100, 0x000100}, + {0x000102, 0x000102}, + {0x000104, 0x000104}, + {0x000106, 0x000106}, + {0x000108, 0x000108}, + {0x00010A, 0x00010A}, + {0x00010C, 0x00010C}, + {0x00010E, 0x00010E}, + {0x000110, 0x000110}, + {0x000112, 0x000112}, + {0x000114, 0x000114}, + {0x000116, 0x000116}, + {0x000118, 0x000118}, + {0x00011A, 0x00011A}, + {0x00011C, 0x00011C}, + {0x00011E, 0x00011E}, + {0x000120, 0x000120}, + {0x000122, 0x000122}, + {0x000124, 0x000124}, + {0x000126, 0x000126}, + {0x000128, 0x000128}, + {0x00012A, 0x00012A}, + {0x00012C, 0x00012C}, + {0x00012E, 0x00012E}, + {0x000130, 0x000130}, + {0x000132, 0x000132}, + {0x000134, 0x000134}, + {0x000136, 0x000136}, + {0x000139, 0x000139}, + {0x00013B, 0x00013B}, + {0x00013D, 0x00013D}, + {0x00013F, 0x00013F}, + {0x000141, 0x000141}, + {0x000143, 0x000143}, + {0x000145, 0x000145}, + {0x000147, 0x000147}, + {0x00014A, 0x00014A}, + {0x00014C, 0x00014C}, + {0x00014E, 0x00014E}, + {0x000150, 0x000150}, + {0x000152, 0x000152}, + {0x000154, 0x000154}, + {0x000156, 0x000156}, + {0x000158, 0x000158}, + {0x00015A, 0x00015A}, + {0x00015C, 0x00015C}, + {0x00015E, 0x00015E}, + {0x000160, 0x000160}, + {0x000162, 0x000162}, + {0x000164, 0x000164}, + {0x000166, 0x000166}, + {0x000168, 0x000168}, + {0x00016A, 0x00016A}, + {0x00016C, 0x00016C}, + {0x00016E, 0x00016E}, + {0x000170, 0x000170}, + {0x000172, 0x000172}, + {0x000174, 0x000174}, + {0x000176, 0x000176}, + {0x000178, 0x000179}, + {0x00017B, 0x00017B}, + {0x00017D, 0x00017D}, + {0x000181, 0x000182}, + {0x000184, 0x000184}, + {0x000186, 0x000187}, + {0x000189, 0x00018B}, + {0x00018E, 0x000191}, + {0x000193, 0x000194}, + {0x000196, 0x000198}, + {0x00019C, 0x00019D}, + {0x00019F, 0x0001A0}, + {0x0001A2, 0x0001A2}, + {0x0001A4, 0x0001A4}, + {0x0001A6, 0x0001A7}, + {0x0001A9, 0x0001A9}, + {0x0001AC, 0x0001AC}, + {0x0001AE, 0x0001AF}, + {0x0001B1, 0x0001B3}, + {0x0001B5, 0x0001B5}, + {0x0001B7, 0x0001B8}, + {0x0001BC, 0x0001BC}, + {0x0001C4, 0x0001C4}, + {0x0001C7, 0x0001C7}, + {0x0001CA, 0x0001CA}, + {0x0001CD, 0x0001CD}, + {0x0001CF, 0x0001CF}, + {0x0001D1, 0x0001D1}, + {0x0001D3, 0x0001D3}, + {0x0001D5, 0x0001D5}, + {0x0001D7, 0x0001D7}, + {0x0001D9, 0x0001D9}, + {0x0001DB, 0x0001DB}, + {0x0001DE, 0x0001DE}, + {0x0001E0, 0x0001E0}, + {0x0001E2, 0x0001E2}, + {0x0001E4, 0x0001E4}, + {0x0001E6, 0x0001E6}, + {0x0001E8, 0x0001E8}, + {0x0001EA, 0x0001EA}, + {0x0001EC, 0x0001EC}, + {0x0001EE, 0x0001EE}, + {0x0001F1, 0x0001F1}, + {0x0001F4, 0x0001F4}, + {0x0001F6, 0x0001F8}, + {0x0001FA, 0x0001FA}, + {0x0001FC, 0x0001FC}, + {0x0001FE, 0x0001FE}, + {0x000200, 0x000200}, + {0x000202, 0x000202}, + {0x000204, 0x000204}, + {0x000206, 0x000206}, + {0x000208, 0x000208}, + {0x00020A, 0x00020A}, + {0x00020C, 0x00020C}, + {0x00020E, 0x00020E}, + {0x000210, 0x000210}, + {0x000212, 0x000212}, + {0x000214, 0x000214}, + {0x000216, 0x000216}, + {0x000218, 0x000218}, + {0x00021A, 0x00021A}, + {0x00021C, 0x00021C}, + {0x00021E, 0x00021E}, + {0x000220, 0x000220}, + {0x000222, 0x000222}, + {0x000224, 0x000224}, + {0x000226, 0x000226}, + {0x000228, 0x000228}, + {0x00022A, 0x00022A}, + {0x00022C, 0x00022C}, + {0x00022E, 0x00022E}, + {0x000230, 0x000230}, + {0x000232, 0x000232}, + {0x00023A, 0x00023B}, + {0x00023D, 0x00023E}, + {0x000241, 0x000241}, + {0x000243, 0x000246}, + {0x000248, 0x000248}, + {0x00024A, 0x00024A}, + {0x00024C, 0x00024C}, + {0x00024E, 0x00024E}, + {0x000370, 0x000370}, + {0x000372, 0x000372}, + {0x000376, 0x000376}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x00038F}, + {0x000391, 0x0003A1}, + {0x0003A3, 0x0003AB}, + {0x0003CF, 0x0003CF}, + {0x0003D2, 0x0003D4}, + {0x0003D8, 0x0003D8}, + {0x0003DA, 0x0003DA}, + {0x0003DC, 0x0003DC}, + {0x0003DE, 0x0003DE}, + {0x0003E0, 0x0003E0}, + {0x0003E2, 0x0003E2}, + {0x0003E4, 0x0003E4}, + {0x0003E6, 0x0003E6}, + {0x0003E8, 0x0003E8}, + {0x0003EA, 0x0003EA}, + {0x0003EC, 0x0003EC}, + {0x0003EE, 0x0003EE}, + {0x0003F4, 0x0003F4}, + {0x0003F7, 0x0003F7}, + {0x0003F9, 0x0003FA}, + {0x0003FD, 0x00042F}, + {0x000460, 0x000460}, + {0x000462, 0x000462}, + {0x000464, 0x000464}, + {0x000466, 0x000466}, + {0x000468, 0x000468}, + {0x00046A, 0x00046A}, + {0x00046C, 0x00046C}, + {0x00046E, 0x00046E}, + {0x000470, 0x000470}, + {0x000472, 0x000472}, + {0x000474, 0x000474}, + {0x000476, 0x000476}, + {0x000478, 0x000478}, + {0x00047A, 0x00047A}, + {0x00047C, 0x00047C}, + {0x00047E, 0x00047E}, + {0x000480, 0x000480}, + {0x00048A, 0x00048A}, + {0x00048C, 0x00048C}, + {0x00048E, 0x00048E}, + {0x000490, 0x000490}, + {0x000492, 0x000492}, + {0x000494, 0x000494}, + {0x000496, 0x000496}, + {0x000498, 0x000498}, + {0x00049A, 0x00049A}, + {0x00049C, 0x00049C}, + {0x00049E, 0x00049E}, + {0x0004A0, 0x0004A0}, + {0x0004A2, 0x0004A2}, + {0x0004A4, 0x0004A4}, + {0x0004A6, 0x0004A6}, + {0x0004A8, 0x0004A8}, + {0x0004AA, 0x0004AA}, + {0x0004AC, 0x0004AC}, + {0x0004AE, 0x0004AE}, + {0x0004B0, 0x0004B0}, + {0x0004B2, 0x0004B2}, + {0x0004B4, 0x0004B4}, + {0x0004B6, 0x0004B6}, + {0x0004B8, 0x0004B8}, + {0x0004BA, 0x0004BA}, + {0x0004BC, 0x0004BC}, + {0x0004BE, 0x0004BE}, + {0x0004C0, 0x0004C1}, + {0x0004C3, 0x0004C3}, + {0x0004C5, 0x0004C5}, + {0x0004C7, 0x0004C7}, + {0x0004C9, 0x0004C9}, + {0x0004CB, 0x0004CB}, + {0x0004CD, 0x0004CD}, + {0x0004D0, 0x0004D0}, + {0x0004D2, 0x0004D2}, + {0x0004D4, 0x0004D4}, + {0x0004D6, 0x0004D6}, + {0x0004D8, 0x0004D8}, + {0x0004DA, 0x0004DA}, + {0x0004DC, 0x0004DC}, + {0x0004DE, 0x0004DE}, + {0x0004E0, 0x0004E0}, + {0x0004E2, 0x0004E2}, + {0x0004E4, 0x0004E4}, + {0x0004E6, 0x0004E6}, + {0x0004E8, 0x0004E8}, + {0x0004EA, 0x0004EA}, + {0x0004EC, 0x0004EC}, + {0x0004EE, 0x0004EE}, + {0x0004F0, 0x0004F0}, + {0x0004F2, 0x0004F2}, + {0x0004F4, 0x0004F4}, + {0x0004F6, 0x0004F6}, + {0x0004F8, 0x0004F8}, + {0x0004FA, 0x0004FA}, + {0x0004FC, 0x0004FC}, + {0x0004FE, 0x0004FE}, + {0x000500, 0x000500}, + {0x000502, 0x000502}, + {0x000504, 0x000504}, + {0x000506, 0x000506}, + {0x000508, 0x000508}, + {0x00050A, 0x00050A}, + {0x00050C, 0x00050C}, + {0x00050E, 0x00050E}, + {0x000510, 0x000510}, + {0x000512, 0x000512}, + {0x000514, 0x000514}, + {0x000516, 0x000516}, + {0x000518, 0x000518}, + {0x00051A, 0x00051A}, + {0x00051C, 0x00051C}, + {0x00051E, 0x00051E}, + {0x000520, 0x000520}, + {0x000522, 0x000522}, + {0x000524, 0x000524}, + {0x000526, 0x000526}, + {0x000528, 0x000528}, + {0x00052A, 0x00052A}, + {0x00052C, 0x00052C}, + {0x00052E, 0x00052E}, + {0x000531, 0x000556}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0013A0, 0x0013F5}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001E00, 0x001E00}, + {0x001E02, 0x001E02}, + {0x001E04, 0x001E04}, + {0x001E06, 0x001E06}, + {0x001E08, 0x001E08}, + {0x001E0A, 0x001E0A}, + {0x001E0C, 0x001E0C}, + {0x001E0E, 0x001E0E}, + {0x001E10, 0x001E10}, + {0x001E12, 0x001E12}, + {0x001E14, 0x001E14}, + {0x001E16, 0x001E16}, + {0x001E18, 0x001E18}, + {0x001E1A, 0x001E1A}, + {0x001E1C, 0x001E1C}, + {0x001E1E, 0x001E1E}, + {0x001E20, 0x001E20}, + {0x001E22, 0x001E22}, + {0x001E24, 0x001E24}, + {0x001E26, 0x001E26}, + {0x001E28, 0x001E28}, + {0x001E2A, 0x001E2A}, + {0x001E2C, 0x001E2C}, + {0x001E2E, 0x001E2E}, + {0x001E30, 0x001E30}, + {0x001E32, 0x001E32}, + {0x001E34, 0x001E34}, + {0x001E36, 0x001E36}, + {0x001E38, 0x001E38}, + {0x001E3A, 0x001E3A}, + {0x001E3C, 0x001E3C}, + {0x001E3E, 0x001E3E}, + {0x001E40, 0x001E40}, + {0x001E42, 0x001E42}, + {0x001E44, 0x001E44}, + {0x001E46, 0x001E46}, + {0x001E48, 0x001E48}, + {0x001E4A, 0x001E4A}, + {0x001E4C, 0x001E4C}, + {0x001E4E, 0x001E4E}, + {0x001E50, 0x001E50}, + {0x001E52, 0x001E52}, + {0x001E54, 0x001E54}, + {0x001E56, 0x001E56}, + {0x001E58, 0x001E58}, + {0x001E5A, 0x001E5A}, + {0x001E5C, 0x001E5C}, + {0x001E5E, 0x001E5E}, + {0x001E60, 0x001E60}, + {0x001E62, 0x001E62}, + {0x001E64, 0x001E64}, + {0x001E66, 0x001E66}, + {0x001E68, 0x001E68}, + {0x001E6A, 0x001E6A}, + {0x001E6C, 0x001E6C}, + {0x001E6E, 0x001E6E}, + {0x001E70, 0x001E70}, + {0x001E72, 0x001E72}, + {0x001E74, 0x001E74}, + {0x001E76, 0x001E76}, + {0x001E78, 0x001E78}, + {0x001E7A, 0x001E7A}, + {0x001E7C, 0x001E7C}, + {0x001E7E, 0x001E7E}, + {0x001E80, 0x001E80}, + {0x001E82, 0x001E82}, + {0x001E84, 0x001E84}, + {0x001E86, 0x001E86}, + {0x001E88, 0x001E88}, + {0x001E8A, 0x001E8A}, + {0x001E8C, 0x001E8C}, + {0x001E8E, 0x001E8E}, + {0x001E90, 0x001E90}, + {0x001E92, 0x001E92}, + {0x001E94, 0x001E94}, + {0x001E9E, 0x001E9E}, + {0x001EA0, 0x001EA0}, + {0x001EA2, 0x001EA2}, + {0x001EA4, 0x001EA4}, + {0x001EA6, 0x001EA6}, + {0x001EA8, 0x001EA8}, + {0x001EAA, 0x001EAA}, + {0x001EAC, 0x001EAC}, + {0x001EAE, 0x001EAE}, + {0x001EB0, 0x001EB0}, + {0x001EB2, 0x001EB2}, + {0x001EB4, 0x001EB4}, + {0x001EB6, 0x001EB6}, + {0x001EB8, 0x001EB8}, + {0x001EBA, 0x001EBA}, + {0x001EBC, 0x001EBC}, + {0x001EBE, 0x001EBE}, + {0x001EC0, 0x001EC0}, + {0x001EC2, 0x001EC2}, + {0x001EC4, 0x001EC4}, + {0x001EC6, 0x001EC6}, + {0x001EC8, 0x001EC8}, + {0x001ECA, 0x001ECA}, + {0x001ECC, 0x001ECC}, + {0x001ECE, 0x001ECE}, + {0x001ED0, 0x001ED0}, + {0x001ED2, 0x001ED2}, + {0x001ED4, 0x001ED4}, + {0x001ED6, 0x001ED6}, + {0x001ED8, 0x001ED8}, + {0x001EDA, 0x001EDA}, + {0x001EDC, 0x001EDC}, + {0x001EDE, 0x001EDE}, + {0x001EE0, 0x001EE0}, + {0x001EE2, 0x001EE2}, + {0x001EE4, 0x001EE4}, + {0x001EE6, 0x001EE6}, + {0x001EE8, 0x001EE8}, + {0x001EEA, 0x001EEA}, + {0x001EEC, 0x001EEC}, + {0x001EEE, 0x001EEE}, + {0x001EF0, 0x001EF0}, + {0x001EF2, 0x001EF2}, + {0x001EF4, 0x001EF4}, + {0x001EF6, 0x001EF6}, + {0x001EF8, 0x001EF8}, + {0x001EFA, 0x001EFA}, + {0x001EFC, 0x001EFC}, + {0x001EFE, 0x001EFE}, + {0x001F08, 0x001F0F}, + {0x001F18, 0x001F1D}, + {0x001F28, 0x001F2F}, + {0x001F38, 0x001F3F}, + {0x001F48, 0x001F4D}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F5F}, + {0x001F68, 0x001F6F}, + {0x001FB8, 0x001FBB}, + {0x001FC8, 0x001FCB}, + {0x001FD8, 0x001FDB}, + {0x001FE8, 0x001FEC}, + {0x001FF8, 0x001FFB}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210B, 0x00210D}, + {0x002110, 0x002112}, + {0x002115, 0x002115}, + {0x002119, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x00212D}, + {0x002130, 0x002133}, + {0x00213E, 0x00213F}, + {0x002145, 0x002145}, + {0x002160, 0x00216F}, + {0x002183, 0x002183}, + {0x0024B6, 0x0024CF}, + {0x002C00, 0x002C2F}, + {0x002C60, 0x002C60}, + {0x002C62, 0x002C64}, + {0x002C67, 0x002C67}, + {0x002C69, 0x002C69}, + {0x002C6B, 0x002C6B}, + {0x002C6D, 0x002C70}, + {0x002C72, 0x002C72}, + {0x002C75, 0x002C75}, + {0x002C7E, 0x002C80}, + {0x002C82, 0x002C82}, + {0x002C84, 0x002C84}, + {0x002C86, 0x002C86}, + {0x002C88, 0x002C88}, + {0x002C8A, 0x002C8A}, + {0x002C8C, 0x002C8C}, + {0x002C8E, 0x002C8E}, + {0x002C90, 0x002C90}, + {0x002C92, 0x002C92}, + {0x002C94, 0x002C94}, + {0x002C96, 0x002C96}, + {0x002C98, 0x002C98}, + {0x002C9A, 0x002C9A}, + {0x002C9C, 0x002C9C}, + {0x002C9E, 0x002C9E}, + {0x002CA0, 0x002CA0}, + {0x002CA2, 0x002CA2}, + {0x002CA4, 0x002CA4}, + {0x002CA6, 0x002CA6}, + {0x002CA8, 0x002CA8}, + {0x002CAA, 0x002CAA}, + {0x002CAC, 0x002CAC}, + {0x002CAE, 0x002CAE}, + {0x002CB0, 0x002CB0}, + {0x002CB2, 0x002CB2}, + {0x002CB4, 0x002CB4}, + {0x002CB6, 0x002CB6}, + {0x002CB8, 0x002CB8}, + {0x002CBA, 0x002CBA}, + {0x002CBC, 0x002CBC}, + {0x002CBE, 0x002CBE}, + {0x002CC0, 0x002CC0}, + {0x002CC2, 0x002CC2}, + {0x002CC4, 0x002CC4}, + {0x002CC6, 0x002CC6}, + {0x002CC8, 0x002CC8}, + {0x002CCA, 0x002CCA}, + {0x002CCC, 0x002CCC}, + {0x002CCE, 0x002CCE}, + {0x002CD0, 0x002CD0}, + {0x002CD2, 0x002CD2}, + {0x002CD4, 0x002CD4}, + {0x002CD6, 0x002CD6}, + {0x002CD8, 0x002CD8}, + {0x002CDA, 0x002CDA}, + {0x002CDC, 0x002CDC}, + {0x002CDE, 0x002CDE}, + {0x002CE0, 0x002CE0}, + {0x002CE2, 0x002CE2}, + {0x002CEB, 0x002CEB}, + {0x002CED, 0x002CED}, + {0x002CF2, 0x002CF2}, + {0x00A640, 0x00A640}, + {0x00A642, 0x00A642}, + {0x00A644, 0x00A644}, + {0x00A646, 0x00A646}, + {0x00A648, 0x00A648}, + {0x00A64A, 0x00A64A}, + {0x00A64C, 0x00A64C}, + {0x00A64E, 0x00A64E}, + {0x00A650, 0x00A650}, + {0x00A652, 0x00A652}, + {0x00A654, 0x00A654}, + {0x00A656, 0x00A656}, + {0x00A658, 0x00A658}, + {0x00A65A, 0x00A65A}, + {0x00A65C, 0x00A65C}, + {0x00A65E, 0x00A65E}, + {0x00A660, 0x00A660}, + {0x00A662, 0x00A662}, + {0x00A664, 0x00A664}, + {0x00A666, 0x00A666}, + {0x00A668, 0x00A668}, + {0x00A66A, 0x00A66A}, + {0x00A66C, 0x00A66C}, + {0x00A680, 0x00A680}, + {0x00A682, 0x00A682}, + {0x00A684, 0x00A684}, + {0x00A686, 0x00A686}, + {0x00A688, 0x00A688}, + {0x00A68A, 0x00A68A}, + {0x00A68C, 0x00A68C}, + {0x00A68E, 0x00A68E}, + {0x00A690, 0x00A690}, + {0x00A692, 0x00A692}, + {0x00A694, 0x00A694}, + {0x00A696, 0x00A696}, + {0x00A698, 0x00A698}, + {0x00A69A, 0x00A69A}, + {0x00A722, 0x00A722}, + {0x00A724, 0x00A724}, + {0x00A726, 0x00A726}, + {0x00A728, 0x00A728}, + {0x00A72A, 0x00A72A}, + {0x00A72C, 0x00A72C}, + {0x00A72E, 0x00A72E}, + {0x00A732, 0x00A732}, + {0x00A734, 0x00A734}, + {0x00A736, 0x00A736}, + {0x00A738, 0x00A738}, + {0x00A73A, 0x00A73A}, + {0x00A73C, 0x00A73C}, + {0x00A73E, 0x00A73E}, + {0x00A740, 0x00A740}, + {0x00A742, 0x00A742}, + {0x00A744, 0x00A744}, + {0x00A746, 0x00A746}, + {0x00A748, 0x00A748}, + {0x00A74A, 0x00A74A}, + {0x00A74C, 0x00A74C}, + {0x00A74E, 0x00A74E}, + {0x00A750, 0x00A750}, + {0x00A752, 0x00A752}, + {0x00A754, 0x00A754}, + {0x00A756, 0x00A756}, + {0x00A758, 0x00A758}, + {0x00A75A, 0x00A75A}, + {0x00A75C, 0x00A75C}, + {0x00A75E, 0x00A75E}, + {0x00A760, 0x00A760}, + {0x00A762, 0x00A762}, + {0x00A764, 0x00A764}, + {0x00A766, 0x00A766}, + {0x00A768, 0x00A768}, + {0x00A76A, 0x00A76A}, + {0x00A76C, 0x00A76C}, + {0x00A76E, 0x00A76E}, + {0x00A779, 0x00A779}, + {0x00A77B, 0x00A77B}, + {0x00A77D, 0x00A77E}, + {0x00A780, 0x00A780}, + {0x00A782, 0x00A782}, + {0x00A784, 0x00A784}, + {0x00A786, 0x00A786}, + {0x00A78B, 0x00A78B}, + {0x00A78D, 0x00A78D}, + {0x00A790, 0x00A790}, + {0x00A792, 0x00A792}, + {0x00A796, 0x00A796}, + {0x00A798, 0x00A798}, + {0x00A79A, 0x00A79A}, + {0x00A79C, 0x00A79C}, + {0x00A79E, 0x00A79E}, + {0x00A7A0, 0x00A7A0}, + {0x00A7A2, 0x00A7A2}, + {0x00A7A4, 0x00A7A4}, + {0x00A7A6, 0x00A7A6}, + {0x00A7A8, 0x00A7A8}, + {0x00A7AA, 0x00A7AE}, + {0x00A7B0, 0x00A7B4}, + {0x00A7B6, 0x00A7B6}, + {0x00A7B8, 0x00A7B8}, + {0x00A7BA, 0x00A7BA}, + {0x00A7BC, 0x00A7BC}, + {0x00A7BE, 0x00A7BE}, + {0x00A7C0, 0x00A7C0}, + {0x00A7C2, 0x00A7C2}, + {0x00A7C4, 0x00A7C7}, + {0x00A7C9, 0x00A7C9}, + {0x00A7D0, 0x00A7D0}, + {0x00A7D6, 0x00A7D6}, + {0x00A7D8, 0x00A7D8}, + {0x00A7F5, 0x00A7F5}, + {0x00FF21, 0x00FF3A}, + {0x010400, 0x010427}, + {0x0104B0, 0x0104D3}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010C80, 0x010CB2}, + {0x0118A0, 0x0118BF}, + {0x016E40, 0x016E5F}, + {0x01D400, 0x01D419}, + {0x01D434, 0x01D44D}, + {0x01D468, 0x01D481}, + {0x01D49C, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B5}, + {0x01D4D0, 0x01D4E9}, + {0x01D504, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D538, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D56C, 0x01D585}, + {0x01D5A0, 0x01D5B9}, + {0x01D5D4, 0x01D5ED}, + {0x01D608, 0x01D621}, + {0x01D63C, 0x01D655}, + {0x01D670, 0x01D689}, + {0x01D6A8, 0x01D6C0}, + {0x01D6E2, 0x01D6FA}, + {0x01D71C, 0x01D734}, + {0x01D756, 0x01D76E}, + {0x01D790, 0x01D7A8}, + {0x01D7CA, 0x01D7CA}, + {0x01E900, 0x01E921}, + {0x01F130, 0x01F149}, + {0x01F150, 0x01F169}, + {0x01F170, 0x01F189}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_uppercase(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_variation_selector.c b/vendor/librune/lib/rtype/rune_has_prop_variation_selector.c new file mode 100644 index 0000000..fefa023 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_variation_selector.c @@ -0,0 +1,34 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x0uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x00180B, 0x00180D}, + {0x00180F, 0x00180F}, + {0x00FE00, 0x00FE0F}, + {0x0E0100, 0x0E01EF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_variation_selector(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_white_space.c b/vendor/librune/lib/rtype/rune_has_prop_white_space.c new file mode 100644 index 0000000..07f9c08 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_white_space.c @@ -0,0 +1,40 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0x10000002000000000000000000000000100003E00uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000009, 0x00000D}, + {0x000020, 0x000020}, + {0x000085, 0x000085}, + {0x0000A0, 0x0000A0}, + {0x001680, 0x001680}, + {0x002000, 0x00200A}, + {0x002028, 0x002029}, + {0x00202F, 0x00202F}, + {0x00205F, 0x00205F}, + {0x003000, 0x003000}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_white_space(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_xid_continue.c b/vendor/librune/lib/rtype/rune_has_prop_xid_continue.c new file mode 100644 index 0000000..7f71bbf --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_xid_continue.c @@ -0,0 +1,806 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF04A004000000000007FFFFFE87FFFFFE03FF000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000030, 0x000039}, + {0x000041, 0x00005A}, + {0x00005F, 0x00005F}, + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000B7, 0x0000B7}, + {0x0000BA, 0x0000BA}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x0002C1}, + {0x0002C6, 0x0002D1}, + {0x0002E0, 0x0002E4}, + {0x0002EC, 0x0002EC}, + {0x0002EE, 0x0002EE}, + {0x000300, 0x000374}, + {0x000376, 0x000377}, + {0x00037B, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003F5}, + {0x0003F7, 0x000481}, + {0x000483, 0x000487}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000559, 0x000559}, + {0x000560, 0x000588}, + {0x000591, 0x0005BD}, + {0x0005BF, 0x0005BF}, + {0x0005C1, 0x0005C2}, + {0x0005C4, 0x0005C5}, + {0x0005C7, 0x0005C7}, + {0x0005D0, 0x0005EA}, + {0x0005EF, 0x0005F2}, + {0x000610, 0x00061A}, + {0x000620, 0x000669}, + {0x00066E, 0x0006D3}, + {0x0006D5, 0x0006DC}, + {0x0006DF, 0x0006E8}, + {0x0006EA, 0x0006FC}, + {0x0006FF, 0x0006FF}, + {0x000710, 0x00074A}, + {0x00074D, 0x0007B1}, + {0x0007C0, 0x0007F5}, + {0x0007FA, 0x0007FA}, + {0x0007FD, 0x0007FD}, + {0x000800, 0x00082D}, + {0x000840, 0x00085B}, + {0x000860, 0x00086A}, + {0x000870, 0x000887}, + {0x000889, 0x00088E}, + {0x000898, 0x0008E1}, + {0x0008E3, 0x000963}, + {0x000966, 0x00096F}, + {0x000971, 0x000983}, + {0x000985, 0x00098C}, + {0x00098F, 0x000990}, + {0x000993, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BC, 0x0009C4}, + {0x0009C7, 0x0009C8}, + {0x0009CB, 0x0009CE}, + {0x0009D7, 0x0009D7}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009E3}, + {0x0009E6, 0x0009F1}, + {0x0009FC, 0x0009FC}, + {0x0009FE, 0x0009FE}, + {0x000A01, 0x000A03}, + {0x000A05, 0x000A0A}, + {0x000A0F, 0x000A10}, + {0x000A13, 0x000A28}, + {0x000A2A, 0x000A30}, + {0x000A32, 0x000A33}, + {0x000A35, 0x000A36}, + {0x000A38, 0x000A39}, + {0x000A3C, 0x000A3C}, + {0x000A3E, 0x000A42}, + {0x000A47, 0x000A48}, + {0x000A4B, 0x000A4D}, + {0x000A51, 0x000A51}, + {0x000A59, 0x000A5C}, + {0x000A5E, 0x000A5E}, + {0x000A66, 0x000A75}, + {0x000A81, 0x000A83}, + {0x000A85, 0x000A8D}, + {0x000A8F, 0x000A91}, + {0x000A93, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABC, 0x000AC5}, + {0x000AC7, 0x000AC9}, + {0x000ACB, 0x000ACD}, + {0x000AD0, 0x000AD0}, + {0x000AE0, 0x000AE3}, + {0x000AE6, 0x000AEF}, + {0x000AF9, 0x000AFF}, + {0x000B01, 0x000B03}, + {0x000B05, 0x000B0C}, + {0x000B0F, 0x000B10}, + {0x000B13, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3C, 0x000B44}, + {0x000B47, 0x000B48}, + {0x000B4B, 0x000B4D}, + {0x000B55, 0x000B57}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B63}, + {0x000B66, 0x000B6F}, + {0x000B71, 0x000B71}, + {0x000B82, 0x000B83}, + {0x000B85, 0x000B8A}, + {0x000B8E, 0x000B90}, + {0x000B92, 0x000B95}, + {0x000B99, 0x000B9A}, + {0x000B9C, 0x000B9C}, + {0x000B9E, 0x000B9F}, + {0x000BA3, 0x000BA4}, + {0x000BA8, 0x000BAA}, + {0x000BAE, 0x000BB9}, + {0x000BBE, 0x000BC2}, + {0x000BC6, 0x000BC8}, + {0x000BCA, 0x000BCD}, + {0x000BD0, 0x000BD0}, + {0x000BD7, 0x000BD7}, + {0x000BE6, 0x000BEF}, + {0x000C00, 0x000C0C}, + {0x000C0E, 0x000C10}, + {0x000C12, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3C, 0x000C44}, + {0x000C46, 0x000C48}, + {0x000C4A, 0x000C4D}, + {0x000C55, 0x000C56}, + {0x000C58, 0x000C5A}, + {0x000C5D, 0x000C5D}, + {0x000C60, 0x000C63}, + {0x000C66, 0x000C6F}, + {0x000C80, 0x000C83}, + {0x000C85, 0x000C8C}, + {0x000C8E, 0x000C90}, + {0x000C92, 0x000CA8}, + {0x000CAA, 0x000CB3}, + {0x000CB5, 0x000CB9}, + {0x000CBC, 0x000CC4}, + {0x000CC6, 0x000CC8}, + {0x000CCA, 0x000CCD}, + {0x000CD5, 0x000CD6}, + {0x000CDD, 0x000CDE}, + {0x000CE0, 0x000CE3}, + {0x000CE6, 0x000CEF}, + {0x000CF1, 0x000CF3}, + {0x000D00, 0x000D0C}, + {0x000D0E, 0x000D10}, + {0x000D12, 0x000D44}, + {0x000D46, 0x000D48}, + {0x000D4A, 0x000D4E}, + {0x000D54, 0x000D57}, + {0x000D5F, 0x000D63}, + {0x000D66, 0x000D6F}, + {0x000D7A, 0x000D7F}, + {0x000D81, 0x000D83}, + {0x000D85, 0x000D96}, + {0x000D9A, 0x000DB1}, + {0x000DB3, 0x000DBB}, + {0x000DBD, 0x000DBD}, + {0x000DC0, 0x000DC6}, + {0x000DCA, 0x000DCA}, + {0x000DCF, 0x000DD4}, + {0x000DD6, 0x000DD6}, + {0x000DD8, 0x000DDF}, + {0x000DE6, 0x000DEF}, + {0x000DF2, 0x000DF3}, + {0x000E01, 0x000E3A}, + {0x000E40, 0x000E4E}, + {0x000E50, 0x000E59}, + {0x000E81, 0x000E82}, + {0x000E84, 0x000E84}, + {0x000E86, 0x000E8A}, + {0x000E8C, 0x000EA3}, + {0x000EA5, 0x000EA5}, + {0x000EA7, 0x000EBD}, + {0x000EC0, 0x000EC4}, + {0x000EC6, 0x000EC6}, + {0x000EC8, 0x000ECE}, + {0x000ED0, 0x000ED9}, + {0x000EDC, 0x000EDF}, + {0x000F00, 0x000F00}, + {0x000F18, 0x000F19}, + {0x000F20, 0x000F29}, + {0x000F35, 0x000F35}, + {0x000F37, 0x000F37}, + {0x000F39, 0x000F39}, + {0x000F3E, 0x000F47}, + {0x000F49, 0x000F6C}, + {0x000F71, 0x000F84}, + {0x000F86, 0x000F97}, + {0x000F99, 0x000FBC}, + {0x000FC6, 0x000FC6}, + {0x001000, 0x001049}, + {0x001050, 0x00109D}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x001248}, + {0x00124A, 0x00124D}, + {0x001250, 0x001256}, + {0x001258, 0x001258}, + {0x00125A, 0x00125D}, + {0x001260, 0x001288}, + {0x00128A, 0x00128D}, + {0x001290, 0x0012B0}, + {0x0012B2, 0x0012B5}, + {0x0012B8, 0x0012BE}, + {0x0012C0, 0x0012C0}, + {0x0012C2, 0x0012C5}, + {0x0012C8, 0x0012D6}, + {0x0012D8, 0x001310}, + {0x001312, 0x001315}, + {0x001318, 0x00135A}, + {0x00135D, 0x00135F}, + {0x001369, 0x001371}, + {0x001380, 0x00138F}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001401, 0x00166C}, + {0x00166F, 0x00167F}, + {0x001681, 0x00169A}, + {0x0016A0, 0x0016EA}, + {0x0016EE, 0x0016F8}, + {0x001700, 0x001715}, + {0x00171F, 0x001734}, + {0x001740, 0x001753}, + {0x001760, 0x00176C}, + {0x00176E, 0x001770}, + {0x001772, 0x001773}, + {0x001780, 0x0017D3}, + {0x0017D7, 0x0017D7}, + {0x0017DC, 0x0017DD}, + {0x0017E0, 0x0017E9}, + {0x00180B, 0x00180D}, + {0x00180F, 0x001819}, + {0x001820, 0x001878}, + {0x001880, 0x0018AA}, + {0x0018B0, 0x0018F5}, + {0x001900, 0x00191E}, + {0x001920, 0x00192B}, + {0x001930, 0x00193B}, + {0x001946, 0x00196D}, + {0x001970, 0x001974}, + {0x001980, 0x0019AB}, + {0x0019B0, 0x0019C9}, + {0x0019D0, 0x0019DA}, + {0x001A00, 0x001A1B}, + {0x001A20, 0x001A5E}, + {0x001A60, 0x001A7C}, + {0x001A7F, 0x001A89}, + {0x001A90, 0x001A99}, + {0x001AA7, 0x001AA7}, + {0x001AB0, 0x001ABD}, + {0x001ABF, 0x001ACE}, + {0x001B00, 0x001B4C}, + {0x001B50, 0x001B59}, + {0x001B6B, 0x001B73}, + {0x001B80, 0x001BF3}, + {0x001C00, 0x001C37}, + {0x001C40, 0x001C49}, + {0x001C4D, 0x001C7D}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001CD0, 0x001CD2}, + {0x001CD4, 0x001CFA}, + {0x001D00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x00200C, 0x00200D}, + {0x00203F, 0x002040}, + {0x002054, 0x002054}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x0020D0, 0x0020DC}, + {0x0020E1, 0x0020E1}, + {0x0020E5, 0x0020F0}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002118, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x002139}, + {0x00213C, 0x00213F}, + {0x002145, 0x002149}, + {0x00214E, 0x00214E}, + {0x002160, 0x002188}, + {0x002C00, 0x002CE4}, + {0x002CEB, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x002D30, 0x002D67}, + {0x002D6F, 0x002D6F}, + {0x002D7F, 0x002D96}, + {0x002DA0, 0x002DA6}, + {0x002DA8, 0x002DAE}, + {0x002DB0, 0x002DB6}, + {0x002DB8, 0x002DBE}, + {0x002DC0, 0x002DC6}, + {0x002DC8, 0x002DCE}, + {0x002DD0, 0x002DD6}, + {0x002DD8, 0x002DDE}, + {0x002DE0, 0x002DFF}, + {0x003005, 0x003007}, + {0x003021, 0x00302F}, + {0x003031, 0x003035}, + {0x003038, 0x00303C}, + {0x003041, 0x003096}, + {0x003099, 0x00309A}, + {0x00309D, 0x00309F}, + {0x0030A1, 0x0030FF}, + {0x003105, 0x00312F}, + {0x003131, 0x00318E}, + {0x0031A0, 0x0031BF}, + {0x0031F0, 0x0031FF}, + {0x003400, 0x004DBF}, + {0x004E00, 0x00A48C}, + {0x00A4D0, 0x00A4FD}, + {0x00A500, 0x00A60C}, + {0x00A610, 0x00A62B}, + {0x00A640, 0x00A66F}, + {0x00A674, 0x00A67D}, + {0x00A67F, 0x00A6F1}, + {0x00A717, 0x00A71F}, + {0x00A722, 0x00A788}, + {0x00A78B, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A827}, + {0x00A82C, 0x00A82C}, + {0x00A840, 0x00A873}, + {0x00A880, 0x00A8C5}, + {0x00A8D0, 0x00A8D9}, + {0x00A8E0, 0x00A8F7}, + {0x00A8FB, 0x00A8FB}, + {0x00A8FD, 0x00A92D}, + {0x00A930, 0x00A953}, + {0x00A960, 0x00A97C}, + {0x00A980, 0x00A9C0}, + {0x00A9CF, 0x00A9D9}, + {0x00A9E0, 0x00A9FE}, + {0x00AA00, 0x00AA36}, + {0x00AA40, 0x00AA4D}, + {0x00AA50, 0x00AA59}, + {0x00AA60, 0x00AA76}, + {0x00AA7A, 0x00AAC2}, + {0x00AADB, 0x00AADD}, + {0x00AAE0, 0x00AAEF}, + {0x00AAF2, 0x00AAF6}, + {0x00AB01, 0x00AB06}, + {0x00AB09, 0x00AB0E}, + {0x00AB11, 0x00AB16}, + {0x00AB20, 0x00AB26}, + {0x00AB28, 0x00AB2E}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABEA}, + {0x00ABEC, 0x00ABED}, + {0x00ABF0, 0x00ABF9}, + {0x00AC00, 0x00D7A3}, + {0x00D7B0, 0x00D7C6}, + {0x00D7CB, 0x00D7FB}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FB1D, 0x00FB28}, + {0x00FB2A, 0x00FB36}, + {0x00FB38, 0x00FB3C}, + {0x00FB3E, 0x00FB3E}, + {0x00FB40, 0x00FB41}, + {0x00FB43, 0x00FB44}, + {0x00FB46, 0x00FBB1}, + {0x00FBD3, 0x00FC5D}, + {0x00FC64, 0x00FD3D}, + {0x00FD50, 0x00FD8F}, + {0x00FD92, 0x00FDC7}, + {0x00FDF0, 0x00FDF9}, + {0x00FE00, 0x00FE0F}, + {0x00FE20, 0x00FE2F}, + {0x00FE33, 0x00FE34}, + {0x00FE4D, 0x00FE4F}, + {0x00FE71, 0x00FE71}, + {0x00FE73, 0x00FE73}, + {0x00FE77, 0x00FE77}, + {0x00FE79, 0x00FE79}, + {0x00FE7B, 0x00FE7B}, + {0x00FE7D, 0x00FE7D}, + {0x00FE7F, 0x00FEFC}, + {0x00FF10, 0x00FF19}, + {0x00FF21, 0x00FF3A}, + {0x00FF3F, 0x00FF3F}, + {0x00FF41, 0x00FF5A}, + {0x00FF65, 0x00FFBE}, + {0x00FFC2, 0x00FFC7}, + {0x00FFCA, 0x00FFCF}, + {0x00FFD2, 0x00FFD7}, + {0x00FFDA, 0x00FFDC}, + {0x010000, 0x01000B}, + {0x01000D, 0x010026}, + {0x010028, 0x01003A}, + {0x01003C, 0x01003D}, + {0x01003F, 0x01004D}, + {0x010050, 0x01005D}, + {0x010080, 0x0100FA}, + {0x010140, 0x010174}, + {0x0101FD, 0x0101FD}, + {0x010280, 0x01029C}, + {0x0102A0, 0x0102D0}, + {0x0102E0, 0x0102E0}, + {0x010300, 0x01031F}, + {0x01032D, 0x01034A}, + {0x010350, 0x01037A}, + {0x010380, 0x01039D}, + {0x0103A0, 0x0103C3}, + {0x0103C8, 0x0103CF}, + {0x0103D1, 0x0103D5}, + {0x010400, 0x01049D}, + {0x0104A0, 0x0104A9}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010500, 0x010527}, + {0x010530, 0x010563}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010600, 0x010736}, + {0x010740, 0x010755}, + {0x010760, 0x010767}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010800, 0x010805}, + {0x010808, 0x010808}, + {0x01080A, 0x010835}, + {0x010837, 0x010838}, + {0x01083C, 0x01083C}, + {0x01083F, 0x010855}, + {0x010860, 0x010876}, + {0x010880, 0x01089E}, + {0x0108E0, 0x0108F2}, + {0x0108F4, 0x0108F5}, + {0x010900, 0x010915}, + {0x010920, 0x010939}, + {0x010980, 0x0109B7}, + {0x0109BE, 0x0109BF}, + {0x010A00, 0x010A03}, + {0x010A05, 0x010A06}, + {0x010A0C, 0x010A13}, + {0x010A15, 0x010A17}, + {0x010A19, 0x010A35}, + {0x010A38, 0x010A3A}, + {0x010A3F, 0x010A3F}, + {0x010A60, 0x010A7C}, + {0x010A80, 0x010A9C}, + {0x010AC0, 0x010AC7}, + {0x010AC9, 0x010AE6}, + {0x010B00, 0x010B35}, + {0x010B40, 0x010B55}, + {0x010B60, 0x010B72}, + {0x010B80, 0x010B91}, + {0x010C00, 0x010C48}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x010D00, 0x010D27}, + {0x010D30, 0x010D39}, + {0x010E80, 0x010EA9}, + {0x010EAB, 0x010EAC}, + {0x010EB0, 0x010EB1}, + {0x010EFD, 0x010F1C}, + {0x010F27, 0x010F27}, + {0x010F30, 0x010F50}, + {0x010F70, 0x010F85}, + {0x010FB0, 0x010FC4}, + {0x010FE0, 0x010FF6}, + {0x011000, 0x011046}, + {0x011066, 0x011075}, + {0x01107F, 0x0110BA}, + {0x0110C2, 0x0110C2}, + {0x0110D0, 0x0110E8}, + {0x0110F0, 0x0110F9}, + {0x011100, 0x011134}, + {0x011136, 0x01113F}, + {0x011144, 0x011147}, + {0x011150, 0x011173}, + {0x011176, 0x011176}, + {0x011180, 0x0111C4}, + {0x0111C9, 0x0111CC}, + {0x0111CE, 0x0111DA}, + {0x0111DC, 0x0111DC}, + {0x011200, 0x011211}, + {0x011213, 0x011237}, + {0x01123E, 0x011241}, + {0x011280, 0x011286}, + {0x011288, 0x011288}, + {0x01128A, 0x01128D}, + {0x01128F, 0x01129D}, + {0x01129F, 0x0112A8}, + {0x0112B0, 0x0112EA}, + {0x0112F0, 0x0112F9}, + {0x011300, 0x011303}, + {0x011305, 0x01130C}, + {0x01130F, 0x011310}, + {0x011313, 0x011328}, + {0x01132A, 0x011330}, + {0x011332, 0x011333}, + {0x011335, 0x011339}, + {0x01133B, 0x011344}, + {0x011347, 0x011348}, + {0x01134B, 0x01134D}, + {0x011350, 0x011350}, + {0x011357, 0x011357}, + {0x01135D, 0x011363}, + {0x011366, 0x01136C}, + {0x011370, 0x011374}, + {0x011400, 0x01144A}, + {0x011450, 0x011459}, + {0x01145E, 0x011461}, + {0x011480, 0x0114C5}, + {0x0114C7, 0x0114C7}, + {0x0114D0, 0x0114D9}, + {0x011580, 0x0115B5}, + {0x0115B8, 0x0115C0}, + {0x0115D8, 0x0115DD}, + {0x011600, 0x011640}, + {0x011644, 0x011644}, + {0x011650, 0x011659}, + {0x011680, 0x0116B8}, + {0x0116C0, 0x0116C9}, + {0x011700, 0x01171A}, + {0x01171D, 0x01172B}, + {0x011730, 0x011739}, + {0x011740, 0x011746}, + {0x011800, 0x01183A}, + {0x0118A0, 0x0118E9}, + {0x0118FF, 0x011906}, + {0x011909, 0x011909}, + {0x01190C, 0x011913}, + {0x011915, 0x011916}, + {0x011918, 0x011935}, + {0x011937, 0x011938}, + {0x01193B, 0x011943}, + {0x011950, 0x011959}, + {0x0119A0, 0x0119A7}, + {0x0119AA, 0x0119D7}, + {0x0119DA, 0x0119E1}, + {0x0119E3, 0x0119E4}, + {0x011A00, 0x011A3E}, + {0x011A47, 0x011A47}, + {0x011A50, 0x011A99}, + {0x011A9D, 0x011A9D}, + {0x011AB0, 0x011AF8}, + {0x011C00, 0x011C08}, + {0x011C0A, 0x011C36}, + {0x011C38, 0x011C40}, + {0x011C50, 0x011C59}, + {0x011C72, 0x011C8F}, + {0x011C92, 0x011CA7}, + {0x011CA9, 0x011CB6}, + {0x011D00, 0x011D06}, + {0x011D08, 0x011D09}, + {0x011D0B, 0x011D36}, + {0x011D3A, 0x011D3A}, + {0x011D3C, 0x011D3D}, + {0x011D3F, 0x011D47}, + {0x011D50, 0x011D59}, + {0x011D60, 0x011D65}, + {0x011D67, 0x011D68}, + {0x011D6A, 0x011D8E}, + {0x011D90, 0x011D91}, + {0x011D93, 0x011D98}, + {0x011DA0, 0x011DA9}, + {0x011EE0, 0x011EF6}, + {0x011F00, 0x011F10}, + {0x011F12, 0x011F3A}, + {0x011F3E, 0x011F42}, + {0x011F50, 0x011F59}, + {0x011FB0, 0x011FB0}, + {0x012000, 0x012399}, + {0x012400, 0x01246E}, + {0x012480, 0x012543}, + {0x012F90, 0x012FF0}, + {0x013000, 0x01342F}, + {0x013440, 0x013455}, + {0x014400, 0x014646}, + {0x016800, 0x016A38}, + {0x016A40, 0x016A5E}, + {0x016A60, 0x016A69}, + {0x016A70, 0x016ABE}, + {0x016AC0, 0x016AC9}, + {0x016AD0, 0x016AED}, + {0x016AF0, 0x016AF4}, + {0x016B00, 0x016B36}, + {0x016B40, 0x016B43}, + {0x016B50, 0x016B59}, + {0x016B63, 0x016B77}, + {0x016B7D, 0x016B8F}, + {0x016E40, 0x016E7F}, + {0x016F00, 0x016F4A}, + {0x016F4F, 0x016F87}, + {0x016F8F, 0x016F9F}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE4}, + {0x016FF0, 0x016FF1}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01B000, 0x01B122}, + {0x01B132, 0x01B132}, + {0x01B150, 0x01B152}, + {0x01B155, 0x01B155}, + {0x01B164, 0x01B167}, + {0x01B170, 0x01B2FB}, + {0x01BC00, 0x01BC6A}, + {0x01BC70, 0x01BC7C}, + {0x01BC80, 0x01BC88}, + {0x01BC90, 0x01BC99}, + {0x01BC9D, 0x01BC9E}, + {0x01CF00, 0x01CF2D}, + {0x01CF30, 0x01CF46}, + {0x01D165, 0x01D169}, + {0x01D16D, 0x01D172}, + {0x01D17B, 0x01D182}, + {0x01D185, 0x01D18B}, + {0x01D1AA, 0x01D1AD}, + {0x01D242, 0x01D244}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D6C0}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6FA}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D734}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D76E}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D7A8}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7CB}, + {0x01D7CE, 0x01D7FF}, + {0x01DA00, 0x01DA36}, + {0x01DA3B, 0x01DA6C}, + {0x01DA75, 0x01DA75}, + {0x01DA84, 0x01DA84}, + {0x01DA9B, 0x01DA9F}, + {0x01DAA1, 0x01DAAF}, + {0x01DF00, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E000, 0x01E006}, + {0x01E008, 0x01E018}, + {0x01E01B, 0x01E021}, + {0x01E023, 0x01E024}, + {0x01E026, 0x01E02A}, + {0x01E030, 0x01E06D}, + {0x01E08F, 0x01E08F}, + {0x01E100, 0x01E12C}, + {0x01E130, 0x01E13D}, + {0x01E140, 0x01E149}, + {0x01E14E, 0x01E14E}, + {0x01E290, 0x01E2AE}, + {0x01E2C0, 0x01E2F9}, + {0x01E4D0, 0x01E4F9}, + {0x01E7E0, 0x01E7E6}, + {0x01E7E8, 0x01E7EB}, + {0x01E7ED, 0x01E7EE}, + {0x01E7F0, 0x01E7FE}, + {0x01E800, 0x01E8C4}, + {0x01E8D0, 0x01E8D6}, + {0x01E900, 0x01E94B}, + {0x01E950, 0x01E959}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x01FBF0, 0x01FBF9}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, + {0x0E0100, 0x0E01EF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_xid_continue(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/rune_has_prop_xid_start.c b/vendor/librune/lib/rtype/rune_has_prop_xid_start.c new file mode 100644 index 0000000..d2c9e98 --- /dev/null +++ b/vendor/librune/lib/rtype/rune_has_prop_xid_start.c @@ -0,0 +1,697 @@ +/* This file is autogenerated by gen/rtype-prop; DO NOT EDIT. */ + +#include "rtype.h" + +#include "internal/common.h" + +#if BIT_LOOKUP +static const unsigned _BitInt(LATIN1_MAX + 1) mask = 0xFF7FFFFFFF7FFFFF042004000000000007FFFFFE07FFFFFE0000000000000000uwb; +#endif + +static const struct { + rune lo, hi; +} lookup_tbl[] = { + {0x000041, 0x00005A}, + {0x000061, 0x00007A}, + {0x0000AA, 0x0000AA}, + {0x0000B5, 0x0000B5}, + {0x0000BA, 0x0000BA}, + {0x0000C0, 0x0000D6}, + {0x0000D8, 0x0000F6}, + {0x0000F8, 0x0002C1}, + {0x0002C6, 0x0002D1}, + {0x0002E0, 0x0002E4}, + {0x0002EC, 0x0002EC}, + {0x0002EE, 0x0002EE}, + {0x000370, 0x000374}, + {0x000376, 0x000377}, + {0x00037B, 0x00037D}, + {0x00037F, 0x00037F}, + {0x000386, 0x000386}, + {0x000388, 0x00038A}, + {0x00038C, 0x00038C}, + {0x00038E, 0x0003A1}, + {0x0003A3, 0x0003F5}, + {0x0003F7, 0x000481}, + {0x00048A, 0x00052F}, + {0x000531, 0x000556}, + {0x000559, 0x000559}, + {0x000560, 0x000588}, + {0x0005D0, 0x0005EA}, + {0x0005EF, 0x0005F2}, + {0x000620, 0x00064A}, + {0x00066E, 0x00066F}, + {0x000671, 0x0006D3}, + {0x0006D5, 0x0006D5}, + {0x0006E5, 0x0006E6}, + {0x0006EE, 0x0006EF}, + {0x0006FA, 0x0006FC}, + {0x0006FF, 0x0006FF}, + {0x000710, 0x000710}, + {0x000712, 0x00072F}, + {0x00074D, 0x0007A5}, + {0x0007B1, 0x0007B1}, + {0x0007CA, 0x0007EA}, + {0x0007F4, 0x0007F5}, + {0x0007FA, 0x0007FA}, + {0x000800, 0x000815}, + {0x00081A, 0x00081A}, + {0x000824, 0x000824}, + {0x000828, 0x000828}, + {0x000840, 0x000858}, + {0x000860, 0x00086A}, + {0x000870, 0x000887}, + {0x000889, 0x00088E}, + {0x0008A0, 0x0008C9}, + {0x000904, 0x000939}, + {0x00093D, 0x00093D}, + {0x000950, 0x000950}, + {0x000958, 0x000961}, + {0x000971, 0x000980}, + {0x000985, 0x00098C}, + {0x00098F, 0x000990}, + {0x000993, 0x0009A8}, + {0x0009AA, 0x0009B0}, + {0x0009B2, 0x0009B2}, + {0x0009B6, 0x0009B9}, + {0x0009BD, 0x0009BD}, + {0x0009CE, 0x0009CE}, + {0x0009DC, 0x0009DD}, + {0x0009DF, 0x0009E1}, + {0x0009F0, 0x0009F1}, + {0x0009FC, 0x0009FC}, + {0x000A05, 0x000A0A}, + {0x000A0F, 0x000A10}, + {0x000A13, 0x000A28}, + {0x000A2A, 0x000A30}, + {0x000A32, 0x000A33}, + {0x000A35, 0x000A36}, + {0x000A38, 0x000A39}, + {0x000A59, 0x000A5C}, + {0x000A5E, 0x000A5E}, + {0x000A72, 0x000A74}, + {0x000A85, 0x000A8D}, + {0x000A8F, 0x000A91}, + {0x000A93, 0x000AA8}, + {0x000AAA, 0x000AB0}, + {0x000AB2, 0x000AB3}, + {0x000AB5, 0x000AB9}, + {0x000ABD, 0x000ABD}, + {0x000AD0, 0x000AD0}, + {0x000AE0, 0x000AE1}, + {0x000AF9, 0x000AF9}, + {0x000B05, 0x000B0C}, + {0x000B0F, 0x000B10}, + {0x000B13, 0x000B28}, + {0x000B2A, 0x000B30}, + {0x000B32, 0x000B33}, + {0x000B35, 0x000B39}, + {0x000B3D, 0x000B3D}, + {0x000B5C, 0x000B5D}, + {0x000B5F, 0x000B61}, + {0x000B71, 0x000B71}, + {0x000B83, 0x000B83}, + {0x000B85, 0x000B8A}, + {0x000B8E, 0x000B90}, + {0x000B92, 0x000B95}, + {0x000B99, 0x000B9A}, + {0x000B9C, 0x000B9C}, + {0x000B9E, 0x000B9F}, + {0x000BA3, 0x000BA4}, + {0x000BA8, 0x000BAA}, + {0x000BAE, 0x000BB9}, + {0x000BD0, 0x000BD0}, + {0x000C05, 0x000C0C}, + {0x000C0E, 0x000C10}, + {0x000C12, 0x000C28}, + {0x000C2A, 0x000C39}, + {0x000C3D, 0x000C3D}, + {0x000C58, 0x000C5A}, + {0x000C5D, 0x000C5D}, + {0x000C60, 0x000C61}, + {0x000C80, 0x000C80}, + {0x000C85, 0x000C8C}, + {0x000C8E, 0x000C90}, + {0x000C92, 0x000CA8}, + {0x000CAA, 0x000CB3}, + {0x000CB5, 0x000CB9}, + {0x000CBD, 0x000CBD}, + {0x000CDD, 0x000CDE}, + {0x000CE0, 0x000CE1}, + {0x000CF1, 0x000CF2}, + {0x000D04, 0x000D0C}, + {0x000D0E, 0x000D10}, + {0x000D12, 0x000D3A}, + {0x000D3D, 0x000D3D}, + {0x000D4E, 0x000D4E}, + {0x000D54, 0x000D56}, + {0x000D5F, 0x000D61}, + {0x000D7A, 0x000D7F}, + {0x000D85, 0x000D96}, + {0x000D9A, 0x000DB1}, + {0x000DB3, 0x000DBB}, + {0x000DBD, 0x000DBD}, + {0x000DC0, 0x000DC6}, + {0x000E01, 0x000E30}, + {0x000E32, 0x000E32}, + {0x000E40, 0x000E46}, + {0x000E81, 0x000E82}, + {0x000E84, 0x000E84}, + {0x000E86, 0x000E8A}, + {0x000E8C, 0x000EA3}, + {0x000EA5, 0x000EA5}, + {0x000EA7, 0x000EB0}, + {0x000EB2, 0x000EB2}, + {0x000EBD, 0x000EBD}, + {0x000EC0, 0x000EC4}, + {0x000EC6, 0x000EC6}, + {0x000EDC, 0x000EDF}, + {0x000F00, 0x000F00}, + {0x000F40, 0x000F47}, + {0x000F49, 0x000F6C}, + {0x000F88, 0x000F8C}, + {0x001000, 0x00102A}, + {0x00103F, 0x00103F}, + {0x001050, 0x001055}, + {0x00105A, 0x00105D}, + {0x001061, 0x001061}, + {0x001065, 0x001066}, + {0x00106E, 0x001070}, + {0x001075, 0x001081}, + {0x00108E, 0x00108E}, + {0x0010A0, 0x0010C5}, + {0x0010C7, 0x0010C7}, + {0x0010CD, 0x0010CD}, + {0x0010D0, 0x0010FA}, + {0x0010FC, 0x001248}, + {0x00124A, 0x00124D}, + {0x001250, 0x001256}, + {0x001258, 0x001258}, + {0x00125A, 0x00125D}, + {0x001260, 0x001288}, + {0x00128A, 0x00128D}, + {0x001290, 0x0012B0}, + {0x0012B2, 0x0012B5}, + {0x0012B8, 0x0012BE}, + {0x0012C0, 0x0012C0}, + {0x0012C2, 0x0012C5}, + {0x0012C8, 0x0012D6}, + {0x0012D8, 0x001310}, + {0x001312, 0x001315}, + {0x001318, 0x00135A}, + {0x001380, 0x00138F}, + {0x0013A0, 0x0013F5}, + {0x0013F8, 0x0013FD}, + {0x001401, 0x00166C}, + {0x00166F, 0x00167F}, + {0x001681, 0x00169A}, + {0x0016A0, 0x0016EA}, + {0x0016EE, 0x0016F8}, + {0x001700, 0x001711}, + {0x00171F, 0x001731}, + {0x001740, 0x001751}, + {0x001760, 0x00176C}, + {0x00176E, 0x001770}, + {0x001780, 0x0017B3}, + {0x0017D7, 0x0017D7}, + {0x0017DC, 0x0017DC}, + {0x001820, 0x001878}, + {0x001880, 0x0018A8}, + {0x0018AA, 0x0018AA}, + {0x0018B0, 0x0018F5}, + {0x001900, 0x00191E}, + {0x001950, 0x00196D}, + {0x001970, 0x001974}, + {0x001980, 0x0019AB}, + {0x0019B0, 0x0019C9}, + {0x001A00, 0x001A16}, + {0x001A20, 0x001A54}, + {0x001AA7, 0x001AA7}, + {0x001B05, 0x001B33}, + {0x001B45, 0x001B4C}, + {0x001B83, 0x001BA0}, + {0x001BAE, 0x001BAF}, + {0x001BBA, 0x001BE5}, + {0x001C00, 0x001C23}, + {0x001C4D, 0x001C4F}, + {0x001C5A, 0x001C7D}, + {0x001C80, 0x001C88}, + {0x001C90, 0x001CBA}, + {0x001CBD, 0x001CBF}, + {0x001CE9, 0x001CEC}, + {0x001CEE, 0x001CF3}, + {0x001CF5, 0x001CF6}, + {0x001CFA, 0x001CFA}, + {0x001D00, 0x001DBF}, + {0x001E00, 0x001F15}, + {0x001F18, 0x001F1D}, + {0x001F20, 0x001F45}, + {0x001F48, 0x001F4D}, + {0x001F50, 0x001F57}, + {0x001F59, 0x001F59}, + {0x001F5B, 0x001F5B}, + {0x001F5D, 0x001F5D}, + {0x001F5F, 0x001F7D}, + {0x001F80, 0x001FB4}, + {0x001FB6, 0x001FBC}, + {0x001FBE, 0x001FBE}, + {0x001FC2, 0x001FC4}, + {0x001FC6, 0x001FCC}, + {0x001FD0, 0x001FD3}, + {0x001FD6, 0x001FDB}, + {0x001FE0, 0x001FEC}, + {0x001FF2, 0x001FF4}, + {0x001FF6, 0x001FFC}, + {0x002071, 0x002071}, + {0x00207F, 0x00207F}, + {0x002090, 0x00209C}, + {0x002102, 0x002102}, + {0x002107, 0x002107}, + {0x00210A, 0x002113}, + {0x002115, 0x002115}, + {0x002118, 0x00211D}, + {0x002124, 0x002124}, + {0x002126, 0x002126}, + {0x002128, 0x002128}, + {0x00212A, 0x002139}, + {0x00213C, 0x00213F}, + {0x002145, 0x002149}, + {0x00214E, 0x00214E}, + {0x002160, 0x002188}, + {0x002C00, 0x002CE4}, + {0x002CEB, 0x002CEE}, + {0x002CF2, 0x002CF3}, + {0x002D00, 0x002D25}, + {0x002D27, 0x002D27}, + {0x002D2D, 0x002D2D}, + {0x002D30, 0x002D67}, + {0x002D6F, 0x002D6F}, + {0x002D80, 0x002D96}, + {0x002DA0, 0x002DA6}, + {0x002DA8, 0x002DAE}, + {0x002DB0, 0x002DB6}, + {0x002DB8, 0x002DBE}, + {0x002DC0, 0x002DC6}, + {0x002DC8, 0x002DCE}, + {0x002DD0, 0x002DD6}, + {0x002DD8, 0x002DDE}, + {0x003005, 0x003007}, + {0x003021, 0x003029}, + {0x003031, 0x003035}, + {0x003038, 0x00303C}, + {0x003041, 0x003096}, + {0x00309D, 0x00309F}, + {0x0030A1, 0x0030FA}, + {0x0030FC, 0x0030FF}, + {0x003105, 0x00312F}, + {0x003131, 0x00318E}, + {0x0031A0, 0x0031BF}, + {0x0031F0, 0x0031FF}, + {0x003400, 0x004DBF}, + {0x004E00, 0x00A48C}, + {0x00A4D0, 0x00A4FD}, + {0x00A500, 0x00A60C}, + {0x00A610, 0x00A61F}, + {0x00A62A, 0x00A62B}, + {0x00A640, 0x00A66E}, + {0x00A67F, 0x00A69D}, + {0x00A6A0, 0x00A6EF}, + {0x00A717, 0x00A71F}, + {0x00A722, 0x00A788}, + {0x00A78B, 0x00A7CA}, + {0x00A7D0, 0x00A7D1}, + {0x00A7D3, 0x00A7D3}, + {0x00A7D5, 0x00A7D9}, + {0x00A7F2, 0x00A801}, + {0x00A803, 0x00A805}, + {0x00A807, 0x00A80A}, + {0x00A80C, 0x00A822}, + {0x00A840, 0x00A873}, + {0x00A882, 0x00A8B3}, + {0x00A8F2, 0x00A8F7}, + {0x00A8FB, 0x00A8FB}, + {0x00A8FD, 0x00A8FE}, + {0x00A90A, 0x00A925}, + {0x00A930, 0x00A946}, + {0x00A960, 0x00A97C}, + {0x00A984, 0x00A9B2}, + {0x00A9CF, 0x00A9CF}, + {0x00A9E0, 0x00A9E4}, + {0x00A9E6, 0x00A9EF}, + {0x00A9FA, 0x00A9FE}, + {0x00AA00, 0x00AA28}, + {0x00AA40, 0x00AA42}, + {0x00AA44, 0x00AA4B}, + {0x00AA60, 0x00AA76}, + {0x00AA7A, 0x00AA7A}, + {0x00AA7E, 0x00AAAF}, + {0x00AAB1, 0x00AAB1}, + {0x00AAB5, 0x00AAB6}, + {0x00AAB9, 0x00AABD}, + {0x00AAC0, 0x00AAC0}, + {0x00AAC2, 0x00AAC2}, + {0x00AADB, 0x00AADD}, + {0x00AAE0, 0x00AAEA}, + {0x00AAF2, 0x00AAF4}, + {0x00AB01, 0x00AB06}, + {0x00AB09, 0x00AB0E}, + {0x00AB11, 0x00AB16}, + {0x00AB20, 0x00AB26}, + {0x00AB28, 0x00AB2E}, + {0x00AB30, 0x00AB5A}, + {0x00AB5C, 0x00AB69}, + {0x00AB70, 0x00ABE2}, + {0x00AC00, 0x00D7A3}, + {0x00D7B0, 0x00D7C6}, + {0x00D7CB, 0x00D7FB}, + {0x00F900, 0x00FA6D}, + {0x00FA70, 0x00FAD9}, + {0x00FB00, 0x00FB06}, + {0x00FB13, 0x00FB17}, + {0x00FB1D, 0x00FB1D}, + {0x00FB1F, 0x00FB28}, + {0x00FB2A, 0x00FB36}, + {0x00FB38, 0x00FB3C}, + {0x00FB3E, 0x00FB3E}, + {0x00FB40, 0x00FB41}, + {0x00FB43, 0x00FB44}, + {0x00FB46, 0x00FBB1}, + {0x00FBD3, 0x00FC5D}, + {0x00FC64, 0x00FD3D}, + {0x00FD50, 0x00FD8F}, + {0x00FD92, 0x00FDC7}, + {0x00FDF0, 0x00FDF9}, + {0x00FE71, 0x00FE71}, + {0x00FE73, 0x00FE73}, + {0x00FE77, 0x00FE77}, + {0x00FE79, 0x00FE79}, + {0x00FE7B, 0x00FE7B}, + {0x00FE7D, 0x00FE7D}, + {0x00FE7F, 0x00FEFC}, + {0x00FF21, 0x00FF3A}, + {0x00FF41, 0x00FF5A}, + {0x00FF66, 0x00FF9D}, + {0x00FFA0, 0x00FFBE}, + {0x00FFC2, 0x00FFC7}, + {0x00FFCA, 0x00FFCF}, + {0x00FFD2, 0x00FFD7}, + {0x00FFDA, 0x00FFDC}, + {0x010000, 0x01000B}, + {0x01000D, 0x010026}, + {0x010028, 0x01003A}, + {0x01003C, 0x01003D}, + {0x01003F, 0x01004D}, + {0x010050, 0x01005D}, + {0x010080, 0x0100FA}, + {0x010140, 0x010174}, + {0x010280, 0x01029C}, + {0x0102A0, 0x0102D0}, + {0x010300, 0x01031F}, + {0x01032D, 0x01034A}, + {0x010350, 0x010375}, + {0x010380, 0x01039D}, + {0x0103A0, 0x0103C3}, + {0x0103C8, 0x0103CF}, + {0x0103D1, 0x0103D5}, + {0x010400, 0x01049D}, + {0x0104B0, 0x0104D3}, + {0x0104D8, 0x0104FB}, + {0x010500, 0x010527}, + {0x010530, 0x010563}, + {0x010570, 0x01057A}, + {0x01057C, 0x01058A}, + {0x01058C, 0x010592}, + {0x010594, 0x010595}, + {0x010597, 0x0105A1}, + {0x0105A3, 0x0105B1}, + {0x0105B3, 0x0105B9}, + {0x0105BB, 0x0105BC}, + {0x010600, 0x010736}, + {0x010740, 0x010755}, + {0x010760, 0x010767}, + {0x010780, 0x010785}, + {0x010787, 0x0107B0}, + {0x0107B2, 0x0107BA}, + {0x010800, 0x010805}, + {0x010808, 0x010808}, + {0x01080A, 0x010835}, + {0x010837, 0x010838}, + {0x01083C, 0x01083C}, + {0x01083F, 0x010855}, + {0x010860, 0x010876}, + {0x010880, 0x01089E}, + {0x0108E0, 0x0108F2}, + {0x0108F4, 0x0108F5}, + {0x010900, 0x010915}, + {0x010920, 0x010939}, + {0x010980, 0x0109B7}, + {0x0109BE, 0x0109BF}, + {0x010A00, 0x010A00}, + {0x010A10, 0x010A13}, + {0x010A15, 0x010A17}, + {0x010A19, 0x010A35}, + {0x010A60, 0x010A7C}, + {0x010A80, 0x010A9C}, + {0x010AC0, 0x010AC7}, + {0x010AC9, 0x010AE4}, + {0x010B00, 0x010B35}, + {0x010B40, 0x010B55}, + {0x010B60, 0x010B72}, + {0x010B80, 0x010B91}, + {0x010C00, 0x010C48}, + {0x010C80, 0x010CB2}, + {0x010CC0, 0x010CF2}, + {0x010D00, 0x010D23}, + {0x010E80, 0x010EA9}, + {0x010EB0, 0x010EB1}, + {0x010F00, 0x010F1C}, + {0x010F27, 0x010F27}, + {0x010F30, 0x010F45}, + {0x010F70, 0x010F81}, + {0x010FB0, 0x010FC4}, + {0x010FE0, 0x010FF6}, + {0x011003, 0x011037}, + {0x011071, 0x011072}, + {0x011075, 0x011075}, + {0x011083, 0x0110AF}, + {0x0110D0, 0x0110E8}, + {0x011103, 0x011126}, + {0x011144, 0x011144}, + {0x011147, 0x011147}, + {0x011150, 0x011172}, + {0x011176, 0x011176}, + {0x011183, 0x0111B2}, + {0x0111C1, 0x0111C4}, + {0x0111DA, 0x0111DA}, + {0x0111DC, 0x0111DC}, + {0x011200, 0x011211}, + {0x011213, 0x01122B}, + {0x01123F, 0x011240}, + {0x011280, 0x011286}, + {0x011288, 0x011288}, + {0x01128A, 0x01128D}, + {0x01128F, 0x01129D}, + {0x01129F, 0x0112A8}, + {0x0112B0, 0x0112DE}, + {0x011305, 0x01130C}, + {0x01130F, 0x011310}, + {0x011313, 0x011328}, + {0x01132A, 0x011330}, + {0x011332, 0x011333}, + {0x011335, 0x011339}, + {0x01133D, 0x01133D}, + {0x011350, 0x011350}, + {0x01135D, 0x011361}, + {0x011400, 0x011434}, + {0x011447, 0x01144A}, + {0x01145F, 0x011461}, + {0x011480, 0x0114AF}, + {0x0114C4, 0x0114C5}, + {0x0114C7, 0x0114C7}, + {0x011580, 0x0115AE}, + {0x0115D8, 0x0115DB}, + {0x011600, 0x01162F}, + {0x011644, 0x011644}, + {0x011680, 0x0116AA}, + {0x0116B8, 0x0116B8}, + {0x011700, 0x01171A}, + {0x011740, 0x011746}, + {0x011800, 0x01182B}, + {0x0118A0, 0x0118DF}, + {0x0118FF, 0x011906}, + {0x011909, 0x011909}, + {0x01190C, 0x011913}, + {0x011915, 0x011916}, + {0x011918, 0x01192F}, + {0x01193F, 0x01193F}, + {0x011941, 0x011941}, + {0x0119A0, 0x0119A7}, + {0x0119AA, 0x0119D0}, + {0x0119E1, 0x0119E1}, + {0x0119E3, 0x0119E3}, + {0x011A00, 0x011A00}, + {0x011A0B, 0x011A32}, + {0x011A3A, 0x011A3A}, + {0x011A50, 0x011A50}, + {0x011A5C, 0x011A89}, + {0x011A9D, 0x011A9D}, + {0x011AB0, 0x011AF8}, + {0x011C00, 0x011C08}, + {0x011C0A, 0x011C2E}, + {0x011C40, 0x011C40}, + {0x011C72, 0x011C8F}, + {0x011D00, 0x011D06}, + {0x011D08, 0x011D09}, + {0x011D0B, 0x011D30}, + {0x011D46, 0x011D46}, + {0x011D60, 0x011D65}, + {0x011D67, 0x011D68}, + {0x011D6A, 0x011D89}, + {0x011D98, 0x011D98}, + {0x011EE0, 0x011EF2}, + {0x011F02, 0x011F02}, + {0x011F04, 0x011F10}, + {0x011F12, 0x011F33}, + {0x011FB0, 0x011FB0}, + {0x012000, 0x012399}, + {0x012400, 0x01246E}, + {0x012480, 0x012543}, + {0x012F90, 0x012FF0}, + {0x013000, 0x01342F}, + {0x013441, 0x013446}, + {0x014400, 0x014646}, + {0x016800, 0x016A38}, + {0x016A40, 0x016A5E}, + {0x016A70, 0x016ABE}, + {0x016AD0, 0x016AED}, + {0x016B00, 0x016B2F}, + {0x016B40, 0x016B43}, + {0x016B63, 0x016B77}, + {0x016B7D, 0x016B8F}, + {0x016E40, 0x016E7F}, + {0x016F00, 0x016F4A}, + {0x016F50, 0x016F50}, + {0x016F93, 0x016F9F}, + {0x016FE0, 0x016FE1}, + {0x016FE3, 0x016FE3}, + {0x017000, 0x0187F7}, + {0x018800, 0x018CD5}, + {0x018D00, 0x018D08}, + {0x01AFF0, 0x01AFF3}, + {0x01AFF5, 0x01AFFB}, + {0x01AFFD, 0x01AFFE}, + {0x01B000, 0x01B122}, + {0x01B132, 0x01B132}, + {0x01B150, 0x01B152}, + {0x01B155, 0x01B155}, + {0x01B164, 0x01B167}, + {0x01B170, 0x01B2FB}, + {0x01BC00, 0x01BC6A}, + {0x01BC70, 0x01BC7C}, + {0x01BC80, 0x01BC88}, + {0x01BC90, 0x01BC99}, + {0x01D400, 0x01D454}, + {0x01D456, 0x01D49C}, + {0x01D49E, 0x01D49F}, + {0x01D4A2, 0x01D4A2}, + {0x01D4A5, 0x01D4A6}, + {0x01D4A9, 0x01D4AC}, + {0x01D4AE, 0x01D4B9}, + {0x01D4BB, 0x01D4BB}, + {0x01D4BD, 0x01D4C3}, + {0x01D4C5, 0x01D505}, + {0x01D507, 0x01D50A}, + {0x01D50D, 0x01D514}, + {0x01D516, 0x01D51C}, + {0x01D51E, 0x01D539}, + {0x01D53B, 0x01D53E}, + {0x01D540, 0x01D544}, + {0x01D546, 0x01D546}, + {0x01D54A, 0x01D550}, + {0x01D552, 0x01D6A5}, + {0x01D6A8, 0x01D6C0}, + {0x01D6C2, 0x01D6DA}, + {0x01D6DC, 0x01D6FA}, + {0x01D6FC, 0x01D714}, + {0x01D716, 0x01D734}, + {0x01D736, 0x01D74E}, + {0x01D750, 0x01D76E}, + {0x01D770, 0x01D788}, + {0x01D78A, 0x01D7A8}, + {0x01D7AA, 0x01D7C2}, + {0x01D7C4, 0x01D7CB}, + {0x01DF00, 0x01DF1E}, + {0x01DF25, 0x01DF2A}, + {0x01E030, 0x01E06D}, + {0x01E100, 0x01E12C}, + {0x01E137, 0x01E13D}, + {0x01E14E, 0x01E14E}, + {0x01E290, 0x01E2AD}, + {0x01E2C0, 0x01E2EB}, + {0x01E4D0, 0x01E4EB}, + {0x01E7E0, 0x01E7E6}, + {0x01E7E8, 0x01E7EB}, + {0x01E7ED, 0x01E7EE}, + {0x01E7F0, 0x01E7FE}, + {0x01E800, 0x01E8C4}, + {0x01E900, 0x01E943}, + {0x01E94B, 0x01E94B}, + {0x01EE00, 0x01EE03}, + {0x01EE05, 0x01EE1F}, + {0x01EE21, 0x01EE22}, + {0x01EE24, 0x01EE24}, + {0x01EE27, 0x01EE27}, + {0x01EE29, 0x01EE32}, + {0x01EE34, 0x01EE37}, + {0x01EE39, 0x01EE39}, + {0x01EE3B, 0x01EE3B}, + {0x01EE42, 0x01EE42}, + {0x01EE47, 0x01EE47}, + {0x01EE49, 0x01EE49}, + {0x01EE4B, 0x01EE4B}, + {0x01EE4D, 0x01EE4F}, + {0x01EE51, 0x01EE52}, + {0x01EE54, 0x01EE54}, + {0x01EE57, 0x01EE57}, + {0x01EE59, 0x01EE59}, + {0x01EE5B, 0x01EE5B}, + {0x01EE5D, 0x01EE5D}, + {0x01EE5F, 0x01EE5F}, + {0x01EE61, 0x01EE62}, + {0x01EE64, 0x01EE64}, + {0x01EE67, 0x01EE6A}, + {0x01EE6C, 0x01EE72}, + {0x01EE74, 0x01EE77}, + {0x01EE79, 0x01EE7C}, + {0x01EE7E, 0x01EE7E}, + {0x01EE80, 0x01EE89}, + {0x01EE8B, 0x01EE9B}, + {0x01EEA1, 0x01EEA3}, + {0x01EEA5, 0x01EEA9}, + {0x01EEAB, 0x01EEBB}, + {0x020000, 0x02A6DF}, + {0x02A700, 0x02B739}, + {0x02B740, 0x02B81D}, + {0x02B820, 0x02CEA1}, + {0x02CEB0, 0x02EBE0}, + {0x02EBF0, 0x02EE5D}, + {0x02F800, 0x02FA1D}, + {0x030000, 0x03134A}, + {0x031350, 0x0323AF}, +}; + +#define TYPE bool +#define TABLE lookup_tbl +#define DEFAULT false +#define HAS_VALUE 0 +#include "internal/rtype/lookup-func.h" + +bool +rune_has_prop_xid_start(rune ch) +{ + return +#if BIT_LOOKUP + ch <= LATIN1_MAX ? (mask & ch) : +#endif + lookup(ch); +} diff --git a/vendor/librune/lib/rtype/runeis.c b/vendor/librune/lib/rtype/runeis.c index 180432e..5284cd9 100644 --- a/vendor/librune/lib/rtype/runeis.c +++ b/vendor/librune/lib/rtype/runeis.c @@ -1,31 +1,16 @@ -#include - #include "rtype.h" -#include "internal/common.h" -#include "internal/rtype_lookup.h" +#include "internal/rtype/cat.h" + +#define DEFAULT UC_CN +#define HAS_VALUE 1 +#define LATIN1_TABLE rtype_cat_lat1_tbl +#define TABLE rtype_cat_tbl +#define TYPE enum unicat +#include "internal/rtype/lookup-func.h" bool -runeis(rune ch, unicat c) +runeis(rune ch, enum unicat c) { - ptrdiff_t lo, hi; - - if (ch <= LATIN1_MAX) - return rtype_lat1_tbl[ch] & c; - - lo = 0; - hi = lengthof(rtype_cat_tbl) - 1; - - while (lo <= hi) { - ptrdiff_t i = (lo + hi) / 2; - - if (ch < rtype_cat_tbl[i].lo) - hi = i - 1; - else if (ch > rtype_cat_tbl[i].hi) - lo = i + 1; - else - return c & rtype_cat_tbl[i].cat; - } - - return false; + return lookup(ch) & c; } diff --git a/vendor/librune/make.c b/vendor/librune/make.c index d818f09..32513e1 100644 --- a/vendor/librune/make.c +++ b/vendor/librune/make.c @@ -1,6 +1,8 @@ +#define _GNU_SOURCE #include #include #include +#include #include #include #include @@ -30,10 +32,12 @@ #define streq(a, b) (!strcmp(a, b)) +#define flagset(o) (flags & (1 << ((o) - 'a'))) + static void work(void *); static int globerr(const char *, int); -static bool lflag, rflag; +static uint32_t flags; int main(int argc, char **argv) @@ -43,17 +47,13 @@ main(int argc, char **argv) cbsinit(argc, argv); rebuild(); - while ((opt = getopt(argc, argv, "lr")) != -1) { + while ((opt = getopt(argc, argv, "flr")) != -1) { switch (opt) { - case 'l': - lflag = true; - break; - case 'r': - rflag = true; - break; - default: - fprintf(stderr, "Usage: %s [-lr]\n", *argv); + case '?': + fprintf(stderr, "Usage: %s [-flr]\n", *argv); exit(EXIT_FAILURE); + default: + flags |= 1 << (opt - 'a'); } } @@ -93,7 +93,9 @@ main(int argc, char **argv) for (size_t i = 0; i < g.gl_pathc; i++) g.gl_pathv[i][strlen(g.gl_pathv[i]) - 1] = 'o'; - if (foutdatedv("librune.a", (const char **)g.gl_pathv, g.gl_pathc)) { + if (flagset('f') + || foutdatedv("librune.a", (const char **)g.gl_pathv, g.gl_pathc)) + { cmdadd(&c, "ar", "rcs", "librune.a"); cmdaddv(&c, g.gl_pathv, g.gl_pathc); cmdprc(c); @@ -116,14 +118,14 @@ work(void *p) die("strdup"); dst[strlen(dst) - 1] = 'o'; - if (foutdated(dst, src)) { + if (flagset('f') || foutdated(dst, src)) { env_or_default(&sv, "CC", CC); - if (rflag) + if (flagset('r')) env_or_default(&sv, "CFLAGS", CFLAGS_RLS); else env_or_default(&sv, "CFLAGS", CFLAGS_DBG); cmdaddv(&c, sv.buf, sv.len); - if (lflag) + if (flagset('l')) cmdadd(&c, "-flto"); cmdadd(&c, "-Iinclude", "-fPIC", "-o", dst, "-c", src); cmdprc(c); diff --git a/vendor/librune/test/tests b/vendor/librune/test/tests index e728773..5affe3a 100755 --- a/vendor/librune/test/tests +++ b/vendor/librune/test/tests @@ -13,7 +13,8 @@ readonly src=../data/GraphemeBreakTest.txt set -e cd "${0%/*}" -find ../lib -name '*.c' -exec cc -I../include -o gbrk gbrk.c {} + +find ../lib -name '*.c' -exec \ + cc -std=c2x -Wno-attributes -I../include -o gbrk gbrk.c {} + trap 'rm -f gbrk' EXIT n=$( -- cgit v1.2.3