﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/numberingSystems.xml
// *
// ***************************************************************************
numberingSystems:table(nofallback){
    numberingSystems{
        arabic{
            algorithmic:int{0}
            desc{"٠١٢٣٤٥٦٧٨٩"}
            radix:int{10}
        }
        armenian{
            algorithmic:int{1}
            desc{"%armenian"}
            radix:int{10}
        }
        bengali{
            algorithmic:int{0}
            desc{"০১২৩৪৫৬৭৮৯"}
            radix:int{10}
        }
        decimal{
            algorithmic:int{0}
            desc{"0123456789"}
            radix:int{10}
        }
        deva{
            algorithmic:int{0}
            desc{"०१२३४५६७८९"}
            radix:int{10}
        }
        ethiopic{
            algorithmic:int{1}
            desc{"%ethiopic"}
            radix:int{10}
        }
        georgian{
            algorithmic:int{1}
            desc{"%georgian"}
            radix:int{10}
        }
        gujarati{
            algorithmic:int{0}
            desc{"૦૧૨૩૪૫૬૭૮૯"}
            radix:int{10}
        }
        gurmukhi{
            algorithmic:int{0}
            desc{"੦੧੨੩੪੫੬੭੮੯"}
            radix:int{10}
        }
        hanjfin{
            algorithmic:int{1}
            desc{"ja/SpelloutRules/%financial"}
            radix:int{10}
        }
        hanjstd{
            algorithmic:int{1}
            desc{"ja/SpelloutRules/%spellout"}
            radix:int{10}
        }
        hansfin{
            algorithmic:int{1}
            desc{"zh/SpelloutRules/%financial"}
            radix:int{10}
        }
        hansstd{
            algorithmic:int{1}
            desc{"zh/SpelloutRules/%spellout"}
            radix:int{10}
        }
        hantfin{
            algorithmic:int{1}
            desc{"zh_Hant/SpelloutRules/%financial"}
            radix:int{10}
        }
        hantstd{
            algorithmic:int{1}
            desc{"zh_Hant/SpelloutRules/%spellout"}
            radix:int{10}
        }
        hebrew{
            algorithmic:int{1}
            desc{"%hebrew"}
            radix:int{10}
        }
        kannada{
            algorithmic:int{0}
            desc{"೦೧೨೩೪೫೬೭೮೯"}
            radix:int{10}
        }
        khmer{
            algorithmic:int{0}
            desc{"០១២៣៤៥៦៧៨៩"}
            radix:int{10}
        }
        lao{
            algorithmic:int{0}
            desc{"໐໑໒໓໔໕໖໗໘໙"}
            radix:int{10}
        }
        lowroman{
            algorithmic:int{1}
            desc{"%lower-roman"}
            radix:int{10}
        }
        mlym{
            algorithmic:int{0}
            desc{"൦൧൨൩൪൬൭൮൯"}
            radix:int{10}
        }
        mong{
            algorithmic:int{0}
            desc{"᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙"}
            radix:int{10}
        }
        myanmar{
            algorithmic:int{0}
            desc{"၀၁၂၃၄၅၆၇၈၉"}
            radix:int{10}
        }
        oriya{
            algorithmic:int{0}
            desc{"୦୧୨୩୪୫୬୭୮୯"}
            radix:int{10}
        }
        persian{
            algorithmic:int{0}
            desc{"۰۱۲۳۴۵۶۷۸۹"}
            radix:int{10}
        }
        roman{
            algorithmic:int{1}
            desc{"%upper-roman"}
            radix:int{10}
        }
        tamil{
            algorithmic:int{1}
            desc{"%tamil"}
            radix:int{10}
        }
        telugu{
            algorithmic:int{0}
            desc{"౦౧౨౩౪౫౬౭౮౯"}
            radix:int{10}
        }
        thai{
            algorithmic:int{0}
            desc{"๐๑๒๓๔๕๖๗๘๙"}
            radix:int{10}
        }
        tibetan{
            algorithmic:int{0}
            desc{"༠༡༢༣༤༥༦༧༨༩"}
            radix:int{10}
        }
    }
}
