// Auto-generated by unicode-build. Do not edit by hand.
// Regenerate via:
// make ucd-generate
//
// Source: Scripts.txt. The `Script` type is a closed
// union — exhaustive `match` is compile-checked. Every
// new Unicode version that adds a script is a
// semver-significant breaking change by design.
primitive ScriptUnknown
fun code(): String val => "Unknown"
fun string(): String val => "Unknown"
primitive ScriptAdlam
fun code(): String val => "Adlam"
fun string(): String val => "Adlam"
primitive ScriptAhom
fun code(): String val => "Ahom"
fun string(): String val => "Ahom"
primitive ScriptAnatolianHieroglyphs
fun code(): String val => "Anatolian_Hieroglyphs"
fun string(): String val => "Anatolian_Hieroglyphs"
primitive ScriptArabic
fun code(): String val => "Arabic"
fun string(): String val => "Arabic"
primitive ScriptArmenian
fun code(): String val => "Armenian"
fun string(): String val => "Armenian"
primitive ScriptAvestan
fun code(): String val => "Avestan"
fun string(): String val => "Avestan"
primitive ScriptBalinese
fun code(): String val => "Balinese"
fun string(): String val => "Balinese"
primitive ScriptBamum
fun code(): String val => "Bamum"
fun string(): String val => "Bamum"
primitive ScriptBassaVah
fun code(): String val => "Bassa_Vah"
fun string(): String val => "Bassa_Vah"
primitive ScriptBatak
fun code(): String val => "Batak"
fun string(): String val => "Batak"
primitive ScriptBengali
fun code(): String val => "Bengali"
fun string(): String val => "Bengali"
primitive ScriptBhaiksuki
fun code(): String val => "Bhaiksuki"
fun string(): String val => "Bhaiksuki"
primitive ScriptBopomofo
fun code(): String val => "Bopomofo"
fun string(): String val => "Bopomofo"
primitive ScriptBrahmi
fun code(): String val => "Brahmi"
fun string(): String val => "Brahmi"
primitive ScriptBraille
fun code(): String val => "Braille"
fun string(): String val => "Braille"
primitive ScriptBuginese
fun code(): String val => "Buginese"
fun string(): String val => "Buginese"
primitive ScriptBuhid
fun code(): String val => "Buhid"
fun string(): String val => "Buhid"
primitive ScriptCanadianAboriginal
fun code(): String val => "Canadian_Aboriginal"
fun string(): String val => "Canadian_Aboriginal"
primitive ScriptCarian
fun code(): String val => "Carian"
fun string(): String val => "Carian"
primitive ScriptCaucasianAlbanian
fun code(): String val => "Caucasian_Albanian"
fun string(): String val => "Caucasian_Albanian"
primitive ScriptChakma
fun code(): String val => "Chakma"
fun string(): String val => "Chakma"
primitive ScriptCham
fun code(): String val => "Cham"
fun string(): String val => "Cham"
primitive ScriptCherokee
fun code(): String val => "Cherokee"
fun string(): String val => "Cherokee"
primitive ScriptChorasmian
fun code(): String val => "Chorasmian"
fun string(): String val => "Chorasmian"
primitive ScriptCommon
fun code(): String val => "Common"
fun string(): String val => "Common"
primitive ScriptCoptic
fun code(): String val => "Coptic"
fun string(): String val => "Coptic"
primitive ScriptCuneiform
fun code(): String val => "Cuneiform"
fun string(): String val => "Cuneiform"
primitive ScriptCypriot
fun code(): String val => "Cypriot"
fun string(): String val => "Cypriot"
primitive ScriptCyproMinoan
fun code(): String val => "Cypro_Minoan"
fun string(): String val => "Cypro_Minoan"
primitive ScriptCyrillic
fun code(): String val => "Cyrillic"
fun string(): String val => "Cyrillic"
primitive ScriptDeseret
fun code(): String val => "Deseret"
fun string(): String val => "Deseret"
primitive ScriptDevanagari
fun code(): String val => "Devanagari"
fun string(): String val => "Devanagari"
primitive ScriptDivesAkuru
fun code(): String val => "Dives_Akuru"
fun string(): String val => "Dives_Akuru"
primitive ScriptDogra
fun code(): String val => "Dogra"
fun string(): String val => "Dogra"
primitive ScriptDuployan
fun code(): String val => "Duployan"
fun string(): String val => "Duployan"
primitive ScriptEgyptianHieroglyphs
fun code(): String val => "Egyptian_Hieroglyphs"
fun string(): String val => "Egyptian_Hieroglyphs"
primitive ScriptElbasan
fun code(): String val => "Elbasan"
fun string(): String val => "Elbasan"
primitive ScriptElymaic
fun code(): String val => "Elymaic"
fun string(): String val => "Elymaic"
primitive ScriptEthiopic
fun code(): String val => "Ethiopic"
fun string(): String val => "Ethiopic"
primitive ScriptGaray
fun code(): String val => "Garay"
fun string(): String val => "Garay"
primitive ScriptGeorgian
fun code(): String val => "Georgian"
fun string(): String val => "Georgian"
primitive ScriptGlagolitic
fun code(): String val => "Glagolitic"
fun string(): String val => "Glagolitic"
primitive ScriptGothic
fun code(): String val => "Gothic"
fun string(): String val => "Gothic"
primitive ScriptGrantha
fun code(): String val => "Grantha"
fun string(): String val => "Grantha"
primitive ScriptGreek
fun code(): String val => "Greek"
fun string(): String val => "Greek"
primitive ScriptGujarati
fun code(): String val => "Gujarati"
fun string(): String val => "Gujarati"
primitive ScriptGunjalaGondi
fun code(): String val => "Gunjala_Gondi"
fun string(): String val => "Gunjala_Gondi"
primitive ScriptGurmukhi
fun code(): String val => "Gurmukhi"
fun string(): String val => "Gurmukhi"
primitive ScriptGurungKhema
fun code(): String val => "Gurung_Khema"
fun string(): String val => "Gurung_Khema"
primitive ScriptHan
fun code(): String val => "Han"
fun string(): String val => "Han"
primitive ScriptHangul
fun code(): String val => "Hangul"
fun string(): String val => "Hangul"
primitive ScriptHanifiRohingya
fun code(): String val => "Hanifi_Rohingya"
fun string(): String val => "Hanifi_Rohingya"
primitive ScriptHanunoo
fun code(): String val => "Hanunoo"
fun string(): String val => "Hanunoo"
primitive ScriptHatran
fun code(): String val => "Hatran"
fun string(): String val => "Hatran"
primitive ScriptHebrew
fun code(): String val => "Hebrew"
fun string(): String val => "Hebrew"
primitive ScriptHiragana
fun code(): String val => "Hiragana"
fun string(): String val => "Hiragana"
primitive ScriptImperialAramaic
fun code(): String val => "Imperial_Aramaic"
fun string(): String val => "Imperial_Aramaic"
primitive ScriptInherited
fun code(): String val => "Inherited"
fun string(): String val => "Inherited"
primitive ScriptInscriptionalPahlavi
fun code(): String val => "Inscriptional_Pahlavi"
fun string(): String val => "Inscriptional_Pahlavi"
primitive ScriptInscriptionalParthian
fun code(): String val => "Inscriptional_Parthian"
fun string(): String val => "Inscriptional_Parthian"
primitive ScriptJavanese
fun code(): String val => "Javanese"
fun string(): String val => "Javanese"
primitive ScriptKaithi
fun code(): String val => "Kaithi"
fun string(): String val => "Kaithi"
primitive ScriptKannada
fun code(): String val => "Kannada"
fun string(): String val => "Kannada"
primitive ScriptKatakana
fun code(): String val => "Katakana"
fun string(): String val => "Katakana"
primitive ScriptKawi
fun code(): String val => "Kawi"
fun string(): String val => "Kawi"
primitive ScriptKayahLi
fun code(): String val => "Kayah_Li"
fun string(): String val => "Kayah_Li"
primitive ScriptKharoshthi
fun code(): String val => "Kharoshthi"
fun string(): String val => "Kharoshthi"
primitive ScriptKhitanSmallScript
fun code(): String val => "Khitan_Small_Script"
fun string(): String val => "Khitan_Small_Script"
primitive ScriptKhmer
fun code(): String val => "Khmer"
fun string(): String val => "Khmer"
primitive ScriptKhojki
fun code(): String val => "Khojki"
fun string(): String val => "Khojki"
primitive ScriptKhudawadi
fun code(): String val => "Khudawadi"
fun string(): String val => "Khudawadi"
primitive ScriptKiratRai
fun code(): String val => "Kirat_Rai"
fun string(): String val => "Kirat_Rai"
primitive ScriptLao
fun code(): String val => "Lao"
fun string(): String val => "Lao"
primitive ScriptLatin
fun code(): String val => "Latin"
fun string(): String val => "Latin"
primitive ScriptLepcha
fun code(): String val => "Lepcha"
fun string(): String val => "Lepcha"
primitive ScriptLimbu
fun code(): String val => "Limbu"
fun string(): String val => "Limbu"
primitive ScriptLinearA
fun code(): String val => "Linear_A"
fun string(): String val => "Linear_A"
primitive ScriptLinearB
fun code(): String val => "Linear_B"
fun string(): String val => "Linear_B"
primitive ScriptLisu
fun code(): String val => "Lisu"
fun string(): String val => "Lisu"
primitive ScriptLycian
fun code(): String val => "Lycian"
fun string(): String val => "Lycian"
primitive ScriptLydian
fun code(): String val => "Lydian"
fun string(): String val => "Lydian"
primitive ScriptMahajani
fun code(): String val => "Mahajani"
fun string(): String val => "Mahajani"
primitive ScriptMakasar
fun code(): String val => "Makasar"
fun string(): String val => "Makasar"
primitive ScriptMalayalam
fun code(): String val => "Malayalam"
fun string(): String val => "Malayalam"
primitive ScriptMandaic
fun code(): String val => "Mandaic"
fun string(): String val => "Mandaic"
primitive ScriptManichaean
fun code(): String val => "Manichaean"
fun string(): String val => "Manichaean"
primitive ScriptMarchen
fun code(): String val => "Marchen"
fun string(): String val => "Marchen"
primitive ScriptMasaramGondi
fun code(): String val => "Masaram_Gondi"
fun string(): String val => "Masaram_Gondi"
primitive ScriptMedefaidrin
fun code(): String val => "Medefaidrin"
fun string(): String val => "Medefaidrin"
primitive ScriptMeeteiMayek
fun code(): String val => "Meetei_Mayek"
fun string(): String val => "Meetei_Mayek"
primitive ScriptMendeKikakui
fun code(): String val => "Mende_Kikakui"
fun string(): String val => "Mende_Kikakui"
primitive ScriptMeroiticCursive
fun code(): String val => "Meroitic_Cursive"
fun string(): String val => "Meroitic_Cursive"
primitive ScriptMeroiticHieroglyphs
fun code(): String val => "Meroitic_Hieroglyphs"
fun string(): String val => "Meroitic_Hieroglyphs"
primitive ScriptMiao
fun code(): String val => "Miao"
fun string(): String val => "Miao"
primitive ScriptModi
fun code(): String val => "Modi"
fun string(): String val => "Modi"
primitive ScriptMongolian
fun code(): String val => "Mongolian"
fun string(): String val => "Mongolian"
primitive ScriptMro
fun code(): String val => "Mro"
fun string(): String val => "Mro"
primitive ScriptMultani
fun code(): String val => "Multani"
fun string(): String val => "Multani"
primitive ScriptMyanmar
fun code(): String val => "Myanmar"
fun string(): String val => "Myanmar"
primitive ScriptNabataean
fun code(): String val => "Nabataean"
fun string(): String val => "Nabataean"
primitive ScriptNagMundari
fun code(): String val => "Nag_Mundari"
fun string(): String val => "Nag_Mundari"
primitive ScriptNandinagari
fun code(): String val => "Nandinagari"
fun string(): String val => "Nandinagari"
primitive ScriptNewTaiLue
fun code(): String val => "New_Tai_Lue"
fun string(): String val => "New_Tai_Lue"
primitive ScriptNewa
fun code(): String val => "Newa"
fun string(): String val => "Newa"
primitive ScriptNko
fun code(): String val => "Nko"
fun string(): String val => "Nko"
primitive ScriptNushu
fun code(): String val => "Nushu"
fun string(): String val => "Nushu"
primitive ScriptNyiakengPuachueHmong
fun code(): String val => "Nyiakeng_Puachue_Hmong"
fun string(): String val => "Nyiakeng_Puachue_Hmong"
primitive ScriptOgham
fun code(): String val => "Ogham"
fun string(): String val => "Ogham"
primitive ScriptOlChiki
fun code(): String val => "Ol_Chiki"
fun string(): String val => "Ol_Chiki"
primitive ScriptOlOnal
fun code(): String val => "Ol_Onal"
fun string(): String val => "Ol_Onal"
primitive ScriptOldHungarian
fun code(): String val => "Old_Hungarian"
fun string(): String val => "Old_Hungarian"
primitive ScriptOldItalic
fun code(): String val => "Old_Italic"
fun string(): String val => "Old_Italic"
primitive ScriptOldNorthArabian
fun code(): String val => "Old_North_Arabian"
fun string(): String val => "Old_North_Arabian"
primitive ScriptOldPermic
fun code(): String val => "Old_Permic"
fun string(): String val => "Old_Permic"
primitive ScriptOldPersian
fun code(): String val => "Old_Persian"
fun string(): String val => "Old_Persian"
primitive ScriptOldSogdian
fun code(): String val => "Old_Sogdian"
fun string(): String val => "Old_Sogdian"
primitive ScriptOldSouthArabian
fun code(): String val => "Old_South_Arabian"
fun string(): String val => "Old_South_Arabian"
primitive ScriptOldTurkic
fun code(): String val => "Old_Turkic"
fun string(): String val => "Old_Turkic"
primitive ScriptOldUyghur
fun code(): String val => "Old_Uyghur"
fun string(): String val => "Old_Uyghur"
primitive ScriptOriya
fun code(): String val => "Oriya"
fun string(): String val => "Oriya"
primitive ScriptOsage
fun code(): String val => "Osage"
fun string(): String val => "Osage"
primitive ScriptOsmanya
fun code(): String val => "Osmanya"
fun string(): String val => "Osmanya"
primitive ScriptPahawhHmong
fun code(): String val => "Pahawh_Hmong"
fun string(): String val => "Pahawh_Hmong"
primitive ScriptPalmyrene
fun code(): String val => "Palmyrene"
fun string(): String val => "Palmyrene"
primitive ScriptPauCinHau
fun code(): String val => "Pau_Cin_Hau"
fun string(): String val => "Pau_Cin_Hau"
primitive ScriptPhagsPa
fun code(): String val => "Phags_Pa"
fun string(): String val => "Phags_Pa"
primitive ScriptPhoenician
fun code(): String val => "Phoenician"
fun string(): String val => "Phoenician"
primitive ScriptPsalterPahlavi
fun code(): String val => "Psalter_Pahlavi"
fun string(): String val => "Psalter_Pahlavi"
primitive ScriptRejang
fun code(): String val => "Rejang"
fun string(): String val => "Rejang"
primitive ScriptRunic
fun code(): String val => "Runic"
fun string(): String val => "Runic"
primitive ScriptSamaritan
fun code(): String val => "Samaritan"
fun string(): String val => "Samaritan"
primitive ScriptSaurashtra
fun code(): String val => "Saurashtra"
fun string(): String val => "Saurashtra"
primitive ScriptSharada
fun code(): String val => "Sharada"
fun string(): String val => "Sharada"
primitive ScriptShavian
fun code(): String val => "Shavian"
fun string(): String val => "Shavian"
primitive ScriptSiddham
fun code(): String val => "Siddham"
fun string(): String val => "Siddham"
primitive ScriptSignWriting
fun code(): String val => "SignWriting"
fun string(): String val => "SignWriting"
primitive ScriptSinhala
fun code(): String val => "Sinhala"
fun string(): String val => "Sinhala"
primitive ScriptSogdian
fun code(): String val => "Sogdian"
fun string(): String val => "Sogdian"
primitive ScriptSoraSompeng
fun code(): String val => "Sora_Sompeng"
fun string(): String val => "Sora_Sompeng"
primitive ScriptSoyombo
fun code(): String val => "Soyombo"
fun string(): String val => "Soyombo"
primitive ScriptSundanese
fun code(): String val => "Sundanese"
fun string(): String val => "Sundanese"
primitive ScriptSunuwar
fun code(): String val => "Sunuwar"
fun string(): String val => "Sunuwar"
primitive ScriptSylotiNagri
fun code(): String val => "Syloti_Nagri"
fun string(): String val => "Syloti_Nagri"
primitive ScriptSyriac
fun code(): String val => "Syriac"
fun string(): String val => "Syriac"
primitive ScriptTagalog
fun code(): String val => "Tagalog"
fun string(): String val => "Tagalog"
primitive ScriptTagbanwa
fun code(): String val => "Tagbanwa"
fun string(): String val => "Tagbanwa"
primitive ScriptTaiLe
fun code(): String val => "Tai_Le"
fun string(): String val => "Tai_Le"
primitive ScriptTaiTham
fun code(): String val => "Tai_Tham"
fun string(): String val => "Tai_Tham"
primitive ScriptTaiViet
fun code(): String val => "Tai_Viet"
fun string(): String val => "Tai_Viet"
primitive ScriptTakri
fun code(): String val => "Takri"
fun string(): String val => "Takri"
primitive ScriptTamil
fun code(): String val => "Tamil"
fun string(): String val => "Tamil"
primitive ScriptTangsa
fun code(): String val => "Tangsa"
fun string(): String val => "Tangsa"
primitive ScriptTangut
fun code(): String val => "Tangut"
fun string(): String val => "Tangut"
primitive ScriptTelugu
fun code(): String val => "Telugu"
fun string(): String val => "Telugu"
primitive ScriptThaana
fun code(): String val => "Thaana"
fun string(): String val => "Thaana"
primitive ScriptThai
fun code(): String val => "Thai"
fun string(): String val => "Thai"
primitive ScriptTibetan
fun code(): String val => "Tibetan"
fun string(): String val => "Tibetan"
primitive ScriptTifinagh
fun code(): String val => "Tifinagh"
fun string(): String val => "Tifinagh"
primitive ScriptTirhuta
fun code(): String val => "Tirhuta"
fun string(): String val => "Tirhuta"
primitive ScriptTodhri
fun code(): String val => "Todhri"
fun string(): String val => "Todhri"
primitive ScriptToto
fun code(): String val => "Toto"
fun string(): String val => "Toto"
primitive ScriptTuluTigalari
fun code(): String val => "Tulu_Tigalari"
fun string(): String val => "Tulu_Tigalari"
primitive ScriptUgaritic
fun code(): String val => "Ugaritic"
fun string(): String val => "Ugaritic"
primitive ScriptVai
fun code(): String val => "Vai"
fun string(): String val => "Vai"
primitive ScriptVithkuqi
fun code(): String val => "Vithkuqi"
fun string(): String val => "Vithkuqi"
primitive ScriptWancho
fun code(): String val => "Wancho"
fun string(): String val => "Wancho"
primitive ScriptWarangCiti
fun code(): String val => "Warang_Citi"
fun string(): String val => "Warang_Citi"
primitive ScriptYezidi
fun code(): String val => "Yezidi"
fun string(): String val => "Yezidi"
primitive ScriptYi
fun code(): String val => "Yi"
fun string(): String val => "Yi"
primitive ScriptZanabazarSquare
fun code(): String val => "Zanabazar_Square"
fun string(): String val => "Zanabazar_Square"
type Script is
( ScriptUnknown
| ScriptAdlam
| ScriptAhom
| ScriptAnatolianHieroglyphs
| ScriptArabic
| ScriptArmenian
| ScriptAvestan
| ScriptBalinese
| ScriptBamum
| ScriptBassaVah
| ScriptBatak
| ScriptBengali
| ScriptBhaiksuki
| ScriptBopomofo
| ScriptBrahmi
| ScriptBraille
| ScriptBuginese
| ScriptBuhid
| ScriptCanadianAboriginal
| ScriptCarian
| ScriptCaucasianAlbanian
| ScriptChakma
| ScriptCham
| ScriptCherokee
| ScriptChorasmian
| ScriptCommon
| ScriptCoptic
| ScriptCuneiform
| ScriptCypriot
| ScriptCyproMinoan
| ScriptCyrillic
| ScriptDeseret
| ScriptDevanagari
| ScriptDivesAkuru
| ScriptDogra
| ScriptDuployan
| ScriptEgyptianHieroglyphs
| ScriptElbasan
| ScriptElymaic
| ScriptEthiopic
| ScriptGaray
| ScriptGeorgian
| ScriptGlagolitic
| ScriptGothic
| ScriptGrantha
| ScriptGreek
| ScriptGujarati
| ScriptGunjalaGondi
| ScriptGurmukhi
| ScriptGurungKhema
| ScriptHan
| ScriptHangul
| ScriptHanifiRohingya
| ScriptHanunoo
| ScriptHatran
| ScriptHebrew
| ScriptHiragana
| ScriptImperialAramaic
| ScriptInherited
| ScriptInscriptionalPahlavi
| ScriptInscriptionalParthian
| ScriptJavanese
| ScriptKaithi
| ScriptKannada
| ScriptKatakana
| ScriptKawi
| ScriptKayahLi
| ScriptKharoshthi
| ScriptKhitanSmallScript
| ScriptKhmer
| ScriptKhojki
| ScriptKhudawadi
| ScriptKiratRai
| ScriptLao
| ScriptLatin
| ScriptLepcha
| ScriptLimbu
| ScriptLinearA
| ScriptLinearB
| ScriptLisu
| ScriptLycian
| ScriptLydian
| ScriptMahajani
| ScriptMakasar
| ScriptMalayalam
| ScriptMandaic
| ScriptManichaean
| ScriptMarchen
| ScriptMasaramGondi
| ScriptMedefaidrin
| ScriptMeeteiMayek
| ScriptMendeKikakui
| ScriptMeroiticCursive
| ScriptMeroiticHieroglyphs
| ScriptMiao
| ScriptModi
| ScriptMongolian
| ScriptMro
| ScriptMultani
| ScriptMyanmar
| ScriptNabataean
| ScriptNagMundari
| ScriptNandinagari
| ScriptNewTaiLue
| ScriptNewa
| ScriptNko
| ScriptNushu
| ScriptNyiakengPuachueHmong
| ScriptOgham
| ScriptOlChiki
| ScriptOlOnal
| ScriptOldHungarian
| ScriptOldItalic
| ScriptOldNorthArabian
| ScriptOldPermic
| ScriptOldPersian
| ScriptOldSogdian
| ScriptOldSouthArabian
| ScriptOldTurkic
| ScriptOldUyghur
| ScriptOriya
| ScriptOsage
| ScriptOsmanya
| ScriptPahawhHmong
| ScriptPalmyrene
| ScriptPauCinHau
| ScriptPhagsPa
| ScriptPhoenician
| ScriptPsalterPahlavi
| ScriptRejang
| ScriptRunic
| ScriptSamaritan
| ScriptSaurashtra
| ScriptSharada
| ScriptShavian
| ScriptSiddham
| ScriptSignWriting
| ScriptSinhala
| ScriptSogdian
| ScriptSoraSompeng
| ScriptSoyombo
| ScriptSundanese
| ScriptSunuwar
| ScriptSylotiNagri
| ScriptSyriac
| ScriptTagalog
| ScriptTagbanwa
| ScriptTaiLe
| ScriptTaiTham
| ScriptTaiViet
| ScriptTakri
| ScriptTamil
| ScriptTangsa
| ScriptTangut
| ScriptTelugu
| ScriptThaana
| ScriptThai
| ScriptTibetan
| ScriptTifinagh
| ScriptTirhuta
| ScriptTodhri
| ScriptToto
| ScriptTuluTigalari
| ScriptUgaritic
| ScriptVai
| ScriptVithkuqi
| ScriptWancho
| ScriptWarangCiti
| ScriptYezidi
| ScriptYi
| ScriptZanabazarSquare
)
primitive _ScriptCodec
fun from_iso(s: String box): (Script | None) =>
match s
| "Unknown" => ScriptUnknown
| "Adlam" => ScriptAdlam
| "Ahom" => ScriptAhom
| "Anatolian_Hieroglyphs" => ScriptAnatolianHieroglyphs
| "Arabic" => ScriptArabic
| "Armenian" => ScriptArmenian
| "Avestan" => ScriptAvestan
| "Balinese" => ScriptBalinese
| "Bamum" => ScriptBamum
| "Bassa_Vah" => ScriptBassaVah
| "Batak" => ScriptBatak
| "Bengali" => ScriptBengali
| "Bhaiksuki" => ScriptBhaiksuki
| "Bopomofo" => ScriptBopomofo
| "Brahmi" => ScriptBrahmi
| "Braille" => ScriptBraille
| "Buginese" => ScriptBuginese
| "Buhid" => ScriptBuhid
| "Canadian_Aboriginal" => ScriptCanadianAboriginal
| "Carian" => ScriptCarian
| "Caucasian_Albanian" => ScriptCaucasianAlbanian
| "Chakma" => ScriptChakma
| "Cham" => ScriptCham
| "Cherokee" => ScriptCherokee
| "Chorasmian" => ScriptChorasmian
| "Common" => ScriptCommon
| "Coptic" => ScriptCoptic
| "Cuneiform" => ScriptCuneiform
| "Cypriot" => ScriptCypriot
| "Cypro_Minoan" => ScriptCyproMinoan
| "Cyrillic" => ScriptCyrillic
| "Deseret" => ScriptDeseret
| "Devanagari" => ScriptDevanagari
| "Dives_Akuru" => ScriptDivesAkuru
| "Dogra" => ScriptDogra
| "Duployan" => ScriptDuployan
| "Egyptian_Hieroglyphs" => ScriptEgyptianHieroglyphs
| "Elbasan" => ScriptElbasan
| "Elymaic" => ScriptElymaic
| "Ethiopic" => ScriptEthiopic
| "Garay" => ScriptGaray
| "Georgian" => ScriptGeorgian
| "Glagolitic" => ScriptGlagolitic
| "Gothic" => ScriptGothic
| "Grantha" => ScriptGrantha
| "Greek" => ScriptGreek
| "Gujarati" => ScriptGujarati
| "Gunjala_Gondi" => ScriptGunjalaGondi
| "Gurmukhi" => ScriptGurmukhi
| "Gurung_Khema" => ScriptGurungKhema
| "Han" => ScriptHan
| "Hangul" => ScriptHangul
| "Hanifi_Rohingya" => ScriptHanifiRohingya
| "Hanunoo" => ScriptHanunoo
| "Hatran" => ScriptHatran
| "Hebrew" => ScriptHebrew
| "Hiragana" => ScriptHiragana
| "Imperial_Aramaic" => ScriptImperialAramaic
| "Inherited" => ScriptInherited
| "Inscriptional_Pahlavi" => ScriptInscriptionalPahlavi
| "Inscriptional_Parthian" => ScriptInscriptionalParthian
| "Javanese" => ScriptJavanese
| "Kaithi" => ScriptKaithi
| "Kannada" => ScriptKannada
| "Katakana" => ScriptKatakana
| "Kawi" => ScriptKawi
| "Kayah_Li" => ScriptKayahLi
| "Kharoshthi" => ScriptKharoshthi
| "Khitan_Small_Script" => ScriptKhitanSmallScript
| "Khmer" => ScriptKhmer
| "Khojki" => ScriptKhojki
| "Khudawadi" => ScriptKhudawadi
| "Kirat_Rai" => ScriptKiratRai
| "Lao" => ScriptLao
| "Latin" => ScriptLatin
| "Lepcha" => ScriptLepcha
| "Limbu" => ScriptLimbu
| "Linear_A" => ScriptLinearA
| "Linear_B" => ScriptLinearB
| "Lisu" => ScriptLisu
| "Lycian" => ScriptLycian
| "Lydian" => ScriptLydian
| "Mahajani" => ScriptMahajani
| "Makasar" => ScriptMakasar
| "Malayalam" => ScriptMalayalam
| "Mandaic" => ScriptMandaic
| "Manichaean" => ScriptManichaean
| "Marchen" => ScriptMarchen
| "Masaram_Gondi" => ScriptMasaramGondi
| "Medefaidrin" => ScriptMedefaidrin
| "Meetei_Mayek" => ScriptMeeteiMayek
| "Mende_Kikakui" => ScriptMendeKikakui
| "Meroitic_Cursive" => ScriptMeroiticCursive
| "Meroitic_Hieroglyphs" => ScriptMeroiticHieroglyphs
| "Miao" => ScriptMiao
| "Modi" => ScriptModi
| "Mongolian" => ScriptMongolian
| "Mro" => ScriptMro
| "Multani" => ScriptMultani
| "Myanmar" => ScriptMyanmar
| "Nabataean" => ScriptNabataean
| "Nag_Mundari" => ScriptNagMundari
| "Nandinagari" => ScriptNandinagari
| "New_Tai_Lue" => ScriptNewTaiLue
| "Newa" => ScriptNewa
| "Nko" => ScriptNko
| "Nushu" => ScriptNushu
| "Nyiakeng_Puachue_Hmong" => ScriptNyiakengPuachueHmong
| "Ogham" => ScriptOgham
| "Ol_Chiki" => ScriptOlChiki
| "Ol_Onal" => ScriptOlOnal
| "Old_Hungarian" => ScriptOldHungarian
| "Old_Italic" => ScriptOldItalic
| "Old_North_Arabian" => ScriptOldNorthArabian
| "Old_Permic" => ScriptOldPermic
| "Old_Persian" => ScriptOldPersian
| "Old_Sogdian" => ScriptOldSogdian
| "Old_South_Arabian" => ScriptOldSouthArabian
| "Old_Turkic" => ScriptOldTurkic
| "Old_Uyghur" => ScriptOldUyghur
| "Oriya" => ScriptOriya
| "Osage" => ScriptOsage
| "Osmanya" => ScriptOsmanya
| "Pahawh_Hmong" => ScriptPahawhHmong
| "Palmyrene" => ScriptPalmyrene
| "Pau_Cin_Hau" => ScriptPauCinHau
| "Phags_Pa" => ScriptPhagsPa
| "Phoenician" => ScriptPhoenician
| "Psalter_Pahlavi" => ScriptPsalterPahlavi
| "Rejang" => ScriptRejang
| "Runic" => ScriptRunic
| "Samaritan" => ScriptSamaritan
| "Saurashtra" => ScriptSaurashtra
| "Sharada" => ScriptSharada
| "Shavian" => ScriptShavian
| "Siddham" => ScriptSiddham
| "SignWriting" => ScriptSignWriting
| "Sinhala" => ScriptSinhala
| "Sogdian" => ScriptSogdian
| "Sora_Sompeng" => ScriptSoraSompeng
| "Soyombo" => ScriptSoyombo
| "Sundanese" => ScriptSundanese
| "Sunuwar" => ScriptSunuwar
| "Syloti_Nagri" => ScriptSylotiNagri
| "Syriac" => ScriptSyriac
| "Tagalog" => ScriptTagalog
| "Tagbanwa" => ScriptTagbanwa
| "Tai_Le" => ScriptTaiLe
| "Tai_Tham" => ScriptTaiTham
| "Tai_Viet" => ScriptTaiViet
| "Takri" => ScriptTakri
| "Tamil" => ScriptTamil
| "Tangsa" => ScriptTangsa
| "Tangut" => ScriptTangut
| "Telugu" => ScriptTelugu
| "Thaana" => ScriptThaana
| "Thai" => ScriptThai
| "Tibetan" => ScriptTibetan
| "Tifinagh" => ScriptTifinagh
| "Tirhuta" => ScriptTirhuta
| "Todhri" => ScriptTodhri
| "Toto" => ScriptToto
| "Tulu_Tigalari" => ScriptTuluTigalari
| "Ugaritic" => ScriptUgaritic
| "Vai" => ScriptVai
| "Vithkuqi" => ScriptVithkuqi
| "Wancho" => ScriptWancho
| "Warang_Citi" => ScriptWarangCiti
| "Yezidi" => ScriptYezidi
| "Yi" => ScriptYi
| "Zanabazar_Square" => ScriptZanabazarSquare
else None
end
fun to_byte(sc: Script): U8 =>
match sc
| ScriptUnknown => 0
| ScriptAdlam => 1
| ScriptAhom => 2
| ScriptAnatolianHieroglyphs => 3
| ScriptArabic => 4
| ScriptArmenian => 5
| ScriptAvestan => 6
| ScriptBalinese => 7
| ScriptBamum => 8
| ScriptBassaVah => 9
| ScriptBatak => 10
| ScriptBengali => 11
| ScriptBhaiksuki => 12
| ScriptBopomofo => 13
| ScriptBrahmi => 14
| ScriptBraille => 15
| ScriptBuginese => 16
| ScriptBuhid => 17
| ScriptCanadianAboriginal => 18
| ScriptCarian => 19
| ScriptCaucasianAlbanian => 20
| ScriptChakma => 21
| ScriptCham => 22
| ScriptCherokee => 23
| ScriptChorasmian => 24
| ScriptCommon => 25
| ScriptCoptic => 26
| ScriptCuneiform => 27
| ScriptCypriot => 28
| ScriptCyproMinoan => 29
| ScriptCyrillic => 30
| ScriptDeseret => 31
| ScriptDevanagari => 32
| ScriptDivesAkuru => 33
| ScriptDogra => 34
| ScriptDuployan => 35
| ScriptEgyptianHieroglyphs => 36
| ScriptElbasan => 37
| ScriptElymaic => 38
| ScriptEthiopic => 39
| ScriptGaray => 40
| ScriptGeorgian => 41
| ScriptGlagolitic => 42
| ScriptGothic => 43
| ScriptGrantha => 44
| ScriptGreek => 45
| ScriptGujarati => 46
| ScriptGunjalaGondi => 47
| ScriptGurmukhi => 48
| ScriptGurungKhema => 49
| ScriptHan => 50
| ScriptHangul => 51
| ScriptHanifiRohingya => 52
| ScriptHanunoo => 53
| ScriptHatran => 54
| ScriptHebrew => 55
| ScriptHiragana => 56
| ScriptImperialAramaic => 57
| ScriptInherited => 58
| ScriptInscriptionalPahlavi => 59
| ScriptInscriptionalParthian => 60
| ScriptJavanese => 61
| ScriptKaithi => 62
| ScriptKannada => 63
| ScriptKatakana => 64
| ScriptKawi => 65
| ScriptKayahLi => 66
| ScriptKharoshthi => 67
| ScriptKhitanSmallScript => 68
| ScriptKhmer => 69
| ScriptKhojki => 70
| ScriptKhudawadi => 71
| ScriptKiratRai => 72
| ScriptLao => 73
| ScriptLatin => 74
| ScriptLepcha => 75
| ScriptLimbu => 76
| ScriptLinearA => 77
| ScriptLinearB => 78
| ScriptLisu => 79
| ScriptLycian => 80
| ScriptLydian => 81
| ScriptMahajani => 82
| ScriptMakasar => 83
| ScriptMalayalam => 84
| ScriptMandaic => 85
| ScriptManichaean => 86
| ScriptMarchen => 87
| ScriptMasaramGondi => 88
| ScriptMedefaidrin => 89
| ScriptMeeteiMayek => 90
| ScriptMendeKikakui => 91
| ScriptMeroiticCursive => 92
| ScriptMeroiticHieroglyphs => 93
| ScriptMiao => 94
| ScriptModi => 95
| ScriptMongolian => 96
| ScriptMro => 97
| ScriptMultani => 98
| ScriptMyanmar => 99
| ScriptNabataean => 100
| ScriptNagMundari => 101
| ScriptNandinagari => 102
| ScriptNewTaiLue => 103
| ScriptNewa => 104
| ScriptNko => 105
| ScriptNushu => 106
| ScriptNyiakengPuachueHmong => 107
| ScriptOgham => 108
| ScriptOlChiki => 109
| ScriptOlOnal => 110
| ScriptOldHungarian => 111
| ScriptOldItalic => 112
| ScriptOldNorthArabian => 113
| ScriptOldPermic => 114
| ScriptOldPersian => 115
| ScriptOldSogdian => 116
| ScriptOldSouthArabian => 117
| ScriptOldTurkic => 118
| ScriptOldUyghur => 119
| ScriptOriya => 120
| ScriptOsage => 121
| ScriptOsmanya => 122
| ScriptPahawhHmong => 123
| ScriptPalmyrene => 124
| ScriptPauCinHau => 125
| ScriptPhagsPa => 126
| ScriptPhoenician => 127
| ScriptPsalterPahlavi => 128
| ScriptRejang => 129
| ScriptRunic => 130
| ScriptSamaritan => 131
| ScriptSaurashtra => 132
| ScriptSharada => 133
| ScriptShavian => 134
| ScriptSiddham => 135
| ScriptSignWriting => 136
| ScriptSinhala => 137
| ScriptSogdian => 138
| ScriptSoraSompeng => 139
| ScriptSoyombo => 140
| ScriptSundanese => 141
| ScriptSunuwar => 142
| ScriptSylotiNagri => 143
| ScriptSyriac => 144
| ScriptTagalog => 145
| ScriptTagbanwa => 146
| ScriptTaiLe => 147
| ScriptTaiTham => 148
| ScriptTaiViet => 149
| ScriptTakri => 150
| ScriptTamil => 151
| ScriptTangsa => 152
| ScriptTangut => 153
| ScriptTelugu => 154
| ScriptThaana => 155
| ScriptThai => 156
| ScriptTibetan => 157
| ScriptTifinagh => 158
| ScriptTirhuta => 159
| ScriptTodhri => 160
| ScriptToto => 161
| ScriptTuluTigalari => 162
| ScriptUgaritic => 163
| ScriptVai => 164
| ScriptVithkuqi => 165
| ScriptWancho => 166
| ScriptWarangCiti => 167
| ScriptYezidi => 168
| ScriptYi => 169
| ScriptZanabazarSquare => 170
end
fun from_byte(b: U8): Script =>
match b
| 0 => ScriptUnknown
| 1 => ScriptAdlam
| 2 => ScriptAhom
| 3 => ScriptAnatolianHieroglyphs
| 4 => ScriptArabic
| 5 => ScriptArmenian
| 6 => ScriptAvestan
| 7 => ScriptBalinese
| 8 => ScriptBamum
| 9 => ScriptBassaVah
| 10 => ScriptBatak
| 11 => ScriptBengali
| 12 => ScriptBhaiksuki
| 13 => ScriptBopomofo
| 14 => ScriptBrahmi
| 15 => ScriptBraille
| 16 => ScriptBuginese
| 17 => ScriptBuhid
| 18 => ScriptCanadianAboriginal
| 19 => ScriptCarian
| 20 => ScriptCaucasianAlbanian
| 21 => ScriptChakma
| 22 => ScriptCham
| 23 => ScriptCherokee
| 24 => ScriptChorasmian
| 25 => ScriptCommon
| 26 => ScriptCoptic
| 27 => ScriptCuneiform
| 28 => ScriptCypriot
| 29 => ScriptCyproMinoan
| 30 => ScriptCyrillic
| 31 => ScriptDeseret
| 32 => ScriptDevanagari
| 33 => ScriptDivesAkuru
| 34 => ScriptDogra
| 35 => ScriptDuployan
| 36 => ScriptEgyptianHieroglyphs
| 37 => ScriptElbasan
| 38 => ScriptElymaic
| 39 => ScriptEthiopic
| 40 => ScriptGaray
| 41 => ScriptGeorgian
| 42 => ScriptGlagolitic
| 43 => ScriptGothic
| 44 => ScriptGrantha
| 45 => ScriptGreek
| 46 => ScriptGujarati
| 47 => ScriptGunjalaGondi
| 48 => ScriptGurmukhi
| 49 => ScriptGurungKhema
| 50 => ScriptHan
| 51 => ScriptHangul
| 52 => ScriptHanifiRohingya
| 53 => ScriptHanunoo
| 54 => ScriptHatran
| 55 => ScriptHebrew
| 56 => ScriptHiragana
| 57 => ScriptImperialAramaic
| 58 => ScriptInherited
| 59 => ScriptInscriptionalPahlavi
| 60 => ScriptInscriptionalParthian
| 61 => ScriptJavanese
| 62 => ScriptKaithi
| 63 => ScriptKannada
| 64 => ScriptKatakana
| 65 => ScriptKawi
| 66 => ScriptKayahLi
| 67 => ScriptKharoshthi
| 68 => ScriptKhitanSmallScript
| 69 => ScriptKhmer
| 70 => ScriptKhojki
| 71 => ScriptKhudawadi
| 72 => ScriptKiratRai
| 73 => ScriptLao
| 74 => ScriptLatin
| 75 => ScriptLepcha
| 76 => ScriptLimbu
| 77 => ScriptLinearA
| 78 => ScriptLinearB
| 79 => ScriptLisu
| 80 => ScriptLycian
| 81 => ScriptLydian
| 82 => ScriptMahajani
| 83 => ScriptMakasar
| 84 => ScriptMalayalam
| 85 => ScriptMandaic
| 86 => ScriptManichaean
| 87 => ScriptMarchen
| 88 => ScriptMasaramGondi
| 89 => ScriptMedefaidrin
| 90 => ScriptMeeteiMayek
| 91 => ScriptMendeKikakui
| 92 => ScriptMeroiticCursive
| 93 => ScriptMeroiticHieroglyphs
| 94 => ScriptMiao
| 95 => ScriptModi
| 96 => ScriptMongolian
| 97 => ScriptMro
| 98 => ScriptMultani
| 99 => ScriptMyanmar
| 100 => ScriptNabataean
| 101 => ScriptNagMundari
| 102 => ScriptNandinagari
| 103 => ScriptNewTaiLue
| 104 => ScriptNewa
| 105 => ScriptNko
| 106 => ScriptNushu
| 107 => ScriptNyiakengPuachueHmong
| 108 => ScriptOgham
| 109 => ScriptOlChiki
| 110 => ScriptOlOnal
| 111 => ScriptOldHungarian
| 112 => ScriptOldItalic
| 113 => ScriptOldNorthArabian
| 114 => ScriptOldPermic
| 115 => ScriptOldPersian
| 116 => ScriptOldSogdian
| 117 => ScriptOldSouthArabian
| 118 => ScriptOldTurkic
| 119 => ScriptOldUyghur
| 120 => ScriptOriya
| 121 => ScriptOsage
| 122 => ScriptOsmanya
| 123 => ScriptPahawhHmong
| 124 => ScriptPalmyrene
| 125 => ScriptPauCinHau
| 126 => ScriptPhagsPa
| 127 => ScriptPhoenician
| 128 => ScriptPsalterPahlavi
| 129 => ScriptRejang
| 130 => ScriptRunic
| 131 => ScriptSamaritan
| 132 => ScriptSaurashtra
| 133 => ScriptSharada
| 134 => ScriptShavian
| 135 => ScriptSiddham
| 136 => ScriptSignWriting
| 137 => ScriptSinhala
| 138 => ScriptSogdian
| 139 => ScriptSoraSompeng
| 140 => ScriptSoyombo
| 141 => ScriptSundanese
| 142 => ScriptSunuwar
| 143 => ScriptSylotiNagri
| 144 => ScriptSyriac
| 145 => ScriptTagalog
| 146 => ScriptTagbanwa
| 147 => ScriptTaiLe
| 148 => ScriptTaiTham
| 149 => ScriptTaiViet
| 150 => ScriptTakri
| 151 => ScriptTamil
| 152 => ScriptTangsa
| 153 => ScriptTangut
| 154 => ScriptTelugu
| 155 => ScriptThaana
| 156 => ScriptThai
| 157 => ScriptTibetan
| 158 => ScriptTifinagh
| 159 => ScriptTirhuta
| 160 => ScriptTodhri
| 161 => ScriptToto
| 162 => ScriptTuluTigalari
| 163 => ScriptUgaritic
| 164 => ScriptVai
| 165 => ScriptVithkuqi
| 166 => ScriptWancho
| 167 => ScriptWarangCiti
| 168 => ScriptYezidi
| 169 => ScriptYi
| 170 => ScriptZanabazarSquare
else ScriptUnknown
end