/*
 *
 * (C) Copyright IBM Corp. 1998-2014. All Rights Reserved.
 *
 * WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS
 * YOU REALLY KNOW WHAT YOU'RE DOING.
 *
 * Generated on: 10/26/2010 02:53:33 PM PDT
 */

#ifndef __LELANGUAGES_H
#define __LELANGUAGES_H

#include "LETypes.h"

/**
 * \file
 * \brief C++ API: List of language codes for LayoutEngine
 */

U_NAMESPACE_BEGIN

/**
 * A provisional list of language codes. For now,
 * this is just a list of languages which the LayoutEngine
 * supports.
 *
 * @deprecated ICU 54. See {@link icu::LayoutEngine}
 */

enum LanguageCodes {
    nullLanguageCode =  0,
    araLanguageCode =  1,
    asmLanguageCode =  2,
    benLanguageCode =  3,
    farLanguageCode =  4,
    gujLanguageCode =  5,
    hinLanguageCode =  6,
    iwrLanguageCode =  7,
    jiiLanguageCode =  8,
    janLanguageCode =  9,
    kanLanguageCode = 10,
    kokLanguageCode = 11,
    korLanguageCode = 12,
    kshLanguageCode = 13,
    malLanguageCode = 14,
    marLanguageCode = 15,
    mlrLanguageCode = 16,
    mniLanguageCode = 17,
    oriLanguageCode = 18,
    sanLanguageCode = 19,
    sndLanguageCode = 20,
    snhLanguageCode = 21,
    syrLanguageCode = 22,
    tamLanguageCode = 23,
    telLanguageCode = 24,
    thaLanguageCode = 25,
    urdLanguageCode = 26,
    zhpLanguageCode = 27,
    zhsLanguageCode = 28,
    zhtLanguageCode = 29,

    /** New language codes added 03/13/2008 @deprecated ICU 54. See {@link icu::LayoutEngine}
     */
    afkLanguageCode = 30,
    belLanguageCode = 31,
    bgrLanguageCode = 32,
    catLanguageCode = 33,
    cheLanguageCode = 34,
    copLanguageCode = 35,
    csyLanguageCode = 36,
    danLanguageCode = 37,
    deuLanguageCode = 38,
    dznLanguageCode = 39,
    ellLanguageCode = 40,
    engLanguageCode = 41,
    espLanguageCode = 42,
    etiLanguageCode = 43,
    euqLanguageCode = 44,
    finLanguageCode = 45,
    fraLanguageCode = 46,
    gaeLanguageCode = 47,
    hauLanguageCode = 48,
    hrvLanguageCode = 49,
    hunLanguageCode = 50,
    hyeLanguageCode = 51,
    indLanguageCode = 52,
    itaLanguageCode = 53,
    khmLanguageCode = 54,
    mngLanguageCode = 55,
    mtsLanguageCode = 56,
    nepLanguageCode = 57,
    nldLanguageCode = 58,
    pasLanguageCode = 59,
    plkLanguageCode = 60,
    ptgLanguageCode = 61,
    romLanguageCode = 62,
    rusLanguageCode = 63,
    skyLanguageCode = 64,
    slvLanguageCode = 65,
    sqiLanguageCode = 66,
    srbLanguageCode = 67,
    sveLanguageCode = 68,
    tibLanguageCode = 69,
    trkLanguageCode = 70,
    welLanguageCode = 71,

    languageCodeCount = 72
};

U_NAMESPACE_END
#endif
