﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/root.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/root.xml
 */
root{
    Currencies{
        AUD{
            "A$",
            "AUD",
        }
        BRL{
            "R$",
            "BRL",
        }
        CAD{
            "CA$",
            "CAD",
        }
        CNY{
            "CN¥",
            "CNY",
        }
        EUR{
            "€",
            "EUR",
        }
        GBP{
            "£",
            "GBP",
        }
        HKD{
            "HK$",
            "HKD",
        }
        ILS{
            "₪",
            "ILS",
        }
        INR{
            "₹",
            "INR",
        }
        JPY{
            "JP¥",
            "JPY",
        }
        KRW{
            "₩",
            "KRW",
        }
        MXN{
            "MX$",
            "MXN",
        }
        NZD{
            "NZ$",
            "NZD",
        }
        TWD{
            "NT$",
            "TWD",
        }
        USD{
            "US$",
            "USD",
        }
        VND{
            "₫",
            "VND",
        }
        XAF{
            "FCFA",
            "XAF",
        }
        XCD{
            "EC$",
            "XCD",
        }
        XOF{
            "CFA",
            "XOF",
        }
        XPF{
            "CFPF",
            "XPF",
        }
    }
    Currencies%narrow{
        AOA{"Kz"}
        ARS{"$"}
        AUD{"$"}
        BAM{"KM"}
        BBD{"$"}
        BDT{"৳"}
        BMD{"$"}
        BND{"$"}
        BOB{"Bs"}
        BRL{"R$"}
        BSD{"$"}
        BWP{"P"}
        BYR{"р."}
        BZD{"$"}
        CAD{"$"}
        CLP{"$"}
        CNY{"¥"}
        COP{"$"}
        CRC{"₡"}
        CUC{"$"}
        CUP{"$"}
        CZK{"Kč"}
        DKK{"kr"}
        DOP{"$"}
        EGP{"E£"}
        ESP{"₧"}
        EUR{"€"}
        FJD{"$"}
        FKP{"£"}
        GBP{"£"}
        GIP{"£"}
        GNF{"FG"}
        GTQ{"Q"}
        GYD{"$"}
        HKD{"$"}
        HNL{"L"}
        HRK{"kn"}
        HUF{"Ft"}
        IDR{"Rp"}
        ILS{"₪"}
        INR{"₹"}
        ISK{"kr"}
        JMD{"$"}
        JPY{"¥"}
        KHR{"៛"}
        KMF{"CF"}
        KPW{"₩"}
        KRW{"₩"}
        KYD{"$"}
        KZT{"₸"}
        LAK{"₭"}
        LBP{"L£"}
        LKR{"Rs"}
        LRD{"$"}
        LTL{"Lt"}
        LVL{"Ls"}
        MGA{"Ar"}
        MMK{"K"}
        MNT{"₮"}
        MUR{"Rs"}
        MXN{"$"}
        MYR{"RM"}
        NAD{"$"}
        NGN{"₦"}
        NIO{"C$"}
        NOK{"kr"}
        NPR{"Rs"}
        NZD{"$"}
        PHP{"₱"}
        PKR{"Rs"}
        PLN{"zł"}
        PYG{"₲"}
        RUR{"р."}
        RWF{"RF"}
        SBD{"$"}
        SEK{"kr"}
        SGD{"$"}
        SHP{"£"}
        SRD{"$"}
        SSP{"£"}
        STD{"Db"}
        SYP{"£"}
        THB{"฿"}
        TOP{"T$"}
        TRY{"₺"}
        TTD{"$"}
        TWD{"NT$"}
        UAH{"₴"}
        USD{"$"}
        UYU{"$"}
        VEF{"Bs"}
        VND{"₫"}
        XCD{"$"}
        ZAR{"R"}
        ZMW{"ZK"}
    }
    Currencies%variant{
        RUB{"₽"}
        TRY{"TL"}
    }
    CurrencyUnitPatterns{
        other{"{0} {1}"}
    }
    Version{"2.1.12.90"}
    currencySpacing{
        afterCurrency{
            currencyMatch{"[:^S:]"}
            insertBetween{" "}
            surroundingMatch{"[:digit:]"}
        }
        beforeCurrency{
            currencyMatch{"[:^S:]"}
            insertBetween{" "}
            surroundingMatch{"[:digit:]"}
        }
    }
}
