From 00f7ed9176dc7a4f8cd85b5f97d7e2c05b76ae24 Mon Sep 17 00:00:00 2001 From: "C. J. Howard" Date: Tue, 5 Oct 2021 14:53:37 +0800 Subject: [PATCH] Add unicode blocks --- src/font/unicode-block.cpp | 347 +++++++++++++ src/font/unicode-block.hpp | 1006 ++++++++++++++++++++++++++++++++++++ 2 files changed, 1353 insertions(+) create mode 100644 src/font/unicode-block.cpp create mode 100644 src/font/unicode-block.hpp diff --git a/src/font/unicode-block.cpp b/src/font/unicode-block.cpp new file mode 100644 index 0000000..b835d53 --- /dev/null +++ b/src/font/unicode-block.cpp @@ -0,0 +1,347 @@ +/* + * Copyright (C) 2021 Christopher J. Howard + * + * This file is part of Antkeeper source code. + * + * Antkeeper source code is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Antkeeper source code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Antkeeper source code. If not, see . + */ + +#include "unicode-block.hpp" + +namespace font { +namespace unicode { + +const block block::basic_latin{0x0, 0x7F}; +const block block::latin_1_supplement{0x80, 0xFF}; +const block block::latin_extended_a{0x0100, 0x017F}; +const block block::latin_extended_b{0x0180, 0x024F}; +const block block::ipa_extensions{0x0250, 0x02AF}; +const block block::spacing_modifier_letters{0x02B0, 0x02FF}; +const block block::combining_diacritical_marks{0x0300, 0x036F}; +const block block::greek_and_coptic{0x0370, 0x03FF}; +const block block::cyrillic{0x0400, 0x04FF}; +const block block::cyrillic_supplement{0x0500, 0x052F}; +const block block::armenian{0x0530, 0x058F}; +const block block::hebrew{0x0590, 0x05FF}; +const block block::arabic{0x0600, 0x06FF}; +const block block::syriac{0x0700, 0x074F}; +const block block::arabic_supplement{0x0750, 0x077F}; +const block block::thaana{0x0780, 0x07BF}; +const block block::nko{0x07C0, 0x07FF}; +const block block::samaritan{0x0800, 0x083F}; +const block block::mandaic{0x0840, 0x085F}; +const block block::syriac_supplement{0x0860, 0x086F}; +const block block::arabic_extended_b{0x0870, 0x089F}; +const block block::arabic_extended_a{0x08A0, 0x08FF}; +const block block::devanagari{0x0900, 0x097F}; +const block block::bengali{0x0980, 0x09FF}; +const block block::gurmukhi{0x0A00, 0x0A7F}; +const block block::gujarati{0x0A80, 0x0AFF}; +const block block::oriya{0x0B00, 0x0B7F}; +const block block::tamil{0x0B80, 0x0BFF}; +const block block::telugu{0x0C00, 0x0C7F}; +const block block::kannada{0x0C80, 0x0CFF}; +const block block::malayalam{0x0D00, 0x0D7F}; +const block block::sinhala{0x0D80, 0x0DFF}; +const block block::thai{0x0E00, 0x0E7F}; +const block block::lao{0x0E80, 0x0EFF}; +const block block::tibetan{0x0F00, 0x0FFF}; +const block block::myanmar{0x1000, 0x109F}; +const block block::georgian{0x10A0, 0x10FF}; +const block block::hangul_jamo{0x1100, 0x11FF}; +const block block::ethiopic{0x1200, 0x137F}; +const block block::ethiopic_supplement{0x1380, 0x139F}; +const block block::cherokee{0x13A0, 0x13FF}; +const block block::unified_canadian_aboriginal_syllabics{0x1400, 0x167F}; +const block block::ogham{0x1680, 0x169F}; +const block block::runic{0x16A0, 0x16FF}; +const block block::tagalog{0x1700, 0x171F}; +const block block::hanunoo{0x1720, 0x173F}; +const block block::buhid{0x1740, 0x175F}; +const block block::tagbanwa{0x1760, 0x177F}; +const block block::khmer{0x1780, 0x17FF}; +const block block::mongolian{0x1800, 0x18AF}; +const block block::unified_canadian_aboriginal_syllabics_extended{0x18B0, 0x18FF}; +const block block::limbu{0x1900, 0x194F}; +const block block::tai_le{0x1950, 0x197F}; +const block block::new_tai_lue{0x1980, 0x19DF}; +const block block::khmer_symbols{0x19E0, 0x19FF}; +const block block::buginese{0x1A00, 0x1A1F}; +const block block::tai_tham{0x1A20, 0x1AAF}; +const block block::combining_diacritical_marks_extended{0x1AB0, 0x1AFF}; +const block block::balinese{0x1B00, 0x1B7F}; +const block block::sundanese{0x1B80, 0x1BBF}; +const block block::batak{0x1BC0, 0x1BFF}; +const block block::lepcha{0x1C00, 0x1C4F}; +const block block::ol_chiki{0x1C50, 0x1C7F}; +const block block::cyrillic_extended_c{0x1C80, 0x1C8F}; +const block block::georgian_extended{0x1C90, 0x1CBF}; +const block block::sundanese_supplement{0x1CC0, 0x1CCF}; +const block block::vedic_extensions{0x1CD0, 0x1CFF}; +const block block::phonetic_extensions{0x1D00, 0x1D7F}; +const block block::phonetic_extensions_supplement{0x1D80, 0x1DBF}; +const block block::combining_diacritical_marks_supplement{0x1DC0, 0x1DFF}; +const block block::latin_extended_additional{0x1E00, 0x1EFF}; +const block block::greek_extended{0x1F00, 0x1FFF}; +const block block::general_punctuation{0x2000, 0x206F}; +const block block::superscripts_and_subscripts{0x2070, 0x209F}; +const block block::currency_symbols{0x20A0, 0x20CF}; +const block block::combining_diacritical_marks_for_symbols{0x20D0, 0x20FF}; +const block block::letterlike_symbols{0x2100, 0x214F}; +const block block::number_forms{0x2150, 0x218F}; +const block block::arrows{0x2190, 0x21FF}; +const block block::mathematical_operators{0x2200, 0x22FF}; +const block block::miscellaneous_technical{0x2300, 0x23FF}; +const block block::control_pictures{0x2400, 0x243F}; +const block block::optical_character_recognition{0x2440, 0x245F}; +const block block::enclosed_alphanumerics{0x2460, 0x24FF}; +const block block::box_drawing{0x2500, 0x257F}; +const block block::block_elements{0x2580, 0x259F}; +const block block::geometric_shapes{0x25A0, 0x25FF}; +const block block::miscellaneous_symbols{0x2600, 0x26FF}; +const block block::dingbats{0x2700, 0x27BF}; +const block block::miscellaneous_mathematical_symbols_a{0x27C0, 0x27EF}; +const block block::supplemental_arrows_a{0x27F0, 0x27FF}; +const block block::braille_patterns{0x2800, 0x28FF}; +const block block::supplemental_arrows_b{0x2900, 0x297F}; +const block block::miscellaneous_mathematical_symbols_b{0x2980, 0x29FF}; +const block block::supplemental_mathematical_operators{0x2A00, 0x2AFF}; +const block block::miscellaneous_symbols_and_arrows{0x2B00, 0x2BFF}; +const block block::glagolitic{0x2C00, 0x2C5F}; +const block block::latin_extended_c{0x2C60, 0x2C7F}; +const block block::coptic{0x2C80, 0x2CFF}; +const block block::georgian_supplement{0x2D00, 0x2D2F}; +const block block::tifinagh{0x2D30, 0x2D7F}; +const block block::ethiopic_extended{0x2D80, 0x2DDF}; +const block block::cyrillic_extended_a{0x2DE0, 0x2DFF}; +const block block::supplemental_punctuation{0x2E00, 0x2E7F}; +const block block::cjk_radicals_supplement{0x2E80, 0x2EFF}; +const block block::kangxi_radicals{0x2F00, 0x2FDF}; +const block block::ideographic_description_characters{0x2FF0, 0x2FFF}; +const block block::cjk_symbols_and_punctuation{0x3000, 0x303F}; +const block block::hiragana{0x3040, 0x309F}; +const block block::katakana{0x30A0, 0x30FF}; +const block block::bopomofo{0x3100, 0x312F}; +const block block::hangul_compatibility_jamo{0x3130, 0x318F}; +const block block::kanbun{0x3190, 0x319F}; +const block block::bopomofo_extended{0x31A0, 0x31BF}; +const block block::cjk_strokes{0x31C0, 0x31EF}; +const block block::katakana_phonetic_extensions{0x31F0, 0x31FF}; +const block block::enclosed_cjk_letters_and_months{0x3200, 0x32FF}; +const block block::cjk_compatibility{0x3300, 0x33FF}; +const block block::cjk_unified_ideographs_extension_a{0x3400, 0x4DBF}; +const block block::yijing_hexagram_symbols{0x4DC0, 0x4DFF}; +const block block::cjk_unified_ideographs{0x4E00, 0x9FFF}; +const block block::yi_syllables{0xA000, 0xA48F}; +const block block::yi_radicals{0xA490, 0xA4CF}; +const block block::lisu{0xA4D0, 0xA4FF}; +const block block::vai{0xA500, 0xA63F}; +const block block::cyrillic_extended_b{0xA640, 0xA69F}; +const block block::bamum{0xA6A0, 0xA6FF}; +const block block::modifier_tone_letters{0xA700, 0xA71F}; +const block block::latin_extended_d{0xA720, 0xA7FF}; +const block block::syloti_nagri{0xA800, 0xA82F}; +const block block::common_indic_number_forms{0xA830, 0xA83F}; +const block block::phags_pa{0xA840, 0xA87F}; +const block block::saurashtra{0xA880, 0xA8DF}; +const block block::devanagari_extended{0xA8E0, 0xA8FF}; +const block block::kayah_li{0xA900, 0xA92F}; +const block block::rejang{0xA930, 0xA95F}; +const block block::hangul_jamo_extended_a{0xA960, 0xA97F}; +const block block::javanese{0xA980, 0xA9DF}; +const block block::myanmar_extended_b{0xA9E0, 0xA9FF}; +const block block::cham{0xAA00, 0xAA5F}; +const block block::myanmar_extended_a{0xAA60, 0xAA7F}; +const block block::tai_viet{0xAA80, 0xAADF}; +const block block::meetei_mayek_extensions{0xAAE0, 0xAAFF}; +const block block::ethiopic_extended_a{0xAB00, 0xAB2F}; +const block block::latin_extended_e{0xAB30, 0xAB6F}; +const block block::cherokee_supplement{0xAB70, 0xABBF}; +const block block::meetei_mayek{0xABC0, 0xABFF}; +const block block::hangul_syllables{0xAC00, 0xD7AF}; +const block block::hangul_jamo_extended_b{0xD7B0, 0xD7FF}; +const block block::high_surrogates{0xD800, 0xDB7F}; +const block block::high_private_use_surrogates{0xDB80, 0xDBFF}; +const block block::low_surrogates{0xDC00, 0xDFFF}; +const block block::private_use_area{0xE000, 0xF8FF}; +const block block::cjk_compatibility_ideographs{0xF900, 0xFAFF}; +const block block::alphabetic_presentation_forms{0xFB00, 0xFB4F}; +const block block::arabic_presentation_forms_a{0xFB50, 0xFDFF}; +const block block::variation_selectors{0xFE00, 0xFE0F}; +const block block::vertical_forms{0xFE10, 0xFE1F}; +const block block::combining_half_marks{0xFE20, 0xFE2F}; +const block block::cjk_compatibility_forms{0xFE30, 0xFE4F}; +const block block::small_form_variants{0xFE50, 0xFE6F}; +const block block::arabic_presentation_forms_b{0xFE70, 0xFEFF}; +const block block::halfwidth_and_fullwidth_forms{0xFF00, 0xFFEF}; +const block block::specials{0xFFF0, 0xFFFF}; +const block block::linear_b_syllabary{0x10000, 0x1007F}; +const block block::linear_b_ideograms{0x10080, 0x100FF}; +const block block::aegean_numbers{0x10100, 0x1013F}; +const block block::ancient_greek_numbers{0x10140, 0x1018F}; +const block block::ancient_symbols{0x10190, 0x101CF}; +const block block::phaistos_disc{0x101D0, 0x101FF}; +const block block::lycian{0x10280, 0x1029F}; +const block block::carian{0x102A0, 0x102DF}; +const block block::coptic_epact_numbers{0x102E0, 0x102FF}; +const block block::old_italic{0x10300, 0x1032F}; +const block block::gothic{0x10330, 0x1034F}; +const block block::old_permic{0x10350, 0x1037F}; +const block block::ugaritic{0x10380, 0x1039F}; +const block block::old_persian{0x103A0, 0x103DF}; +const block block::deseret{0x10400, 0x1044F}; +const block block::shavian{0x10450, 0x1047F}; +const block block::osmanya{0x10480, 0x104AF}; +const block block::osage{0x104B0, 0x104FF}; +const block block::elbasan{0x10500, 0x1052F}; +const block block::caucasian_albanian{0x10530, 0x1056F}; +const block block::vithkuqi{0x10570, 0x105BF}; +const block block::linear_a{0x10600, 0x1077F}; +const block block::latin_extended_f{0x10780, 0x107BF}; +const block block::cypriot_syllabary{0x10800, 0x1083F}; +const block block::imperial_aramaic{0x10840, 0x1085F}; +const block block::palmyrene{0x10860, 0x1087F}; +const block block::nabataean{0x10880, 0x108AF}; +const block block::hatran{0x108E0, 0x108FF}; +const block block::phoenician{0x10900, 0x1091F}; +const block block::lydian{0x10920, 0x1093F}; +const block block::meroitic_hieroglyphs{0x10980, 0x1099F}; +const block block::meroitic_cursive{0x109A0, 0x109FF}; +const block block::kharoshthi{0x10A00, 0x10A5F}; +const block block::old_south_arabian{0x10A60, 0x10A7F}; +const block block::old_north_arabian{0x10A80, 0x10A9F}; +const block block::manichaean{0x10AC0, 0x10AFF}; +const block block::avestan{0x10B00, 0x10B3F}; +const block block::inscriptional_parthian{0x10B40, 0x10B5F}; +const block block::inscriptional_pahlavi{0x10B60, 0x10B7F}; +const block block::psalter_pahlavi{0x10B80, 0x10BAF}; +const block block::old_turkic{0x10C00, 0x10C4F}; +const block block::old_hungarian{0x10C80, 0x10CFF}; +const block block::hanifi_rohingya{0x10D00, 0x10D3F}; +const block block::rumi_numeral_symbols{0x10E60, 0x10E7F}; +const block block::yezidi{0x10E80, 0x10EBF}; +const block block::old_sogdian{0x10F00, 0x10F2F}; +const block block::sogdian{0x10F30, 0x10F6F}; +const block block::old_uyghur{0x10F70, 0x10FAF}; +const block block::chorasmian{0x10FB0, 0x10FDF}; +const block block::elymaic{0x10FE0, 0x10FFF}; +const block block::brahmi{0x11000, 0x1107F}; +const block block::kaithi{0x11080, 0x110CF}; +const block block::sora_sompeng{0x110D0, 0x110FF}; +const block block::chakma{0x11100, 0x1114F}; +const block block::mahajani{0x11150, 0x1117F}; +const block block::sharada{0x11180, 0x111DF}; +const block block::sinhala_archaic_numbers{0x111E0, 0x111FF}; +const block block::khojki{0x11200, 0x1124F}; +const block block::multani{0x11280, 0x112AF}; +const block block::khudawadi{0x112B0, 0x112FF}; +const block block::grantha{0x11300, 0x1137F}; +const block block::newa{0x11400, 0x1147F}; +const block block::tirhuta{0x11480, 0x114DF}; +const block block::siddham{0x11580, 0x115FF}; +const block block::modi{0x11600, 0x1165F}; +const block block::mongolian_supplement{0x11660, 0x1167F}; +const block block::takri{0x11680, 0x116CF}; +const block block::ahom{0x11700, 0x1174F}; +const block block::dogra{0x11800, 0x1184F}; +const block block::warang_citi{0x118A0, 0x118FF}; +const block block::dives_akuru{0x11900, 0x1195F}; +const block block::nandinagari{0x119A0, 0x119FF}; +const block block::zanabazar_square{0x11A00, 0x11A4F}; +const block block::soyombo{0x11A50, 0x11AAF}; +const block block::unified_canadian_aboriginal_syllabics_extended_a{0x11AB0, 0x11ABF}; +const block block::pau_cin_hau{0x11AC0, 0x11AFF}; +const block block::bhaiksuki{0x11C00, 0x11C6F}; +const block block::marchen{0x11C70, 0x11CBF}; +const block block::masaram_gondi{0x11D00, 0x11D5F}; +const block block::gunjala_gondi{0x11D60, 0x11DAF}; +const block block::makasar{0x11EE0, 0x11EFF}; +const block block::lisu_supplement{0x11FB0, 0x11FBF}; +const block block::tamil_supplement{0x11FC0, 0x11FFF}; +const block block::cuneiform{0x12000, 0x123FF}; +const block block::cuneiform_numbers_and_punctuation{0x12400, 0x1247F}; +const block block::early_dynastic_cuneiform{0x12480, 0x1254F}; +const block block::cypro_minoan{0x12F90, 0x12FFF}; +const block block::egyptian_hieroglyphs{0x13000, 0x1342F}; +const block block::egyptian_hieroglyph_format_controls{0x13430, 0x1343F}; +const block block::anatolian_hieroglyphs{0x14400, 0x1467F}; +const block block::bamum_supplement{0x16800, 0x16A3F}; +const block block::mro{0x16A40, 0x16A6F}; +const block block::tangsa{0x16A70, 0x16ACF}; +const block block::bassa_vah{0x16AD0, 0x16AFF}; +const block block::pahawh_hmong{0x16B00, 0x16B8F}; +const block block::medefaidrin{0x16E40, 0x16E9F}; +const block block::miao{0x16F00, 0x16F9F}; +const block block::ideographic_symbols_and_punctuation{0x16FE0, 0x16FFF}; +const block block::tangut{0x17000, 0x187FF}; +const block block::tangut_components{0x18800, 0x18AFF}; +const block block::khitan_small_script{0x18B00, 0x18CFF}; +const block block::tangut_supplement{0x18D00, 0x18D7F}; +const block block::kana_extended_b{0x1AFF0, 0x1AFFF}; +const block block::kana_supplement{0x1B000, 0x1B0FF}; +const block block::kana_extended_a{0x1B100, 0x1B12F}; +const block block::small_kana_extension{0x1B130, 0x1B16F}; +const block block::nushu{0x1B170, 0x1B2FF}; +const block block::duployan{0x1BC00, 0x1BC9F}; +const block block::shorthand_format_controls{0x1BCA0, 0x1BCAF}; +const block block::znamenny_musical_notation{0x1CF00, 0x1CFCF}; +const block block::byzantine_musical_symbols{0x1D000, 0x1D0FF}; +const block block::musical_symbols{0x1D100, 0x1D1FF}; +const block block::ancient_greek_musical_notation{0x1D200, 0x1D24F}; +const block block::mayan_numerals{0x1D2E0, 0x1D2FF}; +const block block::tai_xuan_jing_symbols{0x1D300, 0x1D35F}; +const block block::counting_rod_numerals{0x1D360, 0x1D37F}; +const block block::mathematical_alphanumeric_symbols{0x1D400, 0x1D7FF}; +const block block::sutton_signwriting{0x1D800, 0x1DAAF}; +const block block::latin_extended_g{0x1DF00, 0x1DFFF}; +const block block::glagolitic_supplement{0x1E000, 0x1E02F}; +const block block::nyiakeng_puachue_hmong{0x1E100, 0x1E14F}; +const block block::toto{0x1E290, 0x1E2BF}; +const block block::wancho{0x1E2C0, 0x1E2FF}; +const block block::ethiopic_extended_b{0x1E7E0, 0x1E7FF}; +const block block::mende_kikakui{0x1E800, 0x1E8DF}; +const block block::adlam{0x1E900, 0x1E95F}; +const block block::indic_siyaq_numbers{0x1EC70, 0x1ECBF}; +const block block::ottoman_siyaq_numbers{0x1ED00, 0x1ED4F}; +const block block::arabic_mathematical_alphabetic_symbols{0x1EE00, 0x1EEFF}; +const block block::mahjong_tiles{0x1F000, 0x1F02F}; +const block block::domino_tiles{0x1F030, 0x1F09F}; +const block block::playing_cards{0x1F0A0, 0x1F0FF}; +const block block::enclosed_alphanumeric_supplement{0x1F100, 0x1F1FF}; +const block block::enclosed_ideographic_supplement{0x1F200, 0x1F2FF}; +const block block::miscellaneous_symbols_and_pictographs{0x1F300, 0x1F5FF}; +const block block::emoticons{0x1F600, 0x1F64F}; +const block block::ornamental_dingbats{0x1F650, 0x1F67F}; +const block block::transport_and_map_symbols{0x1F680, 0x1F6FF}; +const block block::alchemical_symbols{0x1F700, 0x1F77F}; +const block block::geometric_shapes_extended{0x1F780, 0x1F7FF}; +const block block::supplemental_arrows_c{0x1F800, 0x1F8FF}; +const block block::supplemental_symbols_and_pictographs{0x1F900, 0x1F9FF}; +const block block::chess_symbols{0x1FA00, 0x1FA6F}; +const block block::symbols_and_pictographs_extended_a{0x1FA70, 0x1FAFF}; +const block block::symbols_for_legacy_computing{0x1FB00, 0x1FBFF}; +const block block::cjk_unified_ideographs_extension_b{0x20000, 0x2A6DF}; +const block block::cjk_unified_ideographs_extension_c{0x2A700, 0x2B73F}; +const block block::cjk_unified_ideographs_extension_d{0x2B740, 0x2B81F}; +const block block::cjk_unified_ideographs_extension_e{0x2B820, 0x2CEAF}; +const block block::cjk_unified_ideographs_extension_f{0x2CEB0, 0x2EBEF}; +const block block::cjk_compatibility_ideographs_supplement{0x2F800, 0x2FA1F}; +const block block::cjk_unified_ideographs_extension_g{0x30000, 0x3134F}; +const block block::tags{0xE0000, 0xE007F}; +const block block::variation_selectors_supplement{0xE0100, 0xE01EF}; +const block block::supplementary_private_use_area_a{0xF0000, 0xFFFFF}; +const block block::supplementary_private_use_area_b{0x100000, 0x10FFFF}; + +} // namespace unicode +} // namespace font diff --git a/src/font/unicode-block.hpp b/src/font/unicode-block.hpp new file mode 100644 index 0000000..7c0fd9a --- /dev/null +++ b/src/font/unicode-block.hpp @@ -0,0 +1,1006 @@ +/* + * Copyright (C) 2021 Christopher J. Howard + * + * This file is part of Antkeeper source code. + * + * Antkeeper source code is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Antkeeper source code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Antkeeper source code. If not, see . + */ + +#ifndef ANTKEEPER_FONT_UNICODE_BLOCK_HPP +#define ANTKEEPER_FONT_UNICODE_BLOCK_HPP + +namespace font { + +/// Unicode-related functions and data +namespace unicode { + +/** + * Contiguous range of Unicode characters. + * + * @see https://en.wikipedia.org/wiki/Unicode_block + * @see http://jrgraphix.net/research/unicode.php + */ +struct block +{ + /// First character in the block. + char32_t first; + + /// Last character in the block. + char32_t last; + + /// Basic Latin[g] + static const block basic_latin; + + /// Latin-1 Supplement[h] + static const block latin_1_supplement; + + /// Latin Extended-A + static const block latin_extended_a; + + /// Latin Extended-B + static const block latin_extended_b; + + /// IPA Extensions + static const block ipa_extensions; + + /// Spacing Modifier Letters + static const block spacing_modifier_letters; + + /// Combining Diacritical Marks + static const block combining_diacritical_marks; + + /// Greek and Coptic + static const block greek_and_coptic; + + /// Cyrillic + static const block cyrillic; + + /// Cyrillic Supplement + static const block cyrillic_supplement; + + /// Armenian + static const block armenian; + + /// Hebrew + static const block hebrew; + + /// Arabic + static const block arabic; + + /// Syriac + static const block syriac; + + /// Arabic Supplement + static const block arabic_supplement; + + /// Thaana + static const block thaana; + + /// NKo + static const block nko; + + /// Samaritan + static const block samaritan; + + /// Mandaic + static const block mandaic; + + /// Syriac Supplement + static const block syriac_supplement; + + /// Arabic Extended-B + static const block arabic_extended_b; + + /// Arabic Extended-A + static const block arabic_extended_a; + + /// Devanagari + static const block devanagari; + + /// Bengali + static const block bengali; + + /// Gurmukhi + static const block gurmukhi; + + /// Gujarati + static const block gujarati; + + /// Oriya + static const block oriya; + + /// Tamil + static const block tamil; + + /// Telugu + static const block telugu; + + /// Kannada + static const block kannada; + + /// Malayalam + static const block malayalam; + + /// Sinhala + static const block sinhala; + + /// Thai + static const block thai; + + /// Lao + static const block lao; + + /// Tibetan + static const block tibetan; + + /// Myanmar + static const block myanmar; + + /// Georgian + static const block georgian; + + /// Hangul Jamo + static const block hangul_jamo; + + /// Ethiopic + static const block ethiopic; + + /// Ethiopic Supplement + static const block ethiopic_supplement; + + /// Cherokee + static const block cherokee; + + /// Unified Canadian Aboriginal Syllabics + static const block unified_canadian_aboriginal_syllabics; + + /// Ogham + static const block ogham; + + /// Runic + static const block runic; + + /// Tagalog + static const block tagalog; + + /// Hanunoo + static const block hanunoo; + + /// Buhid + static const block buhid; + + /// Tagbanwa + static const block tagbanwa; + + /// Khmer + static const block khmer; + + /// Mongolian + static const block mongolian; + + /// Unified Canadian Aboriginal Syllabics Extended + static const block unified_canadian_aboriginal_syllabics_extended; + + /// Limbu + static const block limbu; + + /// Tai Le + static const block tai_le; + + /// New Tai Lue + static const block new_tai_lue; + + /// Khmer Symbols + static const block khmer_symbols; + + /// Buginese + static const block buginese; + + /// Tai Tham + static const block tai_tham; + + /// Combining Diacritical Marks Extended + static const block combining_diacritical_marks_extended; + + /// Balinese + static const block balinese; + + /// Sundanese + static const block sundanese; + + /// Batak + static const block batak; + + /// Lepcha + static const block lepcha; + + /// Ol Chiki + static const block ol_chiki; + + /// Cyrillic Extended-C + static const block cyrillic_extended_c; + + /// Georgian Extended + static const block georgian_extended; + + /// Sundanese Supplement + static const block sundanese_supplement; + + /// Vedic Extensions + static const block vedic_extensions; + + /// Phonetic Extensions + static const block phonetic_extensions; + + /// Phonetic Extensions Supplement + static const block phonetic_extensions_supplement; + + /// Combining Diacritical Marks Supplement + static const block combining_diacritical_marks_supplement; + + /// Latin Extended Additional + static const block latin_extended_additional; + + /// Greek Extended + static const block greek_extended; + + /// General Punctuation + static const block general_punctuation; + + /// Superscripts and Subscripts + static const block superscripts_and_subscripts; + + /// Currency Symbols + static const block currency_symbols; + + /// Combining Diacritical Marks for Symbols + static const block combining_diacritical_marks_for_symbols; + + /// Letterlike Symbols + static const block letterlike_symbols; + + /// Number Forms + static const block number_forms; + + /// Arrows + static const block arrows; + + /// Mathematical Operators + static const block mathematical_operators; + + /// Miscellaneous Technical + static const block miscellaneous_technical; + + /// Control Pictures + static const block control_pictures; + + /// Optical Character Recognition + static const block optical_character_recognition; + + /// Enclosed Alphanumerics + static const block enclosed_alphanumerics; + + /// Box Drawing + static const block box_drawing; + + /// Block Elements + static const block block_elements; + + /// Geometric Shapes + static const block geometric_shapes; + + /// Miscellaneous Symbols + static const block miscellaneous_symbols; + + /// Dingbats + static const block dingbats; + + /// Miscellaneous Mathematical Symbols-A + static const block miscellaneous_mathematical_symbols_a; + + /// Supplemental Arrows-A + static const block supplemental_arrows_a; + + /// Braille Patterns + static const block braille_patterns; + + /// Supplemental Arrows-B + static const block supplemental_arrows_b; + + /// Miscellaneous Mathematical Symbols-B + static const block miscellaneous_mathematical_symbols_b; + + /// Supplemental Mathematical Operators + static const block supplemental_mathematical_operators; + + /// Miscellaneous Symbols and Arrows + static const block miscellaneous_symbols_and_arrows; + + /// Glagolitic + static const block glagolitic; + + /// Latin Extended-C + static const block latin_extended_c; + + /// Coptic + static const block coptic; + + /// Georgian Supplement + static const block georgian_supplement; + + /// Tifinagh + static const block tifinagh; + + /// Ethiopic Extended + static const block ethiopic_extended; + + /// Cyrillic Extended-A + static const block cyrillic_extended_a; + + /// Supplemental Punctuation + static const block supplemental_punctuation; + + /// CJK Radicals Supplement + static const block cjk_radicals_supplement; + + /// Kangxi Radicals + static const block kangxi_radicals; + + /// Ideographic Description Characters + static const block ideographic_description_characters; + + /// CJK Symbols and Punctuation + static const block cjk_symbols_and_punctuation; + + /// Hiragana + static const block hiragana; + + /// Katakana + static const block katakana; + + /// Bopomofo + static const block bopomofo; + + /// Hangul Compatibility Jamo + static const block hangul_compatibility_jamo; + + /// Kanbun + static const block kanbun; + + /// Bopomofo Extended + static const block bopomofo_extended; + + /// CJK Strokes + static const block cjk_strokes; + + /// Katakana Phonetic Extensions + static const block katakana_phonetic_extensions; + + /// Enclosed CJK Letters and Months + static const block enclosed_cjk_letters_and_months; + + /// CJK Compatibility + static const block cjk_compatibility; + + /// CJK Unified Ideographs Extension A + static const block cjk_unified_ideographs_extension_a; + + /// Yijing Hexagram Symbols + static const block yijing_hexagram_symbols; + + /// CJK Unified Ideographs + static const block cjk_unified_ideographs; + + /// Yi Syllables + static const block yi_syllables; + + /// Yi Radicals + static const block yi_radicals; + + /// Lisu + static const block lisu; + + /// Vai + static const block vai; + + /// Cyrillic Extended-B + static const block cyrillic_extended_b; + + /// Bamum + static const block bamum; + + /// Modifier Tone Letters + static const block modifier_tone_letters; + + /// Latin Extended-D + static const block latin_extended_d; + + /// Syloti Nagri + static const block syloti_nagri; + + /// Common Indic Number Forms + static const block common_indic_number_forms; + + /// Phags-pa + static const block phags_pa; + + /// Saurashtra + static const block saurashtra; + + /// Devanagari Extended + static const block devanagari_extended; + + /// Kayah Li + static const block kayah_li; + + /// Rejang + static const block rejang; + + /// Hangul Jamo Extended-A + static const block hangul_jamo_extended_a; + + /// Javanese + static const block javanese; + + /// Myanmar Extended-B + static const block myanmar_extended_b; + + /// Cham + static const block cham; + + /// Myanmar Extended-A + static const block myanmar_extended_a; + + /// Tai Viet + static const block tai_viet; + + /// Meetei Mayek Extensions + static const block meetei_mayek_extensions; + + /// Ethiopic Extended-A + static const block ethiopic_extended_a; + + /// Latin Extended-E + static const block latin_extended_e; + + /// Cherokee Supplement + static const block cherokee_supplement; + + /// Meetei Mayek + static const block meetei_mayek; + + /// Hangul Syllables + static const block hangul_syllables; + + /// Hangul Jamo Extended-B + static const block hangul_jamo_extended_b; + + /// High Surrogates + static const block high_surrogates; + + /// High Private Use Surrogates + static const block high_private_use_surrogates; + + /// Low Surrogates + static const block low_surrogates; + + /// Private Use Area + static const block private_use_area; + + /// CJK Compatibility Ideographs + static const block cjk_compatibility_ideographs; + + /// Alphabetic Presentation Forms + static const block alphabetic_presentation_forms; + + /// Arabic Presentation Forms-A + static const block arabic_presentation_forms_a; + + /// Variation Selectors + static const block variation_selectors; + + /// Vertical Forms + static const block vertical_forms; + + /// Combining Half Marks + static const block combining_half_marks; + + /// CJK Compatibility Forms + static const block cjk_compatibility_forms; + + /// Small Form Variants + static const block small_form_variants; + + /// Arabic Presentation Forms-B + static const block arabic_presentation_forms_b; + + /// Halfwidth and Fullwidth Forms + static const block halfwidth_and_fullwidth_forms; + + /// Specials + static const block specials; + + /// Linear B Syllabary + static const block linear_b_syllabary; + + /// Linear B Ideograms + static const block linear_b_ideograms; + + /// Aegean Numbers + static const block aegean_numbers; + + /// Ancient Greek Numbers + static const block ancient_greek_numbers; + + /// Ancient Symbols + static const block ancient_symbols; + + /// Phaistos Disc + static const block phaistos_disc; + + /// Lycian + static const block lycian; + + /// Carian + static const block carian; + + /// Coptic Epact Numbers + static const block coptic_epact_numbers; + + /// Old Italic + static const block old_italic; + + /// Gothic + static const block gothic; + + /// Old Permic + static const block old_permic; + + /// Ugaritic + static const block ugaritic; + + /// Old Persian + static const block old_persian; + + /// Deseret + static const block deseret; + + /// Shavian + static const block shavian; + + /// Osmanya + static const block osmanya; + + /// Osage + static const block osage; + + /// Elbasan + static const block elbasan; + + /// Caucasian Albanian + static const block caucasian_albanian; + + /// Vithkuqi + static const block vithkuqi; + + /// Linear A + static const block linear_a; + + /// Latin Extended-F + static const block latin_extended_f; + + /// Cypriot Syllabary + static const block cypriot_syllabary; + + /// Imperial Aramaic + static const block imperial_aramaic; + + /// Palmyrene + static const block palmyrene; + + /// Nabataean + static const block nabataean; + + /// Hatran + static const block hatran; + + /// Phoenician + static const block phoenician; + + /// Lydian + static const block lydian; + + /// Meroitic Hieroglyphs + static const block meroitic_hieroglyphs; + + /// Meroitic Cursive + static const block meroitic_cursive; + + /// Kharoshthi + static const block kharoshthi; + + /// Old South Arabian + static const block old_south_arabian; + + /// Old North Arabian + static const block old_north_arabian; + + /// Manichaean + static const block manichaean; + + /// Avestan + static const block avestan; + + /// Inscriptional Parthian + static const block inscriptional_parthian; + + /// Inscriptional Pahlavi + static const block inscriptional_pahlavi; + + /// Psalter Pahlavi + static const block psalter_pahlavi; + + /// Old Turkic + static const block old_turkic; + + /// Old Hungarian + static const block old_hungarian; + + /// Hanifi Rohingya + static const block hanifi_rohingya; + + /// Rumi Numeral Symbols + static const block rumi_numeral_symbols; + + /// Yezidi + static const block yezidi; + + /// Old Sogdian + static const block old_sogdian; + + /// Sogdian + static const block sogdian; + + /// Old Uyghur + static const block old_uyghur; + + /// Chorasmian + static const block chorasmian; + + /// Elymaic + static const block elymaic; + + /// Brahmi + static const block brahmi; + + /// Kaithi + static const block kaithi; + + /// Sora Sompeng + static const block sora_sompeng; + + /// Chakma + static const block chakma; + + /// Mahajani + static const block mahajani; + + /// Sharada + static const block sharada; + + /// Sinhala Archaic Numbers + static const block sinhala_archaic_numbers; + + /// Khojki + static const block khojki; + + /// Multani + static const block multani; + + /// Khudawadi + static const block khudawadi; + + /// Grantha + static const block grantha; + + /// Newa + static const block newa; + + /// Tirhuta + static const block tirhuta; + + /// Siddham + static const block siddham; + + /// Modi + static const block modi; + + /// Mongolian Supplement + static const block mongolian_supplement; + + /// Takri + static const block takri; + + /// Ahom + static const block ahom; + + /// Dogra + static const block dogra; + + /// Warang Citi + static const block warang_citi; + + /// Dives Akuru + static const block dives_akuru; + + /// Nandinagari + static const block nandinagari; + + /// Zanabazar Square + static const block zanabazar_square; + + /// Soyombo + static const block soyombo; + + /// Unified Canadian Aboriginal Syllabics Extended-A + static const block unified_canadian_aboriginal_syllabics_extended_a; + + /// Pau Cin Hau + static const block pau_cin_hau; + + /// Bhaiksuki + static const block bhaiksuki; + + /// Marchen + static const block marchen; + + /// Masaram Gondi + static const block masaram_gondi; + + /// Gunjala Gondi + static const block gunjala_gondi; + + /// Makasar + static const block makasar; + + /// Lisu Supplement + static const block lisu_supplement; + + /// Tamil Supplement + static const block tamil_supplement; + + /// Cuneiform + static const block cuneiform; + + /// Cuneiform Numbers and Punctuation + static const block cuneiform_numbers_and_punctuation; + + /// Early Dynastic Cuneiform + static const block early_dynastic_cuneiform; + + /// Cypro-Minoan + static const block cypro_minoan; + + /// Egyptian Hieroglyphs + static const block egyptian_hieroglyphs; + + /// Egyptian Hieroglyph Format Controls + static const block egyptian_hieroglyph_format_controls; + + /// Anatolian Hieroglyphs + static const block anatolian_hieroglyphs; + + /// Bamum Supplement + static const block bamum_supplement; + + /// Mro + static const block mro; + + /// Tangsa + static const block tangsa; + + /// Bassa Vah + static const block bassa_vah; + + /// Pahawh Hmong + static const block pahawh_hmong; + + /// Medefaidrin + static const block medefaidrin; + + /// Miao + static const block miao; + + /// Ideographic Symbols and Punctuation + static const block ideographic_symbols_and_punctuation; + + /// Tangut + static const block tangut; + + /// Tangut Components + static const block tangut_components; + + /// Khitan Small Script + static const block khitan_small_script; + + /// Tangut Supplement + static const block tangut_supplement; + + /// Kana Extended-B + static const block kana_extended_b; + + /// Kana Supplement + static const block kana_supplement; + + /// Kana Extended-A + static const block kana_extended_a; + + /// Small Kana Extension + static const block small_kana_extension; + + /// Nushu + static const block nushu; + + /// Duployan + static const block duployan; + + /// Shorthand Format Controls + static const block shorthand_format_controls; + + /// Znamenny Musical Notation + static const block znamenny_musical_notation; + + /// Byzantine Musical Symbols + static const block byzantine_musical_symbols; + + /// Musical Symbols + static const block musical_symbols; + + /// Ancient Greek Musical Notation + static const block ancient_greek_musical_notation; + + /// Mayan Numerals + static const block mayan_numerals; + + /// Tai Xuan Jing Symbols + static const block tai_xuan_jing_symbols; + + /// Counting Rod Numerals + static const block counting_rod_numerals; + + /// Mathematical Alphanumeric Symbols + static const block mathematical_alphanumeric_symbols; + + /// Sutton SignWriting + static const block sutton_signwriting; + + /// Latin Extended-G + static const block latin_extended_g; + + /// Glagolitic Supplement + static const block glagolitic_supplement; + + /// Nyiakeng Puachue Hmong + static const block nyiakeng_puachue_hmong; + + /// Toto + static const block toto; + + /// Wancho + static const block wancho; + + /// Ethiopic Extended-B + static const block ethiopic_extended_b; + + /// Mende Kikakui + static const block mende_kikakui; + + /// Adlam + static const block adlam; + + /// Indic Siyaq Numbers + static const block indic_siyaq_numbers; + + /// Ottoman Siyaq Numbers + static const block ottoman_siyaq_numbers; + + /// Arabic Mathematical Alphabetic Symbols + static const block arabic_mathematical_alphabetic_symbols; + + /// Mahjong Tiles + static const block mahjong_tiles; + + /// Domino Tiles + static const block domino_tiles; + + /// Playing Cards + static const block playing_cards; + + /// Enclosed Alphanumeric Supplement + static const block enclosed_alphanumeric_supplement; + + /// Enclosed Ideographic Supplement + static const block enclosed_ideographic_supplement; + + /// Miscellaneous Symbols and Pictographs + static const block miscellaneous_symbols_and_pictographs; + + /// Emoticons + static const block emoticons; + + /// Ornamental Dingbats + static const block ornamental_dingbats; + + /// Transport and Map Symbols + static const block transport_and_map_symbols; + + /// Alchemical Symbols + static const block alchemical_symbols; + + /// Geometric Shapes Extended + static const block geometric_shapes_extended; + + /// Supplemental Arrows-C + static const block supplemental_arrows_c; + + /// Supplemental Symbols and Pictographs + static const block supplemental_symbols_and_pictographs; + + /// Chess Symbols + static const block chess_symbols; + + /// Symbols and Pictographs Extended-A + static const block symbols_and_pictographs_extended_a; + + /// Symbols for Legacy Computing + static const block symbols_for_legacy_computing; + + /// CJK Unified Ideographs Extension B + static const block cjk_unified_ideographs_extension_b; + + /// CJK Unified Ideographs Extension C + static const block cjk_unified_ideographs_extension_c; + + /// CJK Unified Ideographs Extension D + static const block cjk_unified_ideographs_extension_d; + + /// CJK Unified Ideographs Extension E + static const block cjk_unified_ideographs_extension_e; + + /// CJK Unified Ideographs Extension F + static const block cjk_unified_ideographs_extension_f; + + /// CJK Compatibility Ideographs Supplement + static const block cjk_compatibility_ideographs_supplement; + + /// CJK Unified Ideographs Extension G + static const block cjk_unified_ideographs_extension_g; + + /// Tags + static const block tags; + + /// Variation Selectors Supplement + static const block variation_selectors_supplement; + + /// Supplementary Private Use Area-A + static const block supplementary_private_use_area_a; + + /// Supplementary Private Use Area-B + static const block supplementary_private_use_area_b; +}; + +} // namespace unicode +} // namespace font + +#endif // ANTKEEPER_FONT_UNICODE_BLOCK_HPP