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