Skip to content

Instantly share code, notes, and snippets.

@kohnakagawa
Created May 1, 2020 03:20
Show Gist options
  • Save kohnakagawa/bda4dfaca1afa05d1018d7c976d3bc95 to your computer and use it in GitHub Desktop.
Save kohnakagawa/bda4dfaca1afa05d1018d7c976d3bc95 to your computer and use it in GitHub Desktop.
_LIEF_EI(LANG_NEUTRAL) 0x00
_LIEF_EI(LANG_INVARIANT) 0x7f
_LIEF_EI(LANG_AFRIKAANS) 0x36
_LIEF_EI(LANG_ALBANIAN) 0x1c
_LIEF_EI(LANG_ARABIC) 0x01
_LIEF_EI(LANG_ARMENIAN) 0x2b
_LIEF_EI(LANG_ASSAMESE) 0x4d
_LIEF_EI(LANG_AZERI) 0x2c
_LIEF_EI(LANG_BASQUE) 0x2d
_LIEF_EI(LANG_BELARUSIAN) 0x23
_LIEF_EI(LANG_BANGLA) 0x45
_LIEF_EI(LANG_BULGARIAN) 0x02
_LIEF_EI(LANG_CATALAN) 0x03
_LIEF_EI(LANG_CHINESE) 0x04
_LIEF_EI(LANG_CROATIAN) 0x1a
_LIEF_EI(LANG_BOSNIAN) 0x1a
_LIEF_EI(LANG_CZECH) 0x05
_LIEF_EI(LANG_DANISH) 0x06
_LIEF_EI(LANG_DIVEHI) 0x65
_LIEF_EI(LANG_DUTCH) 0x13
_LIEF_EI(LANG_ENGLISH) 0x09
_LIEF_EI(LANG_ESTONIAN) 0x25
_LIEF_EI(LANG_FAEROESE) 0x38
_LIEF_EI(LANG_FARSI) 0x29
_LIEF_EI(LANG_FINNISH) 0x0b
_LIEF_EI(LANG_FRENCH) 0x0c
_LIEF_EI(LANG_GALICIAN) 0x56
_LIEF_EI(LANG_GEORGIAN) 0x37
_LIEF_EI(LANG_GERMAN) 0x07
_LIEF_EI(LANG_GREEK) 0x08
_LIEF_EI(LANG_GUJARATI) 0x47
_LIEF_EI(LANG_HEBREW) 0x0d
_LIEF_EI(LANG_HINDI) 0x39
_LIEF_EI(LANG_HUNGARIAN) 0x0e
_LIEF_EI(LANG_ICELANDIC) 0x0f
_LIEF_EI(LANG_INDONESIAN) 0x21
_LIEF_EI(LANG_ITALIAN) 0x10
_LIEF_EI(LANG_JAPANESE) 0x11
_LIEF_EI(LANG_KANNADA) 0x4b
_LIEF_EI(LANG_KASHMIRI) 0x60
_LIEF_EI(LANG_KAZAK) 0x3f
_LIEF_EI(LANG_KONKANI) 0x57
_LIEF_EI(LANG_KOREAN) 0x12
_LIEF_EI(LANG_KYRGYZ) 0x40
_LIEF_EI(LANG_LATVIAN) 0x26
_LIEF_EI(LANG_LITHUANIAN) 0x27
_LIEF_EI(LANG_MACEDONIAN) 0x2f
_LIEF_EI(LANG_MALAY) 0x3e
_LIEF_EI(LANG_MALAYALAM) 0x4c
_LIEF_EI(LANG_MANIPURI) 0x58
_LIEF_EI(LANG_MARATHI) 0x4e
_LIEF_EI(LANG_MONGOLIAN) 0x50
_LIEF_EI(LANG_NEPALI) 0x61
_LIEF_EI(LANG_NORWEGIAN) 0x14
_LIEF_EI(LANG_ORIYA) 0x48
_LIEF_EI(LANG_POLISH) 0x15
_LIEF_EI(LANG_PORTUGUESE) 0x16
_LIEF_EI(LANG_PUNJABI) 0x46
_LIEF_EI(LANG_ROMANIAN) 0x18
_LIEF_EI(LANG_RUSSIAN) 0x19
_LIEF_EI(LANG_SANSKRIT) 0x4f
_LIEF_EI(LANG_SERBIAN) 0x1a
_LIEF_EI(LANG_SINDHI) 0x59
_LIEF_EI(LANG_SLOVAK) 0x1b
_LIEF_EI(LANG_SLOVENIAN) 0x24
_LIEF_EI(LANG_SPANISH) 0x0a
_LIEF_EI(LANG_SWAHILI) 0x41
_LIEF_EI(LANG_SWEDISH) 0x1d
_LIEF_EI(LANG_SYRIAC) 0x5a
_LIEF_EI(LANG_TAMIL) 0x49
_LIEF_EI(LANG_TATAR) 0x44
_LIEF_EI(LANG_TELUGU) 0x4a
_LIEF_EI(LANG_THAI) 0x1e
_LIEF_EI(LANG_TURKISH) 0x1f
_LIEF_EI(LANG_UKRAINIAN) 0x22
_LIEF_EI(LANG_URDU) 0x20
_LIEF_EI(LANG_UZBEK) 0x43
_LIEF_EI(LANG_VIETNAMESE) 0x2a
_LIEF_EI(LANG_GAELIC) 0x3c
_LIEF_EI(LANG_MALTESE) 0x3a
_LIEF_EI(LANG_MAORI) 0x28
_LIEF_EI(LANG_RHAETO_ROMANCE) 0x17
_LIEF_EI(LANG_SAMI) 0x3b
_LIEF_EI(LANG_SORBIAN) 0x2e
_LIEF_EI(LANG_SUTU) 0x30
_LIEF_EI(LANG_TSONGA) 0x31
_LIEF_EI(LANG_TSWANA) 0x32
_LIEF_EI(LANG_VENDA) 0x33
_LIEF_EI(LANG_XHOSA) 0x34
_LIEF_EI(LANG_ZULU) 0x35
_LIEF_EI(LANG_ESPERANTO) 0x8f
_LIEF_EI(LANG_WALON) 0x90
_LIEF_EI(LANG_CORNISH) 0x91
_LIEF_EI(LANG_WELSH) 0x92
_LIEF_EI(LANG_BRETON) 0x93
_LIEF_EI(LANG_INUKTITUT) 0x5d
_LIEF_EI(LANG_IRISH) 0x3C
_LIEF_EI(LANG_LOWER_SORBIAN) 0x2E
_LIEF_EI(LANG_PULAR) 0x67
_LIEF_EI(LANG_QUECHUA) 0x6B
_LIEF_EI(LANG_TAMAZIGHT) 0x5F
_LIEF_EI(LANG_TIGRINYA) 0x73
_LIEF_EI(LANG_VALENCIAN) 0x03
_LIEF_EI(SUBLANG_AFRIKAANS_SOUTH_AFRICA)
_LIEF_EI(SUBLANG_ALBANIAN_ALBANIA)
_LIEF_EI(SUBLANG_ALSATIAN_FRANCE)
_LIEF_EI(SUBLANG_AMHARIC_ETHIOPIA)
_LIEF_EI(SUBLANG_ARABIC_ALGERIA)
_LIEF_EI(SUBLANG_ARABIC_BAHRAIN)
_LIEF_EI(SUBLANG_ARABIC_EGYPT)
_LIEF_EI(SUBLANG_ARABIC_IRAQ)
_LIEF_EI(SUBLANG_ARABIC_JORDAN)
_LIEF_EI(SUBLANG_ARABIC_KUWAIT)
_LIEF_EI(SUBLANG_ARABIC_LEBANON)
_LIEF_EI(SUBLANG_ARABIC_LIBYA)
_LIEF_EI(SUBLANG_ARABIC_MOROCCO)
_LIEF_EI(SUBLANG_ARABIC_OMAN)
_LIEF_EI(SUBLANG_ARABIC_QATAR)
_LIEF_EI(SUBLANG_ARABIC_SAUDI_ARABIA)
_LIEF_EI(SUBLANG_ARABIC_SYRIA)
_LIEF_EI(SUBLANG_ARABIC_TUNISIA)
_LIEF_EI(SUBLANG_ARABIC_UAE)
_LIEF_EI(SUBLANG_ARABIC_YEMEN)
_LIEF_EI(SUBLANG_ARMENIAN_ARMENIA)
_LIEF_EI(SUBLANG_ASSAMESE_INDIA)
_LIEF_EI(SUBLANG_AZERI_CYRILLIC)
_LIEF_EI(SUBLANG_AZERI_LATIN)
_LIEF_EI(SUBLANG_BASHKIR_RUSSIA)
_LIEF_EI(SUBLANG_BASQUE_BASQUE)
_LIEF_EI(SUBLANG_BELARUSIAN_BELARUS)
_LIEF_EI(SUBLANG_BANGLA_BANGLADESH)
_LIEF_EI(SUBLANG_BANGLA_INDIA)
_LIEF_EI(SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC)
_LIEF_EI(SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN)
_LIEF_EI(SUBLANG_BRETON_FRANCE)
_LIEF_EI(SUBLANG_BULGARIAN_BULGARIA)
_LIEF_EI(SUBLANG_CATALAN_CATALAN)
_LIEF_EI(SUBLANG_CHINESE_HONGKONG)
_LIEF_EI(SUBLANG_CHINESE_MACAU)
_LIEF_EI(SUBLANG_CHINESE_SIMPLIFIED)
_LIEF_EI(SUBLANG_CHINESE_SINGAPORE)
_LIEF_EI(SUBLANG_CHINESE_TRADITIONAL)
_LIEF_EI(SUBLANG_CORSICAN_FRANCE)
_LIEF_EI(SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN)
_LIEF_EI(SUBLANG_CROATIAN_CROATIA)
_LIEF_EI(SUBLANG_CUSTOM_DEFAULT)
_LIEF_EI(SUBLANG_CUSTOM_UNSPECIFIED)
_LIEF_EI(SUBLANG_CZECH_CZECH_REPUBLIC)
_LIEF_EI(SUBLANG_DANISH_DENMARK)
_LIEF_EI(SUBLANG_DARI_AFGHANISTAN)
_LIEF_EI(SUBLANG_DEFAULT)
_LIEF_EI(SUBLANG_DIVEHI_MALDIVES)
_LIEF_EI(SUBLANG_DUTCH_BELGIAN)
_LIEF_EI(SUBLANG_DUTCH)
_LIEF_EI(SUBLANG_ENGLISH_AUS)
_LIEF_EI(SUBLANG_ENGLISH_BELIZE)
_LIEF_EI(SUBLANG_ENGLISH_CAN)
_LIEF_EI(SUBLANG_ENGLISH_CARIBBEAN)
_LIEF_EI(SUBLANG_ENGLISH_EIRE)
_LIEF_EI(SUBLANG_ENGLISH_INDIA)
_LIEF_EI(SUBLANG_ENGLISH_JAMAICA)
_LIEF_EI(SUBLANG_ENGLISH_MALAYSIA)
_LIEF_EI(SUBLANG_ENGLISH_NZ)
_LIEF_EI(SUBLANG_ENGLISH_PHILIPPINES)
_LIEF_EI(SUBLANG_ENGLISH_SINGAPORE)
_LIEF_EI(SUBLANG_ENGLISH_SOUTH_AFRICA)
_LIEF_EI(SUBLANG_ENGLISH_TRINIDAD)
_LIEF_EI(SUBLANG_ENGLISH_UK)
_LIEF_EI(SUBLANG_ENGLISH_US)
_LIEF_EI(SUBLANG_ENGLISH_ZIMBABWE)
_LIEF_EI(SUBLANG_ENGLISH_IRELAND)
_LIEF_EI(SUBLANG_ESTONIAN_ESTONIA)
_LIEF_EI(SUBLANG_FAEROESE_FAROE_ISLANDS)
_LIEF_EI(SUBLANG_FILIPINO_PHILIPPINES)
_LIEF_EI(SUBLANG_FINNISH_FINLAND)
_LIEF_EI(SUBLANG_FRENCH_BELGIAN)
_LIEF_EI(SUBLANG_FRENCH_CANADIAN)
_LIEF_EI(SUBLANG_FRENCH_LUXEMBOURG)
_LIEF_EI(SUBLANG_FRENCH_MONACO)
_LIEF_EI(SUBLANG_FRENCH_SWISS)
_LIEF_EI(SUBLANG_FRENCH)
_LIEF_EI(SUBLANG_FRISIAN_NETHERLANDS)
_LIEF_EI(SUBLANG_GALICIAN_GALICIAN)
_LIEF_EI(SUBLANG_GEORGIAN_GEORGIA)
_LIEF_EI(SUBLANG_GERMAN_AUSTRIAN)
_LIEF_EI(SUBLANG_GERMAN_LIECHTENSTEIN)
_LIEF_EI(SUBLANG_GERMAN_LUXEMBOURG)
_LIEF_EI(SUBLANG_GERMAN_SWISS)
_LIEF_EI(SUBLANG_GERMAN)
_LIEF_EI(SUBLANG_GREEK_GREECE)
_LIEF_EI(SUBLANG_GREENLANDIC_GREENLAND)
_LIEF_EI(SUBLANG_GUJARATI_INDIA)
_LIEF_EI(SUBLANG_HAUSA_NIGERIA_LATIN)
_LIEF_EI(SUBLANG_HEBREW_ISRAEL)
_LIEF_EI(SUBLANG_HINDI_INDIA)
_LIEF_EI(SUBLANG_HUNGARIAN_HUNGARY)
_LIEF_EI(SUBLANG_ICELANDIC_ICELAND)
_LIEF_EI(SUBLANG_IGBO_NIGERIA)
_LIEF_EI(SUBLANG_INDONESIAN_INDONESIA)
_LIEF_EI(SUBLANG_INUKTITUT_CANADA_LATIN)
_LIEF_EI(SUBLANG_INUKTITUT_CANADA)
_LIEF_EI(SUBLANG_IRISH_IRELAND)
_LIEF_EI(SUBLANG_ITALIAN_SWISS)
_LIEF_EI(SUBLANG_ITALIAN)
_LIEF_EI(SUBLANG_JAPANESE_JAPAN)
_LIEF_EI(SUBLANG_KANNADA_INDIA)
_LIEF_EI(SUBLANG_KASHMIRI_INDIA)
_LIEF_EI(SUBLANG_KASHMIRI_SASIA)
_LIEF_EI(SUBLANG_KAZAK_KAZAKHSTAN)
_LIEF_EI(SUBLANG_KHMER_CAMBODIA)
_LIEF_EI(SUBLANG_KICHE_GUATEMALA)
_LIEF_EI(SUBLANG_KINYARWANDA_RWANDA)
_LIEF_EI(SUBLANG_KONKANI_INDIA)
_LIEF_EI(SUBLANG_KOREAN)
_LIEF_EI(SUBLANG_KYRGYZ_KYRGYZSTAN)
_LIEF_EI(SUBLANG_LAO_LAO)
_LIEF_EI(SUBLANG_LATVIAN_LATVIA)
_LIEF_EI(SUBLANG_LITHUANIAN_CLASSIC)
_LIEF_EI(SUBLANG_LITHUANIAN)
_LIEF_EI(SUBLANG_LOWER_SORBIAN_GERMANY)
_LIEF_EI(SUBLANG_LUXEMBOURGISH_LUXEMBOURG)
_LIEF_EI(SUBLANG_MACEDONIAN_MACEDONIA)
_LIEF_EI(SUBLANG_MALAY_BRUNEI_DARUSSALAM)
_LIEF_EI(SUBLANG_MALAY_MALAYSIA)
_LIEF_EI(SUBLANG_MALAYALAM_INDIA)
_LIEF_EI(SUBLANG_MALTESE_MALTA)
_LIEF_EI(SUBLANG_MAORI_NEW_ZEALAND)
_LIEF_EI(SUBLANG_MAPUDUNGUN_CHILE)
_LIEF_EI(SUBLANG_MARATHI_INDIA)
_LIEF_EI(SUBLANG_MOHAWK_MOHAWK)
_LIEF_EI(SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA)
_LIEF_EI(SUBLANG_MONGOLIAN_PRC)
_LIEF_EI(SUBLANG_NEPALI_INDIA)
_LIEF_EI(SUBLANG_NEPALI_NEPAL)
_LIEF_EI(SUBLANG_NEUTRAL)
_LIEF_EI(SUBLANG_NORWEGIAN_BOKMAL)
_LIEF_EI(SUBLANG_NORWEGIAN_NYNORSK)
_LIEF_EI(SUBLANG_OCCITAN_FRANCE)
_LIEF_EI(SUBLANG_ORIYA_INDIA)
_LIEF_EI(SUBLANG_PASHTO_AFGHANISTAN)
_LIEF_EI(SUBLANG_PERSIAN_IRAN)
_LIEF_EI(SUBLANG_POLISH_POLAND)
_LIEF_EI(SUBLANG_PORTUGUESE_BRAZILIAN)
_LIEF_EI(SUBLANG_PORTUGUESE)
_LIEF_EI(SUBLANG_PUNJABI_INDIA)
_LIEF_EI(SUBLANG_QUECHUA_BOLIVIA)
_LIEF_EI(SUBLANG_QUECHUA_ECUADOR)
_LIEF_EI(SUBLANG_QUECHUA_PERU)
_LIEF_EI(SUBLANG_ROMANIAN_ROMANIA)
_LIEF_EI(SUBLANG_ROMANSH_SWITZERLAND)
_LIEF_EI(SUBLANG_RUSSIAN_RUSSIA)
_LIEF_EI(SUBLANG_SAMI_INARI_FINLAND)
_LIEF_EI(SUBLANG_SAMI_LULE_NORWAY)
_LIEF_EI(SUBLANG_SAMI_LULE_SWEDEN)
_LIEF_EI(SUBLANG_SAMI_NORTHERN_FINLAND)
_LIEF_EI(SUBLANG_SAMI_NORTHERN_NORWAY)
_LIEF_EI(SUBLANG_SAMI_NORTHERN_SWEDEN)
_LIEF_EI(SUBLANG_SAMI_SKOLT_FINLAND)
_LIEF_EI(SUBLANG_SAMI_SOUTHERN_NORWAY)
_LIEF_EI(SUBLANG_SAMI_SOUTHERN_SWEDEN)
_LIEF_EI(SUBLANG_SANSKRIT_INDIA)
_LIEF_EI(SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC)
_LIEF_EI(SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN)
_LIEF_EI(SUBLANG_SERBIAN_CROATIA)
_LIEF_EI(SUBLANG_SERBIAN_CYRILLIC)
_LIEF_EI(SUBLANG_SERBIAN_LATIN)
_LIEF_EI(SUBLANG_SINDHI_AFGHANISTAN)
_LIEF_EI(SUBLANG_SINDHI_INDIA)
_LIEF_EI(SUBLANG_SINDHI_PAKISTAN)
_LIEF_EI(SUBLANG_SINHALESE_SRI_LANKA)
_LIEF_EI(SUBLANG_SLOVAK_SLOVAKIA)
_LIEF_EI(SUBLANG_SLOVENIAN_SLOVENIA)
_LIEF_EI(SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA)
_LIEF_EI(SUBLANG_SPANISH_ARGENTINA)
_LIEF_EI(SUBLANG_SPANISH_BOLIVIA)
_LIEF_EI(SUBLANG_SPANISH_CHILE)
_LIEF_EI(SUBLANG_SPANISH_COLOMBIA)
_LIEF_EI(SUBLANG_SPANISH_COSTA_RICA)
_LIEF_EI(SUBLANG_SPANISH_DOMINICAN_REPUBLIC)
_LIEF_EI(SUBLANG_SPANISH_ECUADOR)
_LIEF_EI(SUBLANG_SPANISH_EL_SALVADOR)
_LIEF_EI(SUBLANG_SPANISH_GUATEMALA)
_LIEF_EI(SUBLANG_SPANISH_HONDURAS)
_LIEF_EI(SUBLANG_SPANISH_MEXICAN)
_LIEF_EI(SUBLANG_SPANISH_MODERN)
_LIEF_EI(SUBLANG_SPANISH_NICARAGUA)
_LIEF_EI(SUBLANG_SPANISH_PANAMA)
_LIEF_EI(SUBLANG_SPANISH_PARAGUAY)
_LIEF_EI(SUBLANG_SPANISH_PERU)
_LIEF_EI(SUBLANG_SPANISH_PUERTO_RICO)
_LIEF_EI(SUBLANG_SPANISH_URUGUAY)
_LIEF_EI(SUBLANG_SPANISH_US)
_LIEF_EI(SUBLANG_SPANISH_VENEZUELA)
_LIEF_EI(SUBLANG_SPANISH)
_LIEF_EI(SUBLANG_SWAHILI_KENYA)
_LIEF_EI(SUBLANG_SWEDISH_FINLAND)
_LIEF_EI(SUBLANG_SWEDISH)
_LIEF_EI(SUBLANG_SYRIAC_SYRIA)
_LIEF_EI(SUBLANG_SYS_DEFAULT)
_LIEF_EI(SUBLANG_TAJIK_TAJIKISTAN)
_LIEF_EI(SUBLANG_TAMAZIGHT_ALGERIA_LATIN)
_LIEF_EI(SUBLANG_TAMIL_INDIA)
_LIEF_EI(SUBLANG_TATAR_RUSSIA)
_LIEF_EI(SUBLANG_TELUGU_INDIA)
_LIEF_EI(SUBLANG_THAI_THAILAND)
_LIEF_EI(SUBLANG_TIBETAN_PRC)
_LIEF_EI(SUBLANG_TIGRIGNA_ERITREA)
_LIEF_EI(SUBLANG_TSWANA_SOUTH_AFRICA)
_LIEF_EI(SUBLANG_TURKISH_TURKEY)
_LIEF_EI(SUBLANG_TURKMEN_TURKMENISTAN)
_LIEF_EI(SUBLANG_UI_CUSTOM_DEFAULT)
_LIEF_EI(SUBLANG_UIGHUR_PRC)
_LIEF_EI(SUBLANG_UKRAINIAN_UKRAINE)
_LIEF_EI(SUBLANG_UPPER_SORBIAN_GERMANY)
_LIEF_EI(SUBLANG_URDU_INDIA)
_LIEF_EI(SUBLANG_URDU_PAKISTAN)
_LIEF_EI(SUBLANG_UZBEK_CYRILLIC)
_LIEF_EI(SUBLANG_UZBEK_LATIN)
_LIEF_EI(SUBLANG_VIETNAMESE_VIETNAM)
_LIEF_EI(SUBLANG_WELSH_UNITED_KINGDOM)
_LIEF_EI(SUBLANG_WOLOF_SENEGAL)
_LIEF_EI(SUBLANG_XHOSA_SOUTH_AFRICA)
_LIEF_EI(SUBLANG_YAKUT_RUSSIA)
_LIEF_EI(SUBLANG_YI_PRC)
_LIEF_EI(SUBLANG_YORUBA_NIGERIA)
_LIEF_EI(SUBLANG_ZULU_SOUTH_AFRICA)
_LIEF_EI(SUBLANG_PULAR_SENEGAL)
_LIEF_EI(SUBLANG_PUNJABI_PAKISTAN)
_LIEF_EI(SUBLANG_TSWANA_BOTSWANA)
_LIEF_EI(SUBLANG_TAMIL_SRI_LANKA)
_LIEF_EI(SUBLANG_TIGRINYA_ETHIOPIA)
_LIEF_EI(SUBLANG_TIGRINYA_ERITREA)
_LIEF_EI(SUBLANG_VALENCIAN_VALENCIA)
import json
def create_lang_code_json():
with open("ntdefs_lang.txt", "r") as fin:
ntdefs = {hex(int(line.split()[1], 16)): line.split()[0] for line in fin.readlines()}
with open("liefdefs_lang.txt", "r") as fin:
liefdefs = dict()
for line in fin.readlines():
key, value = line.split()
key = key[9:]
key = key[:-1]
liefdefs[hex(int(value, 16))] = key
with open("ntdefs_lang.json", "w") as fout:
json.dump(ntdefs, fout)
with open("liefdefs_lang.json", "w") as fout:
json.dump(liefdefs, fout)
def check_sublang_code():
with open("ntdefs_sublang.txt", "r") as fin:
ntdefs = set(line.split()[0] for line in fin.readlines())
with open("liefdefs_sublang.txt", "r") as fin:
liefdefs = set()
for line in fin.readlines():
line = line.split()[0]
line = line[9:]
line = line[:-1]
liefdefs.add(line)
print("only contained in ntdefs: ", ntdefs - liefdefs)
print("only contained in liefdefs: ", liefdefs - ntdefs)
def _main():
create_lang_code_json()
check_sublang_code()
if __name__ == "__main__":
_main()
LANG_NEUTRAL 0x00
LANG_INVARIANT 0x7f
LANG_AFRIKAANS 0x36
LANG_ALBANIAN 0x1c
LANG_ALSATIAN 0x84
LANG_AMHARIC 0x5e
LANG_ARABIC 0x01
LANG_ARMENIAN 0x2b
LANG_ASSAMESE 0x4d
LANG_AZERI 0x2c // for Azerbaijani, LANG_AZERBAIJANI is preferred
LANG_AZERBAIJANI 0x2c
LANG_BANGLA 0x45
LANG_BASHKIR 0x6d
LANG_BASQUE 0x2d
LANG_BELARUSIAN 0x23
LANG_BENGALI 0x45 // Some prefer to use LANG_BANGLA
LANG_BRETON 0x7e
LANG_BOSNIAN 0x1a // Use with SUBLANG_BOSNIAN_* Sublanguage IDs
LANG_BOSNIAN_NEUTRAL 0x781a // Use with the ConvertDefaultLocale function
LANG_BULGARIAN 0x02
LANG_CATALAN 0x03
LANG_CENTRAL_KURDISH 0x92
LANG_CHEROKEE 0x5c
LANG_CHINESE 0x04 // Use with SUBLANG_CHINESE_* Sublanguage IDs
LANG_CHINESE_SIMPLIFIED 0x04 // Use with the ConvertDefaultLocale function
LANG_CHINESE_TRADITIONAL 0x7c04 // Use with the ConvertDefaultLocale function
LANG_CORSICAN 0x83
LANG_CROATIAN 0x1a
LANG_CZECH 0x05
LANG_DANISH 0x06
LANG_DARI 0x8c
LANG_DIVEHI 0x65
LANG_DUTCH 0x13
LANG_ENGLISH 0x09
LANG_ESTONIAN 0x25
LANG_FAEROESE 0x38
LANG_FARSI 0x29 // Deprecated: use LANG_PERSIAN instead
LANG_FILIPINO 0x64
LANG_FINNISH 0x0b
LANG_FRENCH 0x0c
LANG_FRISIAN 0x62
LANG_FULAH 0x67
LANG_GALICIAN 0x56
LANG_GEORGIAN 0x37
LANG_GERMAN 0x07
LANG_GREEK 0x08
LANG_GREENLANDIC 0x6f
LANG_GUJARATI 0x47
LANG_HAUSA 0x68
LANG_HAWAIIAN 0x75
LANG_HEBREW 0x0d
LANG_HINDI 0x39
LANG_HUNGARIAN 0x0e
LANG_ICELANDIC 0x0f
LANG_IGBO 0x70
LANG_INDONESIAN 0x21
LANG_INUKTITUT 0x5d
LANG_IRISH 0x3c // Use with the SUBLANG_IRISH_IRELAND Sublanguage ID
LANG_ITALIAN 0x10
LANG_JAPANESE 0x11
LANG_KANNADA 0x4b
LANG_KASHMIRI 0x60
LANG_KAZAK 0x3f
LANG_KHMER 0x53
LANG_KICHE 0x86
LANG_KINYARWANDA 0x87
LANG_KONKANI 0x57
LANG_KOREAN 0x12
LANG_KYRGYZ 0x40
LANG_LAO 0x54
LANG_LATVIAN 0x26
LANG_LITHUANIAN 0x27
LANG_LOWER_SORBIAN 0x2e
LANG_LUXEMBOURGISH 0x6e
LANG_MACEDONIAN 0x2f // the Former Yugoslav Republic of Macedonia
LANG_MALAY 0x3e
LANG_MALAYALAM 0x4c
LANG_MALTESE 0x3a
LANG_MANIPURI 0x58
LANG_MAORI 0x81
LANG_MAPUDUNGUN 0x7a
LANG_MARATHI 0x4e
LANG_MOHAWK 0x7c
LANG_MONGOLIAN 0x50
LANG_NEPALI 0x61
LANG_NORWEGIAN 0x14
LANG_OCCITAN 0x82
LANG_ODIA 0x48
LANG_ORIYA 0x48 // Deprecated: use LANG_ODIA, instead.
LANG_PASHTO 0x63
LANG_PERSIAN 0x29
LANG_POLISH 0x15
LANG_PORTUGUESE 0x16
LANG_PULAR 0x67 // Deprecated: use LANG_FULAH instead
LANG_PUNJABI 0x46
LANG_QUECHUA 0x6b
LANG_ROMANIAN 0x18
LANG_ROMANSH 0x17
LANG_RUSSIAN 0x19
LANG_SAKHA 0x85
LANG_SAMI 0x3b
LANG_SANSKRIT 0x4f
LANG_SCOTTISH_GAELIC 0x91
LANG_SERBIAN 0x1a // Use with the SUBLANG_SERBIAN_* Sublanguage IDs
LANG_SERBIAN_NEUTRAL 0x7c1a // Use with the ConvertDefaultLocale function
LANG_SINDHI 0x59
LANG_SINHALESE 0x5b
LANG_SLOVAK 0x1b
LANG_SLOVENIAN 0x24
LANG_SOTHO 0x6c
LANG_SPANISH 0x0a
LANG_SWAHILI 0x41
LANG_SWEDISH 0x1d
LANG_SYRIAC 0x5a
LANG_TAJIK 0x28
LANG_TAMAZIGHT 0x5f
LANG_TAMIL 0x49
LANG_TATAR 0x44
LANG_TELUGU 0x4a
LANG_THAI 0x1e
LANG_TIBETAN 0x51
LANG_TIGRIGNA 0x73
LANG_TIGRINYA 0x73 // Preferred spelling in locale
LANG_TSWANA 0x32
LANG_TURKISH 0x1f
LANG_TURKMEN 0x42
LANG_UIGHUR 0x80
LANG_UKRAINIAN 0x22
LANG_UPPER_SORBIAN 0x2e
LANG_URDU 0x20
LANG_UZBEK 0x43
LANG_VALENCIAN 0x03
LANG_VIETNAMESE 0x2a
LANG_WELSH 0x52
LANG_WOLOF 0x88
LANG_XHOSA 0x34
LANG_YAKUT 0x85 // Deprecated: use LANG_SAKHA,instead
LANG_YI 0x78
LANG_YORUBA 0x6a
LANG_ZULU 0x35
SUBLANG_NEUTRAL 0x00 // language neutral
SUBLANG_DEFAULT 0x01 // user default
SUBLANG_SYS_DEFAULT 0x02 // system default
SUBLANG_CUSTOM_DEFAULT 0x03 // default custom language/locale
SUBLANG_CUSTOM_UNSPECIFIED 0x04 // custom language/locale
SUBLANG_UI_CUSTOM_DEFAULT 0x05 // Default custom MUI language/locale
SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01 // Afrikaans (South Africa) 0x0436 af-ZA
SUBLANG_ALBANIAN_ALBANIA 0x01 // Albanian (Albania) 0x041c sq-AL
SUBLANG_ALSATIAN_FRANCE 0x01 // Alsatian (France) 0x0484
SUBLANG_AMHARIC_ETHIOPIA 0x01 // Amharic (Ethiopia) 0x045e
SUBLANG_ARABIC_SAUDI_ARABIA 0x01 // Arabic (Saudi Arabia)
SUBLANG_ARABIC_IRAQ 0x02 // Arabic (Iraq)
SUBLANG_ARABIC_EGYPT 0x03 // Arabic (Egypt)
SUBLANG_ARABIC_LIBYA 0x04 // Arabic (Libya)
SUBLANG_ARABIC_ALGERIA 0x05 // Arabic (Algeria)
SUBLANG_ARABIC_MOROCCO 0x06 // Arabic (Morocco)
SUBLANG_ARABIC_TUNISIA 0x07 // Arabic (Tunisia)
SUBLANG_ARABIC_OMAN 0x08 // Arabic (Oman)
SUBLANG_ARABIC_YEMEN 0x09 // Arabic (Yemen)
SUBLANG_ARABIC_SYRIA 0x0a // Arabic (Syria)
SUBLANG_ARABIC_JORDAN 0x0b // Arabic (Jordan)
SUBLANG_ARABIC_LEBANON 0x0c // Arabic (Lebanon)
SUBLANG_ARABIC_KUWAIT 0x0d // Arabic (Kuwait)
SUBLANG_ARABIC_UAE 0x0e // Arabic (U.A.E)
SUBLANG_ARABIC_BAHRAIN 0x0f // Arabic (Bahrain)
SUBLANG_ARABIC_QATAR 0x10 // Arabic (Qatar)
SUBLANG_ARMENIAN_ARMENIA 0x01 // Armenian (Armenia) 0x042b hy-AM
SUBLANG_ASSAMESE_INDIA 0x01 // Assamese (India) 0x044d
SUBLANG_AZERI_LATIN 0x01 // Azeri (Latin) - for Azerbaijani, SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN preferred
SUBLANG_AZERI_CYRILLIC 0x02 // Azeri (Cyrillic) - for Azerbaijani, SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC preferred
SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN 0x01 // Azerbaijani (Azerbaijan, Latin)
SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC 0x02 // Azerbaijani (Azerbaijan, Cyrillic)
SUBLANG_BANGLA_INDIA 0x01 // Bangla (India)
SUBLANG_BANGLA_BANGLADESH 0x02 // Bangla (Bangladesh)
SUBLANG_BASHKIR_RUSSIA 0x01 // Bashkir (Russia) 0x046d ba-RU
SUBLANG_BASQUE_BASQUE 0x01 // Basque (Basque) 0x042d eu-ES
SUBLANG_BELARUSIAN_BELARUS 0x01 // Belarusian (Belarus) 0x0423 be-BY
SUBLANG_BENGALI_INDIA 0x01 // Bengali (India) - Note some prefer SUBLANG_BANGLA_INDIA
SUBLANG_BENGALI_BANGLADESH 0x02 // Bengali (Bangladesh) - Note some prefer SUBLANG_BANGLA_BANGLADESH
SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05 // Bosnian (Bosnia and Herzegovina - Latin) 0x141a bs-BA-Latn
SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08 // Bosnian (Bosnia and Herzegovina - Cyrillic) 0x201a bs-BA-Cyrl
SUBLANG_BRETON_FRANCE 0x01 // Breton (France) 0x047e
SUBLANG_BULGARIAN_BULGARIA 0x01 // Bulgarian (Bulgaria) 0x0402
SUBLANG_CATALAN_CATALAN 0x01 // Catalan (Catalan) 0x0403
SUBLANG_CENTRAL_KURDISH_IRAQ 0x01 // Central Kurdish (Iraq) 0x0492 ku-Arab-IQ
SUBLANG_CHEROKEE_CHEROKEE 0x01 // Cherokee (Cherokee) 0x045c chr-Cher-US
SUBLANG_CHINESE_TRADITIONAL 0x01 // Chinese (Taiwan) 0x0404 zh-TW
SUBLANG_CHINESE_SIMPLIFIED 0x02 // Chinese (PR China) 0x0804 zh-CN
SUBLANG_CHINESE_HONGKONG 0x03 // Chinese (Hong Kong S.A.R., P.R.C.) 0x0c04 zh-HK
SUBLANG_CHINESE_SINGAPORE 0x04 // Chinese (Singapore) 0x1004 zh-SG
SUBLANG_CHINESE_MACAU 0x05 // Chinese (Macau S.A.R.) 0x1404 zh-MO
SUBLANG_CORSICAN_FRANCE 0x01 // Corsican (France) 0x0483
SUBLANG_CZECH_CZECH_REPUBLIC 0x01 // Czech (Czech Republic) 0x0405
SUBLANG_CROATIAN_CROATIA 0x01 // Croatian (Croatia)
SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 // Croatian (Bosnia and Herzegovina - Latin) 0x101a hr-BA
SUBLANG_DANISH_DENMARK 0x01 // Danish (Denmark) 0x0406
SUBLANG_DARI_AFGHANISTAN 0x01 // Dari (Afghanistan)
SUBLANG_DIVEHI_MALDIVES 0x01 // Divehi (Maldives) 0x0465 div-MV
SUBLANG_DUTCH 0x01 // Dutch
SUBLANG_DUTCH_BELGIAN 0x02 // Dutch (Belgian)
SUBLANG_ENGLISH_US 0x01 // English (USA)
SUBLANG_ENGLISH_UK 0x02 // English (UK)
SUBLANG_ENGLISH_AUS 0x03 // English (Australian)
SUBLANG_ENGLISH_CAN 0x04 // English (Canadian)
SUBLANG_ENGLISH_NZ 0x05 // English (New Zealand)
SUBLANG_ENGLISH_EIRE 0x06 // English (Irish)
SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 // English (South Africa)
SUBLANG_ENGLISH_JAMAICA 0x08 // English (Jamaica)
SUBLANG_ENGLISH_CARIBBEAN 0x09 // English (Caribbean)
SUBLANG_ENGLISH_BELIZE 0x0a // English (Belize)
SUBLANG_ENGLISH_TRINIDAD 0x0b // English (Trinidad)
SUBLANG_ENGLISH_ZIMBABWE 0x0c // English (Zimbabwe)
SUBLANG_ENGLISH_PHILIPPINES 0x0d // English (Philippines)
SUBLANG_ENGLISH_INDIA 0x10 // English (India)
SUBLANG_ENGLISH_MALAYSIA 0x11 // English (Malaysia)
SUBLANG_ENGLISH_SINGAPORE 0x12 // English (Singapore)
SUBLANG_ESTONIAN_ESTONIA 0x01 // Estonian (Estonia) 0x0425 et-EE
SUBLANG_FAEROESE_FAROE_ISLANDS 0x01 // Faroese (Faroe Islands) 0x0438 fo-FO
SUBLANG_FILIPINO_PHILIPPINES 0x01 // Filipino (Philippines) 0x0464 fil-PH
SUBLANG_FINNISH_FINLAND 0x01 // Finnish (Finland) 0x040b
SUBLANG_FRENCH 0x01 // French
SUBLANG_FRENCH_BELGIAN 0x02 // French (Belgian)
SUBLANG_FRENCH_CANADIAN 0x03 // French (Canadian)
SUBLANG_FRENCH_SWISS 0x04 // French (Swiss)
SUBLANG_FRENCH_LUXEMBOURG 0x05 // French (Luxembourg)
SUBLANG_FRENCH_MONACO 0x06 // French (Monaco)
SUBLANG_FRISIAN_NETHERLANDS 0x01 // Frisian (Netherlands) 0x0462 fy-NL
SUBLANG_FULAH_SENEGAL 0x02 // Fulah (Senegal) 0x0867 ff-Latn-SN
SUBLANG_GALICIAN_GALICIAN 0x01 // Galician (Galician) 0x0456 gl-ES
SUBLANG_GEORGIAN_GEORGIA 0x01 // Georgian (Georgia) 0x0437 ka-GE
SUBLANG_GERMAN 0x01 // German
SUBLANG_GERMAN_SWISS 0x02 // German (Swiss)
SUBLANG_GERMAN_AUSTRIAN 0x03 // German (Austrian)
SUBLANG_GERMAN_LUXEMBOURG 0x04 // German (Luxembourg)
SUBLANG_GERMAN_LIECHTENSTEIN 0x05 // German (Liechtenstein)
SUBLANG_GREEK_GREECE 0x01 // Greek (Greece)
SUBLANG_GREENLANDIC_GREENLAND 0x01 // Greenlandic (Greenland) 0x046f kl-GL
SUBLANG_GUJARATI_INDIA 0x01 // Gujarati (India (Gujarati Script)) 0x0447 gu-IN
SUBLANG_HAUSA_NIGERIA_LATIN 0x01 // Hausa (Latin, Nigeria) 0x0468 ha-NG-Latn
SUBLANG_HAWAIIAN_US 0x01 // Hawiian (US) 0x0475 haw-US
SUBLANG_HEBREW_ISRAEL 0x01 // Hebrew (Israel) 0x040d
SUBLANG_HINDI_INDIA 0x01 // Hindi (India) 0x0439 hi-IN
SUBLANG_HUNGARIAN_HUNGARY 0x01 // Hungarian (Hungary) 0x040e
SUBLANG_ICELANDIC_ICELAND 0x01 // Icelandic (Iceland) 0x040f
SUBLANG_IGBO_NIGERIA 0x01 // Igbo (Nigeria) 0x0470 ig-NG
SUBLANG_INDONESIAN_INDONESIA 0x01 // Indonesian (Indonesia) 0x0421 id-ID
SUBLANG_INUKTITUT_CANADA 0x01 // Inuktitut (Syllabics) (Canada) 0x045d iu-CA-Cans
SUBLANG_INUKTITUT_CANADA_LATIN 0x02 // Inuktitut (Canada - Latin)
SUBLANG_IRISH_IRELAND 0x02 // Irish (Ireland)
SUBLANG_ITALIAN 0x01 // Italian
SUBLANG_ITALIAN_SWISS 0x02 // Italian (Swiss)
SUBLANG_JAPANESE_JAPAN 0x01 // Japanese (Japan) 0x0411
SUBLANG_KANNADA_INDIA 0x01 // Kannada (India (Kannada Script)) 0x044b kn-IN
SUBLANG_KASHMIRI_SASIA 0x02 // Kashmiri (South Asia)
SUBLANG_KASHMIRI_INDIA 0x02 // For app compatibility only
SUBLANG_KAZAK_KAZAKHSTAN 0x01 // Kazakh (Kazakhstan) 0x043f kk-KZ
SUBLANG_KHMER_CAMBODIA 0x01 // Khmer (Cambodia) 0x0453 kh-KH
SUBLANG_KICHE_GUATEMALA 0x01 // K'iche (Guatemala)
SUBLANG_KINYARWANDA_RWANDA 0x01 // Kinyarwanda (Rwanda) 0x0487 rw-RW
SUBLANG_KONKANI_INDIA 0x01 // Konkani (India) 0x0457 kok-IN
SUBLANG_KOREAN 0x01 // Korean (Extended Wansung)
SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 // Kyrgyz (Kyrgyzstan) 0x0440 ky-KG
SUBLANG_LAO_LAO 0x01 // Lao (Lao PDR) 0x0454 lo-LA
SUBLANG_LATVIAN_LATVIA 0x01 // Latvian (Latvia) 0x0426 lv-LV
SUBLANG_LITHUANIAN 0x01 // Lithuanian
SUBLANG_LOWER_SORBIAN_GERMANY 0x02 // Lower Sorbian (Germany) 0x082e wee-DE
SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 // Luxembourgish (Luxembourg) 0x046e lb-LU
SUBLANG_MACEDONIAN_MACEDONIA 0x01 // Macedonian (Macedonia (FYROM)) 0x042f mk-MK
SUBLANG_MALAY_MALAYSIA 0x01 // Malay (Malaysia)
SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 // Malay (Brunei Darussalam)
SUBLANG_MALAYALAM_INDIA 0x01 // Malayalam (India (Malayalam Script) ) 0x044c ml-IN
SUBLANG_MALTESE_MALTA 0x01 // Maltese (Malta) 0x043a mt-MT
SUBLANG_MAORI_NEW_ZEALAND 0x01 // Maori (New Zealand) 0x0481 mi-NZ
SUBLANG_MAPUDUNGUN_CHILE 0x01 // Mapudungun (Chile) 0x047a arn-CL
SUBLANG_MARATHI_INDIA 0x01 // Marathi (India) 0x044e mr-IN
SUBLANG_MOHAWK_MOHAWK 0x01 // Mohawk (Mohawk) 0x047c moh-CA
SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01 // Mongolian (Cyrillic, Mongolia)
SUBLANG_MONGOLIAN_PRC 0x02 // Mongolian (PRC)
SUBLANG_NEPALI_INDIA 0x02 // Nepali (India)
SUBLANG_NEPALI_NEPAL 0x01 // Nepali (Nepal) 0x0461 ne-NP
SUBLANG_NORWEGIAN_BOKMAL 0x01 // Norwegian (Bokmal)
SUBLANG_NORWEGIAN_NYNORSK 0x02 // Norwegian (Nynorsk)
SUBLANG_OCCITAN_FRANCE 0x01 // Occitan (France) 0x0482 oc-FR
SUBLANG_ODIA_INDIA 0x01 // Odia (India (Odia Script)) 0x0448 or-IN
SUBLANG_ORIYA_INDIA 0x01 // Deprecated: use SUBLANG_ODIA_INDIA instead
SUBLANG_PASHTO_AFGHANISTAN 0x01 // Pashto (Afghanistan)
SUBLANG_PERSIAN_IRAN 0x01 // Persian (Iran) 0x0429 fa-IR
SUBLANG_POLISH_POLAND 0x01 // Polish (Poland) 0x0415
SUBLANG_PORTUGUESE 0x02 // Portuguese
SUBLANG_PORTUGUESE_BRAZILIAN 0x01 // Portuguese (Brazil)
SUBLANG_PULAR_SENEGAL 0x02 // Deprecated: Use SUBLANG_FULAH_SENEGAL instead
SUBLANG_PUNJABI_INDIA 0x01 // Punjabi (India (Gurmukhi Script)) 0x0446 pa-IN
SUBLANG_PUNJABI_PAKISTAN 0x02 // Punjabi (Pakistan (Arabic Script)) 0x0846 pa-Arab-PK
SUBLANG_QUECHUA_BOLIVIA 0x01 // Quechua (Bolivia)
SUBLANG_QUECHUA_ECUADOR 0x02 // Quechua (Ecuador)
SUBLANG_QUECHUA_PERU 0x03 // Quechua (Peru)
SUBLANG_ROMANIAN_ROMANIA 0x01 // Romanian (Romania) 0x0418
SUBLANG_ROMANSH_SWITZERLAND 0x01 // Romansh (Switzerland) 0x0417 rm-CH
SUBLANG_RUSSIAN_RUSSIA 0x01 // Russian (Russia) 0x0419
SUBLANG_SAKHA_RUSSIA 0x01 // Sakha (Russia) 0x0485 sah-RU
SUBLANG_SAMI_NORTHERN_NORWAY 0x01 // Northern Sami (Norway)
SUBLANG_SAMI_NORTHERN_SWEDEN 0x02 // Northern Sami (Sweden)
SUBLANG_SAMI_NORTHERN_FINLAND 0x03 // Northern Sami (Finland)
SUBLANG_SAMI_LULE_NORWAY 0x04 // Lule Sami (Norway)
SUBLANG_SAMI_LULE_SWEDEN 0x05 // Lule Sami (Sweden)
SUBLANG_SAMI_SOUTHERN_NORWAY 0x06 // Southern Sami (Norway)
SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07 // Southern Sami (Sweden)
SUBLANG_SAMI_SKOLT_FINLAND 0x08 // Skolt Sami (Finland)
SUBLANG_SAMI_INARI_FINLAND 0x09 // Inari Sami (Finland)
SUBLANG_SANSKRIT_INDIA 0x01 // Sanskrit (India) 0x044f sa-IN
SUBLANG_SCOTTISH_GAELIC 0x01 // Scottish Gaelic (United Kingdom) 0x0491 gd-GB
SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06 // Serbian (Bosnia and Herzegovina - Latin)
SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07 // Serbian (Bosnia and Herzegovina - Cyrillic)
SUBLANG_SERBIAN_MONTENEGRO_LATIN 0x0b // Serbian (Montenegro - Latn)
SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC 0x0c // Serbian (Montenegro - Cyrillic)
SUBLANG_SERBIAN_SERBIA_LATIN 0x09 // Serbian (Serbia - Latin)
SUBLANG_SERBIAN_SERBIA_CYRILLIC 0x0a // Serbian (Serbia - Cyrillic)
SUBLANG_SERBIAN_CROATIA 0x01 // Croatian (Croatia) 0x041a hr-HR
SUBLANG_SERBIAN_LATIN 0x02 // Serbian (Latin)
SUBLANG_SERBIAN_CYRILLIC 0x03 // Serbian (Cyrillic)
SUBLANG_SINDHI_INDIA 0x01 // Sindhi (India) reserved 0x0459
SUBLANG_SINDHI_PAKISTAN 0x02 // Sindhi (Pakistan) 0x0859 sd-Arab-PK
SUBLANG_SINDHI_AFGHANISTAN 0x02 // For app compatibility only
SUBLANG_SINHALESE_SRI_LANKA 0x01 // Sinhalese (Sri Lanka)
SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA 0x01 // Northern Sotho (South Africa)
SUBLANG_SLOVAK_SLOVAKIA 0x01 // Slovak (Slovakia) 0x041b sk-SK
SUBLANG_SLOVENIAN_SLOVENIA 0x01 // Slovenian (Slovenia) 0x0424 sl-SI
SUBLANG_SPANISH 0x01 // Spanish (Castilian)
SUBLANG_SPANISH_MEXICAN 0x02 // Spanish (Mexico)
SUBLANG_SPANISH_MODERN 0x03 // Spanish (Modern)
SUBLANG_SPANISH_GUATEMALA 0x04 // Spanish (Guatemala)
SUBLANG_SPANISH_COSTA_RICA 0x05 // Spanish (Costa Rica)
SUBLANG_SPANISH_PANAMA 0x06 // Spanish (Panama)
SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 // Spanish (Dominican Republic)
SUBLANG_SPANISH_VENEZUELA 0x08 // Spanish (Venezuela)
SUBLANG_SPANISH_COLOMBIA 0x09 // Spanish (Colombia)
SUBLANG_SPANISH_PERU 0x0a // Spanish (Peru)
SUBLANG_SPANISH_ARGENTINA 0x0b // Spanish (Argentina)
SUBLANG_SPANISH_ECUADOR 0x0c // Spanish (Ecuador)
SUBLANG_SPANISH_CHILE 0x0d // Spanish (Chile)
SUBLANG_SPANISH_URUGUAY 0x0e // Spanish (Uruguay)
SUBLANG_SPANISH_PARAGUAY 0x0f // Spanish (Paraguay)
SUBLANG_SPANISH_BOLIVIA 0x10 // Spanish (Bolivia)
SUBLANG_SPANISH_EL_SALVADOR 0x11 // Spanish (El Salvador)
SUBLANG_SPANISH_HONDURAS 0x12 // Spanish (Honduras)
SUBLANG_SPANISH_NICARAGUA 0x13 // Spanish (Nicaragua)
SUBLANG_SPANISH_PUERTO_RICO 0x14 // Spanish (Puerto Rico)
SUBLANG_SPANISH_US 0x15 // Spanish (United States)
SUBLANG_SWAHILI_KENYA 0x01 // Swahili (Kenya) 0x0441 sw-KE
SUBLANG_SWEDISH 0x01 // Swedish
SUBLANG_SWEDISH_FINLAND 0x02 // Swedish (Finland)
SUBLANG_SYRIAC_SYRIA 0x01 // Syriac (Syria) 0x045a syr-SY
SUBLANG_TAJIK_TAJIKISTAN 0x01 // Tajik (Tajikistan) 0x0428 tg-TJ-Cyrl
SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 // Tamazight (Latin, Algeria) 0x085f tzm-Latn-DZ
SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04 // Tamazight (Tifinagh) 0x105f tzm-Tfng-MA
SUBLANG_TAMIL_INDIA 0x01 // Tamil (India)
SUBLANG_TAMIL_SRI_LANKA 0x02 // Tamil (Sri Lanka) 0x0849 ta-LK
SUBLANG_TATAR_RUSSIA 0x01 // Tatar (Russia) 0x0444 tt-RU
SUBLANG_TELUGU_INDIA 0x01 // Telugu (India (Telugu Script)) 0x044a te-IN
SUBLANG_THAI_THAILAND 0x01 // Thai (Thailand) 0x041e th-TH
SUBLANG_TIBETAN_PRC 0x01 // Tibetan (PRC)
SUBLANG_TIGRIGNA_ERITREA 0x02 // Tigrigna (Eritrea)
SUBLANG_TIGRINYA_ERITREA 0x02 // Tigrinya (Eritrea) 0x0873 ti-ER (preferred spelling)
SUBLANG_TIGRINYA_ETHIOPIA 0x01 // Tigrinya (Ethiopia) 0x0473 ti-ET
SUBLANG_TSWANA_BOTSWANA 0x02 // Setswana / Tswana (Botswana) 0x0832 tn-BW
SUBLANG_TSWANA_SOUTH_AFRICA 0x01 // Setswana / Tswana (South Africa) 0x0432 tn-ZA
SUBLANG_TURKISH_TURKEY 0x01 // Turkish (Turkey) 0x041f tr-TR
SUBLANG_TURKMEN_TURKMENISTAN 0x01 // Turkmen (Turkmenistan) 0x0442 tk-TM
SUBLANG_UIGHUR_PRC 0x01 // Uighur (PRC) 0x0480 ug-CN
SUBLANG_UKRAINIAN_UKRAINE 0x01 // Ukrainian (Ukraine) 0x0422 uk-UA
SUBLANG_UPPER_SORBIAN_GERMANY 0x01 // Upper Sorbian (Germany) 0x042e wen-DE
SUBLANG_URDU_PAKISTAN 0x01 // Urdu (Pakistan)
SUBLANG_URDU_INDIA 0x02 // Urdu (India)
SUBLANG_UZBEK_LATIN 0x01 // Uzbek (Latin)
SUBLANG_UZBEK_CYRILLIC 0x02 // Uzbek (Cyrillic)
SUBLANG_VALENCIAN_VALENCIA 0x02 // Valencian (Valencia) 0x0803 ca-ES-Valencia
SUBLANG_VIETNAMESE_VIETNAM 0x01 // Vietnamese (Vietnam) 0x042a vi-VN
SUBLANG_WELSH_UNITED_KINGDOM 0x01 // Welsh (United Kingdom) 0x0452 cy-GB
SUBLANG_WOLOF_SENEGAL 0x01 // Wolof (Senegal)
SUBLANG_XHOSA_SOUTH_AFRICA 0x01 // isiXhosa / Xhosa (South Africa) 0x0434 xh-ZA
SUBLANG_YAKUT_RUSSIA 0x01 // Deprecated: use SUBLANG_SAKHA_RUSSIA instead
SUBLANG_YI_PRC 0x01 // Yi (PRC)) 0x0478
SUBLANG_YORUBA_NIGERIA 0x01 // Yoruba (Nigeria) 046a yo-NG
SUBLANG_ZULU_SOUTH_AFRICA 0x01 // isiZulu / Zulu (South Africa) 0x0435 zu-ZA
@kohnakagawa
Copy link
Author

LIEFのresources_managerのlang sublangで定義されているenumとntdefs.hで定義されているenumとの差分を見るためのスクリプト
LIEFの方で定義されていないものが結構数ある

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment