ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
Script.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_Script_D_HPP
2#define ICU4X_Script_D_HPP
3
4#include <stdio.h>
5#include <stdint.h>
6#include <stddef.h>
7#include <stdbool.h>
8#include <memory>
9#include <functional>
10#include <optional>
11#include <cstdlib>
12#include "diplomat_runtime.hpp"
13namespace icu4x {
14class Script;
15} // namespace icu4x
16
17
18
19namespace icu4x {
20namespace capi {
21 enum Script {
22 Script_Common = 0,
23 Script_Inherited = 1,
24 Script_Arabic = 2,
25 Script_Armenian = 3,
26 Script_Bengali = 4,
27 Script_Bopomofo = 5,
28 Script_Cherokee = 6,
29 Script_Coptic = 7,
30 Script_Cyrillic = 8,
31 Script_Deseret = 9,
32 Script_Devanagari = 10,
33 Script_Ethiopian = 11,
34 Script_Georgian = 12,
35 Script_Gothic = 13,
36 Script_Greek = 14,
37 Script_Gujarati = 15,
38 Script_Gurmukhi = 16,
39 Script_Han = 17,
40 Script_Hangul = 18,
41 Script_Hebrew = 19,
42 Script_Hiragana = 20,
43 Script_Kannada = 21,
44 Script_Katakana = 22,
45 Script_Khmer = 23,
46 Script_Lao = 24,
47 Script_Latin = 25,
48 Script_Malayalam = 26,
49 Script_Mongolian = 27,
50 Script_Myanmar = 28,
51 Script_Ogham = 29,
52 Script_OldItalic = 30,
53 Script_Oriya = 31,
54 Script_Runic = 32,
55 Script_Sinhala = 33,
56 Script_Syriac = 34,
57 Script_Tamil = 35,
58 Script_Telugu = 36,
59 Script_Thaana = 37,
60 Script_Thai = 38,
61 Script_Tibetan = 39,
62 Script_CanadianAboriginal = 40,
63 Script_Yi = 41,
64 Script_Tagalog = 42,
65 Script_Hanunoo = 43,
66 Script_Buhid = 44,
67 Script_Tagbanwa = 45,
68 Script_Braille = 46,
69 Script_Cypriot = 47,
70 Script_Limbu = 48,
71 Script_LinearB = 49,
72 Script_Osmanya = 50,
73 Script_Shavian = 51,
74 Script_TaiLe = 52,
75 Script_Ugaritic = 53,
76 Script_KatakanaOrHiragana = 54,
77 Script_Buginese = 55,
78 Script_Glagolitic = 56,
79 Script_Kharoshthi = 57,
80 Script_SylotiNagri = 58,
81 Script_NewTaiLue = 59,
82 Script_Tifinagh = 60,
83 Script_OldPersian = 61,
84 Script_Balinese = 62,
85 Script_Batak = 63,
86 Script_BlisSymbols = 64,
87 Script_Brahmi = 65,
88 Script_Cham = 66,
89 Script_Cirth = 67,
90 Script_OldChurchSlavonicCyrillic = 68,
91 Script_DemoticEgyptian = 69,
92 Script_HieraticEgyptian = 70,
93 Script_EgyptianHieroglyphs = 71,
94 Script_Khutsuri = 72,
95 Script_SimplifiedHan = 73,
96 Script_TraditionalHan = 74,
97 Script_PahawhHmong = 75,
98 Script_OldHungarian = 76,
99 Script_HarappanIndus = 77,
100 Script_Javanese = 78,
101 Script_KayahLi = 79,
102 Script_LatinFraktur = 80,
103 Script_LatinGaelic = 81,
104 Script_Lepcha = 82,
105 Script_LinearA = 83,
106 Script_Mandaic = 84,
107 Script_MayanHieroglyphs = 85,
108 Script_MeroiticHieroglyphs = 86,
109 Script_Nko = 87,
110 Script_OldTurkic = 88,
111 Script_OldPermic = 89,
112 Script_PhagsPa = 90,
113 Script_Phoenician = 91,
114 Script_Miao = 92,
115 Script_Rongorongo = 93,
116 Script_Sarati = 94,
117 Script_EstrangeloSyriac = 95,
118 Script_WesternSyriac = 96,
119 Script_EasternSyriac = 97,
120 Script_Tengwar = 98,
121 Script_Vai = 99,
122 Script_VisibleSpeech = 100,
123 Script_Cuneiform = 101,
124 Script_UnwrittenLanguages = 102,
125 Script_Unknown = 103,
126 Script_Carian = 104,
127 Script_Japanese = 105,
128 Script_TaiTham = 106,
129 Script_Lycian = 107,
130 Script_Lydian = 108,
131 Script_OlChiki = 109,
132 Script_Rejang = 110,
133 Script_Saurashtra = 111,
134 Script_SignWriting = 112,
135 Script_Sundanese = 113,
136 Script_Moon = 114,
137 Script_MeeteiMayek = 115,
138 Script_ImperialAramaic = 116,
139 Script_Avestan = 117,
140 Script_Chakma = 118,
141 Script_Korean = 119,
142 Script_Kaithi = 120,
143 Script_Manichaean = 121,
144 Script_InscriptionalPahlavi = 122,
145 Script_PsalterPahlavi = 123,
146 Script_BookPahlavi = 124,
147 Script_InscriptionalParthian = 125,
148 Script_Samaritan = 126,
149 Script_TaiViet = 127,
150 Script_MathematicalNotation = 128,
151 Script_Symbols = 129,
152 Script_Bamum = 130,
153 Script_Lisu = 131,
154 Script_NakhiGeba = 132,
155 Script_OldSouthArabian = 133,
156 Script_BassaVah = 134,
157 Script_Duployan = 135,
158 Script_Elbasan = 136,
159 Script_Grantha = 137,
160 Script_Kpelle = 138,
161 Script_Loma = 139,
162 Script_MendeKikakui = 140,
163 Script_MeroiticCursive = 141,
164 Script_OldNorthArabian = 142,
165 Script_Nabataean = 143,
166 Script_Palmyrene = 144,
167 Script_Khudawadi = 145,
168 Script_WarangCiti = 146,
169 Script_Afaka = 147,
170 Script_Jurchen = 148,
171 Script_Mro = 149,
172 Script_Nushu = 150,
173 Script_Sharada = 151,
174 Script_SoraSompeng = 152,
175 Script_Takri = 153,
176 Script_Tangut = 154,
177 Script_Woleai = 155,
178 Script_AnatolianHieroglyphs = 156,
179 Script_Khojki = 157,
180 Script_Tirhuta = 158,
181 Script_CaucasianAlbanian = 159,
182 Script_Mahajani = 160,
183 Script_Ahom = 161,
184 Script_Hatran = 162,
185 Script_Modi = 163,
186 Script_Multani = 164,
187 Script_PauCinHau = 165,
188 Script_Siddham = 166,
189 Script_Adlam = 167,
190 Script_Bhaiksuki = 168,
191 Script_Marchen = 169,
192 Script_Newa = 170,
193 Script_Osage = 171,
194 Script_HanWithBopomofo = 172,
195 Script_Jamo = 173,
196 Script_SymbolsEmoji = 174,
197 Script_MasaramGondi = 175,
198 Script_Soyombo = 176,
199 Script_ZanabazarSquare = 177,
200 Script_Dogra = 178,
201 Script_GunjalaGondi = 179,
202 Script_Makasar = 180,
203 Script_Medefaidrin = 181,
204 Script_HanifiRohingya = 182,
205 Script_Sogdian = 183,
206 Script_OldSogdian = 184,
207 Script_Elymaic = 185,
208 Script_NyiakengPuachueHmong = 186,
209 Script_Nandinagari = 187,
210 Script_Wancho = 188,
211 Script_Chorasmian = 189,
212 Script_DivesAkuru = 190,
213 Script_KhitanSmallScript = 191,
214 Script_Yezidi = 192,
215 Script_CyproMinoan = 193,
216 Script_OldUyghur = 194,
217 Script_Tangsa = 195,
218 Script_Toto = 196,
219 Script_Vithkuqi = 197,
220 Script_Kawi = 198,
221 Script_NagMundari = 199,
222 Script_Nastaliq = 200,
223 Script_Garay = 201,
224 Script_GurungKhema = 202,
225 Script_KiratRai = 203,
226 Script_OlOnal = 204,
227 Script_Sunuwar = 205,
228 Script_Todhri = 206,
229 Script_TuluTigalari = 207,
230 Script_BeriaErfe = 208,
231 Script_Sidetic = 209,
232 Script_TaiYo = 210,
233 Script_TolongSiki = 211,
234 Script_TraditionalHanWithLatin = 212,
235 Script_Chisoi = 254,
236 };
237
238 typedef struct Script_option {union { Script ok; }; bool is_ok; } Script_option;
239} // namespace capi
240} // namespace
241
242namespace icu4x {
246class Script {
247public:
248 enum Value {
304 Gothic = 13,
308 Greek = 14,
320 Han = 17,
324 Hangul = 18,
328 Hebrew = 19,
344 Khmer = 23,
348 Lao = 24,
352 Latin = 25,
368 Ogham = 29,
376 Oriya = 31,
380 Runic = 32,
388 Syriac = 34,
392 Tamil = 35,
396 Telugu = 36,
400 Thaana = 37,
404 Thai = 38,
416 Yi = 41,
428 Buhid = 44,
444 Limbu = 48,
460 TaiLe = 52,
504 Batak = 63,
512 Brahmi = 65,
516 Cham = 66,
520 Cirth = 67,
580 Lepcha = 82,
600 Nko = 87,
620 Miao = 92,
628 Sarati = 94,
648 Vai = 99,
664 Unknown = 103,
668 Carian = 104,
672 Japanese = 105,
676 TaiTham = 106,
680 Lycian = 107,
684 Lydian = 108,
688 OlChiki = 109,
692 Rejang = 110,
708 Moon = 114,
720 Avestan = 117,
724 Chakma = 118,
728 Korean = 119,
732 Kaithi = 120,
760 TaiViet = 127,
768 Symbols = 129,
772 Bamum = 130,
776 Lisu = 131,
788 BassaVah = 134,
792 Duployan = 135,
796 Elbasan = 136,
800 Grantha = 137,
804 Kpelle = 138,
808 Loma = 139,
840 Afaka = 147,
844 Jurchen = 148,
848 Mro = 149,
852 Nushu = 150,
856 Sharada = 151,
864 Takri = 153,
868 Tangut = 154,
872 Woleai = 155,
880 Khojki = 157,
884 Tirhuta = 158,
892 Mahajani = 160,
896 Ahom = 161,
900 Hatran = 162,
904 Modi = 163,
908 Multani = 164,
916 Siddham = 166,
920 Adlam = 167,
928 Marchen = 169,
932 Newa = 170,
936 Osage = 171,
944 Jamo = 173,
956 Soyombo = 176,
964 Dogra = 178,
972 Makasar = 180,
984 Sogdian = 183,
992 Elymaic = 185,
1004 Wancho = 188,
1020 Yezidi = 192,
1032 Tangsa = 195,
1036 Toto = 196,
1044 Kawi = 198,
1056 Garay = 201,
1068 OlOnal = 204,
1072 Sunuwar = 205,
1076 Todhri = 206,
1088 Sidetic = 209,
1092 TaiYo = 210,
1104 Chisoi = 254,
1105 };
1106
1107 Script(): value(Value::Unknown) {}
1108
1109 // Implicit conversions between enum and ::Value
1110 constexpr Script(Value v) : value(v) {}
1111 constexpr operator Value() const { return value; }
1112 // Prevent usage as boolean value
1113 explicit operator bool() const = delete;
1114
1118 inline static icu4x::Script for_char(char32_t ch);
1119
1125 inline std::optional<std::string_view> long_name() const;
1126
1132 inline std::optional<std::string_view> short_name() const;
1133
1139 inline uint16_t to_integer_value() const;
1140
1146 inline static std::optional<icu4x::Script> from_integer_value(uint16_t other);
1147
1153 inline static std::optional<icu4x::Script> try_from_str(std::string_view s);
1154
1155 inline icu4x::capi::Script AsFFI() const;
1156 inline static icu4x::Script FromFFI(icu4x::capi::Script c_enum);
1157private:
1158 Value value;
1159};
1160
1161} // namespace
1162#endif // ICU4X_Script_D_HPP
Definition Script.d.hpp:246
Script()
Definition Script.d.hpp:1107
uint16_t to_integer_value() const
Definition Script.hpp:282
std::optional< std::string_view > short_name() const
Definition Script.hpp:277
static std::optional< icu4x::Script > try_from_str(std::string_view s)
Definition Script.hpp:292
std::optional< std::string_view > long_name() const
Definition Script.hpp:272
static icu4x::Script for_char(char32_t ch)
Definition Script.hpp:267
Value
Definition Script.d.hpp:248
@ Braille
Definition Script.d.hpp:436
@ Samaritan
Definition Script.d.hpp:756
@ Georgian
Definition Script.d.hpp:300
@ EgyptianHieroglyphs
Definition Script.d.hpp:536
@ Osmanya
Definition Script.d.hpp:452
@ Hatran
Definition Script.d.hpp:900
@ DemoticEgyptian
Definition Script.d.hpp:528
@ Lycian
Definition Script.d.hpp:680
@ OldPermic
Definition Script.d.hpp:608
@ Sinhala
Definition Script.d.hpp:384
@ OlChiki
Definition Script.d.hpp:688
@ AnatolianHieroglyphs
Definition Script.d.hpp:876
@ Multani
Definition Script.d.hpp:908
@ KayahLi
Definition Script.d.hpp:568
@ Buginese
Definition Script.d.hpp:472
@ Gurmukhi
Definition Script.d.hpp:316
@ TaiYo
Definition Script.d.hpp:1092
@ OldSogdian
Definition Script.d.hpp:988
@ HanifiRohingya
Definition Script.d.hpp:980
@ Symbols
Definition Script.d.hpp:768
@ Buhid
Definition Script.d.hpp:428
@ Tibetan
Definition Script.d.hpp:408
@ MeeteiMayek
Definition Script.d.hpp:712
@ MathematicalNotation
Definition Script.d.hpp:764
@ Afaka
Definition Script.d.hpp:840
@ Batak
Definition Script.d.hpp:504
@ OldChurchSlavonicCyrillic
Definition Script.d.hpp:524
@ Nastaliq
Definition Script.d.hpp:1052
@ Katakana
Definition Script.d.hpp:340
@ MendeKikakui
Definition Script.d.hpp:812
@ Tangut
Definition Script.d.hpp:868
@ Soyombo
Definition Script.d.hpp:956
@ Rongorongo
Definition Script.d.hpp:624
@ PahawhHmong
Definition Script.d.hpp:552
@ Osage
Definition Script.d.hpp:936
@ CanadianAboriginal
Definition Script.d.hpp:412
@ Duployan
Definition Script.d.hpp:792
@ Chorasmian
Definition Script.d.hpp:1008
@ Bopomofo
Definition Script.d.hpp:272
@ Elymaic
Definition Script.d.hpp:992
@ Oriya
Definition Script.d.hpp:376
@ Common
Definition Script.d.hpp:252
@ MasaramGondi
Definition Script.d.hpp:952
@ Hebrew
Definition Script.d.hpp:328
@ Ugaritic
Definition Script.d.hpp:464
@ Vithkuqi
Definition Script.d.hpp:1040
@ Javanese
Definition Script.d.hpp:564
@ Nabataean
Definition Script.d.hpp:824
@ OldPersian
Definition Script.d.hpp:496
@ ZanabazarSquare
Definition Script.d.hpp:960
@ Hiragana
Definition Script.d.hpp:332
@ Elbasan
Definition Script.d.hpp:796
@ Malayalam
Definition Script.d.hpp:356
@ MayanHieroglyphs
Definition Script.d.hpp:592
@ OldSouthArabian
Definition Script.d.hpp:784
@ KhitanSmallScript
Definition Script.d.hpp:1016
@ DivesAkuru
Definition Script.d.hpp:1012
@ TraditionalHanWithLatin
Definition Script.d.hpp:1100
@ Modi
Definition Script.d.hpp:904
@ Latin
Definition Script.d.hpp:352
@ Cuneiform
Definition Script.d.hpp:656
@ KiratRai
Definition Script.d.hpp:1064
@ OldUyghur
Definition Script.d.hpp:1028
@ OldItalic
Definition Script.d.hpp:372
@ Korean
Definition Script.d.hpp:728
@ Sidetic
Definition Script.d.hpp:1088
@ Cham
Definition Script.d.hpp:516
@ Thai
Definition Script.d.hpp:404
@ Greek
Definition Script.d.hpp:308
@ Palmyrene
Definition Script.d.hpp:828
@ Deseret
Definition Script.d.hpp:288
@ SoraSompeng
Definition Script.d.hpp:860
@ Vai
Definition Script.d.hpp:648
@ Cirth
Definition Script.d.hpp:520
@ Coptic
Definition Script.d.hpp:280
@ Nandinagari
Definition Script.d.hpp:1000
@ Saurashtra
Definition Script.d.hpp:696
@ HanWithBopomofo
Definition Script.d.hpp:940
@ Marchen
Definition Script.d.hpp:928
@ Jurchen
Definition Script.d.hpp:844
@ Gujarati
Definition Script.d.hpp:312
@ Toto
Definition Script.d.hpp:1036
@ Lydian
Definition Script.d.hpp:684
@ Siddham
Definition Script.d.hpp:916
@ PauCinHau
Definition Script.d.hpp:912
@ Woleai
Definition Script.d.hpp:872
@ Balinese
Definition Script.d.hpp:500
@ Manichaean
Definition Script.d.hpp:736
@ Tengwar
Definition Script.d.hpp:644
@ Tangsa
Definition Script.d.hpp:1032
@ Tagalog
Definition Script.d.hpp:420
@ Adlam
Definition Script.d.hpp:920
@ TuluTigalari
Definition Script.d.hpp:1080
@ LinearB
Definition Script.d.hpp:448
@ Runic
Definition Script.d.hpp:380
@ Sunuwar
Definition Script.d.hpp:1072
@ WesternSyriac
Definition Script.d.hpp:636
@ Todhri
Definition Script.d.hpp:1076
@ Chisoi
Definition Script.d.hpp:1104
@ Bhaiksuki
Definition Script.d.hpp:924
@ NagMundari
Definition Script.d.hpp:1048
@ NakhiGeba
Definition Script.d.hpp:780
@ EstrangeloSyriac
Definition Script.d.hpp:632
@ Medefaidrin
Definition Script.d.hpp:976
@ Yi
Definition Script.d.hpp:416
@ Armenian
Definition Script.d.hpp:264
@ PhagsPa
Definition Script.d.hpp:612
@ Gothic
Definition Script.d.hpp:304
@ LatinFraktur
Definition Script.d.hpp:572
@ Myanmar
Definition Script.d.hpp:364
@ Tagbanwa
Definition Script.d.hpp:432
@ HieraticEgyptian
Definition Script.d.hpp:532
@ Japanese
Definition Script.d.hpp:672
@ UnwrittenLanguages
Definition Script.d.hpp:660
@ CyproMinoan
Definition Script.d.hpp:1024
@ Rejang
Definition Script.d.hpp:692
@ Brahmi
Definition Script.d.hpp:512
@ MeroiticHieroglyphs
Definition Script.d.hpp:596
@ OldHungarian
Definition Script.d.hpp:556
@ TraditionalHan
Definition Script.d.hpp:548
@ Inherited
Definition Script.d.hpp:256
@ Mro
Definition Script.d.hpp:848
@ Kaithi
Definition Script.d.hpp:732
@ Sundanese
Definition Script.d.hpp:704
@ Newa
Definition Script.d.hpp:932
@ Shavian
Definition Script.d.hpp:456
@ Devanagari
Definition Script.d.hpp:292
@ NyiakengPuachueHmong
Definition Script.d.hpp:996
@ Tirhuta
Definition Script.d.hpp:884
@ Syriac
Definition Script.d.hpp:388
@ Sogdian
Definition Script.d.hpp:984
@ Takri
Definition Script.d.hpp:864
@ PsalterPahlavi
Definition Script.d.hpp:744
@ TolongSiki
Definition Script.d.hpp:1096
@ Hangul
Definition Script.d.hpp:324
@ TaiViet
Definition Script.d.hpp:760
@ SymbolsEmoji
Definition Script.d.hpp:948
@ Mandaic
Definition Script.d.hpp:588
@ Nko
Definition Script.d.hpp:600
@ EasternSyriac
Definition Script.d.hpp:640
@ Makasar
Definition Script.d.hpp:972
@ Kawi
Definition Script.d.hpp:1044
@ Ogham
Definition Script.d.hpp:368
@ Kannada
Definition Script.d.hpp:336
@ Wancho
Definition Script.d.hpp:1004
@ Ahom
Definition Script.d.hpp:896
@ Cypriot
Definition Script.d.hpp:440
@ Bamum
Definition Script.d.hpp:772
@ Chakma
Definition Script.d.hpp:724
@ Miao
Definition Script.d.hpp:620
@ Glagolitic
Definition Script.d.hpp:476
@ Han
Definition Script.d.hpp:320
@ MeroiticCursive
Definition Script.d.hpp:816
@ SylotiNagri
Definition Script.d.hpp:484
@ BlisSymbols
Definition Script.d.hpp:508
@ VisibleSpeech
Definition Script.d.hpp:652
@ Bengali
Definition Script.d.hpp:268
@ BookPahlavi
Definition Script.d.hpp:748
@ WarangCiti
Definition Script.d.hpp:836
@ Moon
Definition Script.d.hpp:708
@ InscriptionalPahlavi
Definition Script.d.hpp:740
@ Ethiopian
Definition Script.d.hpp:296
@ Khutsuri
Definition Script.d.hpp:540
@ Mahajani
Definition Script.d.hpp:892
@ Tamil
Definition Script.d.hpp:392
@ Lao
Definition Script.d.hpp:348
@ Hanunoo
Definition Script.d.hpp:424
@ NewTaiLue
Definition Script.d.hpp:488
@ InscriptionalParthian
Definition Script.d.hpp:752
@ SignWriting
Definition Script.d.hpp:700
@ Nushu
Definition Script.d.hpp:852
@ Kpelle
Definition Script.d.hpp:804
@ Sarati
Definition Script.d.hpp:628
@ Arabic
Definition Script.d.hpp:260
@ Telugu
Definition Script.d.hpp:396
@ TaiTham
Definition Script.d.hpp:676
@ Khudawadi
Definition Script.d.hpp:832
@ OlOnal
Definition Script.d.hpp:1068
@ Phoenician
Definition Script.d.hpp:616
@ Lepcha
Definition Script.d.hpp:580
@ Dogra
Definition Script.d.hpp:964
@ CaucasianAlbanian
Definition Script.d.hpp:888
@ GurungKhema
Definition Script.d.hpp:1060
@ BassaVah
Definition Script.d.hpp:788
@ Jamo
Definition Script.d.hpp:944
@ Sharada
Definition Script.d.hpp:856
@ TaiLe
Definition Script.d.hpp:460
@ SimplifiedHan
Definition Script.d.hpp:544
@ GunjalaGondi
Definition Script.d.hpp:968
@ Unknown
Definition Script.d.hpp:664
@ OldTurkic
Definition Script.d.hpp:604
@ OldNorthArabian
Definition Script.d.hpp:820
@ KatakanaOrHiragana
Definition Script.d.hpp:468
@ Garay
Definition Script.d.hpp:1056
@ BeriaErfe
Definition Script.d.hpp:1084
@ HarappanIndus
Definition Script.d.hpp:560
@ Cherokee
Definition Script.d.hpp:276
@ Mongolian
Definition Script.d.hpp:360
@ Thaana
Definition Script.d.hpp:400
@ Loma
Definition Script.d.hpp:808
@ ImperialAramaic
Definition Script.d.hpp:716
@ Avestan
Definition Script.d.hpp:720
@ Khmer
Definition Script.d.hpp:344
@ Tifinagh
Definition Script.d.hpp:492
@ LatinGaelic
Definition Script.d.hpp:576
@ Grantha
Definition Script.d.hpp:800
@ Limbu
Definition Script.d.hpp:444
@ Cyrillic
Definition Script.d.hpp:284
@ LinearA
Definition Script.d.hpp:584
@ Khojki
Definition Script.d.hpp:880
@ Carian
Definition Script.d.hpp:668
@ Lisu
Definition Script.d.hpp:776
@ Yezidi
Definition Script.d.hpp:1020
@ Kharoshthi
Definition Script.d.hpp:480
static std::optional< icu4x::Script > from_integer_value(uint16_t other)
Definition Script.hpp:287
constexpr Script(Value v)
Definition Script.d.hpp:1110
Definition Bidi.d.hpp:13