// This is a manually written file for the C API of unicode.zig
// TODO: delete this when Zig resurrects -femit-h
// https://github.com/ziglang/zig/issues/9698
#pragma once

#include <cstdint>

typedef enum {
  SCRIPT_NONE,
  SCRIPT_ADLAM,
  SCRIPT_AHOM,
  SCRIPT_ANATOLIAN_HIEROGLYPHS,
  SCRIPT_ARABIC,
  SCRIPT_ARMENIAN,
  SCRIPT_AVESTAN,
  SCRIPT_BALINESE,
  SCRIPT_BAMUM,
  SCRIPT_BASSA_VAH,
  SCRIPT_BATAK,
  SCRIPT_BENGALI,
  SCRIPT_BHAIKSUKI,
  SCRIPT_BOPOMOFO,
  SCRIPT_BRAHMI,
  SCRIPT_BRAILLE,
  SCRIPT_BUGINESE,
  SCRIPT_BUHID,
  SCRIPT_CANADIAN_ABORIGINAL,
  SCRIPT_CARIAN,
  SCRIPT_CAUCASIAN_ALBANIAN,
  SCRIPT_CHAKMA,
  SCRIPT_CHAM,
  SCRIPT_CHEROKEE,
  SCRIPT_CHORASMIAN,
  SCRIPT_COMMON,
  SCRIPT_COPTIC,
  SCRIPT_CUNEIFORM,
  SCRIPT_CYPRIOT,
  SCRIPT_CYPRO_MINOAN,
  SCRIPT_CYRILLIC,
  SCRIPT_DESERET,
  SCRIPT_DEVANAGARI,
  SCRIPT_DIVES_AKURU,
  SCRIPT_DOGRA,
  SCRIPT_DUPLOYAN,
  SCRIPT_EGYPTIAN_HIEROGLYPHS,
  SCRIPT_ELBASAN,
  SCRIPT_ELYMAIC,
  SCRIPT_ETHIOPIC,
  SCRIPT_GARAY,
  SCRIPT_GEORGIAN,
  SCRIPT_GLAGOLITIC,
  SCRIPT_GOTHIC,
  SCRIPT_GRANTHA,
  SCRIPT_GREEK,
  SCRIPT_GUJARATI,
  SCRIPT_GUNJALA_GONDI,
  SCRIPT_GURMUKHI,
  SCRIPT_GURUNG_KHEMA,
  SCRIPT_HAN,
  SCRIPT_HANGUL,
  SCRIPT_HANIFI_ROHINGYA,
  SCRIPT_HANUNOO,
  SCRIPT_HATRAN,
  SCRIPT_HEBREW,
  SCRIPT_HIRAGANA,
  SCRIPT_IMPERIAL_ARAMAIC,
  SCRIPT_INHERITED,
  SCRIPT_INSCRIPTIONAL_PAHLAVI,
  SCRIPT_INSCRIPTIONAL_PARTHIAN,
  SCRIPT_JAVANESE,
  SCRIPT_KAITHI,
  SCRIPT_KANNADA,
  SCRIPT_KATAKANA,
  SCRIPT_KAWI,
  SCRIPT_KAYAH_LI,
  SCRIPT_KHAROSHTHI,
  SCRIPT_KHITAN_SMALL_SCRIPT,
  SCRIPT_KHMER,
  SCRIPT_KHOJKI,
  SCRIPT_KHUDAWADI,
  SCRIPT_KIRAT_RAI,
  SCRIPT_LAO,
  SCRIPT_LATIN,
  SCRIPT_LEPCHA,
  SCRIPT_LIMBU,
  SCRIPT_LINEAR_A,
  SCRIPT_LINEAR_B,
  SCRIPT_LISU,
  SCRIPT_LYCIAN,
  SCRIPT_LYDIAN,
  SCRIPT_MAHAJANI,
  SCRIPT_MAKASAR,
  SCRIPT_MALAYALAM,
  SCRIPT_MANDAIC,
  SCRIPT_MANICHAEAN,
  SCRIPT_MARCHEN,
  SCRIPT_MASARAM_GONDI,
  SCRIPT_MEDEFAIDRIN,
  SCRIPT_MEETEI_MAYEK,
  SCRIPT_MENDE_KIKAKUI,
  SCRIPT_MEROITIC_CURSIVE,
  SCRIPT_MEROITIC_HIEROGLYPHS,
  SCRIPT_MIAO,
  SCRIPT_MODI,
  SCRIPT_MONGOLIAN,
  SCRIPT_MRO,
  SCRIPT_MULTANI,
  SCRIPT_MYANMAR,
  SCRIPT_NABATAEAN,
  SCRIPT_NAG_MUNDARI,
  SCRIPT_NANDINAGARI,
  SCRIPT_NEW_TAI_LUE,
  SCRIPT_NEWA,
  SCRIPT_NKO,
  SCRIPT_NUSHU,
  SCRIPT_NYIAKENG_PUACHUE_HMONG,
  SCRIPT_OGHAM,
  SCRIPT_OL_CHIKI,
  SCRIPT_OL_ONAL,
  SCRIPT_OLD_HUNGARIAN,
  SCRIPT_OLD_ITALIC,
  SCRIPT_OLD_NORTH_ARABIAN,
  SCRIPT_OLD_PERMIC,
  SCRIPT_OLD_PERSIAN,
  SCRIPT_OLD_SOGDIAN,
  SCRIPT_OLD_SOUTH_ARABIAN,
  SCRIPT_OLD_TURKIC,
  SCRIPT_OLD_UYGHUR,
  SCRIPT_ORIYA,
  SCRIPT_OSAGE,
  SCRIPT_OSMANYA,
  SCRIPT_PAHAWH_HMONG,
  SCRIPT_PALMYRENE,
  SCRIPT_PAU_CIN_HAU,
  SCRIPT_PHAGS_PA,
  SCRIPT_PHOENICIAN,
  SCRIPT_PSALTER_PAHLAVI,
  SCRIPT_REJANG,
  SCRIPT_RUNIC,
  SCRIPT_SAMARITAN,
  SCRIPT_SAURASHTRA,
  SCRIPT_SHARADA,
  SCRIPT_SHAVIAN,
  SCRIPT_SIDDHAM,
  SCRIPT_SIGNWRITING,
  SCRIPT_SINHALA,
  SCRIPT_SOGDIAN,
  SCRIPT_SORA_SOMPENG,
  SCRIPT_SOYOMBO,
  SCRIPT_SUNDANESE,
  SCRIPT_SUNUWAR,
  SCRIPT_SYLOTI_NAGRI,
  SCRIPT_SYRIAC,
  SCRIPT_TAGALOG,
  SCRIPT_TAGBANWA,
  SCRIPT_TAI_LE,
  SCRIPT_TAI_THAM,
  SCRIPT_TAI_VIET,
  SCRIPT_TAKRI,
  SCRIPT_TAMIL,
  SCRIPT_TANGSA,
  SCRIPT_TANGUT,
  SCRIPT_TELUGU,
  SCRIPT_THAANA,
  SCRIPT_THAI,
  SCRIPT_TIBETAN,
  SCRIPT_TIFINAGH,
  SCRIPT_TIRHUTA,
  SCRIPT_TODHRI,
  SCRIPT_TOTO,
  SCRIPT_TULU_TIGALARI,
  SCRIPT_UGARITIC,
  SCRIPT_VAI,
  SCRIPT_VITHKUQI,
  SCRIPT_WANCHO,
  SCRIPT_WARANG_CITI,
  SCRIPT_YEZIDI,
  SCRIPT_YI,
  SCRIPT_ZANABAZAR_SQUARE
} script_t;

extern "C" {
    script_t get_script(uint32_t codepoint);
}