/*
 *
 * (C) Copyright IBM Corp. 1998-2005. All Rights Reserved.
 *
 * WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS
 * YOU REALLY KNOW WHAT YOU'RE DOING.
 *
 * Generated on: 07/19/2005 01:01:08 PM PDT
 */

#ifndef __SCRIPTANDLANGUAGES_H
#define __SCRIPTANDLANGUAGES_H

#include "LETypes.h"

/**
 * \file
 * \internal
 */

U_NAMESPACE_BEGIN

const LETag zyyyScriptTag = 0x7A797979; /* 'zyyy' (COMMON) */
const LETag qaaiScriptTag = 0x71616169; /* 'qaai' (INHERITED) */
const LETag arabScriptTag = 0x61726162; /* 'arab' (ARABIC) */
const LETag armnScriptTag = 0x61726D6E; /* 'armn' (ARMENIAN) */
const LETag bengScriptTag = 0x62656E67; /* 'beng' (BENGALI) */
const LETag bopoScriptTag = 0x626F706F; /* 'bopo' (BOPOMOFO) */
const LETag cherScriptTag = 0x63686572; /* 'cher' (CHEROKEE) */
const LETag coptScriptTag = 0x636F7074; /* 'copt' (COPTIC) */
const LETag cyrlScriptTag = 0x6379726C; /* 'cyrl' (CYRILLIC) */
const LETag dsrtScriptTag = 0x64737274; /* 'dsrt' (DESERET) */
const LETag devaScriptTag = 0x64657661; /* 'deva' (DEVANAGARI) */
const LETag ethiScriptTag = 0x65746869; /* 'ethi' (ETHIOPIC) */
const LETag georScriptTag = 0x67656F72; /* 'geor' (GEORGIAN) */
const LETag gothScriptTag = 0x676F7468; /* 'goth' (GOTHIC) */
const LETag grekScriptTag = 0x6772656B; /* 'grek' (GREEK) */
const LETag gujrScriptTag = 0x67756A72; /* 'gujr' (GUJARATI) */
const LETag guruScriptTag = 0x67757275; /* 'guru' (GURMUKHI) */
const LETag haniScriptTag = 0x68616E69; /* 'hani' (HAN) */
const LETag hangScriptTag = 0x68616E67; /* 'hang' (HANGUL) */
const LETag hebrScriptTag = 0x68656272; /* 'hebr' (HEBREW) */
const LETag hiraScriptTag = 0x68697261; /* 'hira' (HIRAGANA) */
const LETag kndaScriptTag = 0x6B6E6461; /* 'knda' (KANNADA) */
const LETag kanaScriptTag = 0x6B616E61; /* 'kana' (KATAKANA) */
const LETag khmrScriptTag = 0x6B686D72; /* 'khmr' (KHMER) */
const LETag laooScriptTag = 0x6C616F6F; /* 'laoo' (LAO) */
const LETag latnScriptTag = 0x6C61746E; /* 'latn' (LATIN) */
const LETag mlymScriptTag = 0x6D6C796D; /* 'mlym' (MALAYALAM) */
const LETag mongScriptTag = 0x6D6F6E67; /* 'mong' (MONGOLIAN) */
const LETag mymrScriptTag = 0x6D796D72; /* 'mymr' (MYANMAR) */
const LETag ogamScriptTag = 0x6F67616D; /* 'ogam' (OGHAM) */
const LETag italScriptTag = 0x6974616C; /* 'ital' (OLD_ITALIC) */
const LETag oryaScriptTag = 0x6F727961; /* 'orya' (ORIYA) */
const LETag runrScriptTag = 0x72756E72; /* 'runr' (RUNIC) */
const LETag sinhScriptTag = 0x73696E68; /* 'sinh' (SINHALA) */
const LETag syrcScriptTag = 0x73797263; /* 'syrc' (SYRIAC) */
const LETag tamlScriptTag = 0x74616D6C; /* 'taml' (TAMIL) */
const LETag teluScriptTag = 0x74656C75; /* 'telu' (TELUGU) */
const LETag thaaScriptTag = 0x74686161; /* 'thaa' (THAANA) */
const LETag thaiScriptTag = 0x74686169; /* 'thai' (THAI) */
const LETag tibtScriptTag = 0x74696274; /* 'tibt' (TIBETAN) */
const LETag cansScriptTag = 0x63616E73; /* 'cans' (CANADIAN_ABORIGINAL) */
const LETag yiiiScriptTag = 0x79696969; /* 'yiii' (YI) */
const LETag tglgScriptTag = 0x74676C67; /* 'tglg' (TAGALOG) */
const LETag hanoScriptTag = 0x68616E6F; /* 'hano' (HANUNOO) */
const LETag buhdScriptTag = 0x62756864; /* 'buhd' (BUHID) */
const LETag tagbScriptTag = 0x74616762; /* 'tagb' (TAGBANWA) */
const LETag braiScriptTag = 0x62726169; /* 'brai' (BRAILLE) */
const LETag cprtScriptTag = 0x63707274; /* 'cprt' (CYPRIOT) */
const LETag limbScriptTag = 0x6C696D62; /* 'limb' (LIMBU) */
const LETag linbScriptTag = 0x6C696E62; /* 'linb' (LINEAR_B) */
const LETag osmaScriptTag = 0x6F736D61; /* 'osma' (OSMANYA) */
const LETag shawScriptTag = 0x73686177; /* 'shaw' (SHAVIAN) */
const LETag taleScriptTag = 0x74616C65; /* 'tale' (TAI_LE) */
const LETag ugarScriptTag = 0x75676172; /* 'ugar' (UGARITIC) */
const LETag hrktScriptTag = 0x68726B74; /* 'hrkt' (KATAKANA_OR_HIRAGANA) */
const LETag bugiScriptTag = 0x62756769; /* 'bugi' (BUGINESE) */
const LETag glagScriptTag = 0x676C6167; /* 'glag' (GLAGOLITIC) */
const LETag kharScriptTag = 0x6B686172; /* 'khar' (KHAROSHTHI) */
const LETag syloScriptTag = 0x73796C6F; /* 'sylo' (SYLOTI_NAGRI) */
const LETag taluScriptTag = 0x74616C75; /* 'talu' (NEW_TAI_LUE) */
const LETag tfngScriptTag = 0x74666E67; /* 'tfng' (TIFINAGH) */
const LETag xpeoScriptTag = 0x7870656F; /* 'xpeo' (OLD_PERSIAN) */

const LETag nullScriptTag = 0x00000000; /* ''     (NULL) */


const LETag nullLanguageTag = 0x00000000; /* '' (null) */
const LETag araLanguageTag = 0x41524120; /* 'ARA' (Arabic) */
const LETag asmLanguageTag = 0x41534D20; /* 'ASM' (Assamese) */
const LETag benLanguageTag = 0x42454E20; /* 'BEN' (Bengali) */
const LETag farLanguageTag = 0x46415220; /* 'FAR' (Farsi) */
const LETag gujLanguageTag = 0x47554A20; /* 'GUJ' (Gujarati) */
const LETag hinLanguageTag = 0x48494E20; /* 'HIN' (Hindi) */
const LETag iwrLanguageTag = 0x49575220; /* 'IWR' (Hebrew) */
const LETag jiiLanguageTag = 0x4A494920; /* 'JII' (Yiddish) */
const LETag janLanguageTag = 0x4A414E20; /* 'JAN' (Japanese) */
const LETag kanLanguageTag = 0x4B414E20; /* 'KAN' (Kannada) */
const LETag kokLanguageTag = 0x4B4F4B20; /* 'KOK' (Konkani) */
const LETag korLanguageTag = 0x4B4F5220; /* 'KOR' (Korean) */
const LETag kshLanguageTag = 0x4B534820; /* 'KSH' (Kashmiri) */
const LETag malLanguageTag = 0x4D414C20; /* 'MAL' (Malayalam (Traditional)) */
const LETag marLanguageTag = 0x4D415220; /* 'MAR' (Marathi) */
const LETag mlrLanguageTag = 0x4D4C5220; /* 'MLR' (Malayalam (Reformed)) */
const LETag mniLanguageTag = 0x4D4E4920; /* 'MNI' (Manipuri) */
const LETag oriLanguageTag = 0x4F524920; /* 'ORI' (Oriya) */
const LETag sanLanguageTag = 0x53414E20; /* 'SAN' (Sanscrit) */
const LETag sndLanguageTag = 0x534E4420; /* 'SND' (Sindhi) */
const LETag snhLanguageTag = 0x534E4820; /* 'SNH' (Sinhalese) */
const LETag syrLanguageTag = 0x53595220; /* 'SYR' (Syriac) */
const LETag tamLanguageTag = 0x54414D20; /* 'TAM' (Tamil) */
const LETag telLanguageTag = 0x54454C20; /* 'TEL' (Telugu) */
const LETag thaLanguageTag = 0x54484120; /* 'THA' (Thai) */
const LETag urdLanguageTag = 0x55524420; /* 'URD' (Urdu) */
const LETag zhpLanguageTag = 0x5A485020; /* 'ZHP' (Chinese (Phonetic)) */
const LETag zhsLanguageTag = 0x5A485320; /* 'ZHS' (Chinese (Simplified)) */
const LETag zhtLanguageTag = 0x5A485420; /* 'ZHT' (Chinese (Traditional)) */


U_NAMESPACE_END
#endif
