/* This file is autogenerated by gen/prop/blk; DO NOT EDIT. */ #include "_bsearch.h" #include "macros.h" #include "rune.h" #include "unicode/prop.h" static constexpr enum uprop_blk lookup_lat1[] = { BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_ASCII , BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, BLK_LATIN_1_SUP, }; static const struct { rune lo, hi; enum uprop_blk val; } lookup[] = { {RUNE_C(0x000100), RUNE_C(0x00017F), BLK_LATIN_EXT_A}, {RUNE_C(0x000180), RUNE_C(0x00024F), BLK_LATIN_EXT_B}, {RUNE_C(0x000250), RUNE_C(0x0002AF), BLK_IPA_EXT}, {RUNE_C(0x0002B0), RUNE_C(0x0002FF), BLK_MODIFIER_LETTERS}, {RUNE_C(0x000300), RUNE_C(0x00036F), BLK_DIACRITICALS}, {RUNE_C(0x000370), RUNE_C(0x0003FF), BLK_GREEK}, {RUNE_C(0x000400), RUNE_C(0x0004FF), BLK_CYRILLIC}, {RUNE_C(0x000500), RUNE_C(0x00052F), BLK_CYRILLIC_SUP}, {RUNE_C(0x000530), RUNE_C(0x00058F), BLK_ARMENIAN}, {RUNE_C(0x000590), RUNE_C(0x0005FF), BLK_HEBREW}, {RUNE_C(0x000600), RUNE_C(0x0006FF), BLK_ARABIC}, {RUNE_C(0x000700), RUNE_C(0x00074F), BLK_SYRIAC}, {RUNE_C(0x000750), RUNE_C(0x00077F), BLK_ARABIC_SUP}, {RUNE_C(0x000780), RUNE_C(0x0007BF), BLK_THAANA}, {RUNE_C(0x0007C0), RUNE_C(0x0007FF), BLK_NKO}, {RUNE_C(0x000800), RUNE_C(0x00083F), BLK_SAMARITAN}, {RUNE_C(0x000840), RUNE_C(0x00085F), BLK_MANDAIC}, {RUNE_C(0x000860), RUNE_C(0x00086F), BLK_SYRIAC_SUP}, {RUNE_C(0x000870), RUNE_C(0x00089F), BLK_ARABIC_EXT_B}, {RUNE_C(0x0008A0), RUNE_C(0x0008FF), BLK_ARABIC_EXT_A}, {RUNE_C(0x000900), RUNE_C(0x00097F), BLK_DEVANAGARI}, {RUNE_C(0x000980), RUNE_C(0x0009FF), BLK_BENGALI}, {RUNE_C(0x000A00), RUNE_C(0x000A7F), BLK_GURMUKHI}, {RUNE_C(0x000A80), RUNE_C(0x000AFF), BLK_GUJARATI}, {RUNE_C(0x000B00), RUNE_C(0x000B7F), BLK_ORIYA}, {RUNE_C(0x000B80), RUNE_C(0x000BFF), BLK_TAMIL}, {RUNE_C(0x000C00), RUNE_C(0x000C7F), BLK_TELUGU}, {RUNE_C(0x000C80), RUNE_C(0x000CFF), BLK_KANNADA}, {RUNE_C(0x000D00), RUNE_C(0x000D7F), BLK_MALAYALAM}, {RUNE_C(0x000D80), RUNE_C(0x000DFF), BLK_SINHALA}, {RUNE_C(0x000E00), RUNE_C(0x000E7F), BLK_THAI}, {RUNE_C(0x000E80), RUNE_C(0x000EFF), BLK_LAO}, {RUNE_C(0x000F00), RUNE_C(0x000FFF), BLK_TIBETAN}, {RUNE_C(0x001000), RUNE_C(0x00109F), BLK_MYANMAR}, {RUNE_C(0x0010A0), RUNE_C(0x0010FF), BLK_GEORGIAN}, {RUNE_C(0x001100), RUNE_C(0x0011FF), BLK_JAMO}, {RUNE_C(0x001200), RUNE_C(0x00137F), BLK_ETHIOPIC}, {RUNE_C(0x001380), RUNE_C(0x00139F), BLK_ETHIOPIC_SUP}, {RUNE_C(0x0013A0), RUNE_C(0x0013FF), BLK_CHEROKEE}, {RUNE_C(0x001400), RUNE_C(0x00167F), BLK_UCAS}, {RUNE_C(0x001680), RUNE_C(0x00169F), BLK_OGHAM}, {RUNE_C(0x0016A0), RUNE_C(0x0016FF), BLK_RUNIC}, {RUNE_C(0x001700), RUNE_C(0x00171F), BLK_TAGALOG}, {RUNE_C(0x001720), RUNE_C(0x00173F), BLK_HANUNOO}, {RUNE_C(0x001740), RUNE_C(0x00175F), BLK_BUHID}, {RUNE_C(0x001760), RUNE_C(0x00177F), BLK_TAGBANWA}, {RUNE_C(0x001780), RUNE_C(0x0017FF), BLK_KHMER}, {RUNE_C(0x001800), RUNE_C(0x0018AF), BLK_MONGOLIAN}, {RUNE_C(0x0018B0), RUNE_C(0x0018FF), BLK_UCAS_EXT}, {RUNE_C(0x001900), RUNE_C(0x00194F), BLK_LIMBU}, {RUNE_C(0x001950), RUNE_C(0x00197F), BLK_TAI_LE}, {RUNE_C(0x001980), RUNE_C(0x0019DF), BLK_NEW_TAI_LUE}, {RUNE_C(0x0019E0), RUNE_C(0x0019FF), BLK_KHMER_SYMBOLS}, {RUNE_C(0x001A00), RUNE_C(0x001A1F), BLK_BUGINESE}, {RUNE_C(0x001A20), RUNE_C(0x001AAF), BLK_TAI_THAM}, {RUNE_C(0x001AB0), RUNE_C(0x001AFF), BLK_DIACRITICALS_EXT}, {RUNE_C(0x001B00), RUNE_C(0x001B7F), BLK_BALINESE}, {RUNE_C(0x001B80), RUNE_C(0x001BBF), BLK_SUNDANESE}, {RUNE_C(0x001BC0), RUNE_C(0x001BFF), BLK_BATAK}, {RUNE_C(0x001C00), RUNE_C(0x001C4F), BLK_LEPCHA}, {RUNE_C(0x001C50), RUNE_C(0x001C7F), BLK_OL_CHIKI}, {RUNE_C(0x001C80), RUNE_C(0x001C8F), BLK_CYRILLIC_EXT_C}, {RUNE_C(0x001C90), RUNE_C(0x001CBF), BLK_GEORGIAN_EXT}, {RUNE_C(0x001CC0), RUNE_C(0x001CCF), BLK_SUNDANESE_SUP}, {RUNE_C(0x001CD0), RUNE_C(0x001CFF), BLK_VEDIC_EXT}, {RUNE_C(0x001D00), RUNE_C(0x001D7F), BLK_PHONETIC_EXT}, {RUNE_C(0x001D80), RUNE_C(0x001DBF), BLK_PHONETIC_EXT_SUP}, {RUNE_C(0x001DC0), RUNE_C(0x001DFF), BLK_DIACRITICALS_SUP}, {RUNE_C(0x001E00), RUNE_C(0x001EFF), BLK_LATIN_EXT_ADDITIONAL}, {RUNE_C(0x001F00), RUNE_C(0x001FFF), BLK_GREEK_EXT}, {RUNE_C(0x002000), RUNE_C(0x00206F), BLK_PUNCTUATION}, {RUNE_C(0x002070), RUNE_C(0x00209F), BLK_SUPER_AND_SUB}, {RUNE_C(0x0020A0), RUNE_C(0x0020CF), BLK_CURRENCY_SYMBOLS}, {RUNE_C(0x0020D0), RUNE_C(0x0020FF), BLK_DIACRITICALS_FOR_SYMBOLS}, {RUNE_C(0x002100), RUNE_C(0x00214F), BLK_LETTERLIKE_SYMBOLS}, {RUNE_C(0x002150), RUNE_C(0x00218F), BLK_NUMBER_FORMS}, {RUNE_C(0x002190), RUNE_C(0x0021FF), BLK_ARROWS}, {RUNE_C(0x002200), RUNE_C(0x0022FF), BLK_MATH_OPERATORS}, {RUNE_C(0x002300), RUNE_C(0x0023FF), BLK_MISC_TECHNICAL}, {RUNE_C(0x002400), RUNE_C(0x00243F), BLK_CONTROL_PICTURES}, {RUNE_C(0x002440), RUNE_C(0x00245F), BLK_OCR}, {RUNE_C(0x002460), RUNE_C(0x0024FF), BLK_ENCLOSED_ALPHANUM}, {RUNE_C(0x002500), RUNE_C(0x00257F), BLK_BOX_DRAWING}, {RUNE_C(0x002580), RUNE_C(0x00259F), BLK_BLOCK_ELEMENTS}, {RUNE_C(0x0025A0), RUNE_C(0x0025FF), BLK_GEOMETRIC_SHAPES}, {RUNE_C(0x002600), RUNE_C(0x0026FF), BLK_MISC_SYMBOLS}, {RUNE_C(0x002700), RUNE_C(0x0027BF), BLK_DINGBATS}, {RUNE_C(0x0027C0), RUNE_C(0x0027EF), BLK_MISC_MATH_SYMBOLS_A}, {RUNE_C(0x0027F0), RUNE_C(0x0027FF), BLK_SUP_ARROWS_A}, {RUNE_C(0x002800), RUNE_C(0x0028FF), BLK_BRAILLE}, {RUNE_C(0x002900), RUNE_C(0x00297F), BLK_SUP_ARROWS_B}, {RUNE_C(0x002980), RUNE_C(0x0029FF), BLK_MISC_MATH_SYMBOLS_B}, {RUNE_C(0x002A00), RUNE_C(0x002AFF), BLK_SUP_MATH_OPERATORS}, {RUNE_C(0x002B00), RUNE_C(0x002BFF), BLK_MISC_ARROWS}, {RUNE_C(0x002C00), RUNE_C(0x002C5F), BLK_GLAGOLITIC}, {RUNE_C(0x002C60), RUNE_C(0x002C7F), BLK_LATIN_EXT_C}, {RUNE_C(0x002C80), RUNE_C(0x002CFF), BLK_COPTIC}, {RUNE_C(0x002D00), RUNE_C(0x002D2F), BLK_GEORGIAN_SUP}, {RUNE_C(0x002D30), RUNE_C(0x002D7F), BLK_TIFINAGH}, {RUNE_C(0x002D80), RUNE_C(0x002DDF), BLK_ETHIOPIC_EXT}, {RUNE_C(0x002DE0), RUNE_C(0x002DFF), BLK_CYRILLIC_EXT_A}, {RUNE_C(0x002E00), RUNE_C(0x002E7F), BLK_SUP_PUNCTUATION}, {RUNE_C(0x002E80), RUNE_C(0x002EFF), BLK_CJK_RADICALS_SUP}, {RUNE_C(0x002F00), RUNE_C(0x002FDF), BLK_KANGXI}, {RUNE_C(0x002FF0), RUNE_C(0x002FFF), BLK_IDC}, {RUNE_C(0x003000), RUNE_C(0x00303F), BLK_CJK_SYMBOLS}, {RUNE_C(0x003040), RUNE_C(0x00309F), BLK_HIRAGANA}, {RUNE_C(0x0030A0), RUNE_C(0x0030FF), BLK_KATAKANA}, {RUNE_C(0x003100), RUNE_C(0x00312F), BLK_BOPOMOFO}, {RUNE_C(0x003130), RUNE_C(0x00318F), BLK_COMPAT_JAMO}, {RUNE_C(0x003190), RUNE_C(0x00319F), BLK_KANBUN}, {RUNE_C(0x0031A0), RUNE_C(0x0031BF), BLK_BOPOMOFO_EXT}, {RUNE_C(0x0031C0), RUNE_C(0x0031EF), BLK_CJK_STROKES}, {RUNE_C(0x0031F0), RUNE_C(0x0031FF), BLK_KATAKANA_EXT}, {RUNE_C(0x003200), RUNE_C(0x0032FF), BLK_ENCLOSED_CJK}, {RUNE_C(0x003300), RUNE_C(0x0033FF), BLK_CJK_COMPAT}, {RUNE_C(0x003400), RUNE_C(0x004DBF), BLK_CJK_EXT_A}, {RUNE_C(0x004DC0), RUNE_C(0x004DFF), BLK_YIJING}, {RUNE_C(0x004E00), RUNE_C(0x009FFF), BLK_CJK}, {RUNE_C(0x00A000), RUNE_C(0x00A48F), BLK_YI_SYLLABLES}, {RUNE_C(0x00A490), RUNE_C(0x00A4CF), BLK_YI_RADICALS}, {RUNE_C(0x00A4D0), RUNE_C(0x00A4FF), BLK_LISU}, {RUNE_C(0x00A500), RUNE_C(0x00A63F), BLK_VAI}, {RUNE_C(0x00A640), RUNE_C(0x00A69F), BLK_CYRILLIC_EXT_B}, {RUNE_C(0x00A6A0), RUNE_C(0x00A6FF), BLK_BAMUM}, {RUNE_C(0x00A700), RUNE_C(0x00A71F), BLK_MODIFIER_TONE_LETTERS}, {RUNE_C(0x00A720), RUNE_C(0x00A7FF), BLK_LATIN_EXT_D}, {RUNE_C(0x00A800), RUNE_C(0x00A82F), BLK_SYLOTI_NAGRI}, {RUNE_C(0x00A830), RUNE_C(0x00A83F), BLK_INDIC_NUMBER_FORMS}, {RUNE_C(0x00A840), RUNE_C(0x00A87F), BLK_PHAGS_PA}, {RUNE_C(0x00A880), RUNE_C(0x00A8DF), BLK_SAURASHTRA}, {RUNE_C(0x00A8E0), RUNE_C(0x00A8FF), BLK_DEVANAGARI_EXT}, {RUNE_C(0x00A900), RUNE_C(0x00A92F), BLK_KAYAH_LI}, {RUNE_C(0x00A930), RUNE_C(0x00A95F), BLK_REJANG}, {RUNE_C(0x00A960), RUNE_C(0x00A97F), BLK_JAMO_EXT_A}, {RUNE_C(0x00A980), RUNE_C(0x00A9DF), BLK_JAVANESE}, {RUNE_C(0x00A9E0), RUNE_C(0x00A9FF), BLK_MYANMAR_EXT_B}, {RUNE_C(0x00AA00), RUNE_C(0x00AA5F), BLK_CHAM}, {RUNE_C(0x00AA60), RUNE_C(0x00AA7F), BLK_MYANMAR_EXT_A}, {RUNE_C(0x00AA80), RUNE_C(0x00AADF), BLK_TAI_VIET}, {RUNE_C(0x00AAE0), RUNE_C(0x00AAFF), BLK_MEETEI_MAYEK_EXT}, {RUNE_C(0x00AB00), RUNE_C(0x00AB2F), BLK_ETHIOPIC_EXT_A}, {RUNE_C(0x00AB30), RUNE_C(0x00AB6F), BLK_LATIN_EXT_E}, {RUNE_C(0x00AB70), RUNE_C(0x00ABBF), BLK_CHEROKEE_SUP}, {RUNE_C(0x00ABC0), RUNE_C(0x00ABFF), BLK_MEETEI_MAYEK}, {RUNE_C(0x00AC00), RUNE_C(0x00D7AF), BLK_HANGUL}, {RUNE_C(0x00D7B0), RUNE_C(0x00D7FF), BLK_JAMO_EXT_B}, {RUNE_C(0x00D800), RUNE_C(0x00DB7F), BLK_HIGH_SURROGATES}, {RUNE_C(0x00DB80), RUNE_C(0x00DBFF), BLK_HIGH_PU_SURROGATES}, {RUNE_C(0x00DC00), RUNE_C(0x00DFFF), BLK_LOW_SURROGATES}, {RUNE_C(0x00E000), RUNE_C(0x00F8FF), BLK_PUA}, {RUNE_C(0x00F900), RUNE_C(0x00FAFF), BLK_CJK_COMPAT_IDEOGRAPHS}, {RUNE_C(0x00FB00), RUNE_C(0x00FB4F), BLK_ALPHABETIC_PF}, {RUNE_C(0x00FB50), RUNE_C(0x00FDFF), BLK_ARABIC_PF_A}, {RUNE_C(0x00FE00), RUNE_C(0x00FE0F), BLK_VS}, {RUNE_C(0x00FE10), RUNE_C(0x00FE1F), BLK_VERTICAL_FORMS}, {RUNE_C(0x00FE20), RUNE_C(0x00FE2F), BLK_HALF_MARKS}, {RUNE_C(0x00FE30), RUNE_C(0x00FE4F), BLK_CJK_COMPAT_FORMS}, {RUNE_C(0x00FE50), RUNE_C(0x00FE6F), BLK_SMALL_FORMS}, {RUNE_C(0x00FE70), RUNE_C(0x00FEFF), BLK_ARABIC_PF_B}, {RUNE_C(0x00FF00), RUNE_C(0x00FFEF), BLK_HALF_AND_FULL_FORMS}, {RUNE_C(0x00FFF0), RUNE_C(0x00FFFF), BLK_SPECIALS}, {RUNE_C(0x010000), RUNE_C(0x01007F), BLK_LINEAR_B_SYLLABARY}, {RUNE_C(0x010080), RUNE_C(0x0100FF), BLK_LINEAR_B_IDEOGRAMS}, {RUNE_C(0x010100), RUNE_C(0x01013F), BLK_AEGEAN_NUMBERS}, {RUNE_C(0x010140), RUNE_C(0x01018F), BLK_ANCIENT_GREEK_NUMBERS}, {RUNE_C(0x010190), RUNE_C(0x0101CF), BLK_ANCIENT_SYMBOLS}, {RUNE_C(0x0101D0), RUNE_C(0x0101FF), BLK_PHAISTOS}, {RUNE_C(0x010280), RUNE_C(0x01029F), BLK_LYCIAN}, {RUNE_C(0x0102A0), RUNE_C(0x0102DF), BLK_CARIAN}, {RUNE_C(0x0102E0), RUNE_C(0x0102FF), BLK_COPTIC_EPACT_NUMBERS}, {RUNE_C(0x010300), RUNE_C(0x01032F), BLK_OLD_ITALIC}, {RUNE_C(0x010330), RUNE_C(0x01034F), BLK_GOTHIC}, {RUNE_C(0x010350), RUNE_C(0x01037F), BLK_OLD_PERMIC}, {RUNE_C(0x010380), RUNE_C(0x01039F), BLK_UGARITIC}, {RUNE_C(0x0103A0), RUNE_C(0x0103DF), BLK_OLD_PERSIAN}, {RUNE_C(0x010400), RUNE_C(0x01044F), BLK_DESERET}, {RUNE_C(0x010450), RUNE_C(0x01047F), BLK_SHAVIAN}, {RUNE_C(0x010480), RUNE_C(0x0104AF), BLK_OSMANYA}, {RUNE_C(0x0104B0), RUNE_C(0x0104FF), BLK_OSAGE}, {RUNE_C(0x010500), RUNE_C(0x01052F), BLK_ELBASAN}, {RUNE_C(0x010530), RUNE_C(0x01056F), BLK_CAUCASIAN_ALBANIAN}, {RUNE_C(0x010570), RUNE_C(0x0105BF), BLK_VITHKUQI}, {RUNE_C(0x010600), RUNE_C(0x01077F), BLK_LINEAR_A}, {RUNE_C(0x010780), RUNE_C(0x0107BF), BLK_LATIN_EXT_F}, {RUNE_C(0x010800), RUNE_C(0x01083F), BLK_CYPRIOT_SYLLABARY}, {RUNE_C(0x010840), RUNE_C(0x01085F), BLK_IMPERIAL_ARAMAIC}, {RUNE_C(0x010860), RUNE_C(0x01087F), BLK_PALMYRENE}, {RUNE_C(0x010880), RUNE_C(0x0108AF), BLK_NABATAEAN}, {RUNE_C(0x0108E0), RUNE_C(0x0108FF), BLK_HATRAN}, {RUNE_C(0x010900), RUNE_C(0x01091F), BLK_PHOENICIAN}, {RUNE_C(0x010920), RUNE_C(0x01093F), BLK_LYDIAN}, {RUNE_C(0x010980), RUNE_C(0x01099F), BLK_MEROITIC_HIEROGLYPHS}, {RUNE_C(0x0109A0), RUNE_C(0x0109FF), BLK_MEROITIC_CURSIVE}, {RUNE_C(0x010A00), RUNE_C(0x010A5F), BLK_KHAROSHTHI}, {RUNE_C(0x010A60), RUNE_C(0x010A7F), BLK_OLD_SOUTH_ARABIAN}, {RUNE_C(0x010A80), RUNE_C(0x010A9F), BLK_OLD_NORTH_ARABIAN}, {RUNE_C(0x010AC0), RUNE_C(0x010AFF), BLK_MANICHAEAN}, {RUNE_C(0x010B00), RUNE_C(0x010B3F), BLK_AVESTAN}, {RUNE_C(0x010B40), RUNE_C(0x010B5F), BLK_INSCRIPTIONAL_PARTHIAN}, {RUNE_C(0x010B60), RUNE_C(0x010B7F), BLK_INSCRIPTIONAL_PAHLAVI}, {RUNE_C(0x010B80), RUNE_C(0x010BAF), BLK_PSALTER_PAHLAVI}, {RUNE_C(0x010C00), RUNE_C(0x010C4F), BLK_OLD_TURKIC}, {RUNE_C(0x010C80), RUNE_C(0x010CFF), BLK_OLD_HUNGARIAN}, {RUNE_C(0x010D00), RUNE_C(0x010D3F), BLK_HANIFI_ROHINGYA}, {RUNE_C(0x010E60), RUNE_C(0x010E7F), BLK_RUMI}, {RUNE_C(0x010E80), RUNE_C(0x010EBF), BLK_YEZIDI}, {RUNE_C(0x010EC0), RUNE_C(0x010EFF), BLK_ARABIC_EXT_C}, {RUNE_C(0x010F00), RUNE_C(0x010F2F), BLK_OLD_SOGDIAN}, {RUNE_C(0x010F30), RUNE_C(0x010F6F), BLK_SOGDIAN}, {RUNE_C(0x010F70), RUNE_C(0x010FAF), BLK_OLD_UYGHUR}, {RUNE_C(0x010FB0), RUNE_C(0x010FDF), BLK_CHORASMIAN}, {RUNE_C(0x010FE0), RUNE_C(0x010FFF), BLK_ELYMAIC}, {RUNE_C(0x011000), RUNE_C(0x01107F), BLK_BRAHMI}, {RUNE_C(0x011080), RUNE_C(0x0110CF), BLK_KAITHI}, {RUNE_C(0x0110D0), RUNE_C(0x0110FF), BLK_SORA_SOMPENG}, {RUNE_C(0x011100), RUNE_C(0x01114F), BLK_CHAKMA}, {RUNE_C(0x011150), RUNE_C(0x01117F), BLK_MAHAJANI}, {RUNE_C(0x011180), RUNE_C(0x0111DF), BLK_SHARADA}, {RUNE_C(0x0111E0), RUNE_C(0x0111FF), BLK_SINHALA_ARCHAIC_NUMBERS}, {RUNE_C(0x011200), RUNE_C(0x01124F), BLK_KHOJKI}, {RUNE_C(0x011280), RUNE_C(0x0112AF), BLK_MULTANI}, {RUNE_C(0x0112B0), RUNE_C(0x0112FF), BLK_KHUDAWADI}, {RUNE_C(0x011300), RUNE_C(0x01137F), BLK_GRANTHA}, {RUNE_C(0x011400), RUNE_C(0x01147F), BLK_NEWA}, {RUNE_C(0x011480), RUNE_C(0x0114DF), BLK_TIRHUTA}, {RUNE_C(0x011580), RUNE_C(0x0115FF), BLK_SIDDHAM}, {RUNE_C(0x011600), RUNE_C(0x01165F), BLK_MODI}, {RUNE_C(0x011660), RUNE_C(0x01167F), BLK_MONGOLIAN_SUP}, {RUNE_C(0x011680), RUNE_C(0x0116CF), BLK_TAKRI}, {RUNE_C(0x011700), RUNE_C(0x01174F), BLK_AHOM}, {RUNE_C(0x011800), RUNE_C(0x01184F), BLK_DOGRA}, {RUNE_C(0x0118A0), RUNE_C(0x0118FF), BLK_WARANG_CITI}, {RUNE_C(0x011900), RUNE_C(0x01195F), BLK_DIVES_AKURU}, {RUNE_C(0x0119A0), RUNE_C(0x0119FF), BLK_NANDINAGARI}, {RUNE_C(0x011A00), RUNE_C(0x011A4F), BLK_ZANABAZAR_SQUARE}, {RUNE_C(0x011A50), RUNE_C(0x011AAF), BLK_SOYOMBO}, {RUNE_C(0x011AB0), RUNE_C(0x011ABF), BLK_UCAS_EXT_A}, {RUNE_C(0x011AC0), RUNE_C(0x011AFF), BLK_PAU_CIN_HAU}, {RUNE_C(0x011B00), RUNE_C(0x011B5F), BLK_DEVANAGARI_EXT_A}, {RUNE_C(0x011C00), RUNE_C(0x011C6F), BLK_BHAIKSUKI}, {RUNE_C(0x011C70), RUNE_C(0x011CBF), BLK_MARCHEN}, {RUNE_C(0x011D00), RUNE_C(0x011D5F), BLK_MASARAM_GONDI}, {RUNE_C(0x011D60), RUNE_C(0x011DAF), BLK_GUNJALA_GONDI}, {RUNE_C(0x011EE0), RUNE_C(0x011EFF), BLK_MAKASAR}, {RUNE_C(0x011F00), RUNE_C(0x011F5F), BLK_KAWI}, {RUNE_C(0x011FB0), RUNE_C(0x011FBF), BLK_LISU_SUP}, {RUNE_C(0x011FC0), RUNE_C(0x011FFF), BLK_TAMIL_SUP}, {RUNE_C(0x012000), RUNE_C(0x0123FF), BLK_CUNEIFORM}, {RUNE_C(0x012400), RUNE_C(0x01247F), BLK_CUNEIFORM_NUMBERS}, {RUNE_C(0x012480), RUNE_C(0x01254F), BLK_EARLY_DYNASTIC_CUNEIFORM}, {RUNE_C(0x012F90), RUNE_C(0x012FFF), BLK_CYPRO_MINOAN}, {RUNE_C(0x013000), RUNE_C(0x01342F), BLK_EGYPTIAN_HIEROGLYPHS}, {RUNE_C(0x013430), RUNE_C(0x01345F), BLK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS}, {RUNE_C(0x014400), RUNE_C(0x01467F), BLK_ANATOLIAN_HIEROGLYPHS}, {RUNE_C(0x016800), RUNE_C(0x016A3F), BLK_BAMUM_SUP}, {RUNE_C(0x016A40), RUNE_C(0x016A6F), BLK_MRO}, {RUNE_C(0x016A70), RUNE_C(0x016ACF), BLK_TANGSA}, {RUNE_C(0x016AD0), RUNE_C(0x016AFF), BLK_BASSA_VAH}, {RUNE_C(0x016B00), RUNE_C(0x016B8F), BLK_PAHAWH_HMONG}, {RUNE_C(0x016E40), RUNE_C(0x016E9F), BLK_MEDEFAIDRIN}, {RUNE_C(0x016F00), RUNE_C(0x016F9F), BLK_MIAO}, {RUNE_C(0x016FE0), RUNE_C(0x016FFF), BLK_IDEOGRAPHIC_SYMBOLS}, {RUNE_C(0x017000), RUNE_C(0x0187FF), BLK_TANGUT}, {RUNE_C(0x018800), RUNE_C(0x018AFF), BLK_TANGUT_COMPONENTS}, {RUNE_C(0x018B00), RUNE_C(0x018CFF), BLK_KHITAN_SMALL_SCRIPT}, {RUNE_C(0x018D00), RUNE_C(0x018D7F), BLK_TANGUT_SUP}, {RUNE_C(0x01AFF0), RUNE_C(0x01AFFF), BLK_KANA_EXT_B}, {RUNE_C(0x01B000), RUNE_C(0x01B0FF), BLK_KANA_SUP}, {RUNE_C(0x01B100), RUNE_C(0x01B12F), BLK_KANA_EXT_A}, {RUNE_C(0x01B130), RUNE_C(0x01B16F), BLK_SMALL_KANA_EXT}, {RUNE_C(0x01B170), RUNE_C(0x01B2FF), BLK_NUSHU}, {RUNE_C(0x01BC00), RUNE_C(0x01BC9F), BLK_DUPLOYAN}, {RUNE_C(0x01BCA0), RUNE_C(0x01BCAF), BLK_SHORTHAND_FORMAT_CONTROLS}, {RUNE_C(0x01CF00), RUNE_C(0x01CFCF), BLK_ZNAMENNY_MUSIC}, {RUNE_C(0x01D000), RUNE_C(0x01D0FF), BLK_BYZANTINE_MUSIC}, {RUNE_C(0x01D100), RUNE_C(0x01D1FF), BLK_MUSIC}, {RUNE_C(0x01D200), RUNE_C(0x01D24F), BLK_ANCIENT_GREEK_MUSIC}, {RUNE_C(0x01D2C0), RUNE_C(0x01D2DF), BLK_KAKTOVIK_NUMERALS}, {RUNE_C(0x01D2E0), RUNE_C(0x01D2FF), BLK_MAYAN_NUMERALS}, {RUNE_C(0x01D300), RUNE_C(0x01D35F), BLK_TAI_XUAN_JING}, {RUNE_C(0x01D360), RUNE_C(0x01D37F), BLK_COUNTING_ROD}, {RUNE_C(0x01D400), RUNE_C(0x01D7FF), BLK_MATH_ALPHANUM}, {RUNE_C(0x01D800), RUNE_C(0x01DAAF), BLK_SUTTON_SIGNWRITING}, {RUNE_C(0x01DF00), RUNE_C(0x01DFFF), BLK_LATIN_EXT_G}, {RUNE_C(0x01E000), RUNE_C(0x01E02F), BLK_GLAGOLITIC_SUP}, {RUNE_C(0x01E030), RUNE_C(0x01E08F), BLK_CYRILLIC_EXT_D}, {RUNE_C(0x01E100), RUNE_C(0x01E14F), BLK_NYIAKENG_PUACHUE_HMONG}, {RUNE_C(0x01E290), RUNE_C(0x01E2BF), BLK_TOTO}, {RUNE_C(0x01E2C0), RUNE_C(0x01E2FF), BLK_WANCHO}, {RUNE_C(0x01E4D0), RUNE_C(0x01E4FF), BLK_NAG_MUNDARI}, {RUNE_C(0x01E7E0), RUNE_C(0x01E7FF), BLK_ETHIOPIC_EXT_B}, {RUNE_C(0x01E800), RUNE_C(0x01E8DF), BLK_MENDE_KIKAKUI}, {RUNE_C(0x01E900), RUNE_C(0x01E95F), BLK_ADLAM}, {RUNE_C(0x01EC70), RUNE_C(0x01ECBF), BLK_INDIC_SIYAQ_NUMBERS}, {RUNE_C(0x01ED00), RUNE_C(0x01ED4F), BLK_OTTOMAN_SIYAQ_NUMBERS}, {RUNE_C(0x01EE00), RUNE_C(0x01EEFF), BLK_ARABIC_MATH}, {RUNE_C(0x01F000), RUNE_C(0x01F02F), BLK_MAHJONG}, {RUNE_C(0x01F030), RUNE_C(0x01F09F), BLK_DOMINO}, {RUNE_C(0x01F0A0), RUNE_C(0x01F0FF), BLK_PLAYING_CARDS}, {RUNE_C(0x01F100), RUNE_C(0x01F1FF), BLK_ENCLOSED_ALPHANUM_SUP}, {RUNE_C(0x01F200), RUNE_C(0x01F2FF), BLK_ENCLOSED_IDEOGRAPHIC_SUP}, {RUNE_C(0x01F300), RUNE_C(0x01F5FF), BLK_MISC_PICTOGRAPHS}, {RUNE_C(0x01F600), RUNE_C(0x01F64F), BLK_EMOTICONS}, {RUNE_C(0x01F650), RUNE_C(0x01F67F), BLK_ORNAMENTAL_DINGBATS}, {RUNE_C(0x01F680), RUNE_C(0x01F6FF), BLK_TRANSPORT_AND_MAP}, {RUNE_C(0x01F700), RUNE_C(0x01F77F), BLK_ALCHEMICAL}, {RUNE_C(0x01F780), RUNE_C(0x01F7FF), BLK_GEOMETRIC_SHAPES_EXT}, {RUNE_C(0x01F800), RUNE_C(0x01F8FF), BLK_SUP_ARROWS_C}, {RUNE_C(0x01F900), RUNE_C(0x01F9FF), BLK_SUP_SYMBOLS_AND_PICTOGRAPHS}, {RUNE_C(0x01FA00), RUNE_C(0x01FA6F), BLK_CHESS_SYMBOLS}, {RUNE_C(0x01FA70), RUNE_C(0x01FAFF), BLK_SYMBOLS_AND_PICTOGRAPHS_EXT_A}, {RUNE_C(0x01FB00), RUNE_C(0x01FBFF), BLK_SYMBOLS_FOR_LEGACY_COMPUTING}, {RUNE_C(0x020000), RUNE_C(0x02A6DF), BLK_CJK_EXT_B}, {RUNE_C(0x02A700), RUNE_C(0x02B73F), BLK_CJK_EXT_C}, {RUNE_C(0x02B740), RUNE_C(0x02B81F), BLK_CJK_EXT_D}, {RUNE_C(0x02B820), RUNE_C(0x02CEAF), BLK_CJK_EXT_E}, {RUNE_C(0x02CEB0), RUNE_C(0x02EBEF), BLK_CJK_EXT_F}, {RUNE_C(0x02EBF0), RUNE_C(0x02EE5F), BLK_CJK_EXT_I}, {RUNE_C(0x02F800), RUNE_C(0x02FA1F), BLK_CJK_COMPAT_IDEOGRAPHS_SUP}, {RUNE_C(0x030000), RUNE_C(0x03134F), BLK_CJK_EXT_G}, {RUNE_C(0x031350), RUNE_C(0x0323AF), BLK_CJK_EXT_H}, {RUNE_C(0x0E0000), RUNE_C(0x0E007F), BLK_TAGS}, {RUNE_C(0x0E0100), RUNE_C(0x0E01EF), BLK_VS_SUP}, {RUNE_C(0x0F0000), RUNE_C(0x0FFFFF), BLK_SUP_PUA_A}, {RUNE_C(0x100000), RUNE_C(0x10FFFF), BLK_SUP_PUA_B}, }; _MLIB_DEFINE_BSEARCH(enum uprop_blk, lookup, BLK_NB) enum uprop_blk uprop_get_blk(rune ch) { return ch <= lengthof(lookup_lat1) ? lookup_lat1[ch] : mlib_lookup(ch); }