countries: abbreviate West and East names
[sheet.git] / tools / mkcountries-geonames
index b7fb27eb904fe4dee3db674eb4f468522c7e7118..56f85c41f0d921bfe1a5b88ae46cff534b35cf6c 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-use 5.012;
+use 5.014;
 use warnings;
 
 my %cc;  # map of country code to info array
@@ -61,7 +61,8 @@ my %cc;  # map of country code to info array
        oa => ["not used: African Intellectual Property Organization", "Xi", "OAPI"], # c-af
        wo => ["not used: World Intellectual Property Organization", "Xi", "WIPO"],
 
-       # unicode identifiers
+       # common user-assigned
+       xz => ["UN/LOCODE semantics: international waters", "Co Xi", "international"],
        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"],
@@ -89,11 +90,13 @@ for (values %cc) {
                s/ and / & /g and s/(?<=.)[a-z ]+//g;
                s/ of / /g;
                s/\bsa?int /st /gi;
-               s/United /Un. /gi;
+               s/Un\Kited /. /gi;
                s/South(?:ern)? /S-/g;
                s/North(?:ern)? /N-/g;
+               s/West(?:ern)? /W-/g;
+               s/East(?:ern)? /E-/g;
                s/New /n./g;
-               s/(\S)(\S+)-/$1-/g;  # strip most chars preceding dash
+               s/(\w)(\w+)-/$1-/g;  # strip most chars preceding dash
                s/(\S{4}[b-df-hj-np-tv-xz])((?<!Austr)(?!land)\w{2,})/$1./g;  # abbreviate (at consonant)
                $_;
        };