X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/856d772d7f54045dbd78ef73f1d22c1bfe78e165..3f38a7192491a73a1527179cdd68218f023aed61:/tools/mkcountries-geonames?ds=inline diff --git a/tools/mkcountries-geonames b/tools/mkcountries-geonames index 56f85c4..13f6e65 100755 --- a/tools/mkcountries-geonames +++ b/tools/mkcountries-geonames @@ -2,6 +2,8 @@ use 5.014; use warnings; +our $VERSION = '1.04'; + my %cc; # map of country code to info array %cc = ( # transitional reservations @@ -16,15 +18,16 @@ my %cc; # map of country code to info array # exceptional reservations ac => ["exceptionally reserved: Ascension Island", "c-oc Xr", "Ascension Island", 'sh'], cp => ["exceptionally reserved: Clipperton Island", "c-na Xr", "Clipperton Island"], + cq => ["exceptionally reserved by gb: Island of Sark", "c-eu Xr", "Island of Sark", 'gg'], dg => ["exceptionally reserved: Diego Garcia", "c-as Xr", "Diego Garcia", 'io'], ea => ["exceptionally reserved: Ceuta and Melilla", "c-af Xr", "Ceuta and Melilla"], eu => ["exceptionally reserved: European Union", "c-eu Xr", "European Union"], ez => ["exceptionally reserved: European OTC derivatives", "c-eu Xr", "Eurozone"], - fx => ["exceptionally reserved: Metropolitan France", "c-eu Xr", "Metropolitan France", 'fr'], + fx => ["exceptionally reserved by fr: Metropolitan France", "c-eu Xr", "Metropolitan France", 'fr'], ic => ["exceptionally reserved: Canary Islands", "c-af Xr", "Canary Islands"], su => ["exceptionally reserved: former USSR", "c-eu Xr", "USSR"], ta => ["exceptionally reserved: Tristan da Cunha", "c-oc Xr", "Tristan da Cunha", 'sh'], - uk => ["exceptionally reserved: United Kingdom", "c-eu Xr", "(United Kingdom)", 'gb'], + uk => ["exceptionally reserved by gb: United Kingdom", "c-eu Xr", "(United Kingdom)", 'gb'], un => ["exceptionally reserved: United Nations", "Xi Xr", "United Nations"], # indeterminate reservations @@ -62,10 +65,19 @@ my %cc; # map of country code to info array wo => ["not used: World Intellectual Property Organization", "Xi", "WIPO"], # common user-assigned + xa => ["user-assigned by Russia: Abkhazia", "c-az Co Xi", "Abkhazia", 'ge'], # also IC alias by CH + xo => ["user-assigned by Russia: South Ossetia", "c-az Co Xi", "South Ossetia", 'ge'], + xi => ["user-assigned for UK/EU trade: Northern Ireland", "c-eu Co Xi", "Northern Ireland", 'gb'], + xn => ["user-assigned by WIPO: Nordic Patent Institute", "c-eu Co Xi", "Nordic", 'dk is no se'], + xu => ["user-assigned by WIPO: international org UPOV", "Co Xi", "UPOV"], + xv => ["user-assigned by WIPO: Visegrad Patent Institute", "c-eu Co Xi", "Visegrad", 'cz hu pl sk'], + xx => ["user-assigned by WIPO: unknown state or other entity", "Co Xi", "other"], xz => ["UN/LOCODE semantics: international waters", "Co Xi", "international"], + qm => ["user-assigned by ISRC: United States alternative", "c-na Co Xi", "USA"], qo => ["Unicode semantics: Outlying Oceania", "c-oc Co Xi", "Oceania"], qu => ["Unicode semantics: European Union deprecated reserve", "c-eu Co Xi", "EU", 'eu'], zz => ["Unicode semantics: unknown or invalid territory", "Co Xi","unknown"], + oo => ["escape to indicate additional code", "Co Xi", "escape"], ); while (<>) { @@ -86,7 +98,7 @@ for (values %cc) { s/(?<=.)\(.*\)\s*//; s/ republic\b//gi; s/ islands?\b//gi; - s/\bthe //g; + s/\bthe //gi; s/ and / & /g and s/(?<=.)[a-z ]+//g; s/ of / /g; s/\bsa?int /st /gi;