# Do not edit - generated from Unicode CLDR data
#   main/fil.xml - r4178 2009-06-14 23:46:26 -0400 (Sun, 14 Jun 2009)
#
# The key is an ISO4217 currency code, and the value is of the form:
#   display name|symbol|decimal digits|not-used-flag
# If a symbol is not supplied, the currency code will be used
# If # of decimal digits is omitted, 2 is used
# If a currency is not generally used, not-used-flag=1
# Trailing empty fields can be omitted

ADP = ADP||0|1
AED = United Arab Emirates Dirham
AFA = AFA|||1
AFN = AFN|Af|0
ALL = ALL||0
AMD = AMD||0
ANG = ANG|NAf.
AOA = AOA|Kz
AOK = AOK|||1
AON = AON|||1
AOR = AOR|||1
ARA = ARA|₳||1
ARL = ARL|$L||1
ARM = ARM|m$n||1
ARP = ARP|||1
ARS = Argentine Peso|AR$
ATS = ATS|||1
AUD = Australian Dollar|AU$
AWG = AWG|Afl.
AZM = AZM|||1
AZN = AZN|man.
BAD = BAD|||1
BAM = BAM|KM
BBD = BBD|Bds$
BDT = BDT|Tk
BEC = BEC
BEF = BEF|BF||1
BEL = BEL
BGL = BGL|||1
BGN = Bulgarian Lev
BHD = BHD|BD|3
BIF = BIF|FBu|0
BMD = BMD|BD$
BND = BND|BN$
BOB = Bolivian Boliviano|Bs
BOP = BOP|$b.||1
BOV = BOV
BRB = BRB|||1
BRC = BRC|||1
BRE = BRE|||1
BRL = Brazilian Real|R$
BRN = BRN|||1
BRR = BRR|||1
BSD = BSD|BS$
BTN = BTN|Nu.
BUK = BUK|||1
BWP = BWP
BYB = BYB|||1
BYR = BYR||0
BZD = BZD|BZ$
CAD = Canadian Dollar|CA$
CDF = CDF
CHE = CHE
CHF = Swiss Francs|Fr.
CHW = CHW
CLE = CLE|Eº||1
CLF = CLF||0
CLP = Chilean Peso|CL$|0
CNY = Yuan Renminbi|CN¥
COP = Colombian Peso|CO$|0
COU = COU
CRC = CRC|₡|0
CSD = CSD|||1
CSK = CSK|||1
CUC = CUC|CUC$
CUP = CUP|CU$
CVE = CVE|CV$
CYP = CYP|CY£||1
CZK = Czech Koruna|Kč
DDM = DDM|||1
DEM = Deutsche Marks|DM||1
DJF = DJF|Fdj|0
DKK = Denmark Kroner|Dkr
DOP = DOP|RD$
DZD = DZD|DA
ECS = ECS|||1
ECV = ECV
EEK = Estonian Kroon|Ekr
EGP = Egyptian Pound|EG£
EQE = EQE|||1
ERN = ERN|Nfk
ESA = ESA
ESB = ESB
ESP = ESP|Pts|0|1
ETB = ETB|Br
EUR = Euros|€
FIM = FIM|mk||1
FJD = FJD|FJ$
FKP = FKP|FK£
FRF = French Franc|₣||1
GBP = British Pounds Sterling|£
GEK = GEK|||1
GEL = GEL
GHC = GHC|₵||1
GHS = GHS|GH₵
GIP = GIP|GI£
GMD = GMD
GNF = GNF|FG|0
GNS = GNS|||1
GQE = GQE|||1
GRD = GRD|₯||1
GTQ = GTQ
GWE = GWE|||1
GWP = GWP
GYD = GYD|GY$|0
HKD = Hong Kong Dollars|HK$
HNL = HNL
HRD = HRD|||1
HRK = Croatian Kuna|kn
HTG = HTG
HUF = Hungarian Forint|Ft|0
IDR = Indonesian Rupiah|Rp|0
IEP = IEP|IR£||1
ILP = ILP|I£||1
ILS = Israeli Shekel|₪
INR = Indian Rupee|Rs
IQD = IQD||0
IRR = IRR||0
ISK = ISK|Ikr|0
ITL = ITL|IT₤|0|1
JMD = JMD|J$
JOD = JOD|JD|3
JPY = Japanese Yen|JP¥|0
KES = KES|Ksh
KGS = KGS
KHR = KHR
KMF = KMF|CF|0
KPW = KPW||0
KRW = South Korean Won|₩|0
KWD = KWD|KD|3
KYD = KYD|KY$
KZT = KZT
LAK = LAK|₭|0
LBP = LBP|LB£|0
LKR = LKR|SLRs
LRD = LRD|L$
LSL = LSL
LSM = LSM|||1
LTL = Lithuanian Litas|Lt
LTT = LTT|||1
LUC = LUC
LUF = LUF||0|1
LUL = LUL
LVL = LVL|Ls
LVR = LVR|||1
LYD = LYD|LD|3
MAD = Moroccan Dirham
MAF = MAF|||1
MDL = MDL
MGA = MGA||0
MGF = MGF||0|1
MKD = MKD
MLF = MLF|||1
MMK = MMK||0
MNT = MNT|₮|0
MOP = MOP|MOP$
MRO = MRO|UM|0
MTL = MTL|Lm||1
MTP = MTP|MT£||1
MUR = MUR|MURs|0
MVR = MVR
MWK = MWK
MXN = Mexico Peso
MXP = MXP|MX$||1
MXV = MXV
MYR = Malaysian Ringgit|RM
MZE = MZE|||1
MZM = MZM|Mt||1
MZN = MZN|MTn
NAD = NAD|N$
NGN = NGN|₦
NIC = NIC|||1
NIO = NIO|C$
NLG = NLG|fl||1
NOK = Norwegian Kroner|Nkr
NPR = NPR|NPRs
NZD = New Zealand Dollars|NZ$
OMR = OMR||3
PAB = PAB|B/.
PEI = PEI|I/.||1
PEN = Peruvian Nuevo Sol|S/.
PES = PES|||1
PGK = PGK
PHP = Philippine Peso|₱
PKR = Pakistan Rupee|PKRs|0
PLN = Polish NewZloty|zł
PLZ = PLZ|||1
PTE = PTE|Esc||1
PYG = PYG|₲|0
QAR = QAR|QR
RHD = RHD|RH$||1
ROL = ROL|||1
RON = Romanian Leu
RSD = Serbian Dinar|din.|0
RUB = Russian Ruble
RUR = RUR|||1
RWF = RWF||0
SAR = Saudi Riyal|SR
SBD = SBD|SI$
SCR = SCR|SRe
SDD = SDD|LSd||1
SDG = SDG
SDP = SDP|||1
SEK = Sweden Kronor|Skr
SGD = Singapore Dollars|S$
SHP = SHP|SH£
SIT = Slovenian Tolar|||1
SKK = Slovak Koruna|Sk||1
SLL = SLL|Le|0
SOS = SOS|Ssh|0
SRD = SRD|SR$
SRG = SRG|Sf||1
STD = STD|Db|0
SUR = SUR|||1
SVC = SVC|SV₡||1
SYP = SYP|SY£|0
SZL = SZL
THB = Thai Baht|฿
TJR = TJR|||1
TJS = TJS
TMM = TMM||0|1
TND = TND|DT|3
TOP = TOP|T$
TPE = TPE|||1
TRL = TRL||0|1
TRY = Turkish Lira|TL
TTD = TTD|TT$
TWD = New Taiwan Dollar|NT$
TZS = TZS|TSh|0
UAH = UAH|₴
UAK = UAK|||1
UGS = UGS|||1
UGX = UGX|USh|0
USD = US Dollar|US$
USN = USN
USS = USS
UYI = UYI
UYP = UYP|||1
UYU = UYU|$U
UZS = UZS||0
VEB = Venezuela Bolivar|||1
VEF = VEF|Bs.F.
VND = VND|₫|0
VUV = VUV|VT|0
WST = WST|WS$
XAF = XAF|FCFA|0
XAG = XAG
XAU = XAU
XBA = XBA
XBB = XBB
XBC = XBC
XBD = XBD
XCD = XCD|EC$
XDR = XDR
XEU = XEU
XFO = XFO
XFU = XFU
XOF = XOF|CFA|0
XPD = XPD
XPF = XPF|CFPF|0
XPT = XPT
XRE = XRE
XTS = XTS
XXX = XXX
YDD = YDD|||1
YER = YER|YR|0
YUD = YUD|||1
YUM = YUM|||1
YUN = YUN|||1
ZAL = ZAL
ZAR = South African Rand|R
ZMK = ZMK|ZK|0
ZRN = ZRN|NZ||1
ZRZ = ZRZ|||1
ZWD = ZWD|Z$|0|1
