@@ -27,201 +27,6 @@ pub use tables::Script;
2727/// that this version of unicode-script is based on.
2828pub const UNICODE_VERSION : ( u64 , u64 , u64 ) = ( 16 , 0 , 0 ) ;
2929
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-
22530#[ cfg( test) ]
22631mod test {
22732 use super :: { get_script, Script } ;
0 commit comments