r19120 - gnucash/trunk/src/engine - Bug #617660: Improving iso-4217-currencies

Christian Stimming cstim at code.gnucash.org
Thu May 6 04:33:29 EDT 2010


Author: cstim
Date: 2010-05-06 04:33:29 -0400 (Thu, 06 May 2010)
New Revision: 19120
Trac: http://svn.gnucash.org/trac/changeset/19120

Modified:
   gnucash/trunk/src/engine/iso-4217-currencies.scm
   gnucash/trunk/src/engine/iso-currencies-to-c
Log:
Bug #617660: Improving iso-4217-currencies

Patch by Frank H. Ellenberger

1. improve the header of fieldnames with annotations
2. sort by ISO code, because
   a. easier for non english people
   b. most tables in the internet have this sort order.
      So maintainance becomes easier.
3. inserting a Column local_symbol, because some people like to use it, e.g.
   https://bugzilla.gnome.org/show_bug.cgi?id=492417#c3
   But probably there is a better way to get this informations.
4. Review List:
   a. adding: CDF, GHS, ...
   b. outdated: AON->AOR->AOA, GWP->XOF, ...
   c. Typos like "fening".
   d. Alway use singular instead of a mixture.
5. add comments:
   a. outdated currencies prepared as in the header shown.
   b. for abbreviations.

Background is the thread starting with
https://lists.gnucash.org/pipermail/gnucash-devel/2009-October/026558.html

Modified: gnucash/trunk/src/engine/iso-4217-currencies.scm
===================================================================
--- gnucash/trunk/src/engine/iso-4217-currencies.scm	2010-05-06 08:25:13 UTC (rev 19119)
+++ gnucash/trunk/src/engine/iso-4217-currencies.scm	2010-05-06 08:33:29 UTC (rev 19120)
@@ -1,220 +1,242 @@
-;; currency descriptions for ISO4217 currencies. 
-;; Format is:
-;; (fullname unitname partname namespace mnemonic exchange-code 
-;;  parts-per-unit smallest-fraction)
+;; currency descriptions for ISO4217 currencies.
 ;;
 ;; This file is not currently used at runtime.  It's used to generate
 ;; the contents of iso-4217-currencies.c.
 ;;
-;; You can find Currency Information from the following sites: 
+;; You can find Currency Information from the following sites:
 ;;   http://www.evertype.com/standards/iso4217/iso4217-en.html
 ;;   http://www.xe.com/iso4217.htm
 ;;   http://www.thefinancials.com/vortex/CurrencyFormats.html
+;; But currently used was
+;;   http://en.wikipedia.org/wiki/ISO4217 and relatives and the official at
+;;   http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/currency_codes/currency_codes_list-1.htm
 ;;
-;; Learned from some bugs (543061, 564450), please keep in mind: 
+;; Learned from some bugs (543061, 564450), please keep in mind:
 ;; If there are no coins for subunits, subunits might still be in use on the paper
+;;
+;; Format:
+;; (fullname, unitname*, partname*, namespace, mnemonic, exchange-code, parts-per-unit*, smallest-fraction,  local-symbol)
+;; planed extensions: replace-date, by-ISO, frozen-rate [x old : 1 new]
+;;
+;; where * means currently unused;
+;; exchange-code is stored in ISIN/CUSIP;
+;; see iso-currencies-to-c for details and recent changes.
+;; Sort order by ISO codes for simpler maintainance
+;;
+( "Andorran Franc" "franc" "centime" "ISO4217" "ADF" "950" 100 100 "₣" ) ;; 1/1 French Franc replaced by EUR
+( "Andorran Peseta" "peseta" "centimo"  "ISO4217" "ADP" "724" 100 100 "₧" ) ;; 1/1 Spanish Peseta replaced by EUR
+( "United Arab Emirates Dirham" "dirham" "fil" "ISO4217" "AED" "784" 100 100 "Dhs" ) ;; There is also an arabic symbol for "Dhs"
+( "Afghanistan Afghani (old)" "afghani" "pul" "ISO4217" "AFA" "004" 100 100 "" ) ;; through 2003-01-02 "AFN" 1000
+( "Afghanistan Afghani" "afghani" "pul" "ISO4217" "AFN" "971" 1 1 "" ) ;; from 2002-10-07
+( "Albanian Lek" "lek" "qindarka" "ISO4217" "ALL" "008" 100 100 "" )
+( "Armenian Dram" "dram" "Luma" "ISO4217" "AMD" "051" 100 100 "դր." )
+( "Netherlands Antillian Guilder" "guilder" "cent" "ISO4217" "ANG" "532" 100 100 "NAƒ" ) ;; through 2010-10 ???
+( "Angolan Kwanza" "kwanza" "cêntimos" "ISO4217" "AOA" "973" 100 100 "Kz" ) ;; since 1999
+( "Angolan New Kwanza (older)" "new kwanza" "lwei" "ISO4217" "AON" "024" 100 100 "" );; replaced 1995-06-30 by AOR 1000:1
+( "Angolan Reajustado Kwanza (old)" "reajustado kwanza" "centimos" "ISO4217" "AOR" "???" 100 100 "" );; replaced 1999 by AOA 1000000:1
+( "Argentine Austral" "austral" "centavo" "ISO4217" "ARA" "XXX" 100 100 "" ) ;; replaced 1991-12-31 10000:1 ARS
+( "Argentine Peso" "peso" "centavo"  "ISO4217" "ARS" "032" 100 100 "" )
+( "Austrian Shilling" "shilling" "groschen"  "ISO4217" "ATS" "040" 100 100 "öS" ) ;; replaced 1998 by EUR
+( "Australian Dollar" "dollar" "cent" "ISO4217" "AUD" "036" 100 100 "$" )
+( "Aruban Florin" "florin" "cent" "ISO4217" "AWG" "533" 100 100 "Afl." ) ;; ""
+( "Azerbaijani Manat (old)" "manat" "qəpik" "ISO4217" "AZM" "031" 100 100 "" ) ;; replaced 2006-01-01 "AZN" 5000
+( "Azerbaijani Manat" "manat" "qəpik" "ISO4217" "AZN" "944" 100 100 "m" ) ;; "m" should be  90° rotated € sign, but currently not encoded in Unicode
+( "Bosnian B.H. Dinar" "B.H. dinar" "para" "ISO4217" "BAD" "070" 100 100 "" ) ;; replaced 1998-06-22 by BAM 100:1; there was a revaluation 1994-08: 10000:1
+( "Bosnian Convertible Mark" "B.H. mark" "fening" "ISO4217" "BAM" "977" 100 100 "KM" ) ;; 1999 on
+( "Barbados Dollar" "dollar" "cent"  "ISO4217" "BBD" "052" 100 100 "Bds$" )
+( "Bangladeshi Taka" "taka" "paisa"  "ISO4217" "BDT" "050" 100 100 "৳" )
+( "Belgian Franc" "franc" "centime" "ISO4217" "BEF" "056" 100 100 "fr." ) ;; replaced 1998 by EUR
+( "Bulgarian Lev" "lev" "stotinki" "ISO4217" "BGL" "100" 100 100 "" ) ;; replaced 1999-07-05 BGN 1000
+( "Bulgarian Lev" "lev" "stotinki" "ISO4217" "BGN" "975" 100 100 "лв" ) ;; scheduled replacement 2012-01-01 "EUR" 1.95583 (=DEM)
+( "Bahraini Dinar" "dinar" "fil"  "ISO4217" "BHD" "048" 1000 1000 "BD" ) ;; ar:.د.ب
+( "Burundi Franc" "franc" "centime" "ISO4217" "BIF" "108" 100 100 "FBu" )
+( "Bermudian Dollar" "dollar" "cent" "ISO4217" "BMD" "060" 100 100 "BD$" )
+( "Brunei Dollar" "dollar" "sen" "ISO4217" "BND" "096" 100 100 "B$" )
+( "Bolivian Boliviano" "boliviano"  "centavo" "ISO4217" "BOB" "068" 100 100 "Bs." )
+( "Brazilian Cruzeiro" "cruzeiro" "centavo" "ISO4217" "BRE" "076" 100 100 "" ) ;; replaced 1993-1993-08-01 "BRR" 1000
+( "Brazilian Real" "real" "centavo"  "ISO4217" "BRL" "986" 100 100 "R$" ) ;; 1994 on
+( "Brazilian Cruzeiro real" "cruzeiro" "centavo" "ISO4217" "BRR" "076" 100 100 "" ) ;; replaced 1994-07-01 "BRL" 2750
+( "Bahamian Dollar" "dollar" "cent"  "ISO4217" "BSD" "044" 100 100 "B$" )
+( "Bhutan Ngultrum" "ngultrum" "chetrum" "ISO4217" "BTN" "064" 100 100 "Nu." )
+( "Botswana Pula" "pula" "thebe" "ISO4217" "BWP" "072" 100 100 "P" )
+( "Belarussian Ruble (old)" "ruble" "kapeyka" "ISO4217" "BYB" "974" 100 1 "" ) ;; replaced 2000-01-01 "BYR" 1000
+( "Belarussian Ruble" "ruble" "ruble" "ISO4217" "BYR" "974" 1 100 "Br" ) ;; 2000 on
+( "Belize Dollar" "dollar" "cent" "ISO4217" "BZD" "084" 100 100 "BZ$" )
+( "Canadian Dollar" "dollar" "cent" "ISO4217" "CAD" "124" 100 100 "C$" )
+( "Congo Franc" "franc" "centime" "ISO4217" "CDF" "976" 100 100 "FC" )
+( "Swiss Franc" "franc" "centime" "ISO4217" "CHF" "756" 100 100 "SFr." ) ;; Some need for CHE (WIR-Euro"" ) and CHW (WIR-Franc"" )?
+( "Chilean Unidad de Fomento" "UF" "" "ISO4217" "CLP" "970" 1 1 "" ) ;; international secured loans
+( "Chilean Peso" "peso" "centavo" "ISO4217" "CLP" "152" 100 1 "$" ) ;; "$" should have 2 strokes
+( "Chinese Yuan Renminbi" "renminbi" "fen" "ISO4217" "CNY" "156" 100 100 "元" )
+( "Colombian Peso" "peso" "centavo" "ISO4217" "COP" "170" 100 100 "$" )
+;; ( "Colombian Unidad de Valor Real" "???" "???" "ISO4217" "COU" "970" 100 100"" )
+( "Costa Rican Colon" "colon" "centimo" "ISO4217" "CRC" "188" 100 100 "₡" )
+( "Cuban Peso" "peso" "centavo" "ISO4217" "CUP" "192" 100 100 "$MN" )
+( "Cuban Convertible Peso" "peso" "centavo" "ISO4217" "CUC" "931" 100 100 "CUC$" )
+( "Cape Verde Escudo" "escudo" "centavo" "ISO4217" "CVE" "132" 100 100 "Esc" )
+( "Cyprus Pound" "pound" "pence"  "ISO4217" "CYP" "196" 100 100 "£" ) ;; 2008-01-01 "EUR" 0.585274
+( "Czech Koruna" "koruna" "haleru" "ISO4217" "CZK" "203" 100 100  "Kč" )
+( "German Mark" "deutschemark" "pfennig" "ISO4217" "DEM" "280" 100 100 "DM" ) ;; through 1998
+( "Djibouti Franc" "franc" "centime" "ISO4217" "DJF" "262" 100 1 "Fdj" )
+( "Danish Krone" "krone" "øre" "ISO4217" "DKK" "208" 100 100 "kr" )
+( "Dominican Peso" "peso" "centavo"  "ISO4217" "DOP" "214" 100 100 "RD$" )
+( "Algerian Dinar" "dinar" "santeem"  "ISO4217" "DZD" "012" 100 100 "DA" ) ;; ar.: 	دج
+( "Ecuador Sucre" "sucre" "centavo" "ISO4217" "ECS" "218" 100 100 "S/." ) ;; through 2000-09-15 "USD" 25000
+( "Estonian Kroon" "kroon" "sent" "ISO4217" "EEK" "233" 100 100 "kr" )
+( "Egyptian Pound" "pound" "qirsh"  "ISO4217" "EGP" "818" 100 100 "£E" ) ;; ar.:ج.م maleem=0.001 £E for accounting?
+( "Eritrean Nakfa" "nakfa" "cent" "ISO4217" "ERN" "232" 100 100 "Nfa" )
+( "Spanish Peseta" "peseta" "centimo"  "ISO4217" "ESP" "724" 100 100 "₧" ) ;; replaced 2002-01-01 "EUR" 166.386
+( "Ethiopian Birr" "birr" "santim" "ISO4217" "ETB" "230" 100 100 "Br" )
+( "Euro" "euro" "euro-cent" "ISO4217" "EUR" "978" 100 100 "€" )
+( "Finnish Markka" "markka" "penni"  "ISO4217" "FIM" "246" 100 100 "mk" ) ;; through 1998/2002 "EUR" 5.94573
+( "Fiji Dollar" "dollar" "cent" "ISO4217" "FJD" "242" 100 100 "FJ$" )
+( "Falkland Islands Pound" "pound" "pence" "ISO4217" "FKP" "238" 100 100 "FK£" )
+( "French Franc" "franc" "centime" "ISO4217" "FRF" "250" 100 100 "₣" ) ;; replaced 2002-01-01 "EUR" 6.55957
+( "British Pound" "pound" "pence" "ISO4217" "GBP" "826" 100 100 "£" )
+( "Georgian Lari" "lari" "tetri" "ISO4217" "GEL" "981" 100 100 "" )
+( "Ghanaian Cedi" "cedi" "pesewa" "ISO4217" "GHC" "288" 100 100 "" ) ;; 2007-07-01 "GHS" 10000
+( "Ghanaian New Cedi" "cedi" "pesewa" "ISO4217" "GHS" "936" 100 100 "GH₵" )
+( "Gibraltar Pound" "pound" "pence"  "ISO4217" "GIP" "292" 100 100 "£" )
+( "Gambian Dalasi" "dalasi" "butut" "ISO4217" "GMD" "270" 100 100 "D" )
+( "Guinea Franc" "franc" "centime" "ISO4217" "GNF" "324" 100 100 "FG" )
+( "Greek Drachma" "drachma" "lepta" "ISO4217" "GRD" "200" 100 100 "Δρ." ) ;; replaced 2002-01-01 "EUR" 340.750
+( "Guatemalan Quetzal" "quetzal" "centavo" "ISO4217" "GTQ" "320" 100 100 "Q" )
+( "Guinea-Bissau Peso" "peso" "centavo" "ISO4217" "GWP" "624" 100 100"" ) ;; 1997-01-01 "XOF" 65
+( "Guyanese Dollar" "dollar" "cent" "ISO4217" "GYD" "328" 100 100 "G$" )
+( "Hong Kong Dollar" "dollar" "cent"  "ISO4217" "HKD" "344" 100 100 "HK$" )
+( "Honduran Lempira" "lempira" "centavo"  "ISO4217" "HNL" "340" 100 100 "L" )
+( "Croatian Kuna" "kuna" "lipa" "ISO4217" "HRK" "191" 100 100 "kn" )
+( "Haitian Gourde" "gourde" "centime"  "ISO4217" "HTG" "332" 100 100 "G" )
+( "Hungarian Forint" "forint" "fillér" "ISO4217" "HUF" "348" 1 100 "Ft" )
+( "Indonesian Rupiah" "rupiah" "sen" "ISO4217" "IDR" "360" 1 100 "Rp" )
+( "Irish Punt" "punt" "pingin" "ISO4217" "IEP" "372" 100 100 "£" ) ;; replaced 2002-01-01 "EUR" 0.787564
+( "Israeli New Shekel" "new shekel" "agora"  "ISO4217" "ILS" "376" 100 100 "₪" )
+( "Indian Rupee" "rupee" "paisa" "ISO4217" "INR" "356" 100 100 "रू" )
+( "Iraqi Dinar" "dinar" "fil"  "ISO4217" "IQD" "368" 1000 1000 "ع.د" )
+( "Iranian Rial" "rial" "dinar" "ISO4217" "IRR" "364" 1 1 "﷼﷼" )
+( "Iceland Krona" "krona" "aur" "ISO4217" "ISK" "352" 1 100 "kr" )
+( "Italian Lira" "lira" "lira" "ISO4217" "ITL" "380" 1 1 "₤" ) ;; replaced 2002-01-01 "EUR" 1936.27
+( "Jamaican Dollar" "dollar" "cent" "ISO4217" "JMD" "388" 100 100 "J$" )
+( "Jordanian Dinar" "dinar" "fil"  "ISO4217" "JOD" "400" 1000 1000 "JD" )
+( "Japanese Yen" "yen" "sen"  "ISO4217" "JPY" "392" 100 1 "¥" )
+( "Kenyan Shilling" "shilling" "cent" "ISO4217" "KES" "404" 100 100 "Ksh" )
+( "Kyrgyzstan Som" "som" "tyiyn" "ISO4217" "KGS" "417" 100 100 "" )
+( "Cambodia Riel" "riel" "sen" "ISO4217" "KHR" "116" 100 100 "" )
+( "Comoros Franc" "franc" "centime" "ISO4217" "KMF" "174" 100 1  "FC" )
+( "North Korean Won" "won" "chon" "ISO4217" "KPW" "408" 100 100 "₩" )
+( "South Korean Won" "won" "chon"  "ISO4217" "KRW" "410" 1 100 "₩" )
+( "Kuwaiti Dinar" "dinar" "fils"  "ISO4217" "KWD" "414" 1000 1000 "د.ك" )
+( "Cayman Islands Dollar" "dollar" "cent"  "ISO4217" "KYD" "136" 100 100 "CI$" )
+( "Kazakhstan Tenge" "tenge" "tiyn" "ISO4217" "KZT" "398" 100 100 "₸" )
+( "Laos Kip" "kip" "att" "ISO4217" "LAK" "418" 100 100 "₭" )
+( "Lebanese Pound" "pound" "piastre"  "ISO4217" "LBP" "422" 100 100 "ل.ل" )
+( "Sri Lanka Rupee" "rupee" "cent"  "ISO4217" "LKR" "144" 100 100 "₨" )
+( "Liberian Dollar" "dollar" "cent" "ISO4217" "LRD" "430" 100 100 "L$" )
+( "Lesotho Loti" "loti" "sente" "ISO4217" "LSL" "426" 100 100 "M" )
+( "Lithuanian Litas" "litas" "centas" "ISO4217" "LTL" "440" 100 100 "Lt" )
+( "Luxembourg Franc" "frang" "centime" "ISO4217" "LUF" "442" 100 100  "Flux" ) ;; replaced 2002-01-01 "EUR" 40.3399
+( "Latvian Lats" "lats" "santīms" "ISO4217" "LVL" "428" 100 100 "Ls" )
+( "Libyan Dinar" "dinar" "dirham" "ISO4217" "LYD" "434" 1000 1000 "ل.د" )
+( "Moroccan Dirham" "dirham" "centime"  "ISO4217" "MAD" "504" 100 100 "د.م" )
+( "Moldovan Leu" "leu" "ban" "ISO4217" "MDL" "498" 100 100 "" )
+( "Malagasy Ariary" "ariary" "iraimbilanja" "ISO4217" "MGA" "969" 5 5 "" )
+( "Malagasy Franc" "franc" "centime" "ISO4217" "MGF" "450" 500 500 "" ) ;; replaced 2003-07-31 "MGA" 5
+( "Macedonian Denar" "denar" "deni" "ISO4217" "MKD" "807" 100 100 "ден" )
+( "Mali Republic Franc" "franc" "centime" "ISO4217" "MLF" "466" 100 100 "" ) ;; 1984-07-01 "XOF" 2
+( "Myanmar Kyat" "kyat" "pya" "ISO4217" "MMK" "104" 100 100 "K" )
+( "Mongolian Tugrik" "tugrik" "mongo" "ISO4217" "MNT" "496" 100 100 "₮" )
+( "Macau Pataca" "pataca" "avo"  "ISO4217" "MOP" "446" 100 100 "MOP$" )
+( "Mauritanian Ouguiya" "ouguiya" "khoum"  "ISO4217" "MRO" "478" 5 5 "UM" )
+( "Maltese Lira" "lira" "cent"  "ISO4217" "MTL" "470" 100 100 "Lm" ) ;; 2008-01-01 "EUR" 0.4293
+( "Mauritius Rupee" "rupee" "cent"  "ISO4217" "MUR" "480" 100 100 "R" )
+( "Maldive Rufiyaa" "rufiyaa" "laari" "ISO4217" "MVR" "462" 100 100 ".ރ" )
+( "Malawi Kwacha" "kwacha" "tambala"  "ISO4217" "MWK" "454" 100 100 "MK" )
+( "Mexican Peso" "peso" "centavo" "ISO4217" "MXN" "484" 100 100 "Mex$" ) ;;since Jan 1993 (1000 MXP = 1 MXN)
+;; ( "Mexican Unidad de Inversio" "peso" "centavo" "ISO4217" "MXV" "979" 100 100 "" ) ;;fund index based; used for credits, not subject to inflation
+( "Malaysian Ringgit" "ringgit" "sen"  "ISO4217" "MYR" "458" 100 100 "RM" )
+( "Mozambique Metical (old)" "metical" "centavo" "ISO4217" "MZM" "508" 100 100 "" ) ;; 2006-07-01 "MZN" 1000
+( "Mozambique Metical" "metical" "centavo" "ISO4217" "MZN" "943" 100 100 "MTn" )
+( "Namibian Dollar" "dollar" "cent" "ISO4217" "NAD" "516" 100 100 "N$" )
+( "Nigerian Naira" "naira" "kobo"  "ISO4217" "NGN" "566" 100 100 "₦" )
+( "Nicaraguan Cordoba Oro (old)" "cordoba" "centavo" "ISO4217" "NIC" "558" 100 100 "" ) ;; 1990-10-13 "NIO" 5000000
+( "Nicaraguan Cordoba Oro" "cordoba" "centavo" "ISO4217" "NIO" "558" 100 100 "C$" )
+( "Dutch Guilder" "guilder" "cent" "ISO4217" "NLG" "528" 100 100 "" ) ;; 2002-01-01 "EUR" 2.20371
+( "Norwegian Kroner" "kroner" "ore"  "ISO4217" "NOK" "578" 100 100 "kr" )
+( "Nepalese Rupee" "rupee" "paise" "ISO4217" "NPR" "524" 100 100 "₨" )
+( "New Zealand Dollar" "dollar" "cent" "ISO4217" "NZD" "554" 100 100 "NZ$" )
+( "Omani Rial" "rial" "baisa" "ISO4217" "OMR" "512" 1000 1000 "ر.ع." )
+( "Panamanian Balboa" "balboa" "centésimo" "ISO4217" "PAB" "590" 100 100 "฿" )
+( "Peruvian Nuevo Sol" "nuevo sol" "centimo"  "ISO4217" "PEN" "604" 100 100 "S/." )
+( "Papua New Guinea Kina" "kina" "toea" "ISO4217" "PGK" "598" 100 100 "K" )
+( "Philippine Peso" "peso" "centavo" "ISO4217" "PHP" "608" 100 100 "₱" )
+( "Pakistan Rupee" "rupee" "paisa" "ISO4217" "PKR" "586" 100 100 "Rs" )
+( "Polish Zloty" "zloty" "grosz" "ISO4217" "PLN" "985" 100 100 "zł" )
+( "Portuguese Escudo" "escudo" "centavo" "ISO4217" "PTE" "620" 100 100 "$" ) ;; 2002-01-01 "EUR" 200.482
+( "Paraguay Guarani" "guarani" "centimo" "ISO4217" "PYG" "600" 100 100 "₲" ) ;; scheduled revaluation 2011
+( "Qatari Rial" "rial" "dirham" "ISO4217" "QAR" "634" 100 100 "ر.ق" )
+( "Romanian Leu" "leu" "ban"  "ISO4217" "ROL" "642" 100 100 "" ) ;; 2005-07-01 "RON" 10000
+( "Romanian Leu" "leu" "ban"  "ISO4217" "RON" "946" 100 100 "" ) ;; scheduled 2012..14: EUR
+( "Serbian Dinar" "dinar" "para"  "ISO4217" "RSD"  "941" 100 100 "" )
+( "Russian Rouble" "rouble" "kopek" "ISO4217" "RUB" "643" 100 100 "руб" ) ;; RUB: 1998-01-1 "RUR" 1000; see bug #393185
+( "Rwanda Franc" "franc" "centime" "ISO4217" "RWF" "646" 100 100 "RF" )
+( "Saudi Riyal" "riyal" "halala"  "ISO4217" "SAR" "682" 100 100 "ر.س" )
+( "Solomon Islands Dollar" "dollar" "cent"  "ISO4217" "SBD" "090" 100 100 "SI$" )
+( "Seychelles Rupee" "rupee" "cent" "ISO4217" "SCR" "690" 100 100 "SR" )
+( "Sudanese Dinar" "dinar" "piastre"  "ISO4217" "SDD" "736" 100 100 "" ) ;; 2007-07-01 "SDG" 100, reunite with South
+( "Sudanese Pound" "pound" "qirsh"  "ISO4217" "SDG" "938" 100 100 "" )
+( "Sudanese Pound (old)" "pound" "piastre"  "ISO4217" "SDP" "736" 100 100 "" ) ;; 1992-01-01 "SDD" 10, but only in the North
+( "Swedish Krona" "krona" "ore"  "ISO4217" "SEK" "752" 100 100 "kr" )
+( "Singapore Dollar" "dollar" "cent" "ISO4217" "SGD" "702" 100 100 "S$" )
+( "St. Helena Pound" "pound" "penny"  "ISO4217" "SHP"  "654" 100 100 "£" )
+( "Slovenian Tolar" "tolar" "stotin"  "ISO4217" "SIT" "705" 100 100 "" ) ;; 2007-01-01 "EUR" 239.640
+( "Slovak Koruna" "koruna" "halier"  "ISO4217" "SKK" "703" 100 100 "" ) ;; 2009-01-01 "EUR" 30.126
+( "Sierra Leone Leone" "leone" "cent"  "ISO4217" "SLL" "694" 100 100 "Le" )
+( "Somali Shilling" "shilling" "centisimi" "ISO4217" "SOS" "706" 100 100 "SoSh" )
+( "Suriname Dollar" "dollar" "cent"  "ISO4217" "SRD" "968" 100 100 "$" )
+( "Suriname Guilder" "guilder" "cent"  "ISO4217" "SRG" "740" 100 100 "" ) ;; 2004-01-01 "SRD" 1000
+( "Sao Tome and Principe Dobra" "Dobra" "centimo" "ISO4217" "STD" "678" 100 100 "Db" )
+( "El Salvador Colon" "colon" "centavo" "ISO4217" "SVC" "222" 100 100 "" ) ;; 2001-01-01 "USD" 8.75
+( "Syrian Pound" "pound" "qirsh"  "ISO4217" "SYP" "760" 100 100 "" )
+( "Swaziland Lilangeni" "lilangeni" "cent"  "ISO4217" "SZL" "748" 100 100 "L" )
+( "Thai Baht" "baht" "satang" "ISO4217" "THB" "764" 100 100 "฿" )
+( "Tajikistan Ruble" "ruble" "ruble" "ISO4217" "TJR" "762" 1 1 "" ) ;; 2002-11-01 "TJS" 1000
+( "Tajikistani Somoni" "somoni" "diram" "ISO4217" "TJS" "972" 100 100 "" )
+( "Turkmenistan Manat (old)" "manat" "tenga" "ISO4217" "TMM" "795" 100 100 "" ) ;; 2009-01-01 "TMT" 5000
+( "Turkmenistan Manat" "manat" "teňňe" "ISO4217" "TMT" "934" 100 100 "m" )
+( "Tunisian Dinar" "dinar" "milim" "ISO4217" "TND" "788" 1000 1000 "د.ت" )
+( "Tongan Pa'anga" "Pa'anga" "seniti" "ISO4217" "TOP" "776" 100 100 "T$" )
+( "Turkish Lira" "lira" "kuruş" "ISO4217" "TRY" "949" 100 100 "₤" )
+( "Trinidad and Tobago Dollar" "dollar" "cent" "ISO4217" "TTD" "780" 100 100 "TT$" )
+( "Taiwan Dollar" "dollar" "cent" "ISO4217" "TWD" "901" 100 100 "NT$" )
+( "Tanzanian Shilling" "shilling" "senti"  "ISO4217" "TZS" "834" 100 100 "/" )
+( "Ukraine Hryvnia" "hryvnia" "kopiyka"  "ISO4217" "UAH" "980" 100 100 "₴" )
+( "Uganda Shilling" "shilling" "cent"  "ISO4217" "UGX" "800" 100 100  "USh" )
+( "US Dollar" "dollar" "cent" "ISO4217" "USD" "840" 100 100 "$" )
+( "Uruguayan Peso" "peso" "centesimo" "ISO4217" "UYU" "858" 100 100 "$U" )
+( "Uzbekistani Som" "so‘m" "tiyin" "ISO4217" "UZS" "860" 100 100 "som" )
+( "Venezuelan Bolivar (old)" "bolivar" "centimo" "ISO4217" "VEB" "862" 100 100 "" ) ;; 2008-01-01 "VEF" 1000
+( "Venezuelan Bolivar Fuerte" "bolivar" "centimo" "ISO4217" "VEF" "937" 100 100 "Bs." )
+( "Vietnamese Dong" "đồng" "xu" "ISO4217" "VND" "704" 100 100 "₫" )
+( "Vanuatu Vatu" "vatu" "centime" "ISO4217" "VUV" "548" 1 1 "Vt" )
+( "Samoan Tala" "tala" "sene" "ISO4217" "WST" "882" 100 100 "WS$" )
+( "Yemeni Riyal" "riyal" "fils" "ISO4217" "YER" "886" 100 100 "Rl" )
+( "Yugoslav Dinar" "dinar" "para"  "ISO4217" "YUM"  "890" 100 100 "" ) ;; 2003 replaced by RSD 1
+( "South African Rand" "rand" "cent" "ISO4217" "ZAR" "710" 100 100 "R" )
+( "Zambian Kwacha" "kwacha" "ngwee"  "ISO4217" "ZMK" "894" 100 100 "ZK" )
+( "Zimbabwe Dollar (old)" "dollar" "cent" "ISO4217" "ZWD" "716" 100 100 "" ) ;; 2006-08-01 "ZWN" 1000, 2008-08-01 "ZWR" 10000000000, 2009-02-01 "ZWD" 1000000000000
+( "Zimbabwe Dollar" "dollar" "cent" "ISO4217" "ZWL" "716" 100 100 "Z.$" ) ;; 2009-04 suspended for at least 1 year
 
-( "Afghanistan Afghani (old)" "afghani" "pul" "ISO4217" "AFA" "004" 100 100 ) ;; through 2003-01-02
-( "Afghanistan Afghani" "afghani" "afghani" "ISO4217" "AFN" "971" 1 1 ) ;; from 2002-10-07
-( "Albanian Lek" "lek" "qindarka" "ISO4217" "ALL" "008" 100 100 )
-( "Algerian Dinar" "dinar" "centime"  "ISO4217" "DZD" "012" 100 100 )
-( "Andorran Franc" "franc" "centime" "ISO4217" "ADF" "950" 100 100 ) ;; 1/1 French Franc
-( "Andorran Peseta" "peseta" "centimo"  "ISO4217" "ADP" "724" 100 100 ) ;; 1/1 Spanish Peseta
-( "Angolan New Kwanza" "new kwanza" "lwei" "ISO4217" "AON" "024" 100 100 )
-( "Argentine Austral" "austral" "centavo" "ISO4217" "ARA" "XXX" 100 100 ) ;; replaced 1991
-( "Argentine Peso" "peso" "centavo"  "ISO4217" "ARS" "032" 100 100 )
-( "Armenian Dram" "dram" "Luma" "ISO4217" "AMD" "051" 100 100 )
-( "Aruban Florin" "florin" "cent" "ISO4217" "AWG" "533" 100 100 )
-( "Australian Dollar" "dollar" "cent" "ISO4217" "AUD" "036" 100 100 )
-( "Austrian Shilling" "shilling" "groschen"  "ISO4217" "ATS" "040" 100 100 ) ;; through 1998
-( "Azerbaijani Manat" "manat" "gopik" "ISO4217" "AZM" "031" 100 100 )
-( "Azerbaijani Manat" "manat" "gopik" "ISO4217" "AZN" "944" 100 100 )
-( "Bahamian Dollar" "dollar" "cent"  "ISO4217" "BSD" "044" 100 100 )
-( "Bahraini Dinar" "dinar" "fil"  "ISO4217" "BHD" "048" 1000 1000 )
-( "Bangladeshi Taka" "taka" "paisa"  "ISO4217" "BDT" "050" 100 100 )
-( "Barbados Dollar" "dollar" "cent"  "ISO4217" "BBD" "052" 100 100 )
-( "Belarussian Ruble (old)" "ruble" "ruble" "ISO4217" "BYB" "974" 1 1 ) ;; through 1999
-( "Belarussian Ruble" "ruble" "ruble" "ISO4217" "BYR" "974" 1 1 ) ;; 2000 on
-( "Belgian Franc" "franc" "centime" "ISO4217" "BEF" "056" 100 100 ) ;; through 1998
-( "Belize Dollar" "dollar" "cent" "ISO4217" "BZD" "084" 100 100 )
-( "Bermudian Dollar" "dollar" "cent" "ISO4217" "BMD" "060" 100 100 )
-( "Bhutan Ngultrum" "ngultrum" "chetrum" "ISO4217" "BTN" "064" 100 100 )
-( "Bolivian Boliviano" "boliviano"  "centavo" "ISO4217" "BOB" "068" 100 100 )
-( "Bosnian B.H. Dinar" "B.H. dinar" "para" "ISO4217" "BAD" "070" 100 100 ) ;; into 1999
-( "Bosnian Convertible Mark" "B.H. mark" "fennig" "ISO4217" "BAM" "977" 100 100 ) ;; 1999 on
-( "Botswana Pula" "pula" "thebe" "ISO4217" "BWP" "072" 100 100 )
-( "Brazilian Cruzeiro (old)" "cruzeiro" "centavo" "ISO4217" "BRE" "076" 100 100 ) ;; pre 1993
-( "Brazilian Cruzeiro (new)" "cruzeiro" "centavo" "ISO4217" "BRR" "076" 100 100 ) ;; 1993-1994
-( "Brazilian Real" "real" "centavo"  "ISO4217" "BRL" "986" 100 100 ) ;; 1994 on
-( "British Pound" "pound" "pence" "ISO4217" "GBP" "826" 100 100 )
-( "Brunei Dollar" "dollar" "cent" "ISO4217" "BND" "096" 100 100 )
-( "Bulgarian Lev" "lev" "stotinki" "ISO4217" "BGL" "100" 100 100 ) ;; replaced 1999
-( "Bulgarian Lev" "lev" "stotinki" "ISO4217" "BGN" "975" 100 100 )
-( "Burundi Franc" "franc" "centime" "ISO4217" "BIF" "108" 1 1 )
-( "CFA Franc BEAC" "franc" "centime" "ISO4217" "XAF" "950" 1 1 )
-( "CFA Franc BCEAO" "franc" "centime" "ISO4217" "XOF" "952" 1 1 )
-( "CFP Franc Pacifique" "franc" "centime" "ISO4217" "XPF" "953" 1 1 )
-( "Cambodia Riel" "riel" "sen" "ISO4217" "KHR" "116" 100 100 )
-( "Canadian Dollar" "dollar" "cent" "ISO4217" "CAD" "124" 100 100 )
-( "Cape Verde Escudo" "escudo" "centavo" "ISO4217" "CVE" "132" 100 100 )
-( "Cayman Islands Dollar" "dollar" "cent"  "ISO4217" "KYD" "136" 100 100 )
-( "Chilean Peso" "peso" "centavo" "ISO4217" "CLP" "152" 1 1 )
-( "Chinese Yuan Renminbi" "renminbi" "fen" "ISO4217" "CNY" "156" 100 100 )
-( "Colombian Peso" "peso" "centavo" "ISO4217" "COP" "170" 100 100 )
-;; ( "Colombian Unidad de Valor Real" "???" "???" "ISO4217" "COU" "970" 100 100)
-( "Comoros Franc" "franc" "centime" "ISO4217" "KMF" "174" 1 1  )
-( "Costa Rican Colon" "colon" "centimo" "ISO4217" "CRC" "188" 100 100 )
-( "Croatian Kuna" "kuna" "lipa" "ISO4217" "HRK" "191" 100 100 )
-( "Cuban Peso" "peso" "centavo" "ISO4217" "CUP" "192" 100 100 )
-( "Cuban Convertible Peso" "peso" "centavo" "ISO4217" "CUC" "XXX" 100 100 )
-( "Cyprus Pound" "pound" "pence"  "ISO4217" "CYP" "196" 100 100 )
-( "Czech Koruna" "koruna" "haleru" "ISO4217" "CZK" "203" 100 100  )
-( "Danish Krone" "krone" "ore" "ISO4217" "DKK" "208" 100 100 )
-( "Djibouti Franc" "franc" "centime" "ISO4217" "DJF" "262" 1 1 )
-( "Dominican Peso" "peso" "centavo"  "ISO4217" "DOP" "214" 100 100 )
-( "Dutch Guilder" "guilder" "cent" "ISO4217" "NLG" "528" 100 100 )
-( "East Caribbean Dollar" "dollar" "cent" "ISO4217" "XCD" "951" 100 100 )
-( "Ecuador Sucre" "sucre" "centavo" "ISO4217" "ECS" "218" 100 100 ) ;; through 2000-09-15
-( "Egyptian Pound" "pound" "pence"  "ISO4217" "EGP" "818" 100 100 )
-( "El Salvador Colon" "colon" "centavo" "ISO4217" "SVC" "222" 100 100 )
-( "Eritrean Nakfa" "nakfa" "cent" "ISO4217" "ERN" "232" 100 100 )
-( "Estonian Kroon" "kroon" "senti" "ISO4217" "EEK" "233" 100 100 )
-( "Ethiopian Birr" "birr" "cent" "ISO4217" "ETB" "231" 100 100 )
-( "Euro" "euro" "euro-cent" "ISO4217" "EUR" "978" 100 100)
-( "Falkland Islands Pound" "pound" "pence" "ISO4217" "FKP" "238" 100 100 )
-( "Fiji Dollar" "dollar" "cent" "ISO4217" "FJD" "242" 100 100 )
-( "Finnish Markka" "markka" "penni"  "ISO4217" "FIM" "246" 100 100) ;; through 1998
-( "French Franc" "franc" "centime" "ISO4217" "FRF" "250" 100 100 ) ;; though 1998
-( "Gambian Dalasi" "dalasi" "butut" "ISO4217" "GMD" "270" 100 100 )
-( "Georgian Lari" "lari" "tetri" "ISO4217" "GEL" "268" 100 100 )
-( "German Mark" "deutschemark" "pfennig" "ISO4217" "DEM" "280" 100 100 ) ;; through 1998
-( "Ghanaian Cedi" "cedi" "psewa" "ISO4217" "GHC" "288" 100 100 )
-( "Gibraltar Pound" "pound" "pence"  "ISO4217" "GIP" "292" 100 100 )
-( "Greek Drachma" "drachma" "lepta" "ISO4217" "GRD" "200" 100 100 ) ;; through 2000
-( "Guatemalan Quetzal" "quetzal" "centavo" "ISO4217" "GTQ" "320" 100 100 )
-( "Guinea Franc" "franc" "centime" "ISO4217" "GNF" "324" 100 100 ) ;; through 1997-04
-( "Guinea-Bissau Peso" "peso" "centavo" "ISO4217" "GWP" "624" 100 100)
-( "Guyanan Dollar" "dollar" "cent" "ISO4217" "GYD" "328" 100 100 )
-( "Haitian Gourde" "gourde" "centime"  "ISO4217" "HTG" "332" 100 100 )
-( "Honduran Lempira" "lempira" "centavo"  "ISO4217" "HNL" "340" 100 100 )
-( "Hong Kong Dollar" "dollar" "cent"  "ISO4217" "HKD" "344" 100 100 )
-( "Hungarian Forint" "forint" "forint" "ISO4217" "HUF" "348" 100 100)
-( "Iceland Krona" "krona" "aur" "ISO4217" "ISK" "352" 100 100 )
-( "Indian Rupee" "rupee" "paise" "ISO4217" "INR" "356" 100 100 )
-( "Indonesian Rupiah" "rupiah" "sen" "ISO4217" "IDR" "360" 100 100 )
-( "Iranian Rial" "rial" "rial" "ISO4217" "IRR" "364" 1 1)
-( "Iraqi Dinar" "dinar" "fil"  "ISO4217" "IQD" "368" 1000 1000)
-( "Irish Punt" "punt" "pingin" "ISO4217" "IEP" "372" 100 100 ) ;; through 1998
-( "Israeli New Shekel" "new shekel" "agorot"  "ISO4217" "ILS" "376" 100 100)
-( "Italian Lira" "lira" "lira" "ISO4217" "ITL" "380" 1 1 ) ;; through 1998
-( "Jamaican Dollar" "dollar" "cent" "ISO4217" "JMD" "388" 100 100 )
-( "Japanese Yen" "yen" "sen"  "ISO4217" "JPY" "392" 100 1 )
-( "Jordanian Dinar" "dinar" "fil"  "ISO4217" "JOD" "400" 1000 1000 )
-( "Kazakhstan Tenge" "tenge" "tiyn" "ISO4217" "KZT" "398" 100 100 )
-( "Kenyan Shilling" "shilling" "cent" "ISO4217" "KES" "404" 100 100 )
-( "Kuwaiti Dinar" "dinar" "fils"  "ISO4217" "KWD" "414" 1000 1000 )
-( "Kyrgyzstan Som" "som" "tyyn" "ISO4217" "KGS" "417" 100 100 )
-( "Laos Kip" "kip" "at" "ISO4217" "LAK" "418" 100 100 )
-( "Latvian Lats" "lats" "santim" "ISO4217" "LVL" "428" 100 100 )
-( "Lebanese Pound" "pound" "pence"  "ISO4217" "LBP" "422" 100 100 )
-( "Lesotho Loti" "loti" "lisente" "ISO4217" "LSL" "426" 100 100 )
-( "Liberian Dollar" "dollar" "cent" "ISO4217" "LRD" "430" 100 100 )
-( "Libyan Dinar" "dinar" "dirham" "ISO4217" "LYD" "434" 1000 1000 )
-( "Lithuanian Litas" "litas" "centu" "ISO4217" "LTL" "440" 100 100 )
-( "Luxembourg Franc" "franc" "centime" "ISO4217" "LUF" "442" 100 100  ) ;; through 1998
-( "Macau Pataca" "pataca" "avo"  "ISO4217" "MOP" "446" 100 100 )
-( "Macedonian Denar" "denar" "deni" "ISO4217" "MKD" "807" 100 100 )
-( "Malagasy Ariary" "ariary" "iraimbilanja" "ISO4217" "MGA" "969" 200 200 )
-( "Malagasy Franc" "franc" "centime" "ISO4217" "MGF" "450" 500 500 ) ;; replaced 2003-07-31
-( "Malawi Kwacha" "kwacha" "tambala"  "ISO4217" "MWK" "454" 100 100 )
-( "Malaysian Ringgit" "ringgit" "sen"  "ISO4217" "MYR" "458" 100 100 )
-( "Maldive Rufiyaa" "rufiyaa" "lari" "ISO4217" "MVR" "462" 100 100 )
-( "Mali Republic Franc" "franc" "centime" "ISO4217" "MLF" "466" 100 100 ) ;; ???
-( "Maltese Lira" "lira" "cent"  "ISO4217" "MTL" "470" 100 100 )
-( "Mauritanian Ouguiya" "ouguiya" "khoum"  "ISO4217" "MRO" "478" 5 5)
-( "Mauritius Rupee" "rupee" "cent"  "ISO4217" "MUR" "480" 100 100 )
-( "Mexican Peso" "peso" "centavo" "ISO4217" "MXN" "484" 100 100 ) ;;sicne Jan 1993
-( "Moldovan Leu" "leu" "ban" "ISO4217" "MDL" "498" 100 100 )
-( "Mongolian Tugrik" "tugrik" "mongo" "ISO4217" "MNT" "496" 100 100 )
-( "Moroccan Dirham" "dirham" "centime"  "ISO4217" "MAD" "504" 100 100 )
-( "Mozambique Metical" "metical" "centavo" "ISO4217" "MZM" "508" 100 100 )
-( "Mozambique Metical" "metical" "centavo" "ISO4217" "MZN" "943" 100 100 ) ;; 2006-07-01; <http://en.wikipedia.org/wiki/Mozambican_metical>
-( "Myanmar Kyat" "kyat" "pya" "ISO4217" "MMK" "104" 100 100 )
-( "Namibian Dollar" "dollar" "cent" "ISO4217" "NAD" "516" 100 100 )
-( "Nepalese Rupee" "rupee" "paise" "ISO4217" "NPR" "524" 100 100 )
-( "Netherlands Antillian Guilder" "guilder" "cent" "ISO4217" "ANG" "532" 100 100 ) ;; through 1998
-( "New Zealand Dollar" "dollar" "cent" "ISO4217" "NZD" "554" 100 100)
-( "Nicaraguan Cordoba Oro" "cordoba" "centavo" "ISO4217" "NIC" "558" 100 100 )
-( "Nigerian Naira" "naira" "kobo"  "ISO4217" "NGN" "566" 100 100)
-( "North Korean Won" "won" "chon" "ISO4217" "KPW" "408" 100 100 )
-( "Norwegian Kroner" "kroner" "ore"  "ISO4217" "NOK" "578" 100 100 )
-( "Omani Rial" "rial" "baiza" "ISO4217" "OMR" "512" 1000 1000 )
-( "Pakistan Rupee" "rupee" "paiza" "ISO4217" "PKR" "586" 100 100 )
-( "Panamanian Balboa" "balboa" "centisimo" "ISO4217" "PAB" "590" 100 100 )
-( "Papua New Guinea Kina" "kina" "toea" "ISO4217" "PGK" "598" 100 100 )
-( "Paraguay Guarani" "guarani" "centimo" "ISO4217" "PYG" "600" 100 100 )
-( "Peruvian Nuevo Sol" "nuevo sol" "centimo"  "ISO4217" "PEN" "604" 100 100 )
-( "Philippine Peso" "peso" "centavo" "ISO4217" "PHP" "608" 100 100 )
-( "Polish Zloty" "zloty" "groszy" "ISO4217" "PLN" "985" 100 100 )
-( "Portuguese Escudo" "escudo" "centavo" "ISO4217" "PTE" "620" 100 100 ) ;; through 1998
-( "Qatari Rial" "rial" "dirham" "ISO4217" "QAR" "634" 100 100 )
-( "Romanian Leu" "leu" "bani"  "ISO4217" "ROL" "642" 100 100 ) ;; through 2005-06
-( "Romanian Leu" "leu" "bani"  "ISO4217" "RON" "946" 100 100 ) ;; from 2005-07
-( "Russian Rouble" "rouble" "kopek" "ISO4217" "RUB" "643" 100 100 ) ;; RUR through 1997-12, RUB from 1998-01 onwards; see bug #393185
-( "Rwanda Franc" "franc" "centime" "ISO4217" "RWF" "646" 100 100 )
-( "Samoan Tala" "tala" "sene" "ISO4217" "WST" "882" 100 100 )
-( "Sao Tome and Principe Dobra" "Dobra" "centimo" "ISO4217" "STD" "678" 100 100 )
-( "Saudi Riyal" "riyal" "halalat"  "ISO4217" "SAR" "682" 100 100 )
-( "Serbian Dinar" "dinar" "para"  "ISO4217" "RSD"  "941" 100 100) ;; continuation of YUM
-( "Seychelles Rupee" "rupee" "cents" "ISO4217" "SCR" "690" 100 100 )
-( "Sierra Leone Leone" "leone" "cent"  "ISO4217" "SLL" "694" 100 100 )
-( "Singapore Dollar" "dollar" "cent" "ISO4217" "SGD" "702" 100 100 )
-( "Slovak Koruna" "koruna" "halier"  "ISO4217" "SKK" "703" 100 100 )
-( "Slovenian Tolar" "tolar" "stotinov"  "ISO4217" "SIT" "705" 100 100 )
-( "Solomon Islands Dollar" "dollar" "cent"  "ISO4217" "SBD" "090" 100 100 )
-( "Somali Shilling" "shilling" "centisimi" "ISO4217" "SOS" "706" 100 100 )
-( "South African Rand" "rand" "cent" "ISO4217" "ZAR" "710" 100 100 )
-( "South Korean Won" "won" "chon"  "ISO4217" "KRW" "410" 1 1 )
-( "Spanish Peseta" "peseta" "centimo"  "ISO4217" "ESP" "724" 100 100 ) ;; through 1998
-( "Sri Lanka Rupee" "rupee" "cent"  "ISO4217" "LKR" "144" 100 100 )
-( "St. Helena Pound" "pound" "pence"  "ISO4217" "SHP"  "654" 100 100 )
-( "Sudanese Dinar" "dinar" "piastre"  "ISO4217" "SDD" "736" 100 100 ) ;; 1992 on
-( "Sudanese Pound" "pound" "piastre"  "ISO4217" "SDP" "736" 100 100 ) ;; into 1992
-( "Suriname Guilder" "guilder" "cent"  "ISO4217" "SRG" "740" 100 100 ) ;; only until 2003-12-31
-( "Suriname Dollar" "dollar" "cent"  "ISO4217" "SRD" "968" 100 100) ;; Since 2004-01-01
-( "Swaziland Lilangeni" "lilangeni" "cent"  "ISO4217" "SZL" "748" 100 100 )
-( "Swedish Krona" "krona" "ore"  "ISO4217" "SEK" "752" 100 100 )
-( "Swiss Franc" "franc" "centime" "ISO4217" "CHF" "756" 100 100 )
-( "Syrian Pound" "pound" "pence"  "ISO4217" "SYP" "760" 100 100 )
-( "Taiwan Dollar" "dollar" "cent" "ISO4217" "TWD" "901" 100 100 )
-( "Tajikistani Somoni" "somoni" "dirams" "ISO4217" "TJS" "972" 100 100 ) ;; 2002-11-06 on
-( "Tajikistan Ruble" "ruble" "ruble" "ISO4217" "TJR" "762" 1 1 ) ;; until 2002-11-05
-( "Tanzanian Shilling" "shilling" "cent"  "ISO4217" "TZS" "834" 100 100 )
-( "Thai Baht" "baht" "stang" "ISO4217" "THB" "764" 100 100 )
-( "Tongan Pa'anga" "Pa'anga" "seniti" "ISO4217" "TOP" "776" 100 100 )
-( "Trinidad and Tobago Dollar" "dollar" "cent" "ISO4217" "TTD" "780" 100 100 )
-( "Tunisian Dinar" "dinar" "milleme" "ISO4217" "TND" "788" 1000 1000 )
-( "Turkish New Lira" "lira" "kuru" "ISO4217" "TRY" "949" 100 100)
-( "Turkmenistan Manat" "manat" "tenga" "ISO4217" "TMM" "795" 100 100 )
-( "US Dollar" "dollar" "cent" "ISO4217" "USD" "840" 100 100 )
-( "Uganda Shilling" "shilling" "cent"  "ISO4217" "UGX" "800" 100 100  )
-( "Ukraine Hryvnia" "hryvnia" "kopiyka"  "ISO4217" "UAH" "804" 100 100 )
-( "United Arab Emirates Dirham" "dirham" "fil" "ISO4217" "AED" "784" 100 100 )
-( "Uruguayan Peso" "peso" "centesimo" "ISO4217" "UYU" "858" 100 100 )
-( "Uzbekistani Sum" "som" "tiyin" "ISO4217" "UZS" "860" 100 100 )
-( "Vanuatu Vatu" "vatu" "centime" "ISO4217" "VUV" "548" 1 1 )
-( "Venezuelan Bolivar (old)" "bolivar" "centimo" "ISO4217" "VEB" "862" 100 100 ) ;; 1000 replaced by 1 VEF in 2008
-( "Venezuelan Bolivar Fuerte" "bolivar" "centimo" "ISO4217" "VEF" "937" 100 100 ) ;; since 2008-01-01
-( "Vietnamese Dong" "dong" "hao" "ISO4217" "VND" "704" 100 100 )
-( "Yemeni Riyal" "riyal" "fils" "ISO4217" "YER" "886" 100 100 )
-( "Yugoslav Dinar" "dinar" "para"  "ISO4217" "YUM"  "890" 100 100) ;; 2003 replaced by RSD
-( "Zambian Kwacha" "kwacha" "ngwee"  "ISO4217" "ZMK" "894" 100 100 )
-( "Zimbabwe Dollar" "dollar" "cent" "ISO4217" "ZWD" "716" 100 100 )
+;; multinational
+( "CFA Franc BEAC" "franc" "centime" "ISO4217" "XAF" "950" 1 100 "" ) ;; Banque des États de l'Afrique Centrale
+( "East Caribbean Dollar" "dollar" "cent" "ISO4217" "XCD" "951" 100 100 "EC$" ) ;; Organisation of Eastern Caribbean States
+( "IMF Special Drawing Rights" "SDR" "SDR" "ISO4217" "XDR" "960" 1 1 "" ) ;; International Monetary Fund
+( "CFA Franc BCEAO" "franc" "centime" "ISO4217" "XOF" "952" 1 100 "" ) ;; Banque Centrale des États de l'Afrique de l'Ouest
+( "CFP Franc Pacifique" "franc" "centime" "ISO4217" "XPF" "953" 1 100 "" ) ;; Communauté Financière du Pacifique
+( "Testing" "TEST" "test" "ISO4217" "XTS" "963" 1 1000000 "" ) ;; Code reserved for testing purposes
+( "No currency" "" "" "ISO4217" "XXX" "999" 1 1000000 "" )
 
-( "Special Drawing Rights" "SDR" "SDR" "ISO4217" "XDR" "960" 1 1 ) ;; International Monetary Fund
-( "No currency" "" "" "ISO4217" "XXX" "999" 1 1000000 )
-
-( "Gold" "ounce" "ounce" "ISO4217" "XAU" "959" 1 1000000 )
-( "Palladium" "ounce" "ounce" "ISO4217" "XPD" "964" 1 1000000 )
-( "Platinum" "ounce" "ounce" "ISO4217" "XPT" "962" 1 1000000 )
-( "Silver" "ounce" "ounce" "ISO4217" "XAG" "961" 1 1000000 )
+;; precious metals
+( "Silver" "ounce" "ounce" "ISO4217" "XAG" "961" 1 1000000 "" )
+( "Gold" "ounce" "ounce" "ISO4217" "XAU" "959" 1 1000000 "" )
+( "Palladium" "ounce" "ounce" "ISO4217" "XPD" "964" 1 1000000 "" )
+( "Platinum" "ounce" "ounce" "ISO4217" "XPT" "962" 1 1000000 "" )

Modified: gnucash/trunk/src/engine/iso-currencies-to-c
===================================================================
--- gnucash/trunk/src/engine/iso-currencies-to-c	2010-05-06 08:25:13 UTC (rev 19119)
+++ gnucash/trunk/src/engine/iso-currencies-to-c	2010-05-06 08:33:29 UTC (rev 19120)
@@ -14,7 +14,7 @@
 (define (generate-currency-c-code form output-port)
   ;; Check for correct number of arguments
   (if (and (list? form)
-	   (eq? 8 (length form)))
+	   (eq? 9 (length form)))
       ;; Assign arguments
       (let ((fullname (list-ref form 0))
 	    (unitname (list-ref form 1))
@@ -23,7 +23,8 @@
 	    (mnemonic (list-ref form 4))
 	    (exchange-code (list-ref form 5))
 	    (parts-per-unit (list-ref form 6))
-	    (smallest-fraction (list-ref form 7)))
+	    (smallest-fraction (list-ref form 7))
+	    (local-symbol (list-ref form 8)))
 	;; Check for correct types of arguments
 	(if (and (string? fullname)
 		 (string? unitname)
@@ -32,7 +33,8 @@
 		 (string? mnemonic)
 		 (string? exchange-code)
 		 (number? parts-per-unit)
-		 (number? smallest-fraction))
+		 (number? smallest-fraction)
+		 (string? local-symbol))
 
 	    ;; And print the output line
 	    (format
@@ -55,7 +57,7 @@
   }\n"
 	     fullname
 	     namespace
-	     mnemonic 
+	     mnemonic
 	     exchange-code
 	     smallest-fraction)
 



More information about the gnucash-changes mailing list