﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/numberingSystems.xml
// *
// ***************************************************************************
numberingSystems:table(nofallback){
    numberingSystems{
        arab{
            algorithmic:int{0}
            desc{"٠١٢٣٤٥٦٧٨٩"}
            radix:int{10}
        }
        arabext{
            algorithmic:int{0}
            desc{"۰۱۲۳۴۵۶۷۸۹"}
            radix:int{10}
        }
        armn{
            algorithmic:int{1}
            desc{"%armenian-upper"}
            radix:int{10}
        }
        armnlow{
            algorithmic:int{1}
            desc{"%armenian-lower"}
            radix:int{10}
        }
        bali{
            algorithmic:int{0}
            desc{"᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙"}
            radix:int{10}
        }
        beng{
            algorithmic:int{0}
            desc{"০১২৩৪৫৬৭৮৯"}
            radix:int{10}
        }
        cham{
            algorithmic:int{0}
            desc{"꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙"}
            radix:int{10}
        }
        deva{
            algorithmic:int{0}
            desc{"०१२३४५६७८९"}
            radix:int{10}
        }
        ethi{
            algorithmic:int{1}
            desc{"%ethiopic"}
            radix:int{10}
        }
        fullwide{
            algorithmic:int{0}
            desc{"０１２３４５６７８９"}
            radix:int{10}
        }
        geor{
            algorithmic:int{1}
            desc{"%georgian"}
            radix:int{10}
        }
        grek{
            algorithmic:int{1}
            desc{"%greek-upper"}
            radix:int{10}
        }
        greklow{
            algorithmic:int{1}
            desc{"%greek-lower"}
            radix:int{10}
        }
        gujr{
            algorithmic:int{0}
            desc{"૦૧૨૩૪૫૬૭૮૯"}
            radix:int{10}
        }
        guru{
            algorithmic:int{0}
            desc{"੦੧੨੩੪੫੬੭੮੯"}
            radix:int{10}
        }
        hanidec{
            algorithmic:int{0}
            desc{"〇一二三四五六七八九"}
            radix:int{10}
        }
        hans{
            algorithmic:int{1}
            desc{"zh/SpelloutRules/%spellout-cardinal"}
            radix:int{10}
        }
        hansfin{
            algorithmic:int{1}
            desc{"zh/SpelloutRules/%spellout-cardinal-financial"}
            radix:int{10}
        }
        hant{
            algorithmic:int{1}
            desc{"zh_Hant/SpelloutRules/%spellout-cardinal"}
            radix:int{10}
        }
        hantfin{
            algorithmic:int{1}
            desc{"zh_Hant/SpelloutRules/%spellout-cardinal-financial"}
            radix:int{10}
        }
        hebr{
            algorithmic:int{1}
            desc{"%hebrew"}
            radix:int{10}
        }
        java{
            algorithmic:int{0}
            desc{"꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙"}
            radix:int{10}
        }
        jpan{
            algorithmic:int{1}
            desc{"ja/SpelloutRules/%spellout-cardinal"}
            radix:int{10}
        }
        jpanfin{
            algorithmic:int{1}
            desc{"ja/SpelloutRules/%spellout-cardinal-financial"}
            radix:int{10}
        }
        kali{
            algorithmic:int{0}
            desc{"꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉"}
            radix:int{10}
        }
        khmr{
            algorithmic:int{0}
            desc{"០១២៣៤៥៦៧៨៩"}
            radix:int{10}
        }
        knda{
            algorithmic:int{0}
            desc{"೦೧೨೩೪೫೬೭೮೯"}
            radix:int{10}
        }
        lana{
            algorithmic:int{0}
            desc{"᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉"}
            radix:int{10}
        }
        lanatham{
            algorithmic:int{0}
            desc{"᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙"}
            radix:int{10}
        }
        laoo{
            algorithmic:int{0}
            desc{"໐໑໒໓໔໕໖໗໘໙"}
            radix:int{10}
        }
        latn{
            algorithmic:int{0}
            desc{"0123456789"}
            radix:int{10}
        }
        lepc{
            algorithmic:int{0}
            desc{"᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉"}
            radix:int{10}
        }
        limb{
            algorithmic:int{0}
            desc{"᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏"}
            radix:int{10}
        }
        mlym{
            algorithmic:int{0}
            desc{"൦൧൨൩൪൫൬൭൮൯"}
            radix:int{10}
        }
        mong{
            algorithmic:int{0}
            desc{"᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙"}
            radix:int{10}
        }
        mtei{
            algorithmic:int{0}
            desc{"꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹"}
            radix:int{10}
        }
        mymr{
            algorithmic:int{0}
            desc{"၀၁၂၃၄၅၆၇၈၉"}
            radix:int{10}
        }
        mymrshan{
            algorithmic:int{0}
            desc{"႐႑႒႓႔႕႖႗႘႙"}
            radix:int{10}
        }
        nkoo{
            algorithmic:int{0}
            desc{"߉߈߇߆߅߄߃߂߁߀"}
            radix:int{10}
        }
        olck{
            algorithmic:int{0}
            desc{"᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙"}
            radix:int{10}
        }
        orya{
            algorithmic:int{0}
            desc{"୦୧୨୩୪୫୬୭୮୯"}
            radix:int{10}
        }
        roman{
            algorithmic:int{1}
            desc{"%roman-upper"}
            radix:int{10}
        }
        romanlow{
            algorithmic:int{1}
            desc{"%roman-lower"}
            radix:int{10}
        }
        saur{
            algorithmic:int{0}
            desc{"꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙"}
            radix:int{10}
        }
        sund{
            algorithmic:int{0}
            desc{"᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹"}
            radix:int{10}
        }
        talu{
            algorithmic:int{0}
            desc{"᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙"}
            radix:int{10}
        }
        taml{
            algorithmic:int{1}
            desc{"%tamil"}
            radix:int{10}
        }
        tamldec{
            algorithmic:int{0}
            desc{"௦௧௨௩௪௫௬௭௮௯"}
            radix:int{10}
        }
        telu{
            algorithmic:int{0}
            desc{"౦౧౨౩౪౫౬౭౮౯"}
            radix:int{10}
        }
        thai{
            algorithmic:int{0}
            desc{"๐๑๒๓๔๕๖๗๘๙"}
            radix:int{10}
        }
        tibt{
            algorithmic:int{0}
            desc{"༠༡༢༣༤༥༦༧༨༩"}
            radix:int{10}
        }
        vaii{
            algorithmic:int{0}
            desc{"꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩"}
            radix:int{10}
        }
    }
}
