💿🐜 Antkeeper source code https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1006 lines
20 KiB

/*
* 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 <http://www.gnu.org/licenses/>.
*/
#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