@@ -27,201 +27,6 @@ pub use tables::Script;
27
27
/// that this version of unicode-script is based on.
28
28
pub const UNICODE_VERSION : ( u64 , u64 , u64 ) = ( 16 , 0 , 0 ) ;
29
29
30
- #[ cfg( feature = "harfbuzz" ) ]
31
- extern crate harfbuzz_sys;
32
-
33
- impl Script {
34
- #[ cfg( feature = "harfbuzz" ) ]
35
- pub fn to_hb_script ( self ) -> harfbuzz_sys:: hb_script_t {
36
- use harfbuzz_sys:: * ;
37
- use Script :: * ;
38
- match self {
39
- Adlam => HB_SCRIPT_ADLAM ,
40
- Ahom => HB_SCRIPT_AHOM ,
41
- AnatolianHieroglyphs => HB_SCRIPT_ANATOLIAN_HIEROGLYPHS ,
42
- Arabic => HB_SCRIPT_ARABIC ,
43
- Armenian => HB_SCRIPT_ARMENIAN ,
44
- Avestan => HB_SCRIPT_AVESTAN ,
45
- Balinese => HB_SCRIPT_BALINESE ,
46
- Bamum => HB_SCRIPT_BAMUM ,
47
- BassaVah => HB_SCRIPT_BASSA_VAH ,
48
- Batak => HB_SCRIPT_BATAK ,
49
- Bengali => HB_SCRIPT_BENGALI ,
50
- Bhaiksuki => HB_SCRIPT_BHAIKSUKI ,
51
- Bopomofo => HB_SCRIPT_BOPOMOFO ,
52
- Brahmi => HB_SCRIPT_BRAHMI ,
53
- Braille => HB_SCRIPT_BRAILLE ,
54
- Buginese => HB_SCRIPT_BUGINESE ,
55
- Buhid => HB_SCRIPT_BUHID ,
56
- CanadianAboriginal => HB_SCRIPT_CANADIAN_SYLLABICS ,
57
- Carian => HB_SCRIPT_CARIAN ,
58
- CaucasianAlbanian => HB_SCRIPT_CAUCASIAN_ALBANIAN ,
59
- Chakma => HB_SCRIPT_CHAKMA ,
60
- Cham => HB_SCRIPT_CHAM ,
61
- Cherokee => HB_SCRIPT_CHEROKEE ,
62
- Chorasmian => HB_SCRIPT_CHORASMIAN ,
63
- Common => HB_SCRIPT_COMMON ,
64
- Coptic => HB_SCRIPT_COPTIC ,
65
- Cuneiform => HB_SCRIPT_CUNEIFORM ,
66
- Cypriot => HB_SCRIPT_CYPRIOT ,
67
- Cyrillic => HB_SCRIPT_CYRILLIC ,
68
- Deseret => HB_SCRIPT_DESERET ,
69
- Devanagari => HB_SCRIPT_DEVANAGARI ,
70
- DivesAkuru => HB_SCRIPT_DIVES_AKURU ,
71
- Dogra => HB_SCRIPT_DOGRA ,
72
- Duployan => HB_SCRIPT_DUPLOYAN ,
73
- EgyptianHieroglyphs => HB_SCRIPT_EGYPTIAN_HIEROGLYPHS ,
74
- Elbasan => HB_SCRIPT_ELBASAN ,
75
- Elymaic => HB_SCRIPT_ELYMAIC ,
76
- Ethiopic => HB_SCRIPT_ETHIOPIC ,
77
- Georgian => HB_SCRIPT_GEORGIAN ,
78
- Glagolitic => HB_SCRIPT_GLAGOLITIC ,
79
- Gothic => HB_SCRIPT_GOTHIC ,
80
- Grantha => HB_SCRIPT_GRANTHA ,
81
- Greek => HB_SCRIPT_GREEK ,
82
- Gujarati => HB_SCRIPT_GUJARATI ,
83
- GunjalaGondi => HB_SCRIPT_GUNJALA_GONDI ,
84
- Gurmukhi => HB_SCRIPT_GURMUKHI ,
85
- Han => HB_SCRIPT_HAN ,
86
- Hangul => HB_SCRIPT_HANGUL ,
87
- HanifiRohingya => HB_SCRIPT_HANIFI_ROHINGYA ,
88
- Hanunoo => HB_SCRIPT_HANUNOO ,
89
- Hatran => HB_SCRIPT_HATRAN ,
90
- Hebrew => HB_SCRIPT_HEBREW ,
91
- Hiragana => HB_SCRIPT_HIRAGANA ,
92
- ImperialAramaic => HB_SCRIPT_IMPERIAL_ARAMAIC ,
93
- Inherited => HB_SCRIPT_INHERITED ,
94
- InscriptionalPahlavi => HB_SCRIPT_INSCRIPTIONAL_PAHLAVI ,
95
- InscriptionalParthian => HB_SCRIPT_INSCRIPTIONAL_PARTHIAN ,
96
- Javanese => HB_SCRIPT_JAVANESE ,
97
- Kaithi => HB_SCRIPT_KAITHI ,
98
- Kannada => HB_SCRIPT_KANNADA ,
99
- Katakana => HB_SCRIPT_KATAKANA ,
100
- KayahLi => HB_SCRIPT_KAYAH_LI ,
101
- Kharoshthi => HB_SCRIPT_KHAROSHTHI ,
102
- KhitanSmallScript => HB_SCRIPT_KHITAN_SMALL_SCRIPT ,
103
- Khmer => HB_SCRIPT_KHMER ,
104
- Khojki => HB_SCRIPT_KHOJKI ,
105
- Khudawadi => HB_SCRIPT_KHUDAWADI ,
106
- Lao => HB_SCRIPT_LAO ,
107
- Latin => HB_SCRIPT_LATIN ,
108
- Lepcha => HB_SCRIPT_LEPCHA ,
109
- Limbu => HB_SCRIPT_LIMBU ,
110
- LinearA => HB_SCRIPT_LINEAR_A ,
111
- LinearB => HB_SCRIPT_LINEAR_B ,
112
- Lisu => HB_SCRIPT_LISU ,
113
- Lycian => HB_SCRIPT_LYCIAN ,
114
- Lydian => HB_SCRIPT_LYDIAN ,
115
- Mahajani => HB_SCRIPT_MAHAJANI ,
116
- Makasar => HB_SCRIPT_MAKASAR ,
117
- Malayalam => HB_SCRIPT_MALAYALAM ,
118
- Mandaic => HB_SCRIPT_MANDAIC ,
119
- Manichaean => HB_SCRIPT_MANICHAEAN ,
120
- Marchen => HB_SCRIPT_MARCHEN ,
121
- MasaramGondi => HB_SCRIPT_MASARAM_GONDI ,
122
- Medefaidrin => HB_SCRIPT_MEDEFAIDRIN ,
123
- MeeteiMayek => HB_SCRIPT_MEETEI_MAYEK ,
124
- MendeKikakui => HB_SCRIPT_MENDE_KIKAKUI ,
125
- MeroiticCursive => HB_SCRIPT_MEROITIC_CURSIVE ,
126
- MeroiticHieroglyphs => HB_SCRIPT_MEROITIC_HIEROGLYPHS ,
127
- Miao => HB_SCRIPT_MIAO ,
128
- Modi => HB_SCRIPT_MODI ,
129
- Mongolian => HB_SCRIPT_MONGOLIAN ,
130
- Mro => HB_SCRIPT_MRO ,
131
- Multani => HB_SCRIPT_MULTANI ,
132
- Myanmar => HB_SCRIPT_MYANMAR ,
133
- Nabataean => HB_SCRIPT_NABATAEAN ,
134
- Nandinagari => HB_SCRIPT_NANDINAGARI ,
135
- NewTaiLue => HB_SCRIPT_NEW_TAI_LUE ,
136
- Newa => HB_SCRIPT_NEWA ,
137
- Nko => HB_SCRIPT_NKO ,
138
- Nushu => HB_SCRIPT_NUSHU ,
139
- NyiakengPuachueHmong => HB_SCRIPT_NYIAKENG_PUACHUE_HMONG ,
140
- Ogham => HB_SCRIPT_OGHAM ,
141
- OlChiki => HB_SCRIPT_OL_CHIKI ,
142
- OldHungarian => HB_SCRIPT_OLD_HUNGARIAN ,
143
- OldItalic => HB_SCRIPT_OLD_ITALIC ,
144
- OldNorthArabian => HB_SCRIPT_OLD_NORTH_ARABIAN ,
145
- OldPermic => HB_SCRIPT_OLD_PERMIC ,
146
- OldPersian => HB_SCRIPT_OLD_PERSIAN ,
147
- OldSogdian => HB_SCRIPT_OLD_SOGDIAN ,
148
- OldSouthArabian => HB_SCRIPT_OLD_SOUTH_ARABIAN ,
149
- OldTurkic => HB_SCRIPT_OLD_TURKIC ,
150
- Oriya => HB_SCRIPT_ORIYA ,
151
- Osage => HB_SCRIPT_OSAGE ,
152
- Osmanya => HB_SCRIPT_OSMANYA ,
153
- PahawhHmong => HB_SCRIPT_PAHAWH_HMONG ,
154
- Palmyrene => HB_SCRIPT_PALMYRENE ,
155
- PauCinHau => HB_SCRIPT_PAU_CIN_HAU ,
156
- PhagsPa => HB_SCRIPT_PHAGS_PA ,
157
- Phoenician => HB_SCRIPT_PHOENICIAN ,
158
- PsalterPahlavi => HB_SCRIPT_PSALTER_PAHLAVI ,
159
- Rejang => HB_SCRIPT_REJANG ,
160
- Runic => HB_SCRIPT_RUNIC ,
161
- Samaritan => HB_SCRIPT_SAMARITAN ,
162
- Saurashtra => HB_SCRIPT_SAURASHTRA ,
163
- Sharada => HB_SCRIPT_SHARADA ,
164
- Shavian => HB_SCRIPT_SHAVIAN ,
165
- Siddham => HB_SCRIPT_SIDDHAM ,
166
- Signwriting => HB_SCRIPT_SIGNWRITING ,
167
- Sinhala => HB_SCRIPT_SINHALA ,
168
- Sogdian => HB_SCRIPT_SOGDIAN ,
169
- SoraSompeng => HB_SCRIPT_SORA_SOMPENG ,
170
- Soyombo => HB_SCRIPT_SOYOMBO ,
171
- Sundanese => HB_SCRIPT_SUNDANESE ,
172
- SylotiNagri => HB_SCRIPT_SYLOTI_NAGRI ,
173
- Syriac => HB_SCRIPT_SYRIAC ,
174
- Tagalog => HB_SCRIPT_TAGALOG ,
175
- Tagbanwa => HB_SCRIPT_TAGBANWA ,
176
- TaiLe => HB_SCRIPT_TAI_LE ,
177
- TaiTham => HB_SCRIPT_TAI_THAM ,
178
- TaiViet => HB_SCRIPT_TAI_VIET ,
179
- Takri => HB_SCRIPT_TAKRI ,
180
- Tamil => HB_SCRIPT_TAMIL ,
181
- Tangut => HB_SCRIPT_TANGUT ,
182
- Telugu => HB_SCRIPT_TELUGU ,
183
- Thaana => HB_SCRIPT_THAANA ,
184
- Thai => HB_SCRIPT_THAI ,
185
- Tibetan => HB_SCRIPT_TIBETAN ,
186
- Tifinagh => HB_SCRIPT_TIFINAGH ,
187
- Tirhuta => HB_SCRIPT_TIRHUTA ,
188
- Ugaritic => HB_SCRIPT_UGARITIC ,
189
- Unknown => HB_SCRIPT_UNKNOWN ,
190
- Vai => HB_SCRIPT_VAI ,
191
- Wancho => HB_SCRIPT_WANCHO ,
192
- WarangCiti => HB_SCRIPT_WARANG_CITI ,
193
- Yezidi => HB_SCRIPT_YEZIDI ,
194
- Yi => HB_SCRIPT_YI ,
195
- ZanabazarSquare => HB_SCRIPT_ZANABAZAR_SQUARE ,
196
-
197
- // Added in Harfbuzz 3.0.0 but harfbuzz_sys has not been updated to that version
198
- // CyproMinoan => HB_SCRIPT_CYPRO_MINOAN,
199
- // OldUyghur => HB_SCRIPT_OLD_UYGHUR,
200
- // Tangsa => HB_SCRIPT_TANGSA,
201
- // Toto => HB_SCRIPT_TOTO,
202
- // Vithkuqi => HB_SCRIPT_VITHKUQI,
203
-
204
- // Added in Unicode 15.0
205
- // Kawi => HB_SCRIPT_KAWI
206
- // NagMundari => HB_SCRIPT_NAG_MUNDARI
207
-
208
- // Added in Unicode 16.0
209
- // Garay =>HB_SCRIPT_GARAY,
210
- // GurungKhema => HB_SCRIPT_GURUNG_KHEMA,
211
- // KiratRai => HB_SCRIPT_KIRAT_RAI,
212
- // OlOnal => HB_SCIRPT_OLONAL,
213
- // Sunuwar => HB_SCRIPT_SUNUWAR,
214
- // Todhri | TuluTigalari
215
-
216
- // So for now we return HB_SCRIPT_INVALID
217
- CyproMinoan | Kawi | NagMundari | OldUyghur | Tangsa | Toto | Vithkuqi | Garay
218
- | GurungKhema | KiratRai | OlOnal | Sunuwar | Todhri | TuluTigalari => {
219
- HB_SCRIPT_INVALID
220
- }
221
- }
222
- }
223
- }
224
-
225
30
#[ cfg( test) ]
226
31
mod test {
227
32
use super :: { get_script, Script } ;
0 commit comments