countries: reserve cq and describe user-assigned codes
authorMischa POSLAWSKY <perl@shiar.org>
Tue, 10 Sep 2024 21:07:20 +0000 (23:07 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Tue, 10 Sep 2024 21:25:36 +0000 (23:25 +0200)
ISO-3166-1 was updated to add Sark Island (also cctld and Unicode flag).

Continue to copy unofficial usage from Wikipedia:
<https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
 ?oldid=1244558032#User-assigned_code_elements>

countries.plp
tools/mkcountries-geonames

index c11a3e8c6192f1d013b64726eff98aa4d4700829..870b3b3e9a54d6711c168bdbba6fdecf12a2245e 100644 (file)
@@ -2,7 +2,7 @@
 
 Html({
        title => 'country code cheat sheet',
-       version => '1.3',
+       version => '1.4',
        description =>
                "Table of ISO-3166-1 country codes with the names of reserved territories.",
        keywords => [qw'country code cc tld cctld continent territory land table'],
index 09158634dd12f7381653c62d0e6779a82ea4e2d7..13f6e65d3000f3a54ff8639121b00ba3d51a1553 100755 (executable)
@@ -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 (<>) {